PageSourceSearch

https://www.upguard.com/pricing

html upguard.com collected 2026-09-24 08:25:41 UTC 401,389 bytes, 6,391 lines download raw bytes

1<!DOCTYPE html><html lang="en-US" data-theme="light"> <head><meta name="sentry-trace" content="751ac49c3d2d4d4b2cf268c9fc6c9fdb-d6e340f2edad66ba"/>
2<meta name="baggage" content="sentry-environment=production,sentry-release=247a098bf374f7ad9be9db1aadc6c2fc36fc4047,sentry-public_key=1b9394b538e2db677f594cb2eefe129d,sentry-trace_id=751ac49c3d2d4d4b2cf268c9fc6c9fdb,sentry-org_id=7749"/>
3<meta name="sentry-route-name" content="%2Fpricing"/><meta charset="UTF-8"><meta name="viewport" content="width=device-width"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><title>Pricing For The UpGuard CRPM Platform | UpGuard</title><link rel="canonical" href="https://www.upguard.com/pricing"><link rel="alternate" type="text/markdown" href="/pricing.md"><link rel="icon" href="/favicon.svg" type="image/svg+xml" sizes="any"><link rel="preload" href="/fonts/HW-Cigars-Light.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/inter-tight-v9-latin-regular.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/inter-v20-latin-regular.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/inter-v20-latin-italic.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/inter-v20-latin-600.woff2" as="font" type="font/woff2" crossorigin><meta property="og:site_name" content="UpGuard"><meta property="og:type" content="website"><meta property="og:title" content="Pricing For The UpGuard CRPM Platform | UpGuard"><meta property="og:image" content="https://www.upguard.com/.netlify/images?url=https%3A%2F%2Fcontent.upguard.com%2Fhubfs%2Fopen-graph%2Fpricing.png&#38;fm=jpg&#38;w=1200&#38;h=630&#38;q=85&#38;dpl=6ab4a3cbb36e820008e2ae9c"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Pricing For The UpGuard CRPM Platform | UpGuard"><meta name="twitter:image" content="https://www.upguard.com/.netlify/images?url=https%3A%2F%2Fcontent.upguard.com%2Fhubfs%2Fopen-graph%2Fpricing.png&#38;fm=jpg&#38;w=1200&#38;h=630&#38;q=85&#38;dpl=6ab4a3cbb36e820008e2ae9c"><!-- start:tracking-scripts -->
4<!-- 
5██    ██
6██    ██
7   ██   
8                                                   
9We're hiring!
10Go to upguard.com/careers
11-->
12<script>
13  // load Segment API
14!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://cdn.segment.com/analytics.js/v1/" + key + "/analytics.min.js";var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(t,r);analytics._loadOptions=n};analytics._writeKey="IM4gZZObNPxWwjdMucSbgVCvYGDBHHmu";;analytics.SNIPPET_VERSION="5.2.0";
15// analytics.load(window.location.host == "www.upguard.com" ? "GAG8dK4Ra4de1G0AV7ah50u36nBVTYCt" : "IM4gZZObNPxWwjdMucSbgVCvYGDBHHmu");
16}}();
17</script>
17
18
19<!-- UC changes additions -->
20<script>
21    // UC Toggle
22    window.ug_usercentrics_on = true;
23    // Testing mode: flag if UC managing script consent based on param or localStorage
24    const params_uc1q = new URLSearchParams(window.location.search);
25
26    (() => {
27
28        if (params_uc1q.has("ug_usercentrics_on")) { 
29          window.ug_usercentrics_on = true; 
30        }
31
32        const segmentKey = window.location.host === "www.upguard.com" ? "GAG8dK4Ra4de1G0AV7ah50u36nBVTYCt" : "IM4gZZObNPxWwjdMucSbgVCvYGDBHHmu";
33
34        if (!window.ug_usercentrics_on) {
35            analytics.load(segmentKey);
36            trackPageWithProperties()
37        } else { 
38            // Inject UserCentrics script
39
40            let rulsetId = params_uc1q.has("ug_uc_ruleset_id") ? params_uc1q.get('ug_uc_ruleset_id') : false
41            let settingsId = params_uc1q.has("ug_uc_settings_id") ? params_uc1q.get('ug_uc_settings_id') : false
42
43            const s = document.createElement("script");
44            s.src = "https://web.cmp.usercentrics.eu/ui/loader.js";
45            s.id = "usercentrics-cmp";
46            if(params_uc1q.has('ug_debug')) s.setAttribute("data-draft", "true");
47            if(rulsetId){
48                s.setAttribute("data-ruleset-id", rulsetId)
49            } else if (settingsId){
50                s.setAttribute("data-settings-id", settingsId)
51            } else {
52                s.setAttribute("data-ruleset-id", "lb71OJJrwIzYng")
53            }
54            s.async = true;
55            document.head.appendChild(s);
56           
57
58            window.addEventListener("usercentrics_load_scripts_implicitly", (event) => {
59              if (event.detail.event === "consent_status" && event.detail.type === "IMPLICIT"){
60                  ugSegmentAnalytics(event)
61              }
62            })
63
64          
65            // explicit consent
66            window.addEventListener("usercentrics_update", (event) => {
67              if (event.detail.event === "consent_status" && event.detail.type === "EXPLICIT"){
68                  ugSegmentAnalytics(event)
69              };
70            })
71
72            function ugSegmentAnalytics(event) {
73
74                if (analytics.initialized) return
75
76                const hasConsent = (str) => event.detail.hasOwnProperty(str) && event.detail[str] === true;
77                
78                const options = {
79                    integrations: {
80                        // Integrations
81                        All: false,
82                        "Mixpanel (Actions)": hasConsent("Mixpanel"),
83                        "Clearbit Reveal": hasConsent("Clearbit"),
84                        "Webhooks (Actions)": hasConsent("HubSpot"),
85                        "Hubspot Web (Actions)": hasConsent("HubSpot"),
86                        "Google AdWords New": hasConsent("Google Ads"),
87                        "Facebook Pixel": hasConsent("Facebook Pixel"),
88                        "Facebook Conversions API (Actions)": hasConsent("Facebook Pixel"),
89                        "Google Analytics 4 Web": hasConsent("Google Analytics"),
90                        "PERSONAS - Google AdWords": hasConsent("Google Ads"),
91                        "Hotjar": hasConsent("Hotjar"),
92                        "LinkedIn Insight Tag": hasConsent("LinkedIn Insight Tag"),
93                        "LinkedIn Conversions API": hasConsent("LinkedIn Insight Tag"),
94                        "Linkedin Audiences": hasConsent("LinkedIn Insight Tag"),
95                        "Postgres": hasConsent("UpGuard Marketing Events Database"),
96                        "Segment.io": hasConsent("Segment")
97                    }
98                }
99
100                analytics.load(segmentKey, options)
101
102                trackPageWithProperties()
103
104                if(params_uc1q.has("ug_debug_uesercentrics")) console.table(options.integrations)
105
106            };
107        }
108
109        // To send data on page calls on either path
110        function trackPageWithProperties() {
111            if (document.readyState === "loading") {
112                document.addEventListener("DOMContentLoaded", () => onLoad())
113            } else {
114                onLoad()
115            }
116
117            function onLoad () {
118                const properties = {}
119
120                // These page overrides are really important because otherwise Segment reads and passes anu canonical URL instead of the actual page that was viewed.
121                const pageOverrides = {
122                   url: window.location.origin + window.location.pathname + window.location.search,
123                   path: window.location.pathname, 
124                }
125
126                const $pageProperties = document.querySelector('[data-el="page-properties"]')
127                if ($pageProperties) {
128                    if ($pageProperties.getAttribute("data-journey-stage")) {
129                        properties.contentStage = $pageProperties.getAttribute("data-journey-stage")
130                    }
131
132                    // In the markup, we have data-intent="Vendor Risk" etc...
133                    $pageProperties.querySelectorAll("[class^='intent']").forEach($el => {
134                        if ($el.getAttribute("data-intent-breachrisk")) {
135                            properties.productIntentBreachRisk = $el.getAttribute("data-intent-breachrisk")
136                        }
137                        if ($el.getAttribute("data-intent-vendorrisk")) {
138                            properties.productIntentVendorRisk = $el.getAttribute("data-intent-vendorrisk")
139                        }
140                        if ($el.getAttribute("data-intent-userrisk")) {
141                            properties.productIntentVendorRisk = $el.getAttribute("data-intent-vendorrisk")
142                        }
143                        if ($el.getAttribute("data-intent-trustexchange")) {
144                            properties.productIntentVendorRisk = $el.getAttribute("data-intent-vendorrisk")
145                        }
146                    }
147                    )
148
149                    analytics.page(pageOverrides)
150                    //analytics.track("Content_Viewed", properties)
151
152                } else {
153                    analytics.page(pageOverrides)
154                }
155            }
156        }
157    })();
158
159    function ug_appendScriptForUsercentrics(attr={
160        'data-usercentrics': ''
161    }, opts={
162        scriptContent: ''
163    }) {
164        var scriptElement = document.createElement("script");
165        if (window.ug_usercentrics_on) {
166            scriptElement.type = "text/plain";
167            scriptElement.setAttribute("data-usercentrics", attr['data-usercentrics']);
168        }
169        if (opts.scriptContent) {
170            scriptElement.textContent = opts.scriptContent;
171        }
172        for (const [key,value] of Object.entries(attr)) {
173            scriptElement.setAttribute(key, value)
174        }
175        document.head.appendChild(scriptElement);
176    }
177</script>
177
178<!-- clearbits -->
179<script>
180    ug_appendScriptForUsercentrics({
181        'data-usercentrics': 'Clearbit',
182        id: 'clearbit-script',
183        src: 'https://tag.clearbitscripts.com/v1/pk_d41aedf21ada3e0149ba231e594ac35f/tags.js'
184    })
185</script>
185
186<!-- G2.com -->
187<script>
188    ug_appendScriptForUsercentrics({
189        'data-usercentrics': 'G2.com',
190        id: 'g2-script'
191    }, {
192        scriptContent: `
193          (function (c, p, d, u, id, i) {
194          id = ''; // Optional Custom ID for user in your system
195          u = 'https://tracking.g2crowd.com/attribution_tracking/conversions/' + c + '.js?p=' + encodeURI(p) + '&e=' + id;
196          i = document.createElement('script');
197          i.type = 'application/javascript';
198          i.async = true;
199          i.src = u;
200          d.getElementsByTagName('head')[0].appendChild(i);
201          }("1006704", document.location.href, document))`
202    })
203</script>
203
204
205        
206<!-- end UC additions -->
207
208<!-- Waits a specified period of time before calling a function -->
209<script>
210    window.waitBeforeCalling = (fn, ms=3000) => (...args) => {
211        window.addEventListener("scroll", () => setTimeout( () => 'requestIdleCallback'in window ? requestIdleCallback( () => fn(...args)) : fn(...args), ms), {
212            once: true
213        });
214    }
215    ;
216</script>
vendor: 1 bytes, line 216
216
217<script>
218    function loadScript(callback, src) {
219        var script;
220        script = document.createElement('script');
221        script.onload = callback;
222        script.src = src;
223        document.body.appendChild(script);
224    }
225</script>
225
226<!-- Custom Webflow header scripts -->
227<link rel="preload" href="https://assets.upguard.com/wf/header.js" as="script"/>
228<script src="https://assets.upguard.com/wf/header.js"></script>
228
229<style>
230    body {
231        text-rendering: optimizeLegibility;
232        -webkit-font-smoothing: antialiased;
233        -moz-font-smoothing: antialiased;
234        -o-font-smoothing: antialiased;
235        -moz-osx-font-smoothing: grayscale;
236    }
237</style>
238<!-- mob menu no scroll -->
239<style>
240    .no-scroll {
241        overflow: hidden;
242    }
243</style>
244<style>
245    #shape {
246        -webkit-filter: drop-shadow(24px 48px 16px rgba(64, 70, 104, 0.2));
247        filter: drop-shadow(24px 48px 16px rgba(64, 70, 104, 0.2));
248        pointer-events: none;
249    }
250</style>
251<style>
252    ::selection {
253        color: currentColor;
254        background: #E8EEF9;
255    }
256</style>
257<link rel="stylesheet" href="https://assets.upguard.com/apollo-hs-forms.css">
258<meta name="ahrefs-site-verification" content="6cddbf7c67efe322c864dfb433bd13cd9c5ce14298f88382a2111586ce4c9433">
259<!-- dynamic filters -->
260<script id="jetboost-script" type="text/javascript">
261    window.JETBOOST_SITE_ID = "ckcu36rvzeeld078130pdnjt5";
262    (function(d) {
263        var s = d.createElement("script");
264        s.src = "https://cdn.jetboost.io/jetboost.js";
265        s.async = 1;
266        d.getElementsByTagName("head")[0].appendChild(s);
267    }
268    )(document);
269</script>
269
270
271<script>
272
273if(params_uc1q.has("ug_debug_uesercentrics")){
274  document.addEventListener("DOMContentLoaded", () => {
275    const resetBtn = document.createElement("button");
276    resetBtn.textContent = "Reset UC";
277    resetBtn.style = `position: fixed; z-index: 999; top: 0;right: 0; margin: 15px;`;
278    resetBtn.onclick = () => {
279      UC_UI.clearStorage();
280      analytics.reset()
281      location.reload();
282    };
283    document.body.appendChild(resetBtn);
284    __ucCmp.getConsentDetails().then(i => console.log(`settings: ${i.consent.setting.id}, type: ${i.consent.setting.type}`))
285  });
286}
287</script>
287
288
289<script>void 0===window.navatticQueue&&(window.navatticQueue=[],window.navattic=new Proxy({},{get:function n(t,u,e){return function(){for(var n=arguments.length,t=Array(n),e=0;e<n;e++)t[e]=arguments[e];return navatticQueue.push({function:u,arguments:t})}}}));</script>
vendor: 1 bytes, line 289
289
290<script async src="https://js.navattic.com/sdk.js?key=pkey_cm34l0cd402yzrs3b9pwhgzju"></script>
290
291
292<!--
292<script src="https://app.optibase.io/script.js" public-api-key="clwps3f3u01s0rt5wkpqi8d9k"></script>
292-->
293
294<script>
295// Unify
296!function(){
297    if (!window.location.pathname.startsWith("/blog/")) {
298        var e=["identify","page","startAutoPage","stopAutoPage","startAutoIdentify","stopAutoIdentify"];function t(o){return Object.assign([],e.reduce(function(r,n){return r[n]=function(){return o.push([n,[].slice.call(arguments)]),o},r},{}))}window.unify||(window.unify=t(window.unify)),window.unifyBrowser||(window.unifyBrowser=t(window.unifyBrowser));var n=document.createElement("script");n.async=!0,n.setAttribute("src","https://tag.unifyintent.com/v1/DyNnwQhXEmkzwuoYiAFSzd/script.js"),n.setAttribute("data-api-key","wk_6TbocVR9_3DUs6kCuhDxQWrtzSfESr3SEKa5QZpBn"),n.setAttribute("id","unifytag"),(document.body||document.head).appendChild(n)
299    }
300}();</script>
300
301
302
303<script>
304    // Microsoft Advertising UET Javascript tag
305    ug_appendScriptForUsercentrics({
306        'data-usercentrics': 'Microsoft Advertising Remarketing',
307        id: 'bing-script'
308    }, {
309        scriptContent: `(function (w, d, t, r, u) { var f, n, i; w[u] = w[u] || [], f = function () { var o = { ti: "97226555" }; o.q = w[u], w[u] = new UET(o), w[u].push("pageLoad") }, n = d.createElement(t), n.src = r, n.async = 1, n.onload = n.onreadystatechange = function () { var s = this.readyState; s && s !== "loaded" && s !== "complete" || (f(), n.onload = n.onreadystatechange = null) }, i = d.getElementsByTagName(t)[0], i.parentNode.insertBefore(n, i) })(window, document, "script", "//bat.bing.com/bat.js", "uetq");`
310    })
311</script>
vendor: 1 bytes, line 311
311
312<script>
313// Microsoft Advertising UET Javascript tag
314function uet_report_conversion(eventName) { window.uetq = window.uetq || []; window.uetq.push('event', eventName, {}); }
315</script>
315
316<!-- Vector -->
317<script>
318    ug_appendScriptForUsercentrics({
319        'data-usercentrics': 'Vector',
320        id: 'vector-script'
321    }, {
322        scriptContent: `!function(e,r){try{if(e.vector)return void console.log("Vector snippet included more than once.");var t={};t.q=t.q||[];for(var o=["load","identify","on"],n=function(e){return function(){var r=Array.prototype.slice.call(arguments);t.q.push([e,r])}},c=0;c<o.length;c++){var a=o[c];t[a]=n(a)}if(e.vector=t,!t.loaded){var i=r.createElement("script");i.type="text/javascript",i.async=!0,i.src="https://cdn.vector.co/pixel.js";var l=r.getElementsByTagName("script")[0];l.parentNode.insertBefore(i,l),t.loaded=!0}}catch(e){console.error("Error loading Vector:",e)}}(window,document);
323        vector.load("9b68faf6-6b48-4ffa-9b22-4a4bade0c0f4");`
324    })
325</script>
325
326
327<!-- AISeller (Docket chat widget). Rolled out to a percentage of consenting visitors: each browser draws a bucket once, keeps it in localStorage, and stays in or out across visits. -->
328<script>
329    ug_appendScriptForUsercentrics({
330        'data-usercentrics': 'Docket',
331        id: 'docket-script'
332    }, {
333        scriptContent: `var docketRolloutPercentage = 10
334
335  window.AISellerSettings = {
336    agent_id: "0aa48313-4fd4-44a5-865e-8825c930320f",
337  }
338
339  function initDocket () {
340    var w = window
341    var ew = w.AISeller
342    if (typeof ew === "function") {
343      ew("update", w.AISellerSettings)
344    } else {
345      var d = document
346      var i = function () {
347        i.q.push(arguments)
348      }
349      i.q = []
350      i.q.push(["update", w.AISellerSettings])
351      w.AISeller = i
352      var l = function () {
353        var s = d.createElement("script")
354        s.type = "text/javascript"
355        s.async = true
356        s.src = "https://d33t2173eag6fx.cloudfront.net/script/app/inbound-se-script/ai-seller.js"
357        var x = d.getElementsByTagName("script")[0]
358        x.parentNode.insertBefore(s, x)
359      }
360      if (document.readyState === "complete") {
361        l()
362      } else if (w.attachEvent) {
363        w.attachEvent("onload", l)
364      } else {
365        w.addEventListener("load", l, false)
366      }
367    }
368  }
369
370  function inDocketRollout () {
371    try {
372      var bucket = Number(localStorage.getItem("ug_docket_bucket"))
373      if (!bucket) {
374        bucket = Math.floor(Math.random() * 100) + 1 // 1 to 100
375        localStorage.setItem("ug_docket_bucket", bucket)
376      }
377      return bucket <= docketRolloutPercentage
378    } catch (error) {
379      // localStorage is blocked, so there is no stable bucket. Stay out of the rollout.
380      return false
381    }
382  }
383
384  if (inDocketRollout()) initDocket()
385`})
386</script>
386
387
388<!-- end:tracking-scripts -->
389<link rel="alternate" type="text/markdown" href="/pricing.md">
389<script type="module" src="/_astro/Layout.astro_astro_type_script_index_0_lang.Dmf9t3zF.js?dpl=6ab4a3cbb36e820008e2ae9c"></script>
389<style>.richtext-excerpt[data-astro-cid-zouxod32]>*:not(.not-prose):first-child{margin-top:0}.richtext-excerpt[data-astro-cid-zouxod32]>*:not(.not-prose):last-child{margin-bottom:0}.richtext-excerpt[data-astro-cid-zouxod32]>p:not(.not-prose){margin-top:var(--spacing-12);margin-bottom:var(--spacing-12)}.richtext-excerpt[data-astro-cid-zouxod32]>h1:not(.not-prose),.richtext-excerpt[data-astro-cid-zouxod32]>h2:not(.not-prose),.richtext-excerpt[data-astro-cid-zouxod32]>h3:not(.not-prose),.richtext-excerpt[data-astro-cid-zouxod32]>h4:not(.not-prose),.richtext-excerpt[data-astro-cid-zouxod32]>h5:not(.not-prose),.richtext-excerpt[data-astro-cid-zouxod32]>h6:not(.not-prose){font-size:var(--text-16);line-height:var(--text-16--line-height);color:var(--color-heading);margin-top:var(--spacing-24);margin-bottom:var(--spacing-8)}.richtext-excerpt[data-astro-cid-zouxod32]>p:not(.not-prose) a,.richtext-excerpt[data-astro-cid-zouxod32]>ul:not(.not-prose) a{color:var(--color-heading);text-decoration:underline}.richtext-excerpt[data-astro-cid-zouxod32]>h1+p:not(.not-prose),.richtext-excerpt[data-astro-cid-zouxod32]>h2+p:not(.not-prose),.richtext-excerpt[data-astro-cid-zouxod32]>h3+p:not(.not-prose),.richtext-excerpt[data-astro-cid-zouxod32]>h4+p:not(.not-prose),.richtext-excerpt[data-astro-cid-zouxod32]>h5+p:not(.not-prose),.richtext-excerpt[data-astro-cid-zouxod32]>h6+p:not(.not-prose){margin-top:0}.richtext-excerpt[data-astro-cid-zouxod32]>ul:not(.not-prose){list-style:none;margin-top:var(--spacing-12);margin-bottom:var(--spacing-12)}.richtext-excerpt[data-astro-cid-zouxod32]>ol:not(.not-prose){margin-top:var(--spacing-12);margin-bottom:var(--spacing-12);padding-left:1.6em}.richtext-excerpt[data-astro-cid-zouxod32]>ul:not(.not-prose) li{position:relative;padding-left:1.6em}.richtext-excerpt[data-astro-cid-zouxod32]>ul:not(.not-prose) li:before{content:"—";position:absolute;margin-top:0;left:0}
390</style>
391<link rel="stylesheet" href="/_astro/global.DcZDXE-n.css?dpl=6ab4a3cbb36e820008e2ae9c">
392<style>html:has([data-modal][open]){overflow:hidden}[data-modal]{opacity:0;transform:translateY(100%);transition:display .3s,overlay .3s,opacity .3s,transform .3s;transition-behavior:allow-discrete}[data-modal][open]{opacity:1;transform:translateY(0)}@starting-style{[data-modal][open]{opacity:0;transform:translateY(100%)}}[data-modal]::backdrop{background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:display .3s,overlay .3s,opacity .3s;transition-behavior:allow-discrete}[data-modal][open]::backdrop{opacity:1}@starting-style{[data-modal][open]::backdrop{opacity:0}
392}@media(min-width:48rem){[data-modal]{transform:none}[data-modal][data-columns]{width:calc((var(--modal-columns) * 100% - (var(--modal-columns) + 12) * var(--gap)) / 12)}@starting-style{[data-modal][open]{transform:none}}}@media(min-width:62rem){[data-modal][data-columns]{width:calc((var(--modal-columns) * min(88.5rem,calc(100% - 4 * var(--gap))) + (var(--modal-columns) - 12) * var(--gap)) / 12)}}@media(prefers-reduced-motion:reduce){[data-modal],[data-modal]::backdrop{transition-duration:.01ms}[data-modal],[data-modal][open]{transform:none}}
393@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
394#pricing-gate-dialog[open] [data-dialog-content]{padding-block:4rem}#pricing-gate-form{margin-top:1.5rem}#pricing-gate-form form fieldset{max-width:30rem;margin-inline:auto}#pricing-gate-form form .hs-input:not([type=checkbox]):not([type=radio]){width:100%}#pricing-gate-form form .hs-form-field>.input{margin-right:0}@media(max-width:768px),(max-height:800px){#pricing-gate-dialog[open] [data-dialog-content]{padding-block:2rem}#pricing-gate-form{margin-top:1rem}}#pricing-gate-form form{height:600px;overflow:hidden;opacity:0;padding:1px;transition:height .5s ease,opacity .5s}#pricing-gate-form form.mounted{height:auto;opacity:1}#pricing-gate-form .hs-submit{justify-content:center}#pricing-gate-form .hs-form-field{margin-bottom:.25rem!important}#pricing-gate-form .hs-form-field input,#pricing-gate-form .hs-form-field select,#pricing-gate-form .hs-form-field textarea{margin:.1875rem 0!important}#pricing-gate-form .loader-pg{width:32px;height:32px;border:3px solid hsl(0 0% 90%);border-top-color:#666;border-radius:50%;margin:2rem auto;animation:loader-pg-spin .8s linear infinite}#pricing-gate-form .pricing-gate-fallback{text-align:center;padding:1.5rem .5rem;color:#4d4d4d;font-size:.875rem;line-height:1.5}#pricing-gate-form .pricing-gate-fallback a{color:inherit;text-decoration:underline}@keyframes loader-pg-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){#pricing-gate-form form{transition:none}#pricing-gate-form .loader-pg{animation:none}}
395.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-old(pricing-tabs-underline),::view-transition-new(pricing-tabs-underline){animation-duration:.22s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}@media(prefers-reduced-motion:reduce){::view-transition-old(pricing-tabs-underline),::view-transition-new(pricing-tabs-underline){animation-duration:0ms}}
396</style>
396<script type="module" src="/_astro/page.D_Wrw9N8.js?dpl=6ab4a3cbb36e820008e2ae9c"></script>
396<style>[data-astro-transition-scope="astro-ncjwhpoc-1"] { view-transition-name: pricing-tabs-underline; }@layer astro { ::view-transition-old(pricing-tabs-underline) { 
397	animation-duration: 180ms;
398	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
399	animation-fill-mode: both;
400	animation-name: astroFadeOut; }::view-transition-new(pricing-tabs-underline) { 
401	animation-duration: 180ms;
402	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
403	animation-fill-mode: both;
404	animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(pricing-tabs-underline) { 
405	animation-duration: 180ms;
406	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
407	animation-fill-mode: both;
408	animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(pricing-tabs-underline) { 
409	animation-duration: 180ms;
410	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
411	animation-fill-mode: both;
412	animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ncjwhpoc-1"],
413			[data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ncjwhpoc-1"] { 
414	animation-duration: 180ms;
415	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
416	animation-fill-mode: both;
417	animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ncjwhpoc-1"],
418			[data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ncjwhpoc-1"] { 
419	animation-duration: 180ms;
420	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
421	animation-fill-mode: both;
422	animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-ncjwhpoc-1"],
423			[data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-ncjwhpoc-1"] { 
424	animation-duration: 180ms;
425	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
426	animation-fill-mode: both;
427	animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-ncjwhpoc-1"],
428			[data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-ncjwhpoc-1"] { 
429	animation-duration: 180ms;
430	animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
431	animation-fill-mode: both;
432	animation-name: astroFadeIn; }</style></head> <body>  <div data-astro-transition-persist="astro-tuo6gwqu-2"> <style>
433  /* Scoped marquee banner – no Tailwind, unique prefix banner-wd40 */
434
435  @keyframes banner-wd40-run {
436    0% {
437      transform: translateX(0);
438    }
439    100% {
440      transform: translateX(-100%);
441    }
442  }
443
444  .banner-wd40 {
445    position: relative;
446    z-index: 2000;
447    overflow: hidden;
448    background-color: var(--banner-wd40-bg);
449    font-size: 0.875rem;
450    line-height: 157.143%;
451  }
452
453  .banner-wd40,
454  .theme-light .banner-wd40,
455  [data-theme="light"] .banner-wd40 {
456    --banner-wd40-bg: #ededed;
457    --banner-wd40-text: inherit;
458    --banner-wd40-text-headings: #0a0a0a;
459    --banner-wd40-divider: #c9c7c7;
460    --banner-wd40-btn-bg: #fff;
461  }
462  .theme-dark .banner-wd40,
463  [data-theme="dark"] .banner-wd40 {
464    --banner-wd40-bg: #252525;
465    --banner-wd40-text: inherit;
466    --banner-wd40-text-headings: #fff;
467    --banner-wd40-divider: #3a3a3a;
468    --banner-wd40-btn-bg: #0a0a0a;
469  }
470
471  .banner-wd40__inner {
472    display: flex;
473    justify-content: flex-start;
474    align-items: center;
475    gap: 0;
476  }
477
478  .banner-wd40__scroller {
479    flex: none;
480    display: flex;
481    gap: 1.5rem;
482    padding-left: 1.5rem;
483    animation: 40s linear infinite banner-wd40-run;
484  }
485
486  .banner-wd40__item {
487    flex: none;
488    display: flex;
489    justify-content: flex-start;
490    align-items: center;
491    gap: 1.5rem;
492  }
493
494  .banner-wd40__pixel {
495    width: 0.375rem;
496    height: 0.375rem;
497    background-color: var(--banner-wd40-divider);
498    flex-shrink: 0;
499  }
500
501  .banner-wd40__link {
502    display: flex;
503    justify-content: flex-start;
504    align-items: center;
505    gap: 1rem;
506    padding-top: 0.5rem;
507    padding-bottom: 0.5rem;
508    color: var(--banner-wd40-text);
509    text-decoration: none;
510    transition: color 0.2s;
511  }
512
513  a.banner-wd40__link:hover,
514  a.banner-wd40__link:focus-visible {
515    color: var(--banner-wd40-text-headings);
516  }
517
518  .banner-wd40__text {
519    white-space: nowrap;
520  }
521
522  .banner-wd40__btn {
523    background-color: var(--banner-wd40-btn-bg);
524    border-radius: 1rem;
525    padding: 0.125rem 0.75rem;
526    font-size: 0.75rem;
527    white-space: nowrap;
528  }
529</style><aside class="banner-wd40" data-component="Top page banner" data-el="topbanners" data-event-cta-location="top_banner" data-e-location="top_banner"> <div class="banner-wd40__inner"> <ul class="banner-wd40__scroller"> <li class="banner-wd40__item" data-live-date="2026-09-23T01:54:00.000Z" data-expiry-date="2026-11-01T01:54:00.000Z"> <div class="banner-wd40__pixel" aria-hidden="true"></div> <a href="/idc" class="banner-wd40__link" data-event="CTA Clicked" data-e
529="CTA Clicked"> <span class="banner-wd40__text">UpGuard was named a Leader in the IDC MarketScape 2026</span> <span class="banner-wd40__btn">Find out more</span> </a> </li><li class="banner-wd40__item" data-live-date="2026-09-06T00:45:00.000Z" data-expiry-date="2026-09-26T00:45:00.000Z"> <div class="banner-wd40__pixel" aria-hidden="true"></div> <a href="https://www.upguard.com/summit/september-2026" class="banner-wd40__link" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="banner-wd40__text">See the new Breach Risk Threat Posture and User Risk Action Center in action</span> <span class="banner-wd40__btn">Watch Summit On-Demand</span> </a> </li><li class="banner-wd40__item" data-live-date="2026-08-08T21:00:00.000Z" data-expiry-date="2099-07-01T21:00:00.000Z"> <div class="banner-wd40__pixel" aria-hidden="true"></div> <a href="/solutions/ai-security" class="banner-wd40__link" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="banner-wd40__text">Your workforce is already using AI. Govern it.</span> <span class="banner-wd40__btn">Explore the AI Security Center</span> </a> </li><li class="banner-wd40__item" data-live-date="2026-07-08T21:00:00.000Z" data-expiry-date="2099-07-08T21:00:00.000Z"> <div class="banner-wd40__pixel" aria-hidden="true"></div> <a href="/tools/ai-policy-generator" class="banner-wd40__link" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="banner-wd40__text">Generate a tailored AI policy in 5 minutes</span> <span class="banner-wd40__btn">Start now</span> </a> </li> </ul> </div> </aside> 
529<script>(function(){const pixelsPerSecond = 24;
530
531  ;(() => {
532    // CONFIG
533    const ROOT_SEL = ".banner-wd40"
534    const DATE_ITEMS_SEL = "[data-expiry-date], [data-live-date]"
535    const SCROLLER_PARENT_SEL = ".banner-wd40__inner"
536    const SCROLLER_SEL = ".banner-wd40__scroller"
537    const DATA_EXPIRY_SEL = "data-expiry-date"
538    const DATA_LIVE_SEL = "data-live-date"
539
540    const CLONE_COUNT = 6
541    const PIXELS_PER_SECOND =
542      typeof pixelsPerSecond === "number" ? pixelsPerSecond : 24
543
544    // GET DOM ELEMENTS
545    const root = document.querySelector(ROOT_SEL)
546    if (!(root instanceof HTMLElement)) return
547
548    const dateItems = root.querySelectorAll(DATE_ITEMS_SEL)
549    if (dateItems.length === 0) {
550      root.style.display = "none"
551      return
552    }
553
554    // HIDE ITEMS IF THEY ARE EXPIRED OR NOT LIVE
555    const now = Date.now()
556    dateItems.forEach((el) => {
557      if (!(el instanceof HTMLElement)) return
558
559      const expiryStr = el.getAttribute(DATA_EXPIRY_SEL)
560      if (expiryStr) {
561        const expiryTime = new Date(expiryStr).getTime()
562        if (!Number.isNaN(expiryTime) && now > expiryTime) {
563          el.style.display = "none"
564          return
565        }
566      }
567
568      const liveStr = el.getAttribute(DATA_LIVE_SEL)
569      if (liveStr) {
570        const liveTime = new Date(liveStr).getTime()
571        if (!Number.isNaN(liveTime) && now < liveTime) {
572          el.style.display = "none"
573        }
574      }
575    })
576
577    const hasVisibleItem = Array.from(dateItems).some(
578      (el) => el instanceof HTMLElement && el.style.display !== "none",
579    )
580    if (!hasVisibleItem) {
581      root.style.display = "none"
582      return
583    }
584
585    // DUPLICATE SCROLLERS
586    const scroller = root.querySelector(SCROLLER_SEL)
587    const inner = root.querySelector(SCROLLER_PARENT_SEL)
588    if (!scroller || !inner) return
589
590    for (let i = 0; i < CLONE_COUNT; i++) {
591      const clone = scroller.cloneNode(true)
592      clone.setAttribute("aria-hidden", "true")
593      clone
594        .querySelectorAll("a")
595        .forEach((a) => a.setAttribute("tabindex", "-1"))
596      inner.appendChild(clone)
597    }
598
599    // SET SCROLLER ANIMATION
600    const scrollers = inner.querySelectorAll(SCROLLER_SEL)
601
602    function setScrollingSpeed() {
603      const duration = scroller.scrollWidth / PIXELS_PER_SECOND
604      scrollers.forEach((s) => {
605        s.style.animation = `${duration}s linear infinite banner-wd40-run`
606      })
607    }
608
609    setScrollingSpeed()
610    window.addEventListener("resize", setScrollingSpeed)
611  })()
612})();</script>
612 </div>   <div class="contents" data-astro-transition-persist="astro-7budsuu6-3"> <style>
613  /* Reset styles */
614  :where(.nav-fd76 .nav-fd76__menu-toggle, .nav-fd76 .nav-fd76__item--button) {
615    background: none;
616    border: none;
617    padding: 0;
618    margin: 0;
619    font: inherit;
620    color: inherit;
621    cursor: pointer;
622    text-align: inherit;
623  }
624  .nav-fd76 svg {
625    /* @todo reset SVG styles */
626  }
627
628  /* Screen is the blurry background that appears when the menu is open */
629
630  .screen-fd76 {
631    --anim-ease: ease-in-out;
632    --anim-duration: 0.2s;
633    z-index: 1000;
634    position: fixed;
635    inset: 0;
636    pointer-events: none;
637    -webkit-backdrop-filter: blur(0.3125rem);
638    backdrop-filter: blur(0.3125rem);
639    background-color: #0000001a;
640    opacity: 0;
641    transition:
642      opacity var(--anim-duration) var(--anim-ease),
643      height var(--anim-duration) var(--anim-ease);
644  }
645  .screen-fd76.is-active {
646    opacity: 1;
647    pointer-events: auto;
648  }
649
650  /* Theme styles */
651  .nav-fd76 {
652    --gap: 1.25rem;
653    --anim-ease: ease-in-out;
654    --anim-duration: 0.2s;
655    --container-max-width: 88.5rem;
656    --container-width: calc(100% - 2 * var(--gap));
657
658    /* Theme variables */
659    --background: #fff;
660    --layer-soft: #f9f9f9;
661    --layer-strong: #ededed;
662    --text-headings: #0a0a0a;
663    --text-body: #6b6b6b;
664    --divider: #c9c7c7;
665  }
666  [data-theme="dark"] .nav-fd76,
667  .theme-dark .nav-fd76 {
668    /* Theme variables */
669    --background: #0a0a0a;
670    --layer-soft: #1a1a1a;
671    --layer-strong: #252525;
672    --text-headings: #fff;
673    --text-body: #bababa;
674    --divider: #3a3a3a;
675  }
676  @media (min-width: 480px) {
677    .nav-fd76 {
678      --gap: clamp(0.969rem, -0rem + 3.229vw, 1.55rem);
679    }
680  }
681  @media (min-width: 768px) {
682    .nav-fd76 {
683      --gap: clamp(1.55rem, 0rem + 3.229vw, 2rem);
684    }
685  }
686  @media (min-width: 992px) {
687    .nav-fd76 {
688      --gap: clamp(0.984rem, 0.001rem + 1.587vw, 1.5rem);
689      --container-width: calc(100% - 4 * var(--gap));
690    }
691  }
692
693  /* Nav styles */
694  .nav-fd76 {
695    font-size: 0.875rem;
696    line-height: 1.5rem;
697    color: var(--text-body);
698    position: relative;
699    top: 0;
700    z-index: 1100;
701    background-color: var(--background);
702  }
703
704  .nav-fd76--bg-soft,
705  .nav-fd76--bg-soft .nav-fd76__bd {
706    background-color: var(--layer-soft);
707  }
708
709  .nav-fd76__bd {
710    position: relative;
711  }
712
713  .nav-fd76__bd-inner {
714    margin-left: auto;
715    margin-right: auto;
716    max-width: var(--container-max-width);
717    width: var(--container-width);
718    min-height: 2.4375rem; /* Prevent contents movigin vertically while loading */
719  }
720
721  .nav-fd76__brand {
722    display: block;
723    max-width: 9.375rem;
724    color: var(--text-headings);
725  }
726  .nav-fd76__brand-text {
727    position: absolute !important;
728    height: 1px;
729    width: 1px;
730    overflow: hidden;
731    clip: rect(1px, 1px, 1px, 1px);
732    white-space: nowrap;
733    border: 0;
734    padding: 0;
735    margin: -1px;
736  }
737  .nav-fd76__item svg {
738    transition: transform var(--anim-duration) var(--anim-ease);
739  }
740  .nav-fd76__item[aria-expanded="true"] svg {
741    transform: rotate(180deg);
742  }
743
744  /* Mini components */
745
746  .nav-fd76__cta--solid {
747    background-color: var(--layer-strong);
748    color: var(--text-headings);
749    border-radius: 999px;
750    padding: 0.375rem 0.875rem;
751    transition:
752      background-color 0.2s,
753      color 0.2s;
754  }
755  .nav-fd76__cta--solid:hover,
756  .nav-fd76__cta--solid:focus-visible {
757    color: #fff;
758    background-color: #3a3a3a;
759  }
760  .nav-fd76__cta--text {
761    color: var(--text-headings);
762    border-radius: 999px;
763    padding: 0.375rem 0.875rem;
764    transition:
765      background-color 0.2s,
766      color 0.2s;
767    text-decoration: underline;
768  }
769  .nav-fd76__cta--text:hover,
770  .nav-fd76__cta--text:focus-visible {
771    background-color: var(--layer-strong);
772  }
773
774  /* Desktop styles */
775  @media screen and (min-width: 1200px) {
776    .nav-fd76 {
777      height: 4.5rem;
778    }
779    .nav-fd76--sticky {
780      position: sticky;
781    }
782
783    .nav-fd76__bd {
784      height: 4.5rem;
785      padding-top: 1.1rem;
786      overflow: hidden;
787      background-color: var(--background);
788      box-shadow: 2px 12px 15px -3px transparent;
789      /* Transition height to match height of active submenu, clipping content */
790      transition:
791        height var(--anim-duration) var(--anim-ease),
792        box-shadow var(--anim-duration) var(--anim-ease);
793    }
794    .nav-fd76__bd.has-active-submenu {
795      box-shadow: 2px 12px 15px -3px transparent;
796    }
797
798    .nav-fd76__bd-inner {
799      display: flex;
800      justify-content: space-between;
801      align-items: center;
802      gap: 1rem;
803    }
804    .nav-fd76__menu {
805      display: block !important; /* Override [hidden] to prevent flash of missing styles while JS inits */
806      flex-grow: 1;
807    }
808    .nav-fd76__menu-toggle {
809      display: none;
810    }
811    .nav-fd76__menu-inner {
812      display: flex;
813      justify-content: flex-end;
814      align-items: center;
815    }
816    .nav-fd76__actions {
817      display: flex;
818      justify-content: flex-end;
819      align-items: center;
820      gap: 0.25rem;
821      padding-left: 0.5rem;
822    }
823
824    .nav-fd76__submenu {
825      position: absolute;
826      top: 4.5rem; /* nav height */
827      left: 0;
828      width: 100%;
829      display: block;
830    }
831
832    .nav-fd76__submenu--inner {
833      margin-left: auto;
834      margin-right: auto;
835      max-width: var(--container-max-width);
836      width: var(--container-width);
837    }
838
839    .nav-fd76__items {
840      display: flex;
841    }
842    .nav-fd76__item {
843      background: none;
844      padding: 0.46875rem 0.875rem;
845      display: flex;
846      align-items: center;
847      gap: 0.5rem;
848      border-radius: 999px;
849      transition:
850        color var(--anim-duration) var(--anim-ease),
851        background-color var(--anim-duration) var(--anim-ease);
852    }
853    .nav-fd76__item:hover,
854    .nav-fd76__item:focus-visible {
855      color: var(--text-headings);
856    }
857    .nav-fd76__item[aria-expanded="true"] {
858      color: var(--text-headings);
859      background-color: var(--layer-strong);
860    }
861  }
862
863  /* Mobile styles */
864  @media screen and (max-width: 1199px) {
865    .nav-fd76__actions {
866      padding-top: 2rem;
867    }
868    .nav-fd76__cta--text {
869      background-color: var(--layer-strong);
870      color: var(--text-headings);
871      border-radius: 999px;
872      padding: 0.375rem 0.875rem;
873      text-decoration: none;
874      text-align: center;
875      transition: opacity var(--anim-duration) var(--anim-ease);
876    }
877    .nav-fd76__cta--text:hover,
878    .nav-fd76__cta--text:focus-visible {
879      opacity: 0.75;
880    }
881    .nav-fd76__cta--solid {
882      background-color: var(--text-headings);
883      color: var(--background);
884      text-align: center;
885    }
886
887    .nav-fd76 {
888      --nav-bar-height: 3.75rem;
889    }
890    .nav-fd76__brand {
891      max-width: 7.5rem;
892    }
893    .nav-fd76__menu {
894      position: absolute;
895      top: 100%;
896      left: 0;
897      width: 100%;
898      background-color: var(--background);
899      overflow: hidden;
900    }
901    .nav-fd76__menu-inner {
902      margin-left: auto;
903      margin-right: auto;
904      max-width: var(--container-max-width);
905      width: var(--container-width);
906      padding-bottom: 2rem;
907    }
908    .nav-fd76__bd-inner {
909      height: var(--nav-bar-height);
910      display: flex;
911      justify-content: space-between;
912      align-items: center;
913    }
914    .nav-fd76__menu-toggle {
915      padding: 1.4rem 0 1.4rem 1.4rem;
916    }
917    .nav-fd76__items {
918      display: flex;
919      flex-direction: column;
920    }
921    .nav-fd76__actions {
922      display: flex;
923      flex-direction: column;
924      gap: 1rem;
925    }
926    .nav-fd76__item {
927      display: flex;
928      justify-content: space-between;
929      align-items: center;
930      padding: 1rem 0;
931      border-bottom: 1px solid var(--divider);
932    }
933    .nav-fd76__submenu {
934      overflow: hidden;
935    }
936  }
937</style><div class="screen-fd76" data-component="interop-nav-screen"></div>
937 <nav data-component="interop-nav" class="nav-fd76  nav-fd76--sticky " data-event-cta-location="main_nav" data-e-location="main_nav"> <div class="nav-fd76__bd"> <div class="nav-fd76__bd-inner"> <a class="nav-fd76__brand" href="/" data-event="CTA Clicked" data-e="CTA Clicked"> <svg aria-hidden="true" style="display:block; width:100%; height:auto;" xmlns="http://www.w3.org/2000/svg" width="150" height="32" fill="none" viewBox="0 0 150 32"> <path fill="currentColor" d="M58.3 4h3v13.2a6.8 6.8 0 0 1-3.8 6.2 9 9 0 0 1-4.1 1 9 9 0 0 1-4.2-1 6.8 6.8 0 0 1-3.8-6.2V4h3v13c0 .8.3 1.6.7 2.3.4.7 1 1.3 1.7 1.7.7.4 1.6.6 2.6.6s1.9-.2 2.6-.6c.8-.4 1.3-1 1.7-1.7.4-.7.6-1.5.6-2.4V4ZM64 29.6V9h2.8v2.5h.2l.8-1.1c.3-.4.8-.8 1.3-1.1.6-.3 1.3-.5 2.3-.5a5.8 5.8 0 0 1 5.4 3.6c.6 1.1.8 2.5.8 4.2 0 1.6-.2 3-.8 4.1a5.8 5.8 0 0 1-5.5 3.6c-.8 0-1.6-.1-2.1-.5-.6-.3-1-.6-1.4-1a9 9 0 0 1-.8-1.1H67v8h-3Zm6.7-7.8c1 0 1.6-.2 2.2-.7.6-.4 1-1 1.3-1.9.3-.8.5-1.7.5-2.7 0-1-.2-1.9-.4-2.6-.3-.8-.8-1.5-1.4-2-.5-.4-1.3-.6-2.2-.6-.8 0-1.5.2-2.1.7-.6.4-1 1-1.3 1.8-.3.8-.5 1.7-.5 2.7 0 1 .2 2 .5 2.8.3.8.7 1.4 1.3 1.9.6.4 1.3.6 2.1.6ZM88 24.3a8.5 8.5 0 0 1-8-4.8c-.6-1.5-1-3.4-1-5.5 0-2 .4-4 1.1-5.5A8.6 8.6 0 0 1 83.3 5a9.3 9.3 0 0 1 7.6-.8 8 8 0 0 1 4.4 3.5c.4.8.8 1.7 1 2.6h-3.1l-.8-1.6a5 5 0 0 0-2.6-2 6 6 0 0 0-4.9.7 6 6 0 0 0-2.1 2.5A9.6 9.6 0 0 0 82 14c0 1.6.2 3 .8 4.1.5 1.1 1.2 2 2.1 2.6 1 .5 2 .8 3.2.8 1 0 2-.2 2.8-.6.8-.5 1.4-1.1 1.9-2 .4-.7.7-1.7.7-2.8l.8.2h-5.8v-2.5h7.9V16c0 1.7-.4 3.1-1 4.3a7.3 7.3 0 0 1-3 2.9 9 9 0 0 1-4.3 1ZM108 17.8V9h3v15H108v-2.6h-.2a4.7 4.7 0 0 1-4.5 2.8 5 5 0 0 1-2.5-.6c-.7-.4-1.3-1-1.7-2a7 7 0 0 1-.7-3V9h3v9.2c0 1 .2 1.8.8 2.4.6.7 1.3 1 2.2 1a3.6 3.6 0 0 0 3-1.7c.4-.5.6-1.2.6-2ZM117.7 24.3c-1 0-1.8-.1-2.6-.5-.8-.3-1.4-.9-1.8-1.5-.5-.7-.7-1.6-.7-2.5 0-.9.2-1.6.5-2.1.3-.6.7-1 1.3-1.3.6-.3 1.2-.6 1.9-.7l2-.4a114 114 0 0 0 3.5-.6c.2-.2.3-.4.3-.8 0-.9-.2-1.5-.7-2-.5-.5-1.2-.7-2.1-.7-1 0-1.8.2-2.3.6-.6.5-1 1-1.2 1.5l-2.8-.7c.4-.9.9-1.6 1.5-2.2a6 6 0 0 1 2.2-1.2A8.5 8.5 0 0 1 121 9c.7.2 1.3.4 2 .8.5.4 1 .9 1.4 1.6.4.7.6 1.6.6 2.7v10h-2.9V22h-.1a4.5 4.5 0 0 1-2.3 2c-.6.2-1.3.3-2.1.3Zm.6-2.3c.8 0 1.5-.2 2-.5.6-.3 1-.7 1.4-1.2.3-.5.4-1.1.4-1.7v-2c0 .2-.3.3-.6.4a38.2 38.2 0 0 1-3 .5 8 8 0 0 0-1.5.3c-.5.2-.8.4-1.1.8-.3.3-.5.7-.5 1.2 0 .7.3 1.3.9 1.7.5.3 1.2.5 2 .5ZM127.5 24V9h2.8v2.4h.1a4.1 4.1 0 0 1 3.8-2.6 12 12 0 0 1 1.3 0v2.9l-.7-.2h-.9c-.
9376 0-1.3.1-1.8.4-.5.3-1 .7-1.3 1.2-.3.5-.4 1.1-.4 1.8V24h-3ZM142 24.3a5.8 5.8 0 0 1-5.6-3.6 9.8 9.8 0 0 1-.8-4.1c0-1.7.3-3 .9-4.2.5-1.2 1.3-2 2.2-2.7 1-.6 2-.9 3.2-.9 1 0 1.7.2 2.3.5.6.3 1 .7 1.3 1 .3.5.6.8.7 1.2h.2V4h3v20h-3v-2.3h-.2l-.7 1c-.3.5-.8.8-1.4 1.1-.5.4-1.3.5-2.2.5Zm.6-2.5c.8 0 1.5-.2 2-.6.7-.5 1.1-1.1 1.4-2 .3-.7.5-1.6.5-2.7 0-1-.2-2-.5-2.7a4 4 0 0 0-1.3-1.8c-.6-.5-1.3-.7-2.1-.7-.9 0-1.7.2-2.2.7-.6.4-1 1-1.3 1.9a7.8 7.8 0 0 0 0 5.4c.2.7.7 1.4 1.3 1.8.6.5 1.3.7 2.2.7ZM8 8V0H0v24h8V8ZM24 0v24h8V0h-8ZM8 24v8h16v-8H8Z"></path> </svg> <span class="nav-fd76__brand-text">UpGuard</span> </a> <button aria-controls="upguard-menu" aria-expanded="false" type="button" class="nav-fd76__menu-toggle" aria-label="Menu"> <svg aria-hidden="true" style="width:1.25rem; height:0.9375rem; display:block" width="20" height="15" viewBox="0 0 20 15" fill="none">
938<rect width="20" height="1" fill="currentColor"></rect>
939<rect y="14" width="20" height="1" fill="currentColor"></rect>
940<rect y="7" width="20" height="1" fill="currentColor"></rect>
941</svg> </button> <div id="upguard-menu" hidden="until-found" class="nav-fd76__menu"> <div class="nav-fd76__menu-inner"> <div class="nav-fd76__items">  <button type="button" aria-controls="#submenu-platform" class="nav-fd76__item nav-fd76__item--button nav-fd76__item--platform"> Platform <svg aria-hidden="true" width="8" height="5" viewBox="0 0 8 5" fill="none">
942    <path d="M7 1L4 4L1 1" stroke="currentColor" stroke-width="1.2" stroke-linecap="square" />
943</svg> </button> <div class="nav-fd76__submenu nav-fd76__item--platform" hidden="until-found" id="submenu-platform"> <div class="nav-fd76__submenu--inner"> <div class="platform-pv4k" data-event-cta-location="main_nav_submenu_platform" data-e-location="main_nav_submenu_platform"> <div class="platform-pv4k__item"> <div class="platform-pv4k__header"> <div class="platform-pv4k__name"> <svg fill="none" height="22" viewBox="0 0 22 22" width="22" focusable="false" aria-hidden="true">
944  <g fill="currentColor">
945    <path d="m14.9311 18.9999h3.9769v-4h-3.9769-3.977v4z"></path>
946    <path d="m6.97697 11h-3.97697v4h3.97697 3.97693v-4z"></path>
947    <path d="m6.97697 3h-3.97697v3.99999h3.97697 3.97693v-3.99999z"></path>
948    <path d="m18.908 11v-4.00004h-3.9769-3.977v4.00004h3.977z"></path>
949  </g>
950</svg> Vendor Risk </div> <p class="platform-pv4k__description">Take control of third-party vendor risk at AI speed.</p> <a data-event="CTA Clicked" data-e="CTA Clicked" class="platform-pv4k__learn-more" href="/product/vendor-risk">
951Learn more
952<svg aria-hidden="true" fill="none" focusable="false" height="20" viewBox="0 0 20 20" width="20">
953  <path d="m4 9h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm-2-2h2v2h-2zm0 4h2v2h-2zm-2 2h2v2h-2zm0-8h2v2h-2z" fill="currentColor" />
954</svg> </a> </div> <ul class="platform-pv4k__capabilities"> <li> <a class="ipx" href="/product/vendor-risk/ai" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">AI-powered TPRM</span> </span> </a> <style>
955  .ipx {
956    --ipx-offset: 1.125rem;
957    display: inline-block;
958    position: relative;
959    padding-right: var(--ipx-offset);
960    color: var(--text-body);
961    transition: color 0.2s ease;
962    cursor: pointer;
963  }
964
965  .ipx:hover,
966  .ipx:focus-visible {
967    color: var(--text-headings);
968  }
969
970  .ipx__text {
971    display: inline-block;
972    transition: transform 0.2s ease;
973  }
974
975  .ipx__text::before {
976    content: "";
977    position: absolute;
978    left: calc(-1 * var(--ipx-offset));
979    top: 50%;
980    width: 0.625rem;
981    height: 0.625rem;
982    background-color: currentColor;
983    opacity: 0;
984    pointer-events: none;
985    transform: translateY(-50%);
986    transition: opacity 0.2s ease;
987  }
988
989  .ipx:hover .ipx__text,
990  .ipx:focus-visible .ipx__text {
991    transform: translateX(var(--ipx-offset));
992  }
993
994  .ipx:hover .ipx__text::before,
995  .ipx:focus-visible .ipx__text::before {
996    opacity: 1;
997  }
998
999  .ipx__label {
1000    font-size: 0.875rem;
1001    line-height: 1.75rem;
1002  }
1003</style> </li><li> <a class="ipx" href="/product/vendor-risk/third-party-risk-assessments" data-event="CTA Clicked" data-e
1003="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Vendor Risk Assessments</span> </span> </a> <style>
1004  .ipx {
1005    --ipx-offset: 1.125rem;
1006    display: inline-block;
1007    position: relative;
1008    padding-right: var(--ipx-offset);
1009    color: var(--text-body);
1010    transition: color 0.2s ease;
1011    cursor: pointer;
1012  }
1013
1014  .ipx:hover,
1015  .ipx:focus-visible {
1016    color: var(--text-headings);
1017  }
1018
1019  .ipx__text {
1020    display: inline-block;
1021    transition: transform 0.2s ease;
1022  }
1023
1024  .ipx__text::before {
1025    content: "";
1026    position: absolute;
1027    left: calc(-1 * var(--ipx-offset));
1028    top: 50%;
1029    width: 0.625rem;
1030    height: 0.625rem;
1031    background-color: currentColor;
1032    opacity: 0;
1033    pointer-events: none;
1034    transform: translateY(-50%);
1035    transition: opacity 0.2s ease;
1036  }
1037
1038  .ipx:hover .ipx__text,
1039  .ipx:focus-visible .ipx__text {
1040    transform: translateX(var(--ipx-offset));
1041  }
1042
1043  .ipx:hover .ipx__text::before,
1044  .ipx:focus-visible .ipx__text::before {
1045    opacity: 1;
1046  }
1047
1048  .ipx__label {
1049    font-size: 0.875rem;
1050    line-height: 1.75rem;
1051  }
1052</style> </li><li> <a class="ipx" href="/product/vendor-risk/vendor-discovery-onboarding" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Vendor Discovery &amp; Onboarding</span> </span> </a> <style>
1053  .ipx {
1054    --ipx-offset: 1.125rem;
1055    display: inline-block;
1056    position: relative;
1057    padding-right: var(--ipx-offset);
1058    color: var(--text-body);
1059    transition: color 0.2s ease;
1060    cursor: pointer;
1061  }
1062
1063  .ipx:hover,
1064  .ipx:focus-visible {
1065    color: var(--text-headings);
1066  }
1067
1068  .ipx__text {
1069    display: inline-block;
1070    transition: transform 0.2s ease;
1071  }
1072
1073  .ipx__text::before {
1074    content: "";
1075    position: absolute;
1076    left: calc(-1 * var(--ipx-offset));
1077    top: 50%;
1078    width: 0.625rem;
1079    height: 0.625rem;
1080    background-color: currentColor;
1081    opacity: 0;
1082    pointer-events: none;
1083    transform: translateY(-50%);
1084    transition: opacity 0.2s ease;
1085  }
1086
1087  .ipx:hover .ipx__text,
1088  .ipx:focus-visible .ipx__text {
1089    transform: translateX(var(--ipx-offset));
1090  }
1091
1092  .ipx:hover .ipx__text::before,
1093  .ipx:focus-visible .ipx__text::before {
1094    opacity: 1;
1095  }
1096
1097  .ipx__label {
1098    font-size: 0.875rem;
1099    line-height: 1.75rem;
1100  }
1101</style> </li><li> <a class="ipx" href="/product/vendor-risk/questionnaire-management" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Security Questionnaire Automation</span> </span> </a> <style>
1102  .ipx {
1103    --ipx-offset: 1.125rem;
1104    display: inline-block;
1105    position: relative;
1106    padding-right: var(--ipx-offset);
1107    color: var(--text-body);
1108    transition: color 0.2s ease;
1109    cursor: pointer;
1110  }
1111
1112  .ipx:hover,
1113  .ipx:focus-visible {
1114    color: var(--text-headings);
1115  }
1116
1117  .ipx__text {
1118    display: inline-block;
1119    transition: transform 0.2s ease;
1120  }
1121
1122  .ipx__text::before {
1123    content: "";
1124    position: absolute;
1125    left: calc(-1 * var(--ipx-offset));
1126    top: 50%;
1127    width: 0.625rem;
1128    height: 0.625rem;
1129    background-color: currentColor;
1130    opacity: 0;
1131    pointer-events: none;
1132    transform: translateY(-50%);
1133    transition: opacity 0.2s ease;
1134  }
1135
1136  .ipx:hover .ipx__text,
1137  .ipx:focus-visible .ipx__text {
1138    transform: translateX(var(--ipx-offset));
1139  }
1140
1141  .ipx:hover .ipx__text::before,
1142  .ipx:focus-visible .ipx__text::before {
1143    opacity: 1;
1144  }
1145
1146  .ipx__label {
1147    font-size: 0.875rem;
1148    line-height: 1.75rem;
1149  }
1150</style> </li><li> <a class="ipx" href="/product/vendor-risk/risk-remediation" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Remediation &amp; Exceptions</span> </span> </a> <style>
1151  .ipx {
1152    --ipx-offset: 1.125rem;
1153    display: inline-block;
1154    position: relative;
1155    padding-right: var(--ipx-offset);
1156    color: var(--text-body);
1157    transition: color 0.2s ease;
1158    cursor: pointer;
1159  }
1160
1161  .ipx:hover,
1162  .ipx:focus-visible {
1163    color: var(--text-headings);
1164  }
1165
1166  .ipx__text {
1167    display: inline-block;
1168    transition: transform 0.2s ease;
1169  }
1170
1171  .ipx__text::before {
1172    content: "";
1173    position: absolute;
1174    left: calc(-1 * var(--ipx-offset));
1175    top: 50%;
1176    width: 0.625rem;
1177    height: 0.625rem;
1178    background-color: currentColor;
1179    opacity: 0;
1180    pointer-events: none;
1181    transform: translateY(-50%);
1182    transition: opacity 0.2s ease;
1183  }
1184
1185  .ipx:hover .ipx__text,
1186  .ipx:focus-visible .ipx__text {
1187    transform: translateX(var(--ipx-offset));
1188  }
1189
1190  .ipx:hover .ipx__text::before,
1191  .ipx:focus-visible .ipx__text::before {
1192    opacity: 1;
1193  }
1194
1195  .ipx__label {
1196    font-size: 0.875rem;
1197    line-height: 1.75rem;
1198  }
1199</style> </li><li> <a class="ipx" href="/product/vendor-risk/continuous-monitoring" data-event="CTA Clicked" data-e
1199="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Continuous Monitoring</span> </span> </a> <style>
1200  .ipx {
1201    --ipx-offset: 1.125rem;
1202    display: inline-block;
1203    position: relative;
1204    padding-right: var(--ipx-offset);
1205    color: var(--text-body);
1206    transition: color 0.2s ease;
1207    cursor: pointer;
1208  }
1209
1210  .ipx:hover,
1211  .ipx:focus-visible {
1212    color: var(--text-headings);
1213  }
1214
1215  .ipx__text {
1216    display: inline-block;
1217    transition: transform 0.2s ease;
1218  }
1219
1220  .ipx__text::before {
1221    content: "";
1222    position: absolute;
1223    left: calc(-1 * var(--ipx-offset));
1224    top: 50%;
1225    width: 0.625rem;
1226    height: 0.625rem;
1227    background-color: currentColor;
1228    opacity: 0;
1229    pointer-events: none;
1230    transform: translateY(-50%);
1231    transition: opacity 0.2s ease;
1232  }
1233
1234  .ipx:hover .ipx__text,
1235  .ipx:focus-visible .ipx__text {
1236    transform: translateX(var(--ipx-offset));
1237  }
1238
1239  .ipx:hover .ipx__text::before,
1240  .ipx:focus-visible .ipx__text::before {
1241    opacity: 1;
1242  }
1243
1244  .ipx__label {
1245    font-size: 0.875rem;
1246    line-height: 1.75rem;
1247  }
1248</style> </li><li> <a class="ipx" href="/product/vendor-risk/risk-reporting" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Reporting &amp; Program Oversight</span> </span> </a> <style>
1249  .ipx {
1250    --ipx-offset: 1.125rem;
1251    display: inline-block;
1252    position: relative;
1253    padding-right: var(--ipx-offset);
1254    color: var(--text-body);
1255    transition: color 0.2s ease;
1256    cursor: pointer;
1257  }
1258
1259  .ipx:hover,
1260  .ipx:focus-visible {
1261    color: var(--text-headings);
1262  }
1263
1264  .ipx__text {
1265    display: inline-block;
1266    transition: transform 0.2s ease;
1267  }
1268
1269  .ipx__text::before {
1270    content: "";
1271    position: absolute;
1272    left: calc(-1 * var(--ipx-offset));
1273    top: 50%;
1274    width: 0.625rem;
1275    height: 0.625rem;
1276    background-color: currentColor;
1277    opacity: 0;
1278    pointer-events: none;
1279    transform: translateY(-50%);
1280    transition: opacity 0.2s ease;
1281  }
1282
1283  .ipx:hover .ipx__text,
1284  .ipx:focus-visible .ipx__text {
1285    transform: translateX(var(--ipx-offset));
1286  }
1287
1288  .ipx:hover .ipx__text::before,
1289  .ipx:focus-visible .ipx__text::before {
1290    opacity: 1;
1291  }
1292
1293  .ipx__label {
1294    font-size: 0.875rem;
1295    line-height: 1.75rem;
1296  }
1297</style> </li> </ul> </div><div class="platform-pv4k__item"> <div class="platform-pv4k__header"> <div class="platform-pv4k__name"> <svg fill="none" height="22" viewBox="0 0 22 22" width="22" focusable="false" aria-hidden="true">
1298  <g fill="currentColor">
1299    <path d="m7 3h-4v3.99999h4z"></path>
1300    <path d="m11 7.00002h-4v3.99998h4z"></path>
1301    <path d="m7 11h-4v4h4z"></path>
1302    <path d="m15 3.00002h-4v3.99999h4z"></path>
1303    <path d="m15 7.00002v3.99998 4h-4-4v4h4 4 4v-4-4-3.99998z"></path>
1304  </g>
1305</svg> Breach Risk </div> <p class="platform-pv4k__description">Monitor your attack surface and AI threats before you get compromised.</p> <a data-event="CTA Clicked" data-e="CTA Clicked" class="platform-pv4k__learn-more" href="/product/breach-risk">
1306Learn more
1307<svg aria-hidden="true" fill="none" focusable="false" height="20" viewBox="0 0 20 20" width="20">
1308  <path d="m4 9h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm-2-2h2v2h-2zm0 4h2v2h-2zm-2 2h2v2h-2zm0-8h2v2h-2z" fill="currentColor" />
1309</svg> </a> </div> <ul class="platform-pv4k__capabilities"> <li> <a class="ipx" href="/product/breach-risk/threat-monitoring" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">AI-powered Threat Monitoring</span> </span> </a> <style>
1310  .ipx {
1311    --ipx-offset: 1.125rem;
1312    display: inline-block;
1313    position: relative;
1314    padding-right: var(--ipx-offset);
1315    color: var(--text-body);
1316    transition: color 0.2s ease;
1317    cursor: pointer;
1318  }
1319
1320  .ipx:hover,
1321  .ipx:focus-visible {
1322    color: var(--text-headings);
1323  }
1324
1325  .ipx__text {
1326    display: inline-block;
1327    transition: transform 0.2s ease;
1328  }
1329
1330  .ipx__text::before {
1331    content: "";
1332    position: absolute;
1333    left: calc(-1 * var(--ipx-offset));
1334    top: 50%;
1335    width: 0.625rem;
1336    height: 0.625rem;
1337    background-color: currentColor;
1338    opacity: 0;
1339    pointer-events: none;
1340    transform: translateY(-50%);
1341    transition: opacity 0.2s ease;
1342  }
1343
1344  .ipx:hover .ipx__text,
1345  .ipx:focus-visible .ipx__text {
1346    transform: translateX(var(--ipx-offset));
1347  }
1348
1349  .ipx:hover .ipx__text::before,
1350  .ipx:focus-visible .ipx__text::before {
1351    opacity: 1;
1352  }
1353
1354  .ipx__label {
1355    font-size: 0.875rem;
1356    line-height: 1.75rem;
1357  }
1358</style> </li><li> <a class="ipx" href="/product/breach-risk/attack-surface-management" data-event="CTA Clicked" data-e
1358="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Attack Surface Management</span> </span> </a> <style>
1359  .ipx {
1360    --ipx-offset: 1.125rem;
1361    display: inline-block;
1362    position: relative;
1363    padding-right: var(--ipx-offset);
1364    color: var(--text-body);
1365    transition: color 0.2s ease;
1366    cursor: pointer;
1367  }
1368
1369  .ipx:hover,
1370  .ipx:focus-visible {
1371    color: var(--text-headings);
1372  }
1373
1374  .ipx__text {
1375    display: inline-block;
1376    transition: transform 0.2s ease;
1377  }
1378
1379  .ipx__text::before {
1380    content: "";
1381    position: absolute;
1382    left: calc(-1 * var(--ipx-offset));
1383    top: 50%;
1384    width: 0.625rem;
1385    height: 0.625rem;
1386    background-color: currentColor;
1387    opacity: 0;
1388    pointer-events: none;
1389    transform: translateY(-50%);
1390    transition: opacity 0.2s ease;
1391  }
1392
1393  .ipx:hover .ipx__text,
1394  .ipx:focus-visible .ipx__text {
1395    transform: translateX(var(--ipx-offset));
1396  }
1397
1398  .ipx:hover .ipx__text::before,
1399  .ipx:focus-visible .ipx__text::before {
1400    opacity: 1;
1401  }
1402
1403  .ipx__label {
1404    font-size: 0.875rem;
1405    line-height: 1.75rem;
1406  }
1407</style> </li><li> <a class="ipx" href="/product/breach-risk/brand-protection" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Brand Protection</span> </span> </a> <style>
1408  .ipx {
1409    --ipx-offset: 1.125rem;
1410    display: inline-block;
1411    position: relative;
1412    padding-right: var(--ipx-offset);
1413    color: var(--text-body);
1414    transition: color 0.2s ease;
1415    cursor: pointer;
1416  }
1417
1418  .ipx:hover,
1419  .ipx:focus-visible {
1420    color: var(--text-headings);
1421  }
1422
1423  .ipx__text {
1424    display: inline-block;
1425    transition: transform 0.2s ease;
1426  }
1427
1428  .ipx__text::before {
1429    content: "";
1430    position: absolute;
1431    left: calc(-1 * var(--ipx-offset));
1432    top: 50%;
1433    width: 0.625rem;
1434    height: 0.625rem;
1435    background-color: currentColor;
1436    opacity: 0;
1437    pointer-events: none;
1438    transform: translateY(-50%);
1439    transition: opacity 0.2s ease;
1440  }
1441
1442  .ipx:hover .ipx__text,
1443  .ipx:focus-visible .ipx__text {
1444    transform: translateX(var(--ipx-offset));
1445  }
1446
1447  .ipx:hover .ipx__text::before,
1448  .ipx:focus-visible .ipx__text::before {
1449    opacity: 1;
1450  }
1451
1452  .ipx__label {
1453    font-size: 0.875rem;
1454    line-height: 1.75rem;
1455  }
1456</style> </li> </ul> </div><div class="platform-pv4k__item"> <div class="platform-pv4k__header"> <div class="platform-pv4k__name"> <svg fill="none" height="22" viewBox="0 0 22 22" width="22" focusable="false" aria-hidden="true">
1457  <g fill="currentColor">
1458    <path d="m14.9653 11v-3.99999-3.99999h-3.9885-3.98852v3.99999 3.99999h3.98852z"></path>
1459    <path d="m10.9771 15h-3.98857-3.98853v4h3.98853 3.98857 3.9885 3.9885v-4h-3.9885z"></path>
1460  </g>
1461</svg> User Risk </div> <p class="platform-pv4k__description">Surface the shadow AI and human risk hiding inside your workforce.</p> <a data-event="CTA Clicked" data-e="CTA Clicked" class="platform-pv4k__learn-more" href="/product/user-risk">
1462Learn more
1463<svg aria-hidden="true" fill="none" focusable="false" height="20" viewBox="0 0 20 20" width="20">
1464  <path d="m4 9h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm-2-2h2v2h-2zm0 4h2v2h-2zm-2 2h2v2h-2zm0-8h2v2h-2z" fill="currentColor" />
1465</svg> </a> </div> <ul class="platform-pv4k__capabilities"> <li> <a class="ipx" href="/product/user-risk/shadow-ai-monitoring" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Shadow AI Monitoring</span> </span> </a> <style>
1466  .ipx {
1467    --ipx-offset: 1.125rem;
1468    display: inline-block;
1469    position: relative;
1470    padding-right: var(--ipx-offset);
1471    color: var(--text-body);
1472    transition: color 0.2s ease;
1473    cursor: pointer;
1474  }
1475
1476  .ipx:hover,
1477  .ipx:focus-visible {
1478    color: var(--text-headings);
1479  }
1480
1481  .ipx__text {
1482    display: inline-block;
1483    transition: transform 0.2s ease;
1484  }
1485
1486  .ipx__text::before {
1487    content: "";
1488    position: absolute;
1489    left: calc(-1 * var(--ipx-offset));
1490    top: 50%;
1491    width: 0.625rem;
1492    height: 0.625rem;
1493    background-color: currentColor;
1494    opacity: 0;
1495    pointer-events: none;
1496    transform: translateY(-50%);
1497    transition: opacity 0.2s ease;
1498  }
1499
1500  .ipx:hover .ipx__text,
1501  .ipx:focus-visible .ipx__text {
1502    transform: translateX(var(--ipx-offset));
1503  }
1504
1505  .ipx:hover .ipx__text::before,
1506  .ipx:focus-visible .ipx__text::before {
1507    opacity: 1;
1508  }
1509
1510  .ipx__label {
1511    font-size: 0.875rem;
1512    line-height: 1.75rem;
1513  }
1514</style> </li><li> <a class="ipx" href="/product/user-risk/policy-governance" data-event="CTA Clicked" data-e
1514="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Policy and Governance</span> </span> </a> <style>
1515  .ipx {
1516    --ipx-offset: 1.125rem;
1517    display: inline-block;
1518    position: relative;
1519    padding-right: var(--ipx-offset);
1520    color: var(--text-body);
1521    transition: color 0.2s ease;
1522    cursor: pointer;
1523  }
1524
1525  .ipx:hover,
1526  .ipx:focus-visible {
1527    color: var(--text-headings);
1528  }
1529
1530  .ipx__text {
1531    display: inline-block;
1532    transition: transform 0.2s ease;
1533  }
1534
1535  .ipx__text::before {
1536    content: "";
1537    position: absolute;
1538    left: calc(-1 * var(--ipx-offset));
1539    top: 50%;
1540    width: 0.625rem;
1541    height: 0.625rem;
1542    background-color: currentColor;
1543    opacity: 0;
1544    pointer-events: none;
1545    transform: translateY(-50%);
1546    transition: opacity 0.2s ease;
1547  }
1548
1549  .ipx:hover .ipx__text,
1550  .ipx:focus-visible .ipx__text {
1551    transform: translateX(var(--ipx-offset));
1552  }
1553
1554  .ipx:hover .ipx__text::before,
1555  .ipx:focus-visible .ipx__text::before {
1556    opacity: 1;
1557  }
1558
1559  .ipx__label {
1560    font-size: 0.875rem;
1561    line-height: 1.75rem;
1562  }
1563</style> </li><li> <a class="ipx" href="/product/user-risk/contextual-guidance" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Contextual Guidance</span> </span> </a> <style>
1564  .ipx {
1565    --ipx-offset: 1.125rem;
1566    display: inline-block;
1567    position: relative;
1568    padding-right: var(--ipx-offset);
1569    color: var(--text-body);
1570    transition: color 0.2s ease;
1571    cursor: pointer;
1572  }
1573
1574  .ipx:hover,
1575  .ipx:focus-visible {
1576    color: var(--text-headings);
1577  }
1578
1579  .ipx__text {
1580    display: inline-block;
1581    transition: transform 0.2s ease;
1582  }
1583
1584  .ipx__text::before {
1585    content: "";
1586    position: absolute;
1587    left: calc(-1 * var(--ipx-offset));
1588    top: 50%;
1589    width: 0.625rem;
1590    height: 0.625rem;
1591    background-color: currentColor;
1592    opacity: 0;
1593    pointer-events: none;
1594    transform: translateY(-50%);
1595    transition: opacity 0.2s ease;
1596  }
1597
1598  .ipx:hover .ipx__text,
1599  .ipx:focus-visible .ipx__text {
1600    transform: translateX(var(--ipx-offset));
1601  }
1602
1603  .ipx:hover .ipx__text::before,
1604  .ipx:focus-visible .ipx__text::before {
1605    opacity: 1;
1606  }
1607
1608  .ipx__label {
1609    font-size: 0.875rem;
1610    line-height: 1.75rem;
1611  }
1612</style> </li> </ul> </div><div class="platform-pv4k__item"> <div class="platform-pv4k__header"> <div class="platform-pv4k__name"> <svg fill="none" height="22" viewBox="0 0 22 22" width="22" focusable="false" aria-hidden="true">
1613  <g fill="currentColor">
1614    <path d="m18.5279 14.6458h-3.8819v3.8819h3.8819z"></path>
1615    <path d="m6.88185 14.6458h-3.88185v3.8819h3.88185z"></path>
1616    <path d="m6.88185 3h-3.88185v3.88189h3.88185z"></path>
1617    <path d="m18.5279 3h-3.8819v3.88189h3.8819z"></path>
1618    <path d="m6.88232 6.88216v3.88194 3.8818h3.88188 3.8818v-3.8818-3.88194h-3.8818z"></path>
1619  </g>
1620</svg> Trust Exchange </div> <p class="platform-pv4k__description">Prove your security in minutes, not weeks. For free.</p> <a data-event="CTA Clicked" data-e="CTA Clicked" class="platform-pv4k__learn-more" href="/product/trust-exchange">
1621Learn more
1622<svg aria-hidden="true" fill="none" focusable="false" height="20" viewBox="0 0 20 20" width="20">
1623  <path d="m4 9h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm-2-2h2v2h-2zm0 4h2v2h-2zm-2 2h2v2h-2zm0-8h2v2h-2z" fill="currentColor" />
1624</svg> </a> </div> <ul class="platform-pv4k__capabilities"> <li> <a class="ipx" href="/product/trust-exchange/questionnaire-ai" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Questionnaire AI</span> </span> </a> <style>
1625  .ipx {
1626    --ipx-offset: 1.125rem;
1627    display: inline-block;
1628    position: relative;
1629    padding-right: var(--ipx-offset);
1630    color: var(--text-body);
1631    transition: color 0.2s ease;
1632    cursor: pointer;
1633  }
1634
1635  .ipx:hover,
1636  .ipx:focus-visible {
1637    color: var(--text-headings);
1638  }
1639
1640  .ipx__text {
1641    display: inline-block;
1642    transition: transform 0.2s ease;
1643  }
1644
1645  .ipx__text::before {
1646    content: "";
1647    position: absolute;
1648    left: calc(-1 * var(--ipx-offset));
1649    top: 50%;
1650    width: 0.625rem;
1651    height: 0.625rem;
1652    background-color: currentColor;
1653    opacity: 0;
1654    pointer-events: none;
1655    transform: translateY(-50%);
1656    transition: opacity 0.2s ease;
1657  }
1658
1659  .ipx:hover .ipx__text,
1660  .ipx:focus-visible .ipx__text {
1661    transform: translateX(var(--ipx-offset));
1662  }
1663
1664  .ipx:hover .ipx__text::before,
1665  .ipx:focus-visible .ipx__text::before {
1666    opacity: 1;
1667  }
1668
1669  .ipx__label {
1670    font-size: 0.875rem;
1671    line-height: 1.75rem;
1672  }
1673</style> </li><li> <a class="ipx" href="/product/trust-exchange/trust-center" data-event="CTA Clicked" data-e
1673="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Trust Center</span> </span> </a> <style>
1674  .ipx {
1675    --ipx-offset: 1.125rem;
1676    display: inline-block;
1677    position: relative;
1678    padding-right: var(--ipx-offset);
1679    color: var(--text-body);
1680    transition: color 0.2s ease;
1681    cursor: pointer;
1682  }
1683
1684  .ipx:hover,
1685  .ipx:focus-visible {
1686    color: var(--text-headings);
1687  }
1688
1689  .ipx__text {
1690    display: inline-block;
1691    transition: transform 0.2s ease;
1692  }
1693
1694  .ipx__text::before {
1695    content: "";
1696    position: absolute;
1697    left: calc(-1 * var(--ipx-offset));
1698    top: 50%;
1699    width: 0.625rem;
1700    height: 0.625rem;
1701    background-color: currentColor;
1702    opacity: 0;
1703    pointer-events: none;
1704    transform: translateY(-50%);
1705    transition: opacity 0.2s ease;
1706  }
1707
1708  .ipx:hover .ipx__text,
1709  .ipx:focus-visible .ipx__text {
1710    transform: translateX(var(--ipx-offset));
1711  }
1712
1713  .ipx:hover .ipx__text::before,
1714  .ipx:focus-visible .ipx__text::before {
1715    opacity: 1;
1716  }
1717
1718  .ipx__label {
1719    font-size: 0.875rem;
1720    line-height: 1.75rem;
1721  }
1722</style> </li><li> <a class="ipx" href="/product/trust-exchange/paid" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Paid Plan</span> </span> </a> <style>
1723  .ipx {
1724    --ipx-offset: 1.125rem;
1725    display: inline-block;
1726    position: relative;
1727    padding-right: var(--ipx-offset);
1728    color: var(--text-body);
1729    transition: color 0.2s ease;
1730    cursor: pointer;
1731  }
1732
1733  .ipx:hover,
1734  .ipx:focus-visible {
1735    color: var(--text-headings);
1736  }
1737
1738  .ipx__text {
1739    display: inline-block;
1740    transition: transform 0.2s ease;
1741  }
1742
1743  .ipx__text::before {
1744    content: "";
1745    position: absolute;
1746    left: calc(-1 * var(--ipx-offset));
1747    top: 50%;
1748    width: 0.625rem;
1749    height: 0.625rem;
1750    background-color: currentColor;
1751    opacity: 0;
1752    pointer-events: none;
1753    transform: translateY(-50%);
1754    transition: opacity 0.2s ease;
1755  }
1756
1757  .ipx:hover .ipx__text,
1758  .ipx:focus-visible .ipx__text {
1759    transform: translateX(var(--ipx-offset));
1760  }
1761
1762  .ipx:hover .ipx__text::before,
1763  .ipx:focus-visible .ipx__text::before {
1764    opacity: 1;
1765  }
1766
1767  .ipx__label {
1768    font-size: 0.875rem;
1769    line-height: 1.75rem;
1770  }
1771</style> </li> </ul> </div><div class="platform-pv4k__item"> <div class="platform-pv4k__header"> <div class="platform-pv4k__name"> <svg fill="none" height="22" viewBox="0 0 22 22" width="22" focusable="false" aria-hidden="true">
1772  <path d="m15 18.9952h4v-15.9952h-16v4h8v3.9968h-4v3.9984h-4v4h4v-3.9984h4v-3.9984h4z" fill="currentColor"></path>
1773</svg> Risk Automations </div> <p class="platform-pv4k__description">Triage every risk with AI, then resolve it automatically.</p> <a data-event="CTA Clicked" data-e="CTA Clicked" class="platform-pv4k__learn-more" href="/product/risk-automations">
1774Learn more
1775<svg aria-hidden="true" fill="none" focusable="false" height="20" viewBox="0 0 20 20" width="20">
1776  <path d="m4 9h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm-2-2h2v2h-2zm0 4h2v2h-2zm-2 2h2v2h-2zm0-8h2v2h-2z" fill="currentColor" />
1777</svg> </a> </div> <ul class="platform-pv4k__capabilities"> <li> <a class="ipx" href="/product/risk-automations/integrations" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Integrations</span> </span> </a> <style>
1778  .ipx {
1779    --ipx-offset: 1.125rem;
1780    display: inline-block;
1781    position: relative;
1782    padding-right: var(--ipx-offset);
1783    color: var(--text-body);
1784    transition: color 0.2s ease;
1785    cursor: pointer;
1786  }
1787
1788  .ipx:hover,
1789  .ipx:focus-visible {
1790    color: var(--text-headings);
1791  }
1792
1793  .ipx__text {
1794    display: inline-block;
1795    transition: transform 0.2s ease;
1796  }
1797
1798  .ipx__text::before {
1799    content: "";
1800    position: absolute;
1801    left: calc(-1 * var(--ipx-offset));
1802    top: 50%;
1803    width: 0.625rem;
1804    height: 0.625rem;
1805    background-color: currentColor;
1806    opacity: 0;
1807    pointer-events: none;
1808    transform: translateY(-50%);
1809    transition: opacity 0.2s ease;
1810  }
1811
1812  .ipx:hover .ipx__text,
1813  .ipx:focus-visible .ipx__text {
1814    transform: translateX(var(--ipx-offset));
1815  }
1816
1817  .ipx:hover .ipx__text::before,
1818  .ipx:focus-visible .ipx__text::before {
1819    opacity: 1;
1820  }
1821
1822  .ipx__label {
1823    font-size: 0.875rem;
1824    line-height: 1.75rem;
1825  }
1826</style> </li><li> <a class="ipx" href="/product/risk-automations/visibility" data-event="CTA Clicked" data-e
1826="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Visibility</span> </span> </a> <style>
1827  .ipx {
1828    --ipx-offset: 1.125rem;
1829    display: inline-block;
1830    position: relative;
1831    padding-right: var(--ipx-offset);
1832    color: var(--text-body);
1833    transition: color 0.2s ease;
1834    cursor: pointer;
1835  }
1836
1837  .ipx:hover,
1838  .ipx:focus-visible {
1839    color: var(--text-headings);
1840  }
1841
1842  .ipx__text {
1843    display: inline-block;
1844    transition: transform 0.2s ease;
1845  }
1846
1847  .ipx__text::before {
1848    content: "";
1849    position: absolute;
1850    left: calc(-1 * var(--ipx-offset));
1851    top: 50%;
1852    width: 0.625rem;
1853    height: 0.625rem;
1854    background-color: currentColor;
1855    opacity: 0;
1856    pointer-events: none;
1857    transform: translateY(-50%);
1858    transition: opacity 0.2s ease;
1859  }
1860
1861  .ipx:hover .ipx__text,
1862  .ipx:focus-visible .ipx__text {
1863    transform: translateX(var(--ipx-offset));
1864  }
1865
1866  .ipx:hover .ipx__text::before,
1867  .ipx:focus-visible .ipx__text::before {
1868    opacity: 1;
1869  }
1870
1871  .ipx__label {
1872    font-size: 0.875rem;
1873    line-height: 1.75rem;
1874  }
1875</style> </li><li> <a class="ipx" href="/product/risk-automations/resolution" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Resolution</span> </span> </a> <style>
1876  .ipx {
1877    --ipx-offset: 1.125rem;
1878    display: inline-block;
1879    position: relative;
1880    padding-right: var(--ipx-offset);
1881    color: var(--text-body);
1882    transition: color 0.2s ease;
1883    cursor: pointer;
1884  }
1885
1886  .ipx:hover,
1887  .ipx:focus-visible {
1888    color: var(--text-headings);
1889  }
1890
1891  .ipx__text {
1892    display: inline-block;
1893    transition: transform 0.2s ease;
1894  }
1895
1896  .ipx__text::before {
1897    content: "";
1898    position: absolute;
1899    left: calc(-1 * var(--ipx-offset));
1900    top: 50%;
1901    width: 0.625rem;
1902    height: 0.625rem;
1903    background-color: currentColor;
1904    opacity: 0;
1905    pointer-events: none;
1906    transform: translateY(-50%);
1907    transition: opacity 0.2s ease;
1908  }
1909
1910  .ipx:hover .ipx__text,
1911  .ipx:focus-visible .ipx__text {
1912    transform: translateX(var(--ipx-offset));
1913  }
1914
1915  .ipx:hover .ipx__text::before,
1916  .ipx:focus-visible .ipx__text::before {
1917    opacity: 1;
1918  }
1919
1920  .ipx__label {
1921    font-size: 0.875rem;
1922    line-height: 1.75rem;
1923  }
1924</style> </li> </ul> </div> <div class="platform-pv4k__footer"> <div class="footer-links-fl6b"> <div class="footer-links-fl6b__label">Platform</div> <a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/platform"> Platform overview </a><a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/product/reporting"> Reporting </a><a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/services"> Services </a><a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/integrations"> Integrations </a><a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/releases"> Release notes </a><a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/product/security-ratings"> Security ratings </a> </div> <style>
1925  .footer-links-fl6b {
1926    border-top: 1px solid var(--divider);
1927    padding-top: 1.5rem;
1928    padding-bottom: 1.5rem;
1929  }
1930  .footer-links-fl6b__label {
1931    font-size: 0.875rem;
1932    line-height: 1.5rem;
1933    font-weight: 600;
1934    letter-spacing: -0.01em;
1935    color: var(--text-headings);
1936  }
1937  .footer-links-fl6b__link {
1938    font-size: 0.875rem;
1939    line-height: 1.5rem;
1940    color: var(--text-body);
1941    transition: color 0.2s ease;
1942  }
1943  .footer-links-fl6b__link:hover,
1944  .footer-links-fl6b__link:focus-visible {
1945    color: var(--text-headings);
1946  }
1947
1948  /* Mobile styles */
1949  @media screen and (max-width: 991px) {
1950    .footer-links-fl6b {
1951      display: flex;
1952      flex-direction: column;
1953      align-items: end;
1954      gap: 0.5rem;
1955    }
1956  }
1957
1958  /* Desktop styles */
1959  @media screen and (min-width: 992px) {
1960    .footer-links-fl6b {
1961      margin-top: 3rem;
1962      display: flex;
1963      gap: 2.5rem;
1964      justify-content: flex-end;
1965    }
1966    .footer-links-fl6b__label {
1967      margin-right: auto;
1968    }
1969  }
1970</style> </div> </div> <style>
1971  .platform-pv4k {
1972    font-size: 0.875rem;
1973    line-height: 1.5rem;
1974    color: var(--text-body);
1975    display: flex;
1976    flex-direction: column;
1977    gap: 2.4rem;
1978    padding-top: 2.4rem;
1979  }
1980
1981  .platform-pv4k__item {
1982    transition: opacity 0.2s ease;
1983  }
1984  .platform-pv4k:has(.platform-pv4k__item:hover)
1985    .platform-pv4k__item:not(.platform-pv4k__item:hover) {
1986    opacity: 0.25;
1987  }
1988
1989  .platform-pv4k__header {
1990    position: relative;
1991  }
1992
1993  .platform-pv4k__name {
1994    letter-spacing: -0.01em;
1995    display: flex;
1996    flex-direction: column;
1997    align-items: flex-start;
1998    gap: 0.9375rem;
1999    color: var(--text-headings);
2000    font-size: 1rem;
2001    font-weight: 600;
2002  }
2003  .platform-pv4k__name svg {
2004    display: block;
2005    overflow: visible;
2006    width: 1.375rem;
2007    height: 1.375rem;
2008    flex-shrink: 0;
2009  }
2010
2011  .platform-pv4k__description {
2012    margin-top: 1rem;
2013  }
2014
2015  .platform-pv4k__learn-more {
2016    display: inline-block;
2017    color: var(--text-headings);
2018    margin-top: 1rem;
2019  }
2020  .platform-pv4k__learn-more svg {
2021    float: right;
2022    overflow: visible;
2023    width: 1.25rem;
2024    height: 1.25rem;
2025    margin-left: 0.25rem;
2026    position: relative;
2027    top: 0.15rem;
2028    transition: transform 0.2s ease;
2029  }
2030  .platform-pv4k__learn-more::before {
2031    content: "";
2032    position: absolute;
2033    inset: 0;
2034  }
2035  .platform-pv4k__learn-more:hover svg,
2036  .platform-pv4k__learn-more:focus-visible svg {
2037    transform: translateX(0.25rem);
2038  }
2039
2040  .platform-pv4k__capabilities {
2041    padding-top: 1rem;
2042    display: flex;
2043    flex-direction: column;
2044    gap: 0.5rem;
2045    list-style: none;
2046  }
2047
2048  /* Mobile styles */
2049  @media screen and (max-width: 991px) {
2050    .platform-pv4k__capabilities .ipx__text {
2051      transform: translateX(1.125rem);
2052      color: var(--text-headings);
2053    }
2054    .platform-pv4k__capabilities .ipx__text::before {
2055      opacity: 1;
2056    }
2057  }
2058
2059  /* Desktop styles */
2060  @media screen and (min-width: 992px) {
2061    .platform-pv4k {
2062      padding-top: 2rem;
2063      display: grid;
2064      grid-template-columns: repeat(5, 1fr);
2065    }
2066    .platform-pv4k__item {
2067      transition: opacity 0.2s ease;
2068      width: calc(100% + 2 * 1.25rem);
2069      padding-left: calc(0.5 * 1.25rem);
2070      padding-right: calc(0.5 * 1.25rem);
2071      margin-left: calc(-0.5 * 1.25rem);
2072      margin-right: calc(-0.5 * 1.25rem);
2073    }
2074    .platform-pv4k__description {
2075      margin-top: 1rem;
2076    }
2077    .platform-pv4k__header {
2078      min-height: 12.7rem;
2079      display: flex;
2080      flex-direction: column;
2081      margin-bottom: 1rem;
2082    }
2083    .platform-pv4k__learn-more {
2084      margin-top: auto;
2085      align-self: flex-start;
2086    }
2087    .platform-pv4k__capabilities {
2088      border-top: 1px solid var(--divider);
2089    }
2090    .platform-pv4k__footer {
2091      grid-column: span 5;
2092    }
2093  }
2094</style>     </div> </div>  <button type="button" aria-controls="#submenu-solutions" class="nav-fd76__item nav-fd76__item--button nav-fd76__item--solutions"> Solutions <svg aria-hidden="true" width="8" height="5" viewBox="0 0 8 5" fill="none">
2095    <path d="M7 1L4 4L1 1" stroke="currentColor" stroke-width="1.2" stroke-linecap="square" />
2096</svg> </button> <div class="nav-fd76__submenu nav-fd76__item--solutions" hidden="until-found" id="submenu-solutions"> <div class="nav-fd76__submenu--inner">  <div class="solutions-r6s2" data-event-cta-location="main_nav_submenu_solutions" data-e-location="main_nav_submenu_solutions"> <div class="solutions-r6s2__promo"> <aside class="nav-promo-hud63__promo">  <p class="nav-promo-hud63__promo-title">AI Security Center</p> <p class="nav-promo-hud63__promo-description">Your workforce is already using AI. See where it&#39;s moving, set rules people can use, and secure workforce AI in three steps.</p> <a class="nav-promo-hud63__promo-button" href="/solutions/ai-security" data-event="CTA Clicked" data-e="CTA Clicked">Explore the AI Security Center <svg aria-hidden="true" fill="none" focusable="false" height="20" viewBox="0 0 20 20" width="20">
2097  <path d="m4 9h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm-2-2h2v2h-2zm0 4h2v2h-2zm-2 2h2v2h-2zm0-8h2v2h-2z" fill="currentColor" />
2098</svg> </a> </aside> <style>
2099  .nav-promo-hud63__promo {
2100    position: relative;
2101    font-size: 0.875rem;
2102    line-height: 1.5rem;
2103  }
2104  .nav-promo-hud63__image {
2105    display: block;
2106    width: 100%;
2107    height: auto;
2108    object-fit: cover;
2109    margin-bottom: 1.5rem;
2110  }
2111  .nav-promo-hud63__promo-title {
2112    font-size: 1rem;
2113    line-height: 1.4;
2114    letter-spacing: -0.01em;
2115    font-weight: 600;
2116    color: var(--text-headings);
2117    margin-top: 0;
2118    margin-bottom: 0.5rem;
2119  }
2120  .nav-promo-hud63__promo-description {
2121    margin: 0;
2122  }
2123  .nav-promo-hud63__promo-button {
2124    display: inline-block;
2125    color: var(--text-headings);
2126    margin-top: 0.75rem;
2127  }
2128  .nav-promo-hud63__promo-button svg {
2129    float: right;
2130    overflow: visible;
2131    width: 1.25rem;
2132    height: 1.25rem;
2133    margin-left: 0.25rem;
2134    position: relative;
2135    top: 0.15rem;
2136    transition: transform 0.2s ease;
2137  }
2138  .nav-promo-hud63__promo-button::before {
2139    content: "";
2140    position: absolute;
2141    inset: 0;
2142  }
2143  .nav-promo-hud63__promo-button:hover svg,
2144  .nav-promo-hud63__promo-button:focus-visible svg {
2145    transform: translateX(0.25rem);
2146  }
2147</style> </div> <div class="solutions-r6s2__spacer"></div><!-- Spacer --> <div class="solutions-r6s2__industries"> <div class="link-grid-lg9x"> <div class="link-grid-lg9x__heading">Industries</div> <ul class="link-grid-lg9x__list" style="--columns: 2; --rows: 2"> <li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="link-grid-lg9x__link" href="/industries/education"> <span class="link-grid-lg9x__icon"> <svg width="16" height="16" fill="none" viewBox="0 0 16 16" overflow="visible" focusable="false" aria-hidden="true"><path fill="currentColor" d="M12 5H6v13H4v-6H2v6H0v-6h-2V3h14zm6 7H7v-2h9V0H7v-2h11zM5 2H1v-4h4z" /></svg> </span> <span class="link-grid-lg9x__name">Education</span> <span class="link-grid-lg9x__description"> Give higher education security teams continuous, automated vendor risk visibility. </span> </a> </li><li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="link-grid-lg9x__link" href="/industries/financial-services"> <span class="link-grid-lg9x__icon"> <svg fill="none" viewBox="0 0 16 16" overflow="visible" aria-hidden="true" focusable="false">
2148  <g fill="currentColor" transform="translate(-2 -2)">
2149    <rect x="0" y="6" width="2" height="2" />
2150    <rect x="0" y="4" width="2" height="2" />
2151    <rect x="2" y="8" width="2" height="6" />
2152    <rect x="0" y="16" width="2" height="2" />
2153    <rect x="0" y="18" width="20" height="2" />
2154    <rect x="2" y="14" width="16" height="2" />
2155    <rect x="16" y="8" width="2" height="6" />
2156    <rect x="6" y="8" width="2" height="6" />
2157    <rect x="18" y="16" width="2" height="2" />
2158    <rect x="12" y="8" width="2" height="6" />
2159    <rect x="2" y="2" width="4" height="2" />
2160    <rect x="8" y="0" width="4" height="2" />
2161    <rect x="2" y="6" width="16" height="2" />
2162    <rect x="14" y="2" width="4" height="2" />
2163    <rect x="18" y="4" width="2" height="2" />
2164    <rect x="18" y="6" width="2" height="2" />
2165    <rect x="6" y="1" width="2" height="2" />
2166    <rect x="12" y="1" width="2" height="2" />
2167  </g>
2168</svg> </span> <span class="link-grid-lg9x__name">Financial Services</span> <span class="link-grid-lg9x__description"> How UpGuard helps financial services companies secure customer data. </span> </a> </li><li>
2168 <a data-event="CTA Clicked" data-e="CTA Clicked" class="link-grid-lg9x__link" href="/industries/technology"> <span class="link-grid-lg9x__icon"> <svg fill="none" viewBox="0 0 16 16" overflow="visible" aria-hidden="true" focusable="false">
2169  <g fill="currentColor" transform="translate(-2 -2)">
2170    <path d="M5 12H8V15H15V8H12V0H20V8H17V17H8V20H0V12H3V0H5V12ZM2 18H6V14H2V18ZM14 2V6H18V2H14Z" />
2171  </g>
2172</svg> </span> <span class="link-grid-lg9x__name">Technology</span> <span class="link-grid-lg9x__description"> How UpGuard helps tech companies scale securely. </span> </a> </li><li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="link-grid-lg9x__link" href="/industries/healthcare"> <span class="link-grid-lg9x__icon"> <svg fill="none" viewBox="0 0 16 16" overflow="visible" aria-hidden="true" focusable="false">
2173  <g fill="currentColor" transform="translate(-2 -2)">
2174    <path d="M14 4H20V20H0V0H14V4ZM2 18H4V16H10V18H12V2H2V18ZM14 8H16V10H14V12H16V14H14V16H16V18H18V6H14V8ZM6 14H4V12H6V14ZM10 14H8V12H10V14Z" />
2175    <rect x="6" y="4" width="2" height="2" />
2176    <rect x="4" y="6" width="2" height="2" />
2177    <rect x="6" y="6" width="2" height="2" />
2178    <rect x="8" y="6" width="2" height="2" />
2179    <rect x="6" y="8" width="2" height="2" />
2180  </g>
2181</svg> </span> <span class="link-grid-lg9x__name">Healthcare</span> <span class="link-grid-lg9x__description"> Control third-party vendor risk and improve your cyber security posture. </span> </a> </li> </ul> </div> <style>
2182  .link-grid-lg9x__heading {
2183    font-size: 1rem;
2184    font-weight: 600;
2185    color: var(--text-headings);
2186  }
2187  .link-grid-lg9x__list {
2188    list-style: none;
2189    padding: 0;
2190    margin: 0;
2191    display: flex;
2192    flex-direction: column;
2193    gap: var(--gap);
2194    padding-top: 1.5rem;
2195  }
2196  .link-grid-lg9x__link {
2197    display: block;
2198    position: relative;
2199    padding-left: 2.25rem;
2200    transition: opacity 0.2s ease;
2201  }
2202  .link-grid-lg9x__list:has(.link-grid-lg9x__link:hover)
2203    .link-grid-lg9x__link:not(.link-grid-lg9x__link:hover),
2204  .link-grid-lg9x__list:has(.link-grid-lg9x__link:focus-visible)
2205    .link-grid-lg9x__link:not(.link-grid-lg9x__link:focus-visible) {
2206    opacity: 0.25;
2207  }
2208  .link-grid-lg9x__icon {
2209    position: absolute;
2210    top: 0.125rem;
2211    left: 0.125rem;
2212    width: 1.25rem;
2213    height: 1.25rem;
2214    color: var(--text-headings);
2215  }
2216  .link-grid-lg9x__icon svg {
2217    display: block;
2218    overflow: visible;
2219    width: 1rem;
2220    height: 1rem;
2221  }
2222  .link-grid-lg9x__name {
2223    display: block;
2224    font-size: 1rem;
2225    letter-spacing: -0.01em;
2226    color: var(--text-headings);
2227    margin-bottom: 0.5rem;
2228  }
2229  .link-grid-lg9x__description {
2230    display: block;
2231    max-width: 19em;
2232    font-size: 0.875rem;
2233    line-height: 1.375rem;
2234  }
2235
2236  /* Desktop styles */
2237  @media screen and (min-width: 992px) {
2238    .link-grid-lg9x__heading {
2239      padding-bottom: 0.75rem;
2240      border-bottom: 1px solid var(--divider);
2241    }
2242    .link-grid-lg9x__list {
2243      padding-top: 2rem;
2244      display: grid;
2245      grid-auto-flow: column;
2246      grid-template-columns: repeat(var(--columns), 1fr);
2247      grid-template-rows: repeat(var(--rows), auto);
2248      column-gap: var(--gap);
2249      row-gap: 3.25rem;
2250    }
2251    .link-grid-lg9x__name {
2252      margin-bottom: 0.5rem;
2253    }
2254    .link-grid-lg9x__link {
2255      padding: 0.75rem;
2256      padding-left: 3rem;
2257      margin: -0.75rem;
2258    }
2259    .link-grid-lg9x__icon {
2260      top: 0.875rem;
2261      left: 0.875rem;
2262    }
2263  }
2264</style> </div> </div> <style>
2265  .solutions-r6s2 {
2266    font-size: 0.875rem;
2267    line-height: 1.5rem;
2268    color: var(--text-body);
2269    display: flex;
2270    flex-direction: column;
2271    padding-top: 2.4rem;
2272    padding-bottom: 2.4rem;
2273    gap: 3.2rem;
2274  }
2275
2276  /* Mobile only styles */
2277  @media screen and (max-width: 991px) {
2278    .solutions-r6s2__promo {
2279      order: 999;
2280      max-width: 35rem;
2281    }
2282    .solutions-r6s2__spacer {
2283      display: none;
2284    }
2285  }
2286
2287  /* Desktop only styles */
2288  @media screen and (min-width: 992px) {
2289    .solutions-r6s2 {
2290      display: grid;
2291      grid-template-columns: repeat(12, 1fr);
2292      gap: var(--gap);
2293      padding-top: 2rem;
2294      padding-bottom: 4rem;
2295    }
2296    .solutions-r6s2__promo {
2297      grid-column: 1 / 4;
2298    }
2299    .solutions-r6s2__spacer {
2300      grid-column: 4;
2301    }
2302    .solutions-r6s2__industries {
2303      grid-column: 5 / -1;
2304    }
2305  }
2306</style>    </div> </div>
2306 <a data-event="CTA Clicked" data-e="CTA Clicked" class="nav-fd76__item nav-fd76__item--pricing" href="/pricing"> Pricing </a> <button type="button" aria-controls="#submenu-resources" class="nav-fd76__item nav-fd76__item--button nav-fd76__item--resources"> Resources <svg aria-hidden="true" width="8" height="5" viewBox="0 0 8 5" fill="none">
2307    <path d="M7 1L4 4L1 1" stroke="currentColor" stroke-width="1.2" stroke-linecap="square" />
2308</svg> </button> <div class="nav-fd76__submenu nav-fd76__item--resources" hidden="until-found" id="submenu-resources"> <div class="nav-fd76__submenu--inner">   <div class="resources-df78" data-event-cta-location="main_nav_submenu_resources" data-e-location="main_nav_submenu_resources"> <div class="resources-df78__promo"> <aside class="nav-promo-hud63__promo">  <p class="nav-promo-hud63__promo-title">Third-Party Risk Management</p> <p class="nav-promo-hud63__promo-description">Everything you need to build and scale a third-party risk management program, organized by the challenge you&#39;re facing and the program area you&#39;re working in.</p> <a class="nav-promo-hud63__promo-button" href="/tprm" data-event="CTA Clicked" data-e="CTA Clicked">Explore the hub <svg aria-hidden="true" fill="none" focusable="false" height="20" viewBox="0 0 20 20" width="20">
2309  <path d="m4 9h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm-2-2h2v2h-2zm0 4h2v2h-2zm-2 2h2v2h-2zm0-8h2v2h-2z" fill="currentColor" />
2310</svg> </a> </aside> <style>
2311  .nav-promo-hud63__promo {
2312    position: relative;
2313    font-size: 0.875rem;
2314    line-height: 1.5rem;
2315  }
2316  .nav-promo-hud63__image {
2317    display: block;
2318    width: 100%;
2319    height: auto;
2320    object-fit: cover;
2321    margin-bottom: 1.5rem;
2322  }
2323  .nav-promo-hud63__promo-title {
2324    font-size: 1rem;
2325    line-height: 1.4;
2326    letter-spacing: -0.01em;
2327    font-weight: 600;
2328    color: var(--text-headings);
2329    margin-top: 0;
2330    margin-bottom: 0.5rem;
2331  }
2332  .nav-promo-hud63__promo-description {
2333    margin: 0;
2334  }
2335  .nav-promo-hud63__promo-button {
2336    display: inline-block;
2337    color: var(--text-headings);
2338    margin-top: 0.75rem;
2339  }
2340  .nav-promo-hud63__promo-button svg {
2341    float: right;
2342    overflow: visible;
2343    width: 1.25rem;
2344    height: 1.25rem;
2345    margin-left: 0.25rem;
2346    position: relative;
2347    top: 0.15rem;
2348    transition: transform 0.2s ease;
2349  }
2350  .nav-promo-hud63__promo-button::before {
2351    content: "";
2352    position: absolute;
2353    inset: 0;
2354  }
2355  .nav-promo-hud63__promo-button:hover svg,
2356  .nav-promo-hud63__promo-button:focus-visible svg {
2357    transform: translateX(0.25rem);
2358  }
2359</style> </div> <div class="resources-df78__spacer"></div><!-- Spacer --> <div class="resources-df78__areas"> <div class="link-grid-lg9x"> <div class="link-grid-lg9x__heading">Learn</div> <ul class="link-grid-lg9x__list" style="--columns: 2; --rows: 3"> <li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="link-grid-lg9x__link" href="/resources"> <span class="link-grid-lg9x__icon"> <svg fill="none" viewBox="0 0 16 16" overflow="visible" aria-hidden="true" focusable="false">
2360  <g fill="currentColor" transform="translate(-3 -2)">
2361    <path d="M10 3H2V15H10V3H12V15H20V3H12V1H22V17H12V19H10V17H0V1H10V3ZM16 13H14V11H16V13ZM18 10H14V8H18V10ZM18 7H14V5H18V7Z" />
2362  </g>
2363</svg> </span> <span class="link-grid-lg9x__name">eBooks, Reports &amp; more</span> <span class="link-grid-lg9x__description"> Insights on cybersecurity and vendor risk management. </span> </a> </li><li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="link-grid-lg9x__link" href="/blog"> <span class="link-grid-lg9x__icon"> <svg fill="none" viewBox="0 0 16 16" overflow="visible" aria-hidden="true" focusable="false">
2364  <g fill="currentColor" transform="translate(-2 -2)">
2365    <path d="M19 20H1V0H19V20ZM3 18H17V2H3V18ZM15 8V16H5V8H15ZM11 6H5V4H11V6Z" />
2366  </g>
2367</svg> </span> <span class="link-grid-lg9x__name">Blog</span> <span class="link-grid-lg9x__description"> Learn about the latest issues in cyber security and how they affect you. </span> </a> </li><li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="link-grid-lg9x__link" href="/breaches"> <span class="link-grid-lg9x__icon"> <svg fill="none" viewBox="0 0 16 16" overflow="visible" aria-hidden="true" focusable="false">
2368  <g fill="currentColor" transform="translate(-4 -4)">
2369    <path d="M13 23h-2v-2h2v2Zm-2-2H9v-2h2v2Zm4 0h-2v-2h2v2Zm-6-2H7v-2h2v2Zm8 0h-2v-2h2v2ZM7 17H5v-2h2v2Zm6 0h-2v-2h2v2Zm6 0h-2v-2h2v2ZM5 15H3v-2h2v2Zm16 0h-2v-2h2v2ZM3 13H1v-2h2v2Zm10 0h-2V7h2v6Zm10 0h-2v-2h2v2ZM5 11H3V9h2v2Zm16 0h-2V9h2v2ZM7 9H5V7h2v2Zm12 0h-2V7h2v2ZM9 7H7V5h2v2Zm8 0h-2V5h2v2Zm-6-2H9V3h2v2Zm4 0h-2V3h2v2Zm-2-2h-2V1h2v2Z" />
2370  </g>
2371</svg> </span> <span class="link-grid-lg9x__name">Breaches</span> <span class="link-grid-lg9x__description"> Stay up to date with security research and global news about data breaches. </span> </a> </li><li>
2371 <a data-event="CTA Clicked" data-e="CTA Clicked" class="link-grid-lg9x__link" href="/glossary"> <span class="link-grid-lg9x__icon"> <svg fill="none" viewBox="0 0 16 16" overflow="visible" aria-hidden="true" focusable="false">
2372  <g fill="currentColor" transform="translate(-2 -2)">
2373    <path d="M11 20H9V18H11V20ZM9 18H7V16H9V18ZM13 18H11V16H13V18ZM6 14H4V12H2V14H0V6H6V14ZM14 14H8V6H14V14ZM20 8H18V12H20V14H16V6H20V8ZM10 12H12V11H10V12ZM2 10H4V8H2V10ZM10 9H12V8H10V9ZM9 4H7V2H9V4ZM13 4H11V2H13V4ZM11 2H9V0H11V2Z" />
2374  </g>
2375</svg> </span> <span class="link-grid-lg9x__name">Glossary</span> <span class="link-grid-lg9x__description"> Plain-English definitions for common cyber security terms. </span> </a> </li><li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="link-grid-lg9x__link" href="/events"> <span class="link-grid-lg9x__icon"> <svg overflow="visible" aria-hidden="true" focusable="false" fill="none" viewBox="0 0 16 16">
2376  <g>
2377    <path fill="currentColor" d="M5 0h6v-2h2v2h4v18H-1V0h4v-2h2zM1 16h14V6H1zm4-2H3v-2h2zm4 0H7v-2h2zm4 0h-2v-2h2zm-8-4H3V8h2zm4 0H7V8h2zm4 0h-2V8h2zM1 4h14V2H1z" />
2378  </g>
2379  
2380</svg> </span> <span class="link-grid-lg9x__name">Events</span> <span class="link-grid-lg9x__description"> Expand your network with UpGuard Summit, webinars &amp; exclusive events. </span> </a> </li> </ul> </div> <style>
2381  .link-grid-lg9x__heading {
2382    font-size: 1rem;
2383    font-weight: 600;
2384    color: var(--text-headings);
2385  }
2386  .link-grid-lg9x__list {
2387    list-style: none;
2388    padding: 0;
2389    margin: 0;
2390    display: flex;
2391    flex-direction: column;
2392    gap: var(--gap);
2393    padding-top: 1.5rem;
2394  }
2395  .link-grid-lg9x__link {
2396    display: block;
2397    position: relative;
2398    padding-left: 2.25rem;
2399    transition: opacity 0.2s ease;
2400  }
2401  .link-grid-lg9x__list:has(.link-grid-lg9x__link:hover)
2402    .link-grid-lg9x__link:not(.link-grid-lg9x__link:hover),
2403  .link-grid-lg9x__list:has(.link-grid-lg9x__link:focus-visible)
2404    .link-grid-lg9x__link:not(.link-grid-lg9x__link:focus-visible) {
2405    opacity: 0.25;
2406  }
2407  .link-grid-lg9x__icon {
2408    position: absolute;
2409    top: 0.125rem;
2410    left: 0.125rem;
2411    width: 1.25rem;
2412    height: 1.25rem;
2413    color: var(--text-headings);
2414  }
2415  .link-grid-lg9x__icon svg {
2416    display: block;
2417    overflow: visible;
2418    width: 1rem;
2419    height: 1rem;
2420  }
2421  .link-grid-lg9x__name {
2422    display: block;
2423    font-size: 1rem;
2424    letter-spacing: -0.01em;
2425    color: var(--text-headings);
2426    margin-bottom: 0.5rem;
2427  }
2428  .link-grid-lg9x__description {
2429    display: block;
2430    max-width: 19em;
2431    font-size: 0.875rem;
2432    line-height: 1.375rem;
2433  }
2434
2435  /* Desktop styles */
2436  @media screen and (min-width: 992px) {
2437    .link-grid-lg9x__heading {
2438      padding-bottom: 0.75rem;
2439      border-bottom: 1px solid var(--divider);
2440    }
2441    .link-grid-lg9x__list {
2442      padding-top: 2rem;
2443      display: grid;
2444      grid-auto-flow: column;
2445      grid-template-columns: repeat(var(--columns), 1fr);
2446      grid-template-rows: repeat(var(--rows), auto);
2447      column-gap: var(--gap);
2448      row-gap: 3.25rem;
2449    }
2450    .link-grid-lg9x__name {
2451      margin-bottom: 0.5rem;
2452    }
2453    .link-grid-lg9x__link {
2454      padding: 0.75rem;
2455      padding-left: 3rem;
2456      margin: -0.75rem;
2457    }
2458    .link-grid-lg9x__icon {
2459      top: 0.875rem;
2460      left: 0.875rem;
2461    }
2462  }
2463</style> </div> <div class="resources-df78__footer"> <div class="footer-links-fl6b"> <div class="footer-links-fl6b__label">Compliance</div> <a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/compliance/iso-27001"> ISO 27001 </a><a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/compliance/nist-cybersecurity-framework"> NIST CSF </a><a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/compliance/nist-sp-800-53"> NIST 800 </a><a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/compliance/sig-questionnaire"> SIG Lite </a><a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/compliance/apra-cps-230-and-third-party-compliance"> APRA CPS 230 </a>
2463<a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/compliance/dpdp-questionnaire"> DPDP </a><a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/compliance/multi-framework-questionnaire"> UpGuard MFQ </a><a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/compliance/dora-questionnaire"> DORA </a><a data-event="CTA Clicked" data-e="CTA Clicked" class="footer-links-fl6b__link" href="/compliance/sig-core-questionnaire"> SIG Core </a> </div> <style>
2464  .footer-links-fl6b {
2465    border-top: 1px solid var(--divider);
2466    padding-top: 1.5rem;
2467    padding-bottom: 1.5rem;
2468  }
2469  .footer-links-fl6b__label {
2470    font-size: 0.875rem;
2471    line-height: 1.5rem;
2472    font-weight: 600;
2473    letter-spacing: -0.01em;
2474    color: var(--text-headings);
2475  }
2476  .footer-links-fl6b__link {
2477    font-size: 0.875rem;
2478    line-height: 1.5rem;
2479    color: var(--text-body);
2480    transition: color 0.2s ease;
2481  }
2482  .footer-links-fl6b__link:hover,
2483  .footer-links-fl6b__link:focus-visible {
2484    color: var(--text-headings);
2485  }
2486
2487  /* Mobile styles */
2488  @media screen and (max-width: 991px) {
2489    .footer-links-fl6b {
2490      display: flex;
2491      flex-direction: column;
2492      align-items: end;
2493      gap: 0.5rem;
2494    }
2495  }
2496
2497  /* Desktop styles */
2498  @media screen and (min-width: 992px) {
2499    .footer-links-fl6b {
2500      margin-top: 3rem;
2501      display: flex;
2502      gap: 2.5rem;
2503      justify-content: flex-end;
2504    }
2505    .footer-links-fl6b__label {
2506      margin-right: auto;
2507    }
2508  }
2509</style> </div> </div> <style>
2510  .resources-df78 {
2511    font-size: 0.875rem;
2512    line-height: 1.5rem;
2513    color: var(--text-body);
2514    display: flex;
2515    flex-direction: column;
2516    padding-top: 2.4rem;
2517    padding-bottom: 2.4rem;
2518    gap: 3.2rem;
2519  }
2520
2521  /* Mobile only styles */
2522  @media screen and (max-width: 991px) {
2523    .resources-df78__promo {
2524      order: 999;
2525      max-width: 35rem;
2526    }
2527    .resources-df78__spacer {
2528      display: none;
2529    }
2530  }
2531
2532  /* Desktop only styles */
2533  @media screen and (min-width: 992px) {
2534    .resources-df78 {
2535      display: grid;
2536      grid-template-columns: repeat(12, 1fr);
2537      gap: var(--gap);
2538      padding-top: 2rem;
2539      padding-bottom: 0;
2540    }
2541    .resources-df78__promo {
2542      grid-column: 1 / 4;
2543    }
2544    .resources-df78__spacer {
2545      grid-column: 4;
2546    }
2547    .resources-df78__areas {
2548      grid-column: 5 / -1;
2549    }
2550    .resources-df78__footer {
2551      margin-top: 4rem;
2552      grid-column: 1 / -1;
2553    }
2554  }
2555</style>   </div> </div>  <button type="button" aria-controls="#submenu-tools" class="nav-fd76__item nav-fd76__item--button nav-fd76__item--tools"> Tools <svg aria-hidden="true" width="8" height="5" viewBox="0 0 8 5" fill="none">
2556    <path d="M7 1L4 4L1 1" stroke="currentColor" stroke-width="1.2" stroke-linecap="square" />
2557</svg> </button> <div class="nav-fd76__submenu nav-fd76__item--tools" hidden="until-found" id="submenu-tools"> <div class="nav-fd76__submenu--inner">    <div class="tools-tl8m" data-event-cta-location="main_nav_submenu_tools" data-e-location="main_nav_submenu_tools"> <div class="tools-tl8m__promo"> <aside class="nav-promo-hud63__promo"> <img class="nav-promo-hud63__image" src="/_astro/ai-policy-generator.D5akkS-F.jpg" width="672" height="480" alt=""> <p class="nav-promo-hud63__promo-title">AI Policy Generator</p> <p class="nav-promo-hud63__promo-description">Build a free AI policy, checklist, and rollout guide for your team.</p> <a class="nav-promo-hud63__promo-button" href="/tools/ai-policy-generator" data-event="CTA Clicked" data-e="CTA Clicked">Generate your AI policy <svg aria-hidden="true" fill="none" focusable="false" height="20" viewBox="0 0 20 20" width="20">
2558  <path d="m4 9h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm-2-2h2v2h-2zm0 4h2v2h-2zm-2 2h2v2h-2zm0-8h2v2h-2z" fill="currentColor" />
2559</svg> </a> </aside> <style>
2560  .nav-promo-hud63__promo {
2561    position: relative;
2562    font-size: 0.875rem;
2563    line-height: 1.5rem;
2564  }
2565  .nav-promo-hud63__image {
2566    display: block;
2567    width: 100%;
2568    height: auto;
2569    object-fit: cover;
2570    margin-bottom: 1.5rem;
2571  }
2572  .nav-promo-hud63__promo-title {
2573    font-size: 1rem;
2574    line-height: 1.4;
2575    letter-spacing: -0.01em;
2576    font-weight: 600;
2577    color: var(--text-headings);
2578    margin-top: 0;
2579    margin-bottom: 0.5rem;
2580  }
2581  .nav-promo-hud63__promo-description {
2582    margin: 0;
2583  }
2584  .nav-promo-hud63__promo-button {
2585    display: inline-block;
2586    color: var(--text-headings);
2587    margin-top: 0.75rem;
2588  }
2589  .nav-promo-hud63__promo-button svg {
2590    float: right;
2591    overflow: visible;
2592    width: 1.25rem;
2593    height: 1.25rem;
2594    margin-left: 0.25rem;
2595    position: relative;
2596    top: 0.15rem;
2597    transition: transform 0.2s ease;
2598  }
2599  .nav-promo-hud63__promo-button::before {
2600    content: "";
2601    position: absolute;
2602    inset: 0;
2603  }
2604  .nav-promo-hud63__promo-button:hover svg,
2605  .nav-promo-hud63__promo-button:focus-visible svg {
2606    transform: translateX(0.25rem);
2607  }
2608</style> </div> <div class="tools-tl8m__spacer"></div><!-- Spacer --> <div class="tools-tl8m__list"> <div class="link-grid-lg9x"> <div class="link-grid-lg9x__heading">Tools</div> <ul class="link-grid-lg9x__list" style="--columns: 2; --rows: 3"> <li>
2608 <a data-event="CTA Clicked" data-e="CTA Clicked" class="link-grid-lg9x__link" href="/instant-security-score"> <span class="link-grid-lg9x__icon"> <svg fill="none" viewBox="0 0 16 16" overflow="visible" aria-hidden="true" focusable="false">
2609  <g fill="currentColor" transform="translate(-2 -2)">
2610    <path fill-rule="evenodd" d="M1 0H11V2H19V16H9V14H3V20H1V0ZM3 12H11V14H17V4H9V2H3V12Z" />
2611  </g>
2612</svg> </span> <span class="link-grid-lg9x__name">Instant Security Score</span> <span class="link-grid-lg9x__description"> See your A-F grade in seconds - instant, free, no signup. </span> </a> </li><li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="link-grid-lg9x__link" href="/webscan"> <span class="link-grid-lg9x__icon"> <svg fill="none" viewBox="0 0 16 16" overflow="visible" aria-hidden="true" focusable="false">
2613  <g fill="currentColor" transform="translate(-4 -4)">
2614    <path d="M0 0H2V2H0V0Z" />
2615    <path d="M2 2H4V4H2V2Z" />
2616    <path d="M20 2H22V4H20V2Z" />
2617    <path d="M22 0H24V2H22V0Z" />
2618    <path d="M2 20H4V22H2V20Z" />
2619    <path d="M0 22H2V24H0V22Z" />
2620    <path d="M20 20H22V22H20V20Z" />
2621    <path d="M22 22H24V24H22V22Z" />
2622    <path d="M8 17H16V19H8V17Z" />
2623    <path d="M16 15H20V17H16V15Z" />
2624    <path d="M8 15H4V17H8V15Z" />
2625    <path d="M16 7H20V9H16V7Z" />
2626    <path d="M8 7H4V9H8V7Z" />
2627    <path d="M20 9H22V11H20V9Z" />
2628    <path d="M4 9H2V11H4V9Z" />
2629    <path d="M22 11H24V13H22V11Z" />
2630    <path d="M2 11H0V13H2V11Z" />
2631    <path d="M20 13H22V15H20V13Z" />
2632    <path d="M4 13H2V15H4V13Z" />
2633    <path d="M8 5H16V7H8V5Z" />
2634    <path d="M10 10H14V14H10V10Z" />
2635  </g>
2636</svg> </span> <span class="link-grid-lg9x__name">Website scanner</span> <span class="link-grid-lg9x__description"> Scan any website for exposed risks in seconds. </span> </a> </li><li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="link-grid-lg9x__link" href="/tools/dark-web-scan"> <span class="link-grid-lg9x__icon"> <svg width="16" height="16" fill="none" viewBox="0 0 16 16" overflow="visible" aria-hidden="true" focusable="false"><path fill="currentColor" d="M-2 6h2v2h-2ZM0 4h2v2h-2ZM0 2h2v2h-2ZM2 0h2v2h-2ZM4 -2h2v2h-2ZM6 -2h2v2h-2ZM8 -2h2v2h-2ZM10 -2h2v2h-2ZM12 0h2v2h-2ZM14 2h2v2h-2ZM14 4h2v2h-2ZM16 6h2v2h-2ZM18 8h2v2h-2ZM16 10h2v2h-2ZM14 12h2v2h-2ZM16 14h2v2h-2ZM16 16h2v2h-2ZM14 16h2v2h-2ZM12 16h2v2h-2ZM10 16h2v2h-2ZM8 16h2v2h-2ZM6 16h2v2h-2ZM4 16h2v2h-2ZM2 14h2v2h-2ZM0 12h2v2h-2ZM-2 10h2v2h-2ZM-4 8h2v2h-2ZM5 4h2v2h-2ZM9 4h2v2h-2ZM7 7h2v2h-2ZM7 9h2v2h-2ZM18 16h2v2h-2Z" /></svg> </span> <span class="link-grid-lg9x__name">Dark Web Scan</span> <span class="link-grid-lg9x__description"> See how exposed you are on the dark web. </span> </a> </li><li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="link-grid-lg9x__link" href="/security-report"> <span class="link-grid-lg9x__icon"> <svg fill="none" viewBox="0 0 16 16" overflow="visible" aria-hidden="true" focusable="false">
2637  <g fill="currentColor" transform="translate(-3 -2)">
2638    <path d="M22 20H4V18H20V4H22V20ZM18 16H0V0H18V16ZM2 14H16V2H2V14ZM6 12H4V6H6V12ZM10 12H8V4H10V12ZM14 12H12V8H14V12Z" />
2639  </g>
2640</svg> </span> <span class="link-grid-lg9x__name">Security Reports</span> <span class="link-grid-lg9x__description"> Thousands of vendor security reports. </span> </a> </li><li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="link-grid-lg9x__link" href="/templates"> <span class="link-grid-lg9x__icon"> <svg fill="none" viewBox="0 0 16 16" overflow="visible" aria-hidden="true" focusable="false">
2641  <g fill="currentColor" transform="translate(-2 -2)">
2642    <path d="M3 18H15V20H1V4H3V18ZM13 0V2H15V4H13V6H15V4H17V6H19V16H5V0H13ZM7 2V14H17V8H11V2H7Z" />
2643  </g>
2644</svg> </span> <span class="link-grid-lg9x__name">Templates</span> <span class="link-grid-lg9x__description"> Free templates to jumpstart your risk and compliance programs. </span> </a> </li> </ul> </div> <style>
2645  .link-grid-lg9x__heading {
2646    font-size: 1rem;
2647    font-weight: 600;
2648    color: var(--text-headings);
2649  }
2650  .link-grid-lg9x__list {
2651    list-style: none;
2652    padding: 0;
2653    margin: 0;
2654    display: flex;
2655    flex-direction: column;
2656    gap: var(--gap);
2657    padding-top: 1.5rem;
2658  }
2659  .link-grid-lg9x__link {
2660    display: block;
2661    position: relative;
2662    padding-left: 2.25rem;
2663    transition: opacity 0.2s ease;
2664  }
2665  .link-grid-lg9x__list:has(.link-grid-lg9x__link:hover)
2666    .link-grid-lg9x__link:not(.link-grid-lg9x__link:hover),
2667  .link-grid-lg9x__list:has(.link-grid-lg9x__link:focus-visible)
2668    .link-grid-lg9x__link:not(.link-grid-lg9x__link:focus-visible) {
2669    opacity: 0.25;
2670  }
2671  .link-grid-lg9x__icon {
2672    position: absolute;
2673    top: 0.125rem;
2674    left: 0.125rem;
2675    width: 1.25rem;
2676    height: 1.25rem;
2677    color: var(--text-headings);
2678  }
2679  .link-grid-lg9x__icon svg {
2680    display: block;
2681    overflow: visible;
2682    width: 1rem;
2683    height: 1rem;
2684  }
2685  .link-grid-lg9x__name {
2686    display: block;
2687    font-size: 1rem;
2688    letter-spacing: -0.01em;
2689    color: var(--text-headings);
2690    margin-bottom: 0.5rem;
2691  }
2692  .link-grid-lg9x__description {
2693    display: block;
2694    max-width: 19em;
2695    font-size: 0.875rem;
2696    line-height: 1.375rem;
2697  }
2698
2699  /* Desktop styles */
2700  @media screen and (min-width: 992px) {
2701    .link-grid-lg9x__heading {
2702      padding-bottom: 0.75rem;
2703      border-bottom: 1px solid var(--divider);
2704    }
2705    .link-grid-lg9x__list {
2706      padding-top: 2rem;
2707      display: grid;
2708      grid-auto-flow: column;
2709      grid-template-columns: repeat(var(--columns), 1fr);
2710      grid-template-rows: repeat(var(--rows), auto);
2711      column-gap: var(--gap);
2712      row-gap: 3.25rem;
2713    }
2714    .link-grid-lg9x__name {
2715      margin-bottom: 0.5rem;
2716    }
2717    .link-grid-lg9x__link {
2718      padding: 0.75rem;
2719      padding-left: 3rem;
2720      margin: -0.75rem;
2721    }
2722    .link-grid-lg9x__icon {
2723      top: 0.875rem;
2724      left: 0.875rem;
2725    }
2726  }
2727</style> </div> </div> <style>
2728  .tools-tl8m {
2729    font-size: 0.875rem;
2730    line-height: 1.5rem;
2731    color: var(--text-body);
2732    display: flex;
2733    flex-direction: column;
2734    padding-top: 2.4rem;
2735    padding-bottom: 2.4rem;
2736    gap: 3.2rem;
2737  }
2738
2739  /* Mobile only styles */
2740  @media screen and (max-width: 991px) {
2741    .tools-tl8m__promo {
2742      order: 999;
2743      max-width: 35rem;
2744    }
2745    .tools-tl8m__spacer {
2746      display: none;
2747    }
2748  }
2749
2750  /* Desktop only styles */
2751  @media screen and (min-width: 992px) {
2752    .tools-tl8m {
2753      display: grid;
2754      grid-template-columns: repeat(12, 1fr);
2755      gap: var(--gap);
2756      padding-top: 2rem;
2757      padding-bottom: 4rem;
2758    }
2759    .tools-tl8m__promo {
2760      grid-column: 1 / 4;
2761    }
2762    .tools-tl8m__spacer {
2763      grid-column: 4;
2764    }
2765    .tools-tl8m__list {
2766      grid-column: 5 / -1;
2767    }
2768  }
2769</style>  </div> </div> <a data-event="CTA Clicked" data-e="CTA Clicked" class="nav-fd76__item nav-fd76__item--customers" href="/customers"> Customers </a> <button type="button" aria-controls="#submenu-company" class="nav-fd76__item nav-fd76__item--button nav-fd76__item--company"> Company <svg aria-hidden="true" width="8" height="5" viewBox="0 0 8 5" fill="none">
2770    <path d="M7 1L4 4L1 1" stroke="currentColor" stroke-width="1.2" stroke-linecap="square" />
2771</svg> </button> <div class="nav-fd76__submenu nav-fd76__item--company" hidden="until-found" id="submenu-company"> <div class="nav-fd76__submenu--inner">     <div class="company-cq2v" data-event-cta-location="main_nav_submenu_company" data-e-location="main_nav_submenu_company"> <div class="company-cq2v__promo"> <aside class="nav-promo-hud63__promo"> <img class="nav-promo-hud63__image" src="https://cdn.prod.website-files.com/5efbe6918a9cfd65bb1608f9/6a0f96ed7313b1868847c9ae_UpGuard-Summit-Web-Nav-Banner-pre.png" width="2400" height="1252" alt=""> <p class="nav-promo-hud63__promo-title">Prove Once. Defend Everywhere.</p> <p class="nav-promo-hud63__promo-description">62% of security leaders can&#39;t prove their program is reducing risk. See how one decision, with evidence and citations attached, becomes something you can defend to your board, auditors, compliance, and customers.</p> <a class="nav-promo-hud63__promo-button" href="/summit/september-2026" data-event="CTA Clicked" data-e="CTA Clicked">Watch Summit On-Demand <svg aria-hidden="true" fill="none" focusable="false" height="20" viewBox="0 0 20 20" width="20">
2772  <path d="m4 9h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm-2-2h2v2h-2zm0 4h2v2h-2zm-2 2h2v2h-2zm0-8h2v2h-2z" fill="currentColor" />
2773</svg> </a> </aside> <style>
2774  .nav-promo-hud63__promo {
2775    position: relative;
2776    font-size: 0.875rem;
2777    line-height: 1.5rem;
2778  }
2779  .nav-promo-hud63__image {
2780    display: block;
2781    width: 100%;
2782    height: auto;
2783    object-fit: cover;
2784    margin-bottom: 1.5rem;
2785  }
2786  .nav-promo-hud63__promo-title {
2787    font-size: 1rem;
2788    line-height: 1.4;
2789    letter-spacing: -0.01em;
2790    font-weight: 600;
2791    color: var(--text-headings);
2792    margin-top: 0;
2793    margin-bottom: 0.5rem;
2794  }
2795  .nav-promo-hud63__promo-description {
2796    margin: 0;
2797  }
2798  .nav-promo-hud63__promo-button {
2799    display: inline-block;
2800    color: var(--text-headings);
2801    margin-top: 0.75rem;
2802  }
2803  .nav-promo-hud63__promo-button svg {
2804    float: right;
2805    overflow: visible;
2806    width: 1.25rem;
2807    height: 1.25rem;
2808    margin-left: 0.25rem;
2809    position: relative;
2810    top: 0.15rem;
2811    transition: transform 0.2s ease;
2812  }
2813  .nav-promo-hud63__promo-button::before {
2814    content: "";
2815    position: absolute;
2816    inset: 0;
2817  }
2818  .nav-promo-hud63__promo-button:hover svg,
2819  .nav-promo-hud63__promo-button:focus-visible svg {
2820    transform: translateX(0.25rem);
2821  }
2822</style> </div> <div class="company-cq2v__platform"> <div class="company-cq2v__heading">Platform</div> <p class="company-cq2v__platform-text">
2823UpGuard is a complete cyber risk posture management platform.
2824</p> <p class="company-cq2v__platform-text">
2825Transform how you manage cyber risk across your vendors, attack surface,
2826      and workforce.
2827</p>
2827 <a data-event="CTA Clicked" data-e="CTA Clicked" class="company-cq2v__learn-more" href="/platform">
2828Learn more
2829<svg aria-hidden="true" fill="none" focusable="false" height="20" viewBox="0 0 20 20" width="20">
2830  <path d="m4 9h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm2 0h2v2h-2zm-2-2h2v2h-2zm0 4h2v2h-2zm-2 2h2v2h-2zm0-8h2v2h-2z" fill="currentColor" />
2831</svg> </a> </div> <div class="company-cq2v__partner"> <div class="company-cq2v__heading">Partner with us</div> <a data-event="CTA Clicked" data-e="CTA Clicked" class="company-cq2v__partner-link" href="/partners"> <span class="company-cq2v__partner-icon"> <svg width="16" height="16" fill="none" viewBox="0 0 16 16" overflow="visible" aria-hidden="true" focusable="false"><path fill="currentColor" d="M-2 16h12v-4h2v6H-4v-6h2zm22 2h-6v-2h4v-4h2zm-10-6H-2v-2h12zm8 0h-4v-2h4zM7 8H1V6h6zm8 0h-4V6h4zM1 6h-2V0h2zm8 0H7V0h2zm8 0h-2V0h2zM7 0H1v-2h6zm8 0h-4v-2h4z" /></svg> </span> <span class="company-cq2v__partner-name">Partner</span> <span class="company-cq2v__partner-description">
2832Expand your reach, leverage market-leading software, and enhance your
2833        customer relationships.
2834</span> </a> </div> <div class="company-cq2v__company"> <div class="company-cq2v__heading">Company</div> <ul class="company-cq2v__links"> <li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="company-cq2v__link" href="/about"> About us </a> </li><li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="company-cq2v__link" href="/careers"> Careers </a> </li><li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="company-cq2v__link" href="/contact"> Contact </a> </li><li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="company-cq2v__link" href="https://help.upguard.com/en/" target="_blank" rel="noopener noreferrer"> Support </a> </li><li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="company-cq2v__link" href="/security"> Security </a> </li><li> <a data-event="CTA Clicked" data-e="CTA Clicked" class="company-cq2v__link" href="/press"> Press </a> </li> </ul> </div> </div> <style>
2835  .company-cq2v {
2836    font-size: 0.875rem;
2837    line-height: 1.5rem;
2838    color: var(--text-body);
2839    display: flex;
2840    flex-direction: column;
2841    padding-top: 2.4rem;
2842    padding-bottom: 2.4rem;
2843    gap: 2.4rem;
2844  }
2845
2846  .company-cq2v__heading {
2847    font-size: 1rem;
2848    font-weight: 600;
2849    color: var(--text-headings);
2850    margin-bottom: 1rem;
2851  }
2852
2853  /* Platform column */
2854  .company-cq2v__platform {
2855    position: relative;
2856  }
2857  .company-cq2v__platform-text {
2858    max-width: 17em;
2859    margin: 0;
2860  }
2861  .company-cq2v__platform-text + .company-cq2v__platform-text {
2862    margin-top: 1rem;
2863  }
2864  .company-cq2v__learn-more {
2865    display: inline-block;
2866    color: var(--text-headings);
2867    margin-top: 1rem;
2868  }
2869  .company-cq2v__learn-more svg {
2870    float: right;
2871    overflow: visible;
2872    width: 1.25rem;
2873    height: 1.25rem;
2874    margin-left: 0.25rem;
2875    position: relative;
2876    top: 0.15rem;
2877    transition: transform 0.2s ease;
2878  }
2879  .company-cq2v__learn-more::before {
2880    content: "";
2881    position: absolute;
2882    inset: 0;
2883  }
2884  .company-cq2v__learn-more:hover svg,
2885  .company-cq2v__learn-more:focus-visible svg {
2886    transform: translateX(0.25rem);
2887  }
2888
2889  /* Partner column: single NavLinkGrid-style item */
2890  .company-cq2v__partner-link {
2891    display: block;
2892    position: relative;
2893    padding-left: 2.25rem;
2894    transition: opacity 0.2s ease;
2895  }
2896  .company-cq2v__partner-icon {
2897    position: absolute;
2898    top: 0.125rem;
2899    left: 0.125rem;
2900    width: 1.25rem;
2901    height: 1.25rem;
2902    color: var(--text-headings);
2903  }
2904  .company-cq2v__partner-icon svg {
2905    display: block;
2906    overflow: visible;
2907    width: 1rem;
2908    height: 1rem;
2909  }
2910  .company-cq2v__partner-name {
2911    display: block;
2912    font-size: 1rem;
2913    letter-spacing: -0.01em;
2914    color: var(--text-headings);
2915    margin-bottom: 0.5rem;
2916  }
2917  .company-cq2v__partner-description {
2918    display: block;
2919    max-width: 19em;
2920    font-size: 0.875rem;
2921    line-height: 1.375rem;
2922  }
2923
2924  /* Company column */
2925  .company-cq2v__links {
2926    list-style: none;
2927    padding: 0;
2928    margin: 0;
2929    display: flex;
2930    flex-direction: column;
2931    gap: 1rem;
2932  }
2933  .company-cq2v__link {
2934    position: relative;
2935    display: inline-block;
2936    padding-left: 1.25rem;
2937    font-size: 1rem;
2938    color: var(--text-headings);
2939    transition: opacity 0.2s ease;
2940  }
2941  .company-cq2v__link::before {
2942    content: "";
2943    position: absolute;
2944    left: 0;
2945    top: 50%;
2946    width: 0.375rem;
2947    height: 0.375rem;
2948    background-color: currentColor;
2949    transform: translateY(-50%);
2950  }
2951  .company-cq2v__link:hover,
2952  .company-cq2v__link:focus-visible {
2953    opacity: 0.7;
2954  }
2955
2956  /* Mobile only styles */
2957  @media screen and (max-width: 991px) {
2958    .company-cq2v__promo {
2959      order: 999;
2960      max-width: 35rem;
2961    }
2962  }
2963
2964  /* Desktop only styles */
2965  @media screen and (min-width: 992px) {
2966    .company-cq2v {
2967      display: grid;
2968      grid-template-columns: repeat(12, 1fr);
2969      gap: var(--gap);
2970      padding-top: 4rem;
2971      padding-bottom: 4rem;
2972    }
2973    .company-cq2v__promo {
2974      grid-column: 1 / 4;
2975    }
2976    .company-cq2v__platform {
2977      grid-column: 5 / 8;
2978    }
2979    .company-cq2v__partner {
2980      grid-column: 8 / 11;
2981    }
2982    .company-cq2v__company {
2983      grid-column: 11 / 13;
2984    }
2985  }
2986</style> </div> </div> <a data-event="CTA Clicked" data-e="CTA Clicked" class="nav-fd76__item nav-fd76__item--login" href="https://cyber-risk.upguard.com/" target="_blank"> Login </a> </div>  <div class="nav-fd76__actions"> <a data-event="CTA Clicked" data-event-cta-link-type="free_trial_button" data-e="CTA Clicked" data-e-link-type="free_trial_button" href="/demo" class="nav-fd76__cta--text">
2987Free trial
2988</a> <a data-event="CTA Clicked" data-event-cta-link-type="book_demo_button" data-e="CTA Clicked" data-e-link-type="book_demo_button" href="/contact-sales" class="nav-fd76__cta--solid">
2989Get a demo
2990</a> </div>  </div> </div> </div> </div> </nav> 
2990<script>"use strict";
2991(() => {
2992  // src/components/interop/Nav/Nav.script.ts
2993  (() => {
2994    const $$navs = Array.from(
2995      document.querySelectorAll(".nav-fd76")
2996    );
2997    $$navs.forEach(($nav) => {
2998      let state = {
2999        activeSubmenu: null,
3000        isMobile: false,
3001        isMobileMenuOpen: false
3002      };
3003      const $screen = $nav?.previousElementSibling;
3004      const $bd = $nav?.querySelector(".nav-fd76__bd");
3005      const $mobileMenuToggle = $nav?.querySelector(
3006        ".nav-fd76__menu-toggle"
3007      );
3008      const $menu = $nav?.querySelector("#upguard-menu");
3009      const $menuInner = $menu?.querySelector(
3010        ".nav-fd76__menu-inner"
3011      );
3012      const $$submenus = Array.from(
3013        $nav?.querySelectorAll(".nav-fd76__submenu")
3014      );
3015      const $$submenuToggles = Array.from(
3016        $nav?.querySelectorAll(".nav-fd76__item--button")
3017      );
3018      const mediaQueryIsMobile = window.matchMedia(`(max-width: 1199px)`);
3019      mediaQueryIsMobile.addEventListener("change", (e) => {
3020        update({
3021          isMobile: e.matches,
3022          // Also close all menus if the window has been resized. This is just so I don't have to handle complicated logic for state changes
3023          isMobileMenuOpen: false,
3024          activeSubmenu: null
3025        });
3026      });
3027      $mobileMenuToggle?.addEventListener("click", () => {
3028        update({ isMobileMenuOpen: !state.isMobileMenuOpen });
3029      });
3030      $$submenuToggles.forEach(($submenuToggle) => {
3031        $submenuToggle.addEventListener("click", () => {
3032          const newActiveSubmenu = $submenuToggle.nextElementSibling;
3033          if (state.activeSubmenu === newActiveSubmenu) {
3034            update({ activeSubmenu: null });
3035          } else {
3036            update({ activeSubmenu: newActiveSubmenu });
3037          }
3038        });
3039      });
3040      $screen?.addEventListener("click", () => {
3041        update({ activeSubmenu: null, isMobileMenuOpen: false });
3042      });
3043      window.addEventListener("resize", () => {
3044        if (state.isMobile != mediaQueryIsMobile.matches) {
3045          update({
3046            activeSubmenu: null,
3047            isMobile: mediaQueryIsMobile.matches,
3048            isMobileMenuOpen: false
3049          });
3050        }
3051      });
3052      $nav.addEventListener("click", (e) => {
3053        const $target = e.target;
3054        if (!$target.closest(".nav-fd76__submenu") && $target.closest(".nav-fd76__bd") && !$target.closest("button, a")) {
3055          update({ activeSubmenu: null });
3056        }
3057      });
3058      function update(newStatePartial) {
3059        const newState = { ...state, ...newStatePartial };
3060        if (newState.isMobile) {
3061          if (newState.isMobileMenuOpen) {
3062            $mobileMenuToggle?.setAttribute("aria-expanded", "true");
3063            $menu?.removeAttribute("hidden");
3064          } else {
3065            $mobileMenuToggle?.setAttribute("aria-expanded", "false");
3066            $menu?.setAttribute("hidden", "until-found");
3067          }
3068          if (!state.isMobileMenuOpen && newState.isMobileMenuOpen) {
3069            if ($menu) {
3070              $menu.animate(
3071                {
3072                  height: ["0px", $menuInner?.offsetHeight + "px"]
3073                },
3074                {
3075                  duration: 200
3076                }
3077              );
3078            }
3079          }
3080          if (state.isMobileMenuOpen && !newState.isMobileMenuOpen) {
3081            if ($menu) {
3082              $menu.removeAttribute("hidden");
3083              $menu.animate(
3084                {
3085                  height: [$menuInner.offsetHeight + "px", "0px"]
3086                },
3087                {
3088                  duration: 200
3089                }
3090              ).onfinish = () => {
3091                $menu.setAttribute("hidden", "until-found");
3092              };
3093            }
3094          }
3095          $$submenus.forEach(($submenu) => {
3096            if ($submenu === newState.activeSubmenu) {
3097              $submenu.hidden = false;
3098              $submenu.animate(
3099                {
3100                  height: [
3101                    "0px",
3102                    $submenu.children[0].offsetHeight + "px"
3103                  ],
3104                  opacity: ["0", "1"]
3105                },
3106                { duration: 200 }
3107              ).onfinish = () => {
3108              };
3109            } else if ($submenu === state.activeSubmenu) {
3110              $submenu.animate(
3111                {
3112                  height: [
3113                    $submenu.children[0].offsetHeight + "px",
3114                    "0px"
3115                  ],
3116                  opacity: ["1", "0"]
3117                },
3118                { duration: 200 }
3119              ).onfinish = () => {
3120                $submenu.setAttribute("hidden", "until-found");
3121              };
3122            } else {
3123              $submenu.style.transform = "";
3124              $submenu.style.opacity = "";
3125              $submenu.style.display = "";
3126            }
3127          });
3128        } else {
3129          $menu?.removeAttribute("hidden");
3130          $mobileMenuToggle?.setAttribute("aria-expanded", "true");
3131          $bd.style.height = "";
3132          $bd.classList.remove("has-active-submenu");
3133          if (newState.activeSubmenu) {
3134            newState.activeSubmenu.hidden = false;
3135            const activeSubmenuHeight = newState.activeSubmenu.scrollHeight;
3136            newState.activeSubmenu.hidden = true;
3137            $bd.classList.add("has-active-submenu");
3138            $bd.style.height = `${activeSubmenuHeight + $nav.offsetHeight}px`;
3139          }
3140          $$submenus.forEach(($submenu) => {
3141            if ($submenu === newState.activeSubmenu) {
3142              $submenu.hidden = false;
3143              $submenu.animate(
3144                {
3145                  transform: [
3146                    state.activeSubmenu ? `translateY(0) translateX(${$$submenus.indexOf($submenu) < $$submenus.indexOf(state.activeSubmenu) ? -2 : 2}rem)` : "translateY(-2rem) translateX(0)",
3147                    "translateY(0)"
3148                  ],
3149                  opacity: ["0", "1"]
3150                },
3151                { duration: 200 }
3152              ).onfinish = () => {
3153              };
3154            } else if ($submenu === state.activeSubmenu) {
3155              $submenu.animate(
3156                {
3157                  transform: [
3158                    "translateY(0rem)",
3159                    newState.activeSubmenu ? `translateY(0) translateX(${$$submenus.indexOf($submenu) < $$submenus.indexOf(newState.activeSubmenu) ? -2 : 2}rem)` : "translateY(-2rem)"
3160                  ],
3161                  opacity: ["1", "0"]
3162                },
3163                { duration: 200 }
3164              ).onfinish = () => {
3165                $submenu.setAttribute("hidden", "until-found");
3166              };
3167            } else {
3168              $submenu.style.transform = "";
3169              $submenu.style.opacity = "";
3170              $submenu.style.display = "";
3171            }
3172          });
3173        }
3174        $screen?.classList.toggle(
3175          "is-active",
3176          !!(newState.activeSubmenu || newState.isMobileMenuOpen)
3177        );
3178        $$submenus.forEach(($submenu, ix) => {
3179          $$submenuToggles[ix].setAttribute(
3180            "aria-expanded",
3181            $submenu === newState.activeSubmenu ? "true" : "false"
3182          );
3183        });
3184        state = newState;
3185      }
3186      update({ isMobile: mediaQueryIsMobile.matches });
3187    });
3188  })();
3189})();
3190</script>
3190 </div>     
3190<script type="module" src="/_astro/Alpine.astro_astro_type_script_index_0_lang.DlAt3eJs.js?dpl=6ab4a3cbb36e820008e2ae9c"></script>
3190 
3190<script type="module" src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.LJXfe-ps.js?dpl=6ab4a3cbb36e820008e2ae9c"></script>
3190<script type="module">(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"247a098bf374f7ad9be9db1aadc6c2fc36fc4047"}}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e._sentryModuleMetadata=e._sentryModuleMetadata||{},e._sentryModuleMetadata[new e.Error().stack]=(function(t){for(var n=1;n<arguments.length;n++){var r=arguments[n];if(r!=null)for(var a in r)r.hasOwnProperty(a)&&(t[a]=r[a])}return t})({},e._sentryModuleMetadata[new e.Error().stack],{"_sentryBundlerPluginAppKey:upguard-marketing-site":!0})}catch{}})();let o=null;const i=()=>{if(o===null)return;const e=document.querySelector("#pricing-tabs");e&&window.scrollTo({left:0,top:e.getBoundingClientRect().top+window.scrollY-o,behavior:"instant"})};window.addEventListener("popstate",()=>{const e=document.querySelector("#pricing-tabs [data-pricing-tab-underline]");e instanceof HTMLElement&&(e.style.viewTransitionName="none")});document.addEventListener("click",e=>{const t=e.target.closest("#pricing-tabs a");if(!t)return;if(t.getAttribute("aria-current")==="page"){e.preventDefault();return}const n=document.querySelector("#pricing-tabs");o=n?n.getBoundingClientRect().top:null},!0);document.addEventListener("astro:after-swap",()=>{i(),document.fonts.ready.then(()=>{requestAnimationFrame(()=>{i(),o=null})})});</script>
3190<section class="mx-auto w-[calc(100%-2*var(--gap))] max-w-none lg:max-w-[88.5rem] lg:w-[calc(100%-4*var(--gap))]">  <meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><header class="pt-128 pb-48 text-center"> <h1 class="font-cigars font-normal text-64 text-heading block mb-96"> 
3191Flexible plans
3192<br> <span class="font-inter-tight font-normal text-64 text-heading block mb-96"> and features </span>  </h1> <nav id="pricing-tabs" class="border-b border-gray-300" aria-label="Pricing sections"> <ul data-e-location="pricing_tabs" class="flex flex-wrap justify-center gap-24 md:gap-64 list-none"> <li> <a data-e="CTA Clicked" href="/pricing/vendor-risk" data-astro-reload="true" aria-current="page" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 relative flex items-center justify-center gap-12 py-16 transition-colors text-center text-heading"> <span class="flex shrink-0 [&#38;_svg]:size-[1.375rem] text-heading" aria-hidden="true"> <svg fill="none" height="22" viewBox="0 0 22 22" width="22" focusable="false" aria-hidden="true">
3193  <g fill="currentColor">
3194    <path d="m14.9311 18.9999h3.9769v-4h-3.9769-3.977v4z"></path>
3195    <path d="m6.97697 11h-3.97697v4h3.97697 3.97693v-4z"></path>
3196    <path d="m6.97697 3h-3.97697v3.99999h3.97697 3.97693v-3.99999z"></path>
3197    <path d="m18.908 11v-4.00004h-3.9769-3.977v4.00004h3.977z"></path>
3198  </g>
3199</svg> </span> <span class="font-inter font-normal text-16 text-center"> Vendor Risk </span> <span class="pointer-events-none absolute -bottom-px left-0 h-[.1875rem] w-full bg-black" data-pricing-tab-underline aria-hidden="true" data-astro-transition-scope="astro-ncjwhpoc-1"></span> </a> </li><li> <a data-e="CTA Clicked" href="/pricing/breach-risk" data-astro-reload="true" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 relative flex items-center justify-center gap-12 py-16 transition-colors text-center text-body hover:text-heading"> <span class="flex shrink-0 [&#38;_svg]:size-[1.375rem] text-body" aria-hidden="true"> <svg fill="none" height="22" viewBox="0 0 22 22" width="22" focusable="false" aria-hidden="true">
3200  <g fill="currentColor">
3201    <path d="m7 3h-4v3.99999h4z"></path>
3202    <path d="m11 7.00002h-4v3.99998h4z"></path>
3203    <path d="m7 11h-4v4h4z"></path>
3204    <path d="m15 3.00002h-4v3.99999h4z"></path>
3205    <path d="m15 7.00002v3.99998 4h-4-4v4h4 4 4v-4-4-3.99998z"></path>
3206  </g>
3207</svg> </span> <span class="font-inter font-normal text-16 text-center"> Breach Risk </span>  </a> </li><li> <a data-e="CTA Clicked" href="/pricing/trust-exchange" data-astro-reload="true" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 relative flex items-center justify-center gap-12 py-16 transition-colors text-center text-body hover:text-heading"> <span class="flex shrink-0 [&#38;_svg]:size-[1.375rem] text-body" aria-hidden="true"> <svg fill="none" height="22" viewBox="0 0 22 22" width="22" focusable="false" aria-hidden="true">
3208  <g fill="currentColor">
3209    <path d="m18.5279 14.6458h-3.8819v3.8819h3.8819z"></path>
3210    <path d="m6.88185 14.6458h-3.88185v3.8819h3.88185z"></path>
3211    <path d="m6.88185 3h-3.88185v3.88189h3.88185z"></path>
3212    <path d="m18.5279 3h-3.8819v3.88189h3.8819z"></path>
3213    <path d="m6.88232 6.88216v3.88194 3.8818h3.88188 3.8818v-3.8818-3.88194h-3.8818z"></path>
3214  </g>
3215</svg> </span> <span class="font-inter font-normal text-16 text-center"> Trust Exchange </span>  </a> </li><li> <a data-e="CTA Clicked" href="/pricing/user-risk" data-astro-reload="true" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 relative flex items-center justify-center gap-12 py-16 transition-colors text-center text-body hover:text-heading"> <span class="flex shrink-0 [&#38;_svg]:size-[1.375rem] text-body" aria-hidden="true"> <svg fill="none" height="22" viewBox="0 0 22 22" width="22" focusable="false" aria-hidden="true">
3216  <g fill="currentColor">
3217    <path d="m14.9653 11v-3.99999-3.99999h-3.9885-3.98852v3.99999 3.99999h3.98852z"></path>
3218    <path d="m10.9771 15h-3.98857-3.98853v4h3.98853 3.98857 3.9885 3.9885v-4h-3.9885z"></path>
3219  </g>
3220</svg> </span> <span class="font-inter font-normal text-16 text-center"> User Risk </span>  </a> </li><li> <a data-e="CTA Clicked" href="/pricing/risk-automations" data-astro-reload="true" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 relative flex items-center justify-center gap-12 py-16 transition-colors text-center text-body hover:text-heading"> <span class="flex shrink-0 [&#38;_svg]:size-[1.375rem] text-body" aria-hidden="true"> <svg fill="none" height="22" viewBox="0 0 22 22" width="22" focusable="false" aria-hidden="true">
3221  <path d="m15 18.9952h4v-15.9952h-16v4h8v3.9968h-4v3.9984h-4v4h4v-3.9984h4v-3.9984h4z" fill="currentColor"></path>
3222</svg> </span> <span class="font-inter font-normal text-16 text-center"> Risk Automations </span>  </a> </li> </ul> </nav> </header>   </section> 
3222<script type="module" src="/_astro/HubspotHelpers.astro_astro_type_script_index_0_lang.CMOHB6z9.js?dpl=6ab4a3cbb36e820008e2ae9c"></script>
3222 <dialog id="pricing-gate-dialog" data-modal data-modal-static data-columns="6" data-theme="light" closedby="none" aria-labelledby="pricing-gate-title" style="--modal-columns: 6" class="fixed m-0 hidden flex-col overflow-visible border-0 bg-background p-0 pt-16 open:flex focus:outline-none md:m-auto md:pt-0 inset-x-0 bottom-0 top-auto w-full max-w-full max-h-[calc(100%-4rem)] md:inset-0 md:max-w-[calc(100%-4rem)]"> <div aria-hidden="true" class="absolute left-1/2 top-12 h-4 w-40 -translate-x-1/2 rounded-full bg-divider md:hidden"></div>  <div class="flex-[1_1_auto] overflow-y-auto p-16 md:p-24">  <div class="my-12"> <div class="flex flex-col justify-center items-center"> <svg width="24" height="24" fill="none" viewBox="0 0 24 24" aria-hidden="true" focusable="false" class="text-heading">
3223  <path fill="currentColor" d="M9 8h6V4h2v4h3v14H4V8h3V4h2v4ZM6 20h12V10H6v10Zm7-3h-2v-4h2v4Zm2-13H9V2h6v2Z" />
3224</svg> <h2 class="font-inter-tight font-normal text-24 text-center text-heading leading-tight" id="pricing-gate-title"> 
3225See Plans &amp; Pricing
3226 </h2> </div> <div id="pricing-gate-form"> <div class="loader-pg" aria-hidden="true"></div> </div> </div>  </div> </dialog>  
3226<script type="module">(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};t.SENTRY_RELEASE={id:"247a098bf374f7ad9be9db1aadc6c2fc36fc4047"}}catch{}})();(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};t._sentryModuleMetadata=t._sentryModuleMetadata||{},t._sentryModuleMetadata[new t.Error().stack]=(function(e){for(var n=1;n<arguments.length;n++){var o=arguments[n];if(o!=null)for(var a in o)o.hasOwnProperty(a)&&(e[a]=o[a])}return e})({},t._sentryModuleMetadata[new t.Error().stack],{"_sentryBundlerPluginAppKey:upguard-marketing-site":!0})}catch{}})();function r(t){t.showModal()}function d(t){t.close()}function s(t,e){const n=t.getBoundingClientRect();return e.clientX<n.left||e.clientX>n.right||e.clientY<n.top||e.clientY>n.bottom}function c(t){const e=t.target,n=e.closest("[data-modal-trigger]");if(n){const l=document.getElementById(n.dataset.modalTrigger??"");l instanceof HTMLDialogElement&&r(l);return}const o=e.closest("[data-modal-close]");if(o){const l=o.closest("[data-modal]");l&&d(l);return}const a=e.closest("[data-modal]");a?.open&&e===a&&!a.hasAttribute("data-modal-static")&&s(a,t)&&d(a)}function f(t){t.target.hasAttribute("data-modal-static")&&t.preventDefault()}let i=!1;function u(){i||(i=!0,document.addEventListener("click",c),document.addEventListener("cancel",f,!0))}u();</script>
3226  
3226<script>
3227  ;(function () {
3228    // Storage access throws in some privacy modes; treat that as "still locked"
3229    // rather than letting the exception skip showModal() and disable the gate.
3230    function isUnlocked() {
3231      if (new URLSearchParams(window.location.search).has("unlock")) return true
3232      try {
3233        return localStorage.getItem("ug_pricing_requested") === "1"
3234      } catch {
3235        return true
3236      }
3237    }
3238
3239    window.ug = window.ug || {}
3240    window.ug.isPricingGateUnlocked = isUnlocked
3241
3242    if (isUnlocked()) return
3243
3244    var dialog = document.getElementById("pricing-gate-dialog")
3245    if (dialog && !dialog.open) dialog.showModal()
3246  })()
3247</script>
3247  
3247<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/embed/v2.js"></script>
3247 
3247<script>(function(){const portalId = "228391";
3248const formId = "ca315345-c51d-493e-8364-441c06abdc44";
3249const formContainerId = "pricing-gate-form";
3250
3251  /*
3252  Use an array of already-initialised dialog elements (same pattern as OfficeMap) so that:
3253  - Re-renders of the same element are no-ops (prevents double form mount).
3254  - After a ClientRouter view transition the new dialog element is a fresh object,
3255    so indexOf returns -1 and the form mounts again into the new DOM node.
3256
3257  Claim the dialog only AFTER hbspt is ready. On ClientRouter soft navs, dynamically
3258  inserted 
3258<script src> tags are async by default, so the mount script can run before
3259  embed/v2.js defines hbspt. Pushing into $$pricingGateDialogs before create() would
3260  make every later attempt a no-op after a ReferenceError — permanently stuck spinner.
3261  */
3262  window.ug = window.ug || {}
3263  window.ug.$$pricingGateDialogs = window.ug.$$pricingGateDialogs || []
3264  // In-flight waits so DOMContentLoaded + astro:page-load cannot both start create().
3265  window.ug.$$pricingGatePending = window.ug.$$pricingGatePending || []
3266
3267  var HUBSPOT_WAIT_MS = 100
3268  var HUBSPOT_MAX_TRIES = 100
3269
3270  function showFormFallback() {
3271    var container = document.getElementById(formContainerId)
3272    if (!container) return
3273    if (container.querySelector("form")) return
3274    container.innerHTML =
3275      '<p class="pricing-gate-fallback">Having trouble loading the form? <a href="/contact-sales">Contact sales</a></p>'
3276  }
3277
3278  function whenHubSpotReady(cb, onTimeout) {
3279    var called = false
3280    var poll
3281    function run() {
3282      if (called) return
3283      if (!window.hbspt || !window.hbspt.forms) return
3284      called = true
3285      if (poll) clearInterval(poll)
3286      cb()
3287    }
3288
3289    if (window.hbspt && window.hbspt.forms) {
3290      run()
3291      return
3292    }
3293
3294    var script = document.querySelector(
3295      'script[src*="js.hsforms.net/forms/embed"]',
3296    )
3297    if (script) {
3298      script.addEventListener("load", run, { once: true })
3299    }
3300
3301    var tries = 0
3302    poll = setInterval(function () {
3303      if (window.hbspt && window.hbspt.forms) {
3304        run()
3305      } else if (++tries > HUBSPOT_MAX_TRIES) {
3306        clearInterval(poll)
3307        if (!called) {
3308          called = true
3309          if (onTimeout) onTimeout()
3310        }
3311      }
3312    }, HUBSPOT_WAIT_MS)
3313  }
3314
3315  function mountPricingGateForm() {
3316    var dialog = document.getElementById("pricing-gate-dialog")
3317    if (!dialog) return
3318    if (window.ug.$$pricingGateDialogs.indexOf(dialog) !== -1) return
3319    if (window.ug.$$pricingGatePending.indexOf(dialog) !== -1) return
3320    window.ug.$$pricingGatePending.push(dialog)
3321
3322    function releasePending() {
3323      var pendingIdx = window.ug.$$pricingGatePending.indexOf(dialog)
3324      if (pendingIdx !== -1) {
3325        window.ug.$$pricingGatePending.splice(pendingIdx, 1)
3326      }
3327    }
3328
3329    whenHubSpotReady(
3330      function () {
3331        releasePending()
3332        if (window.ug.$$pricingGateDialogs.indexOf(dialog) !== -1) return
3333        window.ug.$$pricingGateDialogs.push(dialog)
3334
3335        /*
3336      onBeforeFormSubmit is the only callback handed the field values, but it fires
3337      before HubSpot has accepted the submission. Stash the values here and do the
3338      tracking and the unlock in onFormSubmitted, so a submission that fails
3339      after client-side validation neither reports a conversion nor unlocks the gate.
3340      */
3341        var pendingSubmission = null
3342
3343        hbspt.forms.create({
3344          portalId: portalId,
3345          formId: formId,
3346          region: "na1",
3347          target: "#" + formContainerId,
3348          // Form editor still has redirectUrl → www.upguard.com/pricing; override so
3349          // onFormSubmitted can close the modal in place without a hard navigation.
3350          inlineMessage: " ",
3351          onFormReady: function ($form) {
3352            // HubSpot may pass a jQuery object or a DOM element depending on embed version
3353            var formEl = $form instanceof Element ? $form : $form[0]
3354            if (formEl) {
3355              formEl.classList.add("mounted")
3356              // Submit label lives on the HubSpot form; override here so we can
3357              // keep the shared form definition and still match gate copy.
3358              var submitBtn = formEl.querySelector(".hs-button")
3359              if (submitBtn) {
3360                submitBtn.value = "Unlock Pricing"
3361                submitBtn.textContent = "Unlock Pricing"
3362              }
3363              // Belt-and-braces: strip redirect from the hidden hs_context payload.
3364              var ctx = formEl.querySelector('input[name="hs_context"]')
3365              if (ctx && ctx.value) {
3366                try {
3367                  var data = JSON.parse(ctx.value)
3368                  data.redirectUrl = ""
3369                  ctx.value = JSON.stringify(data)
3370                } catch {}
3371              }
3372            }
3373          },
3374          onBeforeFormSubmit: function ($form, submissionValues) {
3375            pendingSubmission = submissionValues
3376            var formEl = $form instanceof Element ? $form : $form && $form[0]
3377            if (formEl) {
3378              var ctx = formEl.querySelector('input[name="hs_context"]')
3379              if (ctx && ctx.value) {
3380                try {
3381                  var data = JSON.parse(ctx.value)
3382                  data.redirectUrl = ""
3383                  ctx.value = JSON.stringify(data)
3384                } catch {}
3385              }
3386            }
3387          },
3388          onFormSubmitted: function () {
3389            if (pendingSubmission) {
3390              window.ug.trackPricingRequested(pendingSubmission)
3391              pendingSubmission = null
3392            }
3393
3394            // Persisting is best-effort — never let blocked storage strand the
3395            // visitor behind a modal they have already submitted.
3396            try {
3397              localStorage.setItem("ug_pricing_requested", "1")
3398            } catch {}
3399
3400            dialog.close()
3401            var heading = document.querySelector("h1")
3402            if (heading instanceof HTMLElement) {
3403              if (!heading.hasAttribute("tabindex")) {
3404                heading.setAttribute("tabindex", "-1")
3405              }
3406              heading.focus()
3407            }
3408          },
3409        })
3410      },
3411      function () {
3412        releasePending()
3413        showFormFallback()
3414      },
3415    )
3416  }
3417
3418  // Soft navs re-inject the HubSpot script as async; remount on astro:page-load
3419  // so a fresh dialog element gets create() after hbspt is ready.
3420  document.addEventListener("astro:page-load", mountPricingGateForm)
3421  if (document.readyState === "loading") {
3422    document.addEventListener("DOMContentLoaded", mountPricingGateForm)
3423  } else {
3424    mountPricingGateForm()
3425  }
3426})();</script>
3426  
3426<script type="module">(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"247a098bf374f7ad9be9db1aadc6c2fc36fc4047"}}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e._sentryModuleMetadata=e._sentryModuleMetadata||{},e._sentryModuleMetadata[new e.Error().stack]=(function(n){for(var d=1;d<arguments.length;d++){var t=arguments[d];if(t!=null)for(var a in t)t.hasOwnProperty(a)&&(n[a]=t[a])}return n})({},e._sentryModuleMetadata[new e.Error().stack],{"_sentryBundlerPluginAppKey:upguard-marketing-site":!0})}catch{}})();document.addEventListener("astro:page-load",()=>{if(window.ug?.isPricingGateUnlocked?.())return;const e=document.getElementById("pricing-gate-dialog");e&&!e.open&&e.showModal()});</script>
3426<section class="mx-auto w-[calc(100%-2*var(--gap))] max-w-none lg:max-w-[88.5rem] lg:w-[calc(100%-4*var(--gap))]">  <div class="grid gap-24 items-stretch grid-cols-1 min-[40rem]:grid-cols-2 lg:grid-cols-4"> <div class="min-h-[30.625rem] w-full flex flex-col gap-24 p-24 text-body bg-gray-150" data-theme="light"> <h2 class="font-inter-tight font-normal text-24 text-heading"> Standard </h2> <div class="min-h-[3.5rem]"> <div class="font-inter font-normal text-14">  <div class="flex items-baseline gap-4"> <div class="font-inter-tight font-normal text-24 text-heading"> 
3427$1,750 </div> <span>/mo, billed annually</span> </div>  </div> </div> <div class="min-h-48"> <p class="font-inter font-normal text-16 text-heading text-balance"> Move from manual to automated risk management </p> </div> <div class="flex min-h-0 flex-col gap-16 overflow-hidden"> <span class="font-inter font-normal text-14 shrink-0 text-body"> Key features: </span> <div class="font-inter font-normal text-14">  <section class="richtext-excerpt" data-astro-cid-zouxod32="true">   <ul> <li>Monitor 50 Vendors</li><li>Vendor Security Ratings</li><li>Assessment &amp; Remediation Workflows</li><li>Additional Vendors for $79/month</li> </ul>   </section>  </div> </div> <div class="pt-16 mt-auto"> <a data-e="CTA Clicked" data-e-link-type="free_trial_button" data-e-location="pricing_card_vendor_risk_standard" href="/demo?pricing=Vendor%20Risk%3A%20Standard" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 text-14 rounded-[1.3125rem] inline-flex justify-center disabled:opacity-50 bg-gray-900 text-white dark:bg-white dark:text-gray-900 group"> <div class="inline-flex relative overflow-hidden"> <span class="inline-flex w-full h-full transition-all duration-250 ease-out group-not-disabled:group-hover:opacity-0 group-not-disabled:group-hover:-translate-y-full group-not-disabled:group-hover:skew-y-15 group-not-disabled:group-active:opacity-0 group-not-disabled:group-active:-translate-y-full group-not-disabled:group-active:skew-y-15 group-not-disabled:group-focus-visible:opacity-0 group-not-disabled:group-focus-visible:-translate-y-full group-not-disabled:group-focus-visible:skew-y-15 gap-8 py-[0.5625rem] px-[1.5rem]">  Start my free trial  </span> <span aria-hidden="true" class="inline-flex w-full h-full transition-all duration-250 ease-out gap-8 py-[0.5625rem] px-[1.5rem] absolute top-0 left-0 opacity-0 translate-y-full skew-y-15 group-not-disabled:group-hover:opacity-100 group-not-disabled:group-hover:translate-y-0 group-not-disabled:group-hover:skew-y-0 group-not-disabled:group-active:opacity-100 group-not-disabled:group-active:translate-y-0 group-not-disabled:group-active:skew-y-0 group-not-disabled:group-focus-visible:opacity-100 group-not-disabled:group-focus-visible:translate-y-0 group-not-disabled:group-focus-visible:skew-y-0">  Start my free trial  </span> </div>  </a> </div> </div><div class="min-h-[30.625rem] w-full flex flex-col gap-24 p-24 text-body bg-gray-150" data-theme="light"> <h2 class="font-inter-tight font-normal text-24 text-heading"> Professional </h2> <div class="min-h-[3.5rem]"> <div class="font-inter-tight font-normal text-24"> Contact us </div> </div> <div class="min-h-48"> <p class="font-inter font-normal text-16 text-heading text-balance"> Start to scale your third-party risk program </p> </div> <div class="flex min-h-0 flex-col gap-16 overflow-hidden"> <span class="font-inter font-normal text-14 shrink-0 text-body"> Everything in Standard, and: </span> <div class="font-inter font-normal text-14">  <section class="richtext-excerpt" data-astro-cid-zouxod32="true">   <ul> <li>Monitor 150 Vendors</li><li>Role Based Accounts</li><li>Custom Co-Branding</li> </ul>   </section>  </div> </div> <div class="pt-16 mt-auto"> <a data-e="CTA Clicked" data-e-link-type="free_trial_button" data-e-location="pricing_card_vendor_risk_professional" href="/demo?pricing=Vendor%20Risk%3A%20Professional" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 text-14 rounded-[1.3125rem] inline-flex justify-center disabled:opacity-50 bg-gray-900 text-white dark:bg-white dark:text-gray-900 group"> <div class="inline-flex relative overflow-hidden"> <span class="inline-flex w-full h-full transition-all duration-250 ease-out group-not-disabled:group-hover:opacity-0 group-not-disabled:group-hover:-translate-y-full group-not-disabled:group-hover:skew-y-15 group-not-disabled:group-active:opacity-0 group-not-disabled:group-active:-translate-y-full group-not-disabled:group-active:skew-y-15 group-not-disabled:group-focus-visible:opacity-0 group-not-disabled:group-focus-visible:-translate-y-full group-not-disabled:group-focus-visible:skew-y-15 gap-8 py-[0.5625rem] px-[1.5rem]">  Start my free trial  </span> <span aria-hidden="true" class="inline-flex w-full h-full transition-all duration-250 ease-out gap-8 py-[0.5625rem] px-[1.5rem] absolute top-0 left-0 opacity-0 translate-y-full skew-y-15 group-not-disabled:group-hover:opacity-100 group-not-disabled:group-hover:translate-y-0 group-not-disabled:group-hover:skew-y-0 group-not-disabled:group-active:opacity-100 group-not-disabled:group-active:translate-y-0 group-not-disabled:group-active:skew-y-0 group-not-disabled:group-focus-visible:opacity-100 group-not-disabled:group-focus-visible:translate-y-0 group-not-disabled:group-focus-visible:skew-y-0">  Start my free trial  </span> </div>  </a> </div> </div><div class="min-h-[30.625rem] w-full flex flex-col gap-24 p-24 text-body bg-background" data-theme="dark"> <h2 class="font-inter-tight font-normal text-24 text-heading"> Corporate </h2> <div class="min-h-[3.5rem]"> <div class="font-inter-tight font-normal text-24"> Contact us </div> </div> <div class="min-h-48"> <p class="font-inter font-normal text-16 text-heading text-balance"> Strengthen governance and oversight across your ecosystem </p> </div> <div class="flex min-h-0 flex-col gap-16 overflow-hidden"> <span class="font-inter font-normal text-14 shrink-0 text-body"> Everything in Professional, and: </span> <div class="font-inter font-normal text-14">  <section class="richtext-excerpt" data-astro-cid-zouxod32="true">   <ul> <li>Monitor 500 Vendors</li><li>Fourth Parties</li><li>Audit Log</li> </ul>   </section>  </div> </div> <div class="pt-16 mt-auto"> <a data-e="CTA Clicked" data-e-link-type="book_demo_button" data-e-location="pricing_card_vendor_risk_corporate" href="/contact-sales?pricing=Vendor%20Risk%3A%20Corporate" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 text-14 rounded-[1.3125rem] inline-flex justify-center disabled:opacity-50 bg-gray-900 text-white dark:bg-white dark:text-gray-900 group"> <div class="inline-flex relative overflow-hidden"> <span class="inline-flex w-full h-full transition-all duration-250 ease-out group-not-disabled:group-hover:opacity-0 group-not-disabled:group-hover:-translate-y-full group-not-disabled:group-hover:skew-y-15 group-not-disabled:group-active:opacity-0 group-not-disabled:group-active:-translate-y-full group-not-disabled:group-active:skew-y-15 group-not-disabled:group-focus-visible:opacity-0 group-not-disabled:group-focus-visible:-translate-y-full group-not-disabled:group-focus-visible:skew-y-15 gap-8 py-[0.5625rem] px-[1.5rem]">  Get a demo  </span> <span aria-hidden="true" class="inline-flex w-full h-full transition-all duration-250 ease-out gap-8 py-[0.5625rem] px-[1.5rem] absolute top-0 left-0 opacity-0 translate-y-full skew-y-15 group-not-disabled:group-hover:opacity-100 group-not-disabled:group-hover:translate-y-0 group-not-disabled:group-hover:skew-y-0 group-not-disabled:group-active:opacity-100 group-not-disabled:group-active:translate-y-0 group-not-disabled:group-active:skew-y-0 group-not-disabled:group-focus-visible:opacity-100 group-not-disabled:group-focus-visible:translate-y-0 group-not-disabled:group-focus-visible:skew-y-0">  Get a demo  </span> </div>  </a> </div> </div><div class="min-h-[30.625rem] w-full flex flex-col gap-24 p-24 text-body bg-gray-150" data-theme="light"> <h2 class="font-inter-tight font-normal text-24 text-heading"> Enterprise+ </h2> <div class="min-h-[3.5rem]"> <div class="font-inter-tight font-normal text-24"> Contact us </div> </div> <div class="min-h-48"> <p class="font-inter font-normal text-16 text-heading text-balance"> Orchestrate risk management across complex ecosystems </p> </div> <div class="flex min-h-0 flex-col gap-16 overflow-hidden"> <span class="font-inter font-normal text-14 shrink-0 text-body"> Everything in Corporate, and: </span> <div class="font-inter font-normal text-14">  <section class="richtext-excerpt" data-astro-cid-zouxod32="true">   <ul> <li>Monitor Unlimited Vendors</li><li>Unlimited Platform Users</li><li>Multi-Org Accounts</li><li>Enterprise Support</li> </ul>   </section>  </div> </div> <div class="pt-16 mt-auto"> <a data-e="CTA Clicked" data-e-link-type="book_demo_button" data-e-location="pricing_card_vendor_risk_enterprise_plus" href="/contact-sales?pricing=Vendor%20Risk%3A%20Enterprise%20Plus" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 text-14 rounded-[1.3125rem] inline-flex justify-center disabled:opacity-50 bg-gray-900 text-white dark:bg-white dark:text-gray-900 group"> <div class="inline-flex relative overflow-hidden"> <span class="inline-flex w-full h-full transition-all duration-250 ease-out group-not-disabled:group-hover:opacity-0 group-not-disabled:group-hover:-translate-y-full group-not-disabled:group-hover:skew-y-15 group-not-disabled:group-active:opacity-0 group-not-disabled:group-active:-translate-y-full group-not-disabled:group-active:skew-y-15 group-not-disabled:group-focus-visible:opacity-0 group-not-disabled:group-focus-visible:-translate-y-full group-not-disabled:group-focus-visible:skew-y-15 gap-8 py-[0.5625rem] px-[1.5rem]">  Get a demo  </span> <span aria-hidden="true" class="inline-flex w-full h-full transition-all duration-250 ease-out gap-8 py-[0.5625rem] px-[1.5rem] absolute top-0 left-0 opacity-0 translate-y-full skew-y-15 group-not-disabled:group-hover:opacity-100 group-not-disabled:group-hover:translate-y-0 group-not-disabled:group-hover:skew-y-0 group-not-disabled:group-active:opacity-100 group-not-disabled:group-active:translate-y-0 group-not-disabled:group-active:skew-y-0 group-not-disabled:group-focus-visible:opacity-100 group-not-disabled:group-focus-visible:translate-y-0 group-not-disabled:group-focus-visible:skew-y-0">  Get a demo  </span> </div>  </a> </div> </div> </div>  </section> <section class="mx-auto w-[calc(100%-2*var(--gap))] max-w-none lg:max-w-[88.5rem] lg:w-[calc(100%-4*var(--gap))] my-128">  <h2 class="font-inter-tight font-normal text-24 text-heading max-w-none md:max-w-[50rem] mx-auto text-center"> Vendor Risk helps you take control of vendor risk management with continuous vendor insights, 360-degree assessments, and efficie
3427nt Al-powered workflows. </h2>  </section> <section class="mx-auto w-[calc(100%-2*var(--gap))] max-w-none lg:max-w-[88.5rem] lg:w-[calc(100%-4*var(--gap))] pb-64 md:pb-128">   <div class role="region" aria-label="Vendor Risk Pricing Table: Pricing comparison: SMB, Corporate, Enterprise, Enterprise+" x-data="stickyTableState()" @mouseleave="clearHover()">  <div class="sticky top-0 min-[66.25rem]:top-[4.5rem] z-40"> <div class="overflow-x-auto overflow-y-hidden relative bg-background [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden" x-ref="headerScroll" @scroll="syncScroll('headerScroll', 'bodyScroll')"> <div class="pointer-events-none absolute left-0 top-0 z-0 mix-blend-multiply transition-opacity duration-250 ease-out motion-reduce:transition-none" x-bind:style="`opacity: ${colOverlay.visible ? 1 : 0};`" aria-hidden="true"> <div class="absolute left-0 top-0 bg-layer-1 transition-[transform,height,width] duration-250 ease-out motion-reduce:transition-none" x-bind:style="`transform: translate3d(${colOverlay.x}px, 0, 0); height: ${$refs.headerTable ? $refs.headerTable.offsetHeight : 0}px; width: ${colOverlay.width}px;`"></div> </div> <table class="w-full min-w-[40rem] table-fixed text-left relative z-10" x-ref="headerTable" aria-hidden="true"> <colgroup> <col style="width: 10.5rem"> <col style="width: 12.5rem"><col style="width: 12.5rem"><col style="width: 12.5rem"><col style="width: 12.5rem"><col style="width: 12.5rem"> </colgroup> <thead class="border-b border-divider"> <tr class @mouseenter="setHoveredFromRow($el)">  <th scope="col" class="sticky top-0 md:top-[4.5rem] z-10 px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 w-[12.5rem] first:sticky first:left-0 first:z-50 first:bg-background first:min-w-[10.5rem] first:w-[10.5rem]" :class="($el.cellIndex === 0 && hoveredCol === 0) && 'bg-layer-1!'" @mouseenter="setHoveredFromHeader($el)">  <span class="sr-only">Feature</span>  </th> <th scope="col" class="sticky top-0 md:top-[4.5rem] z-10 px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 w-[12.5rem] first:sticky first:left-0 first:z-50 first:bg-background first:min-w-[10.5rem] first:w-[10.5rem]" :class="($el.cellIndex === 0 && hoveredCol === 0) && 'bg-layer-1!'" @mouseenter="setHoveredFromHeader($el)">  <div class="flex flex-col gap-4"> <span class="font-inter-tight font-normal text-24 text-heading"> Standard </span> <div class="font-inter font-normal text-14">  <div class="flex items-baseline gap-4"> <div class="font-inter font-normal text-14 text-heading"> 
3428$1,750 </div> <span>/mo, billed annually</span> </div>  </div> </div>  </th><th scope="col" class="sticky top-0 md:top-[4.5rem] z-10 px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 w-[12.5rem] first:sticky first:left-0 first:z-50 first:bg-background first:min-w-[10.5rem] first:w-[10.5rem]" :class="($el.cellIndex === 0 && hoveredCol === 0) && 'bg-layer-1!'" @mouseenter="setHoveredFromHeader($el)">  <div class="flex flex-col gap-4"> <span class="font-inter-tight font-normal text-24 text-heading"> Professional </span> <a href="/contact-sales?pricing=Vendor%20Risk%3A%20Professional" data-e="CTA Clicked" data-e-link-type="free_trial_button" data-e-location="pricing_table_vendor_risk_professional" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 underline transition ease-out hover:text-heading">Contact sales </a> </div>  </th><th scope="col" class="sticky top-0 md:top-[4.5rem] z-10 px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 w-[12.5rem] first:sticky first:left-0 first:z-50 first:bg-background first:min-w-[10.5rem] first:w-[10.5rem]" :class="($el.cellIndex === 0 && hoveredCol === 0) && 'bg-layer-1!'" @mouseenter="setHoveredFromHeader($el)">  <div class="flex flex-col gap-4"> <span class="font-inter-tight font-normal text-24 text-heading"> Corporate </span> <a href="/contact-sales?pricing=Vendor%20Risk%3A%20Corporate" data-e="CTA Clicked" data-e-link-type="book_demo_button" data-e-location="pricing_table_vendor_risk_corporate" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 underline transition ease-out hover:text-heading">Contact sales </a> </div>  </th><th scope="col" class="sticky top-0 md:top-[4.5rem] z-10 px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 w-[12.5rem] first:sticky first:left-0 first:z-50 first:bg
3428-background first:min-w-[10.5rem] first:w-[10.5rem]" :class="($el.cellIndex === 0 && hoveredCol === 0) && 'bg-layer-1!'" @mouseenter="setHoveredFromHeader($el)">  <div class="flex flex-col gap-4"> <span class="font-inter-tight font-normal text-24 text-heading"> Enterprise </span> <a href="/contact-sales?pricing=Vendor%20Risk%3A%20Enterprise" data-e="CTA Clicked" data-e-link-type="book_demo_button" data-e-location="pricing_table_vendor_risk_enterprise" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 underline transition ease-out hover:text-heading">Contact sales </a> </div>  </th><th scope="col" class="sticky top-0 md:top-[4.5rem] z-10 px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 w-[12.5rem] first:sticky first:left-0 first:z-50 first:bg-background first:min-w-[10.5rem] first:w-[10.5rem]" :class="($el.cellIndex === 0 && hoveredCol === 0) && 'bg-layer-1!'" @mouseenter="setHoveredFromHeader($el)">  <div class="flex flex-col gap-4"> <span class="font-inter-tight font-normal text-24 text-heading"> Enterprise+ </span> <a href="/contact-sales?pricing=Vendor%20Risk%3A%20Enterprise%20Plus" data-e="CTA Clicked" data-e-link-type="book_demo_button" data-e-location="pricing_table_vendor_risk_enterprise_plus" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 underline transition ease-out hover:text-heading">Contact sales </a> </div>  </th> </tr> </thead> </table> </div> </div>  <div class="overflow-x-auto overflow-y-visible relative" x-ref="bodyScroll" @mouseleave="clearHover()" @scroll="syncScroll('bodyScroll', 'headerScroll')"> <div class="pointer-events-none absolute left-0 top-0 z-20 mix-blend-multiply transition-opacity duration-250 ease-out motion-reduce:transition-none" x-bind:style="`opacity: ${rowOverlay.visible || colOverlay.visible ? 1 : 0};`" aria-hidden="true"> <div class="absolute left-0 top-0 bg-layer-1 transition-[transform,height,width,opacity] duration-250 ease-out motion-reduce:transition-none" x-bind:style="`transform: translate3d(0, ${rowOverlay.y}px, 0); height: ${rowOverlay.height}px; width: ${rowOverlay.width}px; opacity: ${rowOverlay.visible ? 1 : 0};`"></div> <div class="absolute left-0 top-0 bg-layer-1 transition-[transform,height,width,opacity] duration-250 ease-out motion-reduce:transition-none" x-bind:style="`transform: translate3d(${colOverlay.x}px, 0, 0); height: ${colOverlay.height}px; width: ${colOverlay.width}px; opacity: ${colOverlay.visible ? 1 : 0};`"></div> </div> <table class="w-full min-w-[40rem] table-fixed text-left relative z-10" x-ref="bodyTable"> <caption class="sr-only">Vendor Risk Pricing Table: Pricing comparison: SMB, Corporate, Enterprise, Enterprise+</caption> <colgroup> <col style="width: 10.5rem"> <col style="width: 12.5rem"><col style="width: 12.5rem"><col style="width: 12.5rem"><col style="width: 12.5rem"><col style="width: 12.5rem"> </colgroup> <thead class="sr-only"><tr class @mouseenter="setHoveredFromRow($el)">  <th scope="col" class="sticky top-0 md:top-[4.5rem] z-10 px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 w-[12.5rem] first:sticky first:left-0 first:z-50 first:bg-background first:min-w-[10.5rem] first:w-[10.5rem]" :class="($el.cellIndex === 0 && hoveredCol === 0) && 'bg-layer-1!'" @mouseenter="setHoveredFromHeader($el)">  <span class="sr-only">Feature</span>  </th> <th scope="col" class="sticky top-0 md:top-[4.5rem] z-10 px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 w-[12.5rem] first:sticky first:left-0 first:z-50 first:bg-background first:min-w-[10.5rem] first:w-[10.5rem]" :class="($el.cellIndex === 0 && hoveredCol === 0) && 'bg-layer-1!'" @mouseenter="setHoveredFromHeader($el)">  <div class="flex flex-col gap-4"> <span class="font-inter-tight font-normal text-24 text-heading"> Standard </span> <div class="font-inter font-normal text-14">  <div class="flex items-baseline gap-4"> <div class="font-inter font-normal text-14 text-heading"> 
3429$1,750 </div> <span>/mo, billed annually</span> </div>  </div> </div>  </th><th scope="col" class="sticky top-0 md:top-[4.5rem] z-10 px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 w-[12.5rem] first:sticky first:left-0 first:z-50 first:bg
3429-background first:min-w-[10.5rem] first:w-[10.5rem]" :class="($el.cellIndex === 0 && hoveredCol === 0) && 'bg-layer-1!'" @mouseenter="setHoveredFromHeader($el)">  <div class="flex flex-col gap-4"> <span class="font-inter-tight font-normal text-24 text-heading"> Professional </span> <a href="/contact-sales?pricing=Vendor%20Risk%3A%20Professional" data-e="CTA Clicked" data-e-link-type="free_trial_button" data-e-location="pricing_table_vendor_risk_professional" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 underline transition ease-out hover:text-heading">Contact sales </a> </div>  </th><th scope="col" class="sticky top-0 md:top-[4.5rem] z-10 px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 w-[12.5rem] first:sticky first:left-0 first:z-50 first:bg-background first:min-w-[10.5rem] first:w-[10.5rem]" :class="($el.cellIndex === 0 && hoveredCol === 0) && 'bg-layer-1!'" @mouseenter="setHoveredFromHeader($el)">  <div class="flex flex-col gap-4"> <span class="font-inter-tight font-normal text-24 text-heading"> Corporate </span> <a href="/contact-sales?pricing=Vendor%20Risk%3A%20Corporate" data-e="CTA Clicked" data-e-link-type="book_demo_button" data-e-location="pricing_table_vendor_risk_corporate" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 underline transition ease-out hover:text-heading">Contact sales </a> </div>  </th><th scope="col" class="sticky top-0 md:top-[4.5rem] z-10 px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 w-[12.5rem] first:sticky first:left-0 first:z-50 first:bg-background first:min-w-[10.5rem] first:w-[10.5rem]" :class="($el.cellIndex === 0 && hoveredCol === 0) && 'bg-layer-1!'" @mouseenter="setHoveredFromHeader($el)">  <div class="flex flex-col gap-4"> <span class="font-inter-tight font-normal text-24 text-heading"> Enterprise </span> <a href="/contact-sales?pricing=Vendor%20Risk%3A%20Enterprise" data-e="CTA Clicked" data-e-link-type="book_demo_button" data-e-location="pricing_table_vendor_risk_enterprise" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 underline transition ease-out hover:text-heading">Contact sales </a> </div>  </th><th scope="col" class="sticky top-0 md:top-[4.5rem] z-10 px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 w-[12.5rem] first:sticky first:left-0 first:z-50 first:bg-background first:min-w-[10.5rem] first:w-[10.5rem]" :class="($el.cellIndex === 0 && hoveredCol === 0) && 'bg-layer-1!'" @mouseenter="setHoveredFromHeader($el)">  <div class="flex flex-col gap-4"> <span class="font-inter-tight font-normal text-24 text-heading"> Enterprise+ </span> <a href="/contact-sales?pricing=Vendor%20Risk%3A%20Enterprise%20Plus" data-e="CTA Clicked" data-e-link-type="book_demo_button" data-e-location="pricing_table_vendor_risk_enterprise_plus" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 underline transition ease-out hover:text-heading">Contact sales </a> </div>  </th> </tr></thead><tbody> <tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Vendor Monitoring Slots </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3430  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3431  show() { this.open = true; this.$nextTick(() => this.place()) },
3432  hide() { this.open = false },
3433  toggle() { this.open ? this.hide() : this.show() },
3434  place() {
3435    if (!this.open) return;
3436    const t = this.$refs.trigger?.getBoundingClientRect();
3437    const p = this.$refs.tooltip?.getBoundingClientRect();
3438    if (!t || !p) return;
3439    const cx = t.left + t.width / 2;
3440    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3441    this.above = t.top - p.height - 8 >= 12;
3442    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3443    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3444  },
3445  reposition() {
3446    if (this._raf) return;
3447    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3448  },
3449}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Vendor Monitoring Slots" aria-describedby="tooltip-d2296557-5515-4dea-85d9-d8536d7c892d"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3450    <g fill="#6b6b6b">
3451        <path d="m9 9h2v2h-2z" />
3452        <path d="m11 7h3v2h-3z" />
3453        <path d="m14 9h2v3h-2z" />
3454        <path d="m12 12h2v3h-2z" />
3455        <path d="m12 17h2v2h-2z" />
3456    </g>
3457</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-d2296557-5515-4dea-85d9-d8536d7c892d" role="tooltip" aria-label="Continuously monitor vendors for security changes, rating drops, and new risks that could impact your business" aria-labelledby="tooltip-d2296557-5515-4dea-85d9-d8536d7c892d-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-d2296557-5515-4dea-85d9-d8536d7c892d-content"> Continuously monitor vendors for security changes, rating drops, and new risks that could impact your business </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3457-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> 50 </span>  </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> 150 </span>  </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> 500 </span>  </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> Unlimited </span>  </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> Unlimited </span>  </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Platform Users (Admin/General) </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3458  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3459  show() { this.open = true; this.$nextTick(() => this.place()) },
3460  hide() { this.open = false },
3461  toggle() { this.open ? this.hide() : this.show() },
3462  place() {
3463    if (!this.open) return;
3464    const t = this.$refs.trigger?.getBoundingClientRect();
3465    const p = this.$refs.tooltip?.getBoundingClientRect();
3466    if (!t || !p) return;
3467    const cx = t.left + t.width / 2;
3468    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3469    this.above = t.top - p.height - 8 >= 12;
3470    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3471    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3472  },
3473  reposition() {
3474    if (this._raf) return;
3475    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3476  },
3477}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Platform Users (Admin/General)" aria-describedby="tooltip-cf43b8f5-d96b-4593-8ff2-e92f0e833a41"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3478    <g fill="#6b6b6b">
3479        <path d="m9 9h2v2h-2z" />
3480        <path d="m11 7h3v2h-3z" />
3481        <path d="m14 9h2v3h-2z" />
3482        <path d="m12 12h2v3h-2z" />
3483        <path d="m12 17h2v2h-2z" />
3484    </g>
3485</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-cf43b8f5-d96b-4593-8ff2-e92f0e833a41" role="tooltip" aria-label="Tailor access for your team to protect sensitive information" aria-labelledby="tooltip-cf43b8f5-d96b-4593-8ff2-e92f0e833a41-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-cf43b8f5-d96b-4593-8ff2-e92f0e833a41-content"> Tailor access for your team to protect sensitive information </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3485-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> 6 </span>  </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> 6 </span>  </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> 10 </span>  </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> 30 </span>  </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> Unlimited </span>  </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Platform Users (Read-only) </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3486  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3487  show() { this.open = true; this.$nextTick(() => this.place()) },
3488  hide() { this.open = false },
3489  toggle() { this.open ? this.hide() : this.show() },
3490  place() {
3491    if (!this.open) return;
3492    const t = this.$refs.trigger?.getBoundingClientRect();
3493    const p = this.$refs.tooltip?.getBoundingClientRect();
3494    if (!t || !p) return;
3495    const cx = t.left + t.width / 2;
3496    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3497    this.above = t.top - p.height - 8 >= 12;
3498    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3499    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3500  },
3501  reposition() {
3502    if (this._raf) return;
3503    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3504  },
3505}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Platform Users (Read-only)" aria-describedby="tooltip-eda79d88-5cdd-488b-8f30-dc18b6cfbf84"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3506    <g fill="#6b6b6b">
3507        <path d="m9 9h2v2h-2z" />
3508        <path d="m11 7h3v2h-3z" />
3509        <path d="m14 9h2v3h-2z" />
3510        <path d="m12 12h2v3h-2z" />
3511        <path d="m12 17h2v2h-2z" />
3512    </g>
3513</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-eda79d88-5cdd-488b-8f30-dc18b6cfbf84" role="tooltip" aria-label="View-only access for executives and stakeholders who need visibility without edit permissions" aria-labelledby="tooltip-eda79d88-5cdd-488b-8f30-dc18b6cfbf84-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-eda79d88-5cdd-488b-8f30-dc18b6cfbf84-content"> View-only access for executives and stakeholders who need visibility without edit permissions </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3513-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> Unlimited </span>  </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> Unlimited </span>  </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> Unlimited </span>  </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> Unlimited </span>  </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> Unlimited </span>  </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Role-Based Access </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3514  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3515  show() { this.open = true; this.$nextTick(() => this.place()) },
3516  hide() { this.open = false },
3517  toggle() { this.open ? this.hide() : this.show() },
3518  place() {
3519    if (!this.open) return;
3520    const t = this.$refs.trigger?.getBoundingClientRect();
3521    const p = this.$refs.tooltip?.getBoundingClientRect();
3522    if (!t || !p) return;
3523    const cx = t.left + t.width / 2;
3524    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3525    this.above = t.top - p.height - 8 >= 12;
3526    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3527    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3528  },
3529  reposition() {
3530    if (this._raf) return;
3531    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3532  },
3533}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Role-Based Access" aria-describedby="tooltip-56b40d12-af2a-4c2b-812a-aaf1b87ae5f1"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3534    <g fill="#6b6b6b">
3535        <path d="m9 9h2v2h-2z" />
3536        <path d="m11 7h3v2h-3z" />
3537        <path d="m14 9h2v3h-2z" />
3538        <path d="m12 12h2v3h-2z" />
3539        <path d="m12 17h2v2h-2z" />
3540    </g>
3541</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-56b40d12-af2a-4c2b-812a-aaf1b87ae5f1" role="tooltip" aria-label="Control who can view, edit, and manage specific data across your vendor risk program" aria-labelledby="tooltip-56b40d12-af2a-4c2b-812a-aaf1b87ae5f1-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-56b40d12-af2a-4c2b-812a-aaf1b87ae5f1-content"> Control who can view, edit, and manage specific data across your vendor risk program </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3541-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3542    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3543</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3544    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3545</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3546    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3547</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3548    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3549</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Audit Log </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3550  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3551  show() { this.open = true; this.$nextTick(() => this.place()) },
3552  hide() { this.open = false },
3553  toggle() { this.open ? this.hide() : this.show() },
3554  place() {
3555    if (!this.open) return;
3556    const t = this.$refs.trigger?.getBoundingClientRect();
3557    const p = this.$refs.tooltip?.getBoundingClientRect();
3558    if (!t || !p) return;
3559    const cx = t.left + t.width / 2;
3560    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3561    this.above = t.top - p.height - 8 >= 12;
3562    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3563    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3564  },
3565  reposition() {
3566    if (this._raf) return;
3567    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3568  },
3569}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Audit Log" aria-describedby="tooltip-bebaa9ea-9632-4b0f-b7bc-8ee98521ed15"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3570    <g fill="#6b6b6b">
3571        <path d="m9 9h2v2h-2z" />
3572        <path d="m11 7h3v2h-3z" />
3573        <path d="m14 9h2v3h-2z" />
3574        <path d="m12 12h2v3h-2z" />
3575        <path d="m12 17h2v2h-2z" />
3576    </g>
3577</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-bebaa9ea-9632-4b0f-b7bc-8ee98521ed15" role="tooltip" aria-label="Maintain a complete record of user activity to support audits and demonstrate oversight" aria-labelledby="tooltip-bebaa9ea-9632-4b0f-b7bc-8ee98521ed15-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-bebaa9ea-9632-4b0f-b7bc-8ee98521ed15-content"> Maintain a complete record of user activity to support audits and demonstrate oversight </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3577-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3578    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3579</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3580    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3581</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3582    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3583</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3584    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3585</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> SSO </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3586  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3587  show() { this.open = true; this.$nextTick(() => this.place()) },
3588  hide() { this.open = false },
3589  toggle() { this.open ? this.hide() : this.show() },
3590  place() {
3591    if (!this.open) return;
3592    const t = this.$refs.trigger?.getBoundingClientRect();
3593    const p = this.$refs.tooltip?.getBoundingClientRect();
3594    if (!t || !p) return;
3595    const cx = t.left + t.width / 2;
3596    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3597    this.above = t.top - p.height - 8 >= 12;
3598    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3599    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3600  },
3601  reposition() {
3602    if (this._raf) return;
3603    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3604  },
3605}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about SSO" aria-describedby="tooltip-8c846cdb-0900-4425-ac19-d902db388b44"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3606    <g fill="#6b6b6b">
3607        <path d="m9 9h2v2h-2z" />
3608        <path d="m11 7h3v2h-3z" />
3609        <path d="m14 9h2v3h-2z" />
3610        <path d="m12 12h2v3h-2z" />
3611        <path d="m12 17h2v2h-2z" />
3612    </g>
3613</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-8c846cdb-0900-4425-ac19-d902db388b44" role="tooltip" aria-label="Enable secure, enterprise-grade access through your existing identity provider (e.g., Microsoft Azure, Okta, Ping Identity)" aria-labelledby="tooltip-8c846cdb-0900-4425-ac19-d902db388b44-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-8c846cdb-0900-4425-ac19-d902db388b44-content"> Enable secure, enterprise-grade access through your existing identity provider (e.g., Microsoft Azure, Okta, Ping Identity) </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3613-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3614    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3615</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3616    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3617</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3618    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3619</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3620    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3621</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3622    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3623</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> API Access </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3624  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3625  show() { this.open = true; this.$nextTick(() => this.place()) },
3626  hide() { this.open = false },
3627  toggle() { this.open ? this.hide() : this.show() },
3628  place() {
3629    if (!this.open) return;
3630    const t = this.$refs.trigger?.getBoundingClientRect();
3631    const p = this.$refs.tooltip?.getBoundingClientRect();
3632    if (!t || !p) return;
3633    const cx = t.left + t.width / 2;
3634    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3635    this.above = t.top - p.height - 8 >= 12;
3636    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3637    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3638  },
3639  reposition() {
3640    if (this._raf) return;
3641    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3642  },
3643}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about API Access" aria-describedby="tooltip-ed535011-32f5-4640-8c17-0397238c811c"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3644    <g fill="#6b6b6b">
3645        <path d="m9 9h2v2h-2z" />
3646        <path d="m11 7h3v2h-3z" />
3647        <path d="m14 9h2v3h-2z" />
3648        <path d="m12 12h2v3h-2z" />
3649        <path d="m12 17h2v2h-2z" />
3650    </g>
3651</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-ed535011-32f5-4640-8c17-0397238c811c" role="tooltip" aria-label="Integrate vendor risk data into other internal systems for downstream reporting and workflows" aria-labelledby="tooltip-ed535011-32f5-4640-8c17-0397238c811c-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-ed535011-32f5-4640-8c17-0397238c811c-content"> Integrate vendor risk data into other internal systems for downstream reporting and workflows </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3651-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3652    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3653</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3654    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3655</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3656    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3657</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3658    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3659</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3660    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3661</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> News &amp; Incidents </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3662  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3663  show() { this.open = true; this.$nextTick(() => this.place()) },
3664  hide() { this.open = false },
3665  toggle() { this.open ? this.hide() : this.show() },
3666  place() {
3667    if (!this.open) return;
3668    const t = this.$refs.trigger?.getBoundingClientRect();
3669    const p = this.$refs.tooltip?.getBoundingClientRect();
3670    if (!t || !p) return;
3671    const cx = t.left + t.width / 2;
3672    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3673    this.above = t.top - p.height - 8 >= 12;
3674    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3675    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3676  },
3677  reposition() {
3678    if (this._raf) return;
3679    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3680  },
3681}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about News &#38; Incidents" aria-describedby="tooltip-67a6f213-cfad-4bb0-acbf-2ce6fb95e8db"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3682    <g fill="#6b6b6b">
3683        <path d="m9 9h2v2h-2z" />
3684        <path d="m11 7h3v2h-3z" />
3685        <path d="m14 9h2v3h-2z" />
3686        <path d="m12 12h2v3h-2z" />
3687        <path d="m12 17h2v2h-2z" />
3688    </g>
3689</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-67a6f213-cfad-4bb0-acbf-2ce6fb95e8db" role="tooltip" aria-label="Receive instant alerts when vend
3689ors experience breaches or major security events that change their risk profile" aria-labelledby="tooltip-67a6f213-cfad-4bb0-acbf-2ce6fb95e8db-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-67a6f213-cfad-4bb0-acbf-2ce6fb95e8db-content"> Receive instant alerts when vendors experience breaches or major security events that change their risk profile </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3690    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3691</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3692    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3693</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3694    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3695</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3696    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3697</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3698    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3699</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3699-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Vendor Summary </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3700  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3701  show() { this.open = true; this.$nextTick(() => this.place()) },
3702  hide() { this.open = false },
3703  toggle() { this.open ? this.hide() : this.show() },
3704  place() {
3705    if (!this.open) return;
3706    const t = this.$refs.trigger?.getBoundingClientRect();
3707    const p = this.$refs.tooltip?.getBoundingClientRect();
3708    if (!t || !p) return;
3709    const cx = t.left + t.width / 2;
3710    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3711    this.above = t.top - p.height - 8 >= 12;
3712    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3713    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3714  },
3715  reposition() {
3716    if (this._raf) return;
3717    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3718  },
3719}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Vendor Summary" aria-describedby="tooltip-fd2a192d-56e2-4f9b-9880-1242f56d1c4b"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3720    <g fill="#6b6b6b">
3721        <path d="m9 9h2v2h-2z" />
3722        <path d="m11 7h3v2h-3z" />
3723        <path d="m14 9h2v3h-2z" />
3724        <path d="m12 12h2v3h-2z" />
3725        <path d="m12 17h2v2h-2z" />
3726    </g>
3727</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-fd2a192d-56e2-4f9b-9880-1242f56d1c4b" role="tooltip" aria-label="Centralize tiers, tags, portfolios, and custom attributes to organize your vendor inventory—making filtering, reporting, and program oversight effortless." aria-labelledby="tooltip-fd2a192d-56e2-4f9b-9880-1242f56d1c4b-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-fd2a192d-56e2-4f9b-9880-1242f56d1c4b-content"> Centralize tiers, tags, portfolios, and custom attributes to organize your vendor inventory—making filtering, reporting, and program oversight effortless. </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3728    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3729</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3730    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3731</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3731-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3732    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3733</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3734    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3735</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3736    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3737</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Onboarding Questionnaire </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3738  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3739  show() { this.open = true; this.$nextTick(() => this.place()) },
3740  hide() { this.open = false },
3741  toggle() { this.open ? this.hide() : this.show() },
3742  place() {
3743    if (!this.open) return;
3744    const t = this.$refs.trigger?.getBoundingClientRect();
3745    const p = this.$refs.tooltip?.getBoundingClientRect();
3746    if (!t || !p) return;
3747    const cx = t.left + t.width / 2;
3748    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3749    this.above = t.top - p.height - 8 >= 12;
3750    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3751    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3752  },
3753  reposition() {
3754    if (this._raf) return;
3755    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3756  },
3757}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Onboarding Questionnaire" aria-describedby="tooltip-f91ef376-bd9b-4965-93b8-8749a55c858c"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3758    <g fill="#6b6b6b">
3759        <path d="m9 9h2v2h-2z" />
3760        <path d="m11 7h3v2h-3z" />
3761        <path d="m14 9h2v3h-2z" />
3762        <path d="m12 12h2v3h-2z" />
3763        <path d="m12 17h2v2h-2z" />
3764    </g>
3765</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-f91ef376-bd9b-4965-93b8-8749a55c858c" role="tooltip" aria-label="Capture critical vendor relationship context to properly tier vendors and scope assessments" aria-labelledby="tooltip-f91ef376-bd9b-4965-93b8-8749a55c858c-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-f91ef376-bd9b-4965-93b8-8749a55c858c-content"> Capture critical vendor relationship context to properly tier vendors and scope assessments </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3765-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3766    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3767</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3768    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3769</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3770    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3771</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3772    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3773</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3774    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3775</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Questionnaire Builder </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3776  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3777  show() { this.open = true; this.$nextTick(() => this.place()) },
3778  hide() { this.open = false },
3779  toggle() { this.open ? this.hide() : this.show() },
3780  place() {
3781    if (!this.open) return;
3782    const t = this.$refs.trigger?.getBoundingClientRect();
3783    const p = this.$refs.tooltip?.getBoundingClientRect();
3784    if (!t || !p) return;
3785    const cx = t.left + t.width / 2;
3786    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3787    this.above = t.top - p.height - 8 >= 12;
3788    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3789    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3790  },
3791  reposition() {
3792    if (this._raf) return;
3793    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3794  },
3795}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Questionnaire Builder" aria-describedby="tooltip-fb682579-1e27-492d-9491-e5829b4b12d5"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3796    <g fill="#6b6b6b">
3797        <path d="m9 9h2v2h-2z" />
3798        <path d="m11 7h3v2h-3z" />
3799        <path d="m14 9h2v3h-2z" />
3800        <path d="m12 12h2v3h-2z" />
3801        <path d="m12 17h2v2h-2z" />
3802    </g>
3803</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-fb682579-1e27-492d-9491-e5829b4b12d5" role="tooltip" aria-label="Create tailored security questionnaires aligned to your internal standards that automate risk discovery - so you can spend time remediating risk instead of reading responses." aria-labelledby="tooltip-fb682579-1e27-492d-9491-e5829b4b12d5-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-fb682579-1e27-492d-9491-e5829b4b12d5-content"> Create tailored security questionnaires aligned to your internal standards that automate risk discovery - so you can spend time remediating risk instead of reading responses. </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3803-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3804    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3805</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3806    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3807</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3808    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3809</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3810    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3811</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3812    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3813</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Questionnaire Library </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3814  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3815  show() { this.open = true; this.$nextTick(() => this.place()) },
3816  hide() { this.open = false },
3817  toggle() { this.open ? this.hide() : this.show() },
3818  place() {
3819    if (!this.open) return;
3820    const t = this.$refs.trigger?.getBoundingClientRect();
3821    const p = this.$refs.tooltip?.getBoundingClientRect();
3822    if (!t || !p) return;
3823    const cx = t.left + t.width / 2;
3824    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3825    this.above = t.top - p.height - 8 >= 12;
3826    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3827    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3828  },
3829  reposition() {
3830    if (this._raf) return;
3831    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3832  },
3833}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Questionnaire Library" aria-describedby="tooltip-234f00ce-13d2-4d61-9920-fe7f2a5adb09"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3834    <g fill="#6b6b6b">
3835        <path d="m9 9h2v2h-2z" />
3836        <path d="m11 7h3v2h-3z" />
3837        <path d="m14 9h2v3h-2z" />
3838        <path d="m12 12h2v3h-2z" />
3839        <path d="m12 17h2v2h-2z" />
3840    </g>
3841</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-234f00ce-13d2-4d61-9920-fe7f2a5adb09" role="tooltip" aria-label="Accelerate assessments with pre-built questionnaires aligned to leading security frameworks" aria-labelledby="tooltip-234f00ce-13d2-4d61-9920-fe7f2a5adb09-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-234f00ce-13d2-4d61-9920-fe7f2a5adb09-content"> Accelerate assessments with pre-built questionnaires aligned to leading security frameworks </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3841-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3842    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3843</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3844    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3845</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3846    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3847</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3848    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3849</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3850    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3851</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Traditional Risk Assessment Workflows </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3852  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3853  show() { this.open = true; this.$nextTick(() => this.place()) },
3854  hide() { this.open = false },
3855  toggle() { this.open ? this.hide() : this.show() },
3856  place() {
3857    if (!this.open) return;
3858    const t = this.$refs.trigger?.getBoundingClientRect();
3859    const p = this.$refs.tooltip?.getBoundingClientRect();
3860    if (!t || !p) return;
3861    const cx = t.left + t.width / 2;
3862    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3863    this.above = t.top - p.height - 8 >= 12;
3864    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3865    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3866  },
3867  reposition() {
3868    if (this._raf) return;
3869    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3870  },
3871}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Traditional Risk Assessment Workflows" aria-describedby="tooltip-1fe72359
3871-4ab3-4f48-863d-f2ffeff9b6ae"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3872    <g fill="#6b6b6b">
3873        <path d="m9 9h2v2h-2z" />
3874        <path d="m11 7h3v2h-3z" />
3875        <path d="m14 9h2v3h-2z" />
3876        <path d="m12 12h2v3h-2z" />
3877        <path d="m12 17h2v2h-2z" />
3878    </g>
3879</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-1fe72359-4ab3-4f48-863d-f2ffeff9b6ae" role="tooltip" aria-label="Run structured, repeatable vendor risk assessments with consistent scoring and defensible outcomes" aria-labelledby="tooltip-1fe72359-4ab3-4f48-863d-f2ffeff9b6ae-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-1fe72359-4ab3-4f48-863d-f2ffeff9b6ae-content"> Run structured, repeatable vendor risk assessments with consistent scoring and defensible outcomes </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3880    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3881</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3882    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3883</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3884    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3885</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3886    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3887</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3888    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3889</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3889-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Security Profile </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3890  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3891  show() { this.open = true; this.$nextTick(() => this.place()) },
3892  hide() { this.open = false },
3893  toggle() { this.open ? this.hide() : this.show() },
3894  place() {
3895    if (!this.open) return;
3896    const t = this.$refs.trigger?.getBoundingClientRect();
3897    const p = this.$refs.tooltip?.getBoundingClientRect();
3898    if (!t || !p) return;
3899    const cx = t.left + t.width / 2;
3900    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3901    this.above = t.top - p.height - 8 >= 12;
3902    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3903    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3904  },
3905  reposition() {
3906    if (this._raf) return;
3907    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3908  },
3909}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Security Profile" aria-describedby="tooltip-25c13eb5-2400-4c88-aec1-7f0ba6ab6f0e"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3910    <g fill="#6b6b6b">
3911        <path d="m9 9h2v2h-2z" />
3912        <path d="m11 7h3v2h-3z" />
3913        <path d="m14 9h2v3h-2z" />
3914        <path d="m12 12h2v3h-2z" />
3915        <path d="m12 17h2v2h-2z" />
3916    </g>
3917</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-25c13eb5-2400-4c88-aec1-7f0ba6ab6f0e" role="tooltip" aria-label="See how a vendor's controls stack up against UpGuard standards and frameworks like ISO 27001 or NIST CSF -- using AI document parsing to deliver rapid, structured assessments." aria-labelledby="tooltip-25c13eb5-2400-4c88-aec1-7f0ba6ab6f0e-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-25c13eb5-2400-4c88-aec1-7f0ba6ab6f0e-content"> See how a vendor&#39;s controls stack up against UpGuard standards and frameworks like ISO 27001 or NIST CSF -- using AI document parsing to deliver rapid, structured assessments. </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3918    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3919</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3919-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3920    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3921</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3922    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3923</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3924    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3925</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3926    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3927</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Instant Risk Assessments </span>  </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3928    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3929</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3930    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3931</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3932    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3933</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3933-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3934    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3935</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3936    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3937</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Risk &amp; Remediation Management </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3938  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3939  show() { this.open = true; this.$nextTick(() => this.place()) },
3940  hide() { this.open = false },
3941  toggle() { this.open ? this.hide() : this.show() },
3942  place() {
3943    if (!this.open) return;
3944    const t = this.$refs.trigger?.getBoundingClientRect();
3945    const p = this.$refs.tooltip?.getBoundingClientRect();
3946    if (!t || !p) return;
3947    const cx = t.left + t.width / 2;
3948    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3949    this.above = t.top - p.height - 8 >= 12;
3950    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3951    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3952  },
3953  reposition() {
3954    if (this._raf) return;
3955    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3956  },
3957}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Risk &#38; Remediation Management" aria-describedby="tooltip-24566147-9bda-444d-a38a-b5afa98af35b"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3958    <g fill="#6b6b6b">
3959        <path d="m9 9h2v2h-2z" />
3960        <path d="m11 7h3v2h-3z" />
3961        <path d="m14 9h2v3h-2z" />
3962        <path d="m12 12h2v3h-2z" />
3963        <path d="m12 17h2v2h-2z" />
3964    </g>
3965</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-24566147-9bda-444d-a38a-b5afa98af35b" role="tooltip" aria-label="Track identified risks and manage vendor remediation through to resolution with guided workflows and advice" aria-labelledby="tooltip-24566147-9bda-444d-a38a-b5afa98af35b-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-24566147-9bda-444d-a38a-b5afa98af35b-content"> Track identified risks and manage vendor remediation through to resolution with guided workflows and advice </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
3965-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3966    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3967</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3968    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3969</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3970    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3971</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3972    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3973</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
3974    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
3975</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Vulnerability Management </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
3976  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
3977  show() { this.open = true; this.$nextTick(() => this.place()) },
3978  hide() { this.open = false },
3979  toggle() { this.open ? this.hide() : this.show() },
3980  place() {
3981    if (!this.open) return;
3982    const t = this.$refs.trigger?.getBoundingClientRect();
3983    const p = this.$refs.tooltip?.getBoundingClientRect();
3984    if (!t || !p) return;
3985    const cx = t.left + t.width / 2;
3986    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
3987    this.above = t.top - p.height - 8 >= 12;
3988    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
3989    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
3990  },
3991  reposition() {
3992    if (this._raf) return;
3993    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
3994  },
3995}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Vulnerability Management" aria-describedby="tooltip-f7ffd861-5aa4-4b55-bf4b-4e9f9919f1a6"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
3996    <g fill="#6b6b6b">
3997        <path d="m9 9h2v2h-2z" />
3998        <path d="m11 7h3v2h-3z" />
3999        <path d="m14 9h2v3h-2z" />
4000        <path d="m12 12h2v3h-2z" />
4001        <path d="m12 17h2v2h-2z" />
4002    </g>
4003</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-f7ffd861-5aa4-4b55-bf4b-4e9f9919f1a6" role="tooltip" aria-label="Prioritize fixes based on exploitability. Identify misconfigurations and prioritize remediation with vendors." aria-labelledby="tooltip-f7ffd861-5aa4-4b55-bf4b-4e9f9919f1a6-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-f7ffd861-5aa4-4b55-bf4b-4e9f9919f1a6-content"> Prioritize fixes based on exploitability. Identify misconfigurations and prioritize remediation with vendors. </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
4003-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4004    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4005</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4006    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4007</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4008    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4009</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4010    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4011</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4012    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4013</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Additional Evidence/Documents </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
4014  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
4015  show() { this.open = true; this.$nextTick(() => this.place()) },
4016  hide() { this.open = false },
4017  toggle() { this.open ? this.hide() : this.show() },
4018  place() {
4019    if (!this.open) return;
4020    const t = this.$refs.trigger?.getBoundingClientRect();
4021    const p = this.$refs.tooltip?.getBoundingClientRect();
4022    if (!t || !p) return;
4023    const cx = t.left + t.width / 2;
4024    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
4025    this.above = t.top - p.height - 8 >= 12;
4026    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
4027    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
4028  },
4029  reposition() {
4030    if (this._raf) return;
4031    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
4032  },
4033}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Additional Evidence/Documents" aria-describedby="tooltip-19c678db-911b-46d1-92de-318041e6a7b4"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
4034    <g fill="#6b6b6b">
4035        <path d="m9 9h2v2h-2z" />
4036        <path d="m11 7h3v2h-3z" />
4037        <path d="m14 9h2v3h-2z" />
4038        <path d="m12 12h2v3h-2z" />
4039        <path d="m12 17h2v2h-2z" />
4040    </g>
4041</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-19c678db-911b-46d1-92de-318041e6a7b4" role="tooltip" aria-label="Store and manage supporting documents and compliance evidence in one centralized location" aria-labelledby="tooltip-19c678db-911b-46d1-92de-318041e6a7b4-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-19c678db-911b-46d1-92de-318041e6a7b4-content"> Store and manage supporting documents and compliance evidence in one centralized location </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
4041-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4042    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4043</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4044    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4045</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4046    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4047</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4048    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4049</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4050    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4051</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Recurring Reports </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
4052  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
4053  show() { this.open = true; this.$nextTick(() => this.place()) },
4054  hide() { this.open = false },
4055  toggle() { this.open ? this.hide() : this.show() },
4056  place() {
4057    if (!this.open) return;
4058    const t = this.$refs.trigger?.getBoundingClientRect();
4059    const p = this.$refs.tooltip?.getBoundingClientRect();
4060    if (!t || !p) return;
4061    const cx = t.left + t.width / 2;
4062    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
4063    this.above = t.top - p.height - 8 >= 12;
4064    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
4065    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
4066  },
4067  reposition() {
4068    if (this._raf) return;
4069    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
4070  },
4071}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Recurring Reports" aria-describedby="tooltip-c302571e-a8dc-4f7f-acf7-22d662b6fe75"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
4072    <g fill="#6b6b6b">
4073        <path d="m9 9h2v2h-2z" />
4074        <path d="m11 7h3v2h-3z" />
4075        <path d="m14 9h2v3h-2z" />
4076        <path d="m12 12h2v3h-2z" />
4077        <path d="m12 17h2v2h-2z" />
4078    </g>
4079</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-c302571e-a8dc-4f7f-acf7-22d662b6fe75" role="tooltip" aria-label="Automatically deliver executive-ready vendor risk reports on a 
4079scheduled basis" aria-labelledby="tooltip-c302571e-a8dc-4f7f-acf7-22d662b6fe75-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-c302571e-a8dc-4f7f-acf7-22d662b6fe75-content"> Automatically deliver executive-ready vendor risk reports on a scheduled basis </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4080    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4081</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4082    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4083</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4084    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4085</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4086    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4087</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4088    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4089</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
4089-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Fourth Parties </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
4090  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
4091  show() { this.open = true; this.$nextTick(() => this.place()) },
4092  hide() { this.open = false },
4093  toggle() { this.open ? this.hide() : this.show() },
4094  place() {
4095    if (!this.open) return;
4096    const t = this.$refs.trigger?.getBoundingClientRect();
4097    const p = this.$refs.tooltip?.getBoundingClientRect();
4098    if (!t || !p) return;
4099    const cx = t.left + t.width / 2;
4100    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
4101    this.above = t.top - p.height - 8 >= 12;
4102    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
4103    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
4104  },
4105  reposition() {
4106    if (this._raf) return;
4107    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
4108  },
4109}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Fourth Parties" aria-describedby="tooltip-c8ba1e8c-984e-45be-bc74-6ec292be086a"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
4110    <g fill="#6b6b6b">
4111        <path d="m9 9h2v2h-2z" />
4112        <path d="m11 7h3v2h-3z" />
4113        <path d="m14 9h2v3h-2z" />
4114        <path d="m12 12h2v3h-2z" />
4115        <path d="m12 17h2v2h-2z" />
4116    </g>
4117</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-c8ba1e8c-984e-45be-bc74-6ec292be086a" role="tooltip" aria-label="Gain visibility into subcontractors and extended supply chain dependencies to eliminate concentration risk" aria-labelledby="tooltip-c8ba1e8c-984e-45be-bc74-6ec292be086a-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-c8ba1e8c-984e-45be-bc74-6ec292be086a-content"> Gain visibility into subcontractors and extended supply chain dependencies to eliminate concentration risk </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
4117-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4118    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4119</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4120    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4121</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4122    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4123</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Onboarding Portal </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
4124  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
4125  show() { this.open = true; this.$nextTick(() => this.place()) },
4126  hide() { this.open = false },
4127  toggle() { this.open ? this.hide() : this.show() },
4128  place() {
4129    if (!this.open) return;
4130    const t = this.$refs.trigger?.getBoundingClientRect();
4131    const p = this.$refs.tooltip?.getBoundingClientRect();
4132    if (!t || !p) return;
4133    const cx = t.left + t.width / 2;
4134    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
4135    this.above = t.top - p.height - 8 >= 12;
4136    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
4137    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
4138  },
4139  reposition() {
4140    if (this._raf) return;
4141    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
4142  },
4143}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Onboarding Portal" aria-describedby="tooltip-937100d7-9fcd-4d0e-bbc3-5d24745a828c"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
4144    <g fill="#6b6b6b">
4145        <path d="m9 9h2v2h-2z" />
4146        <path d="m11 7h3v2h-3z" />
4147        <path d="m14 9h2v3h-2z" />
4148        <path d="m12 12h2v3h-2z" />
4149        <path d="m12 17h2v2h-2z" />
4150    </g>
4151</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-937100d7-9fcd-4d0e-bbc3-5d24745a828c" role="tooltip" aria-label="Strengthen intake governance with a structured onboarding workflow that connects business requests to InfoSec from day one - bringing clarity and speed to every assessment request" aria-labelledby="tooltip-937100d7-9fcd-4d0e-bbc3-5d24745a828c-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-937100d7-9fcd-4d0e-bbc3-5d24745a828c-content"> Strengthen intake governance with a structured onboarding workflow that connects business requests to InfoSec from day one - bringing clarity and speed to every assessment request </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
4151-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4152    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4153</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4154    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4155</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4156    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4157</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4158    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4159</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Custom Notifications </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
4160  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
4161  show() { this.open = true; this.$nextTick(() => this.place()) },
4162  hide() { this.open = false },
4163  toggle() { this.open ? this.hide() : this.show() },
4164  place() {
4165    if (!this.open) return;
4166    const t = this.$refs.trigger?.getBoundingClientRect();
4167    const p = this.$refs.tooltip?.getBoundingClientRect();
4168    if (!t || !p) return;
4169    const cx = t.left + t.width / 2;
4170    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
4171    this.above = t.top - p.height - 8 >= 12;
4172    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
4173    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
4174  },
4175  reposition() {
4176    if (this._raf) return;
4177    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
4178  },
4179}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Custom Notifications" aria-describedby="tooltip-53ff1426-2e27-4579-a788-c43de5ceac82"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
4180    <g fill="#6b6b6b">
4181        <path d="m9 9h2v2h-2z" />
4182        <path d="m11 7h3v2h-3z" />
4183        <path d="m14 9h2v3h-2z" />
4184        <path d="m12 12h2v3h-2z" />
4185        <path d="m12 17h2v2h-2z" />
4186    </g>
4187</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-53ff1426-2e27-4579-a788-c43de5ceac82" role="tooltip" aria-label="Stay ahead of risk with configurable alerts for rating changes, new findings, and critical vendor events." aria-labelledby="tooltip-53ff1426-2e27-4579-a788-c43de5ceac82-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-53ff1426-2e27-4579-a788-c43de5ceac82-content"> Stay ahead of risk with configurable alerts for rating changes, new findings, and critical vendor events. </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
4187-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4188    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4189</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4190    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4191</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4192    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4193</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4194    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4195</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4196    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4197</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Templates &amp; Automation </span>  </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4198    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4199</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
4199-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4200    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4201</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4202    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4203</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4204    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4205</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Custom Co-branding </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
4206  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
4207  show() { this.open = true; this.$nextTick(() => this.place()) },
4208  hide() { this.open = false },
4209  toggle() { this.open ? this.hide() : this.show() },
4210  place() {
4211    if (!this.open) return;
4212    const t = this.$refs.trigger?.getBoundingClientRect();
4213    const p = this.$refs.tooltip?.getBoundingClientRect();
4214    if (!t || !p) return;
4215    const cx = t.left + t.width / 2;
4216    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
4217    this.above = t.top - p.height - 8 >= 12;
4218    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
4219    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
4220  },
4221  reposition() {
4222    if (this._raf) return;
4223    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
4224  },
4225}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Custom Co-branding" aria-describedby="tooltip-deb08780-b821-4818-9f86-4a9a5d7a791f"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
4226    <g fill="#6b6b6b">
4227        <path d="m9 9h2v2h-2z" />
4228        <path d="m11 7h3v2h-3z" />
4229        <path d="m14 9h2v3h-2z" />
4230        <path d="m12 12h2v3h-2z" />
4231        <path d="m12 17h2v2h-2z" />
4232    </g>
4233</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-deb08780-b821-4818-9f86-4a9a5d7a791f" role="tooltip" aria-label="Deliver vendor communications and reports with your branding to reinforce trust." aria-labelledby="tooltip-deb08780-b821-4818-9f86-4a9a5d7a791f-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-deb08780-b821-4818-9f86-4a9a5d7a791f-content"> Deliver vendor communications and reports with your branding to reinforce trust. </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
4233-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4234    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4235</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4236    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4237</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4238    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4239</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4240    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4241</svg> <span class="sr-only">Included</span>     </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Multi-Org Accounts </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
4242  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
4243  show() { this.open = true; this.$nextTick(() => this.place()) },
4244  hide() { this.open = false },
4245  toggle() { this.open ? this.hide() : this.show() },
4246  place() {
4247    if (!this.open) return;
4248    const t = this.$refs.trigger?.getBoundingClientRect();
4249    const p = this.$refs.tooltip?.getBoundingClientRect();
4250    if (!t || !p) return;
4251    const cx = t.left + t.width / 2;
4252    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
4253    this.above = t.top - p.height - 8 >= 12;
4254    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
4255    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
4256  },
4257  reposition() {
4258    if (this._raf) return;
4259    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
4260  },
4261}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Multi-Org Accounts" aria-describedby="tooltip-7592ea6a-d386-4de0-8fcf-28d83ee97d9a"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
4262    <g fill="#6b6b6b">
4263        <path d="m9 9h2v2h-2z" />
4264        <path d="m11 7h3v2h-3z" />
4265        <path d="m14 9h2v3h-2z" />
4266        <path d="m12 12h2v3h-2z" />
4267        <path d="m12 17h2v2h-2z" />
4268    </g>
4269</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-7592ea6a-d386-4de0-8fcf-28d83ee97d9a" role="tooltip" aria-label="Manage multiple business units or subsidiaries within a single platform environment" aria-labelledby="tooltip-7592ea6a-d386-4de0-8fcf-28d83ee97d9a-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-7592ea6a-d386-4de0-8fcf-28d83ee97d9a-content"> Manage multiple business units or subsidiaries within a single platform environment </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
4269-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span class="font-inter font-normal text-14 text-body"> 3 Organizations </span>  </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Ticket-Only Support </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
4270  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
4271  show() { this.open = true; this.$nextTick(() => this.place()) },
4272  hide() { this.open = false },
4273  toggle() { this.open ? this.hide() : this.show() },
4274  place() {
4275    if (!this.open) return;
4276    const t = this.$refs.trigger?.getBoundingClientRect();
4277    const p = this.$refs.tooltip?.getBoundingClientRect();
4278    if (!t || !p) return;
4279    const cx = t.left + t.width / 2;
4280    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
4281    this.above = t.top - p.height - 8 >= 12;
4282    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
4283    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
4284  },
4285  reposition() {
4286    if (this._raf) return;
4287    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
4288  },
4289}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Ticket-Only Support" aria-describedby="tooltip-d71a9290-b178-4be0-851a-49bd0b2f4182"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
4290    <g fill="#6b6b6b">
4291        <path d="m9 9h2v2h-2z" />
4292        <path d="m11 7h3v2h-3z" />
4293        <path d="m14 9h2v3h-2z" />
4294        <path d="m12 12h2v3h-2z" />
4295        <path d="m12 17h2v2h-2z" />
4296    </g>
4297</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-d71a9290-b178-4be0-851a-49bd0b2f4182" role="tooltip" aria-label="Access our world-class customer support team through standard ticketing for expert guidance and reliable issue resolution." aria-labelledby="tooltip-d71a9290-b178-4be0-851a-49bd0b2f4182-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-d71a9290-b178-4be0-851a-49bd0b2f4182-content"> Access our world-class customer support team through standard ticketing for expert guidance and reliable issue resolution. </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
4297-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Standard Support </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
4298  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
4299  show() { this.open = true; this.$nextTick(() => this.place()) },
4300  hide() { this.open = false },
4301  toggle() { this.open ? this.hide() : this.show() },
4302  place() {
4303    if (!this.open) return;
4304    const t = this.$refs.trigger?.getBoundingClientRect();
4305    const p = this.$refs.tooltip?.getBoundingClientRect();
4306    if (!t || !p) return;
4307    const cx = t.left + t.width / 2;
4308    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
4309    this.above = t.top - p.height - 8 >= 12;
4310    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
4311    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
4312  },
4313  reposition() {
4314    if (this._raf) return;
4315    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
4316  },
4317}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Standard Support" aria-describedby="tooltip-3a709ceb-b72b-4714-8c19-1eb3b4c0a50f"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
4318    <g fill="#6b6b6b">
4319        <path d="m9 9h2v2h-2z" />
4320        <path d="m11 7h3v2h-3z" />
4321        <path d="m14 9h2v3h-2z" />
4322        <path d="m12 12h2v3h-2z" />
4323        <path d="m12 17h2v2h-2z" />
4324    </g>
4325</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-3a709ceb-b72b-4714-8c19-1eb3b4c0a50f" role="tooltip" aria-label="Priority access to our world-class support team with defined response times to keep your program moving." aria-labelledby="tooltip-3a709ceb-b72b-4714-8c19-1eb3b4c0a50f-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-3a709ceb-b72b-4714-8c19-1eb3b4c0a50f-content"> Priority access to our world-class support team with defined response times to keep your program moving. </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
4325-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4326    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4327</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4328    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4329</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4330    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4331</svg> <span class="sr-only">Included</span>     </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td> </tr><tr class @mouseenter="setHoveredFromRow($el)">  <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">   <span> <span class="font-inter font-normal text-14 text-body align-middle"> Premium Assurance (Enterprise Support) </span> <span class="relative ml-4 inline-flex shrink-0 cursor-help align-middle" x-data="{
4332  open: false, style: '', arrowStyle: '', above: true, _raf: 0,
4333  show() { this.open = true; this.$nextTick(() => this.place()) },
4334  hide() { this.open = false },
4335  toggle() { this.open ? this.hide() : this.show() },
4336  place() {
4337    if (!this.open) return;
4338    const t = this.$refs.trigger?.getBoundingClientRect();
4339    const p = this.$refs.tooltip?.getBoundingClientRect();
4340    if (!t || !p) return;
4341    const cx = t.left + t.width / 2;
4342    const left = Math.max(12, Math.min(cx - p.width / 2, innerWidth - p.width - 12));
4343    this.above = t.top - p.height - 8 >= 12;
4344    this.style = `left:${left}px;top:${this.above ? t.top - p.height - 16 : t.bottom + 16}px`;
4345    this.arrowStyle = `left:${Math.max(10, Math.min(cx - left, p.width - 10))}px`;
4346  },
4347  reposition() {
4348    if (this._raf) return;
4349    this._raf = requestAnimationFrame(() => { this._raf = 0; this.place() });
4350  },
4351}" @mouseenter="show()" @mouseleave="hide()" @focusin="show()" @focusout="hide()" @click.prevent="toggle()" @keydown.escape.window="hide()" @resize.window="reposition()" @scroll.window="reposition()"> <button x-ref="trigger" type="button" class="inline-flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full bg-layer-2 opacity-90 appearance-none border-0 p-0 outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0" aria-label="More info about Premium Assurance (Enterprise Support)" aria-describedby="tooltip-15f00d47-d597-4070-8060-54ed09eca763"> <svg fill="none" height="18" viewBox="0 0 25 25" width="18" aria-hidden="true" focusable="false">
4352    <g fill="#6b6b6b">
4353        <path d="m9 9h2v2h-2z" />
4354        <path d="m11 7h3v2h-3z" />
4355        <path d="m14 9h2v3h-2z" />
4356        <path d="m12 12h2v3h-2z" />
4357        <path d="m12 17h2v2h-2z" />
4358    </g>
4359</svg> </button> <template x-teleport="body"> <span data-theme="dark" x-ref="tooltip" id="tooltip-15f00d47-d597-4070-8060-54ed09eca763" role="tooltip" aria-label="White-glove enterprise support with accelerated SLAs and dedicated guidance from our expert team for mission-critical programs." aria-labelledby="tooltip-15f00d47-d597-4070-8060-54ed09eca763-content" x-bind:style="style" x-bind:class="open ? 'opacity-100' : 'opacity-0'" class="text-body pointer-events-none fixed z-50 min-w-[9.375rem] max-w-[13.75rem] bg-gray-900 p-16 rounded-[.5rem] text-14 text-left opacity-0 transition-opacity duration-150"> <span id="tooltip-15f00d47-d597-4070-8060-54ed09eca763-content"> White-glove enterprise support with accelerated SLAs and dedicated guidance from our expert team for mission-critical programs. </span> <span x-bind:style="arrowStyle" x-bind:class="above ? 'top-full' : 'bottom-full -scale-y-100'" class="absolute -translate-x-1/2"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" fill="none" viewBox="0 0 16 8"> <path fill="#0a0a0a" d="M0 0h16q-2 0-3.1 1.7L9.7 6.5a2 2 0 0 1-3.4 0L3.1 1.7Q2 0 0 0"></path> </svg> </span> </span> </template> </span> </span>  </td> <td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg
4359-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">    <span aria-hidden="true">—</span> <span class="sr-only">Not included</span>    </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4360    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4361</svg> <span class="sr-only">Included</span>    <span class="font-inter font-normal text-14 inline-block max-w-[9.375rem] text-body"> 
4362(data residency additional cost)
4363 </span> </span>  </td><td class="px-12 py-8 md:px-24 md:py-12 align-top transition-colors duration-200 ease-out motion-reduce:transition-none first:pl-0 last:pr-0 first:sticky first:left-0 first:z-10 first:bg-background" @mouseenter="setHoveredFromCell($el, $el.parentElement)">  <span class="inline-flex items-start gap-8">   <svg fill="none" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true" focusable="false">
4364    <path d="m18 6h2v2h-2zm-2 4v-2h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2h-2zm0 0h-2v-2h2z" fill="#000" />
4365</svg> <span class="sr-only">Included</span>    <span class="font-inter font-normal text-14 inline-block max-w-[9.375rem] text-body"> 
4366(data residency additional cost)
4367 </span> </span>  </td> </tr> </tbody> </table> </div> </div> 
4367<script>
4368  if (!window.stickyTableState) {
4369    window.stickyTableState = () => ({
4370      _s: false,
4371      hoveredRowEl: null,
4372      hoveredCol: null,
4373      rowOverlay: { visible: false, y: 0, height: 0, width: 0 },
4374      colOverlay: { visible: false, x: 0, width: 0, height: 0 },
4375      rect(el) {
4376        return el ? el.getBoundingClientRect() : null
4377      },
4378      getBody() {
4379        const table = this.$refs.bodyTable
4380        return table ? [table, table.getBoundingClientRect()] : null
4381      },
4382      syncScroll(fromRef, toRef) {
4383        if (this._s) return
4384        const from = this.$refs[fromRef]
4385        const to = this.$refs[toRef]
4386        if (!from || !to) return
4387        this._s = true
4388        to.scrollLeft = from.scrollLeft
4389        requestAnimationFrame(() => {
4390          this._s = false
4391        })
4392      },
4393      setState(rowEl, colIndex) {
4394        this.hoveredRowEl = rowEl
4395        this.hoveredCol = colIndex
4396      },
4397      setRow(rowRect, tableRect, tableWidth) {
4398        this.rowOverlay =
4399          rowRect && tableRect
4400            ? {
4401                ...this.rowOverlay,
4402                visible: true,
4403                y: rowRect.top - tableRect.top,
4404                height: rowRect.height,
4405                width: tableWidth,
4406              }
4407            : { ...this.rowOverlay, visible: false }
4408      },
4409      setCol(cellRect, baseRect, overlayHeight) {
4410        this.colOverlay =
4411          cellRect && baseRect
4412            ? {
4413                ...this.colOverlay,
4414                visible: true,
4415                x: cellRect.left - baseRect.left,
4416                width: cellRect.width,
4417                height: overlayHeight,
4418              }
4419            : { ...this.colOverlay, visible: false }
4420      },
4421      setHoveredFromRow(row) {
4422        const body = this.getBody()
4423        if (!body || !row) return
4424        const [table, tableRect] = body
4425        const firstCell = row.cells?.[0]
4426        this.setState(row, firstCell ? firstCell.cellIndex : null)
4427        this.setRow(this.rect(row), tableRect, table.offsetWidth)
4428        this.setCol(this.rect(firstCell), tableRect, table.offsetHeight)
4429      },
4430      setHoveredFromCell(cell, row) {
4431        const body = this.getBody()
4432        if (!body || !cell) return
4433        const [table, tableRect] = body
4434        const rowEl = row ?? cell.parentElement
4435        this.setState(rowEl, cell.cellIndex)
4436        this.setCol(this.rect(cell), tableRect, table.offsetHeight)
4437        this.setRow(this.rect(rowEl), tableRect, table.offsetWidth)
4438      },
4439      setHoveredFromHeader(cell) {
4440        const body = this.getBody()
4441        const headerTable = cell?.closest("table")
4442        if (!body || !headerTable || !cell) return
4443        const [table] = body
4444        this.setState(null, cell.cellIndex)
4445        this.setRow(null, null, 0)
4446        this.setCol(this.rect(cell), this.rect(headerTable), table.offsetHeight)
4447      },
4448      clearHover() {
4449        this.setState(null, null)
4450        this.setRow(null, null, 0)
4451        this.setCol(null, null, 0)
4452      },
4453    })
4454  }
4455</script>
4455  </section>   <section data-component="Prefooter" data-theme="dark" data-e-location="pre_footer" class="bg-background text-heading text-center"> <div class="mx-auto w-[calc(100%-2*var(--gap))] max-w-none lg:max-w-[88.5rem] lg:w-[calc(100%-4*var(--gap))]"> <div class="py-160 flex justify-center flex-col items-center gap-32"> <p class="font-inter-tight font-normal text-40 max-w-[18em]"> Experience superior visibility and a simpler approach to cyber risk management </p> <div class="w-full flex flex-col gap-12 sm:w-auto sm:flex-row sm:justify-center">  <a href="https://www.upguard.com/contact-sales" data-e="CTA Clicked" data-e-link-type="book_demo_button" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 text-14 rounded-[1.3125rem] inline-flex justify-center disabled:opacity-50 bg-gray-900 text-white dark:bg-white dark:text-gray-900 group"> <div class="inline-flex relative overflow-hidden"> <span class="inline-flex w-full h-full transition-all duration-250 ease-out group-not-disabled:group-hover:opacity-0 group-not-disabled:group-hover:-translate-y-full group-not-disabled:group-hover:skew-y-15 group-not-disabled:group-active:opacity-0 group-not-disabled:group-active:-translate-y-full group-not-disabled:group-active:skew-y-15 group-not-disabled:group-focus-visible:opacity-0 group-not-disabled:group-focus-visible:-translate-y-full group-not-disabled:group-focus-visible:skew-y-15 gap-8 py-[0.5625rem] px-[1.5rem]">  Get a demo  </span> <span aria-hidden="true" class="inline-flex w-full h-full transition-all duration-250 ease-out gap-8 py-[0.5625rem] px-[1.5rem] absolute top-0 left-0 opacity-0 translate-y-full skew-y-15 group-not-disabled:group-hover:opacity-100 group-not-disabled:group-hover:translate-y-0 group-not-disabled:group-hover:skew-y-0 group-not-disabled:group-active:opacity-100 group-not-disabled:group-active:translate-y-0 group-not-disabled:group-active:skew-y-0 group-not-disabled:group-focus-visible:opacity-100 group-not-disabled:group-focus-visible:translate-y-0 group-not-disabled:group-focus-visible:skew-y-0">  Get a demo  </span> </div>  </a> <a href="https://www.upguard.com/demo" data-e="CTA Clicked" data-e-link-type="free_trial_button" class="outline-none focus-visible:ring-2 focus-visible:ring-purple-100 focus-visible:ring-offset-0 text-14 rounded-[1.3125rem] inline-flex justify-center disabled:opacity-50 bg-gray-200 text-gray-900 dark:bg-gray-700 dark:text-white group"> <div class="inline-flex relative overflow-hidden"> <span class="inline-flex w-full h-full transition-all duration-250 ease-out group-not-disabled:group-hover:opacity-0 group-not-disabled:group-hover:-translate-y-full group-not-disabled:group-hover:skew-y-15 group-not-disabled:group-active:opacity-0 group-not-disabled:group-active:-translate-y-full group-not-disabled:group-active:skew-y-15 group-not-disabled:group-focus-visible:opacity-0 group-not-disabled:group-focus-visible:-translate-y-full group-not-disabled:group-focus-visible:skew-y-15 gap-8 py-[0.5625rem] px-[1.5rem]">  Free trial  </span> <span aria-hidden="true" class="inline-flex w-full h-full transition-all duration-250 ease-out gap-8 py-[0.5625rem] px-[1.5rem] absolute top-0 left-0 opacity-0 translate-y-full skew-y-15 group-not-disabled:group-hover:opacity-100 group-not-disabled:group-hover:translate-y-0 group-not-disabled:group-hover:skew-y-0 group-not-disabled:group-active:opacity-100 group-not-disabled:group-active:translate-y-0 group-not-disabled:group-active:skew-y-0 group-not-disabled:group-focus-visible:opacity-100 group-not-disabled:group-focus-visible:translate-y-0 group-not-disabled:group-focus-visible:skew-y-0">  Free trial  </span> </div>  </a>  </div> </div> <div class="bg-divider w-full h-px"></div> </div> </section>   <footer data-component="interop-footer" data-theme="dark" class="footer-ig88 " data-event-cta-location="footer" data-e-location="footer"> <div class="footer-ig88__bd">  <div class="footer-ig88__brand"> <a class="footer-ig88__brand-link" href="/"> <svg aria-hidden="true" style="display:block; width:100%; height:auto;" xmlns="http://www.w3.org/2000/svg" width="150" height="32" fill="none" viewBox="0 0 150 32">
4455 <path fill="currentColor" d="M58.3 4h3v13.2a6.8 6.8 0 0 1-3.8 6.2 9 9 0 0 1-4.1 1 9 9 0 0 1-4.2-1 6.8 6.8 0 0 1-3.8-6.2V4h3v13c0 .8.3 1.6.7 2.3.4.7 1 1.3 1.7 1.7.7.4 1.6.6 2.6.6s1.9-.2 2.6-.6c.8-.4 1.3-1 1.7-1.7.4-.7.6-1.5.6-2.4V4ZM64 29.6V9h2.8v2.5h.2l.8-1.1c.3-.4.8-.8 1.3-1.1.6-.3 1.3-.5 2.3-.5a5.8 5.8 0 0 1 5.4 3.6c.6 1.1.8 2.5.8 4.2 0 1.6-.2 3-.8 4.1a5.8 5.8 0 0 1-5.5 3.6c-.8 0-1.6-.1-2.1-.5-.6-.3-1-.6-1.4-1a9 9 0 0 1-.8-1.1H67v8h-3Zm6.7-7.8c1 0 1.6-.2 2.2-.7.6-.4 1-1 1.3-1.9.3-.8.5-1.7.5-2.7 0-1-.2-1.9-.4-2.6-.3-.8-.8-1.5-1.4-2-.5-.4-1.3-.6-2.2-.6-.8 0-1.5.2-2.1.7-.6.4-1 1-1.3 1.8-.3.8-.5 1.7-.5 2.7 0 1 .2 2 .5 2.8.3.8.7 1.4 1.3 1.9.6.4 1.3.6 2.1.6ZM88 24.3a8.5 8.5 0 0 1-8-4.8c-.6-1.5-1-3.4-1-5.5 0-2 .4-4 1.1-5.5A8.6 8.6 0 0 1 83.3 5a9.3 9.3 0 0 1 7.6-.8 8 8 0 0 1 4.4 3.5c.4.8.8 1.7 1 2.6h-3.1l-.8-1.6a5 5 0 0 0-2.6-2 6 6 0 0 0-4.9.7 6 6 0 0 0-2.1 2.5A9.6 9.6 0 0 0 82 14c0 1.6.2 3 .8 4.1.5 1.1 1.2 2 2.1 2.6 1 .5 2 .8 3.2.8 1 0 2-.2 2.8-.6.8-.5 1.4-1.1 1.9-2 .4-.7.7-1.7.7-2.8l.8.2h-5.8v-2.5h7.9V16c0 1.7-.4 3.1-1 4.3a7.3 7.3 0 0 1-3 2.9 9 9 0 0 1-4.3 1ZM108 17.8V9h3v15H108v-2.6h-.2a4.7 4.7 0 0 1-4.5 2.8 5 5 0 0 1-2.5-.6c-.7-.4-1.3-1-1.7-2a7 7 0 0 1-.7-3V9h3v9.2c0 1 .2 1.8.8 2.4.6.7 1.3 1 2.2 1a3.6 3.6 0 0 0 3-1.7c.4-.5.6-1.2.6-2ZM117.7 24.3c-1 0-1.8-.1-2.6-.5-.8-.3-1.4-.9-1.8-1.5-.5-.7-.7-1.6-.7-2.5 0-.9.2-1.6.5-2.1.3-.6.7-1 1.3-1.3.6-.3 1.2-.6 1.9-.7l2-.4a114 114 0 0 0 3.5-.6c.2-.2.3-.4.3-.8 0-.9-.2-1.5-.7-2-.5-.5-1.2-.7-2.1-.7-1 0-1.8.2-2.3.6-.6.5-1 1-1.2 1.5l-2.8-.7c.4-.9.9-1.6 1.5-2.2a6 6 0 0 1 2.2-1.2A8.5 8.5 0 0 1 121 9c.7.2 1.3.4 2 .8.5.4 1 .9 1.4 1.6.4.7.6 1.6.6 2.7v10h-2.9V22h-.1a4.5 4.5 0 0 1-2.3 2c-.6.2-1.3.3-2.1.3Zm.6-2.3c.8 0 1.5-.2 2-.5.6-.3 1-.7 1.4-1.2.3-.5.4-1.1.4-1.7v-2c0 .2-.3.3-.6.4a38.2 38.2 0 0 1-3 .5 8 8 0 0 0-1.5.3c-.5.2-.8.4-1.1.8-.3.3-.5.7-.5 1.2 0 .7.3 1.3.9 1.7.5.3 1.2.5 2 .5ZM127.5 24V9h2.8v2.4h.1a4.1 4.1 0 0 1 3.8-2.6 12 12 0 0 1 1.3 0v2.9l-.7-.2h-.9c-.
44556 0-1.3.1-1.8.4-.5.3-1 .7-1.3 1.2-.3.5-.4 1.1-.4 1.8V24h-3ZM142 24.3a5.8 5.8 0 0 1-5.6-3.6 9.8 9.8 0 0 1-.8-4.1c0-1.7.3-3 .9-4.2.5-1.2 1.3-2 2.2-2.7 1-.6 2-.9 3.2-.9 1 0 1.7.2 2.3.5.6.3 1 .7 1.3 1 .3.5.6.8.7 1.2h.2V4h3v20h-3v-2.3h-.2l-.7 1c-.3.5-.8.8-1.4 1.1-.5.4-1.3.5-2.2.5Zm.6-2.5c.8 0 1.5-.2 2-.6.7-.5 1.1-1.1 1.4-2 .3-.7.5-1.6.5-2.7 0-1-.2-2-.5-2.7a4 4 0 0 0-1.3-1.8c-.6-.5-1.3-.7-2.1-.7-.9 0-1.7.2-2.2.7-.6.4-1 1-1.3 1.9a7.8 7.8 0 0 0 0 5.4c.2.7.7 1.4 1.3 1.8.6.5 1.3.7 2.2.7ZM8 8V0H0v24h8V8ZM24 0v24h8V0h-8ZM8 24v8h16v-8H8Z"></path> </svg> <span class="footer-ig88__brand-text">UpGuard</span> </a> </div>  <div class="footer-ig88__columns">  <div class="footer-ig88__group footer-ig88__group--platform"> <div class="footer-ig88__column"> <h3 class="footer-ig88__column-title">Platform</h3> <ul class="footer-ig88__column-links"> <li> <a class="ipx" href="/product/reporting" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Reporting</span> </span> </a> <style>
4456  .ipx {
4457    --ipx-offset: 1.125rem;
4458    display: inline-block;
4459    position: relative;
4460    padding-right: var(--ipx-offset);
4461    color: var(--text-body);
4462    transition: color 0.2s ease;
4463    cursor: pointer;
4464  }
4465
4466  .ipx:hover,
4467  .ipx:focus-visible {
4468    color: var(--text-headings);
4469  }
4470
4471  .ipx__text {
4472    display: inline-block;
4473    transition: transform 0.2s ease;
4474  }
4475
4476  .ipx__text::before {
4477    content: "";
4478    position: absolute;
4479    left: calc(-1 * var(--ipx-offset));
4480    top: 50%;
4481    width: 0.625rem;
4482    height: 0.625rem;
4483    background-color: currentColor;
4484    opacity: 0;
4485    pointer-events: none;
4486    transform: translateY(-50%);
4487    transition: opacity 0.2s ease;
4488  }
4489
4490  .ipx:hover .ipx__text,
4491  .ipx:focus-visible .ipx__text {
4492    transform: translateX(var(--ipx-offset));
4493  }
4494
4495  .ipx:hover .ipx__text::before,
4496  .ipx:focus-visible .ipx__text::before {
4497    opacity: 1;
4498  }
4499
4500  .ipx__label {
4501    font-size: 0.875rem;
4502    line-height: 1.75rem;
4503  }
4504</style> </li><li> <a class="ipx" href="/services" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Services</span> </span> </a> <style>
4505  .ipx {
4506    --ipx-offset: 1.125rem;
4507    display: inline-block;
4508    position: relative;
4509    padding-right: var(--ipx-offset);
4510    color: var(--text-body);
4511    transition: color 0.2s ease;
4512    cursor: pointer;
4513  }
4514
4515  .ipx:hover,
4516  .ipx:focus-visible {
4517    color: var(--text-headings);
4518  }
4519
4520  .ipx__text {
4521    display: inline-block;
4522    transition: transform 0.2s ease;
4523  }
4524
4525  .ipx__text::before {
4526    content: "";
4527    position: absolute;
4528    left: calc(-1 * var(--ipx-offset));
4529    top: 50%;
4530    width: 0.625rem;
4531    height: 0.625rem;
4532    background-color: currentColor;
4533    opacity: 0;
4534    pointer-events: none;
4535    transform: translateY(-50%);
4536    transition: opacity 0.2s ease;
4537  }
4538
4539  .ipx:hover .ipx__text,
4540  .ipx:focus-visible .ipx__text {
4541    transform: translateX(var(--ipx-offset));
4542  }
4543
4544  .ipx:hover .ipx__text::before,
4545  .ipx:focus-visible .ipx__text::before {
4546    opacity: 1;
4547  }
4548
4549  .ipx__label {
4550    font-size: 0.875rem;
4551    line-height: 1.75rem;
4552  }
4553</style> </li><li> <a class="ipx" href="/product/security-ratings" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Security ratings</span> </span> </a> <style>
4554  .ipx {
4555    --ipx-offset: 1.125rem;
4556    display: inline-block;
4557    position: relative;
4558    padding-right: var(--ipx-offset);
4559    color: var(--text-body);
4560    transition: color 0.2s ease;
4561    cursor: pointer;
4562  }
4563
4564  .ipx:hover,
4565  .ipx:focus-visible {
4566    color: var(--text-headings);
4567  }
4568
4569  .ipx__text {
4570    display: inline-block;
4571    transition: transform 0.2s ease;
4572  }
4573
4574  .ipx__text::before {
4575    content: "";
4576    position: absolute;
4577    left: calc(-1 * var(--ipx-offset));
4578    top: 50%;
4579    width: 0.625rem;
4580    height: 0.625rem;
4581    background-color: currentColor;
4582    opacity: 0;
4583    pointer-events: none;
4584    transform: translateY(-50%);
4585    transition: opacity 0.2s ease;
4586  }
4587
4588  .ipx:hover .ipx__text,
4589  .ipx:focus-visible .ipx__text {
4590    transform: translateX(var(--ipx-offset));
4591  }
4592
4593  .ipx:hover .ipx__text::before,
4594  .ipx:focus-visible .ipx__text::before {
4595    opacity: 1;
4596  }
4597
4598  .ipx__label {
4599    font-size: 0.875rem;
4600    line-height: 1.75rem;
4601  }
4602</style> </li><li> <a class="ipx" href="/integrations" data-event="CTA Clicked" data-e
4602="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Integrations</span> </span> </a> <style>
4603  .ipx {
4604    --ipx-offset: 1.125rem;
4605    display: inline-block;
4606    position: relative;
4607    padding-right: var(--ipx-offset);
4608    color: var(--text-body);
4609    transition: color 0.2s ease;
4610    cursor: pointer;
4611  }
4612
4613  .ipx:hover,
4614  .ipx:focus-visible {
4615    color: var(--text-headings);
4616  }
4617
4618  .ipx__text {
4619    display: inline-block;
4620    transition: transform 0.2s ease;
4621  }
4622
4623  .ipx__text::before {
4624    content: "";
4625    position: absolute;
4626    left: calc(-1 * var(--ipx-offset));
4627    top: 50%;
4628    width: 0.625rem;
4629    height: 0.625rem;
4630    background-color: currentColor;
4631    opacity: 0;
4632    pointer-events: none;
4633    transform: translateY(-50%);
4634    transition: opacity 0.2s ease;
4635  }
4636
4637  .ipx:hover .ipx__text,
4638  .ipx:focus-visible .ipx__text {
4639    transform: translateX(var(--ipx-offset));
4640  }
4641
4642  .ipx:hover .ipx__text::before,
4643  .ipx:focus-visible .ipx__text::before {
4644    opacity: 1;
4645  }
4646
4647  .ipx__label {
4648    font-size: 0.875rem;
4649    line-height: 1.75rem;
4650  }
4651</style> </li> </ul> </div> </div>  <div class="footer-ig88__group footer-ig88__group--products"> <h3 class="footer-ig88__column-title">Products</h3> <div class="footer-ig88__products-cols"> <ul class="footer-ig88__column-links"> <li> <a class="footer-ig88__link" href="/product/vendor-risk" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="footer-ig88__link-icon"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
4652<path d="M17.8971 24H23.8625V18H17.8971H11.9316V24H17.8971Z" fill="currentColor"></path>
4653<path d="M5.96545 12H0V18H5.96545H11.9309V12H5.96545Z" fill="currentColor"></path>
4654<path d="M5.96545 0H0V5.99999H5.96545H11.9309V0H5.96545Z" fill="currentColor"></path>
4655<path d="M23.8625 12.0001V6.00006H17.8971H11.9316V12.0001H17.8971H23.8625Z" fill="currentColor"></path>
4656</svg></span> Vendor Risk </a> </li><li> <a class="footer-ig88__link" href="/product/user-risk" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="footer-ig88__link-icon"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
4657<path d="M17.948 12V6V1.52588e-05H11.9652H5.98242V6V12H11.9652H17.948Z" fill="currentColor"></path>
4658<path d="M11.9656 18H5.98279H0V24H5.98279H11.9656H17.9484H23.9312V18H17.9484H11.9656Z" fill="currentColor"></path>
4659</svg></span> User Risk </a> </li><li> <a class="footer-ig88__link" href="/product/risk-automations" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="footer-ig88__link-icon"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
4660  <path fill="currentColor" d="M18 24h6V0H0v6h12v6H6v6H0v6h6v-6h6v-6h6z"></path>
4661</svg></span> Risk Automations </a> </li> </ul> <ul class="footer-ig88__column-links"> <li> <a class="footer-ig88__link" href="/product/breach-risk" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="footer-ig88__link-icon"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="25" height="24" viewBox="0 0 25 24" fill="none">
4662  <path d="M6.5 1.52588e-05H0.5V6H6.5V1.52588e-05Z" fill="currentColor"></path>
4663  <path d="M12.5 5.99991H6.5V11.9999H12.5V5.99991Z" fill="currentColor"></path>
4664  <path d="M6.5 11.9999H0.5V17.9999H6.5V11.9999Z" fill="currentColor"></path>
4665  <path d="M18.5 -7.62939e-05H12.5V5.99991H18.5V-7.62939e-05Z" fill="currentColor"></path>
4666  <path d="M18.5 5.99991V11.9999V17.9999H12.5H6.5V23.9999H12.5H18.5H24.5V17.9999V11.9999V5.99991H18.5Z" fill="currentColor"></path>
4667</svg></span> Breach Risk </a> </li><li> <a class="footer-ig88__link" href="/product/trust-exchange" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="footer-ig88__link-icon"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
4668  <path d="M23.7915 17.823H17.9688V23.6459H23.7915V17.823Z" fill="currentColor"></path>
4669  <path d="M6.32278 17.823H0.5V23.6459H6.32278V17.823Z" fill="currentColor"></path>
4670  <path d="M6.32278 0.354218H0.5V6.17706H6.32278V0.354218Z" fill="currentColor"></path>
4671  <path d="M23.7915 0.354294H17.9688V6.17714H23.7915V0.354294Z" fill="currentColor"></path>
4672  <path d="M6.32422 6.17752V12.0004V17.8232H12.147H17.9698V12.0004V6.17752H12.147H6.32422Z" fill="currentColor"></path>
4673</svg></span> Trust Exchange </a> </li> </ul> </div> </div>  <div class="footer-ig88__group footer-ig88__group--nav"> <div class="footer-ig88__column"> <h3 class="footer-ig88__column-title">Compare</h3> <ul class="footer-ig88__column-links"> <li> <a class="ipx" href="/compare/bitsight-vs-upguard" data-event="CTA Clicked" data-e
4673="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">BitSight</span> </span> </a> <style>
4674  .ipx {
4675    --ipx-offset: 1.125rem;
4676    display: inline-block;
4677    position: relative;
4678    padding-right: var(--ipx-offset);
4679    color: var(--text-body);
4680    transition: color 0.2s ease;
4681    cursor: pointer;
4682  }
4683
4684  .ipx:hover,
4685  .ipx:focus-visible {
4686    color: var(--text-headings);
4687  }
4688
4689  .ipx__text {
4690    display: inline-block;
4691    transition: transform 0.2s ease;
4692  }
4693
4694  .ipx__text::before {
4695    content: "";
4696    position: absolute;
4697    left: calc(-1 * var(--ipx-offset));
4698    top: 50%;
4699    width: 0.625rem;
4700    height: 0.625rem;
4701    background-color: currentColor;
4702    opacity: 0;
4703    pointer-events: none;
4704    transform: translateY(-50%);
4705    transition: opacity 0.2s ease;
4706  }
4707
4708  .ipx:hover .ipx__text,
4709  .ipx:focus-visible .ipx__text {
4710    transform: translateX(var(--ipx-offset));
4711  }
4712
4713  .ipx:hover .ipx__text::before,
4714  .ipx:focus-visible .ipx__text::before {
4715    opacity: 1;
4716  }
4717
4718  .ipx__label {
4719    font-size: 0.875rem;
4720    line-height: 1.75rem;
4721  }
4722</style> </li><li> <a class="ipx" href="/compare/securityscorecard-vs-upguard" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">SecurityScorecard</span> </span> </a> <style>
4723  .ipx {
4724    --ipx-offset: 1.125rem;
4725    display: inline-block;
4726    position: relative;
4727    padding-right: var(--ipx-offset);
4728    color: var(--text-body);
4729    transition: color 0.2s ease;
4730    cursor: pointer;
4731  }
4732
4733  .ipx:hover,
4734  .ipx:focus-visible {
4735    color: var(--text-headings);
4736  }
4737
4738  .ipx__text {
4739    display: inline-block;
4740    transition: transform 0.2s ease;
4741  }
4742
4743  .ipx__text::before {
4744    content: "";
4745    position: absolute;
4746    left: calc(-1 * var(--ipx-offset));
4747    top: 50%;
4748    width: 0.625rem;
4749    height: 0.625rem;
4750    background-color: currentColor;
4751    opacity: 0;
4752    pointer-events: none;
4753    transform: translateY(-50%);
4754    transition: opacity 0.2s ease;
4755  }
4756
4757  .ipx:hover .ipx__text,
4758  .ipx:focus-visible .ipx__text {
4759    transform: translateX(var(--ipx-offset));
4760  }
4761
4762  .ipx:hover .ipx__text::before,
4763  .ipx:focus-visible .ipx__text::before {
4764    opacity: 1;
4765  }
4766
4767  .ipx__label {
4768    font-size: 0.875rem;
4769    line-height: 1.75rem;
4770  }
4771</style> </li><li> <a class="ipx" href="/compare/cybergrx-vs-upguard" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">CyberGRX</span> </span> </a> <style>
4772  .ipx {
4773    --ipx-offset: 1.125rem;
4774    display: inline-block;
4775    position: relative;
4776    padding-right: var(--ipx-offset);
4777    color: var(--text-body);
4778    transition: color 0.2s ease;
4779    cursor: pointer;
4780  }
4781
4782  .ipx:hover,
4783  .ipx:focus-visible {
4784    color: var(--text-headings);
4785  }
4786
4787  .ipx__text {
4788    display: inline-block;
4789    transition: transform 0.2s ease;
4790  }
4791
4792  .ipx__text::before {
4793    content: "";
4794    position: absolute;
4795    left: calc(-1 * var(--ipx-offset));
4796    top: 50%;
4797    width: 0.625rem;
4798    height: 0.625rem;
4799    background-color: currentColor;
4800    opacity: 0;
4801    pointer-events: none;
4802    transform: translateY(-50%);
4803    transition: opacity 0.2s ease;
4804  }
4805
4806  .ipx:hover .ipx__text,
4807  .ipx:focus-visible .ipx__text {
4808    transform: translateX(var(--ipx-offset));
4809  }
4810
4811  .ipx:hover .ipx__text::before,
4812  .ipx:focus-visible .ipx__text::before {
4813    opacity: 1;
4814  }
4815
4816  .ipx__label {
4817    font-size: 0.875rem;
4818    line-height: 1.75rem;
4819  }
4820</style> </li><li> <a class="ipx" href="/compare/riskrecon-vs-upguard" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">RiskRecon</span> </span> </a> <style>
4821  .ipx {
4822    --ipx-offset: 1.125rem;
4823    display: inline-block;
4824    position: relative;
4825    padding-right: var(--ipx-offset);
4826    color: var(--text-body);
4827    transition: color 0.2s ease;
4828    cursor: pointer;
4829  }
4830
4831  .ipx:hover,
4832  .ipx:focus-visible {
4833    color: var(--text-headings);
4834  }
4835
4836  .ipx__text {
4837    display: inline-block;
4838    transition: transform 0.2s ease;
4839  }
4840
4841  .ipx__text::before {
4842    content: "";
4843    position: absolute;
4844    left: calc(-1 * var(--ipx-offset));
4845    top: 50%;
4846    width: 0.625rem;
4847    height: 0.625rem;
4848    background-color: currentColor;
4849    opacity: 0;
4850    pointer-events: none;
4851    transform: translateY(-50%);
4852    transition: opacity 0.2s ease;
4853  }
4854
4855  .ipx:hover .ipx__text,
4856  .ipx:focus-visible .ipx__text {
4857    transform: translateX(var(--ipx-offset));
4858  }
4859
4860  .ipx:hover .ipx__text::before,
4861  .ipx:focus-visible .ipx__text::before {
4862    opacity: 1;
4863  }
4864
4865  .ipx__label {
4866    font-size: 0.875rem;
4867    line-height: 1.75rem;
4868  }
4869</style> </li><li>
4869 <a class="ipx" href="/compare" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">All comparisons</span> </span> </a> <style>
4870  .ipx {
4871    --ipx-offset: 1.125rem;
4872    display: inline-block;
4873    position: relative;
4874    padding-right: var(--ipx-offset);
4875    color: var(--text-body);
4876    transition: color 0.2s ease;
4877    cursor: pointer;
4878  }
4879
4880  .ipx:hover,
4881  .ipx:focus-visible {
4882    color: var(--text-headings);
4883  }
4884
4885  .ipx__text {
4886    display: inline-block;
4887    transition: transform 0.2s ease;
4888  }
4889
4890  .ipx__text::before {
4891    content: "";
4892    position: absolute;
4893    left: calc(-1 * var(--ipx-offset));
4894    top: 50%;
4895    width: 0.625rem;
4896    height: 0.625rem;
4897    background-color: currentColor;
4898    opacity: 0;
4899    pointer-events: none;
4900    transform: translateY(-50%);
4901    transition: opacity 0.2s ease;
4902  }
4903
4904  .ipx:hover .ipx__text,
4905  .ipx:focus-visible .ipx__text {
4906    transform: translateX(var(--ipx-offset));
4907  }
4908
4909  .ipx:hover .ipx__text::before,
4910  .ipx:focus-visible .ipx__text::before {
4911    opacity: 1;
4912  }
4913
4914  .ipx__label {
4915    font-size: 0.875rem;
4916    line-height: 1.75rem;
4917  }
4918</style> </li> </ul> </div><div class="footer-ig88__column"> <h3 class="footer-ig88__column-title">Resources</h3> <ul class="footer-ig88__column-links"> <li> <a class="ipx" href="/news" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">News</span> </span> </a> <style>
4919  .ipx {
4920    --ipx-offset: 1.125rem;
4921    display: inline-block;
4922    position: relative;
4923    padding-right: var(--ipx-offset);
4924    color: var(--text-body);
4925    transition: color 0.2s ease;
4926    cursor: pointer;
4927  }
4928
4929  .ipx:hover,
4930  .ipx:focus-visible {
4931    color: var(--text-headings);
4932  }
4933
4934  .ipx__text {
4935    display: inline-block;
4936    transition: transform 0.2s ease;
4937  }
4938
4939  .ipx__text::before {
4940    content: "";
4941    position: absolute;
4942    left: calc(-1 * var(--ipx-offset));
4943    top: 50%;
4944    width: 0.625rem;
4945    height: 0.625rem;
4946    background-color: currentColor;
4947    opacity: 0;
4948    pointer-events: none;
4949    transform: translateY(-50%);
4950    transition: opacity 0.2s ease;
4951  }
4952
4953  .ipx:hover .ipx__text,
4954  .ipx:focus-visible .ipx__text {
4955    transform: translateX(var(--ipx-offset));
4956  }
4957
4958  .ipx:hover .ipx__text::before,
4959  .ipx:focus-visible .ipx__text::before {
4960    opacity: 1;
4961  }
4962
4963  .ipx__label {
4964    font-size: 0.875rem;
4965    line-height: 1.75rem;
4966  }
4967</style> </li><li> <a class="ipx" href="/events" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Events</span> </span> </a> <style>
4968  .ipx {
4969    --ipx-offset: 1.125rem;
4970    display: inline-block;
4971    position: relative;
4972    padding-right: var(--ipx-offset);
4973    color: var(--text-body);
4974    transition: color 0.2s ease;
4975    cursor: pointer;
4976  }
4977
4978  .ipx:hover,
4979  .ipx:focus-visible {
4980    color: var(--text-headings);
4981  }
4982
4983  .ipx__text {
4984    display: inline-block;
4985    transition: transform 0.2s ease;
4986  }
4987
4988  .ipx__text::before {
4989    content: "";
4990    position: absolute;
4991    left: calc(-1 * var(--ipx-offset));
4992    top: 50%;
4993    width: 0.625rem;
4994    height: 0.625rem;
4995    background-color: currentColor;
4996    opacity: 0;
4997    pointer-events: none;
4998    transform: translateY(-50%);
4999    transition: opacity 0.2s ease;
5000  }
5001
5002  .ipx:hover .ipx__text,
5003  .ipx:focus-visible .ipx__text {
5004    transform: translateX(var(--ipx-offset));
5005  }
5006
5007  .ipx:hover .ipx__text::before,
5008  .ipx:focus-visible .ipx__text::before {
5009    opacity: 1;
5010  }
5011
5012  .ipx__label {
5013    font-size: 0.875rem;
5014    line-height: 1.75rem;
5015  }
5016</style> </li><li> <a class="ipx" href="/breaches" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Breaches</span> </span> </a> <style>
5017  .ipx {
5018    --ipx-offset: 1.125rem;
5019    display: inline-block;
5020    position: relative;
5021    padding-right: var(--ipx-offset);
5022    color: var(--text-body);
5023    transition: color 0.2s ease;
5024    cursor: pointer;
5025  }
5026
5027  .ipx:hover,
5028  .ipx:focus-visible {
5029    color: var(--text-headings);
5030  }
5031
5032  .ipx__text {
5033    display: inline-block;
5034    transition: transform 0.2s ease;
5035  }
5036
5037  .ipx__text::before {
5038    content: "";
5039    position: absolute;
5040    left: calc(-1 * var(--ipx-offset));
5041    top: 50%;
5042    width: 0.625rem;
5043    height: 0.625rem;
5044    background-color: currentColor;
5045    opacity: 0;
5046    pointer-events: none;
5047    transform: translateY(-50%);
5048    transition: opacity 0.2s ease;
5049  }
5050
5051  .ipx:hover .ipx__text,
5052  .ipx:focus-visible .ipx__text {
5053    transform: translateX(var(--ipx-offset));
5054  }
5055
5056  .ipx:hover .ipx__text::before,
5057  .ipx:focus-visible .ipx__text::before {
5058    opacity: 1;
5059  }
5060
5061  .ipx__label {
5062    font-size: 0.875rem;
5063    line-height: 1.75rem;
5064  }
5065</style> </li><li> <a class="ipx" href="/templates" data-event="CTA Clicked" data-e
5065="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Templates</span> </span> </a> <style>
5066  .ipx {
5067    --ipx-offset: 1.125rem;
5068    display: inline-block;
5069    position: relative;
5070    padding-right: var(--ipx-offset);
5071    color: var(--text-body);
5072    transition: color 0.2s ease;
5073    cursor: pointer;
5074  }
5075
5076  .ipx:hover,
5077  .ipx:focus-visible {
5078    color: var(--text-headings);
5079  }
5080
5081  .ipx__text {
5082    display: inline-block;
5083    transition: transform 0.2s ease;
5084  }
5085
5086  .ipx__text::before {
5087    content: "";
5088    position: absolute;
5089    left: calc(-1 * var(--ipx-offset));
5090    top: 50%;
5091    width: 0.625rem;
5092    height: 0.625rem;
5093    background-color: currentColor;
5094    opacity: 0;
5095    pointer-events: none;
5096    transform: translateY(-50%);
5097    transition: opacity 0.2s ease;
5098  }
5099
5100  .ipx:hover .ipx__text,
5101  .ipx:focus-visible .ipx__text {
5102    transform: translateX(var(--ipx-offset));
5103  }
5104
5105  .ipx:hover .ipx__text::before,
5106  .ipx:focus-visible .ipx__text::before {
5107    opacity: 1;
5108  }
5109
5110  .ipx__label {
5111    font-size: 0.875rem;
5112    line-height: 1.75rem;
5113  }
5114</style> </li> </ul> </div><div class="footer-ig88__column"> <h3 class="footer-ig88__column-title">Company</h3> <ul class="footer-ig88__column-links"> <li> <a class="ipx" href="/about" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">About us</span> </span> </a> <style>
5115  .ipx {
5116    --ipx-offset: 1.125rem;
5117    display: inline-block;
5118    position: relative;
5119    padding-right: var(--ipx-offset);
5120    color: var(--text-body);
5121    transition: color 0.2s ease;
5122    cursor: pointer;
5123  }
5124
5125  .ipx:hover,
5126  .ipx:focus-visible {
5127    color: var(--text-headings);
5128  }
5129
5130  .ipx__text {
5131    display: inline-block;
5132    transition: transform 0.2s ease;
5133  }
5134
5135  .ipx__text::before {
5136    content: "";
5137    position: absolute;
5138    left: calc(-1 * var(--ipx-offset));
5139    top: 50%;
5140    width: 0.625rem;
5141    height: 0.625rem;
5142    background-color: currentColor;
5143    opacity: 0;
5144    pointer-events: none;
5145    transform: translateY(-50%);
5146    transition: opacity 0.2s ease;
5147  }
5148
5149  .ipx:hover .ipx__text,
5150  .ipx:focus-visible .ipx__text {
5151    transform: translateX(var(--ipx-offset));
5152  }
5153
5154  .ipx:hover .ipx__text::before,
5155  .ipx:focus-visible .ipx__text::before {
5156    opacity: 1;
5157  }
5158
5159  .ipx__label {
5160    font-size: 0.875rem;
5161    line-height: 1.75rem;
5162  }
5163</style> </li><li> <a class="ipx" href="/careers" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Careers</span> </span> </a> <style>
5164  .ipx {
5165    --ipx-offset: 1.125rem;
5166    display: inline-block;
5167    position: relative;
5168    padding-right: var(--ipx-offset);
5169    color: var(--text-body);
5170    transition: color 0.2s ease;
5171    cursor: pointer;
5172  }
5173
5174  .ipx:hover,
5175  .ipx:focus-visible {
5176    color: var(--text-headings);
5177  }
5178
5179  .ipx__text {
5180    display: inline-block;
5181    transition: transform 0.2s ease;
5182  }
5183
5184  .ipx__text::before {
5185    content: "";
5186    position: absolute;
5187    left: calc(-1 * var(--ipx-offset));
5188    top: 50%;
5189    width: 0.625rem;
5190    height: 0.625rem;
5191    background-color: currentColor;
5192    opacity: 0;
5193    pointer-events: none;
5194    transform: translateY(-50%);
5195    transition: opacity 0.2s ease;
5196  }
5197
5198  .ipx:hover .ipx__text,
5199  .ipx:focus-visible .ipx__text {
5200    transform: translateX(var(--ipx-offset));
5201  }
5202
5203  .ipx:hover .ipx__text::before,
5204  .ipx:focus-visible .ipx__text::before {
5205    opacity: 1;
5206  }
5207
5208  .ipx__label {
5209    font-size: 0.875rem;
5210    line-height: 1.75rem;
5211  }
5212</style> </li><li> <a class="ipx" href="/contact" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Contact</span> </span> </a> <style>
5213  .ipx {
5214    --ipx-offset: 1.125rem;
5215    display: inline-block;
5216    position: relative;
5217    padding-right: var(--ipx-offset);
5218    color: var(--text-body);
5219    transition: color 0.2s ease;
5220    cursor: pointer;
5221  }
5222
5223  .ipx:hover,
5224  .ipx:focus-visible {
5225    color: var(--text-headings);
5226  }
5227
5228  .ipx__text {
5229    display: inline-block;
5230    transition: transform 0.2s ease;
5231  }
5232
5233  .ipx__text::before {
5234    content: "";
5235    position: absolute;
5236    left: calc(-1 * var(--ipx-offset));
5237    top: 50%;
5238    width: 0.625rem;
5239    height: 0.625rem;
5240    background-color: currentColor;
5241    opacity: 0;
5242    pointer-events: none;
5243    transform: translateY(-50%);
5244    transition: opacity 0.2s ease;
5245  }
5246
5247  .ipx:hover .ipx__text,
5248  .ipx:focus-visible .ipx__text {
5249    transform: translateX(var(--ipx-offset));
5250  }
5251
5252  .ipx:hover .ipx__text::before,
5253  .ipx:focus-visible .ipx__text::before {
5254    opacity: 1;
5255  }
5256
5257  .ipx__label {
5258    font-size: 0.875rem;
5259    line-height: 1.75rem;
5260  }
5261</style> </li><li>
5261 <a class="ipx" href="/press" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Press</span> </span> </a> <style>
5262  .ipx {
5263    --ipx-offset: 1.125rem;
5264    display: inline-block;
5265    position: relative;
5266    padding-right: var(--ipx-offset);
5267    color: var(--text-body);
5268    transition: color 0.2s ease;
5269    cursor: pointer;
5270  }
5271
5272  .ipx:hover,
5273  .ipx:focus-visible {
5274    color: var(--text-headings);
5275  }
5276
5277  .ipx__text {
5278    display: inline-block;
5279    transition: transform 0.2s ease;
5280  }
5281
5282  .ipx__text::before {
5283    content: "";
5284    position: absolute;
5285    left: calc(-1 * var(--ipx-offset));
5286    top: 50%;
5287    width: 0.625rem;
5288    height: 0.625rem;
5289    background-color: currentColor;
5290    opacity: 0;
5291    pointer-events: none;
5292    transform: translateY(-50%);
5293    transition: opacity 0.2s ease;
5294  }
5295
5296  .ipx:hover .ipx__text,
5297  .ipx:focus-visible .ipx__text {
5298    transform: translateX(var(--ipx-offset));
5299  }
5300
5301  .ipx:hover .ipx__text::before,
5302  .ipx:focus-visible .ipx__text::before {
5303    opacity: 1;
5304  }
5305
5306  .ipx__label {
5307    font-size: 0.875rem;
5308    line-height: 1.75rem;
5309  }
5310</style> </li><li> <a class="ipx" href="https://help.upguard.com/en/" data-event="CTA Clicked" data-e="CTA Clicked" target="_blank" rel="noopener noreferrer"> <span class="ipx__text"> <span class="ipx__label">Support</span> </span> </a> <style>
5311  .ipx {
5312    --ipx-offset: 1.125rem;
5313    display: inline-block;
5314    position: relative;
5315    padding-right: var(--ipx-offset);
5316    color: var(--text-body);
5317    transition: color 0.2s ease;
5318    cursor: pointer;
5319  }
5320
5321  .ipx:hover,
5322  .ipx:focus-visible {
5323    color: var(--text-headings);
5324  }
5325
5326  .ipx__text {
5327    display: inline-block;
5328    transition: transform 0.2s ease;
5329  }
5330
5331  .ipx__text::before {
5332    content: "";
5333    position: absolute;
5334    left: calc(-1 * var(--ipx-offset));
5335    top: 50%;
5336    width: 0.625rem;
5337    height: 0.625rem;
5338    background-color: currentColor;
5339    opacity: 0;
5340    pointer-events: none;
5341    transform: translateY(-50%);
5342    transition: opacity 0.2s ease;
5343  }
5344
5345  .ipx:hover .ipx__text,
5346  .ipx:focus-visible .ipx__text {
5347    transform: translateX(var(--ipx-offset));
5348  }
5349
5350  .ipx:hover .ipx__text::before,
5351  .ipx:focus-visible .ipx__text::before {
5352    opacity: 1;
5353  }
5354
5355  .ipx__label {
5356    font-size: 0.875rem;
5357    line-height: 1.75rem;
5358  }
5359</style> </li><li> <a class="ipx" href="/security" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Security</span> </span> </a> <style>
5360  .ipx {
5361    --ipx-offset: 1.125rem;
5362    display: inline-block;
5363    position: relative;
5364    padding-right: var(--ipx-offset);
5365    color: var(--text-body);
5366    transition: color 0.2s ease;
5367    cursor: pointer;
5368  }
5369
5370  .ipx:hover,
5371  .ipx:focus-visible {
5372    color: var(--text-headings);
5373  }
5374
5375  .ipx__text {
5376    display: inline-block;
5377    transition: transform 0.2s ease;
5378  }
5379
5380  .ipx__text::before {
5381    content: "";
5382    position: absolute;
5383    left: calc(-1 * var(--ipx-offset));
5384    top: 50%;
5385    width: 0.625rem;
5386    height: 0.625rem;
5387    background-color: currentColor;
5388    opacity: 0;
5389    pointer-events: none;
5390    transform: translateY(-50%);
5391    transition: opacity 0.2s ease;
5392  }
5393
5394  .ipx:hover .ipx__text,
5395  .ipx:focus-visible .ipx__text {
5396    transform: translateX(var(--ipx-offset));
5397  }
5398
5399  .ipx:hover .ipx__text::before,
5400  .ipx:focus-visible .ipx__text::before {
5401    opacity: 1;
5402  }
5403
5404  .ipx__label {
5405    font-size: 0.875rem;
5406    line-height: 1.75rem;
5407  }
5408</style> </li><li> <a class="ipx" href="/partners" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Partners</span> </span> </a> <style>
5409  .ipx {
5410    --ipx-offset: 1.125rem;
5411    display: inline-block;
5412    position: relative;
5413    padding-right: var(--ipx-offset);
5414    color: var(--text-body);
5415    transition: color 0.2s ease;
5416    cursor: pointer;
5417  }
5418
5419  .ipx:hover,
5420  .ipx:focus-visible {
5421    color: var(--text-headings);
5422  }
5423
5424  .ipx__text {
5425    display: inline-block;
5426    transition: transform 0.2s ease;
5427  }
5428
5429  .ipx__text::before {
5430    content: "";
5431    position: absolute;
5432    left: calc(-1 * var(--ipx-offset));
5433    top: 50%;
5434    width: 0.625rem;
5435    height: 0.625rem;
5436    background-color: currentColor;
5437    opacity: 0;
5438    pointer-events: none;
5439    transform: translateY(-50%);
5440    transition: opacity 0.2s ease;
5441  }
5442
5443  .ipx:hover .ipx__text,
5444  .ipx:focus-visible .ipx__text {
5445    transform: translateX(var(--ipx-offset));
5446  }
5447
5448  .ipx:hover .ipx__text::before,
5449  .ipx:focus-visible .ipx__text::before {
5450    opacity: 1;
5451  }
5452
5453  .ipx__label {
5454    font-size: 0.875rem;
5455    line-height: 1.75rem;
5456  }
5457</style> </li> </ul> </div><div class="footer-ig88__column"> <h3 class="footer-ig88__column-title">Solutions</h3> <ul class="footer-ig88__column-links"> <li> <a class="ipx" href="/industries/financial-services" data-event="CTA Clicked" data-e
5457="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Financial Services</span> </span> </a> <style>
5458  .ipx {
5459    --ipx-offset: 1.125rem;
5460    display: inline-block;
5461    position: relative;
5462    padding-right: var(--ipx-offset);
5463    color: var(--text-body);
5464    transition: color 0.2s ease;
5465    cursor: pointer;
5466  }
5467
5468  .ipx:hover,
5469  .ipx:focus-visible {
5470    color: var(--text-headings);
5471  }
5472
5473  .ipx__text {
5474    display: inline-block;
5475    transition: transform 0.2s ease;
5476  }
5477
5478  .ipx__text::before {
5479    content: "";
5480    position: absolute;
5481    left: calc(-1 * var(--ipx-offset));
5482    top: 50%;
5483    width: 0.625rem;
5484    height: 0.625rem;
5485    background-color: currentColor;
5486    opacity: 0;
5487    pointer-events: none;
5488    transform: translateY(-50%);
5489    transition: opacity 0.2s ease;
5490  }
5491
5492  .ipx:hover .ipx__text,
5493  .ipx:focus-visible .ipx__text {
5494    transform: translateX(var(--ipx-offset));
5495  }
5496
5497  .ipx:hover .ipx__text::before,
5498  .ipx:focus-visible .ipx__text::before {
5499    opacity: 1;
5500  }
5501
5502  .ipx__label {
5503    font-size: 0.875rem;
5504    line-height: 1.75rem;
5505  }
5506</style> </li><li> <a class="ipx" href="/industries/technology" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Technology</span> </span> </a> <style>
5507  .ipx {
5508    --ipx-offset: 1.125rem;
5509    display: inline-block;
5510    position: relative;
5511    padding-right: var(--ipx-offset);
5512    color: var(--text-body);
5513    transition: color 0.2s ease;
5514    cursor: pointer;
5515  }
5516
5517  .ipx:hover,
5518  .ipx:focus-visible {
5519    color: var(--text-headings);
5520  }
5521
5522  .ipx__text {
5523    display: inline-block;
5524    transition: transform 0.2s ease;
5525  }
5526
5527  .ipx__text::before {
5528    content: "";
5529    position: absolute;
5530    left: calc(-1 * var(--ipx-offset));
5531    top: 50%;
5532    width: 0.625rem;
5533    height: 0.625rem;
5534    background-color: currentColor;
5535    opacity: 0;
5536    pointer-events: none;
5537    transform: translateY(-50%);
5538    transition: opacity 0.2s ease;
5539  }
5540
5541  .ipx:hover .ipx__text,
5542  .ipx:focus-visible .ipx__text {
5543    transform: translateX(var(--ipx-offset));
5544  }
5545
5546  .ipx:hover .ipx__text::before,
5547  .ipx:focus-visible .ipx__text::before {
5548    opacity: 1;
5549  }
5550
5551  .ipx__label {
5552    font-size: 0.875rem;
5553    line-height: 1.75rem;
5554  }
5555</style> </li><li> <a class="ipx" href="/industries/healthcare" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Healthcare</span> </span> </a> <style>
5556  .ipx {
5557    --ipx-offset: 1.125rem;
5558    display: inline-block;
5559    position: relative;
5560    padding-right: var(--ipx-offset);
5561    color: var(--text-body);
5562    transition: color 0.2s ease;
5563    cursor: pointer;
5564  }
5565
5566  .ipx:hover,
5567  .ipx:focus-visible {
5568    color: var(--text-headings);
5569  }
5570
5571  .ipx__text {
5572    display: inline-block;
5573    transition: transform 0.2s ease;
5574  }
5575
5576  .ipx__text::before {
5577    content: "";
5578    position: absolute;
5579    left: calc(-1 * var(--ipx-offset));
5580    top: 50%;
5581    width: 0.625rem;
5582    height: 0.625rem;
5583    background-color: currentColor;
5584    opacity: 0;
5585    pointer-events: none;
5586    transform: translateY(-50%);
5587    transition: opacity 0.2s ease;
5588  }
5589
5590  .ipx:hover .ipx__text,
5591  .ipx:focus-visible .ipx__text {
5592    transform: translateX(var(--ipx-offset));
5593  }
5594
5595  .ipx:hover .ipx__text::before,
5596  .ipx:focus-visible .ipx__text::before {
5597    opacity: 1;
5598  }
5599
5600  .ipx__label {
5601    font-size: 0.875rem;
5602    line-height: 1.75rem;
5603  }
5604</style> </li><li> <a class="ipx" href="/solutions/ai-security" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">AI Security Center</span> </span> </a> <style>
5605  .ipx {
5606    --ipx-offset: 1.125rem;
5607    display: inline-block;
5608    position: relative;
5609    padding-right: var(--ipx-offset);
5610    color: var(--text-body);
5611    transition: color 0.2s ease;
5612    cursor: pointer;
5613  }
5614
5615  .ipx:hover,
5616  .ipx:focus-visible {
5617    color: var(--text-headings);
5618  }
5619
5620  .ipx__text {
5621    display: inline-block;
5622    transition: transform 0.2s ease;
5623  }
5624
5625  .ipx__text::before {
5626    content: "";
5627    position: absolute;
5628    left: calc(-1 * var(--ipx-offset));
5629    top: 50%;
5630    width: 0.625rem;
5631    height: 0.625rem;
5632    background-color: currentColor;
5633    opacity: 0;
5634    pointer-events: none;
5635    transform: translateY(-50%);
5636    transition: opacity 0.2s ease;
5637  }
5638
5639  .ipx:hover .ipx__text,
5640  .ipx:focus-visible .ipx__text {
5641    transform: translateX(var(--ipx-offset));
5642  }
5643
5644  .ipx:hover .ipx__text::before,
5645  .ipx:focus-visible .ipx__text::before {
5646    opacity: 1;
5647  }
5648
5649  .ipx__label {
5650    font-size: 0.875rem;
5651    line-height: 1.75rem;
5652  }
5653</style> </li> </ul> </div><div class="footer-ig88__column"> <h3 class="footer-ig88__column-title">Quick links</h3> <ul class="footer-ig88__column-links"> <li> <a class="ipx" href="/category/third-party-risk-management" data-event="CTA Clicked" data-e
5653="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Third-Party Risk Management</span> </span> </a> <style>
5654  .ipx {
5655    --ipx-offset: 1.125rem;
5656    display: inline-block;
5657    position: relative;
5658    padding-right: var(--ipx-offset);
5659    color: var(--text-body);
5660    transition: color 0.2s ease;
5661    cursor: pointer;
5662  }
5663
5664  .ipx:hover,
5665  .ipx:focus-visible {
5666    color: var(--text-headings);
5667  }
5668
5669  .ipx__text {
5670    display: inline-block;
5671    transition: transform 0.2s ease;
5672  }
5673
5674  .ipx__text::before {
5675    content: "";
5676    position: absolute;
5677    left: calc(-1 * var(--ipx-offset));
5678    top: 50%;
5679    width: 0.625rem;
5680    height: 0.625rem;
5681    background-color: currentColor;
5682    opacity: 0;
5683    pointer-events: none;
5684    transform: translateY(-50%);
5685    transition: opacity 0.2s ease;
5686  }
5687
5688  .ipx:hover .ipx__text,
5689  .ipx:focus-visible .ipx__text {
5690    transform: translateX(var(--ipx-offset));
5691  }
5692
5693  .ipx:hover .ipx__text::before,
5694  .ipx:focus-visible .ipx__text::before {
5695    opacity: 1;
5696  }
5697
5698  .ipx__label {
5699    font-size: 0.875rem;
5700    line-height: 1.75rem;
5701  }
5702</style> </li><li> <a class="ipx" href="/category/attack-surface-management" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Attack Surface Management</span> </span> </a> <style>
5703  .ipx {
5704    --ipx-offset: 1.125rem;
5705    display: inline-block;
5706    position: relative;
5707    padding-right: var(--ipx-offset);
5708    color: var(--text-body);
5709    transition: color 0.2s ease;
5710    cursor: pointer;
5711  }
5712
5713  .ipx:hover,
5714  .ipx:focus-visible {
5715    color: var(--text-headings);
5716  }
5717
5718  .ipx__text {
5719    display: inline-block;
5720    transition: transform 0.2s ease;
5721  }
5722
5723  .ipx__text::before {
5724    content: "";
5725    position: absolute;
5726    left: calc(-1 * var(--ipx-offset));
5727    top: 50%;
5728    width: 0.625rem;
5729    height: 0.625rem;
5730    background-color: currentColor;
5731    opacity: 0;
5732    pointer-events: none;
5733    transform: translateY(-50%);
5734    transition: opacity 0.2s ease;
5735  }
5736
5737  .ipx:hover .ipx__text,
5738  .ipx:focus-visible .ipx__text {
5739    transform: translateX(var(--ipx-offset));
5740  }
5741
5742  .ipx:hover .ipx__text::before,
5743  .ipx:focus-visible .ipx__text::before {
5744    opacity: 1;
5745  }
5746
5747  .ipx__label {
5748    font-size: 0.875rem;
5749    line-height: 1.75rem;
5750  }
5751</style> </li> </ul> </div><div class="footer-ig88__column"> <h3 class="footer-ig88__column-title">Tools</h3> <ul class="footer-ig88__column-links"> <li> <a class="ipx" href="/tools/dark-web-scan" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Dark Web Scan</span> </span> </a> <style>
5752  .ipx {
5753    --ipx-offset: 1.125rem;
5754    display: inline-block;
5755    position: relative;
5756    padding-right: var(--ipx-offset);
5757    color: var(--text-body);
5758    transition: color 0.2s ease;
5759    cursor: pointer;
5760  }
5761
5762  .ipx:hover,
5763  .ipx:focus-visible {
5764    color: var(--text-headings);
5765  }
5766
5767  .ipx__text {
5768    display: inline-block;
5769    transition: transform 0.2s ease;
5770  }
5771
5772  .ipx__text::before {
5773    content: "";
5774    position: absolute;
5775    left: calc(-1 * var(--ipx-offset));
5776    top: 50%;
5777    width: 0.625rem;
5778    height: 0.625rem;
5779    background-color: currentColor;
5780    opacity: 0;
5781    pointer-events: none;
5782    transform: translateY(-50%);
5783    transition: opacity 0.2s ease;
5784  }
5785
5786  .ipx:hover .ipx__text,
5787  .ipx:focus-visible .ipx__text {
5788    transform: translateX(var(--ipx-offset));
5789  }
5790
5791  .ipx:hover .ipx__text::before,
5792  .ipx:focus-visible .ipx__text::before {
5793    opacity: 1;
5794  }
5795
5796  .ipx__label {
5797    font-size: 0.875rem;
5798    line-height: 1.75rem;
5799  }
5800</style> </li><li> <a class="ipx" href="/security-report" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Security Reports</span> </span> </a> <style>
5801  .ipx {
5802    --ipx-offset: 1.125rem;
5803    display: inline-block;
5804    position: relative;
5805    padding-right: var(--ipx-offset);
5806    color: var(--text-body);
5807    transition: color 0.2s ease;
5808    cursor: pointer;
5809  }
5810
5811  .ipx:hover,
5812  .ipx:focus-visible {
5813    color: var(--text-headings);
5814  }
5815
5816  .ipx__text {
5817    display: inline-block;
5818    transition: transform 0.2s ease;
5819  }
5820
5821  .ipx__text::before {
5822    content: "";
5823    position: absolute;
5824    left: calc(-1 * var(--ipx-offset));
5825    top: 50%;
5826    width: 0.625rem;
5827    height: 0.625rem;
5828    background-color: currentColor;
5829    opacity: 0;
5830    pointer-events: none;
5831    transform: translateY(-50%);
5832    transition: opacity 0.2s ease;
5833  }
5834
5835  .ipx:hover .ipx__text,
5836  .ipx:focus-visible .ipx__text {
5837    transform: translateX(var(--ipx-offset));
5838  }
5839
5840  .ipx:hover .ipx__text::before,
5841  .ipx:focus-visible .ipx__text::before {
5842    opacity: 1;
5843  }
5844
5845  .ipx__label {
5846    font-size: 0.875rem;
5847    line-height: 1.75rem;
5848  }
5849</style> </li><li> <a class="ipx" href="/instant-security-score" data-event="CTA Clicked" data-e
5849="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Instant Security Score</span> </span> </a> <style>
5850  .ipx {
5851    --ipx-offset: 1.125rem;
5852    display: inline-block;
5853    position: relative;
5854    padding-right: var(--ipx-offset);
5855    color: var(--text-body);
5856    transition: color 0.2s ease;
5857    cursor: pointer;
5858  }
5859
5860  .ipx:hover,
5861  .ipx:focus-visible {
5862    color: var(--text-headings);
5863  }
5864
5865  .ipx__text {
5866    display: inline-block;
5867    transition: transform 0.2s ease;
5868  }
5869
5870  .ipx__text::before {
5871    content: "";
5872    position: absolute;
5873    left: calc(-1 * var(--ipx-offset));
5874    top: 50%;
5875    width: 0.625rem;
5876    height: 0.625rem;
5877    background-color: currentColor;
5878    opacity: 0;
5879    pointer-events: none;
5880    transform: translateY(-50%);
5881    transition: opacity 0.2s ease;
5882  }
5883
5884  .ipx:hover .ipx__text,
5885  .ipx:focus-visible .ipx__text {
5886    transform: translateX(var(--ipx-offset));
5887  }
5888
5889  .ipx:hover .ipx__text::before,
5890  .ipx:focus-visible .ipx__text::before {
5891    opacity: 1;
5892  }
5893
5894  .ipx__label {
5895    font-size: 0.875rem;
5896    line-height: 1.75rem;
5897  }
5898</style> </li><li> <a class="ipx" href="/webscan" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">Website Security Scanner</span> </span> </a> <style>
5899  .ipx {
5900    --ipx-offset: 1.125rem;
5901    display: inline-block;
5902    position: relative;
5903    padding-right: var(--ipx-offset);
5904    color: var(--text-body);
5905    transition: color 0.2s ease;
5906    cursor: pointer;
5907  }
5908
5909  .ipx:hover,
5910  .ipx:focus-visible {
5911    color: var(--text-headings);
5912  }
5913
5914  .ipx__text {
5915    display: inline-block;
5916    transition: transform 0.2s ease;
5917  }
5918
5919  .ipx__text::before {
5920    content: "";
5921    position: absolute;
5922    left: calc(-1 * var(--ipx-offset));
5923    top: 50%;
5924    width: 0.625rem;
5925    height: 0.625rem;
5926    background-color: currentColor;
5927    opacity: 0;
5928    pointer-events: none;
5929    transform: translateY(-50%);
5930    transition: opacity 0.2s ease;
5931  }
5932
5933  .ipx:hover .ipx__text,
5934  .ipx:focus-visible .ipx__text {
5935    transform: translateX(var(--ipx-offset));
5936  }
5937
5938  .ipx:hover .ipx__text::before,
5939  .ipx:focus-visible .ipx__text::before {
5940    opacity: 1;
5941  }
5942
5943  .ipx__label {
5944    font-size: 0.875rem;
5945    line-height: 1.75rem;
5946  }
5947</style> </li><li> <a class="ipx" href="/tools/ai-policy-generator" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">AI Policy Generator</span> </span> </a> <style>
5948  .ipx {
5949    --ipx-offset: 1.125rem;
5950    display: inline-block;
5951    position: relative;
5952    padding-right: var(--ipx-offset);
5953    color: var(--text-body);
5954    transition: color 0.2s ease;
5955    cursor: pointer;
5956  }
5957
5958  .ipx:hover,
5959  .ipx:focus-visible {
5960    color: var(--text-headings);
5961  }
5962
5963  .ipx__text {
5964    display: inline-block;
5965    transition: transform 0.2s ease;
5966  }
5967
5968  .ipx__text::before {
5969    content: "";
5970    position: absolute;
5971    left: calc(-1 * var(--ipx-offset));
5972    top: 50%;
5973    width: 0.625rem;
5974    height: 0.625rem;
5975    background-color: currentColor;
5976    opacity: 0;
5977    pointer-events: none;
5978    transform: translateY(-50%);
5979    transition: opacity 0.2s ease;
5980  }
5981
5982  .ipx:hover .ipx__text,
5983  .ipx:focus-visible .ipx__text {
5984    transform: translateX(var(--ipx-offset));
5985  }
5986
5987  .ipx:hover .ipx__text::before,
5988  .ipx:focus-visible .ipx__text::before {
5989    opacity: 1;
5990  }
5991
5992  .ipx__label {
5993    font-size: 0.875rem;
5994    line-height: 1.75rem;
5995  }
5996</style> </li><li> <a class="ipx" href="/tools" data-event="CTA Clicked" data-e="CTA Clicked"> <span class="ipx__text"> <span class="ipx__label">All tools</span> </span> </a> <style>
5997  .ipx {
5998    --ipx-offset: 1.125rem;
5999    display: inline-block;
6000    position: relative;
6001    padding-right: var(--ipx-offset);
6002    color: var(--text-body);
6003    transition: color 0.2s ease;
6004    cursor: pointer;
6005  }
6006
6007  .ipx:hover,
6008  .ipx:focus-visible {
6009    color: var(--text-headings);
6010  }
6011
6012  .ipx__text {
6013    display: inline-block;
6014    transition: transform 0.2s ease;
6015  }
6016
6017  .ipx__text::before {
6018    content: "";
6019    position: absolute;
6020    left: calc(-1 * var(--ipx-offset));
6021    top: 50%;
6022    width: 0.625rem;
6023    height: 0.625rem;
6024    background-color: currentColor;
6025    opacity: 0;
6026    pointer-events: none;
6027    transform: translateY(-50%);
6028    transition: opacity 0.2s ease;
6029  }
6030
6031  .ipx:hover .ipx__text,
6032  .ipx:focus-visible .ipx__text {
6033    transform: translateX(var(--ipx-offset));
6034  }
6035
6036  .ipx:hover .ipx__text::before,
6037  .ipx:focus-visible .ipx__text::before {
6038    opacity: 1;
6039  }
6040
6041  .ipx__label {
6042    font-size: 0.875rem;
6043    line-height: 1.75rem;
6044  }
6045</style> </li> </ul> </div> </div> </div> </div>  <div class="footer-ig88__bottom"> <div class="footer-ig88__bottom-row"> <div class="footer-ig88__copyright">
6046© 2026 UpGuard, Inc
6047</div> <ul class="footer-ig88__social"> <li> <a class="footer-ig88__social-link" href="https://x.com/UpGuard" aria-label="X" target="_blank" rel="noopener noreferrer" data-event="CTA Clicked" data-e
6047="CTA Clicked"> <span><svg aria-hidden="true" style="display:block; width:16px; height:16px;" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 512 512" fill="none"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z" fill="currentColor"/></svg></span> </a> </li><li> <a class="footer-ig88__social-link" href="https://www.linkedin.com/company/7579497" aria-label="LinkedIn" target="_blank" rel="noopener noreferrer" data-event="CTA Clicked" data-e="CTA Clicked"> <span><svg aria-hidden="true" style="display:block; width:17px; height:16px;" xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewBox="0 0 17 16" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M0.7 0.000488281H15.3C15.7 0.000488281 16 0.300488 16.1 0.700488V15.3005C16.1 15.7005 15.8 16.0005 15.4 16.0005H0.7C0.3 16.0005 0 15.7005 0 15.4005V0.700488C0 0.300488 0.3 0.000488281 0.7 0.000488281ZM2.39999 13.6005H4.69999H4.79999V6.00049H2.39999V13.6005ZM3.60001 5.0005C2.80001 5.0005 2.20001 4.3005 2.20001 3.6005C2.20001 2.8005 2.80001 2.2005 3.60001 2.2005C4.40001 2.2005 5.00001 2.8005 5.00001 3.6005C4.90001 4.3005 4.30001 5.0005 3.60001 5.0005ZM11.2 13.6005H13.5V9.40054C13.5 7.40054 13.1 5.80054 10.7 5.80054C9.60001 5.80054 8.80001 6.40054 8.50001 7.00054V6.00054H6.20001V13.7005H8.60001V9.90054C8.60001 8.90054 8.80001 7.90054 10 7.90054C11.2 7.90054 11.2 9.00054 11.2 9.90054V13.6005Z" fill="currentColor"/></svg></span> </a> </li><li> <a class="footer-ig88__social-link" href="https://www.facebook.com/UpGuard" aria-label="Facebook" target="_blank" rel="noopener noreferrer" data-event="CTA Clicked" data-e="CTA Clicked"> <span><svg aria-hidden="true" style="display:block; width:16px; height:16px;" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M6.02293 16L6 9H3V6H6V4C6 1.3008 7.67151 0 10.0794 0C11.2328 0 12.2241 0.08587 12.5129 0.12425V2.94507L10.843 2.94583C9.53343 2.94583 9.27987 3.5681 9.27987 4.48124V6H13L12 9H9.27986V16H6.02293Z" fill="currentColor"/></svg></span> </a> </li><li> <a class="footer-ig88__social-link" href="https://github.com/ScriptRock" aria-label="GitHub" target="_blank" rel="noopener noreferrer" data-event="CTA Clicked" data-e="CTA Clicked"> <span><svg aria-hidden="true" style="display:block; width:16px; height:16px;" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><g clip-path="url(#clip0)"><path d="M8.00044 0.186524C6.09591 0.185958 4.25365 0.86487 2.80493 2.10118C1.35622 3.33749 0.396089 5.05009 0.0971964 6.93102C-0.201696 8.81196 0.180257 10.7378 1.17437 12.3623C2.16849 13.9868 3.70955 15.2034 5.52044 15.7932H5.71377C5.8081 15.799 5.90259 15.7848 5.99098 15.7513C6.07936 15.7179 6.15963 15.666 6.22646 15.5992C6.29328 15.5324 6.34514 15.4521 6.37858 15.3637C6.41202 15.2753 6.42629 15.1808 6.42044 15.0865V14.9465C6.42044 14.8332 6.42044 14.6799 6.42044 14.2199C6.4139 14.1762 6.39874 14.1342 6.37585 14.0965C6.35296 14.0587 6.3228 14.0259 6.28711 13.9999C6.24838 13.9685 6.20313 13.9463 6.15467 13.9347C6.10622 13.9232 6.0558 13.9227 6.00711 13.9332C4.22044 14.3199 3.84044 13.1999 3.81377 13.1265C3.59005 12.5339 3.1898 12.0243 2.66711 11.6665C2.63579 11.6394 2.60235 11.6149 2.56711 11.5932C2.64458 11.5515 2.73319 11.5352 2.82044 11.5465C2.988 11.5698 3.14667 11.6361 3.28102 11.7389C3.41537 11.8417 3.52082 11.9775 3.58711 12.1332C3.84501 12.5822 4.26703 12.9138 4.76438 13.058C5.26173 13.2022 5.79564 13.1479 6.25377 12.9065C6.30294 12.885 6.34618 12.852 6.37984 12.8102C6.4135 12.7684 6.43658 12.7191 6.44711 12.6665C6.47263 12.3582 6.60462 12.0683 6.82044 11.8465C6.86835 11.804 6.90299 11.7485 6.92019 11.6868C6.9374 11.6251 6.93645 11.5597 6.91746 11.4985C6.89846 11.4373 6.86223 11.3829 6.8131 11.3417C6.76397 11.3006 6.70403 11.2745 6.64044 11.2665C5.06044 11.0865 3.44711 10.5332 3.44711 7.80652C3.43379 7.12178 3.68444 6.45816 4.14711 5.95319C4.18972 5.90612 4.21801 5.84787 4.22863 5.78527C4.23926 5.72268 4.2318 5.65835 4.20711 5.59986C4.02183 5.08221 4.02419 4.51594 4.21377 3.99986C4.82966 4.10903 5.40773 4.37283 5.89377 4.76652C5.93393 4.79487 5.97996 4.81378 6.02844 4.82186C6.07692 4.82994 6.1266 4.82698 6.17377 4.81319C6.7693 4.65165 7.3834 4.56872 8.00044 4.56652C8.61979 4.56704 9.23631 4.64999 9.83377 4.81319C9.87997 4.82594 9.9284 4.82836 9.97564 4.8203C10.0229 4.81223 10.0678 4.79387 10.1071 4.76652C10.5939 4.37407 11.
60471717 4.11042 11.7871 3.99986C11.9686 4.51318 11.9686 5.0732 11.7871 5.58652C11.7624 5.64502 11.755 5.70935 11.7656 5.77194C11.7762 5.83453 11.8045 5.89279 11.8471 5.93986C12.305 6.43977 12.5553 7.09532 12.5471 7.77319C12.5471 10.4999 10.9271 11.0465 9.34044 11.2265C9.27536 11.2333 9.21372 11.2591 9.16319 11.3007C9.11266 11.3422 9.07549 11.3977 9.0563 11.4603C9.0371 11.5228 9.03675 11.5897 9.05527 11.6524C9.07378 11.7152 9.11036 11.7711 9.16044 11.8132C9.30811 11.9656 9.42095 12.1483 9.49116 12.3485C9.56137 12.5488 9.58728 12.7619 9.56711 12.9732V15.0932C9.56381 15.1974 9.58362 15.3011 9.62511 15.3967C9.6666 15.4924 9.72876 15.5777 9.80711 15.6465C9.90689 15.7212 10.0227 15.7716 10.1454 15.7936C10.2681 15.8156 10.3943 15.8086 10.5138 15.7732C12.3125 15.1714 13.8389 13.9502 14.8207 12.3273C15.8024 10.7044 16.1756 8.78548 15.8737 6.91294C15.5717 5.04041 14.6143 3.33606 13.1722 2.10402C11.7301 0.871979 9.89716 0.192394 8.00044 0.186524V0.186524Z" fill="currentColor"/></g><defs><clipPath id="clip0"><rect width="16" height="16" fill="currentColor"/></clipPath></defs></svg></span> </a> </li><li> <a class="footer-ig88__social-link" href="https://wellfound.com/company/upguard" aria-label="Wellfound" target="_blank" rel="noopener noreferrer" data-event="CTA Clicked" data-e="CTA Clicked"> <span><svg style="display:block; overflow:visible; width:20px; height:20px;" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.5 15.9-2 4h3.3l2 8.5L5.6 4h3.2l2.3 8.5L13 4h3.3L12.9 16H9.4L7.2 7.4 5 15.9zM20.1 16a2 2 0 0 0 1.9-2c0-1-.8-2-1.9-2a2 2 0 0 0-1.9 2q.2 1.8 2 2M20.1 8A2 2 0 0 0 22 6q-.1-1.8-1.9-2a2 2 0 0 0-1.9 2c0 1 .9 2 2 2" fill="currentColor"/></svg></span> </a> </li><li> <a class="footer-ig88__social-link" href="https://www.youtube.com/@UpGuardInc" aria-label="YouTube" target="_blank" rel="noopener noreferrer" data-event="CTA Clicked" data-e="CTA Clicked"> <span><svg aria-hidden="true" style="display:block; width:20px; height:20px;" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 576 512" fill="none"><path d="M549.7 124.1c-6.3-23.7-24.8-42.3-48.3-48.6C458.8 64 288 64 288 64S117.2 64 74.6 75.5c-23.5 6.3-42 24.9-48.3 48.6-11.4 42.9-11.4 132.3-11.4 132.3s0 89.4 11.4 132.3c6.3 23.7 24.8 41.5 48.3 47.8C117.2 448 288 448 288 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zm-317.5 213.5V175.2l142.7 81.2-142.7 81.2z" fill="currentColor"/></svg></span> </a> </li> </ul> <div class="footer-ig88__legal"> <div class="footer-ig88__legal-links"> <a class="footer-ig88__legal-link" href="/company/terms-and-conditions" data-event="CTA Clicked" data-e="CTA Clicked"> Website Terms &amp; Conditions </a><a class="footer-ig88__legal-link" href="/company/platform-terms-and-conditions" data-event="CTA Clicked" data-e="CTA Clicked"> Platform Terms &amp; Conditions </a><a class="footer-ig88__legal-link" href="/company/research-guidelines" data-event="CTA Clicked" data-e="CTA Clicked"> Research Guidelines </a><a class="footer-ig88__legal-link" href="/company/cookies" data-event="CTA Clicked" data-e="CTA Clicked"> Cookies </a><a class="footer-ig88__legal-link" href="/company/privacy" data-event="CTA Clicked" data-e="CTA Clicked"> Privacy </a> </div> </div> </div> <div class="footer-ig88__privacy">
6048Do not sell or share my personal information
6049</div> </div> </footer> 
6049<script>
6050  ;(() => {
6051    document.querySelectorAll(".footer-ig88__privacy").forEach(($el) =>
6052      $el.addEventListener("click", () => {
6053        UC_UI.showSecondLayer()
6054      }),
6055    )
6056  })()
6057</script>
6057 <style>
6058  /* Reset styles */
6059  :where(.footer-ig88 ul) {
6060    list-style: none;
6061    padding: 0;
6062    margin: 0;
6063  }
6064  :where(.footer-ig88 a) {
6065    text-decoration: none;
6066    color: inherit;
6067  }
6068  .footer-ig88 svg {
6069    display: block;
6070  }
6071
6072  /* Theme styles */
6073  .footer-ig88 {
6074    --gap: 1.25rem;
6075    --container-max-width: 88.5rem;
6076    --container-width: calc(100% - 2 * var(--gap));
6077  }
6078  /* Theme variables */
6079  .footer-ig88[data-theme="dark"] {
6080    --background: #0a0a0a;
6081    --text-headings: #fff;
6082    --text-body: #bababa;
6083    --divider: #3a3a3a;
6084  }
6085  .footer-ig88[data-theme="light"] {
6086    --background: #fff;
6087    --text-headings: #0a0a0a;
6088    --text-body: #6b6b6b;
6089    --divider: #c9c7c7;
6090    font-size: 16px;
6091  }
6092  .footer-ig88--bfSoft[data-theme="light"] {
6093    --background: #f9f9f9;
6094  }
6095  @media (min-width: 480px) {
6096    .footer-ig88 {
6097      --gap: clamp(0.969rem, -0rem + 3.229vw, 1.55rem);
6098    }
6099  }
6100  @media (min-width: 768px) {
6101    .footer-ig88 {
6102      --gap: clamp(1.55rem, 0rem + 3.229vw, 2rem);
6103    }
6104  }
6105  @media (min-width: 992px) {
6106    .footer-ig88 {
6107      --gap: clamp(0.984rem, 0.001rem + 1.587vw, 1.5rem);
6108      --container-width: calc(100% - 4 * var(--gap));
6109    }
6110  }
6111
6112  /* Footer styles */
6113  .footer-ig88 {
6114    font-size: 0.875rem;
6115    line-height: 1.75rem;
6116    letter-spacing: -0.01em;
6117    color: var(--text-body);
6118    background-color: var(--background);
6119    padding-top: 1px; /* contains child margins */
6120  }
6121  .footer-ig88__bd {
6122    margin-left: auto;
6123    margin-right: auto;
6124    max-width: var(--container-max-width);
6125    width: var(--container-width);
6126  }
6127
6128  .footer-ig88__brand {
6129    padding-top: 6rem;
6130    margin-bottom: 5rem;
6131  }
6132
6133  .footer-ig88__brand-link {
6134    display: inline-flex;
6135    align-items: center;
6136    gap: 0.5rem;
6137    color: var(--text-headings);
6138  }
6139
6140  .footer-ig88__brand-text {
6141    position: absolute !important;
6142    height: 1px;
6143    width: 1px;
6144    overflow: hidden;
6145    clip: rect(1px, 1px, 1px, 1px);
6146    white-space: nowrap;
6147    border: 0;
6148    padding: 0;
6149    margin: -1px;
6150  }
6151
6152  .footer-ig88__columns {
6153    display: grid;
6154    grid-template-columns: repeat(12, 1fr);
6155    grid-template-rows: auto auto;
6156    gap: 1.25rem 1.5rem;
6157    margin-bottom: 3.75rem;
6158  }
6159
6160  .footer-ig88__group--platform {
6161    grid-column: 1 / span 2;
6162    grid-row: 1;
6163  }
6164
6165  .footer-ig88__group--products {
6166    grid-column: 3 / span 4;
6167    grid-row: 1;
6168  }
6169
6170  .footer-ig88__products-cols {
6171    display: grid;
6172    grid-template-columns: 1fr 1fr;
6173    gap: 0 1.5rem;
6174    margin-top: 1rem;
6175  }
6176
6177  .footer-ig88__group--nav {
6178    grid-column: 7 / span 6;
6179    grid-row: 1 / span 2;
6180    display: grid;
6181    grid-template-columns: repeat(3, 1fr);
6182    grid-template-rows: auto auto;
6183    gap: 1.5rem;
6184  }
6185
6186  .footer-ig88__column-title {
6187    font-size: 1rem;
6188    font-weight: 400;
6189    line-height: 1.5rem;
6190    color: var(--text-headings);
6191    margin-bottom: 1.75rem;
6192  }
6193
6194  .footer-ig88__column-links {
6195    display: flex;
6196    flex-direction: column;
6197    gap: 0.25rem;
6198  }
6199
6200  .footer-ig88__link {
6201    display: flex;
6202    align-items: center;
6203    gap: 0.75rem;
6204    color: var(--text-body);
6205    transition: color 0.2s ease;
6206  }
6207
6208  .footer-ig88__group--products .footer-ig88__link {
6209    margin-bottom: 1rem;
6210  }
6211
6212  .footer-ig88__link:hover,
6213  .footer-ig88__link:focus-visible {
6214    color: var(--text-headings);
6215  }
6216
6217  .footer-ig88__link-icon {
6218    display: flex;
6219    align-items: center;
6220    flex-shrink: 0;
6221  }
6222
6223  .footer-ig88__link-icon svg {
6224    width: 1rem;
6225    height: 1rem;
6226  }
6227
6228  .footer-ig88__bottom {
6229    padding-top: 1.25rem;
6230    padding-bottom: 0.5rem;
6231    margin-left: auto;
6232    margin-right: auto;
6233    max-width: var(--container-max-width);
6234    width: var(--container-width);
6235    display: flex;
6236    flex-direction: column;
6237    align-items: end;
6238    gap: 1rem;
6239    border-top: 1px solid var(--divider);
6240  }
6241
6242  .footer-ig88__bottom-row {
6243    display: flex;
6244    flex-flow: wrap;
6245    justify-content: space-between;
6246    width: 100%;
6247    gap: 1rem;
6248  }
6249
6250  .footer-ig88__copyright {
6251    font-size: 0.875rem;
6252    color: var(--text-body);
6253  }
6254
6255  .footer-ig88__social {
6256    display: flex;
6257    gap: 1rem;
6258    align-items: center;
6259    margin-left: auto;
6260  }
6261
6262  .footer-ig88__social-link {
6263    display: flex;
6264    align-items: center;
6265    color: var(--text-body);
6266    transition: color 0.2s ease;
6267  }
6268
6269  .footer-ig88__social-link:hover,
6270  .footer-ig88__social-link:focus-visible {
6271    color: var(--text-headings);
6272  }
6273
6274  .footer-ig88__legal {
6275    display: flex;
6276    flex-direction: column;
6277    align-items: flex-end;
6278    gap: 0.5rem;
6279    margin-left: auto;
6280  }
6281
6282  .footer-ig88__legal-links {
6283    display: flex;
6284    flex-wrap: wrap;
6285    gap: 2rem;
6286    margin-left: auto;
6287  }
6288
6289  .footer-ig88__legal-link {
6290    font-size: 0.875rem;
6291    color: var(--text-body);
6292    transition: color 0.2s ease;
6293    line-height: 1.4rem;
6294  }
6295
6296  .footer-ig88__legal-link:hover,
6297  .footer-ig88__legal-link:focus-visible {
6298    color: var(--text-headings);
6299  }
6300
6301  .footer-ig88__privacy {
6302    font-size: 0.75rem;
6303    color: var(--text-body);
6304    opacity: 0.5;
6305    letter-spacing: normal;
6306  }
6307
6308  @media (max-width: 991px) {
6309    .footer-ig88__bottom {
6310      gap: 0.5rem;
6311    }
6312
6313    .footer-ig88__group--platform {
6314      grid-column: span 4;
6315    }
6316
6317    .footer-ig88__group--products {
6318      grid-column: span 8;
6319      grid-row: 1;
6320    }
6321
6322    .footer-ig88__group--nav {
6323      margin-top: 2rem;
6324      grid-column: 1 / -1;
6325      grid-row: 2;
6326      grid-template-columns: repeat(3, 1fr);
6327      gap: 2rem;
6328    }
6329
6330    .footer-ig88__legal-links {
6331      gap: 1.2rem;
6332      grid-row-gap: 0rem;
6333    }
6334  }
6335
6336  /* Mobile: stack columns, smaller brand margin, stack bottom bar */
6337  @media (max-width: 479px) {
6338    .footer-ig88__brand {
6339      margin-top: 3rem;
6340      margin-bottom: 2.5rem;
6341    }
6342
6343    .footer-ig88__columns {
6344      gap: 0;
6345      margin-bottom: 2rem;
6346    }
6347
6348    .footer-ig88__social {
6349      padding-left: 0.5rem;
6350    }
6351
6352    .footer-ig88__group--platform {
6353      grid-column: 1 / span 6;
6354      grid-row: 1;
6355    }
6356
6357    .footer-ig88__group--products {
6358      grid-column: 7 / span 6;
6359      grid-row: 1;
6360    }
6361
6362    .footer-ig88__group--nav {
6363      margin-top: 2rem;
6364      grid-column: 1 / -1;
6365      grid-row: 2;
6366      grid-template-columns: 1fr 1fr;
6367      gap: 2rem;
6368    }
6369
6370    .footer-ig88__products-cols {
6371      grid-template-columns: 1fr;
6372      gap: 0;
6373    }
6374
6375    .footer-ig88__bottom-row {
6376      grid-row-gap: 1.5rem;
6377    }
6378
6379    .footer-ig88__legal {
6380      /* align-items: center; */
6381    }
6382
6383    .footer-ig88__legal-links {
6384      grid-column-gap: 1.5rem;
6385      grid-row-gap: 0rem;
6386      justify-content: start;
6387      flex-flow: wrap;
6388    }
6389  }
6390</style>  </body></html><!-- This script is automatically inserted by Netlify for Real User Monitoring (RUM). -->
6391<script async id="netlify-rum-container" src="/.netlify/scripts/rum" data-netlify-cwv-token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaXRlX2lkIjoiNmUyMjZlZGItNzA2Zi00M2UzLWE5NWYtOTU1ZDU5MGE1NTgwIiwiYWNjb3VudF9pZCI6IjY4Yjc3MGQ5MjRkOTdjZmU1MGI4ODJlNyIsImRlcGxveV9pZCI6IjZhYjRhM2NiYjM2ZTgyMDAwOGUyYWU5YyIsImlzcyI6Im5ldGxpZnkifQ.RcAFYYx001QEy39z72HvzKjvpRT0WoKY1UxhLUdAH90"></script>
vendor: 1 bytes, line 6391
6391

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.