PageSourceSearch

https://staging-superblocks.webflow.io/blog/superblocks-3-0-secure…on-aws-built-for-the-age-of-ai-cyberattacks

html staging-superblocks.webflow.io collected 2026-10-03 13:47:46 UTC 242,137 bytes, 3,645 lines download raw bytes

1<!DOCTYPE html><!-- Last Published: Fri Sep 25 2026 16:47:51 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="staging-superblocks.webflow.io" data-wf-page="63bdc699a5c6ce24f226a22e" data-wf-site="627d359d0e0aa265b7817bcf" lang="en" data-wf-collection="63bdc699a5c6ce202226a2d3" data-wf-item-slug="superblocks-3-0-secure-private-vibe-coding-on-aws-built-for-the-age-of-ai-cyberattacks"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Superblocks 3.0: Secure Private Vibe Coding on AWS, Built for the Age of AI Cyberattacks | Superblocks</title><meta content="Announcing our partnership with AWS: VPC deployments, an AWS database per app, Security Agents, Builder MCP, Model Routing and more." name="description"/><meta content="Superblocks 3.0: Secure Private Vibe Coding on AWS, Built for the Age of AI Cyberattacks | Superblocks" property="og:title"/><meta content="Announcing our partnership with AWS: VPC deployments, an AWS database per app, Security Agents, Builder MCP, Model Routing and more." property="og:description"/><meta content="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a67c86b66a0fdbee3191239_image%20(1).avif" property="og:image"/><meta content="Superblocks 3.0: Secure Private Vibe Coding on AWS, Built for the Age of AI Cyberattacks | Superblocks" name="twitter:title"/><meta content="Announcing our partnership with AWS: VPC deployments, an AWS database per app, Security Agents, Builder MCP, Model Routing and more." name="twitter:description"/><meta content="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a67c86b66a0fdbee3191239_image%20(1).avif" name="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="Eo95pFXYKGLcN6jmtJpEA6nbmQXz2OVrbpCNyrrQyws" name="google-site-verification"/><link href="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/css/staging-superblocks.shared.33ab4e13e.min.css" rel="stylesheet" type="text/css" integrity="sha384-M6tOE+9FuB5AcvN5tHmptcjP03STDgN7k0xGRsmIu3O6/EEoYSVwnJcSMoNlWQ+v" crossorigin="anonymous"/><link href="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/css/staging-superblocks.63bdc699a5c6ce24f226a22e.373bd7dbe.opt.min.css" rel="stylesheet" type="text/css" integrity="sha384-NzvX2+7JyhghUst+SO8jQQFF2euiCQ8NX9VGOdX66+iKhOamUFkDB4M5NIyourc7" crossorigin="anonymous"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/>
1<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
1<script type="text/javascript">WebFont.load({  google: {    families: ["Geist Mono:300,400,500,600,700","Noto Serif:300,400,500,600,700"]  }});</script>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/68389956665084bb2fd37939_favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/68389981266f7d1bf639b09d_webclip.png" rel="apple-touch-icon"/><link href="https://www.superblocks.com/blog/superblocks-3-0-secure-private-vibe-coding-on-aws-built-for-the-age-of-ai-cyberattacks" rel="canonical"/>
1<script type="application/ld+json">
2{
3  "@context": "https://schema.org",
4  "@type": "BlogPosting",
5  "headline": "Superblocks 3.0: Secure Private Vibe Coding on AWS, Built for the Age of AI Cyberattacks",
6  "description": "Announcing our partnership with AWS: VPC deployments, an AWS database per app, Security Agents, Builder MCP, Model Routing and more.",
7  "url": "https://www.superblocks.com/blog/superblocks-3-0-secure-private-vibe-coding-on-aws-built-for-the-age-of-ai-cyberattacks",
8  "mainEntityOfPage": {
9    "@type": "WebPage",
10    "@id": "https://www.superblocks.com/blog/superblocks-3-0-secure-private-vibe-coding-on-aws-built-for-the-age-of-ai-cyberattacks"
11  },
12  "datePublished": "2026-08-03",
13  "dateModified": "2026-08-04T12:43:19.612Z",
14  "author": {
15    "@type": "Person",
16    "name": "Brad Menezes, Co-Founder &amp; CEO"
17  },
18  "publisher": {
19    "@type": "Organization",
20    "name": "Superblocks",
21    "logo": {
22      "@type": "ImageObject",
23      "url": "https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/65c36a3021d33a44d1848b34_superblocks-logo.svg"
24    }
25  },
26  "image": "https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a67c86b66a0fdbee3191239_image%20(1).avif",
27  "inLanguage": "en",
28  "articleSection": "Featured"
29}
30</script>
30<link href="rss.xml" rel="alternate" title="RSS Feed" type="application/rss+xml"/><!-- Swiper CSS -->
31<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" defer/>
32<script>
33  let newSite = false;
34  let swipers = {};
35</script>
35
36
37<!-- New Styles -->
38<style>
39  .mod_box{
40    display: none;
41  }
42</style>
43
44<style>
45.cs-voyages_content-anchor{
46pointer-events: none;
47}
48</style>
49
50
51<!-- Google Tag Manager -->
52<script>
vendor: 423 bytes, lines 52-56
52(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
53                                                      new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
54      j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
55        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
56                            })(window,document,'script','dataLayer','
56GTM-K4X7PGG
vendor: 3 bytes, line 56
56');
56</script>
56
57<!-- End Google Tag Manager -->
58
59<!-- Vector Code -->
60<script>
61    !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);
62    vector.load("e3d9af96-3c0b-41ff-877c-5e7234b3475e");
63</script>
63
64
65<!-- End of Vector Code -->
66
67<!-- Knock Testing Code -->
68
69<script async src="https://knock2-backend-2ba4792164c3.herokuapp.com/install/superblocks_com"></script>
69
70
71<!-- end of Knock Teting Code -->
72
73<!-- Start of HubSpot Embed Code -->
74<script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/21976886.js"></script>
74
75<!-- End of HubSpot Embed Code -->
76
77<!-- Start of Posthog Embed Code -->
78<script>
79    !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
80    posthog.init('phc_U27NGBkUjZpxWhFBamTtrzEKRGHLlsCtpRg2xObeBZq',{api_host:'https://us.i.posthog.com', defaults:'2026-01-30'})
81</script>
81
82<!-- End of Posthog Embed Code -->
83
84<!-- Reddit Pixel -->
85<script>
86!function(w,d){if(!w.rdt){var p=w.rdt=function(){p.sendEvent?p.sendEvent.apply(p,arguments):p.callQueue.push(arguments)};p.callQueue=[];var t=d.createElement("script");t.src="https://www.redditstatic.com/ads/pixel.js",t.async=!0;var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(t,s)}}(window,document);rdt('init','a2_gwzgorlbr4bq');rdt('track', 'PageVisit');
87</script>
87
88<!-- DO NOT MODIFY UNLESS TO REPLACE A USER IDENTIFIER -->
89<!-- End Reddit Pixel -->
90
91<!-- Twitter conversion tracking base code -->
92<script>
93!function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments);
94},s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js',
95a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script');
96twq('config','pqqrs');
97</script>
97
98<!-- End Twitter conversion tracking base code -->
99
100<!-- Datafast code -->
101<script
102  defer
103  data-website-id="dfid_f0S4x26EOYODsYUegRnou"
104  data-domain="superblocks.com"
105  data-allow-localhost="true"
106  src="https://datafa.st/js/script.js">
107</script>
107
108<!-- End of Datafast code -->
109
110<style>
111  iframe.intercom-borderless-frame {
112    border-radius: 5px;
113  }
114
115  body#intercom-container-body {
116    margin: 0;
117    background-color: rgb(238, 233, 251);
118    border: 1px solid rgb(200 193 217);
119    border-radius: 5px;
120  }
121
122  .composer-suggestions-container button {
123    background-color: rgb(133 91 255);
124    color: ffffff;
125  }
126
127  .composer-suggestions-container button:hover {
128    background-color: rgb(100, 58, 223);
129    color: rgb(255, 255, 255);
130  }
131</style>
132
133<style>
134  .personalized-content{
135    display:none;
136  }
137</style>
138
139<style>
140  /************ ADD YOUR VALUES BELOW ************/
141  :root {
142    /* ----------- Colors ----------- */
143    --list-bg-color: white;
144    --list-text-color: inherit; /* Use "inherit" to take on parent text color */
145    --list-text-color-hover: var(--color--brand--blue); /* Add your hex code here for the hover text color on the list option/item */
146    --current-field-text-color: var(--color--neutral--300); /* Add hex code for selected option text color in the field itself */
147    --select-field-arrow-color: #A4AAB7; /* This is the select field arrow color */
148    --border-color-active: black; /* Active State */
149    --list-item-bg-color: rgba(39, 187, 255, 0.12);; /* Select Field Hover/Focus State */
150
151    /* ----------- Spacing ----------- */
152    --select-field-padding-left: 20px; /* Match the padding values for your form fields */
153    --select-field-padding-right: 20px; /* Match the padding values for your form fields */
154    --list-max-height: auto;
155    --list-item-padding-left: 18px; 
156    --list-item-padding-right: 18px;
157    --list-item-min-height: 44px; /* This is the height of each list item in the dropdown */
158    --list-item-line-height: 44px; /* This is the height of each list item in the dropdown */
159    /* ^^^  Make sure both "line-height" and "min-height" are the same! ^^^  */
160  }
161  /************ END OF CUSTOM VALUES ************/
162
163  .square-select,
164  .square-select.nice-select .option{
165    border-radius: 4px;
166  }
167  .square-select.nice-select{
168    padding: 8px 8px 8px 12px;
169  }
170  .square-select.nice-select .option{
171    padding: 8px 12px 8px 12px;
172    height: 36px;
173  }
174  .square-select.nice-select.open:after{
175    border-color: #27BBFF;
176  }
177
178  /************ Base ************/
179  .nice-select {
180    -webkit-tap-highlight-color: transparent;
181    box-sizing: border-box;
182    clear: both;
183    padding-left: var(--select-field-padding-left);
184    padding-right: var(--select-field-padding-right);
185    position: relative;
186    display:flex;
187    align-items: center;
188    text-align: left !important;
189    -webkit-transition: all 0.2s ease-in-out;
190    transition: all 0.2s ease-in-out;
191    -webkit-user-select: none;
192    -moz-user-select: none;
193    -ms-user-select: none;
194    user-select: none;
195    white-space: nowrap; 
196  }
197
198
199  .nice-select:active, .nice-select.open, .nice-select:focus {
200    border-color: #27bbff;
201  }
202
203
204  .nice-select:after {
205    border-bottom: 2px solid var(--select-field-arrow-color);
206    border-right: 2px solid var(--select-field-arrow-color);
207    content: '';
208    display: block;
209    height: 5px;
210    margin-top: -4px;
211    pointer-events: none;
212    position: absolute;
213    right: 20px;
214    top: 50%;
215    -webkit-transform-origin: 66% 66%;
216    -ms-transform-origin: 66% 66%;
217    transform-origin: 66% 66%;
218    -webkit-transform: rotate(45deg);
219    -ms-transform: rotate(45deg);
220    transform: rotate(45deg);
221    -webkit-transition: all 0.15s ease-in-out;
222    transition: all 0.15s ease-in-out;
223    width: 5px; 
224  }
225
226
227  .nice-select.open:after {
228    -webkit-transform: rotate(-135deg);
229    -ms-transform: rotate(-135deg);
230    transform: rotate(-135deg); 
231  }
232
233
234  .nice-select.open .list {
235    opacity: 1;
236    pointer-events: auto;
237    -webkit-transform: scale(1) translateY(0);
238    -ms-transform: scale(1) translateY(0);
239    transform: scale(1) translateY(0); 
240  }
241
242
243  .nice-select.disabled {
244    border-color: #ededed;
245    color: #999;
246    pointer-events: none; 
247  }
248
249
250  .nice-select.disabled:after {
251    border-color: #cccccc; 
252  }
253
254
255  .nice-select.wide {
256    width: 100%; 
257  }
258
259
260  .nice-select.wide .list {
261    left: 0 !important;
262    right: 0 !important; 
263  }
264
265
266  .nice-select.right {
267    float: right; 
268  }
269
270
271  .nice-select.right .list {
272    left: auto;
273    right: 0; 
274  }
275
276
277  .nice-select.small {
278    font-size: 12px;
279    height: 36px;
280    line-height: 34px; 
281  }
282
283
284  .nice-select.small:after {
285    height: 4px;
286    width: 4px; 
287  }
288
289
290  .nice-select.small .option {
291    line-height: 34px;
292    min-height: 34px; 
293  }
294
295
296  .nice-select .list {
297    background-color: var(--list-bg-color);
298    color: var(--list-text-color);
299    border-radius: 12px;
300    box-shadow: 0px 0.675px 2.025px rgba(34, 39, 47, 0.06), 0px 8.1px 21.6px -5.4px rgba(34, 39, 47, 0.16), 0px 0px 0.675px rgba(34, 39, 47, 0.16);
301    border-color: #ededed;
302    box-sizing: border-box;
303    margin-top: 4px;
304    opacity: 0;
305    overflow: hidden;
306    padding: 8px;
307    pointer-events: none;
308    position: absolute;
309    top: 110%;
310    left: 0;
311    right: 0;
312    overflow-y: scroll;
313    overflow-x: hidden;
314    max-height: var(--list-max-height);
315    -webkit-transform-origin: 50% 0;
316    -ms-transform-origin: 50% 0;
317    transform-origin: 50% 0;
318    -webkit-transform: scale(0.75) translateY(-21px);
319    -ms-transform: scale(0.75) translateY(-21px);
320    transform: scale(0.75) translateY(-21px);
321    -webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
322    transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
323    z-index: 9; 
324  }
325
326
327  .nice-select .list:hover .option:not(:hover) {
328    background-color: transparent !important; 
329  }
330
331
332  .nice-select .option {
333    cursor: pointer;
334    display: flex;
335    align-items: center;
336    font-weight: 400;
337    line-height: var(--list-item-line-height);
338    list-style: none;
339    min-height: var(--list-item-min-height);
340    outline: none;
341    border-radius: 36px;
342    padding-left: var(--list-item-padding-left);
343    padding-right: var(--list-item-padding-right);
344    text-align: left;
345    -webkit-transition: all 0.2s;
346    transition: all 0.2s;
347  }
348
349  .nice-select .option:first-child {
350    display: none;
351  }
352
353  span.current {
354    color: var(--current-field-text-color);
355  }
356
357  .nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
358    background-color: var(--list-item-bg-color);
359  }
360
361  .nice-select .option.selected {
362    font-weight: bold;
363    color: #27BBFF;
364  }
365
366  .nice-select .option:hover {
367    color: var(--list-text-color-hover);
368  }
369
370  .nice-select .option.disabled {
371    background-color: transparent;
372    color: #999;
373    cursor: default; 
374  }
375
376  .no-csspointerevents .nice-select .list {
377    display: none; 
378  }
379
380  .no-csspointerevents .nice-select.open .list {
381    display: block; 
382  }
383</style>
384
385<!-- Chatgpt ads -->
386<script>!function(w,d,s,u){if(w.oaiq)return;var q=function(){q.q.push(arguments)};q.q=[];w.oaiq=q;var j=d.createElement(s);j.async=1;j.src=u;var f=d.getElementsByTagName(s)[0];f.parentNode.insertBefore(j,f)}(window,document,"script","https://bzrcdn.openai.com/sdk/oaiq.min.js");oaiq("init",{pixelId:"8U15THMJPZLUicfowizpnq",debug:true});</script>
386
387
388<!-- Meta Pixel Code -->
389<script>
vendor: 398 bytes, lines 389-398
389
390!function(f,b,e,v,n,t,s)
391{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
392n.callMethod.apply(n,arguments):n.queue.push(arguments)};
393if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
394n.queue=[];t=b.createElement(e);t.async=!0;
395t.src=v;s=b.getElementsByTagName(e)[0];
396s.parentNode.insertBefore(t,s)}(window,document,'script',
397'https://connect.facebook.net/en_US/fbevents.js');
398fbq('init', '
3981016449610973798
vendor: 30 bytes, lines 398-399
398');
399fbq('track', 'PageView');
400</script>
400
401<noscript><img height="1" width="1" style="display:none"
402src="https://www.facebook.com/tr?id=1016449610973798&ev=PageView&noscript=1"/></noscript>
403<!-- End Meta Pixel Code -->
404<script>
405  newSite = true;
406</script>
406
407
408<!-- Finsweet Attributes -->
409<script async type="module" src="https://cdn.jsdelivr.net/npm/@finsweet/attributes@2/attributes.js"
410fs-inject
411fs-toc>  
412</script>
412
413
414<style>
415  /* Custom Elements */
416  .blog-detail_custom {
417    display: none;
418  }
419  .w-richtext .blog-detail_custom {
420    display: block;
421  }
422  .w-richtext .w-embed video {
423    margin-top: 4.8rem;
424    margin-bottom: 4.8rem;
425  }
426  [author-count],
427  .blog-index_item-authors-img.counter {
428    display: none;
429  }
430</style>
430<script type="text/javascript">window.__WEBFLOW_CURRENCY_SETTINGS = {"currencyCode":"USD","symbol":"$","decimal":".","fractionDigits":2,"group":",","template":"{{wf {\"path\":\"symbol\",\"type\":\"PlainText\"} }} {{wf {\"path\":\"amount\",\"type\":\"CommercePrice\"} }} {{wf {\"path\":\"currencyCode\",\"type\":\"PlainText\"} }}","hideDecimalForWholeNumbers":false};</script>
430</head><body class="background-light-grey"><div class="page_wrap"><div class="global-wrap"><div link-arrow="" class="global-styles w-embed"><style>
431  /* ///////////////////// START OF GLOBAL EDITS ///////////////////// */
432  :root{
433    --currentcolor: currentColor;
434  }
435
436  /* Dark Mode */
437  [data-mode="dark"]{
438    --color--neutral--900: #fff;
439    --color--neutral--800: #DDE1E3;
440    --color--neutral--700: #ACB4B9;
441    --color--neutral--600: #848B90;
442    --color--neutral--500: #767B7F;
443    --color--neutral--400: #53575A;
444    --color--neutral--300: #404345;
445    --color--neutral--200: #313335;
446    --color--neutral--100: #27292A;
447    --color--neutral--50: #1F2123;
448    --background-primary: #0F0F10;
449    --background-secondary: #181A1B;
450  }
451
452  /* Nav */
453  @media only screen and (min-width: 992px){
454    [data-mode="dark"] .nav_dropdown-list {
455      --nav--dropdown-bg: var(--background-secondary);
456      box-shadow: 0px 16px 64px -12px #000000, 0px 6px 16px -8px #000000, 0px 1px 2px #000000, 0px 0px 0px 1px rgba(255, 255, 255, 0.12);
457      background-image: linear-gradient(180deg, rgba(232, 234, 237, 0.12) 0%, rgba(232, 234, 237, 0) 100%);
458      background-color: var(--background-secondary);
459    }
460
461    [data-mode="dark"] .nav_dropdown-card:hover{
462      box-shadow: 0 0 0 1px rgba(255, 255, 255, .1), 0 8px 16px rgba(0, 0, 0, .5);
463    }
464  }
465
466
467  [data-mode="dark"] .nav_dropdown-card_bg._1{
468    background-image: url("https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/66636ae96f5e3633307c032b_nav_plat-overview_dark.png")
469  }
470  [data-mode="dark"] .nav_dropdown-card_bg._2{
471    background-image: url("https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/6679c3d198da3e974ca87789_nav_stories_dark%20(1).png")
472  }
473  [data-mode="dark"] .nav_dropdown-card_bg._2 .nav_dropdown-card_bg-hover{
474    background-image: url("https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/6834e0e65442b7dc3c55dca3_nav_stories_dark-hover.png")
475  }
476  [data-mode="dark"] .nav_dropdown-card_bg._3{
477    background-image: url("https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/665f4aa4cfe47d8758a4cad5_diy-vs-superblocks_dark.jpg")
478  }
479  [data-mode="dark"] .nav_dropdown-card_bg._4{
480    background-image: url("https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/66636f88822e34e3b7225744_nav_experts_dark%20(1).png")
481  }
482
483  /* Tag */
484  [data-mode="dark"] .hero_tag-wrap{
485    border-color: transparent;
486    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 52.6%, rgba(255, 255, 255, 0.04) 100%), 										#181A1B;
487    box-shadow: 0px 0px 0px 1px #000000, 0px 1px 2px rgba(27, 30, 34, 0.08), inset 1px 1px 1px rgba(255, 									255, 255, 0.12);
488  }
489
490  [data-mode="dark"] .hero-tag{
491    background-color: var(--color--neutral--50);
492    background-imagE: none;
493    border-color: #1A3446;
494  }
495
496  /* Cards */
497  [data-mode="dark"] .democratize-link:hover {
498    background-color: var(--background-secondary);
499  }
500
501  main:focus-visible {
502    outline: -webkit-focus-ring-color auto 0px;
503  }
504
505  html{
506    font-size: 62.5%;
507  }
508
509  /* --- Font Smoothing --- */
510  body {
511    -moz-osx-font-smoothing: grayscale;
512    -webkit-font-smoothing: antialiased;
513  }
514
515  /* Make sure containers never lose their center alignment*/
516  .container-medium, .container-small, .container-large {
517    margin-right: auto !important;
518    margin-left: auto !important;
519  }
520
521  /* --- Rich Text --- */
522  /* Get rid of top margin on first element in any rich text element */
523  .w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
524    margin-top: 0 !important;
525  }
526
527  /* Get rid of bottom margin on last element in any rich text element */
528  .w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
529    margin-bottom: 0 !important;
530  }
531  .text-rich-text li::marker{
532    color: black;
533  }
534
535  /* --- Inherit links styling --- */
536  a, .w-nav-brand{
537    color: inherit;
538    text-decoration: inherit;
539    font-size: inherit;
540  }
541
542  /* --- Links --- */
543  .link-arrow{
544    transition: 350ms;
545  }
546
547  a:hover .link-arrow{
548    transform: translateX(0.25rem);
549  }
550
551  /* --- Prevent --- */
552  /* Prevent all click and hover interaction with an element */
553  .pointer-events-off {
554    pointer-events: none;
555  }
556
557  /* Enables all click and hover interaction with an element */
558  .pointer-events-on {
559    pointer-events: auto;
560  }
561
562  /*Apply "..." after 3 lines of text */
563  .text-style-3lines {
564    display: -webkit-box;
565    overflow: hidden;
566    -webkit-line-clamp: 3;
567    -webkit-box-orient: vertical;
568  }
569  /* Apply "..." after 2 lines of text */
570  .text-style-2lines {
571    display: -webkit-box;
572    overflow: hidden;
573    -webkit-line-clamp: 2;
574    -webkit-box-orient: vertical;
575  }
576  /* Apply "..." at 100% width */
577  .truncate-width { 
578    width: 100%; 
579    white-space: nowrap; 
580    overflow: hidden; 
581    text-overflow: ellipsis; 
582  }
583
584  /* Removes native scrollbar */
585  .no-scrollbar,
586  [no-scrollbar]{
587    -ms-overflow-style: none;  
588    overflow: -moz-scrollbars-none;  
589  }
590
591  .no-scrollbar::-webkit-scrollbar,
592  [no-scrollbar]::-webkit-scrollbar{
593    display: none;
594  }
595
596  /* Adds inline flex display */
597  .display-inlineflex {
598    display: inline-flex;
599  }
600  .display-inline-block{
601    vertical-align: text-top;
602  }
603
604  /* --- These classes are never overwritten --- */
605  .hide {
606    display: none !important;
607  }
608
609  @media screen and (max-width: 991px), 
610    @media screen and (max-width: 767px), 
611    @media screen and (max-width: 479px){
612      .hide, .hide-tablet{
613        display: none !important;
614      }
615  }
616
617  @media screen and (max-width: 767px){
618    .hide-mobile-landscape{
619      display: none !important;
620    }
621  }
622
623  @media screen and (max-width: 479px){
624    .hide-mobile{
625      display: none !important;
626    }
627  }
628  /* ///////////////////// END OF GLOBAL EDITS ///////////////////// */
629
630  /* ///////////////////// START OF SPACINGS ///////////////////// */
631  .margin-0 {
632    margin: 0rem !important;
633  }
634
635  .padding-0 {
636    padding: 0rem !important;
637  }
638
639  .spacing-clean {
640    padding: 0rem !important;
641    margin: 0rem !important;
642  }
643
644  .margin-top {
645    margin-right: 0rem !important;
646    margin-bottom: 0rem !important;
647    margin-left: 0rem !important;
648  }
649
650  .padding-top {
651    padding-right: 0rem !important;
652    padding-bottom: 0rem !important;
653    padding-left: 0rem !important;
654  }
655
656  .margin-right {
657    margin-top: 0rem !important;
658    margin-bottom: 0rem !important;
659    margin-left: 0rem !important;
660  }
661
662  .padding-right {
663    padding-top: 0rem !important;
664    padding-bottom: 0rem !important;
665    padding-left: 0rem !important;
666  }
667
668  .margin-bottom {
669    margin-top: 0rem !important;
670    margin-right: 0rem !important;
671    margin-left: 0rem !important;
672  }
673
674  .padding-bottom {
675    padding-top: 0rem !important;
676    padding-right: 0rem !important;
677    padding-left: 0rem !important;
678  }
679
680  .margin-left {
681    margin-top: 0rem !important;
682    margin-right: 0rem !important;
683    margin-bottom: 0rem !important;
684  }
685
686  .padding-left {
687    padding-top: 0rem !important;
688    padding-right: 0rem !important;
689    padding-bottom: 0rem !important;
690  }
691
692  .margin-horizontal {
693    margin-top: 0rem !important;
694    margin-bottom: 0rem !important;
695  }
696
697  .padding-horizontal {
698    padding-top: 0rem !important;
699    padding-bottom: 0rem !important;
700  }
701
702  .margin-vertical {
703    margin-right: 0rem !important;
704    margin-left: 0rem !important;
705  }
706
707  .padding-vertical {
708    padding-right: 0rem !important;
709    padding-left: 0rem !important;
710  }
711
712  /* ///////////////////// END OF SPACINGS ///////////////////// */
713</style></div><div class="custom-styles hide w-embed"><style>
714  /* ///////////////////// ELEMENTS ///////////////////// */
715  .shadow-strong {
716    box-shadow:
717      0px 16px 64px -12px rgba(34, 39, 47, 0.12),
718      0px 6px 16px -8px rgba(34, 39, 47, 0.16),
719      0px 0px 1px 0px rgba(34, 39, 47, 0.16),
720      0px 1px 2px 0px rgba(34, 39, 47, 0.06);
721  }
722  .cta_banner {
723    box-shadow:
724      0px 16px 64px -32px rgba(31, 165, 255, 0.24),
725      0px 32px 120px 0px rgba(31, 165, 255, 0.16);
726  }
727  .hp_developers-cta_box {
728    box-shadow: 0px 16px 64px -32px rgba(14, 20, 27, 0.32);
729  }
730
731  /* Snackbar */
732  .snackbar[data-mode='dark'] {
733    background-color: var(--color--neutral--200);
734  }
735  .snackbar[data-mode='dark'] .is-snackbar {
736    background-color: rgba(255, 255, 255, 0.12);
737  }
738
739  /* Nav */
740  .nav_wrapper.fixed {
741    box-shadow: 0px 1px 2px 0px rgba(14, 20, 27, 0.12);
742  }
743  .nav_dropdown .nav_link {
744    border: none;
745  }
746  .button_new.is-nav.is-alternate {
747    background: linear-gradient(180deg, rgba(34, 39, 47, 0) 52.6%, rgba(34, 39, 47, 0.04) 100%), var(--background-primary);
748  }
749  @media only screen and (max-width: 1200px) and (min-width: 992px) {
750    .nav_dropdown-links.cols {
751      display: flex;
752      flex-direction: column;
753    }
754  }
755
756  @media only screen and (max-width: 1180px) and (min-width: 992px) {
757    .nav_brand-symbol,
758    .nav_menu-links-divider {
759      display: none !important;
760    }
761    .nav_brand-text {
762      margin-right: 1.2rem;
763    }
764    .nav_link {
765      padding-left: 0.6rem;
766      padding-right: 0.6rem;
767    }
768    .nav_menu-links-inner {
769      grid-column-gap: 0rem;
770    }
771  }
772  @media only screen and (max-width: 991px) {
773    .nav_menu-links {
774      height: calc(100dvh - 7.2rem);
775    }
776  }
777
778  /* Clark Snack */
779  @media only screen and (max-width: 991px) {
780    .nav_wrapper.clark-snack {
781      margin-top: var(--clarkSnack);
782    }
783    .nav_wrapper.clark-snack .snackbar-clark {
784      position: absolute;
785      bottom: 100%;
786    }
787    .nav_wrapper.clark-snack.cc-open {
788      margin-top: 0;
789    }
790    .nav_wrapper.cc-open .snackbar-clark {
791      display: none;
792    }
793  }
794
795  /* Small Nav */
796  @media only screen and (max-width: 1180px) and (min-width: 992px) {
797    .nav-logo-text {
798      display: none;
799    }
800    .nav .page-padding {
801      padding: 0 16px;
802    }
803  }
804
805  a:hover .nav_dropdown-card_bg-hover {
806    opacity: 1;
807  }
808
809  /* Rich Text */
810  .rich-text-inherit *,
811  .text-rich-inherit * {
812    font-weight: inherit;
813    font-size: inherit;
814    margin: inherit;
815    line-height: inherit;
816    letter-spacing: inherit;
817    color: inherit;
818  }
819  .text-rich-inherit a {
820    text-decoration: underline;
821  }
822  .text-rich-inherit a:hover {
823    opacity: 0.8;
824  }
825  .text-rich-inherit strong {
826    font-weight: 600;
827    color: var(--color--neutral--700);
828  }
829
830  /* Shadows */
831  [tab-shadow] :is(a.w--current, ._w--current):not(.hp_tabs-link_inner, .blog-cateogry_item) {
832    box-shadow:
833      0px 16px 64px -12px rgba(34, 39, 47, 0.12),
834      0px 6px 16px -8px rgba(34, 39, 47, 0.16),
835      0px 0px 1px 0px rgba(34, 39, 47, 0.16),
836      0px 1px 2px 0px rgba(34, 39, 47, 0.06);
837    color: var(--color--neutral--900);
838  }
839
840  /* Links States */
841  [link-arrow] {
842    transition: transform 0.3s ease;
843  }
844  a:hover [link-arrow] {
845    transform: translateX(0.25rem);
846  }
847  a:hover [play-button] {
848    transform: scale(0.9);
849  }
850  a:hover [play-button-inner] {
851    transform: scale(1.2);
852  }
853  a:hover [play-button] .w-embed {
854    transform: scale(1.2);
855  }
856  a [icon-reveal] {
857    width: 0;
858    opacity: 0;
859    overflow: hidden;
860    transition:
861      width 0.3s ease-in,
862      opacity 0.3s ease-in;
863  }
864  a [icon-fade] {
865    position: absolute;
866    left: calc(100% + 0.4rem);
867    top: 50%;
868    transform: translateY(-50%);
869    transition:
870      width 0.3s ease-in,
871      opacity 0.3s ease-in;
872    opacity: 0;
873  }
874  a:hover [icon-reveal] {
875    width: 1.6rem;
876    opacity: 1;
877  }
878  a:hover [icon-fade] {
879    opacity: 1;
880  }
881
882  .button_new:not(.is-secondary, .is-link, .is-alternate, .is-disabled, .is-black, .is-snackbar) {
883    background: linear-gradient(120deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0) 50%), var(--color--brand--blue);
884    box-shadow:
885      0px 0px 0px 1px #0087e0 inset,
886      0px 3px 6px 0px rgba(255, 255, 255, 0.32) inset,
887      0px 1px 0px 1px rgba(255, 255, 255, 0.32) inset,
888      0px 12px 48px -8px rgba(0, 153, 255, 0.4),
889      0px 1px 3px 0px rgba(0, 153, 255, 0.24);
890  }
891  .button_new:not(.is-secondary, .is-link, .is-alternate, .is-disabled, .is-snackbar):hover {
892    background-color: var(--color--brand--400);
893  }
894
895  [data-mode='dark'] .button_new.is-alternate {
896    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 52.6%, rgba(255, 255, 255, 0.04) 100%), var(--background-secondary);
897    box-shadow:
898      inset 0px 1px 1px rgba(255, 255, 255, 0.12),
899      0px 0px 0px 1px #000000,
900      0px 1px 2px rgba(27, 30, 34, 0.08);
901  }
902
903  /* Tabs */
904  .w-tabs:before,
905  .w-tabs:after {
906    display: none;
907  }
908  .tabs-menu_link.w--current .tabs-menu_icon {
909    filter: none;
910    opacity: 1;
911  }
912  /* Tabs BG */
913  [linear-gradient-white] {
914    background: linear-gradient(180deg, rgba(249, 250, 251, 0.2) 0%, rgba(249, 250, 251, 0.37) 20.78%, #f9fafb 100%);
915  }
916
917  [data-tabs='item'] {
918    cursor: pointer;
919    transition:
920      color 0.2s,
921      box-shadow 0.2s;
922  }
923
924  [data-tabs='item']:hover {
925    color: var(--color--neutral--900);
926  }
927
928  [data-tabs='item'].is-active {
929    color: var(--color--neutral--900);
930  }
931
932  [data-tabs='bg'] {
933    position: absolute;
934    left: 0px;
935    top: 0px;
936    bottom: 0px;
937    z-index: 1;
938    transition-property: width, left;
939    transition-duration: 350ms, 350ms;
940    transition-timing-function: ease, ease;
941    box-shadow:
942      0px 16px 64px -12px rgba(34, 39, 47, 0.12),
943      0px 6px 16px -8px rgba(34, 39, 47, 0.16),
944      0px 0px 1px 0px rgba(34, 39, 47, 0.16),
945      0px 1px 2px 0px rgba(34, 39, 47, 0.06);
946  }
947
948  /* Swiper */
949  .swiper-bullet {
950    position: relative;
951    width: 0.6rem;
952    height: 0.6rem;
953    border-radius: 0.2rem;
954    background-color: var(--color--neutral--100);
955    transition:
956      opacity 0.3s ease,
957      width 0.3s ease;
958    margin: 0 0.6rem;
959    cursor: pointer;
960    overflow: hidden;
961  }
962  .swiper-bullet.active {
963    width: 2rem;
964    pointer-events: none;
965  }
966  .swiper-bullet:hover {
967    background-color: var(--color--neutral--200);
968  }
969  .swiper-button-disabled {
970    opacity: 0.4;
971    pointer-events: none;
972  }
973  .swiper-notification {
974    display: none;
975  }
976
977  /* Progress Bar */
978  .swiper-bullet b {
979    position: absolute;
980    bottom: 0;
981    left: 0;
982    z-index: 2;
983    width: 0%;
984    height: 100%;
985    background-color: var(--color--brand--blue);
986  }
987  .swiper-bullet.active b {
988    animation-name: countingBar;
989    animation-duration: 7s;
990    animation-timing-function: ease-in;
991    animation-iteration-count: 1;
992    animation-direction: normal;
993    animation-fill-mode: backwards;
994  }
995
996  @keyframes countingBar {
997    0% {
998      width: 0;
999    }
1000    100% {
1001      width: 100%;
1002    }
1003  }
1004
1005  /* Custom Anchors */
1006  .article_anchor {
1007    position: absolute;
1008    top: -12rem;
1009    z-index: -1;
1010    width: 100%;
1011    height: 1px;
1012  }
1013
1014  /* G2 Badges */
1015  @media only screen and (min-width: 768px) {
1016    .footer_badge[data-size='large'] {
1017      width: 13.5rem;
1018    }
1019  }
1020
1021  /* Tooltips */
1022  [data-tippy-content] {
1023    position: relative;
1024    border-bottom: none;
1025  }
1026
1027  [data-tippy-content]:not(.blog-detail_author-item):before {
1028    content: '';
1029    position: absolute;
1030    top: calc(100% + 0.2rem);
1031    left: 0;
1032    right: 0;
1033    border-bottom: 1px dashed #c6ccd2;
1034  }
1035
1036  .button_wrap.is-secondary:hover .btn_bg {
1037    opacity: 1;
1038  }
1039
1040  .button_wrap.is-red:hover .btn_bg {
1041    opacity: 1;
1042  }
1043
1044  .button_wrap.is-databricks-red:hover .btn_bg {
1045    opacity: 1;
1046  }
1047
1048  .button_wrap.is-snowflake-blue:hover .btn_bg {
1049    opacity: 1;
1050  }
1051
1052  .hp_hero-chatbox_button:hover .hp_hero-chatbox_bg {
1053    opacity: 1;
1054  }
1055
1056  .superblocks-2-0_wrap-inner:hover .icon-embed-xxsmall {
1057    transform: translateX(0.5rem);
1058  }
1059
1060  .designer-only {
1061    display: none;
1062  }
1063
1064  .wf-design-mode .designer-only {
1065    display: block;
1066  }
1067</style></div><div class="osmo-css w-embed"><style>
1068[data-modal-group-status] {
1069  transition: all 0.2s linear;
1070}
1071
1072[data-modal-group-status="active"] {
1073  opacity: 1;
1074  visibility: visible;
1075}
1076
1077[data-modal-name][data-modal-status="active"] {
1078  display: flex;
1079}
1080
1081/* Animate Accordion Bottom Grid */
1082.accordion-css__item-bottom {
1083  transition: grid-template-rows 0.6s cubic-bezier(0.625, 0.05, 0, 1);
1084}
1085
1086[data-accordion-status="active"] .accordion-css__item-bottom {
1087  grid-template-rows: 1fr;
1088}
1089
1090/* Animate Icon */
1091.accordion-css__item-icon {
1092  transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
1093}
1094
1095[data-accordion-status="active"] .accordion-css__item-icon {
1096  transform: rotate(0.001deg);
1097}
1098
1099/* Tooltip - Icon Types */
1100[data-css-tooltip-icon] > svg path:not(:first-child) {
1101  display: none;
1102}
1103
1104[data-css-tooltip-icon="question"] > svg path:nth-child(2),
1105[data-css-tooltip-icon="question"] > svg path:nth-child(3){
1106  display: block;
1107}
1108
1109[data-css-tooltip-icon="alert"] > svg path:nth-child(4),
1110[data-css-tooltip-icon="alert"] > svg path:nth-child(5){
1111  display: block;
1112}
1113
1114[data-css-tooltip-icon="info"] > svg path:nth-child(6),
1115[data-css-tooltip-icon="info"] > svg path:nth-child(7),
1116[data-css-tooltip-icon="info"] > svg path:nth-child(8),
1117[data-css-tooltip-icon="info"] > svg path:nth-child(9){
1118  display: block;
1119}
1120
1121/* Tooltip - Hover Element */
1122[data-css-tooltip-hover] {
1123  position: relative;
1124  cursor: pointer;
1125}
1126
1127/* Tooltip - Animation */
1128[data-css-tooltip-y] {
1129  transition: all 0.4s cubic-bezier(0.625, 0.05, 0, 1);
1130  opacity: 0;
1131  visibility: hidden;
1132}
1133
1134[data-css-tooltip-hover]:hover [data-css-tooltip-y] {
1135  opacity: 1;
1136  visibility: visible;
1137}
1138
1139.css-tooltip__box-inner {
1140  transition: transform 0.4s cubic-bezier(0.625, 0.05, 0, 1);
1141  transform: translateY(1em) scale(0.9) rotate(0.001deg);
1142}
1143
1144[data-css-tooltip-hover]:hover [data-css-tooltip-y] .css-tooltip__box-inner {
1145  transform: translateY(0em) scale(1) rotate(0.001deg);
1146}
1147
1148/* Tooltip - Bottom */
1149[data-css-tooltip-y="bottom"] {
1150  top: 100%;
1151  bottom: unset;
1152}
1153
1154[data-css-tooltip-y="bottom"] .css-tooltip__card {
1155  order: 2;
1156}
1157
1158[data-css-tooltip-y="bottom"] .css-tootlip__tip {
1159  transform: scaleY(-1);
1160}
1161
1162[data-css-tooltip-y="bottom"] .css-tooltip__box-inner {
1163  transform: translateY(-1em) scale(0.9) rotate(0.001deg);
1164}
1165
1166/* Tooltip - Left */
1167[data-css-tooltip-x="left"] {
1168  align-items: flex-start;
1169  left: -2em;
1170  transform: translateX(0%);
1171}
1172
1173[data-css-tooltip-x="left"] .css-tooltip__box-inner {
1174  align-items: flex-start;
1175}
1176
1177/* Tooltip - Right */
1178[data-css-tooltip-x="right"] {
1179  align-items: flex-end;
1180  left: unset;
1181  right: -2em;
1182  transform: translateX(0%);
1183}
1184
1185[data-css-tooltip-x="right"] .css-tooltip__box-inner {
1186  align-items: flex-end;
1187}
1188
1189  .vimeo-lightbox__player {
1190  transition: all 0.3s cubic-bezier(0.625, 0.05, 0, 1);
1191  opacity: 0;
1192  visibility: hidden;
1193  transform: scale(0.9) rotate(0.001deg) translateX(0);
1194}
1195
1196.vimeo-lightbox[data-vimeo-activated="true"] .vimeo-lightbox__player {
1197  opacity: 1;
1198  visibility: visible;
1199  transform: scale(1) rotate(0.001deg) translateX(0);
1200}
1201
1202/* Dark BG */
1203.vimeo-lightbox__bg {
1204  transition: all 0.3s cubic-bezier(0.625, 0.05, 0, 1);
1205  opacity: 0;
1206  visibility: hidden;
1207}
1208
1209.vimeo-lightbox[data-vimeo-activated="loading"] .vimeo-lightbox__bg,
1210.vimeo-lightbox[data-vimeo-activated="true"] .vimeo-lightbox__bg{
1211  opacity: 1;
1212  visibility: visible;
1213}
1214
1215/* Close Button */
1216.vimeo-lightbox__close {
1217  transition: all 0.5s cubic-bezier(0.625, 0.05, 0, 1);
1218  opacity: 0;
1219  visibility: hidden;
1220}
1221
1222.vimeo-lightbox[data-vimeo-activated="true"] .vimeo-lightbox__close {
1223  opacity: 1;
1224  visibility: visible;
1225}
1226
1227/* Cover */
1228.vimeo-lightbox[data-vimeo-update-size="cover"] .vimeo-lightbox__calc-wrap {
1229  height: 100%;
1230}
1231
1232.vimeo-lightbox[data-vimeo-update-size="cover"] [data-vimeo-lightbox-player] {
1233  width: 100%;
1234  min-width: 100%;
1235  max-width: 100%;
1236  height: 100%;
1237  min-height: 100%;
1238  max-height: 100%;
1239}
1240
1241/* Placeholder */
1242.vimeo-lightbox[data-vimeo-loaded="true"] .vimeo-lightbox__placeholder {
1243  opacity: 0;
1244}
1245
1246/* Dark (Overlay) */
1247.vimeo-lightbox[data-vimeo-playing="false"] .vimeo-lightbox__dark {
1248  opacity: 0.33;
1249}
1250
1251.vimeo-lightbox[data-vimeo-activated="false"][data-vimeo-playing="false"] .vimeo-lightbox__dark {
1252  opacity: 0;
1253}
1254
1255.vimeo-lightbox[data-vimeo-activated="true"][data-vimeo-loaded="true"] .vimeo-lightbox__dark {
1256  opacity: 0;
1257}
1258
1259@media (hover: hover) and (pointer: fine) {
1260  .vimeo-lightbox[data-vimeo-hover="true"]:hover .vimeo-lightbox__dark {
1261    opacity: 0.33 !important;
1262  }
1263}
1264
1265/* Pause */
1266.vimeo-lightbox .vimeo-lightbox__pause {
1267  display: none;
1268}
1269
1270.vimeo-lightbox[data-vimeo-playing="true"] .vimeo-lightbox__pause {
1271  display: flex;
1272}
1273
1274.vimeo-lightbox .vimeo-lightbox__pause .vimeo-lightbox__btn {
1275  opacity: 0;
1276}
1277
1278.vimeo-lightbox[data-vimeo-activated="true"][data-vimeo-playing="false"] .vimeo-lightbox__pause .vimeo-lightbox__btn,
1279.vimeo-lightbox[data-vimeo-activated="true"][data-vimeo-hover="true"]:hover .vimeo-lightbox__pause .vimeo-lightbox__btn {
1280  opacity: 1;
1281}
1282
1283@media (hover: none) and (pointer: coarse) {
1284  .vimeo-lightbox[data-vimeo-activated="true"][data-vimeo-playing="true"] .vimeo-lightbox__pause .vimeo-lightbox__btn {
1285    opacity: 0 !important;
1286  }
1287}
1288
1289/* Play */
1290.vimeo-lightbox[data-vimeo-playing="true"] .vimeo-lightbox__play {
1291  opacity: 0;
1292}
1293
1294/* Loading */
1295.vimeo-lightbox .vimeo-lightbox__loading {
1296  opacity: 0;
1297}
1298
1299.vimeo-lightbox[data-vimeo-playing="true"] .vimeo-lightbox__loading {
1300  opacity: 1;
1301}
1302
1303.vimeo-lightbox[data-vimeo-playing="true"][data-vimeo-loaded="true"] .vimeo-lightbox__loading {
1304  opacity: 0;
1305}
1306
1307/* Interface */
1308.vimeo-lightbox .vimeo-lightbox__interface {
1309  opacity: 0;
1310}
1311
1312.vimeo-lightbox[data-vimeo-activated="false"][data-vimeo-playing="false"] .vimeo-lightbox__interface {
1313  opacity: 1;
1314}
1315
1316.vimeo-lightbox .vimeo-lightbox__interface * {
1317  pointer-events: all; /* Make children of div clickable by user */
1318}
1319
1320.vimeo-lightbox[data-vimeo-activated="true"][data-vimeo-playing="false"] .vimeo-lightbox__interface,
1321.vimeo-lightbox[data-vimeo-activated="true"][data-vimeo-hover="true"]:hover .vimeo-lightbox__interface {
1322  opacity: 1;
1323}
1324
1325@media (hover: none) and (pointer: coarse) {
1326  .vimeo-lightbox[data-vimeo-activated="true"][data-vimeo-playing="true"] .vimeo-lightbox__interface {
1327    opacity: 0 !important;
1328  }
1329}
1330
1331/* Interface - Variables */
1332.vimeo-lightbox {
1333  --timeline-rounded-corners: 1.5em;
1334  --timeline-dot-height: 0.75em;
1335  --timeline-dot-color: var(--color--brand--blue);
1336  --progress-bg: rgba(239, 238, 236, 0.2);
1337  --progress-fill-bg: var(--color--brand--blue);
1338  --progress-height: 0.2em;
1339}
1340
1341/* Interface - Timeline */
1342.vimeo-lightbox progress::-webkit-progress-bar {
1343  border-radius: var(--timeline-rounded-corners);
1344  background-color: var(--progress-bg);
1345  box-shadow: 0;
1346}
1347
1348.vimeo-lightbox progress::-webkit-progress-value {
1349  background: var(--progress-fill-bg);
1350}
1351
1352.vimeo-lightbox progress::-moz-progress-bar{
1353  border-radius: var(--timeline-rounded-corners);
1354  background: var(--progress-fill-bg);
1355  box-shadow: 0;
1356}
1357
1358.vimeo-lightbox progress::-ms-fill {
1359  border-radius: var(--timeline-rounded-corners);
1360}
1361
1362/* Interface - Range */
1363.vimeo-lightbox [type="range"]::-webkit-slider-thumb {
1364  -webkit-appearance: none;
1365}
1366 
1367.vimeo-lightbox [type="range"]:focus {
1368  outline: none;
1369}
1370 
1371.vimeo-lightbox [type="range"]::-ms-track {
1372  width: 100%;
1373  cursor: pointer;
1374  background-color: transparent;
1375  border-color: transparent;
1376  color: transparent;
1377}
1378
1379.vimeo-lightbox [type="range"]::-webkit-slider-runnable-track{
1380  width: 100%;
1381  height: var(--progress-height);
1382  cursor: pointer;
1383  background-color: var(--progress-bg);
1384  border-radius: var(--timeline-rounded-corners);
1385  background-color: transparent;
1386  border-color: transparent;
1387  color: transparent;
1388}
1389
1390.vimeo-lightbox [type="range"]::-webkit-slider-thumb {
1391  box-shadow: 0;
1392  height: var(--timeline-dot-height);
1393  width: var(--timeline-dot-height);
1394  border-radius: var(--timeline-rounded-corners);
1395  background-color: var(--timeline-dot-color);
1396  cursor: pointer;
1397  -webkit-appearance: none;
1398  margin-top: calc((var(--progress-height) / 2) - (var(--timeline-dot-height) / 2));
1399}
1400
1401.vimeo-lightbox [type="range"]::-webkit-slider-runnable-track,
1402.vimeo-lightbox [type="range"]:focus::-webkit-slider-runnable-track {
1403  background-color: transparent;
1404  border-color: transparent;
1405  color: transparent;
1406}
1407
1408.vimeo-lightbox [type="range"]::-moz-range-track {
1409  width: 100%;
1410  height: var(--progress-height);
1411  cursor: pointer;
1412  background: var(--progress-bg);
1413  border-radius: 0;
1414  border: 0;
1415  border-radius: var(--timeline-rounded-corners);
1416  overflow: hidden;
1417  opacity: 1 !important;
1418}
1419
1420.vimeo-lightbox [type="range"]::-moz-range-thumb {
1421  box-shadow: 0;
1422  border: 0;
1423  height: var(--timeline-dot-height);
1424  width: var(--timeline-dot-height);
1425  border-radius: var(--timeline-rounded-corners);
1426  background: var(--timeline-dot-color);
1427  cursor: pointer;
1428  box-shadow: 0;
1429}
1430
1431/* Interface - Mute */
1432.vimeo-lightbox .vimeo-lightbox__mute svg:nth-child(2),
1433.vimeo-lightbox[data-vimeo-muted="true"] .vimeo-lightbox__mute svg:nth-child(1) {
1434  display: none;
1435}
1436
1437.vimeo-lightbox .vimeo-lightbox__mute svg:nth-child(1),
1438.vimeo-lightbox[data-vimeo-muted="true"] .vimeo-lightbox__mute svg:nth-child(2) {
1439  display: block;
1440}
1441
1442/* Interface - Fullscreen */
1443.vimeo-lightbox .vimeo-lightbox__fullscreen svg:nth-child(2),
1444.vimeo-lightbox[data-vimeo-fullscreen="true"] .vimeo-lightbox__fullscreen svg:nth-child(1) {
1445  display: none;
1446}
1447
1448.vimeo-lightbox .vimeo-lightbox__fullscreen svg:nth-child(1),
1449.vimeo-lightbox[data-vimeo-fullscreen="true"] .vimeo-lightbox__fullscreen svg:nth-child(2) {
1450  display: block;
1451}
1452
1453   .hp-data_card:hover .vimeo-player__btn,
1454  .hp-data_card:hover .vimeo-player__btn{
1455    transform: scale(0.9);
1456  }
1457  .hp-data_card:hover .vimeo_player_btn-circle{
1458    transform: scale(1.1);
1459  }
1460  .hp-data_card:hover .vimeo_player_btn-circle-inner{
1461    transform: scale(1.1);
1462  }
1463</style></div></div><div class="hs-css w-embed"><style>
1464:root {
1465/* ---- Variables ---- */
1466
1467/* -- Input */
1468--input-FontColor: var(--color--neutral--700);
1469
1470--input-BackgroundColor: white;
1471--input-PlaceholderColor: var(--color--neutral--300);
1472--input-Height: 4.8rem;
1473--input-FontSize: 1.6rem;
1474
1475--input-Padding: 2rem;
1476--input-FieldMargin: 1.6rem;
1477
1478/* -- Button */
1479--button-TextColor: white;
1480--button-BGColor: var(--color--neutral--900);
1481--button-BGHoverColor: var(--black-80);
1482--button-BoxShadow: 0px 0px 0px 1px #000000, 0px 1px 2px rgba(27, 30, 34, 0.08), 0px 6px 16px 1px rgba(14, 20, 27, 0.16), inset 0px 1px 0px rgba(255, 255, 255, 0.3);
1483
1484--button-Padding: 0.75rem 1.5rem;
1485--button-FontSize: 1.7rem;
1486
1487/* -- Checkbox/Radio Button */
1488--checkBox-BGcolor: #006AFF;
1489
1490/* -- Validation */
1491--validation-Size: 1.4rem;
1492--validation-BorderColor: #FF1F25;
1493--validation-TextColor: #DD0007;
1494
1495/* -- Success */
1496--success-FontSize: 1rem;
1497--success-BGColor: #F4F4F4;
1498--success-TextColor : black;
1499
1500--success-Padding: 2rem;
1501
1502}
1503
1504/* ---- Start of Form Base ---- */
1505*{
1506box-sizing: border-box;
1507}
1508/* ---- Clears ---- */
1509.hs-form ul{
1510list-style:none;
1511padding: 0;
1512}
1513.hs-form li{
1514margin:0;
1515padding:0;
1516}
1517
1518/* Form */
1519.hs-form {
1520}
1521
1522/* Field Sets */
1523.hs-form fieldset{
1524max-width: 100% !important;
1525}
1526
1527/* Input Field */
1528.hs-form-field {
1529width: 100%;
1530}
1531
1532.hs-form-field {
1533margin-bottom: var(--input-FieldMargin)
1534}
1535
1536:is(.hs-fieldtype-text,.hs-fieldtype-textarea, .hs-fieldtype-phonenumber, .hs-fieldtype-select) label{
1537font-size: 1.4rem;
1538font-weight: 500;
1539color: var(--color--neutral--700);
1540margin-bottom: 0.8rem;
1541}
1542
1543
1544.form-columns-2{
1545display:flex;
1546grid-column-gap: 1.6rem;
1547}
1548
1549@media only screen and (max-width: 991px){
1550.form-columns-2{
1551display:flex;
1552flex-direction: column;
1553}
1554fieldset.form-columns-2 .hs-form-field{
1555width: 100% !important;
1556}
1557}
1558
1559/* Input Base */
1560.input{
1561margin-right: 0 !important;
1562}
1563.hs-input:not(input[type="checkbox"],input[type="radio"]) {
1564height: var(--input-Height);
1565margin-bottom: 0px;
1566padding: var(--input-Padding);
1567border: solid 1px var(--input-BorderColor);
1568border-radius: 1rem;
1569background-color: var(--input-BackgroundColor);
1570transition-property: box-shadow border;
1571transition-duration: 350ms;
1572transition-timing-function: cubic-bezier(.215, .61, .355, 1);
1573color: var(--input-FontColor);
1574font-size: var(--input-FontSize);
1575line-height: 1.6;
1576cursor: pointer;
1577width: 100% !important;
1578outline: none;
1579background-repeat: no-repeat;
1580background-position: calc(100% - 16px) 50%;
1581background-color: white;
1582box-shadow: 0px 0px 0px 1px rgba(71, 58, 31, 0.16), 0px 1px 3px rgba(71, 58, 31, 0.06);
1583}
1584textarea.hs-input{
1585min-height: 10.6rem;
1586height: 10.6rem;
1587max-height: 30rem;
1588width: 100%;
1589min-width: 100%;
1590max-width: 1000;
1591}
1592
1593.hs-input:not(input[type="checkbox"],input[type="radio"]):hover {
1594box-shadow: 0px 0px 0px 1px rgba(71, 58, 31, 0.32), 0px 1px 3px rgba(71, 58, 31, 0.12);
1595}
1596
1597.hs-input:not(input[type="checkbox"],input[type="radio"]):is(:focus,:active) {
1598box-shadow: 0px 0px 0px 1px #0E141B, 0px 1px 3px rgba(14, 20, 27, 0.16), 0px 0px 0px 4px rgba(14, 20, 27, 0.12);
1599}
1600
1601.hs-input::placeholder {
1602color: var(--input-PlaceholderColor);
1603}
1604
1605/* Checkbox & Radios */
1606:is(.hs-fieldtype-radio,.hs-fieldtype-checkbox) > label {
1607font-weight: 500;
1608font-size: 1.4rem;
1609color: var(--color--neutral--700);
1610margin-bottom: 0.8rem;
1611display: block;
1612}
1613:is(.hs-fieldtype-radio,.hs-fieldtype-checkbox) ul {
1614margin-top: 0.5rem;
1615}
1616li:is(.hs-form-checkbox,.hs-form-radio) {
1617margin-bottom: 0.6rem;
1618}
1619li:is(.hs-form-checkbox,.hs-form-radio) label span {
1620font-size: 1.5rem;
1621font-weight: 400;
1622color: var(--color--neutral--700);
1623line-height: 1.4;
1624}
1625
1626:is(.hs-form-radio-display,.hs-form-checkbox-display, .hs-form-booleancheckbox-display) {
1627display: flex;
1628flex-direction: row;
1629align-items: center;
1630justify-content: flex-start;
1631gap: 0.8rem;
1632cursor: pointer;
1633}
1634
1635:is(.hs-fieldtype-radio,.hs-fieldtype-checkbox) ul {
1636margin-top: 0.5rem;
1637display: grid;
1638grid-template-columns: repeat(3, 1fr);
1639gap: 0.6rem 1.6rem;
1640}
1641
1642/* Base */
1643input[type="checkbox"],
1644input[type="radio"] {
1645width: 18px !important;
1646height: 18px !important;
1647flex-shrink: 0;
1648border: 1px solid #C4C4C4;
1649display: block;
1650margin: 0;
1651background-size: 12px 12px;
1652background-position: 50% 50%;
1653background-repeat: no-repeat;
1654transition: box-shadow 200ms ease, border-color 200ms ease, background-color 200ms ease;
1655cursor: pointer;
1656}
1657
1658input[type="checkbox"]:hover,
1659input[type="radio"]:hover {
1660box-shadow: 0px 0px 0px 1px rgba(71, 58, 31, 0.32), 0px 1px 3px rgba(71, 58, 31, 0.12);
1661border-color: #8A8A8A;
1662}
1663
1664/* Checkboxes */
1665input[type="checkbox"] {
1666-webkit-appearance: none;
1667-moz-appearance: none;
1668appearance: none;
1669border-radius: 3px;
1670}
1671input[type="checkbox"]:checked {
1672background-color: var(--checkBox-BGcolor);
1673border-color: var(--checkBox-BGcolor);
1674background-image: url(https://d3e54v103j8qbb.cloudfront.net/static/custom-checkbox-checkmark.589d534424.svg);
1675box-shadow: none;
1676}
1677
1678/* Radio */
1679input[type="radio"] {
1680-webkit-appearance: none;
1681-moz-appearance: none;
1682appearance: none;
1683border-radius: 50%;
1684}
1685input[type="radio"]:checked {
1686background-color: var(--checkBox-BGcolor);
1687border-color: var(--checkBox-BGcolor);
1688box-shadow: none;
1689}
1690
1691/* Button */
1692.hs_submit{
1693width: 100%;
1694margin-top: 1.5rem;
1695display:flex;
1696justify-content: center;
1697align-items: center;
1698}
1699.hs_submit .actions{
1700width: 100%;
1701}
1702.hs-button.primary.large {
1703width: 100%;
1704height: 6rem;
1705display: inline-block;
1706padding: 1.6rem 3.2rem;
1707font-size: var(--button-FontSize);
1708line-height: inherit;
1709font-weight: 500;
1710text-align: center;
1711color: var(--button-TextColor);
1712background-color: var(--button-BGColor);
1713border: none;
1714border-radius: 1.2rem;
1715box-sizing: border-box;
1716transition-property: background-color;
1717transition-duration: 300ms;
1718transition-timing-function: ease;
1719cursor: pointer;
1720text-decoration: none;
1721outline: 0;
1722box-shadow: 0px 0px 0px 1px #000000, 0px 1px 2px rgba(27, 30, 34, 0.08), 0px 6px 16px 1px rgba(14, 20, 27, 0.16), inset 0px 1px 0px rgba(255, 255, 255, 0.3);
1723}
1724
1725.hs-button.primary.large:hover {
1726background-color: var(--button-BGHoverColor)
1727}
1728
1729/* No White Border Button */
1730.no-border-button .hs-button.primary.large{
1731border:none;
1732}
1733
1734/* Errors */
1735.hs-error-msgs {
1736margin-top: 0.4rem;
1737margin-bottom: 0;
1738list-style: none;
1739}
1740.hs-input.error{
1741border: 1px solid var(--validation-BorderColor) !important;
1742background: #FEF9F9;
1743box-shadow: 0px 1px 2px 0px rgba(255, 51, 65, 0.12);
1744}
1745
1746.hs-error-msgs label {
1747display: block;
1748color: var(--validation-TextColor);
1749font-size: var(--validation-Size);
1750font-weight: 400;
1751margin-bottom: 0;
1752line-height: 1.4287;
1753}
1754
1755.hs_error_rollup {
1756display: none;
1757}
1758
1759/* Success */
1760.hbspt-form .submitted-message {
1761padding: var(--success-Padding);
1762background-color: var(--success-BGColor);
1763color: var(--success-TextColor);
1764display: flex;
1765align-items: center;
1766justify-content: center;
1767text-align: center;
1768}
1769
1770.hbspt-form .submitted-message p {
1771font-size: var(--success-FontSize);
1772text-align: center;
1773}
1774
1775/* ---- End of Form Base ---- */
1776
1777/* --- Full Form */
1778.full-hs-form textarea{
1779min-height: 10.4rem;
1780max-height: 20rem;
1781}
1782.hs-input textarea{
1783color: #A4ADB7;
1784}
1785.nice-select .option{
1786border-radius: 0.4rem;
1787}
1788.nice-select .option.selected{
1789color: var(--color--brand--blue);
1790font-weight: inherit;
1791}
1792.nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
1793background-color: rgba(0,153,255,.12);
1794}
1795
1796/* --- E-mail Form */
1797.blog-detail_form-hs .hs-form {
1798display: flex;
1799align-items: flex-end;
1800gap: 0.8rem;
1801}
1802@media only screen and (max-width: 600px){
1803.blog-detail_form-hs .hs-form{
1804flex-direction: column;
1805}
1806}
1807
1808.blog-detail_form-hs .hs-form-field{
1809margin-bottom: 0;
1810}
1811.blog-detail_form-hs .hs-input:not(input[type="checkbox"],input[type="radio"]){
1812height: 4rem;
1813font-size: 1.5rem;
1814padding: 0.8rem 1.2rem;
1815border-radius: 0.8rem;
1816}
1817.blog-index_form-form .blog-detail_form-hs .hs-input:not(input[type="checkbox"],input[type="radio"]){
1818height: 6rem;
1819font-size: 1.6rem;
1820padding: 1.8rem 2rem;
1821}
1822
1823.blog-detail_form-hs .hs_submit{
1824margin-top: 0;
1825width: auto;
1826}
1827
1828.blog-detail_form-hs .hs-button.primary.large{
1829padding: 0.8rem 1.4rem;
1830width: auto;
1831height: 4rem;
1832font-size: 1.5rem;
1833border-radius: 0.8rem;
1834font-weight: 500;
1835border: none;
1836}
1837
1838.blog-index_form-form .blog-detail_form-hs .hs-button.primary.large{
1839padding: 1.8rem 3.2rem;
1840width: auto;
1841height: 6rem;
1842font-size: 1.7rem;
1843border-radius: 1.2rem;
1844font-weight: 500;
1845border: none;
1846}
1847
1848@media only screen and (max-width: 600px){
1849.blog-detail_form-hs .hs-button.primary.large{
1850width: 100%;
1851}
1852}
1853
1854</style></div><div class="css-page-specific w-embed"><style>
1855  .blog-detail_author-item {
1856    display: none;
1857  }
1858  .blog-detail_author-item:nth-child(-n + 5) {
1859    display: block;
1860  }
1861
1862  .blog-detail_toc-list-link.w--current:not(.inner)::before {
1863    content: '';
1864    display: block;
1865    width: 2px;
1866    height: 3.2rem;
1867    position: absolute;
1868    right: calc(100% + 1.15rem);
1869    background: var(--color--brand--blue);
1870  }
1871
1872  a:hover .hp_customer-play-button,
1873  a:hover .hp_customer-play-button {
1874    transform: scale(0.9);
1875  }
1876  a:hover .hp_customer-blog-button_circle {
1877    transform: scale(1.1);
1878  }
1879  a:hover .hp_customer-blog-button_circle-inner {
1880    transform: scale(1.1);
1881  }
1882
1883  .vimeo-player__btn {
1884    transition: 350ms;
1885  }
1886
1887  .vimeo-player:hover .vimeo-player__btn,
1888  .vimeo-player:hover .vimeo-player__btn {
1889    transform: scale(0.9);
1890  }
1891  .vimeo-player:hover .vimeo_player_btn-circle {
1892    transform: scale(1.1);
1893  }
1894  .vimeo-player:hover .vimeo_player_btn-circle-inner {
1895    transform: scale(1.1);
1896  }
1897
1898  .blog-detail_stats-item .text-size-small {
1899    font-size: 1.3rem !important;
1900  }
1901
1902  pre {
1903    font-size: 1.4rem;
1904    line-height: 150%;
1905    font-family: monospace;
1906  }
1907
1908  p code {
1909    font-family: monospace;
1910    font-size: 1.4rem;
1911    background-color: #f7f7f8;
1912    color: #333333;
1913    padding: 0.1em 0.2em;
1914    border-radius: 3px;
1915    border: 1px solid #d0d0d0;
1916    white-space: nowrap;
1917  }
1918</style></div><div data-mode="light" class="superblocks-2-0"><div class="padding-global"><div class="container-large"><div class="superblocks-2-0_wrap"><div class="icon-embed-xxsmall w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
1919<g opacity="0.12">
1920<path d="M7.84615 10.0002V13.0771C7.84615 13.0771 9.71077 12.7386 10.3077 11.8463C10.9723 10.8494 10.3077 8.76938 10.3077 8.76938" fill="currentColor"></path>
1921<path d="M3.23077 10.9232C2.30769 11.6986 2 14.0002 2 14.0002C2 14.0002 4.30154 13.6925 5.07692 12.7694C5.51385 12.2525 5.50769 11.4586 5.02154 10.9786C4.78234 10.7503 4.46726 10.6184 4.13675 10.6082C3.80625 10.5979 3.48362 10.7101 3.23077 10.9232Z" fill="currentColor"></path>
1922<path d="M6 8.154C6.32747 7.30442 6.73982 6.49004 7.23077 5.72323C7.9478 4.57676 8.94623 3.6328 10.1311 2.98113C11.3159 2.32947 12.6478 1.99177 14 2.00015C14 3.674 13.52 6.61554 10.3077 8.76938C9.53029 9.26073 8.70567 9.67304 7.84615 10.0002L6 8.154Z" fill="currentColor"></path>
1923<path d="M6 8.154H2.92308C2.92308 8.154 3.26154 6.28938 4.15385 5.69246C5.15077 5.02785 7.23077 5.72323 7.23077 5.72323" fill="currentColor"></path>
1924</g>
1925<path d="M7.84615 10.0002V13.0771C7.84615 13.0771 9.71077 12.7386 10.3077 11.8463C10.9723 10.8494 10.3077 8.76938 10.3077 8.76938M7.84615 10.0002C8.70567 9.67304 9.53029 9.26073 10.3077 8.76938M7.84615 10.0002L6 8.154M10.3077 8.76938C13.52 6.61554 14 3.674 14 2.00015C12.6478 1.99177 11.3159 2.32947 10.1311 2.98113C8.94623 3.6328 7.9478 4.57676 7.23077 5.72323M6 8.154C6.32747 7.30442 6.73982 6.49004 7.23077 5.72323M6 8.154H2.92308C2.92308 8.154 3.26154 6.28938 4.15385 5.69246C5.15077 5.02785 7.23077 5.72323 7.23077 5.72323M3.23077 10.9232C2.30769 11.6986 2 14.0002 2 14.0002C2 14.0002 4.30154 13.6925 5.07692 12.7694C5.51385 12.2525 5.50769 11.4586 5.02154 10.9786C4.78234 10.7503 4.46726 10.6184 4.13675 10.6082C3.80625 10.5979 3.48362 10.7101 3.23077 10.9232Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
1926</svg></div><div class="superblocks-2-0_wrap-inner"><div class="text-weight-medium"><a href="/blog/superblocks-3-0-secure-private-vibe-coding-on-aws-built-for-the-age-of-ai-cyberattacks" aria-current="page" class="p-14 display-inline w--current">Announcement: Partnering with AWS on Superblocks 3.0: Import Apps, Security Agents, VPC Deployments &amp; Model Routing</a><div class="icon-embed-xxsmall display-inline-block w-embed">
1926<svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
1927<path d="M3 8L13 8M13 8L9.11111 4M13 8L9.11111 12" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
1928</svg></div></div></div></div></div></div></div><div class="nav_wrapper"><div data-w-id="6b658b10-b4c1-5b9b-55f3-05011a990124" data-animation="default" data-collapse="medium" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="navbar w-nav"><div class="nav_container"><a href="/" class="nav_brand w-nav-brand"><div class="nav_brand-inner is-2"><div class="nav_brand-symbol is-2 w-embed"><svg width="100%" height="100%" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
1929<path d="M28.5 0H7.5C3.35786 0 0 3.35786 0 7.5V28.5C0 32.6421 3.35786 36 7.5 36H28.5C32.6421 36 36 32.6421 36 28.5V7.5C36 3.35786 32.6421 0 28.5 0Z" fill="url(#paint0_linear_5894_17206)"/>
1930<path fill-rule="evenodd" clip-rule="evenodd" d="M23.0071 8.38605C24.9678 6.99339 29.019 6.23796 32.0712 9.79892C32.4633 10.2564 32.549 10.9662 32.0082 11.3454C32.0004 11.3509 31.9925 11.3563 31.9845 11.3615C32.3195 11.9078 32.7204 12.7231 32.8288 13.8072C32.8779 14.2982 32.6401 14.7752 32.1471 14.9104C32.0788 15.7118 31.8785 17.2867 30.5924 18.6254C30.0334 19.2071 29.5035 19.6088 29.0371 19.8837C28.6556 20.1085 28.5523 20.2764 28.5369 20.7048C28.4734 22.4717 27.8796 24.3355 26.7363 25.6764C25.3039 27.3564 22.7693 28.2704 19.9428 28.6511C17.1111 29.0325 14.0169 28.6441 11.9069 26.9774C10.5113 25.875 9.68659 24.38 9.28024 22.8051C9.16806 22.3703 9.02327 22.2316 8.57995 22.0979C8.00814 21.9254 7.30249 21.6032 6.5073 21.0256C5.00535 19.9346 4.53065 18.4197 4.32213 17.6428C2.73067 17.4984 3.51532 14.9937 3.85677 14.1208C3.2369 13.8553 3.18551 13.1262 3.49585 12.5983C5.87275 8.55512 9.99383 8.58443 12.1693 9.60975C13.04 10.0201 13.8256 10.5096 14.4643 11.1955C15.5537 12.3654 16.4702 10.2179 17.3974 9.78516C18.5271 9.25797 18.1341 10.0919 18.2259 10.3877C18.3098 10.1877 19.8828 9.40859 19.8075 10.1617C19.7604 10.6327 19.7805 10.9356 20.0835 11.0705C20.4415 11.2299 20.6869 10.97 20.8413 10.6862C21.3652 9.72303 22.1131 9.02104 23.0071 8.38605ZM14.2752 17.6356C15.0808 17.3812 15.7518 17.99 15.8542 18.7795C15.9565 19.569 15.6125 20.1169 15.0163 20.278C14.4202 20.4391 13.7596 19.8752 13.6307 19.3274C13.5826 19.1228 13.5479 18.8707 13.5653 18.6217C13.5744 18.4913 13.7645 18.4469 13.8952 18.4469C14.1268 18.4469 14.2913 18.2078 14.2143 17.9934C14.1702 17.8705 14.1507 17.6749 14.2752 17.6356ZM25.0284 16.8043C24.8864 16.0209 24.1855 15.4467 23.3937 15.7414C23.2714 15.7869 23.3007 15.9814 23.351 16.1019C23.4387 16.3121 23.2865 16.5592 23.0552 16.5708C22.9247 16.5774 22.737 16.6314 22.7345 16.7621C22.7297 17.0116 22.777 17.2617 22.8354 17.4635C22.9918 18.0042 23.68 18.5341 24.2672 18.3431C24.8545 18.1521 25.1705 17.5876 25.0284 16.8043ZM18.1393 22.8532C17.8467 22.4619 17.6591 21.9837 17.624 21.456L17.4768 19.2486C17.3946 18.0144 18.2392 16.9102 19.4519 16.6664C20.774 16.4007 22.0644 17.246 22.3489 18.5642L22.8156 20.7267C22.9654 21.4207 22.8264 22.107 22.4817 22.6638C22.5388 23.7996 21.6486 24.8394 20.4238 24.8614C19.243 24.8827 18.2643 23.9952 18.1393 22.8532ZM7.44595 16.7114C7.17764 15.2128 8.17499 13.7804 9.67359 13.5121C10.3346 13.3938 10.9827 13.5217 11.5237 13.8302C11.6801 13.9194 11.6979 14.1299 11.5787 14.2649C10.6098 15.3615 9.76332 16.7768 9.37162 18.5092C9.33145 18.6868 9.14743 18.7966 8.98279 18.7187C8.20418 18.3504 7.60931 17.6238 7.44595 16.7114ZM28.7252 15.1463C29.1192 13.6758 28.2465 12.1642 26.776 11.7702C25.8806 11.5303 24.9701 11.7599 24.3058 12.3082C24.1654 12.4241 24.1866 12.6374 24.3303 
193012.7492C25.7319 13.8401 26.6533 15.2077 27.2342 16.5509C27.3057 16.7162 27.5038 16.7895 27.651 16.6859C28.1602 16.3272 28.5514 15.7949 28.7252 15.1463Z" fill="white"/>
1931<path d="M18.1394 22.8606C18.7045 23.6164 19.6618 24.0475 20.67 23.883C21.4537 23.7552 22.0964 23.2946 22.4819 22.6719C22.5398 23.8081 21.6493 24.8487 20.4241 24.8707C19.2427 24.892 18.2635 24.0035 18.1394 22.8606Z" fill="white" fill-opacity="0.4"/>
1932<defs>
1933<linearGradient id="paint0_linear_5894_17206" x1="0" y1="0" x2="36" y2="36" gradientUnits="userSpaceOnUse">
1934<stop stop-color="#575757"/>
1935<stop offset="1"/>
1936</linearGradient>
1937</defs>
1938</svg></div><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 137 26" fill="none" class="nav_brand-text"><path d="M7.41407 21.264C6.38741 21.264 5.41941 21.0807 4.51007 20.714C3.61541 20.3327 2.83807 19.7973 2.17807 19.108C1.53274 18.4187 1.04874 17.6047 0.726074 16.666L3.52007 15.412C3.93074 16.3067 4.49541 17.0107 5.21407 17.524C5.94741 18.0373 6.75407 18.294 7.63407 18.294C8.10341 18.294 8.50674 18.2207 8.84407 18.074C9.18141 17.9273 9.44541 17.7293 9.63608 17.48C9.82674 17.216 9.92208 16.908 9.92208 16.556C9.92208 16.1747 9.80474 15.852 9.57008 15.588C9.33541 15.3093 8.96874 15.0893 8.47007 14.928L5.25807 13.872C3.95274 13.4467 2.97007 12.8453 2.31007 12.068C1.65007 11.276 1.32007 10.33 1.32007 9.22999C1.32007 8.26199 1.55474 7.41133 2.02407 6.67799C2.50807 5.94466 3.17541 5.37266 4.02607 4.96199C4.89141 4.55133 5.88141 4.34599 6.99607 4.34599C7.97874 4.34599 8.88808 4.51466 9.72408 4.85199C10.5601 5.18933 11.2787 5.66599 11.8801 6.28199
1938C12.4961 6.89799 12.9581 7.63866 13.2661 8.50399L10.4941 9.75799C10.1861 8.99533 9.72408 8.40133 9.10808 7.97599C8.49207 7.53599 7.78807 7.31599 6.99607 7.31599C6.54141 7.31599 6.13807 7.38933 5.78607 7.53599C5.43407 7.68266 5.16274 7.89533 4.97207 8.17399C4.78141 8.43799 4.68607 8.74599 4.68607 9.09799C4.68607 9.47933 4.81074 9.81666 5.06007 10.11C5.30941 10.3887 5.68341 10.6087 6.18207 10.77L9.32807 11.782C10.6481 12.2073 11.6307 12.8013 12.2761 13.564C12.9361 14.3267 13.2661 15.258 13.2661 16.358C13.2661 17.3113 13.0167 18.162 12.5181 18.91C12.0194 19.6433 11.3301 20.2227 10.4501 20.648C9.58474 21.0587 8.57274 21.264 7.41407 21.264Z" fill="currentColor"></path><path d="M19.7662 21.264C18.7982 21.264 17.9695 21.0587 17.2802 20.648C16.6055 20.2227 16.0922 19.636 15.7402 18.888C15.3882 18.14 15.2122 17.2673 15.2122 16.27V8.98799H18.5122V16.006C18.5122 16.4607 18.6002 16.864 18.7762 17.216C18.9669 17.5533 19.2309 17.8173 19.5682 18.008C19.9055 18.1987 20.2869 18.294 20.7122 18.294C21.1522 18.294 21.5335 18.1987 21.8562 18.008C22.1935 17.8173 22.4502 17.5533 22.6262 17.216C22.8169 16.864 22.9122 16.4607 22.9122 16.006V8.98799H26.2122V21H23.1322V18.624L23.3082 19.152C23.0295 19.8707 22.5749 20.406 21.9442 20.758C21.3282 21.0953 20.6022 21.264 19.7662 21.264Z" fill="currentColor"></path><path d="M28.6241 25.4V8.98799H31.7041V11.276L31.4181 10.616C31.8141 10.0147 32.3495 9.55266 33.0241 9.22999C33.7135 8.89266 34.4981 8.72399 35.3781 8.72399C36.5221 8.72399 37.5561 9.00266 38.4801 9.55999C39.4041 10.1173 40.1375 10.8727 40.6801 11.826C41.2228 12.7647 41.4941 13.8207 41.4941 14.994C41.4941 16.1527 41.2228 17.2087 40.6801 18.162C40.1521 19.1153 39.4261 19.8707 38.5021 20.428C37.5781 20.9853 36.5295 21.264 35.3561 21.264C34.5348 21.264 33.7721 21.1173 33.0681 20.824C32.3788 20.516 31.8215 20.0687 31.3961 19.482L31.9241 18.8V25.4H28.6241ZM34.9601 18.294C35.5761 18.294 36.1188 18.1547 36.5881 17.876C37.0575 17.5973 37.4241 17.2087 37.6881 16.71C37.9521 16.2113 38.0841 15.6393 38.0841 14.994C38.0841 14.3487 37.9521 13.784 37.6881 13.3C37.4241 12.8013 37.0575 12.4127 36.5881 12.134C36.1188 11.8407 35.5761 11.694 34.9601 11.694C34.3735 11.694 33.8455 11.8333 33.3761 12.112C32.9215 12.3907 32.5621 12.7793 32.2981 13.278C32.0488 13.7767 31.9241 14.3487 31.9241 14.994C31.9241 15.6393 32.0488 16.2113 32.2981 16.71C32.5621 17.2087 32.9215 17.5973 33.3761 17.876C33.8455 18.1547 34.3735 18.294 34.9601 18.294Z" fill="currentColor"></path><path d="M49.2129 21.264C47.9369 21.264 46.8295 20.9853 45.8909 20.428C44.9522 19.856 44.2262 19.0933 43.7129 18.14C43.1995 17.1867 42.9429 16.1307 42.9429 14.972C42.9429 13.7693 43.2069 12.6987 43.7349 11.76C44.2775 10.8213 45.0035 10.0807 45.9129 9.53799C46.8222 8.99533 47.8489 8.72399 48.9929 8.72399C49.9462 8.72399 50.7895 8.87799 51.5229 9.18599C52.2562 9.47933 52.8722 9.89733 53.3709 10.44C53.8842 10.9827 54.2729 11.6133 54.5369 12.332C54.8009 13.036 54.9329 13.806 54.9329 14.642C54.9329 14.8767 54.9182 15.1113 54.8889 15.346C54.8742 15.566 54.8375 15.7567 54.7789 15.918H45.7809V13.498H52.9089L51.3469 14.642C51.4935 14.0113 51.4862 13.454 51.3249 12.97C51.1635 12.4713 50.8775 12.0827 50.4669 11.804C50.0709 11.5107 49.5795 11.364 48.9929 11.364C48.4209 11.364 47.9295 11.5033 47.5189 11.782C47.1082 12.0607 46.8002 12.4713 46.5949 13.014C46.3895 13.5567 46.3089 14.2167 46.3529 14.994C46.2942 15.6687 46.3749 16.2627 46.5949 16.776C46.8149 17.2893 47.1522 17.6927 47.6069 17.986C48.0615 18.2647 48.6115 18.404 49.2569 18.404C49.8435 18.404 50.3422 18.2867 50.7529 18.052C51.1782 17.8173 51.5082 17.4947 51.7429 17.084L54.3829 18.338C54.1482 18.9247 53.7742 19.438 53.2609 19.878C52.7622 20.318 52.1682 20.6627 51.4789 20.912C50.7895 21.1467 50.0342 21.264 49.2129 21.264Z" fill="currentColor"></path><path d="M56.8761 21V8.98799H59.9561V11.87L59.7361 11.452C60.0001 10.44 60.4328 9.75799 61.0341 9.40599C61.6501 9.03933 62.3761 8.85599 63.2121 8.85599H63.9161V11.716H62.8821C62.0754 11.716 61.4228 11.9653 60.9241 12.464C60.4254 12.948 60.1761 13.6373 60.1761 14.532V21H56.8761Z" fill="currentColor"></path><path d="M72.0944 21.264C71.2731 21.264 70.5104 21.1173 69.8064 20.824C69.1171 20.516 68.5597 20.0687 68.1344 19.482L68.4424 18.8V21H65.3624V4.34599H68.6624V11.276L68.1564 10.616C68.5524 10.0147 69.0878 9.55266 69.7624 9.22999C70.4518 8.89266 71.2364 8.72399 72.1164 8.72399C73.2604 8.72399 74.2944 9.00266 75.2184 9.55999C76.1424 10.1173 76.8758 10.8727 77.4184 11.826C77.9611 12.7647 78.2324 13.8207 78.2324 14.994C78.2324 16.1527 77.9611 17.2087 77.4184 18.162C76.8904 19.1153 76.1644 19.8707 75.2404 20.428C74.3164 20.9853 73.2678 21.264 72.0944 21.264ZM71.6984 18.294C72.3144 18.294 72.8571 18.1547 73.3264 17.876C73.7957 17.5973 74.1624 17.2087 74.4264 16.71C74.6904 16.2113 74.8224 15.6393 74.8224 14.994C74.8224 14.3487 74.6904 13.784 74.4264 13.3C74.1624 12.8013 73.7957 12.4127 73.3264 12.134C72.8571 11.8407 72.3144 11.694 71.6984 11.694C71.1118 11.694 70.5838 11.8333 70.1144 12.112C69.6598 12.3907 69.3004 12.7793 69.0364 13.278C68.7871 13.7767 68.6624 14.3487 68.6624 14.994C68.6624 15.6393 68.7871 16.2113 69.0364 16.71C69.3004 17.2087 69.6598 17.5973 70.1144 17.876C70.5838 18.1547 71.1118 18.294 71.6984 18.294Z" fill="currentColor"></path><path d="M80.1652 21V4.34599H83.4651V21H80.1652Z" fill="currentColor"></path><path d="M91.842 21.264C90.654 21.264 89.5687 20.9927 88.586 20.45C87.618 19.9073 86.8407 19.1667 86.254 18.228C85.682 17.2747 85.396 16.1967 85.396 14.994C85.396 13.7767 85.682 12.6987 86.254 11.76C86.8407 10.8213 87.618 10.0807 88.586 9.53799C89.5687 8.99533 90.654 8.72399 91.842 8.72399C93.03 8.72399 94.108 8.99533 95.076 9.53799C96.044 10.0807 96.814 10.8213 97.386 11.76C97.9727 12.6987 98.266 13.7767 98.266 14.994C98.266 16.
19381967 97.9727 17.2747 97.386 18.228C96.814 19.1667 96.044 19.9073 95.076 20.45C94.108 20.9927 93.03 21.264 91.842 21.264ZM91.842 18.294C92.4433 18.294 92.964 18.1547 93.404 17.876C93.8587 17.5973 94.2107 17.2087 94.46 16.71C94.724 16.2113 94.856 15.6393 94.856 14.994C94.856 14.3487 94.724 13.784 94.46 13.3C94.2107 12.8013 93.8587 12.4127 93.404 12.134C92.964 11.8407 92.4433 11.694 91.842 11.694C91.2407 11.694 90.7127 11.8407 90.258 12.134C89.8033 12.4127 89.444 12.8013 89.18 13.3C88.9307 13.784 88.806 14.3487 88.806 14.994C88.806 15.6393 88.9307 16.2113 89.18 16.71C89.444 17.2087 89.8033 17.5973 90.258 17.876C90.7127 18.1547 91.2407 18.294 91.842 18.294Z" fill="currentColor"></path><path d="M106.106 21.264C104.903 21.264 103.818 20.9927 102.85 20.45C101.897 19.8927 101.134 19.1373 100.562 18.184C100.005 17.2307 99.7261 16.16 99.7261 14.972C99.7261 13.784 100.005 12.7207 100.562 11.782C101.119 10.8287 101.882 10.0807 102.85 9.53799C103.818 8.99533 104.903 8.72399 106.106 8.72399C107.001 8.72399 107.829 8.87799 108.592 9.18599C109.355 9.49399 110.007 9.92666 110.55 10.484C111.093 11.0267 111.481 11.672 111.716 12.42L108.856 13.652C108.651 13.0507 108.299 12.574 107.8 12.222C107.316 11.87 106.751 11.694 106.106 11.694C105.534 11.694 105.021 11.8333 104.566 12.112C104.126 12.3907 103.774 12.7793 103.51 13.278C103.261 13.7767 103.136 14.3487 103.136 14.994C103.136 15.6393 103.261 16.2113 103.51 16.71C103.774 17.2087 104.126 17.5973 104.566 17.876C105.021 18.1547 105.534 18.294 106.106 18.294C106.766 18.294 107.338 18.118 107.822 17.766C108.306 17.414 108.651 16.9373 108.856 16.336L111.716 17.59C111.496 18.294 111.115 18.9247 110.572 19.482C110.029 20.0393 109.377 20.4793 108.614 20.802C107.851 21.11 107.015 21.264 106.106 21.264Z" fill="currentColor"></path><path d="M113.659 21V4.34599H116.959V15.016L115.727 14.62L121.029 8.98799H125.099L120.743 13.828L125.077 21H121.337L117.707 14.906L119.621 14.422L115.947 18.426L116.959 16.512V21H113.659Z" fill="currentColor"></path><path d="M131.258 21.264C129.938 21.264 128.787 20.956 127.804 20.34C126.836 19.7093 126.176 18.866 125.824 17.81L128.244 16.666C128.552 17.3113 128.97 17.8173 129.498 18.184C130.026 18.5507 130.613 18.734 131.258 18.734C131.727 18.734 132.087 18.6387 132.336 18.448C132.585 18.2573 132.71 17.9933 132.71 17.656C132.71 17.48 132.666 17.3333 132.578 17.216C132.49 17.084 132.358 16.9667 132.182 16.864C132.006 16.7613 131.786 16.6733 131.522 16.6L129.476 16.028C128.493 15.7493 127.738 15.302 127.21 14.686C126.682 14.0553 126.418 13.3147 126.418 12.464C126.418 11.716 126.609 11.0633 126.99 10.506C127.371 9.94866 127.907 9.51599 128.596 9.20799C129.285 8.88533 130.077 8.72399 130.972 8.72399C132.145 8.72399 133.172 9.00266 134.052 9.55999C134.947 10.1027 135.577 10.8727 135.944 11.87L133.502 13.014C133.326 12.5153 133.003 12.1193 132.534 11.826C132.079 11.518 131.559 11.364 130.972 11.364C130.547 11.364 130.209 11.452 129.96 11.628C129.725 11.804 129.608 12.046 129.608 12.354C129.608 12.5153 129.652 12.662 129.74 12.794C129.828 12.926 129.967 13.0433 130.158 13.146C130.363 13.2487 130.613 13.344 130.906 13.432L132.82 14.004C133.817 14.2973 134.58 14.7447 135.108 15.346C135.636 15.9327 135.9 16.6587 135.9 17.524C135.9 18.272 135.702 18.9247 135.306 19.482C134.925 20.0393 134.389 20.4793 133.7 20.802C133.011 21.11 132.197 21.264 131.258 21.264Z" fill="currentColor"></path></svg></div></a><nav role="navigation" class="nav_menu-links is-new w-nav-menu"><div class="nav_menu-links-inner is-new"><div data-delay="0" data-hover="false" class="nav_dropdown small hide w-dropdown"><div class="nav_dropdown-toggle w-dropdown-toggle"><div class="nav_link dropdown"><div>Resources</div><div class="icon-embed-xxsmall w-embed"><svg width="100%" height="100%" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
1939  <path d="M4 6.5L8 10.5L12 6.5" stroke="#818E9C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
1940</svg></div></div></div><nav class="nav_dropdown-menu w-dropdown-list"><div class="nav_dropdown-list shadow-strong"><div class="nav_dropdown-inner small"><ul role="list" class="nav_dropdown-links w-list-unstyled"><li><a href="/blog" class="nav_dropdown-link-item w-inline-block"><p class="text-size-small text-weight-medium">Blog</p></a></li><li><a href="https://docs.superblocks.com/" target="_blank" class="nav_dropdown-link-item w-inline-block"><p class="text-size-small text-weight-medium">Docs</p></a></li></ul></div></div></nav></div><a data-extra-links="" href="/blog" class="nav_link w-inline-block"><div>Blog</div></a><a data-extra-links="" href="https://docs.superblocks.com/" target="_blank" class="nav_link w-inline-block"><div>Docs</div></a><a href="/pricing" class="nav_link w-inline-block"><div>
1940Pricing</div></a></div><div class="nav_menu-links-actions is-new"><a href="https://app.superblocks.com" target="_blank" class="nav_link is-login w-inline-block"><div>Login</div></a><div class="button_new-box"><a href="https://app.superblocks.com/signup" target="_blank" class="nav_link is-sign-in w-inline-block"><div>Sign up</div></a><div class="button_wrap is-blue is-small"><div aria-hidden="true">Book a demo</div><a aria-label="Book a demo" href="/book-a-demo" class="clickable w-inline-block"></a><div class="btn_bg"></div></div></div></div></nav><div class="nav_burger w-nav-button"><div class="nav_burger-inner"><div class="nav_burger-line _1"></div><div class="nav_burger-line _2"></div><div class="nav_burger-line _3"></div></div></div></div></div></div><main class="main_wrap"><section class="section_blog-detail"><div class="embed w-embed"><style>
1941  a.blog-detail_bread-link:hover {
1942    color: var(--color--brand--blue);
1943  }
1944  .blog-detail_component[long-title="true"]{
1945    max-width: 100%;
1946  }
1947</style></div><div class="padding-global"><div class="container-medium"><div long-title="true" class="blog-detail_component"><div class="margin-bottom margin-24"><div class="blog-detail_bread"><a href="/blog" class="blog-detail_bread-link w-inline-block"><div class="text-size-small text-weight-medium">Blog</div></a><div class="blog-detail_bread-link"><div class="text-size-small text-weight-medium">/</div></div><a href="/blog-category/featured" class="blog-detail_bread-link w-inline-block"><div class="text-size-small text-weight-medium">Featured</div></a></div></div><div class="margin-bottom margin-24"><h1 class="blog-detail_heading">Superblocks 3.0: Secure Private Vibe Coding on AWS, Built for the Age of AI Cyberattacks</h1></div><div class="blog-detail_authors"><div class="blog-detail_authors-box"><div class="blog-detail_authors-wrap-box"><div class="blog-detail_authors-wrap w-dyn-list"><div role="list" class="blog-detail_author-list w-dyn-items"><div data-tippy-content="Brad Menezes, Co-Founder &amp; CEO" role="listitem" class="blog-detail_author-item w-dyn-item"><img loading="lazy" alt="Brad Menezes, Co-Founder &amp; CEO" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/62f083ba9147fe84ef691ee3_linkedin.avif" class="blog-detail_author-img"/></div></div></div><div author-count="" class="blog-detail_author-img"><div>+2</div></div></div><div class="blog-detail_authors-info"><p id="authors-name" class="text-size-small text-weight-medium">Multiple authors</p><div class="blog-detail_authors-date"><p class="text-size-small">August 3, 2026</p><div class="dot"></div><p class="text-size-small">3 min.</p></div></div></div><div class="blog-detail_author-icon_box"><a id="copyUrl" href="#" class="blog-detail_author-icon w-inline-block"><div class="icon-embed-xsmall w-embed"><svg width="100%" height="100%" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
1948<path d="M10.2411 16.1237L9.64887 16.7346C8.01347 18.4218 5.36196 18.4218 3.72655 16.7346C2.09115 15.0475 2.09115 12.3121 3.72655 10.6249L5.1388 9.16802C6.6484 7.61066 9.09595 7.61066 10.6056 9.16802L10.8333 9.40301M9.7589 4.87633L10.3511 4.26536C11.9865 2.57821 14.638 2.57821 16.2734 4.26536C17.9089 5.9525 17.9089 8.68791 16.2734 10.375L14.8612 11.832C13.3516 13.3893 10.9041 13.3893 9.39445 11.832L9.16667 11.597" stroke="#818E9C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
1949</svg></div></a><div id="copyUrl_label" class="copy-url_label"><div>Copied</div></div></div></div></div></div></div></section><section class="section_blog-body"><div class="padding-global"><div class="container-medium"><div class="blog-body_wrap"><div class="blog-detail_body"><div class="hp_video-wrap w-condition-invisible"><div class="embed w-embed"><style>
1950  .vimeo-player {
1951    transition: max-width 500ms;
1952  }
1953  .vimeo-player__iframe {
1954    visibility: hidden;
1955  }
1956
1957  .vimeo-player[data-vimeo-activated='true'] .vimeo-player__iframe {
1958    visibility: visible;
1959  }
1960
1961  .vimeo-player[data-vimeo-activated='false'] + .vimeo_close-button {
1962    opacity: 0;
1963  }
1964
1965  .vimeo-player[data-vimeo-activated='true'] + .vimeo_close-button {
1966    opacity: 1;
1967  }
1968  /* Placeholder */
1969  .vimeo-player[data-vimeo-activated='true'] .vimeo-player__placeholder {
1970    opacity: 0;
1971  }
1972
1973  .vimeo-player[data-vimeo-activated='false'][data-vimeo-loaded='false'] .vimeo-player__placeholder {
1974    opacity: 1;
1975  }
1976
1977  /* Dark (Overlay) */
1978  .vimeo-player[data-vimeo-playing='false'] .vimeo-player__dark {
1979    opacity: 0.33;
1980  }
1981
1982  /* Dark (Overlay) */
1983  .vimeo-player.is-customer[data-vimeo-playing='false'] .vimeo-player__dark {
1984    opacity: 0;
1985  }
1986
1987  .vimeo-player[data-vimeo-activated='false'][data-vimeo-playing='false'] .vimeo-player__dark {
1988    opacity: 0;
1989  }
1990
1991  .vimeo-player[data-vimeo-activated='true'][data-vimeo-loaded='true'] .vimeo-player__dark {
1992    opacity: 0;
1993  }
1994
1995  @media (hover: hover) and (pointer: fine) {
1996    .vimeo-player[data-vimeo-hover='true']:hover .vimeo-player__dark {
1997      opacity: 0.33 !important;
1998    }
1999  }
2000
2001  /* Pause */
2002  .vimeo-player .vimeo-player__pause {
2003    display: none;
2004  }
2005
2006  .vimeo-player[data-vimeo-playing='true'] .vimeo-player__pause {
2007    display: flex;
2008  }
2009
2010  .vimeo-player .vimeo-player__pause .vimeo-player__btn {
2011    opacity: 0;
2012  }
2013
2014  .vimeo-player[data-vimeo-activated='true'][data-vimeo-playing='false'] .vimeo-player__pause .vimeo-player__btn,
2015  .vimeo-player[data-vimeo-activated='true'][data-vimeo-hover='true']:hover .vimeo-player__pause .vimeo-player__btn {
2016    opacity: 1;
2017  }
2018
2019  @media (hover: none) and (pointer: coarse) {
2020    .vimeo-player[data-vimeo-activated='true'][data-vimeo-playing='true'] .vimeo-player__pause .vimeo-player__btn {
2021      opacity: 0 !important;
2022    }
2023  }
2024
2025  /* Play */
2026  .vimeo-player[data-vimeo-playing='true'] .vimeo-player__play {
2027    opacity: 0;
2028  }
2029
2030  /* Play */
2031
2032  .vimeo-player.is-customer[data-vimeo-activated='true'] {
2033    max-width: 100% !important;
2034    aspect-ratio: auto;
2035  }
2036
2037  @media only screen and (min-width: 678px) {
2038    .vimeo-player.is-customer[data-vimeo-activated='true'] {
2039      max-width: 84rem !important;
2040      aspect-ratio: auto;
2041    }
2042  }
2043
2044  @media only screen and (max-width: 677px) and (min-width: 481px) {
2045    .vimeo-player.is-customer[data-vimeo-activated='true'] {
2046      max-width: 80% !important;
2047      aspect-ratio: auto;
2048    }
2049  }
2050
2051  /* Play */
2052  .vimeo-player[data-vimeo-playing='true'] .vimeo-player_bottom {
2053    opacity: 0;
2054  }
2055
2056  /* Play */
2057  .vimeo-player[data-vimeo-playing='true'] .vimeo-player_blur {
2058    opacity: 0;
2059  }
2060
2061  /* Loading */
2062  .vimeo-player .vimeo-player__loading {
2063    opacity: 0;
2064  }
2065
2066  .vimeo-player[data-vimeo-playing='true'] .vimeo-player__loading {
2067    opacity: 1;
2068  }
2069
2070  .vimeo-player[data-vimeo-playing='true'][data-vimeo-loaded='true'] .vimeo-player__loading {
2071    opacity: 0;
2072  }
2073
2074  /* Interface */
2075  .vimeo-player .vimeo-player__interface {
2076    opacity: 0;
2077  }
2078
2079  .vimeo-player[data-vimeo-activated='false'][data-vimeo-playing='false'] .vimeo-player__interface {
2080    opacity: 0;
2081  }
2082
2083  .vimeo-player[data-vimeo-activated='true'][data-vimeo-playing='false'] .vimeo-player_bottom,
2084  .vimeo-player[data-vimeo-activated='true'][data-vimeo-playing='false'].vimeo-player_blur,
2085  .vimeo-player[data-vimeo-activated='true'][data-vimeo-playing='false'].vimeo-player__placeholder {
2086    opacity: 0;
2087  }
2088
2089  .vimeo-player .vimeo-player__interface * {
2090    pointer-events: all; /* Make children of div clickable by user */
2091  }
2092
2093  .vimeo-player[data-vimeo-activated='true'][data-vimeo-playing='true'][data-vimeo-hover='true']:hover .vimeo-player__interface,
2094  .vimeo-player[data-vimeo-activated='true'][data-vimeo-playing='false'] .vimeo-player__interface {
2095    opacity: 1;
2096  }
2097
2098  @media (hover: none) and (pointer: coarse) {
2099    .vimeo-player[data-vimeo-activated='true'][data-vimeo-playing='true'] .vimeo-player__interface {
2100      opacity: 0 !important;
2101    }
2102  }
2103
2104  /* Interface - Variables */
2105  .vimeo-player {
2106    --timeline-rounded-corners: 1.5em;
2107    --timeline-dot-height: 0.75em;
2108    --timeline-dot-color: #d9d9d9;
2109    --progress-bg: rgba(255, 255, 255, 0.12);
2110    --progress-fill-bg: #d9d9d9;
2111    --progress-height: 0.2em;
2112  }
2113
2114  /* Interface - Timeline */
2115  .vimeo-player progress::-webkit-progress-bar {
2116    border-radius: var(--timeline-rounded-corners);
2117    background-color: var(--progress-bg);
2118    box-shadow: 0;
2119  }
2120
2121  .vimeo-player progress::-webkit-progress-value {
2122    background: var(--progress-fill-bg);
2123  }
2124
2125  .vimeo-player progress::-moz-progress-bar {
2126    border-radius: var(--timeline-rounded-corners);
2127    background: var(--progress-fill-bg);
2128    box-shadow: 0;
2129  }
2130
2131  .vimeo-player progress::-ms-fill {
2132    border-radius: var(--timeline-rounded-corners);
2133  }
2134
2135  /* Interface - Range */
2136  .vimeo-player [type='range']::-webkit-slider-thumb {
2137    -webkit-appearance: none;
2138  }
2139
2140  .vimeo-player [type='range']:focus {
2141    outline: none;
2142  }
2143
2144  .vimeo-player [type='range']::-ms-track {
2145    width: 100%;
2146    cursor: pointer;
2147    background-color: transparent;
2148    border-color: transparent;
2149    color: transparent;
2150  }
2151
2152  .vimeo-player [type='range']::-webkit-slider-runnable-track {
2153    width: 100%;
2154    height: var(--progress-height);
2155    cursor: pointer;
2156    background-color: var(--progress-bg);
2157    border-radius: var(--timeline-rounded-corners);
2158    background-color: transparent;
2159    border-color: transparent;
2160    color: transparent;
2161  }
2162
2163  .vimeo-player [type='range']::-webkit-slider-thumb {
2164    box-shadow: 0;
2165    height: var(--timeline-dot-height);
2166    width: var(--timeline-dot-height);
2167    border-radius: var(--timeline-rounded-corners);
2168    background-color: var(--timeline-dot-color);
2169    cursor: pointer;
2170    -webkit-appearance: none;
2171    margin-top: calc((var(--progress-height) / 2) - (var(--timeline-dot-height) / 2));
2172  }
2173
2174  .vimeo-player [type='range']::-webkit-slider-runnable-track,
2175  .vimeo-player [type='range']:focus::-webkit-slider-runnable-track {
2176    background-color: transparent;
2177    border-color: transparent;
2178    color: transparent;
2179  }
2180
2181  .vimeo-player [type='range']::-moz-range-track {
2182    width: 100%;
2183    height: var(--progress-height);
2184    cursor: pointer;
2185    background: var(--progress-bg);
2186    border-radius: 0;
2187    border: 0;
2188    border-radius: var(--timeline-rounded-corners);
2189    overflow: hidden;
2190    opacity: 1 !important;
2191  }
2192
2193  .vimeo-player [type='range']::-moz-range-thumb {
2194    box-shadow: 0;
2195    border: 0;
2196    height: var(--timeline-dot-height);
2197    width: var(--timeline-dot-height);
2198    border-radius: var(--timeline-rounded-corners);
2199    background: var(--timeline-dot-color);
2200    cursor: pointer;
2201    box-shadow: 0;
2202  }
2203
2204  /* Interface - Mute */
2205  .vimeo-player .vimeo-player__mute svg:nth-child(2),
2206  .vimeo-player[data-vimeo-muted='true'] .vimeo-player__mute svg:nth-child(1) {
2207    display: none;
2208  }
2209
2210  .vimeo-player .vimeo-player__mute svg:nth-child(1),
2211  .vimeo-player[data-vimeo-muted='true'] .vimeo-player__mute svg:nth-child(2) {
2212    display: block;
2213  }
2214
2215  /* Interface - Fullscreen */
2216  .vimeo-player .vimeo-player__fullscreen svg:nth-child(2),
2217  .vimeo-player[data-vimeo-fullscreen='true'] .vimeo-player__fullscreen svg:nth-child(1) {
2218    display: none;
2219  }
2220
2221  .vimeo-player .vimeo-player__fullscreen svg:nth-child(1),
2222  .vimeo-player[data-vimeo-fullscreen='true'] .vimeo-player__fullscreen svg:nth-child(2) {
2223    display: block;
2224  }
2225</style></div><div class="blog_video-box"><div fs-inject-element="element" fs-inject-instance="vimeo-player" class="blog_video-holder"><div data-vimeo-playing="false" class="vimeo-player is-blog" data-vimeo-activated="false" data-vimeo-fullscreen="false" data-vimeo-paused-by-user="false" data-vimeo-autoplay="false" data-vimeo-hover="false" data-vimeo-player-init="" data-vimeo-loaded="false" data-vimeo-update-size="cover" data-vimeo-video-id="" data-vimeo-muted="false"><div class="vimeo-player__before"></div><div class="vimeo-player__ifram-wrap"><iframe src="" width="640" height="360" frameborder="0" allowfullscreen="true" allow="autoplay; encrypted-media" class="vimeo-player__iframe"></iframe></div><img width="960" loading="eager" alt="" src="https://cdn.prod.website-files.com/627d359d0e0a
2225a265b7817bcf/67b5d51effa80c7db72d49fc_mannakkara.jpg" class="vimeo-player__placeholder w-dyn-bind-empty"/><div class="vimeo-player__dark"></div><div data-vimeo-control="play" class="vimeo-player__play is-customer"><div class="vimeo-player__btn is-customer is-blog_d"><div class="vimeo_player_btn-circle"><div class="vimeo_player_btn-circle-inner is-white"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24" fill="none" class="vimeo-player__btn-play-svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.38178 6.13982C6.40762 5.94017 6.48425 5.74878 6.60555 5.58089C6.72686 5.413 6.88949 5.27326 7.08049 5.17279C7.2715 5.07232 7.48559 5.01391 7.70574 5.00219C7.92587 4.99048 8.14597 5.02579 8.3485 5.10532C9.37235 5.50436 11.6669 6.45272 14.5784 7.98469C17.4908 9.51754 19.5395 10.8562 20.4294 11.4635C21.1891 11.9829 21.191 13.013 20.4304 13.5342C19.5491 14.1381 17.5256 15.4591 14.5784 17.0113C11.6283 18.5635 9.36078 19.5005 8.34657 19.8942C7.47311 20.2343 6.49554 19.7183 6.38178 18.8597C6.24873 17.856 6 15.5769 6 12.4989C6 9.42262 6.24777 7.14443 6.38178 6.13982Z" fill="currentColor"></path></svg></div></div></div></div><div data-vimeo-control="pause" class="vimeo-player__pause"><div class="vimeo-player__btn is-customer"><div class="vimeo_player_btn-circle"><div class="vimeo_player_btn-circle-inner is-white"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24" fill="none" class="vimeo-player__btn-pause-svg"><path d="M8 6.5C8 6.22386 8.22386 6 8.5 6H10.5C10.7761 6 11 6.22386 11 6.5V17.5C11 17.7761 10.7761 18 10.5 18H8.5C8.22386 18 8 17.7761 8 17.5V6.5Z" fill="currentColor"></path><path d="M14 6.5C14 6.22386 14.2239 6 14.5 6H16.5C16.7761 6 17 6.22386 17 6.5V17.5C17 17.7761 16.7761 18 16.5 18H14.5C14.2239 18 14 17.7761 14 17.5V6.5Z" fill="currentColor"></path></svg></div></div></div></div><div class="vimeo-player__interface"><div class="vimeo-player__interface-bottom"><div class="vimeo-player__duration hide"><span data-vimeo-duration="" class="vimeo-player__duration-span">0:00</span></div><div class="vimeo-player__timeline"><progress min="0" max="100" value="0" class="vimeo-player__timeline-progress"></progress><input type="range" min="0" max="100" step="0.01" data-vimeo-control="timeline" class="vimeo-player__timeline-input" value="0"/></div><div data-vimeo-control="mute" class="vimeo-player__mute"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24" fill="none" class="vimeo-player__volume-up-svg"><path d="M3 8.99998V15H7L12 20V3.99998L7 8.99998H3ZM16.5 12C16.5 10.23 15.48 8.70998 14 7.96998V16.02C15.48 15.29 16.5 13.77 16.5 12ZM14 3.22998V5.28998C16.89 6.14998 19 8.82998 19 12C19 15.17 16.89 17.85 14 18.71V20.77C18.01 19.86 21 16.28 21 12C21 7.71998 18.01 4.13998 14 3.22998Z" fill="currentColor"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24" fill="none" class="vimeo-player__volume-mute-svg"><path d="M16.5 12C16.5 10.23 15.48 8.71 14 7.97V10.18L16.45 12.63C16.48 12.43 16.5 12.22 16.5 12ZM19 12C19 12.94 18.8 13.82 18.46 14.64L19.97 16.15C20.63 14.91 21 13.5 21 12C21 7.72 18.01 4.14 14 3.23V5.29C16.89 6.15 19 8.83 19 12ZM4.27 3L3 4.27L7.73 9H3V15H7L12 20V13.27L16.25 17.52C15.58 18.04 14.83 18.45 14 18.7V20.76C15.38 20.45 16.63 19.81 17.69 18.95L19.73 21L21 19.73L12 10.73L4.27 3ZM12 4L9.91 6.09L12 8.18V4Z" fill="currentColor"></path></svg></div><div data-vimeo-control="fullscreen" class="vimeo-player__fullscreen"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24" fill="none" class="vimeo-player__fullscreen-scale-svg"><rect x="3" y="14" width="2" height="7" fill="currentColor"></rect><rect x="3" y="3" width="2" height="7" fill="currentColor"></rect><rect x="19" y="3" width="2" height="7" fill="currentColor"></rect><rect x="19" y="14" width="2" height="7" fill="currentColor"></rect><rect x="3" y="19" width="7" height="2" fill="currentColor"></rect><rect x="14" y="19" width="7" height="2" fill="currentColor"></rect><rect x="3" y="3" width="7" height="2" fill="currentColor"></rect><rect x="14" y="3" width="7" height="2" fill="currentColor"></rect></svg>
2225<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24" fill="none" class="vimeo-player__fullscreen-shrink-svg"><rect x="7" y="2" width="2" height="7" fill="currentColor"></rect><rect x="15" y="2" width="2" height="7" fill="currentColor"></rect><rect x="15" y="15" width="2" height="7" fill="currentColor"></rect><rect x="8" y="15" width="2" height="7" fill="currentColor"></rect><rect x="2" y="7" width="7" height="2" fill="currentColor"></rect><rect x="3" y="15" width="7" height="2" fill="currentColor"></rect><rect x="15" y="7" width="7" height="2" fill="currentColor"></rect><rect x="15" y="15" width="7" height="2" fill="currentColor"></rect></svg></div></div></div></div></div><div class="blog_video-wrap hide w-condition-invisible"><div class="blog_video w-dyn-bind-empty w-video w-embed"></div></div></div></div><div fs-inject-element="target" fs-toc-element="contents" fs-toc-offsettop="12rem" class="text-rich-text w-richtext"><h2>Vibe Coding Is Rising. So Are AI-Powered Cyberattacks.</h2><p>Last week OpenAI models discovered a zero-day vulnerability, escaped an isolated evaluation environment, and <a href="https://openai.com/index/hugging-face-model-evaluation-security-incident/">breached Hugging Face’s production infrastructure</a>. Days later, Anthropic revealed new <a href="https://www.anthropic.com/news/investigating-incidents-cybersecurity-evals">Claude models breached 3 organizations</a> during evaluation runs. Meanwhile, attackers are increasingly targeting the software supply chain, compromising widely used packages and developer ecosystems including Axios and AsyncAPI. As new cyber capabilities become widely accessible, the cost of launching sophisticated attacks continues to fall as the number of attacks skyrockets. <br/></p><p>Meanwhile, vibe coding is spreading across the enterprise, creating a vast new attack surface enterprises are not yet prepared to defend. Employees paste sensitive customer data into personal Replit accounts. Lovable prototypes are made public exposing customer data without company SSO and permissioning. And employees using Claude on their laptops unwittingly download newly compromised packages from the public internet into their apps. <br/></p><p>Shadow IT has never been easier to create and harder to control. Until now, CISOs and CIOs had two choices: either shut down vibe code entirely and stifle AI business transformation, or let vibe coding run wild and risk a cyberattack. <br/></p><p>Superblocks 3.0 creates the third path: give business teams a secure path to production for AI-built apps, within your AWS virtual private cloud, with central controls for governance at scale that Security &amp; IT teams require.</p><figure style="padding-bottom:56.33802816901409%" class="w-richtext-align-fullwidth w-richtext-figure-type-video"><div><iframe src="https://player.vimeo.com/video/1215002336" title="Secure Enterprise Vibe Coding on AWS | Superblocks 3.0 Demo" scrolling="no" frameborder="0" allowfullscreen="true"></iframe></div></figure><h2>The New Agentic Software Development Lifecycle for Business Teams</h2><p>Superblocks 3.0 gives business users a single platform to import, build, secure, deploy and manage their vibe coded apps, from prototype to production, via a “golden path” blessed by Security &amp; IT. Every app is governed and every line of code is secured. </p><figure style="max-width:4090pxpx" class="w-richtext-align-fullwidth w-richtext-figure-type-image"><div><img alt="" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a705dc1c890abdc80d51fb7_superblocks3.0-blog_img1.avif" loading="lazy"/></div></figure><p>Business teams can seamlessly <a href="https://docs.superblocks.com/building-with-clark/import-app">import prototypes</a> from Claude, ChatGPT, Lovable, Replit and raw code, taking them through an IT-approved path to production in Superblocks. Builders can even use the <a href="https://docs.superblocks.com/building-with-clark/builder-mcp">Superblocks Builder MCP</a> to iterate on their applications from the places they already work such as Claude, Slack, Cursor or ChatGPT. </p><h2>Private Enterprise Vibe Coding: Bring Your Own Cloud on AWS</h2><p>Today we also announce a Strategic Partnership with AWS to bring Superblocks to AWS customers from within your AW
2225S VPC, leveraging AWS Bedrock for inference.</p><p>The Superblocks platform can be deployed <a href="https://docs.superblocks.com/enterprise/cloud-prem/aws" target="_blank">within your AWS virtual private cloud</a>, keeping your data, code, applications and inference within your existing security perimeter. This ensures Superblocks is governed by your AWS IAM, networking, encryption, and audit policies.</p><figure style="max-width:3360pxpx" class="w-richtext-align-fullwidth w-richtext-figure-type-image"><div><img alt="" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a7059c6601d6d4a6a42e2ae_superblocks3.0-blog_img2.avif" loading="lazy"/></div></figure><p>When a business user prompts to store data for an application, Superblocks <a href="https://docs.superblocks.com/admin/superblocks-on-aws/database#superblocks-database" target="_blank">automatically spins up AWS Aurora</a> or AWS S3 infrastructure for them within your VPC. When a user publishes from dev to prod, Superblocks automatically runs migrations across environments. IT teams can govern these resources from the Superblocks control plane while retaining full visibility and control using the AWS console —reducing operational overhead, eliminating vendor lock-in and ensuring no data leaves your VPC. </p><figure style="max-width:3360pxpx" class="w-richtext-align-fullwidth w-richtext-figure-type-image"><div><img alt="" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a7059dfd1ab382fc125d6fa_superblocks3.0-blog_img3.avif" loading="lazy"/></div></figure><p>Finally, all AI inference runs through your AWS Bedrock using models approved by your organization admin. Your prompts and data remain within your secure AWS environment and are never used to train models—giving IT and Security complete control over how AI is used.</p><h2>A Security Agent Swarm for AI-Generated Code</h2><p>Before an app reaches production, every code change is tested by a <a href="https://docs.superblocks.com/admin/code-security/security-agent">swarm of specialized security agents</a> and <a href="https://docs.superblocks.com/admin/code-security/static-analysis">deterministic security scanners</a>. Static analysis detects common coding flaws such as SQL injection, hardcoded secrets and insecure data flows. Superblocks’ security agents add another layer—building context across authentication, authorization, data access, APIs, and application logic to validate findings and uncover permission bypasses, business-logic flaws, and multi-step attack paths that rule-based scanners may miss. IT and Security can also deploy <a href="https://docs.superblocks.com/admin/policy-agents">Custom Policy Agents</a> to enforce company-specific requirements on every app.</p><h2>Continuous Security in Production </h2><p>To further defend against supply chain attacks, <a href="https://docs.superblocks.com/admin/code-security/supply-chain/private-registries#private-registries" target="_blank">Superblocks connects directly to your private package registry</a>, restricting access to public NPM at the network level. <br/></p><p>Superblocks maintains a Software Bill of Materials for every application and continuously scans deployed dependencies for newly disclosed vulnerabilities. When new CVEs are discovered, the <a href="https://docs.superblocks.com/admin/code-security/supply-chain/cve-detection#security-center" target="_blank">Superblocks Security Center</a> alerts app owners and administrators, helping IT maintain a strong security posture across the full application lifecycle across your organization. </p><figure style="max-width:2514pxpx" class="w-richtext-align-fullwidth w-richtext-figure-type-image"><div><img alt="" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a705a15ca872d1b5a56b0e1_superblocks3.0-blog_img4.avif" loading="lazy"/></div></figure><h2>Superblocks Smart Router: Save up to 30% with Open Source</h2><p>Open-weight models are rapidly approaching frontier-level performance on many coding tasks, at a fraction of the cost. On every prompt, <a href="https://docs.superblocks.com/building-with-clark/smart-routing#smart-model-routing" target="_blank">Superblocks Smart Router</a> automatically breaks complex application builds into specialized tasks and routes each one to the right model. Frontier models handle high-value planning and difficult reasoning, while cost-efficient open models execute routine coding tasks. At enterprise-wide scale, this intelligent routing can reduce AI inference costs by up to 30% without compromising the quality of the final application.</p><figure style="max-width:3772pxpx" class="w-richtext-align-fullwidth w-richtext-figure-type-image"><div><img alt="" src="https://cdn.prod.website-files.com/627d359d0e0a
2225a25158817bf0/6a705a312b29c42eea467088_superblocks3.0-blog_img5.avif" loading="lazy"/></div></figure><h2>Get Started with Private Enterprise Vibe Coding on AWS Today</h2><p>If you are a CISO, CIO or an AI leader responsible for enabling secure and private AI for your business teams, <a href="/book-a-demo">book a demo</a> and we’ll share how similar organizations are delivering business user vibe coding at scale, securely. Or <a href="https://app.superblocks.com/signup">sign up</a> to try out Superblocks self-serve. </p></div><div class="designer-only"><div fs-inject-instance="case-virgin" fs-inject-element="element" class="cta-box"><div class="cta-box_logo w-embed"><svg width="100%" height="100%" viewBox="0 0 165 48" fill="none" xmlns="http://www.w3.org/2000/svg">
2226<path d="M53.2129 17.6611L53.1423 17.6808C53.102 17.838 52.9406 17.9363 52.9204 18.123C52.9204 18.182 52.8397 18.2311 52.7994 18.2803C52.6581 18.5161 52.4564 18.7029 52.2345 18.8503C52.0932 18.9388 51.9722 19.0272 51.841 19.1058C51.3871 19.3712 50.8928 19.499 50.3985 19.6562C49.8135 19.8429 49.2284 20.0297 48.6433 20.2459C48.0179 20.4719 47.4126 20.7373 46.8074 20.9928C46.5653 21.1009 46.3131 21.2385 46.071 21.3565C45.2237 21.7889 44.3864 22.2115 43.5391 22.6439C43.2062 22.8209 42.8632 23.0076 42.5202 23.1943C42.3386 23.2828 42.1571 23.3712 41.9856 23.4695C41.7132 23.6169 41.4409 23.7742 41.1685 23.9314C40.7751 24.1476 40.3716 24.3639 39.9681 24.5899C39.5343 24.8356 39.0905 25.0911 38.6567 25.3467C38.3037 25.5531 37.9506 25.7496 37.5975 25.956C37.2546 26.1526 36.9015 26.3688 36.5585 26.585C36.0743 26.87 35.6002 27.1649 35.1261 27.4499C35.0454 27.499 34.9849 27.5973 34.9042 27.6366C34.8235 27.6661 34.7529 27.7349 34.6823 27.7644C34.4402 27.843 34.2586 28.0199 34.0468 28.1477C33.7139 28.3541 33.3911 28.59 33.0683 28.816C32.9573 28.8848 32.8564 28.9536 32.7858 29.0715C32.7354 29.1502 32.6042 29.1895 32.5135 29.2484C32.4126 29.3172 32.2915 29.3762 32.342 29.5433C32.3621 29.6416 32.3218 29.7497 32.3117 29.8578C32.3016 29.9659 32.2915 30.0838 32.3016 30.1919C32.3016 30.2411 32.3218 30.2902 32.342 30.359C32.3117 30.4081 32.2714 30.4769 32.2108 30.5457C32.3621 30.6637 32.2411 30.8013 32.231 30.9487C32.3319 31.0273 32.3319 31.1453 32.2915 31.273C32.2411 31.4106 32.1503 31.5482 32.2915 31.6956C32.3218 31.7349 32.2915 31.8234 32.1806 31.7939C32.1806 31.8431 32.1806 31.8922 32.2108 31.9315C32.2814 32.0298 32.2814 32.1281 32.2209 32.2362V32.2853C32.3319 32.4819 32.2007 32.6784 32.2209 32.8848C32.231 33.0814 32.1907 33.278 32.231 33.4843C32.2411 33.5531 32.2411 33.6318 32.2512 33.7104C32.2613 33.7595 32.3016 33.848 32.2007 33.8873C32.1705 33.8971 32.1503 33.9659 32.2007 34.0249C32.2411 34.0937 32.2512 34.2018 32.2411 34.2804C32.1705 34.6048 32.2411 34.9192 32.1907 35.2534C32.1907 35.3615 32.1705 35.4795 32.1705 35.5876C32.1705 35.6662 32.1301 35.735 32.2108 35.8038V35.8529C32.1503 35.9905 32.2008 36.1281 32.1806 36.2755C32.1806 36.4131 32.2007 36.5605 32.2209 36.7178C31.9889 36.7571 32.0999 36.9635 32.0898 37.1207C32.1604 37.1502 32.2714 37.1699 32.2411 37.3075C32.2007 37.3075 32.1503 37.3271 32.0797 37.337C32.1301 37.4058 32.1705 37.4549 32.231 37.5434L32.1604 37.563C32.3117 37.8087 32.1402 37.9856 32.0595 38.192C32.11 38.3001 32.1705 38.4377 32.2209 38.5556C32.2613 38.6343 32.2714 38.6932 32.1806 38.7424C32.0595 38.8112 32.0494 38.88 32.0999 38.9979C32.1402 39.0765 32.1806 39.1453 32.231 39.224C32.1705 39.2436 32.12 39.2534 32.0696 39.2731C32.0696 39.3615 32.0696 39.45 32.0898 39.5483C32.1402 39.5188 32.1705 39.509 32.2007 39.4893C32.231 39.5581 32.2512 39.6367 32.2714 39.7154C32.2411 39.735 32.2007 39.7547 32.1503 39.7743C32.1806 39.8824 32.2915 39.9905 32.12 40.0987C32.2108 40.1871 32.2915 40.2657 32.3722 40.3444C32.342 40.4132 32.3016 40.5114 32.2613 40.5999C32.3117 40.6097 32.3521 40.6195 32.4025 40.6294C32.3521 40.6982 32.2714 40.767 32.4025 40.8259L32.4328 40.8652C32.3823 41.0127 32.5135 41.1503 32.4529 41.3075C32.4328 41.3075 32.4025 41.2977 32.342 41.278C32.4025 41.4058 32.3722 41.5041 32.342 41.6122C32.3218 41.6613 32.4025 41.74 32.4328 41.8088C32.4832 41.7793 32.5135 41.7596 32.5639 41.7203C32.5841 41.8186 32.5942 41.8972 32.6042 41.9758C32.6143 42.1232 32.6446 42.2707 32.7354 42.3886C32.7858 42.4574 32.7858 42.5164 32.7354 42.5753C32.695 42.6441 32.6446 42.7031 32.5942 42.7719C32.6143 42.7817 32.6345 42.8112 32.6749 42.8505C32.6143 42.8702 32.574 42.8898 32.5235 42.8997C32.5235 42.9979 32.5235 43.1061 32.5538 43.2142C32.5538 43.2437 32.6143 43.283 32.6547 43.3026C32.6547 43.3026 32.7051 43.2633 32.7455 43.224C32.7051 43.3518 32.9775 43.3616 32.8564 43.5385C32.9069 43.568 32.9573 43.5975 33.038 43.6466C32.8
2226665 43.6761 32.8665 43.8235 32.8463 43.912C32.8463 43.9906 32.7959 44.0299 32.7556 44.079C32.7656 44.2068 32.9977 44.197 32.8867 44.3542C32.9775 44.3935 33.038 44.423 33.1086 44.4623C33.0178 44.5508 32.927 44.6294 32.9775 44.767L32.9472 44.8063C32.8161 44.9243 32.8161 44.9537 32.9775 45.0324L33.0178 45.0717C32.9472 45.1306 32.8665 45.1798 32.8161 45.2388C32.7656 45.3076 32.7556 45.396 32.7051 45.4648C32.6345 45.5729 32.5538 45.681 32.4529 45.7498C32.2613 45.8874 32.0394 45.9955 31.8376 46.1135H31.0911C31.0911 46.1135 31.0306 46.084 31.0003 46.0741C30.4455 45.9464 30.0824 45.6221 29.9311 45.0618C29.81 44.6196 29.7293 44.1773 29.7394 43.7154C29.7394 43.4009 29.7697 43.0962 29.7798 42.7817C29.7999 42.4083 29.7999 42.0348 29.7999 41.6712C29.7999 41.5237 29.7999 41.3763 29.81 41.2289C29.8201 40.8063 29.8201 40.3837 29.8705 39.9709C29.9008 39.6466 29.9109 39.3321 29.8705 39.0176C29.8705 38.9586 29.8705 38.8898 29.8705 38.8308C29.8705 38.6932 29.8705 38.5655 29.8705 38.4279C29.8705 38.2608 29.8705 38.0839 29.8705 37.9168C29.8705 37.6711 29.9311 37.4352 29.8605 37.1895V37.1011C29.9512 37.0323 29.9311 36.9537 29.9311 36.8652V32.4131C29.9311 32.0986 29.9512 31.7743 29.9512 31.4598V30.9684C29.7192 31.0961 29.5175 31.2042 29.3359 31.3222C28.9728 31.5777 28.6298 31.8431 28.2767 32.1084C27.8934 32.4033 27.5202 32.6883 27.1469 32.9733C26.9754 33.1109 26.7838 33.2485 26.6022 33.3861C26.2996 33.6121 25.997 33.8382 25.7044 34.074C25.3715 34.3296 25.0689 34.6048 24.736 34.8603C24.2821 35.2239 23.8282 35.5777 23.3742 35.9414C22.9102 36.3247 22.4563 36.6981 21.9821 37.0814C21.6493 37.3566 21.3063 37.622 20.9633 37.8972C20.9129 37.9365 20.8624 37.9954 20.812 38.0446C20.701 38.1527 20.58 38.2706 20.4589 38.3787C20.348 38.4967 20.2471 38.6343 20.116 38.7424C19.9142 38.9193 19.6923 39.0765 19.4905 39.2633C19.2686 39.4598 19.0669 39.676 18.855 39.8824C18.7239 40.0004 18.5928 40.1281 18.4616 40.2461C18.4112 40.305 18.3507 40.3935 18.3002 40.4623C18.2397 40.5409 18.1691 40.6195 18.0985 40.6883C18.0077 40.7768 17.9169 40.8652 17.8261 40.9635C17.4831 41.3173 17.1402 41.681 16.7669 42.0151C16.4946 42.251 16.2726 42.5262 16.0406 42.7916C16.0003 42.8407 15.9498 42.88 15.9095 42.9292C15.8288 43.0176 15.7481 43.0962 15.6674 43.1749C15.6371 43.2142 15.6069 43.2437 15.5766 43.283C15.3042 43.5385 15.0218 43.794 14.7494 44.0496C14.588 44.197 14.4165 44.3444 14.2652 44.4918C14.1038 44.6392 13.9424 44.7277 13.7104 44.7375C13.3977 44.7375 13.0951 44.7375 12.7824 44.6196C12.2982 44.423 12.0763 44.0496 12.0157 43.568C11.9956 43.4206 11.9653 43.2633 12.0157 43.1159C12.0561 43.0176 12.0763 42.9193 12.1368 42.8309C12.2377 42.6834 12.3486 42.536 12.4596 42.3984C12.8732 41.8972 13.3271 41.4353 13.8113 41.0028C14.0837 40.767 14.3459 40.5114 14.6082 40.2657C15.0521 39.8628 15.4757 39.45 15.9196 39.0667C16.6257 38.4574 17.352 37.8578 18.0682 37.2682C18.4314 36.9635 18.7945 36.6785 19.1577 36.3836C19.4098 36.1674 19.6519 35.9414 19.9041 35.7252C20.116 35.5482 20.3581 35.3812 20.58 35.2141C20.923 34.9389 21.2559 34.6637 21.5988 34.3984C21.7905 34.2509 21.9922 34.0937 22.194 33.9463C22.4462 33.7399 22.6984 33.5531 22.9505 33.3369C23.0918 33.219 23.2431 33.0912 23.3843 32.9831C23.6869 32.7571 23.9896 32.5605 24.2922 32.3443C24.7562 32.0101 25.2202 31.676 25.6842 31.3418C25.9768 31.1354 26.2693 30.9389 26.5619 30.7325C26.8443 30.5457 27.1167 30.3394 27.389 30.1428C27.8732 29.789 28.3473 29.4253 28.8315 29.0715C29.1745 28.816 29.5377 28.5801 29.921 28.3246C29.921 28.0789 29.921 27.8135 29.921 27.5383C29.921 27.3811 29.921 27.2337 29.9109 27.0863C29.9109 27.0469 29.8907 26.9781 29.8605 26.9781C29.81 26.9781 29.7596 26.988 29.7293 27.0175C29.4872 27.1747 29.235 27.3418 28.9929 27.5089L28.9425 27.5285C28.771 27.5678 28.6096 27.5973 28.4482 27.6759C28.307 27.7447 28.1557 27.8037 27.9741 27.784C27.8127 27.7644 27.6311 27.8332 27.4596 27.8823C27.0763 27.961 26.693 27.961 26.3298 27.8332C25.8759 27.6661 25.4926 27.4007 25.311 26.9093C25.1799 26.5359 25.1093 26.1624 25.1093 25.7693C25.1093 25.2681 25.1194 24.7668 25.1093 24.2656C25.1093 24.0887 25.0689 23.9314 25.0689 23.7545C25.0689 23.6464 25.0992 23.5383 25.1294 23.4204C25.1496 23.2238 25.1799 23.0272 25.19 22.8307C25.19 22.4572 25.2606 22.0739 25.3211 21.6906C25.3816 21.2975 25.4623 20.8945 25.5834 20.5112C25.7145 20.1083 25.8456 19.7053 26.0978 19.3515C26.3702 18.9584 26.6426 18.5555 26.9452 18.1722C27.1268 17.9461 27.3789 17.779 27.6311 17.6316C27.6715 17.612 27.7219 17.5923 27.7522 17.5628C28.0851 17.2778 28.4987 17.1992 28.9122 17.1206C29.0635 17.0911 29.2451 17.1402 29.3763 17.209C29.5578 17.2975 29.578 17.5039 29.5
2226578 17.6611C29.5578 17.8478 29.4771 18.0247 29.4368 18.2115C29.4166 18.3589 29.3056 18.4572 29.2552 18.5849C29.1846 18.7422 29.0635 18.8503 28.9223 18.9388C28.882 18.9584 28.8517 18.9879 28.8315 19.0174C28.7407 19.1648 28.6701 19.3319 28.5087 19.4498L28.4886 19.4793C28.4684 19.6759 28.307 19.8036 28.2364 19.9805C28.2162 20.0198 28.1859 20.0788 28.1758 20.1378C28.1557 20.2852 28.1254 20.4228 28.0044 20.5407C27.964 20.5899 27.9438 20.6488 27.9237 20.7176C27.8732 20.9044 27.8228 21.1009 27.7724 21.2975C27.7522 21.3565 27.7219 21.4154 27.7118 21.4744C27.6816 21.671 27.621 21.8577 27.6614 22.0543C27.6614 22.0936 27.7017 22.1329 27.7219 22.1722C27.7623 22.2705 27.7623 22.3589 27.7219 22.4572C27.6816 22.526 27.6614 22.6145 27.6513 22.6931C27.6311 22.8602 27.611 23.0272 27.6009 23.1845C27.5908 23.2828 27.6009 23.3712 27.6009 23.4695C27.6009 23.5088 27.621 23.558 27.6009 23.5874C27.4798 23.784 27.5605 23.9806 27.5706 24.187C27.5706 24.2951 27.5706 24.413 27.5706 24.5211C27.5706 24.7373 27.6614 24.9339 27.7623 25.1305C27.8631 25.327 28.0346 25.445 28.2868 25.4351C28.7407 25.4155 29.1039 25.2287 29.4166 24.9142C29.7394 24.6096 29.8504 24.2263 29.9109 23.8331C30.0017 23.2435 30.0723 22.6538 30.153 22.0641C30.1933 21.7692 30.2337 21.4842 30.2539 21.1894C30.264 21.0321 30.2438 20.8749 30.2438 20.7176V20.6685C30.3447 20.5604 30.3245 20.4228 30.3346 20.295C30.3749 19.8331 30.4052 19.381 30.4455 18.9289C30.4657 18.6537 30.496 18.3786 30.5161 18.1132C30.5363 17.8183 30.5565 17.5235 30.5868 17.2287C30.6069 17.0124 30.6069 16.7962 30.7078 16.5898C30.849 16.295 31.0911 16.1181 31.3837 15.9805C31.656 15.8429 31.9486 15.8232 32.2411 15.8626C32.4428 15.892 32.6446 15.951 32.7656 16.1279C32.8363 16.236 32.9674 16.3048 32.9775 16.4621C32.9775 16.5112 32.9977 16.5702 32.9977 16.6193C32.9977 16.7864 32.9775 16.9633 32.9674 17.1304C32.9674 17.1992 32.9977 17.268 33.0178 17.3466C33.0178 17.3859 32.9371 17.4056 32.9775 17.494C33.0077 17.5628 32.9876 17.6414 32.9472 17.7299C32.9069 17.8183 32.917 17.9461 32.9472 18.0444C32.9775 18.1918 32.927 18.3294 32.9472 18.4867C32.9674 18.6243 32.8867 18.7717 32.8665 18.9191C32.8463 18.9682 32.806 19.0272 32.8867 19.0763L32.9069 19.096C32.7656 19.2827 32.8161 19.5088 32.7959 19.725C32.7354 20.3049 32.7051 20.8847 32.6648 21.4646C32.6345 21.9167 32.5942 22.3688 32.5639 22.8209C32.5639 22.929 32.5135 23.0371 32.5135 23.1452C32.5235 23.44 32.4731 23.7349 32.4529 24.0199C32.4529 24.1378 32.4428 24.2459 32.4832 24.3639C32.5235 24.4621 32.5235 24.5801 32.4933 24.6784C32.4227 24.8651 32.4428 25.0518 32.4529 25.2386C32.4529 25.3368 32.4529 25.4253 32.4529 25.5236C32.4227 25.7103 32.3823 25.8872 32.4025 26.0936C32.4227 26.2803 32.4025 26.4671 32.4025 26.644C32.4025 26.6833 32.4126 26.7128 32.4227 26.7816C32.4933 26.7423 32.5437 26.7128 32.6042 26.6833C32.8867 26.4966 33.1691 26.3 33.4718 26.1231C33.9963 25.8086 34.5209 25.4941 35.0454 25.1698C35.1967 25.0813 35.348 24.983 35.4994 24.8946C35.8121 24.698 36.1046 24.472 36.4375 24.3049C36.8511 24.1083 37.1739 23.7938 37.6076 23.6661C37.6883 23.6464 37.7388 23.558 37.8195 23.5383C37.9506 23.499 37.991 23.2926 38.1826 23.3614C38.3037 23.2926 38.4348 23.214 38.5559 23.155C38.6769 23.0862 38.7979 23.0272 38.9089 22.9584C39.04 22.8897 39.1611 22.8209 39.2822 22.7422C39.4032 22.6734 39.5242 22.5948 39.6554 22.5162C39.8168 22.4179 39.9883 22.3294 40.1598 22.241C40.7751 21.897 41.4005 21.553 42.036 21.2189C42.5303 20.9437 43.0347 20.6783 43.529 20.4031C44.0737 20.0985 44.6083 19.7938 45.1531 19.4793C45.2741 19.4105 45.3851 19.3417 45.5162 19.2631C45.4557 19.2139 45.4355 19.1845 45.3952 19.1648C45.0724 19.0174 44.911 18.7618 44.8403 18.4375C44.8 18.2606 44.8 18.0837 44.8 17.9068C44.8 17.7004 44.7899 17.4842 44.7899 17.2778V17.2188C44.911 16.9535 44.8202 16.6685 44.8908 16.4031C44.9009 16.3638 44.9009 16.3245 44.8908 16.295C44.7899 16.0591 44.8504 15.8232 44.911 15.5874C44.9311 15.5284 44.911 15.4694 44.9009 15.4006C44.8908 15.3417 44.8504 15.2729 44.8706 15.2336C44.9513 15.096 44.911 14.9485 44.9412 14.8011C44.9816 14.6537 44.9715 14.4866 44.9715 14.3195C44.9715 13.8675 44.9715 13.4252 44.9715 12.9731C44.9715 12.8453 44.9715 12.7372 44.8908 12.6291C44.8 12.5013 44.6991 12.4031 44.5175 12.4129C44.4268 12.4129 44.3259 12.3932 44.2351 12.4031C43.9829 12.4325 43.7912 12.5603 43.5996 12.7077C43.5391 12.7569 43.4584 12.7864 43.4079 12.8355C43.3373 12.9141 43.2667 13.0026 43.2263 13.1009C43.1961 13.1893 43.1356 13.2286 43.0649 13.2876C42.9439 13.3859 42.8228 13.4645 42.7825 13.6316C42.7522 13.7102 42.6413 13.7593 42.5606 13.838C42.5404 13.9756 42.5404 14.1426 42.4193 14.2606L42.3992 14.3392C42.3891 14.4768 42.4294 14.6242 42.3386 14.7422C42.2983 14.7913 42.4496 14.8208 42.3689 14.8797C42.3286 14.9092 42.268 
222614.9191 42.2277 14.9387C42.2075 14.9387 42.2075 14.9682 42.1873 14.9977C42.2277 15.0173 42.268 15.037 42.2983 15.037C42.2882 15.1353 42.2781 15.2237 42.268 15.322C42.1066 15.3613 42.0966 15.3613 42.1268 15.5481C42.147 15.6267 42.1672 15.7053 42.2075 15.7839C42.2479 15.8527 42.2378 15.9412 42.1772 15.9707C42.0663 16.0198 42.0663 16.1279 41.9856 16.1967C41.9654 16.2164 41.9755 16.3245 42.0058 16.3441C42.1066 16.4228 42.1268 16.5112 42.1167 16.6292C42.1167 16.6881 42.1369 16.7471 42.147 16.8159C42.0865 16.8552 42.0058 16.8945 41.9553 16.9535C41.8746 17.0321 41.9553 17.1107 41.9755 17.1402C41.9452 17.2581 41.9049 17.3269 41.8948 17.4154C41.8847 17.553 41.8948 17.6808 41.8948 17.8183C41.8948 17.9363 41.8645 18.0444 42.0461 18.0542C41.9553 18.2016 41.8242 18.3196 41.9957 18.467C41.9654 18.4867 41.9452 18.5063 41.9251 18.5161C42.0562 18.6243 42.036 18.6144 41.9957 18.7618C41.9654 18.8601 41.8948 18.9682 41.9654 19.0763C41.9654 19.096 41.9553 19.1353 41.9553 19.1648C41.9553 19.2139 41.9251 19.2631 41.9452 19.2827C42.0562 19.3908 41.9755 19.4891 41.9049 19.5678C41.7738 19.7348 41.6931 19.9117 41.6628 20.1083C41.6628 20.1378 41.6426 20.1673 41.6224 20.1968C41.4409 20.3442 41.2795 20.5014 41.0575 20.5997C40.8961 20.6685 40.7448 20.757 40.5834 20.8356C40.3413 20.9535 40.0891 20.9437 39.8269 20.8945C39.5041 20.8356 39.3729 20.639 39.3225 20.2655C39.2922 20.0198 39.3326 19.7741 39.3427 19.5284C39.3528 19.1058 39.3729 18.6931 39.3931 18.2704C39.4133 17.7889 39.4335 17.3073 39.4436 16.8257C39.4637 16.4228 39.4839 16.01 39.5041 15.5972C39.5444 15.0468 39.5646 14.4965 39.5949 13.9461C39.615 13.7593 39.615 13.5824 39.6453 13.4055C39.7058 13.0812 39.837 12.7765 40.0185 12.5112C40.3716 12.0296 40.8558 11.7741 41.4409 11.7053C41.4812 11.7053 41.5115 11.6856 41.5619 11.7053C41.7233 11.7151 41.8847 11.7446 42.0461 11.6365C42.1268 11.5873 42.2479 11.6365 42.3487 11.6856C42.5303 11.7544 42.7522 11.7937 42.954 11.7053C43.1557 11.6266 43.3474 11.5284 43.4987 11.3809C43.5693 11.3023 43.65 11.2237 43.7206 11.1352C43.7812 11.0763 43.8316 11.0173 43.882 10.9485C44.0535 10.7814 44.2149 10.6242 44.3763 10.4571L44.4167 10.4178C44.7496 10.2212 45.0824 9.99518 45.4658 9.88707C45.728 9.80845 46.0105 9.74948 46.2828 9.78879C46.535 9.83793 46.7771 9.8969 46.9587 10.1033C47.1403 10.29 47.1907 10.3588 47.2412 10.5947C47.2613 10.6831 47.2714 10.7716 47.3723 10.8109L47.4126 10.8797C47.2613 11.0075 47.2815 11.1156 47.453 11.2434C47.453 11.3613 47.453 11.4497 47.4732 11.5677C47.453 11.5873 47.3723 11.5972 47.3521 11.6365C47.3118 11.6954 47.3118 11.7741 47.3219 11.8429C47.3219 11.9313 47.3219 12.0099 47.342 12.1082C47.3824 12.0886 47.4126 12.0689 47.4631 12.0296C47.4833 12.1574 47.3723 12.2851 47.5337 12.3932C47.4732 12.3932 47.453 12.4031 47.4026 12.4129C47.4227 12.5996 47.4328 12.7864 47.453 12.9928C47.4227 12.9928 47.3723 13.0124 47.3219 13.0222C47.2613 13.1402 47.3219 13.1991 47.4227 13.2581C47.3723 13.2974 47.3319 13.3269 47.2916 13.3662C47.3219 13.4252 47.3622 13.4743 47.3723 13.5038C47.3319 13.553 47.2815 13.5923 47.2815 13.6316C47.2815 13.9362 47.2714 14.2409 47.2815 14.5554C47.2815 14.6242 47.3319 14.7028 47.3723 14.7815C47.3219 14.8503 47.2311 14.9092 47.3219 15.0173L47.3017 15.096C47.2613 15.2237 47.2613 15.2336 47.3824 15.3122C47.3824 15.4105 47.3824 15.5186 47.4026 15.6365C47.3925 15.6365 47.342 15.6857 47.342 15.725C47.3622 15.8429 47.3925 15.951 47.2815 16.0395V16.0984C47.3319 16.1672 47.342 16.236 47.3017 16.3048L47.2815 16.3638C47.2815 16.3638 47.3622 16.4228 47.4126 16.4621C47.3319 16.5014 47.2815 16.5407 47.3118 16.639C47.3319 16.6979 47.2512 16.7864 47.3824 16.8257L47.4126 16.865C47.3521 16.9928 47.453 17.0321 47.5438 17.0812C47.5236 17.1304 47.5034 17.1599 47.4933 17.1894C47.4732 17.2188 47.453 17.2385 47.4126 17.2778C47.5135 17.3171 47.5841 17.3663 47.574 17.4842C47.574 17.5038 47.5942 17.6218 47.6951 17.6218L47.7657 17.6808C47.8968 17.8478 48.0179 17.897 48.2297 17.8282C48.4012 17.779 48.5828 17.7201 48.7442 17.6513C49.2082 17.4252 49.6722 17.1894 50.1262 16.9535C50.4086 16.8159 50.6911 16.6685 50.9735 16.5407C51.3367 16.3834 51.72 16.3638 52.1134 16.4228C52.2546 16.4424 52.3959 16.4522 52.5371 16.4522C52.6985 16.4621 52.8498 16.58 52.9305 16.7471C53.0112 16.924 53.1222 17.1009 53.2129 17.2778V17.3564C53.1524 17.4351 53.1322 17.5039 53.2129 17.5825V17.6611ZM18.8349 0L18.7945 0.0196562C18.3103 0.137593 17.927 0.393124 17.6042 0.737108C17.3722 0.972982 17.1603 1.21868 17.009 1.52336C16.888 1.78871 16.7266 2.02459 16.6055 2.28995C16.4744 2.59462 16.3533 2.90912 16.2424 3.223
222662C15.9196 4.03935 15.6069 4.85508 15.2841 5.66099C15.0722 6.21136 14.8604 6.76173 14.6586 7.32194C14.5275 7.64626 14.4165 7.99025 14.3056 8.31458C14.0231 9.09099 13.7306 9.86742 13.4482 10.634C13.4078 10.7421 13.3574 10.8306 13.317 10.9387C13.2767 11.0468 13.2262 11.1549 13.1859 11.2728C13.1254 11.4399 13.0951 11.607 13.0346 11.7741C12.964 11.9706 12.8631 12.1475 12.8026 12.3441C12.6815 12.747 12.5705 13.1402 12.4596 13.5431C12.4394 13.6021 12.4091 13.6611 12.389 13.72C12.3587 13.8085 12.3284 13.9068 12.3083 13.9952C12.2881 14.1328 12.3284 14.2704 12.2074 14.3883C12.1771 14.4178 12.1872 14.4866 12.167 14.5358C12.1469 14.6144 12.1267 14.693 12.1166 14.7815C11.935 15.4006 11.7434 16.0198 11.5618 16.639C11.4912 16.9043 11.471 17.1894 11.3903 17.4645C11.3096 17.7692 11.1986 18.0641 11.1179 18.3589C10.9465 18.9879 10.7851 19.6071 10.6136 20.2361C10.5934 20.3343 10.553 20.4326 10.5329 20.5309C10.4824 20.7373 10.4421 20.9437 10.3916 21.1501C10.3513 21.327 10.2908 21.5039 10.2504 21.6906C10.1092 22.3688 9.98815 23.0567 9.83684 23.7447C9.71579 24.2951 9.59474 24.8454 9.50395 25.4056C9.41317 26.015 9.28203 26.6145 9.17107 27.2238C9.11054 27.5777 9.07019 27.9315 9.01975 28.2853C8.91888 28.8651 8.82809 29.4548 8.7373 30.0347C8.68687 30.4081 8.64652 30.7816 8.58599 31.1551C8.58599 31.2632 8.52547 31.3615 8.48512 31.4598C8.42459 31.4106 8.39433 31.391 8.35398 31.3516C8.32372 31.3123 8.28337 31.2829 8.28337 31.2337C8.27328 31.1256 8.25311 31.0077 8.28337 30.8996C8.30354 30.7718 8.27328 30.7226 8.17241 30.6833C8.15223 30.418 8.19258 30.1526 8.09171 29.9069C8.07153 29.8578 8.08162 29.8086 8.09171 29.7595C8.11188 29.6022 8.14215 29.4647 8.13206 29.3074C8.12197 29.2189 8.1018 29.1403 8.05136 29.0617C7.97066 28.9634 7.87987 28.8455 7.99083 28.7079C7.95048 28.7079 7.90005 28.6882 7.83952 28.6784C7.86978 28.4818 7.84961 28.2853 7.93031 28.1084C8.0211 27.9216 7.98075 27.7742 7.91013 27.5973L7.87987 27.5482C7.81935 27.3614 7.71847 27.1747 7.72856 26.9781C7.72856 26.8012 7.6983 26.644 7.63777 26.4769C7.58733 26.3295 7.50663 26.1526 7.63777 25.9953C7.51672 25.7791 7.50663 25.7791 7.49655 25.5138C7.49655 25.3958 7.42593 25.2877 7.39567 25.1698C7.32506 25.0125 7.19392 24.8454 7.26453 24.6882C7.20401 24.6096 7.15357 24.5604 7.14349 24.5015C7.12331 24.3246 7.11322 24.1476 7.07287 23.9707C7.01235 23.7938 7.01235 23.6169 6.96191 23.4302C6.93165 23.3024 6.93165 23.1648 6.90139 23.0371C6.8913 22.8405 6.75007 22.6538 6.88121 22.4474C6.8913 22.4277 6.87112 22.3884 6.86104 22.3491C6.86104 22.3 6.8106 22.241 6.82069 22.2017C6.87112 22.0837 6.80051 22.0444 6.75007 22.0149C6.7299 21.9068 6.7299 21.8282 6.71981 21.7594C6.70972 21.671 6.67946 21.5825 6.65929 21.4941C6.6492 21.4449 6.65929 21.3663 6.6492 21.3368C6.52815 21.1894 6.5685 21.0027 6.52815 20.8356C6.45754 20.5014 6.42728 20.1673 6.37684 19.8233C6.26588 19.155 6.13474 18.4867 6.01369 17.8183C5.96325 17.553 5.86238 17.2975 5.70098 17.0812C5.31765 16.5604 4.52074 16.4719 3.9962 16.7864C3.71375 16.9633 3.52209 17.1992 3.40104 17.5039C3.32034 17.7102 3.24972 17.9265 3.17911 18.1427C3.00763 18.6341 2.84623 19.1157 2.67474 19.6071C2.65456 19.6857 2.6243 19.784 2.58395 19.8528C2.52343 19.9609 2.48308 20.069 2.4629 20.1968C2.43264 20.3147 2.37211 20.4228 2.34185 20.5407C2.29142 20.6882 2.23089 20.8258 2.20063 20.9732C2.13002 21.3663 1.95853 21.7201 1.84757 22.0936C1.79713 22.2312 1.74669 22.3589 1.70634 22.4965C1.64582 22.7422 1.58529 22.9978 1.43398 23.2238C1.37346 23.3024 1.36337 23.4105 1.35328 23.5088C1.33311 23.6562 1.30284 23.8135 1.21206 23.9216C1.15153 23.9904 1.10109 24.069 1.09101 24.1575C1.05066 24.4327 0.949782 24.698 0.83882 24.9536C0.748033 25.1599 0.657246 25.3565 0.616896 25.5826C0.546284 25.897 0.405059 26.2017 0.304184 26.5064C0.213397 26.7914 0.102435 27.0863 0.011648 27.3909C0.00156054 27.4302 -0.00852693 27.4892 0.011648 27.5383C0.102435 27.9708 0.354622 28.2853 0.818645 28.3836C0.95987 28.4229 1.11118 28.3836 1.25241 28.3836C1.54494 28.3639 1.76687 28.2361 1.95853 28.0297C1.99888 27.9806 2.04932 27.9511 2.06949 27.9413C2.10984 27.843 2.13002 27.7742 2.16028 27.6956C2.16028 27.6661 2.20063 27.6268 2.21072 27.5973C2.29142 27.3516 2.37211 27.1157 2.51334 26.8995C2.56378 26.8307 2.58395 26.7619 2.59404 26.6833C2.6243 26.5555 2.66465 26.4376 2.7857 26.3885C2.7857 26.3393 2.75544 26.3 2.76553 26.2705C2.82605 26.1329 2.89666 25.9953 2.95719 25.8577C2.97736 25.8283 2.97736 25.7889 2.97736 25.7496C2.98745 25.6808 2.99754 25.612 2.99754 25.5334C3.12867 25.5334 3.06815 25.4253 3.09841 25.3467C3.14885 25.2091 3.12867 25.0322 3.25981 24.9241V24.8848C3.20937 24.6882 3.42121 24.5899 3.42121 24.4228C3.56244 24.3049 3.54226 24.1476 3.53217 23.9806C3.57252 23.9609 3.63305 23.9314 3.65322 23.9216C3.6734 23.8626 3.69357 23.784 3.69357 23.784C3.79445 23.784 3.80453 23.7054 3.8348 23.6464C3.88523 23.5285 3.9155 23.4204 3.96593 23.3123C3.98611 23.2729 4.02646 23.2238 4.05672 23.2336C4.13742 23.2533 4.21812 23.2926 4.27865 23.3417C4.33917 23.3909 4.38961 23.4597 4.33917 23.558C4.319 23.5874 4.33917 23.6268 4.34926 23.6661C4.40978 23.6464 4.46022 23.62
222668 4.50057 23.6071C4.50057 23.7152 4.52074 23.8135 4.50057 23.9118C4.46022 24.0494 4.50057 24.187 4.50057 24.3147C4.50057 24.4032 4.52074 24.4621 4.58127 24.5309C4.63171 24.5899 4.70232 24.6685 4.70232 24.7373C4.70232 24.9142 4.76284 25.0715 4.78302 25.2386C4.85363 25.6513 4.91416 26.074 4.98477 26.4867C5.02512 26.7717 5.08564 27.0568 5.05538 27.3418C5.05538 27.4007 5.05538 27.4695 5.08564 27.5089C5.18652 27.6268 5.17643 27.7742 5.18652 27.9118C5.20669 28.0592 5.23695 28.2165 5.24704 28.3737C5.34792 28.9438 5.4387 29.5236 5.52949 30.1035C5.6001 30.6047 5.67072 31.1158 5.75142 31.6268C5.82203 32.0986 5.89264 32.5703 5.96325 33.0421C6.04395 33.5138 6.11456 33.9757 6.20535 34.4475C6.25579 34.7129 6.30623 34.9684 6.20535 35.2337V35.2731C6.38693 35.4205 6.45754 35.5089 6.2457 35.7448C6.37684 35.7153 6.42728 35.7645 6.44745 35.8726C6.49789 36.1674 6.51806 36.4721 6.59876 36.7669C6.61894 36.8554 6.6492 36.9537 6.59876 37.0421C6.58868 37.0716 6.61894 37.1109 6.63911 37.1502C6.63911 37.1895 6.67946 37.2289 6.68955 37.2682C6.76016 37.6318 6.8106 38.0053 6.88121 38.3689C6.95182 38.762 7.00226 39.1355 7.07287 39.5188C7.17375 39.9807 7.2948 40.4426 7.40576 40.9046C7.4562 41.1404 7.58733 41.3173 7.779 41.4746C8.07153 41.7105 8.39433 41.6908 8.72722 41.6122C9.15089 41.5041 9.40308 41.2387 9.5443 40.8358C9.68553 40.4328 9.73596 40.0004 9.80658 39.5876C9.88728 39.1846 9.93771 38.7719 9.99824 38.3591C10.0689 37.8775 10.1395 37.3861 10.2 36.8947C10.3109 36.0888 10.4017 35.2829 10.5026 34.477C10.553 34.0937 10.6035 33.7104 10.6539 33.3369C10.6842 33.1207 10.7044 32.8947 10.7649 32.6981C10.8254 32.5212 10.9061 32.3541 10.8859 32.1674C11.128 32.0789 11.1381 32.0101 10.9767 31.8332L10.9263 31.7448C10.9263 31.6465 10.9364 31.5482 10.9565 31.4598C10.9767 31.2337 11.0272 31.0175 11.0272 30.7914C11.0272 30.6244 11.0978 30.4966 11.1986 30.3787C11.2693 30.3099 11.2894 30.2312 11.3096 30.1428C11.3096 30.1035 11.3096 30.0642 11.3298 30.0347C11.4609 29.8381 11.4105 29.6317 11.4105 29.4253C11.4105 29.4057 11.3802 29.3664 11.35 29.3664C11.2592 29.3565 11.2592 29.2877 11.2592 29.2288C11.2592 28.9339 11.36 28.6391 11.4105 28.3541C11.4307 28.2361 11.4407 28.1084 11.4811 28.0003C11.5214 27.9118 11.5315 27.8332 11.5114 27.7447C11.4912 27.6563 11.5114 27.5973 11.5719 27.5383C11.6122 27.499 11.6425 27.4597 11.6526 27.4106C11.6627 27.2337 11.6728 27.0469 11.6627 26.8602C11.6627 26.7816 11.6828 26.703 11.7131 26.6243C11.7736 26.4474 11.8644 26.2705 11.8241 26.0641C11.8039 26.0052 11.8543 25.9265 11.8846 25.8577C11.9249 25.7791 11.9855 25.7103 12.0157 25.6219C12.0561 25.4548 12.0763 25.2877 12.0157 25.1108C11.9855 25.0518 12.0056 24.9732 12.0157 24.9142C12.0157 24.8454 12.046 24.7865 12.0662 24.7275C12.0662 24.6685 12.0863 24.6194 12.1469 24.5801C12.1973 24.5506 12.2377 24.4523 12.2276 24.3835C12.2276 24.3246 12.1973 24.2754 12.2578 24.2361V24.1476C12.2276 24.0789 12.2477 24.0395 12.2881 23.9904C12.2982 23.9609 12.2881 23.9216 12.2982 23.8823C12.2982 23.8233 12.2881 23.7545 12.2982 23.6956C12.389 23.3123 12.4898 22.929 12.5705 22.5457C12.6815 22.0641 12.7824 21.5825 12.9034 21.1108C13.0043 20.7176 13.0749 20.3049 13.2666 19.9412C13.3775 19.7152 13.3876 19.44 13.5692 19.2434L13.5894 19.1746C13.6297 18.9977 13.6802 18.8208 13.7306 18.6537C13.7407 18.6046 13.771 18.5358 13.8214 18.5161C14.013 18.3884 14.0534 18.1918 14.0937 17.9854C14.1139 17.8577 14.0937 17.7201 14.1139 17.5923C14.1442 17.3957 14.1845 17.1992 14.2249 16.9928C14.2451 16.8749 14.2451 16.7471 14.2854 16.639C14.3157 16.521 14.3964 16.4228 14.4468 16.3146C14.4771 16.2557 14.5073 16.1967 14.5174 16.1377C14.5679 15.9412 14.6183 15.7348 14.6687 15.5284C14.6889 15.4891 14.7091 15.4498 14.7293 15.4203C14.7898 15.322 14.8604 15.2139 14.9108 15.1156C14.931 15.0861 14.9108 15.0272 14.8907 14.9977C14.8402 14.9191 14.8503 14.8503 14.9007 14.7618C14.9613 14.634 15.0218 14.4965 15.0722 14.3589C15.0924 14.3294 15.0722 14.2999 15.0722 14.2704C15.0823 14.2114 15.0823 14.1721 15.0924 14.123C15.1126 14.064 15.1227 14.0149 15.1328 13.9559C15.1832 13.7888 15.2235 13.6218 15.2639 13.4547C15.3244 13.2581 15.4051 13.0714 15.4656 12.8748C15.5262 12.6881 15.5766 12.5013 15.6573 12.3146C15.7077 12.177 15.7683 12.0296 15.8288 11.892C15.8792 11.7839 15.9398 11.6758 15.97 11.5677C16.0608 11.2335 16.
22261617 10.8895 16.3533 10.5947C16.3836 10.5456 16.4139 10.4768 16.4441 10.4276C16.5047 10.2999 16.5753 10.1623 16.6257 10.0345C16.656 9.97552 16.6761 9.90673 16.6761 9.83793C16.656 9.71017 16.6963 9.59223 16.7468 9.48412C16.9283 9.091 17.0897 8.68804 17.2713 8.28509C17.5235 7.72489 17.7959 7.16469 18.048 6.60448C18.1186 6.45706 18.2397 6.33913 18.3002 6.20153C18.4314 5.92635 18.6129 5.68064 18.7945 5.42511C19.0164 5.10079 19.2989 4.80594 19.5612 4.50127C19.6419 4.40299 19.7528 4.31454 19.8537 4.23591C19.884 4.20643 19.9647 4.21626 19.9747 4.18677C20.005 4.14746 20.0151 4.08849 20.0353 4.03935L20.0857 4.00987C20.1563 3.96073 20.2168 3.91159 20.2975 3.87227C20.3782 3.83296 20.4085 3.68554 20.4589 3.58726C20.4791 3.54795 20.4589 3.48898 20.4892 3.45949C20.58 3.3219 20.691 3.19413 20.7817 3.05654C20.9028 2.85998 21.0138 2.66342 21.0541 2.42754C21.1146 2.08356 21.0844 1.75923 20.9835 1.42507C20.8019 0.815732 20.3984 0.422608 19.773 0.216218C19.6116 0.167078 19.43 0.117937 19.2686 0.0687967H18.7844L18.8349 0ZM21.9418 24.2852C21.9821 24.1968 22.0023 24.0985 22.0124 24.0002C22.0427 23.843 22.0931 23.6661 22.1637 23.5088C22.3049 23.1943 22.5269 22.9191 22.7791 22.6734C23.0413 22.4179 23.344 22.1919 23.6365 21.9756C23.8887 21.7987 24.1106 21.6218 24.272 21.3663C24.4334 21.1108 24.4233 20.8356 24.3628 20.5702C24.3426 20.413 24.2115 20.2754 24.1409 20.128C24.0097 19.8724 23.7777 19.8036 23.5154 19.8331C23.3036 19.8528 23.1119 19.9314 22.9304 20.0395C22.8194 20.1083 22.6984 20.1574 22.5874 20.1968C22.4462 20.2557 22.315 20.2852 22.194 20.3442C21.962 20.4719 21.7098 20.5506 21.4475 20.5702C21.0743 20.6095 20.701 20.698 20.3682 20.8651C20.0554 21.0321 19.773 21.2582 19.6015 21.5727C19.43 21.8872 19.3392 22.2508 19.309 22.6046C19.2686 23.0371 19.2585 23.4793 19.2283 23.9216C19.2182 24.1378 19.198 24.3639 19.1879 24.5899C19.1677 24.8553 19.1375 25.1108 19.1274 25.3762C19.1274 25.4941 19.1274 25.6219 19.087 25.7398C19.0265 25.9069 18.9862 26.074 18.9963 26.2509C19.0164 26.4671 18.9156 26.6833 19.0063 26.8995V26.9683C18.9357 27.1845 18.8853 27.4106 18.9761 27.6366C18.9862 27.6661 18.9862 27.7054 18.9761 27.7546C18.966 27.8922 18.9458 28.0297 18.9458 28.1673C18.9458 28.3934 18.8449 28.6096 18.8954 28.8455C18.9256 29.0617 18.8954 29.2877 18.8954 29.5138C18.8954 29.7005 18.9559 29.8873 19.0568 30.0445C19.198 30.2902 19.4502 30.4376 19.7024 30.3885C20.1765 30.3 20.6506 30.074 21.044 29.7005C21.387 29.3762 21.5383 28.9732 21.5786 28.5212C21.5988 28.3148 21.5484 28.0985 21.6493 27.902V27.8234C21.6493 27.6366 21.6291 27.4499 21.6392 27.273C21.6593 26.8504 21.6896 26.4278 21.7098 26.015C21.7098 25.8774 21.7501 25.7595 21.7501 25.6415C21.7602 25.4056 21.7501 25.1698 21.7602 24.9339C2
22261.7703 24.8356 21.7602 24.698 21.8914 24.6587C21.8914 24.5113 21.8914 24.3934 21.9216 24.2951M17.12 23.4695C17.1301 23.2729 17.0796 23.0764 16.9283 22.929C16.7568 22.7226 16.5147 22.7127 16.2827 22.7717C15.7481 22.9093 15.2942 23.1943 14.9613 23.6268C14.5477 24.1673 14.3964 24.7963 14.3358 25.4548C14.3157 25.7005 14.2955 25.9364 14.2753 26.1821C14.2753 26.2803 14.2551 26.3786 14.2551 26.4867C14.2551 26.6735 14.2551 26.8602 14.235 27.0568C14.2148 27.4794 14.1845 27.902 14.1644 28.3246C14.1644 28.3737 14.1442 28.4327 14.1341 28.4917C14.124 28.5506 14.1038 28.59 14.1038 28.6489C14.0937 28.8357 14.1038 29.0224 14.0736 29.2091C14.0635 29.4155 14.0231 29.6022 14.0231 29.8086C14.0231 30.2706 13.9727 30.7325 13.9626 31.1944C13.9525 31.5973 13.9122 32.0003 13.9626 32.4033C14.003 32.8357 14.124 32.9831 14.5981 33.0323C14.7898 33.0519 14.9411 33.0028 15.1025 32.9143C15.4253 32.7374 15.7279 32.5408 15.9902 32.2853L16.0608 32.246C16.1819 32.2853 16.202 32.187 16.2222 32.1182C16.4139 32.1281 16.4441 32.0789 16.4139 31.8922H16.2626C16.2626 31.8234 16.2827 31.7743 16.2827 31.7251C16.3029 31.6367 16.3332 31.558 16.3533 31.4696C16.4038 31.2141 16.4441 30.9585 16.4946 30.703C16.4946 30.6637 16.5248 30.6244 16.5147 30.5851C16.434 30.2902 16.5147 29.9855 16.4946 29.6809C16.4946 29.6514 16.4946 29.6219 16.4946 29.5826C16.5349 29.3271 16.5854 29.0715 16.6156 28.8062C16.6459 28.59 16.6661 28.3639 16.7266 28.1575C16.7468 28.0691 16.7367 27.961 16.7468 27.8725C16.7468 27.7742 16.7468 27.6759 16.7669 27.5777C16.7972 27.4302 16.8678 27.2926 16.888 27.1452C16.9082 26.9388 16.9283 26.7226 16.9182 26.5064C16.9182 26.3197 16.8981 26.1428 16.9788 25.9658C17.0494 25.8086 17.0494 25.6317 17.0696 25.4646C17.0796 25.3467 17.1099 25.2386 17.0998 25.1206C17.0897 24.9929 17.1099 24.8946 17.1704 24.7865C17.2007 24.7373 17.2209 24.6489 17.2108 24.6096C17.1603 24.5015 17.2108 24.4228 17.231 24.3639C17.1805 24.2361 17.1099 24.128 17.0998 24.0101C17.0595 23.8528 17.0897 23.8233 17.2511 23.7545C17.2007 23.6562 17.0998 23.5973 17.1099 23.4793M37.3554 19.1943C37.2344 19.1353 37.2445 19.0174 37.2546 18.9289C37.2546 18.811 37.2848 18.6931 37.3655 18.5948L37.416 18.526C37.3655 18.3687 37.4664 18.2115 37.3756 18.0542C37.3454 18.0149 37.3655 17.9658 37.3756 17.9265C37.3958 17.8773 37.3857 17.8478 37.3756 17.7889C37.3554 17.6611 37.3756 17.5333 37.3756 17.4056C37.3756 17.3073 37.3353 17.209 37.3655 17.1206C37.4261 16.983 37.3756 16.8552 37.3655 16.7274C37.3655 16.58 37.3554 16.4326 37.3554 16.295C37.3554 16.236 37.3756 16.1771 37.3958 16.1181C37.416 16.0395 37.4765 15.951 37.4563 15.8724C37.4361 15.7839 37.4361 15.7348 37.4664 15.6562C37.5068 15.5382 37.5269 15.4006 37.5068 15.2925C37.4765 15.1156 37.5471 14.9682 37.5774 14.811C37.5975 14.6635 37.6379 14.5259 37.5572 14.3785C37.5068 14.2901 37.4462 14.2016 37.4462 14.0738C37.4462 13.8675 37.3554 13.7692 37.1436 13.7397C36.9923 13.72 36.8208 13.7397 36.6594 13.7593C36.4072 13.7987 36.1954 13.9461 35.9936 14.1132C35.6002 14.4375 35.4086 14.8797 35.2976 15.3515C35.2472 15.6169 35.227 15.8822 35.1866 16.1476C35.1564 16.3343 35.1362 16.5112 35.116 16.6979C35.0757 17.1304 35.0353 17.5726 34.9849 18.0149C34.9445 18.3589 34.9042 18.7127 34.8739 19.0567C34.7932 19.8135 34.7226 20.5702 34.652 21.327C34.652 21.4646 34.6419 21.5923 34.6217 21.7299C34.6117 21.9756 34.5612 22.2312 34.5713 22.4769C34.5814 22.6833 34.6722 22.8995 34.8941 23.0076C35.0858 23.1059 35.2875 23.1255 35.4792 23.0567C35.923 22.8995 36.3366 22.6833 36.6897 22.3688C36.8712 22.2115 36.9419 21.9855 37.1033 21.8282C37.1033 21.6022 37.2344 21.386 37.1335 21.1697C37.1133 21.1206 37.1133 21.0616 37.1234 21.0027C37.1335 20.6882 37.1537 20.3835 37.1638 20.0592C37.184 19.8921 37.194 19.725 37.2041 19.5579C37.2647 19.5678 37.3151 19.5874 37.3655 19.6071C37.3151 19.499 37.2747 19.4203 37.2243 19.3122C37.2848 19.3417 37.3151 19.3614 37.3454 19.3712C37.416 19.2926 37.3958 19.2238 37.3252 19.1943M16.1213 19.7447C16.2626 19.7938 16.424 19.8429 16.5954 19.7545C16.9788 19.5874 17.3217 19.3515 17.6445 19.096C17.7252 19.037 17.816 18.9879 17.8564 18.9093C17.9472 18.752 18.0884 18.6243 18.1792 18.4572C18.3406 18.1722 18.391 17.8871 18.2599 17.5726C18.2195 17.4842 18.1691 17.3859 18.1388 17.2876C18.1086 17.1697 18.0279 17.1206 17.927 17.0812C17.8564 17.0616 17.7858 17.0518 17.7152 17.0518C17.463 17.0518 17.241 17.1206 17.0393 17.2483C16.7972 17.4056 16.5652 17.5825 16.3332 17.7692C16.2222 17.8478 16.1516 17.9658 16.0507 18.0542C15.8994 18.182 15.8792 18.3786 15.8086 18.5358C15.7279 18.6832 15.6977 18.8601 15.6674 18.9584C15.6876 19.3515 15.8086 19.6169 16.1112 19.725M38.2532 9.09099C38.0414 9.0222 37.8396 9.03203 37.6278 9.08117C37.2243 9.16962 36.8813 9.38584 36.5888 9.67085C36.3669 9.87724 36.2357 10.1229 36.155 10.408C36.0844 10.634 36.0945 10.8306 36.1954 11.037C36.2357 11.1156 36.2761 11.204 36.3467 11.2728C36.4173 11.3318 36.5081 11.3809 36.5989 11.4006C36.9015 11.4891 37.2041 11.5284 37.4866 11.322L37.5673 
222611.2827C37.7589 11.1451 37.9607 11.037 38.0918 10.8306C38.1826 10.693 38.2936 10.5652 38.4146 10.4473C38.6063 10.2605 38.6366 10.005 38.7475 9.78879V9.72982C38.7072 9.5136 38.6365 9.30721 38.4752 9.14996C38.4045 9.14014 38.3138 9.14014 38.2532 9.11065" fill="white"></path>
2227<path d="M45.1934 30.4078C46.5552 30.4078 47.2008 30.9975 47.8363 32.0982L54.9782 44.9337L62.1201 32.0982C62.7456 30.9975 63.4012 30.4078 64.7631 30.4078L54.9782 48.0001L45.2034 30.4078H45.1934ZM47.8262 30.4078H49.5108L54.9681 40.2064L60.4254 30.4078H62.11L54.9681 43.2924L47.8262 30.4078Z" fill="white"></path>
2228<path d="M63.946 38.9777C63.946 34.0538 68.0416 30.0636 73.0954 30.0636C78.1492 30.0636 82.2447 34.0538 82.2447 38.9777C82.2447 43.9015 78.1492 47.8917 73.0954 47.8917C68.0416 47.8917 63.946 43.9015 63.946 38.9777ZM80.8425 38.9777C80.8425 34.8105 77.3725 31.4297 73.0954 31.4297C68.8183 31.4297 65.3482 34.8105 65.3482 38.9777C65.3482 43.1448 68.8183 46.5256 73.0954 46.5256C77.3725 46.5256 80.8425 43.1448 80.8425 38.9777ZM66.2561 38.9777C66.2561 35.2823 69.3025 32.3142 73.0954 32.3142C76.8883 32.3142 79.9347 35.2823 79.9347 38.9777C79.9347 42.673 76.8883 45.6411 73.0954 45.6411C69.3025 45.6411 66.2561 42.673 66.2561 38.9777ZM78.5325 38.9777C78.5325 36.0587 76.0914 33.6901 73.1055 33.6901C70.1196 33.6901 67.6784 36.0685 67.6784 38.9777C67.6784 41.8868 70.1196 44.2652 73.1055 44.2652C76.0914 44.2652 78.5325 41.8868 78.5325 38.9777Z" fill="white"></path>
2229<path d="M88.2969 47.5476V40.491L82.5874 30.3976C83.8988 30.3976 84.6251 31.0069 85.1496 31.9406L89.6991 40.0291V47.5476H88.2868H88.2969ZM85.2202 30.4074H86.9048L90.153 36.2355L93.4012 30.4074H95.0858L90.1631 39.2036L85.2303 30.4074H85.2202ZM90.6069 40.0291L95.1564 31.9406C95.6809 31.0069 96.4173 30.3976 97.7186 30.3976L92.0091 40.491V47.5476H90.5968V40.0291H90.6069Z" fill="white"></path>
2230<path d="M106.273 29.9656L116.057 47.5579C114.696 47.5579 114.05 46.9683 113.415 45.8675L106.273 33.032L99.1307 45.8675C98.5053 46.9683 97.8496 47.5579 96.4878 47.5579L106.273 29.9656ZM106.273 34.6635L113.415 47.5481H111.73L106.273 37.7495L100.815 47.5481H99.1307L106.273 34.6635Z" fill="white"></path>
2231<path d="M134.014 37.219V44.3443C132.329 46.4967 129.686 47.8923 126.7 47.8923C121.647 47.8923 117.551 43.9021 117.551 38.9782C117.551 34.0543 121.647 30.0641 126.7 30.0641C128.385 30.0641 129.969 30.5064 131.331 31.2926C130.907 31.9806 130.302 32.2263 129.273 31.8528C128.466 31.558 127.638 31.44 126.71 31.44C122.433 31.44 118.963 34.8209 118.963 38.988C118.963 43.1551 122.433 46.536 126.71 46.536C129.02 46.536 131.159 45.5827 132.591 43.9119V38.5949H127.235L128.012 37.219H134.024H134.014ZM121.263 38.9782C121.263 41.8972 123.704 44.2657 126.69 44.2657C127.971 44.2657 129.152 43.8235 130.08 43.1158V40.8357H125.954L126.731 39.4598H131.663V43.5286C130.231 44.9242 128.718 45.6318 126.68 45.6318C122.887 45.6318 119.841 42.6637 119.841 38.9684C119.841 35.273 122.887 32.3049 126.68 32.3049C127.992 32.3049 129.142 32.6489 130.201 33.2583L129.525 34.4573C128.698 33.9659 127.719 33.671 126.68 33.671C123.684 33.671 121.253 36.0494 121.253 38.9586L121.263 38.9782Z" fill="white"></path>
2232<path d="M138.179 30.4078H149.094C149.094 31.3414 148.266 31.7837 147.157 31.7837
2232H139.591V46.1917H147.157C148.539 46.1917 149.094 46.8502 149.094 47.5676H138.179V30.4176V30.4078ZM140.489 32.6584H149.084V34.0343H141.891V37.1695H147.601L146.824 38.5454H140.489V32.6682V32.6584ZM141.901 43.9312H149.094V45.3072H140.499V39.43H146.36L145.603 40.8059H141.911V43.9411L141.901 43.9312Z" fill="white"></path>
2233<path d="M164.568 42.7227C164.568 45.7399 161.602 47.8923 158.505 47.8923C155.913 47.8923 153.956 46.8898 152.322 45.4648C152.725 44.8063 153.603 44.7571 154.379 45.2682C155.56 46.0544 156.871 46.5164 158.606 46.5164C160.966 46.5164 163.155 44.8751 163.155 42.6932C163.155 40.2165 161.118 39.3124 158.929 38.4573C157.093 37.7497 155.439 36.8946 155.439 35.1256C155.439 33.5826 156.8 32.2558 158.606 32.2558C159.736 32.2558 160.815 32.6489 161.975 33.4843L161.299 34.6637C160.291 33.8578 159.413 33.6317 158.606 33.6317C157.597 33.6317 156.851 34.1723 156.851 35.0568C156.851 35.843 157.607 36.4524 159.514 37.2386C161.773 38.1723 164.568 39.2239 164.568 42.7227ZM153.129 35.2337C153.129 32.3639 155.539 30.0641 158.556 30.0641C160.139 30.0641 161.773 30.526 163.055 31.6071C162.681 32.3148 162.076 32.4425 161.047 31.9708C160.472 31.7054 159.685 31.4302 158.606 31.4302C156.215 31.4302 154.531 33.1207 154.531 35.1551C154.531 37.4549 156.568 38.4573 158.656 39.273C160.644 40.0298 162.248 40.8161 162.248 42.7031C162.248 44.3444 160.563 45.6417 158.606 45.6417C156.649 45.6417 154.763 44.6589 153.482 43.4402L154.137 42.2411C155.116 43.2731 156.982 44.2756 158.586 44.2756C159.948 44.2756 160.845 43.6859 160.845 42.7325C160.845 41.848 159.988 41.3861 157.95 40.5507C155.862 39.6957 153.118 38.5654 153.118 35.2337H153.129Z" fill="white"></path>
2234</svg></div><div class="heading-style-h4-new">One senior analyst replaced 15 spreadsheets with one app</div><p class="cta-boxt_text">At Virgin Voyages, non-technical teams now build their own AI apps, with IT governance fully intact. The result: 15+ production apps, seven departments onboard, and zero dedicated frontend engineers.</p><div class="button_wrap is-blue"><div aria-hidden="true">Read the case study</div><a aria-label="Read the case study" href="https://www.superblocks.com/customers/virgin-voyages" class="clickable w-inline-block"></a><div class="btn_bg"></div></div><div class="hide w-embed"><style>
2235  .cta-box {
2236    background-color: #0d0d0d;
2237    background-image: radial-gradient(ellipse at 60% 50%, rgba(255, 255, 255, 0.07) 0%, transparent 70%), radial-gradient(circle, #333 1px, transparent 1px);
2238    background-size:
2239      auto,
2240      20px 20px;
2241  }
2242</style></div></div><div fs-inject-instance="case-matthews" fs-inject-element="element" class="cta-box"><div class="cta-box_logo w-embed"><svg width="100%" height="100%" viewBox="0 0 186 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2243<g>
2244<g clip-path="url(#clip0_5348_3269)">
2245<path d="M161.401 21.682C157.32 21.682 155.294 19.6823 155.024 16.0885C154.997 15.548 155.321 15.2508 155.834 15.2508H159.05C159.537 15.2508 159.753 15.521 159.887 16.0344C160.077 16.764 160.563 17.0883 161.401 17.0883H166.833C168.021 17.0883 168.534 16.764 168.534 15.7912C168.534 14.7914 168.103 14.4672 166.994 14.3861L160.887 13.9267C156.753 13.6025 155.131 12.0622 155.131 8.46836C155.131 4.7934 156.97 2.60464 161.536 2.60464H166.616C170.696 2.60464 172.723 4.60426 172.993 8.19814C173.02 8.73857 172.696 9.03581 172.183 9.03581H168.967C168.48 9.03581 168.264 8.7656 168.129 8.25218C167.94 7.5226 167.454 7.19834 166.616 7.19834H161.59C160.401 7.19834 159.887 7.5226 159.887 8.49537C159.887 9.46816 160.32 9.79241 161.429 9.87348L167.534 10.3329C171.641 10.6301 173.29 12.2514 173.29 15.8183C173.29 19.4932 171.453 21.682 166.886 21.682H161.401Z" fill="white"></path>
2246<path d="M131.57 21.682C131.111 21.682 130.787 21.4657 130.651 21.0064L124.923 3.52338C124.734 2.98295 125.004 2.60464 125.598 2.60464H129.003C129.463 2.60464 129.76 2.7938 129.895 3.28019L133.3 15.4129L136.407 3.30721C136.515 2.84784 136.839 2.60464 137.326 2.60464H140.676C141.163 2.60464 141.487 2.84784 141.595 3.30721L144.703 15.4129L148.107 3.28019C148.243 2.7938 148.54 2.60464 148.999 2.60464H152.404C152.999 2.60464 153.269 2.98295 153.079 3.52338L147.35 21.0064C147.216 21.4657 146.891 21.682 146.431 21.682H142.946C142.46 21.682 142.136 21.4387 142.027 20.9794L139.001 9.30603L135.975 20.9794C135.867 21.4387 135.542 21.682 135.056 21.682H131.57Z" fill="white"></path>
2247<path d="M107.895 21.682C107.381 21.682 107.084 21.3847 107.084 20.8713V3.4153C107.084 2.90188 107.381 2.60464 107.895 2.60464H122.405C122.919 2.60464 123.216 2.90188 123.216 3.4153V6.38768C123.216 6.9011 122.919 7.19834 122.405 7.19834H111.867V10.0086H118.271C118.784 10.0086 119.082 10.3058 119.082 10.8192V13.3593C119.082 13.8727 118.784 14.1699 118.271 14.1699H111.867V17.0883H122.405C122.919 17.0883 123.216 17.3856 123.216 17.8989V20.8713C123.216 21.3847 122.919 21.682 122.405 21.682H107.895Z" fill="white"></path>
2248<path d="M85.8163 21.682C85.3029 21.682 85.0056 21.3847 85.0056 20.8713V3.4153C85.0056 2.90188 85.3029 2.60464 85.8163 2.60464H89.0047C89.5182 2.60464 89.8154 2.90188 89.8154 3.4153V10.1437H98.192V3.4153C98.192 2.90188 98.4893 2.60464 99.0026 2.60464H102.191C102.705 2.60464 103.002 2.90188 103.002 3.4153V20.8713C103.002 21.3847 102.705 21.682 102.191 21.682H99.0026C98.4893 21.682 98.192 21.3847 98.192 20.8713V14.305H89.8154V20.8713C89.8154 21.3847 89.5182 21.682 89.0047 21.682H85.8163Z" fill="white"></path>
2249<path d="M72.1619 21.682C71.6485 21.682 71.3512 21.3847 71.3512 20.8713V7.22536H66.1902C65.6767 7.22536 65.3795 6.92811 65.3795 6.4147V3.4153C65.3795 2.90188 65.6767 2.60464 66.1902 2.60464H81.3492C81.8625 2.60464 82.1597 2.90188 82.1597 3.4153V6.4147C82.1597 6.92811 81.8625 7.22536 81.3492 7.22536H76.188V20.8713C76.188 21.3847 75.8907 21.682 75.3775 21.682H72.1619Z" fill="white"></path>
2250<path d="M53.3868 21.682C52.8734 21.682 52.5762 21.3847 52.5762 20.8713V7.22536H47.4151C46.9017 7.22536 46.6044 6.92811 46.6044 6.4147V3.4153C46.6044 2.90188 46.9017 2.60464 47.4151 2.60464H62.5741C63.0875 2.60464 63.3847 2.90188 63.3847 3.4153V6.4147C63.3847 6.92811 63.0875 7.22536 62.5741 7.22536H57.4129V20.8713C57.4129 21.3847 57.1158 21.682 56.6024 21.682H53.3868Z" fill="white"></path>
2251<path d="M43.088 21.682C42.6286 21.682 42.3044 21.4657 42.1423 21.0604L41.1694 18.7096H31.9012L30.9284 21.0604C30.7663 21.4657 30.442 21.682 29.9826 21.682H26.3617C25.7403 21.682 25.4972 21.3037 25.7403 20.7362L33.7116 3.22614C33.9007 2.7938 34.198 2.60464 34.6573 2.60464H38.4133C38.8727 2.60464 39.1699 2.7938 39.359 3.22614L47.3303 20.7362C47.5736 21.3037 47.3303 21.682 46.7089 21.682H43.088ZM33.5224 14.8185H39.5753L36.5489 7.5226L33.5224 14.8185Z" fill="white"></path>
2252<path d="M0.810701 21.682C0.297295 21.682 6.10352e-05 21.3847 6.10352e-05 20.8713V3.4153C6.10352e-05 2.90188 0.297295 2.60464 0.810701 2.60464H4.67476C5.1071 2.60464 5.43135 2.76677 5.64752 3.14508L11.4841 12.954L17.2938 3.14508C17.5099 2.76677 17.8342 2.60464 18.2665 2.60464H22.1305C22.6439 2.60464 22.9412 2.90188 22.9412 3.4153V20.8713C22.9412 21.3847 22.6439 21.682 22.1305 21.682H18.9691C18.4556 21.682 18.1583 21.3847 18.1583 20.8713V10.1977L13.3756 18.1152C13.1595 18.4934 12.8352 18.6556 12.4029 18.6556H10.5114C10.079 18.6556 9.75478 18.4934 9.5386 18.1152L4.78285 10.2788V20.8713C4.78285 21.3847 4.4856 21.682 3.9722 21.682H0.810701Z" fill="white"></path>
2253<path d="M181.086 7.03275C180.989 7.03275 180.932 6.97652 180.932 6.87937V3.57689C180.932 3.47976 180.989 3.42352 181.086 3.42352H181.816C181.899 3.42352 181.96 3.4542 182 3.52577L183.104 5.3815L184.204 3.52577C184.244 3.4542 184.306 3.42352 184.387 3.42352H185.119C185.216 3.42352 185.272 3.47976 185.272 3.57689V6.87937C185.272 6.97652 185.216 7.03275 185.119 7.03275H184.52C184.423 7.03275 184.367 6.97652 184.367 6.87937V4.86006L183.463 6.35793C183.422 6.4295 183.36 6.46017 183.279 6.46017H182.92C182.839 6.46017 182.777 6.4295 182.737 6.35793L181.837 4.87539V6.87937C181.837 6.97652 181.78 7.03275 181.683 7.03275H181.086Z" fill="white"></path>
2254<path d="M178.504 7.03275C178.407 7.03275 178.351 6.97652 178.351 6.87937V4.29772H177.374C177.277 4.29772 177.221 4.24147 177.221 4.14435V3.57689C177.221 3.47976 177.277 3.42352 177.374 3.42352H180.243C180.34 3.42352 180.396 3.47976 180.396 3.57689V4.14435C180.396 4.24147 180.34 4.29772 180.243 4.29772H179.266V6.87937C179.266 6.97652 179.21 7.03275 179.113 7.03275H178.504Z" fill="white"></path>
2255</g>
2256</g>
2257<defs>
2258<clipPath id="clip0_5348_3269">
2259<rect width="185.714" height="20" fill="white" transform="translate(0 2.14285)"></rect>
2260</clipPath>
2261</defs>
2262</svg></div><div class="heading-style-h4-new">A 3-5 day process, now done in 12 hours</div><p class="cta-boxt_text">At Matthews, a marketing manager with zero coding background built an app that auto-generates offering memorandums, cutting turnaround from days to hours. See how the brokerage is putting AI builders on every team, with full governance intact.</p><div class="button_wrap is-blue"><div aria-hidden="true">Read the case study</div><a aria-label="Read the case study" href="https://www.superblocks.com/customers/matthews" class="clickable w-inline-block"></a><div class="btn_bg"></div></div><div class="hide w-embed"><style>
2263  .cta-box {
2264    background-color: #0d0d0d;
2265    background-image: radial-gradient(ellipse at 60% 50%, rgba(255, 255, 255, 0.07) 0%, transparent 70%), radial-gradient(circle, #333 1px, transparent 1px);
2266    background-size:
2267      auto,
2268      20px 20px;
2269  }
2270</style></div></div></div><div class="blog_detail-box"><div class="blog-detail_form"><div class="blog-detail_form-icon">
2270<img src="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/65bb4f63600f4fcd91d7270c_blog-form_envelope.png" loading="lazy" alt="" class="image"/><img src="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/65bb4f66aa5e8276145ead59_blog-form_envelope-bg.png" loading="lazy" sizes="(max-width: 640px) 100vw, 640px" srcset="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/65bb4f66aa5e8276145ead59_blog-form_envelope-bg-p-500.png 500w, https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/65bb4f66aa5e8276145ead59_blog-form_envelope-bg.png 640w" alt="" class="blog-detail_form-bg"/></div><div class="blog-detail_form-content"><div class="margin-bottom margin-8"><h2 class="heading-style-h3">Stay tuned for updates</h2></div><div class="text-color-neutral800"><p class="text-size-medium">Get the latest Superblocks news and internal tooling market insights.</p></div><div class="margin-top margin-28"><div><div id="hs-form" class="blog-detail_form-hs"></div><div class="blog-detail_form-success"><div class="icon-embed-xsmall w-embed"><svg width="100%" height="100%" viewBox="0 0 21 22" fill="none" xmlns="http://www.w3.org/2000/svg">
2271  <rect y="0.5" width="21" height="21" rx="10.5" fill="#0099FF" fill-opacity="0.14"/>
2272  <path d="M7 11.75L10 15.25L14 6.75" stroke="#0099FF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2273</svg></div><div class="text-size-sregular">You&#x27;ve successfully signed up</div></div><div class="embed w-embed w-script">
2273<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2.js"></script>
2273
2274<!-- HS Form -->
2275<script data-hubspot-rendered="true">
2276  window.addEventListener('DOMContentLoaded', function () {
2277    jQuery(function () {
2278      hbspt.forms.create({
2279        region: "na1",
2280        portalId: "21976886",
2281        formId: "dd679d4f-c965-490e-be9e-a3fd6c0c2cc6",
2282        target: "#hs-form",
2283        onFormReady: function(){
2284        },
2285        onFormSubmit: function($form){
2286          $(".blog-detail_form-hs").hide();
2287          $(".blog-detail_form-success").css("display","flex");
2288        },
2289        onFormSubmitted: function($form){
2290        },
2291      });
2292    });
2293  });
2294</script>
2294</div></div></div></div></div><div class="clark_hero-form shadow-strong w-condition-invisible"><div class="form-box-1"><div class="form-box_inner"><div class="margin-bottom margin-32"><div><div class="margin-bottom margin-4"><p class="heading-style-h3">Request early access</p></div><div class="text-color-neutral500"><p class="text-size-medium">Step 1 of 2</p></div></div></div><div class="download_form-box w-embed w-script">
2294<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2.js"></script>
vendor: 1 bytes, line 2294
2294
2295<script data-hubspot-rendered="true">
2296  hbspt.forms.create({
2297    region: "na1",
2298    portalId: "21976886",
2299    formId: "043166e7-6e4f-4dd4-810f-f32697976fc8",
2300    onFormReady: function(form) {
2301      let $form = form
2302      $(document).ready(function(){
2303        $('select').niceSelect();
2304        $('.nice-select li').on('click', function() {
2305          $(this).closest('.nice-select').find('.current').css("color", "var(--color--neutral--900)")
2306        });
2307      });
2308    },
2309    onFormSubmitted: function() {
2310      $(".form-box-1").hide()
2311      $(".form-box-2").fadeIn();
2312    }
2313  });
2314</script>
2314</div></div></div><div class="form-box-2"><div class="margin-bottom margin-32"><div><div class="margin-bottom margin-4"><p class="heading-style-h3">Request early access</p></div><div class="text-color-neutral500"><p class="text-size-medium">Step 2 of 2</p></div></div></div><div class="download_form-box w-embed w-script">
2314<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2.js"></script>
vendor: 1 bytes, line 2314
2314
2315<script data-hubspot-rendered="true">
2316  hbspt.forms.create({
2317    region: "na1",
2318    portalId: "21976886",
2319    formId: "e738cf56-914f-4486-8f6d-a1127461d755",
2320    onFormReady: function(form) {
2321
2322      let $form = form
2323
2324      $(document).ready(function(){
2325        $('select').niceSelect();
2326        $('.nice-select li').on('click', function() {
2327          $(this).closest('.nice-select').find('.current').css("color", "var(--color--neutral--900)")
2328        });
2329      });
2330
2331    },
2332    onFormSubmitted: function() {
2333      $(".form-box-2").hide()
2334      $(".form-box-3").fadeIn();
2335    }
2336  });
2337</script>
2337</div></div><div class="form-box-3"><div class="margin-bottom margin-24"><div class="demo_waitlist"><div class="demo_callout"><img src="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/6620f7663db7e9f5dada8655_icon_check-blue_new.png" loading="lazy" alt="" class="icon-embed-xsmall"/><p class="text-size-sregular text-weight-medium">You’ve been added to the waitlist!</p></div></div></div><div class="margin-bottom margin-20"><div><div class="margin-bottom margin-4"><p class="heading-style-h3">Book a demo to skip the waitlist</p></div></div></div><div class="download_form-box w-embed w-script">
2337<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2.js"></script>
vendor: 1 bytes, line 2337
2337
2338<script data-hubspot-rendered="true">
2339  hbspt.forms.create({
2340    region: "na1",
2341    portalId: "21976886",
2342    formId: "8e4b9a06-a883-4d27-a8b3-dde714ec8830",
2343    onFormReady: function(form) {
2344
2345      let $form = form
2346
2347      $(document).ready(function(){
2348        $('select').niceSelect();
2349        $('.nice-select li').on('click', function() {
2350          $(this).closest('.nice-select').find('.current').css("color", "var(--color--neutral--900)")
2351        });
2352      });
2353
2354      $form.find("input[type=submit]").on("click", function(e) {
2355
2356        // Update Labels 
2357        const CONFIG = {
2358          firstname: {
2359            text_message: "Plese fill your name.",
2360          },
2361          email: {
2362            text_message: "Please fill your email.",
2363          },
2364          company: {
2365            text_message: "Please fill your company name.",
2366          },
2367          jobtitle:{
2368            text_message: "Please fill your job title."
2369          },
2370          numemployees:{
2371            text_message: "Please fill your number of employees."
2372          },
2373        };
2374
2375        /* Each Error */
2376        $form.find("input").each(function() {
2377
2378          /* Get Name */
2379          var name = $(this).attr("name"); 
2380
2381          /* Set Config */
2382          const config = CONFIG[name];
2383          var option = $(this).closest('.hs-form-field').find('.hs-error-msgs label');
2384
2385          /* Update Config */
2386          if (config){
2387            $(option).text(config.text_message);
2388          }
2389        });
2390
2391        /* Show Label */
2392        $('.hs-error-msgs').addClass("active");
2393      });
2394
2395
2396    },
2397    onFormSubmitted: function() {
2398      if (window.lintrk){
2399        window.lintrk('track', { conversion_id: 20015164 });
2400      }
2401      $(".form-box-3").hide();
2402      $(".demo_success").fadeIn();
2403    }
2404  });
2405</script>
2405</div></div><div class="demo_success"><div data-wf--form---sucess--variant="base" class="text-align-center"><div class="margin-bottom margin-16"><p class="heading-style-h3">Thank you for your interest!</p></div><div class="text-color-neutral500"><div><p class="text-size-regular">A member of our team will be in touch soon to schedule a demo.</p></div></div><div class="margin-top margin-32"><a href="/blog/announcing-clark-ai" class="button_new is-alternate is-small w-button">Read the Clark blog</a></div></div></div></div><div fs-inject-element="element" fs-inject-instance="quote-1" class="blog-detail_custom"><div class="testimonials_cms-item"><div class="quote_lines w-embed"><svg width="100%" height="100%" viewBox="0 0 34 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2406  <rect width="34" height="12" transform="translate(0 1)" fill="white"/>
2407  <path d="M8 13L14 1" stroke="#E8EAED"/>
2408  <path d="M14 13L20 1" stroke="#E8EAED"/>
2409  <path d="M20 13L26 1" stroke="#E8EAED"/>
2410</svg></div><div class="testimonials_cms-content"><div class="w-layout-vflex text-size-large"><div class="text-rich-inherit w-dyn-bind-empty w-richtext"></div></div></div><div class="testimonials_cms-head"><div class="testimonials_cms-author"><img loading="lazy" src="" alt="" class="testimonials_cms-avatar w-dyn-bind-empty"/><div class="testimonials_cms-author-inner"><div class="text-weight-medium"><div class="text-size-regular w-dyn-bind-empty"></div></div><div class="text-color-neutral500"><div class="text-size-regular truncate-width w-dyn-bind-empty"></div></div></div></div><img loading="lazy" id="w-node-_603e936b-1bf0-1306-4cde-67d58498ec1c-f226a22e" src="" alt="" class="testimonials_cms-logo w-dyn-bind-empty"/></div><div class="quote_lines bottom w-embed"><svg width="100%" height="100%" viewBox="0 0 34 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2411  <rect width="34" height="12" transform="translate(0 1)" fill="white"/>
2412  <path d="M8 13L14 1" stroke="#E8EAED"/>
2413  <path d="M14 13L20 1" stroke="#E8EAED"/>
2414  <path d="M20 13L26 1" stroke="#E8EAED"/>
2415</svg></div></div></div><div fs-inject-element="element" fs-inject-instance="quote-2" class="blog-detail_custom"><div class="testimonials_cms-item"><div class="quote_lines w-embed"><svg width="100%" height="100%" viewBox="0 0 34 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2416  <rect width="34" height="12" transform="translate(0 1)" fill="white"/>
2417  <path d="M8 13L14 1" stroke="#E8EAED"/>
2418  <path d="M14 13L20 1" stroke="#E8EAED"/>
2419  <path d="M20 13L26 1" stroke="#E8EAED"/>
2420</svg></div><div class="testimonials_cms-content"><div class="w-layout-vflex text-size-large"><div class="text-rich-inherit w-dyn-bind-empty w-richtext"></div></div></div><div class="testimonials_cms-head"><div class="testimonials_cms-author"><img loading="lazy" src="" alt="" class="testimonials_cms-avatar w-dyn-bind-empty"/><div class="testimonials_cms-author-inner"><div class="text-weight-medium"><div class="text-size-regular w-dyn-bind-empty"></div></div><div class="text-color-neutral500"><div class="text-size-regular truncate-width w-dyn-bind-empty"></div></div></div></div><img loading="lazy" src="" alt="" class="testimonials_cms-logo w-dyn-bind-empty"/></div><div class="quote_lines bottom w-embed"><svg width="100%" height="100%" viewBox="0 0 34 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2421  <rect width="34" height="12" transform="translate(0 1)" fill="white"/>
2422  <path d="M8 13L14 1" stroke="#E8EAED"/>
2423  <path d="M14 13L20 1" stroke="#E8EAED"/>
2424  <path d="M20 13L26 1" stroke="#E8EAED"/>
2425</svg></div></div></div><div fs-inject-element="element" fs-inject-instance="quote-3" class="blog-detail_custom"><div class="testimonials_cms-item"><div class="quote_lines w-embed"><svg width="100%" height="100%" viewBox="0 0 34 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2426  <rect width="34" height="12" transform="translate(0 1)" fill="white"/>
2427  <path d="M8 13L14 1" stroke="#E8EAED"/>
2428  <path d="M14 13L20 1" stroke="#E8EAED"/>
2429  <path d="M20 13L26 1" stroke="#E8EAED"/>
2430</svg></div><div class="testimonials_cms-content"><div class="w-layout-vflex text-size-large"><div class="text-rich-inherit w-dyn-bind-empty w-richtext"></div></div></div><div class="testimonials_cms-head"><div class="testimonials_cms-author"><img loading="lazy" src="" alt="" class="testimonials_cms-avatar w-dyn-bind-empty"/><div class="testimonials_cms-author-inner"><div class="text-weight-medium"><div class="text-size-regular w-dyn-bind-empty"></div></div><div class="text-color-neutral500"><div class="text-size-regular truncate-width w-dyn-bind-empty"></div></div></div></div><img loading="lazy" src="" alt="" class="testimonials_cms-logo w-dyn-bind-empty"/></div><div class="quote_lines bottom w-embed">
2430<svg width="100%" height="100%" viewBox="0 0 34 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2431  <rect width="34" height="12" transform="translate(0 1)" fill="white"/>
2432  <path d="M8 13L14 1" stroke="#E8EAED"/>
2433  <path d="M14 13L20 1" stroke="#E8EAED"/>
2434  <path d="M20 13L26 1" stroke="#E8EAED"/>
2435</svg></div></div></div><div fs-inject-element="element" fs-inject-instance="quote-4" class="blog-detail_custom text-rich-text"><div class="testimonials_cms-item"><div class="quote_lines w-embed"><svg width="100%" height="100%" viewBox="0 0 34 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2436  <rect width="34" height="12" transform="translate(0 1)" fill="white"/>
2437  <path d="M8 13L14 1" stroke="#E8EAED"/>
2438  <path d="M14 13L20 1" stroke="#E8EAED"/>
2439  <path d="M20 13L26 1" stroke="#E8EAED"/>
2440</svg></div><div class="testimonials_cms-content"><div class="w-layout-vflex text-size-large"><div class="text-rich-inherit w-dyn-bind-empty w-richtext"></div></div></div><div class="testimonials_cms-head"><div class="testimonials_cms-author"><img loading="lazy" src="" alt="" class="testimonials_cms-avatar w-dyn-bind-empty"/><div class="testimonials_cms-author-inner"><div class="text-weight-medium"><div class="text-size-regular w-dyn-bind-empty"></div></div><div class="text-color-neutral500"><div class="text-size-regular truncate-width w-dyn-bind-empty"></div></div></div></div><img loading="lazy" src="" alt="" class="testimonials_cms-logo w-dyn-bind-empty"/></div><div class="quote_lines bottom w-embed"><svg width="100%" height="100%" viewBox="0 0 34 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2441  <rect width="34" height="12" transform="translate(0 1)" fill="white"/>
2442  <path d="M8 13L14 1" stroke="#E8EAED"/>
2443  <path d="M14 13L20 1" stroke="#E8EAED"/>
2444  <path d="M20 13L26 1" stroke="#E8EAED"/>
2445</svg></div></div></div><div class="hide"><div class="blog-detail_stats-wrap"><div class="blog-detail_stats-wrap_inner is-2"><div class="blog-detail_stats-item is-2"><div class="blog-detail_stats-item-icon"><div class="icon-embed-small w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2446<path d="M10 21V8C10 7.73478 9.89464 7.48043 9.70711 7.29289C9.51957 7.10536 9.26522 7 9 7H4C3.73478 7 3.48043 7.10536 3.29289 7.29289C3.10536 7.48043 3 7.73478 3 8V20C3 20.2652 3.10536 20.5196 3.29289 20.7071C3.48043 20.8946 3.73478 21 4 21H16C16.2652 21 16.5196 20.8946 16.7071 20.7071C16.8946 20.5196 17 20.2652 17 20V15C17 14.7348 16.8946 14.4804 16.7071 14.2929C16.5196 14.1054 16.2652 14 16 14H3M15 3H20C20.5523 3 21 3.44772 21 4V9C21 9.55228 20.5523 10 20 10H15C14.4477 10 14 9.55228 14 9V4C14 3.44772 14.4477 3 15 3Z" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2447<g opacity="0.12">
2448<path d="M20 3H15C14.4477 3 14 3.44772 14 4V9C14 9.55228 14.4477 10 15 10H20C20.5523 10 21 9.55228 21 9V4C21 3.44772 20.5523 3 20 3Z" fill="#131416"/>
2449<path d="M10 21V8C10 7.73478 9.89464 7.48043 9.70711 7.29289C9.51957 7.10536 9.26522 7 9 7H4C3.73478 7 3.48043 7.10536 3.29289 7.29289C3.10536 7.48043 3 7.73478 3 8V20C3 20.2652 3.10536 20.5196 3.29289 20.7071C3.48043 20.8946 3.73478 21 4 21H16C16.2652 21 16.5196 20.8946 16.7071 20.7071C16.8946 20.5196 17 20.2652 17 20V15C17 14.7348 16.8946 14.4804 16.7071 14.2929C16.5196 14.1054 16.2652 14 16 14H3" fill="#131416"/>
2450</g>
2451</svg></div></div><div class="blog-detai_stats-item_inner"><div class="heading-style-h5-new">8</div><div class="text-color-neutral500"><p class="text-size-small">production apps built</p></div></div></div><div class="blog-detail_stats-item is-2"><div class="blog-detail_stats-item-icon"><div class="icon-embed-small w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2452<path d="M8 2V6" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2453<path d="M16 2V6" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2454<path d="M19 4H5C3.89543 4 3 4.89543 3 6V20C3 21.1046 3.89543 22 5 22H19C20.1046 22 21 21.1046 21 20V6C21 4.89543 20.1046 4 19 4Z" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2455<path opacity="0.12" d="M21 20.3916V10.2249H3V20.3916C3 21.128 3.89543 21.7249 5 21.7249H19C20.1046 21.7249 21 21.128 21 20.3916Z" fill="#131416"/>
2456<path d="M3 10H21" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2457<path d="M8 14H8.01" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2458<path d="M12 14H12.01" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2459<path d="M16 14H16.01" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2460<path d="M8 18H8.01" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2461<path d="M12 18H12.01" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2462<path d="M16 18H16.01" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2463</svg></div></div><div class="blog-detai_stats-item_inner"><div class="heading-style-h5-new">30</div><div class="text-color-neutral500"><p class="text-size-small">days to build them</p></div></div></div><div class="blog-detail_stats-item is-2"><div class="blog-detail_stats-item-icon"><div class="icon-embed-small w-embed">
2463<svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2464<path d="M16 21V19C16 17.9391 15.5786 16.9217 14.8284 16.1716C14.0783 15.4214 13.0609 15 12 15H6C4.93913 15 3.92172 15.4214 3.17157 16.1716C2.42143 16.9217 2 17.9391 2 19V21M22 21V19C21.9993 18.1137 21.7044 17.2528 21.1614 16.5523C20.6184 15.8519 19.8581 15.3516 19 15.13M16 3.13C16.8604 3.3503 17.623 3.8507 18.1676 4.55231C18.7122 5.25392 19.0078 6.11683 19.0078 7.005C19.0078 7.89317 18.7122 8.75608 18.1676 9.45769C17.623 10.1593 16.8604 10.6597 16 10.88M13 7C13 9.20914 11.2091 11 9 11C6.79086 11 5 9.20914 5 7C5 4.79086 6.79086 3 9 3C11.2091 3 13 4.79086 13 7Z" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2465<g opacity="0.12">
2466<path d="M16 21V19C16 17.9391 15.5786 16.9217 14.8284 16.1716C14.0783 15.4214 13.0609 15 12 15H6C4.93913 15 3.92172 15.4214 3.17157 16.1716C2.42143 16.9217 2 17.9391 2 19V21" fill="#131416"/>
2467<path d="M9 11C11.2091 11 13 9.20914 13 7C13 4.79086 11.2091 3 9 3C6.79086 3 5 4.79086 5 7C5 9.20914 6.79086 11 9 11Z" fill="#131416"/>
2468</g>
2469</svg></div></div><div class="blog-detai_stats-item_inner"><div class="heading-style-h5-new">10</div><div class="text-color-neutral500"><p class="text-size-small">semi-technical builders</p></div></div></div><div class="blog-detail_stats-item is-2"><div class="blog-detail_stats-item-icon"><div class="icon-embed-small w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2470<path d="M18 16L22 12L18 8" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2471<path d="M6 8L2 12L6 16" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2472<path d="M14.5 4L9.5 20" stroke="#131416" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2473</svg></div></div><div class="blog-detai_stats-item_inner"><div class="heading-style-h5-new">0</div><div class="text-color-neutral500"><p class="text-size-small">traditional developers</p></div></div></div></div></div><div class="blog-detail_stats-wrap"><div class="blog-detail_stats-wrap_inner"><div class="blog-detail_stats-item"><div class="heading-style-h4-new">8+</div><div class="text-color-neutral500"><p class="text-size-small">high-impact solutions shipped</p></div></div><div class="blog-detail_stats-item"><div class="heading-style-h4-new">2 days</div><div class="text-color-neutral500"><p class="text-size-small">training to get builders productive</p></div></div><div class="blog-detail_stats-item"><div class="heading-style-h4-new">0</div><div class="text-color-neutral500"><p class="text-size-small">SQL experience required</p></div></div></div></div><div class="blog-detail_cta"><div class="blog-detail_cta-inner"><a href="#" class="button_new is-link is-alternate w-inline-block"><div class="text-size-large text-weight-medium">See full story →</div></a><div class="text-color-neutral700"><p class="text-size-medium">See the full Virgin Voyages customer story, including the apps they built and how their teams use them.</p></div></div><div class="blog-detail_cta_visual"><img src="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/69a9eb2ea7f672c9c96cc2aa_boat.avif" loading="lazy" alt="Large cruise ship sailing in a harbor with a road lined with palm trees and cars in the foreground." class="img-cover"/><div class="blog-detail_cta-overlay"></div></div></div><div fs-inject-element="element" fs-inject-instance="special-quote" class="bricks-quote_wrap is-center is-blog"><div class="bricks-box_dot is-bricks-quote is-1"></div><div class="bricks-box_dot is-bricks-quote is-2"></div><div class="blog-quote-tag"><div class="text-weight-semibold"><div class="text-size-medium">Why not Replit, Lovable, or Base44?</div></div></div><div class="max-width-840"><div class="quote-text w-richtext"><p>&quot;Those tools are great for proof of concept. But they don&#x27;t connect well to existing enterprise data sources, and they don&#x27;t have the governance guardrails that IT requires for production use.&quot;</p></div></div></div></div></div></div><div class="blog-detail_toc"><div class="text-color-neutral300"><div class="blog-detail_toc-head"><p class="text-size-sregular text-weight-medium">Table of Contents</p></div></div><ul role="list" class="blog-detail_toc-list"><li data-h2-toc="" class="blog-detail_toc-list-item"><a href="#" class="blog-detail_toc-list-link w-inline-block"><div fs-toc-element="link">The first heading</div></a><div fs-toc-element="ix-trigger" class="blog-detail_toc-trigger"></div><div class="blog-detail_toc-list-item inner">
2473<a href="#" class="blog-detail_toc-list-link inner w-inline-block"><div fs-toc-element="link">The first heading</div></a></div></li></ul></div></div></div></div></section><section class="section_blog-related"><div class="embed w-embed"><style>
2474  .blog-index_item-authors-item:not(:first-child){
2475    display: none;
2476  }
2477</style></div><div class="padding-global"><div class="padding-section-medium"><div class="container-medium"><div class="blog-related"><div class="blog-related_head"><h2 class="heading-style-h2 text-weight-bold">Explore more</h2><a href="/blog" class="button_new is-link is-icon w-inline-block"><div>All posts</div><div link-arrow="" class="icon-embed-xxsmall w-embed"><svg width="100%" height="100%" viewBox="0 0 16 15" fill="none" xmlns="http://www.w3.org/2000/svg">
2478<path d="M8.65307 14L7.42857 12.7599L11.6803 8.40568H1V6.59432H11.6803L7.42857 2.24705L8.65307 1L15 7.5L8.65307 14Z" fill="currentColor"></path>
2479</svg></div></a></div><div class="blog-component-holder w-condition-invisible"><div class="blog-related_cms-list w-dyn-list"><div role="list" class="blog-related_list w-dyn-items"><div role="listitem" class="blog-index_link w-dyn-item"><div class="blog-index_item-visual"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1bfa2039889d2c9965ec_Superblocks_Thumbnail%20(17)%20(1).png" sizes="100vw" srcset="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1bfa2039889d2c9965ec_Superblocks_Thumbnail%20(17)%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1bfa2039889d2c9965ec_Superblocks_Thumbnail%20(17)%20(1)-p-800.png 800w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1bfa2039889d2c9965ec_Superblocks_Thumbnail%20(17)%20(1)-p-1080.png 1080w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1bfa2039889d2c9965ec_Superblocks_Thumbnail%20(17)%20(1)-p-1600.png 1600w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1bfa2039889d2c9965ec_Superblocks_Thumbnail%20(17)%20(1)-p-2000.png 2000w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1bfa2039889d2c9965ec_Superblocks_Thumbnail%20(17)%20(1)-p-2600.png 2600w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1bfa2039889d2c9965ec_Superblocks_Thumbnail%20(17)%20(1)-p-3200.png 3200w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1bfa2039889d2c9965ec_Superblocks_Thumbnail%20(17)%20(1).png 4940w" class="image absolute"/></div><div class="blog-index_item-content"><div class="margin-bottom margin-12"><div class="blog-index_item-authors"><div class="blog-index_item-author-box"><div class="blog-index_item-author w-dyn-list"><div role="list" class="blog-index_item-authors-list w-dyn-items"><div role="listitem" class="blog-index_item-authors-item w-dyn-item"><img loading="lazy" alt="Superblocks Team" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/65c36a3021d33a44d1848b34_superblocks-logo.svg" class="blog-index_item-authors-img"/></div></div></div><div class="blog-index_item-authors-img counter"><div>+2</div></div></div><div authors-name-box="" class="text-color-neutral700"><p authors-name="" class="text-size-small text-weight-medium">Multiple authors</p></div><div class="blog-index_item-line"></div><div class="text-color-neutral400"><div class="text-size-small">September 30, 2026</div></div></div></div><div class="margin-bottom margin-12"><h3 class="heading-style-h4 text-weight-bold">AI Governance in Finance: The 2026 Compliance Guide</h3></div><div class="text-color-neutral700"><p class="text-size-regular text-style-3lines">AI governance in finance keeps automated decisions auditable for regulators. See what it covers and which rules apply.</p></div></div><a href="/blog/ai-governance-in-finance" class="blog-index_item-link w-inline-block"></a></div><div role="listitem" class="blog-index_link w-dyn-item"><div class="blog-index_item-visual"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1afd67469941e1b64750_Superblocks_Thumbnail%20(16)%20(1).png" sizes="100vw" srcset="https://cdn.prod.website-files.com/627d359d0e0a
2479a25158817bf0/6abd1afd67469941e1b64750_Superblocks_Thumbnail%20(16)%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1afd67469941e1b64750_Superblocks_Thumbnail%20(16)%20(1)-p-800.png 800w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1afd67469941e1b64750_Superblocks_Thumbnail%20(16)%20(1)-p-1080.png 1080w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1afd67469941e1b64750_Superblocks_Thumbnail%20(16)%20(1)-p-1600.png 1600w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1afd67469941e1b64750_Superblocks_Thumbnail%20(16)%20(1)-p-2000.png 2000w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1afd67469941e1b64750_Superblocks_Thumbnail%20(16)%20(1)-p-2600.png 2600w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1afd67469941e1b64750_Superblocks_Thumbnail%20(16)%20(1)-p-3200.png 3200w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd1afd67469941e1b64750_Superblocks_Thumbnail%20(16)%20(1).png 4560w" class="image absolute"/></div><div class="blog-index_item-content"><div class="margin-bottom margin-12"><div class="blog-index_item-authors"><div class="blog-index_item-author-box"><div class="blog-index_item-author w-dyn-list"><div role="list" class="blog-index_item-authors-list w-dyn-items"><div role="listitem" class="blog-index_item-authors-item w-dyn-item"><img loading="lazy" alt="Superblocks Team" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/65c36a3021d33a44d1848b34_superblocks-logo.svg" class="blog-index_item-authors-img"/></div></div></div><div class="blog-index_item-authors-img counter"><div>+2</div></div></div><div authors-name-box="" class="text-color-neutral700"><p authors-name="" class="text-size-small text-weight-medium">Multiple authors</p></div><div class="blog-index_item-line"></div><div class="text-color-neutral400"><div class="text-size-small">September 30, 2026</div></div></div></div><div class="margin-bottom margin-12"><h3 class="heading-style-h4 text-weight-bold">AI Governance and Regulation: The 2026 Rules Explained</h3></div><div class="text-color-neutral700"><p class="text-size-regular text-style-3lines">AI governance and regulation decide whether your AI ships or stalls in audit. See what each means, the rules that bind you in 2026, and how to comply.</p></div></div><a href="/blog/ai-governance-and-regulation" class="blog-index_item-link w-inline-block"></a></div><div role="listitem" class="blog-index_link w-dyn-item"><div class="blog-index_item-visual"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd19369757616117b15c35_Superblocks_Thumbnail%20(15)%20(1).png" sizes="100vw" srcset="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd19369757616117b15c35_Superblocks_Thumbnail%20(15)%20(1)-p-500.png 500w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd19369757616117b15c35_Superblocks_Thumbnail%20(15)%20(1)-p-800.png 800w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd19369757616117b15c35_Superblocks_Thumbnail%20(15)%20(1)-p-1080.png 1080w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd19369757616117b15c35_Superblocks_Thumbnail%20(15)%20(1)-p-1600.png 1600w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd19369757616117b15c35_Superblocks_Thumbnail%20(15)%20(1)-p-2000.png 2000w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd19369757616117b15c35_Superblocks_Thumbnail%20(15)%20(1)-p-2600.png 2600w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd19369757616117b15c35_Superblocks_Thumbnail%20(15)%20(1)-p-3200.png 3200w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6abd19369757616117b15c35_Superblocks_Thumbnail%20(15)%20(1).png 4560w" class="image absolute"/></div><div class="blog-index_item-content"><div class="margin-bottom margin-12"><div class="blog-index_item-authors"><div class="blog-index_item-author-box"><div class="blog-index_item-author w-dyn-list"><div role="list" class="blog-index_item-authors-list w-dyn-items"><div role="listitem" class="blog-index_item-authors-item w-dyn-item"><img loading="lazy" alt="Superblocks Team" src="https://cdn.prod.website-files.com/627d359d0e0a
2479a25158817bf0/65c36a3021d33a44d1848b34_superblocks-logo.svg" class="blog-index_item-authors-img"/></div></div></div><div class="blog-index_item-authors-img counter"><div>+2</div></div></div><div authors-name-box="" class="text-color-neutral700"><p authors-name="" class="text-size-small text-weight-medium">Multiple authors</p></div><div class="blog-index_item-line"></div><div class="text-color-neutral400"><div class="text-size-small">September 30, 2026</div></div></div></div><div class="margin-bottom margin-12"><h3 class="heading-style-h4 text-weight-bold">Generative AI Governance: The 2026 Framework Guide</h3></div><div class="text-color-neutral700"><p class="text-size-regular text-style-3lines">Generative AI governance decides who can use which models, what data they touch, and who answers when something breaks. Learn the frameworks and how to apply them.</p></div></div><a href="/blog/generative-ai-governance" class="blog-index_item-link w-inline-block"></a></div></div></div></div><div class="blog-component-holder"><div class="blog-related_cms-list w-dyn-list"><div role="list" class="blog-related_list w-dyn-items"><div role="listitem" class="blog-index_link w-dyn-item"><div class="blog-index_item-visual"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a2ac6472e7459b12899c857_image.avif" sizes="100vw" srcset="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a2ac6472e7459b12899c857_image-p-500.avif 500w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a2ac6472e7459b12899c857_image-p-800.avif 800w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a2ac6472e7459b12899c857_image-p-1080.avif 1080w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a2ac6472e7459b12899c857_image.avif 2280w" class="image absolute"/></div><div class="blog-index_item-content"><div class="margin-bottom margin-12"><div class="blog-index_item-authors"><div class="blog-index_item-author-box"><div class="blog-index_item-author w-dyn-list"><div role="list" class="blog-index_item-authors-list w-dyn-items"><div role="listitem" class="blog-index_item-authors-item w-dyn-item"><img loading="lazy" alt="Brad Menezes, Co-Founder &amp; CEO" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/62f083ba9147fe84ef691ee3_linkedin.avif" class="blog-index_item-authors-img"/></div></div></div><div class="blog-index_item-authors-img counter"><div>+2</div></div></div><div authors-name-box="" class="text-color-neutral700"><p authors-name="" class="text-size-small text-weight-medium">Multiple authors</p></div><div class="blog-index_item-line"></div><div class="text-color-neutral400"><div class="text-size-small">June 10, 2026</div></div></div></div><div class="margin-bottom margin-12"><h3 class="heading-style-h4 text-weight-bold">Introducing AI Spend Management: Controls for Enterprise Vibe Coding</h3></div><div class="text-color-neutral700"><p class="text-size-regular text-style-3lines">Recently, Uber&#x27;s COO revealed they burned through their entire 2026 AI budget in four months, on Claude Code alone.</p></div></div><a href="/blog/introducing-ai-spend-management-controls" class="blog-index_item-link w-inline-block"></a></div><div role="listitem" class="blog-index_link w-dyn-item"><div class="blog-index_item-visual"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a1700667607ff99c4665603_image.avif" sizes="100vw" srcset="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a1700667607ff99c4665603_image-p-500.avif 500w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a1700667607ff99c4665603_image-p-800.avif 800w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a1700667607ff99c4665603_image.avif 1800w" class="image absolute"/></div><div class="blog-index_item-content"><div class="margin-bottom margin-12"><div class="blog-index_item-authors"><div class="blog-index_item-author-box"><div class="blog-index_item-author w-dyn-list"><div role="list" class="blog-index_item-authors-list w-dyn-items"><div role="listitem" class="blog-index_item-authors-item w-dyn-item"><img loading="lazy" alt="Jesse Shatsky" src="https://cdn.prod.website-files.com/627d359d0e0a
2479a25158817bf0/64ee214408552c47a657e039_Jesse_Headshot.avif" sizes="100vw" srcset="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/64ee214408552c47a657e039_Jesse_Headshot-p-500.avif 500w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/64ee214408552c47a657e039_Jesse_Headshot.avif 512w" class="blog-index_item-authors-img"/></div></div></div><div class="blog-index_item-authors-img counter"><div>+2</div></div></div><div authors-name-box="" class="text-color-neutral700"><p authors-name="" class="text-size-small text-weight-medium">Multiple authors</p></div><div class="blog-index_item-line"></div><div class="text-color-neutral400"><div class="text-size-small">May 27, 2026</div></div></div></div><div class="margin-bottom margin-12"><h3 class="heading-style-h4 text-weight-bold">Introducing App Imports: From Claude, Replit and Lovable into Superblocks</h3></div><div class="text-color-neutral700"><p class="text-size-regular text-style-3lines">Claude for Business is now the #1 most popular AI software product for business users, but there&#x27;s a gap.</p></div></div><a href="/blog/introducing-app-imports-from-claude-replit-and-lovable-into-superblocks" class="blog-index_item-link w-inline-block"></a></div><div role="listitem" class="blog-index_link w-dyn-item"><div class="blog-index_item-visual"><img alt="" loading="lazy" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a1ed09a6455af0d4571807e_image-2.avif" sizes="100vw" srcset="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a1ed09a6455af0d4571807e_image-2-p-500.avif 500w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a1ed09a6455af0d4571807e_image-2-p-800.avif 800w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/6a1ed09a6455af0d4571807e_image-2.avif 1800w" class="image absolute"/></div><div class="blog-index_item-content"><div class="margin-bottom margin-12"><div class="blog-index_item-authors"><div class="blog-index_item-author-box"><div class="blog-index_item-author w-dyn-list"><div role="list" class="blog-index_item-authors-list w-dyn-items"><div role="listitem" class="blog-index_item-authors-item w-dyn-item"><img loading="lazy" alt="Jesse Shatsky" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/64ee214408552c47a657e039_Jesse_Headshot.avif" sizes="100vw" srcset="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/64ee214408552c47a657e039_Jesse_Headshot-p-500.avif 500w, https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/64ee214408552c47a657e039_Jesse_Headshot.avif 512w" class="blog-index_item-authors-img"/></div></div></div><div class="blog-index_item-authors-img counter"><div>+2</div></div></div><div authors-name-box="" class="text-color-neutral700"><p authors-name="" class="text-size-small text-weight-medium">Multiple authors</p></div><div class="blog-index_item-line"></div><div class="text-color-neutral400"><div class="text-size-small">June 1, 2026</div></div></div></div><div class="margin-bottom margin-12"><h3 class="heading-style-h4 text-weight-bold">Introducing App Database on AWS: Your VPC, Your Rules</h3></div><div class="text-color-neutral700"><p class="text-size-regular text-style-3lines">Employees are bringing in consumer AI app builders into the enterprise without IT approval.</p></div></div><a href="/blog/introducing-app-database-on-aws" class="blog-index_item-link w-inline-block"></a></div></div></div></div></div></div></div></div></section><div class="table-embed w-embed"><style>
2480  /* General */
2481
2482  .table-wrapper{
2483    width: 100%;
2484    border-radius: 0.8rem;
2485    border: 1px solid #E8EAED;
2486    overflow: hidden;
2487    margin: 2.5rem 0;
2488  }
2489  table {
2490    font-size: 1.4rem;
2491    line-height: 1.3;
2492    color: #0E141B;
2493    background-color: #FFFFFF;
2494    width: 100%;
2495    text-align: left;
2496    justify-content: flex-start;
2497
2498  }
2499
2500  .table-wrapper ul {
2501    margin: 0; /* Optional: Remove default margin */
2502    list-style-type: disc; /* Optional: Ensure there's a bullet point */
2503  }
2504
2505  .table-wrapper li {
2506    font-size: 1.4rem; /* Set font size for list items */
2507    margin-bottom: 4px; /* Optional: Space between list items */
2508  }
2509
2510  .table-wrapper li::marker{
2511    color: #000000;
2512  }
2513
2514  /* Border */
2515  table, thead, td, th {
2516    border: none; /* Remove all borders */
2517    padding: 1.4rem 1.6rem;
2518  }
2519
2520  tr:not(:last-child) td {
2521    border-bottom: 1px solid #E8EAED; /* Add bottom borders to all rows except the last */
2522  }
2523
2524  /* Head */
2525  thead{
2526    border-bottom: 1px solid #E0E0E0; /* Optional: Keep a border for the header */
2527    background: #F9FAFB;
2528  }
2529  th{
2530    font-weight: 500;
2531  }
2532  /* Body */
2533  tbody td:first-child{
2534    width: auto;
2535  }
2536
2537  td {
2538    vertical-align: top; /* Align content to the top */
2539  }
2540
2541  /* Responsive */
2542  @media only screen and (max-width: 768px){
2543    .table-wrapper{
2544      width: 100vw;
2545      overflow: auto;
2546      margin-left: -5vw;
2547      border-radius: 0rem;
2548    }
2549    table{
2550      min-width: max-content;
2551    }
2552  }
2553</style></div></main><footer data-wf--footer--variant="base" class="section_footer"><div class="padding-global"><div class="container-medium"><div class="footer_wrap"><div class="promt_wrap"><div class="promt_header">
2553<img src="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/69b1402c09328a1716918b3e_superblock-circle_logo.png" loading="lazy" alt="" class="promt_header-logo"/><h2 class="heading-style-h5-new">What do you want to build today?</h2></div><div class="hp_hero-chatbox"><div class="hp_hero-chatbox-top"><div id="promt-form" class="hp_hero-chatbox-form_block w-form"><form id="wf-form-chatbot-form" name="wf-form-chatbot-form" data-name="chatbot-form" redirect="http://app.superblocks.com/signup" data-redirect="http://app.superblocks.com/signup" method="get" class="hp_hero-chatbox-form" data-wf-page-id="63bdc699a5c6ce24f226a22e" data-wf-element-id="e557dfd0-5491-cb58-b5f2-0b0b38c881fe"><textarea id="hp_promt-input" name="field" maxlength="5000" data-name="Field" placeholder="Search and create a table of customers from @Snowflake and their tickets from @Zendesk" class="hp_hero-chatbox-input w-input"></textarea><input type="submit" data-wait="Please wait..." class="hp_hero-chatbox-hide-button w-button" value="Submit"/></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div></div><div class="hp_hero-chatbox-bottom"><div class="hp_hero-chatbox_plus-button"><div class="icon-embed-xsmall w-embed"><svg width="100%" height="100%" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2554<path d="M3.125 10H16.875M10 3.125V16.875" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
2555</svg></div></div><a href="#" class="hp_hero-chatbox_button w-inline-block"><div class="z-index-2"><div class="icon-embed-xsmall w-embed"><svg width="100%" height="100%" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2556<g clip-path="url(#clip0_4291_1441)">
2557<path d="M6.2 9.375C5.7637 9.375 5.54555 9.375 5.35175 9.30986C5.18033 9.25224 5.02345 9.15812 4.89195 9.03398C4.74327 8.89363 4.64061 8.70115 4.43529 8.31618L2.95243 5.53581C2.0583 3.85932 1.61124 3.02107 1.74262 2.54141C1.8562 2.12678 2.17488 1.79961 2.58638 1.67516C3.06241 1.5312 3.91213 1.95607 5.61157 2.80579L16.4223 8.21115C17.5738 8.7869 18.1496 9.07478 18.3343 9.46434C18.4951 9.80335 18.4951 10.1966 18.3343 10.5357C18.1496 10.9252 17.5738 11.2131 16.4223 11.7889L5.61157 17.1942C3.91213 18.0439 3.06241 18.4688 2.58638 18.3248C2.17488 18.2004 1.8562 17.8732 1.74262 17.4586C1.61124 16.9789 2.0583 16.1407 2.95243 14.4642L4.43529 11.6838C4.64061 11.2989 4.74327 11.1064 4.89195 10.966C5.02345 10.8419 5.18033 10.7478 5.35175 10.6901C5.54555 10.625 5.7637 10.625 6.2 10.625H9.375C9.72018 10.625 10 10.3452 10 10C10 9.65482 9.72018 9.375 9.375 9.375H6.2Z" fill="currentColor"></path>
2558</g>
2559<defs>
2560<clipPath id="clip0_4291_1441">
2561<rect width="20" height="20" fill="currentColor"></rect>
2562</clipPath>
2563</defs>
2564</svg></div></div><div class="hp_hero-chatbox_bg"></div></a></div></div></div><div class="footer-cta_wrap"><div class="footer-cta_wrap-inner"><div class="footer-cta_header"><div class="footer-cta_header-inner"><div class="max-width-420"><div class="heading-style-h4-new text-weight-semibold">Unlock Secure Enterprise Vibe Coding Now</div></div></div><div class="footer-button_group"><div class="button_wrap is-secondary"><div aria-hidden="true">Talk to Sales</div><a aria-label="Talk to Sales" href="/book-a-demo" class="clickable w-inline-block"></a><div class="btn_bg"></div></div><div class="button_wrap"><div aria-hidden="true">Sign up</div><a aria-label="Sign up" href="https://app.superblocks.com/signup" target="_blank" class="clickable w-inline-block"></a><div class="btn_bg"></div></div></div></div><div class="footer-cta_visual is-left"><img sizes="(max-width: 704px) 100vw, 704px" srcset="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/69d7e50e9d9798644ae6d829_9e3bb522e388d030e7b57f2427a70afe_cta-pattern_left-p-500.png 500w, https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/69d7e50e9d9798644ae6d829_9e3bb522e388d030e7b57f2427a70afe_cta-pattern_left.png 704w" alt="" src="https://cdn.prod.website-files.com/627d359d0e0a
2564a265b7817bcf/69d7e50e9d9798644ae6d829_9e3bb522e388d030e7b57f2427a70afe_cta-pattern_left.png" loading="lazy" class="img-cover"/></div><div class="footer-cta_visual is-right"><img sizes="(max-width: 704px) 100vw, 704px" srcset="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/69d7e50e479806100ed8a8b6_e90c12d7eefdecf0386ee05de77d119d_cta-pattern_right-p-500.png 500w, https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/69d7e50e479806100ed8a8b6_e90c12d7eefdecf0386ee05de77d119d_cta-pattern_right.png 704w" alt="" src="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/69d7e50e479806100ed8a8b6_e90c12d7eefdecf0386ee05de77d119d_cta-pattern_right.png" loading="lazy" class="img-cover"/></div></div></div><div class="footer_wrap-inner"><div class="footer_wrap-top"><div class="footer_wrap-top_header"><div class="footer_wrap-top_header-inner"><a href="/" class="w-inline-block"><div class="footer_logo w-embed"><svg width="100%" height="100%" viewBox="0 0 191 36" fill="none" xmlns="http://www.w3.org/2000/svg">
2565<rect width="36" height="36" rx="7.5" fill="#131416"/>
2566<path fill-rule="evenodd" clip-rule="evenodd" d="M23.0076 8.38996C24.9683 6.9973 29.0194 6.24187 32.0717 9.80283C32.4638 10.2603 32.5495 10.9701 32.0087 11.3493C32.0009 11.3548 31.9929 11.3602 31.985 11.3654C32.3199 11.9117 32.7209 12.727 32.8293 13.8111C32.8784 14.3021 32.6406 14.7791 32.1476 14.9143C32.0793 15.7157 31.879 17.2906 30.5928 18.6293C30.0339 19.211 29.504 19.6127 29.0375 19.8876C28.6561 20.1124 28.5527 20.2803 28.5374 20.7087C28.4739 22.4756 27.8801 24.3394 26.7368 25.6803C25.3044 27.3603 22.7698 28.2743 19.9433 28.655C17.1116 29.0364 14.0174 28.648 11.9074 26.9813C10.5118 25.8789 9.68708 24.3839 9.28073 22.809C9.16855 22.3742 9.02376 22.2355 8.58043 22.1018C8.00863 21.9293 7.30298 21.6071 6.50779 21.0295C5.00584 19.9385 4.53114 18.4236 4.32262 17.6467C2.73116 17.5023 3.51581 14.9976 3.85725 14.1247C3.23739 13.8592 3.186 13.1301 3.49634 12.6022C5.87323 8.55903 9.99432 8.58834 12.1698 9.61365C13.0405 10.024 13.8261 10.5135 14.4647 11.1994C15.5542 12.3693 16.4707 10.2218 17.3979 9.78907C18.5276 9.26188 18.1346 10.0958 18.2264 10.3916C18.3103 10.1916 19.8833 9.4125 19.8079 10.1656C19.7609 10.6366 19.781 10.9395 20.084 11.0744C20.442 11.2338 20.6874 10.9739 20.8418 10.6901C21.3657 9.72694 22.1136 9.02495 23.0076 8.38996ZM14.2757 17.6395C15.0813 17.3851 15.7523 17.9939 15.8547 18.7834C15.957 19.5729 15.613 20.1208 15.0168 20.2819C14.4207 20.443 13.7601 19.8791 13.6312 19.3313C13.583 19.1267 13.5484 18.8746 13.5658 18.6256C13.5749 18.4952 13.765 18.4508 13.8957 18.4508C14.1273 18.4508 14.2918 18.2116 14.2148 17.9973C14.1707 17.8744 14.1512 17.6788 14.2757 17.6395ZM25.0289 16.8082C24.8869 16.0248 24.186 15.4506 23.3942 15.7453C23.2719 15.7908 23.3012 15.9853 23.3515 16.1058C23.4392 16.316 23.287 16.5631 23.0557 16.5747C22.9252 16.5813 22.7375 16.6353 22.735 16.766C22.7302 17.0155 22.7775 17.2656 22.8359 17.4674C22.9922 18.0081 23.6804 18.538 24.2677 18.347C24.855 18.156 25.171 17.5915 25.0289 16.8082ZM18.1398 22.8571C17.8472 22.4658 17.6596 21.9876 17.6245 21.4599L17.4773 19.2525C17.3951 18.0183 18.2397 16.9141 19.4523 16.6703C20.7744 16.4046 22.0649 17.2499 22.3494 18.5681L22.8161 20.7306C22.9659 21.4246 22.8269 22.1109 22.4822 22.6677C22.5393 23.8035 21.649 24.8433 20.4243 24.8653C19.2435 24.8866 18.2648 23.9991 18.1398 22.8571ZM7.44644 16.7153C7.17813 15.2167 8.17547 13.7843 9.67407 13.516C10.3351 13.3977 10.9832 13.5256 11.5242 13.8341C11.6806 13.9233 11.6984 14.1338 11.5792 14.2688C10.6102 15.3654 9.7638 16.7807 9.37211 18.5131C9.33194 18.6907 9.14792 18.8005 8.98328 18.7226C8.20467 18.3543 7.6098 17.6277 7.44644 16.7153ZM28.7257 15.1502C29.1197 13.6797 28.247 12.1681 26.7765 11.7741C25.8811 11.5342 24.9706 11.7638 24.3063 12.3121C24.1659 12.428 24.187 12.6413 24.3308 12.7531C25.7324 13.844 26.6538 15.2116 27.2347 16.5548C27.3062 16.7201 27.5043 16.7934 27.6515 16.6898C28.1607 16.3311 28.5519 15.7988 28.7257 15.1502Z" fill="white"/>
2567<path d="M18.1396 22.8586C18.7048 23.6144 19.662 24.0456 20.6703 23.8811C21.4539 23.7532 22.0967 23.2926 22.4822 22.6699C22.54 23.8062 21.6495 24.8468 20.4244 24.8688C19.2429 24.89 18.2637 24.0015 18.1396 22.8586Z" fill="white" fill-opacity="0.4"/>
2568<path d="M51.751 26.276C50.6777 26.276 49.6657 26.0843 48.715 25.701C47.7797 25.3023 46.967 24.7427 46.277 24.022C45.6023 23.3013 45.0963 22.4503 44.759 21.469L47.68 20.158C48.1093 21.0933 48.6997 21.8293 49.451 22.366C50.2177 22.9027 51.061 23.171 51.981 23.171C52.4717 23.171 52.8933 23.0943 53.246 22.941C53.5987 22.7877 53.8747 22.5807 54.074 22.32C54.2733 22.044 54.373 21.722 54.373 21.354C54.373 20.9553 54.2503 20.618 54.005 20.342C53.7597 20.0507 53.3763 19.8207 52.855 19.652L49.497 18.548C48.1323 18.1033 47.105 17.4747 46.415 16.662C45.725 15.834 45.38 14.845 45.38 13.695C45.38 12.683 45.6253 11.7937 46.116 11.027C46.622 10.2603 47.3197 9.66233 48.209 9.233C49.1137 8.80367 50.1487 8.589 51.314 8.589C52.3413 8.589 53.292 8.76533 54.166 9.118C55.04 9.47067 55.7913 9.969 56.42 10.613C57.064 11.257 57.547 12.0313 57.869 12.936L54.971 14.247C54.649 13.4497 54.166 12.8287 53.522 12.384C52.878 11.924 52.142 11.694 51.314 11.694C50.8387 11.694 50.417 11.7707 50.049 11.924C49.681 12.0773 49.3973 12.2997 49.198 12.591C48.9987 12.867 48.899 13.189 48.899 13.557C48.899 13.9557 49.0293 14.3083 49.29 14.615C49.5507 14.9063 49.9417 15.1363 50.463 15.305L53.752 16.363C55.132 16.8077 56.1593 17.4287 56.834 18.226C57.524 19.0233 57.869 19.997 57.869 21.147C57.869 22.1437 57.6083 23.033 57.087 23.815C56.5657 24.5817 55.845 25.1873 54.925 25.632C54.0203 26.0613 52.9623 26.276 51.751 26.276ZM64.6646 26.276C63.6526 26.276 62.7863 26.0613 62.0656 25.632C61.3603 25.1873 60.8236 24.574 60.4556 23.792C60.0876 23.01 59.9036 22.0977 59.9036 21.055V13.442H63.3536V20.779C63.3536 21.2543 63.4456 21.676 63.6296 22.044C63.8289 22.3967 64.1049 22.6727 64.4576 22.872C64.8103 23.0713 65.2089 23.171 65.6536 23.171C66.1136 23.171 66.5123 23.0713 66.8496 22.872C67.2023 22.6727 67.4706 22.3967 67.6546 22.044C67.8539 21.676 67.9536 21.2543 67.9536 20.779V13.442H71.4036V26H68.1836V23.516L68.3676 24.068C68.0763 24.8193 67.6009 25.379 66.9416 25.747C66.2976 26.0997 65.5386 26.276 64.6646 26.276ZM73.9252 30.6V13.442H77.1452V15.834L76.8462 15.144C77.2602 14.5153 77.8198 14.0323 78.5252 13.695C79.2458 13.3423 80.0662 13.166 80.9862 13.166C82.1822 13.166 83.2632 13.4573 84.2292 14.04C85.1952 14.6227 85.9618 15.4123 86.5292 16.409C87.0965 17.3903 87.3802 18.4943 87.3802 19.721C87.3802 20.9323 87.0965 22.0363 86.5292 23.033C85.9772 24.0297 85.2182 24.8193 84.2522 25.402C83.2862 25.9847 82.1898 26.276 80.9632 26.276C80.1045 26.276 79.3072 26.1227 78.5712 25.816C77.8505 25.494 77.2678 25.0263 76.8232 24.413L77.3752 23.7V30.6H73.9252ZM80.5492 23.171C81.1932 23.171 81.7605 23.0253 82.2512 22.734C82.7418 22.4427 83.1252 22.0363 83.4012 21.515C83.6772 20.9937 83.8152 20.3957 83.8152 19.721C83.8152 19.0463 83.6772 18.456 83.4012 17.95C83.1252 17.4287 82.7418 17.0223 82.2512 16.731C81.7605 16.4243 81.1932 16.271 80.5492 16.271C79.9358 16.271 79.3838 16.4167 78.8932 16.708C78.4178 16.9993 78.0422 17.4057 77.7662 17.927C77.5055 18.4483 77.3752 19.0463 77.3752 19.721C77.3752 20.3957 77.5055 20.9937 77.7662 21.515C78.0422 22.0363 78.4178 22.4427 78.8932 22.734C79.3838 23.0253 79.9358 23.171 8
25680.5492 23.171ZM95.4497 26.276C94.1157 26.276 92.9581 25.9847 91.9767 25.402C90.9954 24.804 90.2364 24.0067 89.6997 23.01C89.1631 22.0133 88.8947 20.9093 88.8947 19.698C88.8947 18.4407 89.1707 17.3213 89.7227 16.34C90.2901 15.3587 91.0491 14.5843 91.9997 14.017C92.9504 13.4497 94.0237 13.166 95.2197 13.166C96.2164 13.166 97.0981 13.327 97.8647 13.649C98.6314 13.9557 99.2754 14.3927 99.7967 14.96C100.333 15.5273 100.74 16.1867 101.016 16.938C101.292 17.674 101.43 18.479 101.43 19.353C101.43 19.5983 101.414 19.8437 101.384 20.089C101.368 20.319 101.33 20.5183 101.269 20.687H91.8617V18.157H99.3137L97.6807 19.353C97.8341 18.6937 97.8264 18.111 97.6577 17.605C97.4891 17.0837 97.1901 16.6773 96.7607 16.386C96.3467 16.0793 95.8331 15.926 95.2197 15.926C94.6217 15.926 94.1081 16.0717 93.6787 16.363C93.2494 16.6543 92.9274 17.0837 92.7127 17.651C92.4981 18.2183 92.4137 18.9083 92.4597 19.721C92.3984 20.4263 92.4827 21.0473 92.7127 21.584C92.9427 22.1207 93.2954 22.5423 93.7707 22.849C94.2461 23.1403 94.8211 23.286 95.4957 23.286C96.1091 23.286 96.6304 23.1633 97.0597 22.918C97.5044 22.6727 97.8494 22.3353 98.0947 21.906L100.855 23.217C100.609 23.8303 100.218 24.367 99.6817 24.827C99.1604 25.287 98.5394 25.6473 97.8187 25.908C97.0981 26.1533 96.3084 26.276 95.4497 26.276ZM103.461 26V13.442H106.681V16.455L106.451 16.018C106.727 14.96 107.18 14.247 107.808 13.879C108.452 13.4957 109.211 13.304 110.085 13.304H110.821V16.294H109.74C108.897 16.294 108.215 16.5547 107.693 17.076C107.172 17.582 106.911 18.3027 106.911 19.238V26H103.461ZM119.371 26.276C118.513 26.276 117.715 26.1227 116.979 25.816C116.259 25.494 115.676 25.0263 115.231 24.413L115.553 23.7V26H112.333V8.589H115.783V15.834L115.254 15.144C115.668 14.5153 116.228 14.0323 116.933 13.695C117.654 13.3423 118.474 13.166 119.394 13.166C120.59 13.166 121.671 13.4573 122.637 14.04C123.603 14.6227 124.37 15.4123 124.937 16.409C125.505 17.3903 125.788 18.4943 125.788 19.721C125.788 20.9323 125.505 22.0363 124.937 23.033C124.385 24.0297 123.626 24.8193 122.66 25.402C121.694 25.9847 120.598 26.276 119.371 26.276ZM118.957 23.171C119.601 23.171 120.169 23.0253 120.659 22.734C121.15 22.4427 121.533 22.0363 121.809 21.515C122.085 20.9937 122.223 20.3957 122.223 19.721C122.223 19.0463 122.085 18.456 121.809 17.95C121.533 17.4287 121.15 17.0223 120.659 16.731C120.169 16.4243 119.601 16.271 118.957 16.271C118.344 16.271 117.792 16.4167 117.301 16.708C116.826 16.9993 116.45 17.4057 116.174 17.927C115.914 18.4483 115.783 19.0463 115.783 19.721C115.783 20.3957 115.914 20.9937 116.174 21.515C116.45 22.0363 116.826 22.4427 117.301 22.734C117.792 23.0253 118.344 23.171 118.957 23.171ZM127.809 26V8.589H131.259V26H127.809ZM140.017 26.276C138.775 26.276 137.64 25.9923 136.613 25.425C135.601 24.8577 134.788 24.0833 134.175 23.102C133.577 22.1053 133.278 20.9783 133.278 19.721C133.278 18.4483 133.577 17.3213 134.175 16.34C134.788 15.3587 135.601 14.5843 136.613 14.017C137.64 13.4497 138.775 13.166 140.017 13.166C141.259 13.166 142.386 13.4497 143.398 14.017C144.41 14.5843 145.215 15.3587 145.813 16.34C146.426 17.3213 146.733 18.4483 146.733 19.721C146.733 20.9783 146.426 22.1053 145.813 23.102C145.215 24.0833 144.41 24.8577 143.398 25.425C142.386 25.9923 141.259 26.276 140.017 26.276ZM140.017 23.171C140.645 23.171 141.19 23.0253 141.65 22.734C142.125 22.4427 142.493 22.0363 142.754 21.515C143.03 20.9937 143.168 20.3957 143.168 19.721C143.168 19.0463 143.03 18.456 142.754 17.95C142.493 17.4287 142.125 17.0223 141.65 16.731C141.19 16.4243 140.645 16.271 140.017 16.271C139.388 16.271 138.836 16.4243 138.361 16.731C137.885 17.0223 137.51 17.4287 137.234 17.95C136.973 18.456 136.843 19.0463 136.843 19.721C136.843 20.3957 136.973 20.9937 137.234 21.515C137.51 22.0363 137.885 22.4427 138.361 22.734C138.836 23.0253 139.388 23.171 140.017 23.171ZM154.929 26.276C153.672 26.276 152.537 25.9923 151.525 25.425C150.528 24.8423 149.731 24.0527 149.133 23.056C148.55 22.0593 148.259 20.94 148.259 19.698C148.259 18.456 148.55 17.3443 149.133 16.363C149.716 15.3663 150.513 14.5843 151.525 14.017C152.537 13.4497 153.672 13.166 154.929 13.166C155.864 13.166 156.731 13.327 157.528 13.649C158.325 13.971 159.008 14.4233 159.575 15.006C160.142 15.5733 160.549 16.248 160.794 17.03L157.804 18.318C157.589 17.6893 157.221 17.191 156.7 16.823C156.194 16.455 155.604 16.271 154.929 16.271C154.331 16.271 153.794 16.4167 153.319 16.708C152.859 16.9993 152.491 17.4057 152.215 17.927C151.954 18.4483 151.824 19.0463 151.824 19.721C151.824 20.3957 151.954 20.9937 152.215 21.515C152.491 22.0363 152.859 22.4427 153.319 22.734C153.794 23.0253 154.331 23.171 154.929 23.171C155.619 23.171 156.217 22.987 156.723 22.619C157.229 22.251 157.589 21.7527 157.804 21.124L160.794 22.435C160.564 23.171 160.165 23.8303 159.598 24.413C159.031 24.9957 158.348 25.4557 157.551 25.793C156.754 26.115 155.88 26.276 154.929 26.276ZM162.826 26V8.589H166.276V19.744L164.988 19.33L170.531 13.442H174.786L170.232 18.502L174.763 26H170.853L167.058 19.629L169.059 19.123L165.218 23.309L166.276 21.308V26H162.826ZM181.224 26.276C179.844 26.276 178.64 25.954 177.613 25.31C176.601 24.6507 175.911 23.769 175.543 22.665L178.073 21.469C178.395 22.1437 178.832 22.6727 179.384 23.056C179.936 23.4393 180.549 23.631 181.224 23.631C181.715 23.631 182.09 23.5313 182.351 23.332C182.612 23.1327 182.742 22.8567 182.742 22.504C182.742 22.32 182.696 22.1667 182.604 22.044C182.512 21.906 182.374 21.7833 182.19 21.676C182.006 21.5687 181.776 21.4767 181.5 21.4L179.361 20.802C178.334 20.5107 177.544 20.043 176.992 19.399C176.44 18.7397 176.164 17.9653 176.164 17.076C176.164 16.294 176.363 15.6117 176.762 15.029C177.161 14.4463 177.72 13.994 178.441 13.672C179.162 13.3347 179.99 13.166 180.925 13.166C182.152 13.166 183.225 13.4573 184.145 14.04C185.08 14.6073 185.74 15.4123 186.123 16.455L183.57 17.651C183.386 17.1297 183.049 16.7157 182.558 16.409C182.083 16.087 181.538 15.926 180.925 15.926C180.48 15.926 180.128 16.018 179.867 16.202C179.622 16.386 179.499 16.639 179.499 16.961C179.499 17.1297 179.545 17.283 179.637 17.421C179.729 17.559 179.875 17.6817 180.074 17.789C180.289 17.8963 180.549 17.996 180.856 18.088L182.857 18.686C183.9 18.9927 184.697 19.4603 185.249 20.089C185.801 20.7023 186.077 21.4613 186.077 22.366C186.077 23.148 185.87 23.8303 185.456 24.413C185.057 24.9957 184.498 25.4557 183.777 25.793C183.056 26.115 182.205 26.276 181.224 26.276Z" fill="#131416"/>
2569</svg></div></a><div class="text-color-neutral700"><p class="text-size-regular">Build AI-powered internal apps on a platform IT controls and business teams love</p></div></div><div class="button_wrap is-secondary"><div aria-hidden="true">Book a demo</div><a aria-label="Book a demo" href="/clark" class="clickable w-inline-block"></a><div class="btn_bg"></div></div></div><div class="footer_links-wrap"><div class="footer_links-wrap_inner"><div class="text-weight-medium"><div class="text-size-large">Resources</div></div><ul role="list" class="footer_link-list"><li class="footer_link-item"><a href="/pricing" class="footer_link">Pricing</a></li><li class="footer_link-item"><a href="/blog" class="footer_link">Blog</a></li><li class="footer_link-item"><a href="https://docs.superblocks.com/" target="_blank" class="footer_link">Docs</a></li><li class="footer_link-item"><a href="/integrations" class="footer_link">Integrations</a></li><li class="footer_link-item"><a href="/careers" class="footer_link">Careers</a></li><li class="footer_link-item"><a href="/sitemap" class="footer_link">Sitemap</a></li></ul></div><div class="footer_links-wrap_inner"><div class="text-weight-medium"><div class="text-size-large">Connect</div></div><ul role="list" class="footer_link-list"><li class="footer_link-item"><a href="https://x.com/superblocks?lang=cs" target="_blank" class="footer_link">X</a></li><li class="footer_link-item"><a href="https://www.linkedin.com/company/superblockshq/" target="_blank" class="footer_link">LinkedIn</a></li><li class="footer_link-item"><a href="https://www.youtube.com/@Superblockshq" target="_blank" class="footer_link">YouTube</a></li></ul></div></div></div><div class="footer_wrap-bottom"><div class="text-color-neutral700"><p class="text-size-regular"><span>©</span> <span data-current-year="">20??</span> Superblocks. All rights reserved </p></div><ul role="list" class="footer_link-list is-bottom"><li class="footer_link-item"><a href="/legal/privacy" class="footer_link">Privacy Policy</a></li><li class="footer_link-item"><a href="/legal/terms" class="footer_link">Terms of Use</a></li></ul></div></div></div></div></div></footer><div class="vimeo_osmo-css w-embed"><style>
2570
2571  a:hover .hp_customer-play-button,
2572  a:hover .hp_customer-play-button{
2573    transform: scale(0.9);
2574  }
2575  a:hover .hp_customer-blog-button_circle{
2576    transform: scale(1.1);
2577  }
2578  a:hover .hp_customer-blog-button_circle-inner{
2579    transform: scale(1.1);
2580  }
2581
2582  .vimeo-player__btn{
2583    transition: 350ms;
2584  }
2585
2586  .vimeo-player:hover .vimeo-player__btn,
2587  .vimeo-player:hover .vimeo-player__btn{
2588    transform: scale(0.9);
2589  }
2590  .vimeo-player:hover .vimeo_player_btn-circle{
2591    transform: scale(1.1);
2592  }
2593  .vimeo-player:hover .vimeo_player_btn-circle-inner{
2594    transform: scale(1.1);
2595  }
2596
2597
2598  .vimeo-player {
2599    transition: max-width 500ms;
2600  }
2601  .vimeo-player__iframe{
2602    visibility: hidden;
2603  }
2604
2605  .vimeo-player[data-vimeo-activated="true"] .vimeo-player__iframe{
2606    visibility: visible;
2607  }
2608
2609  .vimeo-player[data-vimeo-activated="false"] + .vimeo_close-button {
2610    opacity: 0;
2611  }
2612
2613  .vimeo-player[data-vimeo-activated="true"] + .vimeo_close-button {
2614    opacity: 1;
2615  }
2616  /* Placeholder */
2617  .vimeo-player[data-vimeo-activated="true"] .vimeo-player__placeholder {
2618    opacity: 0;
2619  }
2620
2621  .vimeo-player[data-vimeo-activated="false"][data-vimeo-loaded="false"] .vimeo-player__placeholder {
2622    opacity: 1;
2623  }
2624
2625  /* Dark (Overlay) */
2626  .vimeo-player[data-vimeo-playing="false"] .vimeo-player__dark {
2627    opacity: 0.5;
2628  }
2629
2630  /* Dark (Overlay) */
2631  .vimeo-player.is-customer[data-vimeo-playing="false"] .vimeo-player__dark {
2632    opacity: 0;
2633  }
2634
2635  .vimeo-player[data-vimeo-activated="false"][data-vimeo-playing="false"] .vimeo-player__dark {
2636    opacity: 0.5;
2637  }
2638
2639  .vimeo-player.is-customer[data-vimeo-activated="false"][data-vimeo-playing="false"] .vimeo-player__dark {
2640    opacity: 0;
2641  }
2642
2643  .vimeo-player[data-vimeo-activated="true"][data-vimeo-loaded="true"] .vimeo-player__dark {
2644    opacity: 0;
2645  }
2646
2647  @media (hover: hover) and (pointer: fine) {
2648    .vimeo-player[data-vimeo-hover="true"]:hover .vimeo-player__dark {
2649      opacity: 0.33 !important;
2650    }
2651  }
2652
2653  /* Pause */
2654  .vimeo-player .vimeo-player__pause {
2655    display: none;
2656  }
2657
2658  .vimeo-player[data-vimeo-playing="true"] .vimeo-player__pause {
2659    display: flex;
2660  }
2661
2662  .vimeo-player[data-vimeo-activated="true"][data-vimeo-playing="false"] .vimeo-player_text-wrap {
2663    display: flex;
2664  }
2665
2666  .vimeo-player .vimeo-player__pause .vimeo-player__btn {
2667    opacity: 0;
2668  }
2669
2670  .vimeo-player[data-vimeo-activated="true"][data-vimeo-playing="false"] .vimeo-player__pause .vimeo-player__btn,
2671  .vimeo-player[data-vimeo-activated="true"][data-vimeo-hover="true"]:hover .vimeo-player__pause .vimeo-player__btn {
2672    opacity: 1;
2673  }
2674
2675  @media (hover: none) and (pointer: coarse) {
2676    .vimeo-player[data-vimeo-activated="true"][data-vimeo-playing="true"] .vimeo-player__pause .vimeo-player__btn {
2677      opacity: 0 !important;
2678    }
2679  }
2680
2681  /* Play */
2682  .vimeo-player[data-vimeo-playing="true"] .vimeo-player__play {
2683    opacity: 0;
2684  }
2685
2686  /* Play */
2687
2688  @media only screen and (min-width: 992px) {
2689    .vimeo-player.is-customer[data-vimeo-activated="true"] {
2690      max-width: 84rem !important;
2691      aspect-ratio: auto;
2692      width: 100vw;
2693    }
2694  }
2695
2696  @media only screen and (max-width: 991px) and (min-width: 678px) {
2697    .vimeo-player.is-customer[data-vimeo-activated="true"] {
2698      max-width: 60rem !important;
2699      aspect-ratio: auto;
2700      width: 100%;
2701    }
2702  }
2703
2704  @media only screen and (max-width: 677px) {
2705    .vimeo-player.is-customer[data-vimeo-activated="true"] {
2706      max-width: 100% !important;
2707      aspect-ratio: auto;
2708      width: 100%;
2709    }
2710  }
2711
2712  @media only screen and (min-width: 678px) {
2713    .vimeo-player.is-openai[data-vimeo-activated="true"] {
2714      aspect-ratio: 365 / 649;
2715    }
2716  }
2717
2718  @media only screen and (max-width: 677px) {
2719    .vimeo-player.is-openai[data-vimeo-activated="true"] {
2720      max-width: 100% !important;
2721      aspect-ratio: 230 / 400;
2722    }
2723  }
2724
2725  /* Play */
2726  .vimeo-player[data-vimeo-playing="true"] .vimeo-player_bottom{
2727    opacity: 0;
2728  }
2729
2730  .vimeo-player[data-vimeo-playing="true"] .vimeo_tag{
2731    opacity: 0;
2732  }
2733
2734  /* Play */
2735  .vimeo-player[data-vimeo-playing="true"] .vimeo-player_blur{
2736    opacity: 0;
2737  }
2738
2739  /* Loading */
2740  .vimeo-player .vimeo-player__loading {
2741    opacity: 0;
2742  }
2743
2744  .vimeo-player[data-vimeo-playing="true"] .vimeo-player__loading {
2745    opacity: 1;
2746  }
2747
2748  .vimeo-player[data-vimeo-playing="true"][data-vimeo-loaded="true"] .vimeo-player__loading {
2749    opacity: 0;
2750  }
2751
2752  /* Interface */
2753  .vimeo-player .vimeo-player__interface {
2754    opacity: 0;
2755  }
2756
2757  .vimeo-player[data-vimeo-activated="true"][data-vimeo-playing="false"] .vimeo-player_text-wrap{
2758    opacity: 0;
2759  }
2760
2761  .vimeo-player[data-vimeo-activated="true"][data-vimeo-playing="false"] .vimeo-player_bottom,
2762  .vimeo-player[data-vimeo-activated="true"][data-vimeo-playing="false"] .vimeo-player_blur,
2763  .vimeo-player[data-vimeo-activated="true"][data-vimeo-playing="false"] .vimeo-player__placeholder{
2764    opacity: 0;
2765  }
2766
2767  .vimeo-player .vimeo-player__interface * {
2768    pointer-events: all; /* Make children of div clickable by user */
2769  }
2770
2771  .vimeo-player[data-vimeo-activated="true"][data-vimeo-playing="true"][data-vimeo-hover="true"]:hover .vimeo-player__interface,
2772  .vimeo-player[data-vimeo-activated="true"][data-vimeo-playing="false"] .vimeo-player__interface{
2773    opacity: 1;
2774  }
2775
2776
2777  @media (hover: none) and (pointer: coarse) {
2778    .vimeo-player[data-vimeo-activated="true"][data-vimeo-playing="true"] .vimeo-player__interface {
2779      opacity: 0 !important;
2780    }
2781  }
2782
2783  /* Interface - Variables */
2784  .vimeo-player {
2785    --timeline-rounded-corners: 1.5em;
2786    --timeline-dot-height: 0.75em;
2787    --timeline-dot-color: var(--color--brand--blue);
2788    --progress-bg: rgba(255, 255, 255, 0.12);
2789    --progress-fill-bg: var(--color--brand--blue);
2790    --progress-height: 0.2em;
2791  }
2792
2793  /* Interface - Timeline */
2794  .vimeo-player progress::-webkit-progress-bar {
2795    border-radius: var(--timeline-rounded-corners);
2796    background-color: var(--progress-bg);
2797    box-shadow: 0;
2798  }
2799
2800  .vimeo-player progress::-webkit-progress-value {
2801    background: var(--progress-fill-bg);
2802  }
2803
2804  .vimeo-player progress::-moz-progress-bar{
2805    border-radius: var(--timeline-rounded-corners);
2806    background: var(--progress-fill-bg);
2807    box-shadow: 0;
2808  }
2809
2810  .vimeo-player progress::-ms-fill {
2811    border-radius: var(--timeline-rounded-corners);
2812  }
2813
2814  /* Interface - Range */
2815  .vimeo-player [type="range"]::-webkit-slider-thumb {
2816    -webkit-appearance: none;
2817  }
2818
2819  .vimeo-player [type="range"]:focus {
2820    outline: none;
2821  }
2822
2823  .vimeo-player [type="range"]::-ms-track {
2824    width: 100%;
2825    cursor: pointer;
2826    background-color: transparent;
2827    border-color: transparent;
2828    color: transparent;
2829  }
2830
2831  .vimeo-player [type="range"]::-webkit-slider-runnable-track{
2832    width: 100%;
2833    height: var(--progress-height);
2834    cursor: pointer;
2835    background-color: var(--progress-bg);
2836    border-radius: var(--timeline-rounded-corners);
2837    background-color: transparent;
2838    border-color: transparent;
2839    color: transparent;
2840  }
2841
2842  .vimeo-player [type="range"]::-webkit-slider-thumb {
2843    box-shadow: 0;
2844    height: var(--timeline-dot-height);
2845    width: var(--timeline-dot-height);
2846    border-radius: var(--timeline-rounded-corners);
2847    background-color: var(--timeline-dot-color);
2848    cursor: pointer;
2849    -webkit-appearance: none;
2850    margin-top: calc((var(--progress-height) / 2) - (var(--timeline-dot-height) / 2));
2851  }
2852
2853  .vimeo-player [type="range"]::-webkit-slider-runnable-track,
2854  .vimeo-player [type="range"]:focus::-webkit-slider-runnable-track {
2855    background-color: transparent;
2856    border-color: transparent;
2857    color: transparent;
2858  }
2859
2860  .vimeo-player [type="range"]::-moz-range-track {
2861    width: 100%;
2862    height: var(--progress-height);
2863    cursor: pointer;
2864    background: var(--progress-bg);
2865    border-radius: 0;
2866    border: 0;
2867    border-radius: var(--timeline-rounded-corners);
2868    overflow: hidden;
2869    opacity: 1 !important;
2870  }
2871
2872  .vimeo-player [type="range"]::-moz-range-thumb {
2873    box-shadow: 0;
2874    border: 0;
2875    height: var(--timeline-dot-height);
2876    width: var(--timeline-dot-height);
2877    border-radius: var(--timeline-rounded-corners);
2878    background: var(--timeline-dot-color);
2879    cursor: pointer;
2880    box-shadow: 0;
2881  }
2882
2883  /* Interface - Mute */
2884  .vimeo-player .vimeo-player__mute svg:nth-child(2),
2885  .vimeo-player[data-vimeo-muted="true"] .vimeo-player__mute svg:nth-child(1) {
2886    display: none;
2887  }
2888
2889  .vimeo-player .vimeo-player__mute svg:nth-child(1),
2890  .vimeo-player[data-vimeo-muted="true"] .vimeo-player__mute svg:nth-child(2) {
2891    display: block;
2892  }
2893
2894  /* Interface - Fullscreen */
2895  .vimeo-player .vimeo-player__fullscreen svg:nth-child(2),
2896  .vimeo-player[data-vimeo-fullscreen="true"] .vimeo-player__fullscreen svg:nth-child(1) {
2897    display: none;
2898  }
2899
2900  .vimeo-player .vimeo-player__fullscreen svg:nth-child(1),
2901  .vimeo-player[data-vimeo-fullscreen="true"] .vimeo-player__fullscreen svg:nth-child(2) {
2902    display: block;
2903  }
2904</style></div></div><div class="hide"><div data-authors-load="" class="blog-index_item-authors"><div class="blog-index_item-author-box"><div class="blog-index_item-author w-dyn-list"><div role="list" class="blog-index_item-authors-list w-dyn-items"><div role="listitem" class="blog-index_item-authors-item w-dyn-item"><img loading="lazy" alt="Brad Menezes, Co-Founder &amp;
2904 CEO" src="https://cdn.prod.website-files.com/627d359d0e0aa25158817bf0/62f083ba9147fe84ef691ee3_linkedin.avif" class="blog-index_item-authors-img"/></div></div></div><div class="blog-index_item-authors-img counter"><div>+2</div></div></div><div authors-name-box="" class="text-color-neutral700"><p authors-name="" class="text-size-small text-weight-medium">Multiple authors</p></div><div class="blog-index_item-line"></div><div class="text-color-neutral400"><div class="text-size-small">Aug 3, 2026</div></div></div></div>
2904<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=627d359d0e0aa265b7817bcf" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
2904<script src="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/js/staging-superblocks.schunk.f2efb3c5440a81cf.js" type="text/javascript" integrity="sha384-VK02VJvMib7ytrF5M2joPWNtDQs366FZgEQ5B+Iwnjx0WBnwQXfootyziSYxdrmS" crossorigin="anonymous"></script>
2904<script src="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/js/staging-superblocks.schunk.66727a749041689b.js" type="text/javascript" integrity="sha384-QYnW97E9uhdZ01dY2Bc7vCCz9J77Cx8i/5R+8j0Q2j6weedYVZCtZ16VfvDFhEpM" crossorigin="anonymous"></script>
2904<script src="https://cdn.prod.website-files.com/627d359d0e0aa265b7817bcf/js/staging-superblocks.380b29a1.f636ee638cd6852c.js" type="text/javascript" integrity="sha384-CgfWTpANeViiPgUycf1+7WKwxI4k30AT+51pIzDp30dEsrQIO8twN7hV7v1PURDM" crossorigin="anonymous"></script>
2904<!-- Schema -->
2905<script type="application/ld+json">
2906{
2907  "@context": "https://schema.org",
2908  "@type": "Corporation",
2909  "name": "Superblocks",
2910  "alternateName": "Superblocks",
2911  "url": "https://www.superblocks.com/",
2912  "logo": "https://assets-global.website-files.com/627d359d0e0aa265b7817bcf/627d359d0e0aa27f28817c03_superblocks-logo-text.svg",
2913  "sameAs": [
2914    "https://www.youtube.com/@Superblockshq",
2915    "https://www.linkedin.com/company/superblockshq",
2916    "https://www.instagram.com/superblocks/",
2917    "https://twitter.com/superblocks",
2918    "https://facebook.com/superblockshq"
2919  ]
2920}
2921</script>
vendor: 1 bytes, line 2921
2921
2922<script type="application/ld+json">
2923{
2924  "@context": "https://schema.org/",
2925  "@type": "WebSite",
2926  "name": "Superblocks",
2927  "url": "https://www.superblocks.com/",
2928  "potentialAction": {
2929    "@type": "SearchAction",
2930    "target": {
2931      "@type": "EntryPoint",
2932      "urlTemplate": "https://www.superblocks.com/search?q={search_term_string}"
2933    },
2934    "query-input": "required name=search_term_string"
2935  }
2936}
2937</script>
2937
2938
2939<!-- Nice Select -->
2940<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=617db5b45d5bdc18467fdf99" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
vendor: 1 bytes, line 2940
2940
2941<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-nice-select/1.1.0/js/jquery.nice-select.min.js"></script>
2941
2942
2943<!-- Auto New Year -->
2944<script>
2945  var yearEl= document.getElementById( 'year' );
2946  yearEl.innerHTML = new Date().getFullYear();
2947</script>
2947
2948
2949<script>
2950  $(document).ready(function() {
2951    $('select').niceSelect();
2952
2953    $('.nice-select li').on('click', function() {
2954      $('.nice-select .current').css("color", "var(--color--neutral--900)")
2955    });
2956  });
2957</script>
2957
2958
2959
2960<script>
2961
2962  try {
2963    $(document).ready(function() {
2964      var queryParams = window.location.search;
2965      // Tracking Element
2966      var trackElement = $('[match_url_param_for_visibility]')
2967
2968
2969      // Load Custom Attributes
2970      $(trackElement).each(function(){
2971
2972        // Get UTM
2973        var getType = $(this).attr('match_url_param_name');
2974
2975        // Get Link
2976        var getName = $(this).attr('match_url_param_value');
2977
2978        // Check UTM
2979        if (queryParams) {
2980          if ( (new RegExp( decodeURI(getType) + "=" + decodeURI(getName) + '($|&)') ).test(queryParams) ) {
2981            $(this).show();
2982          }
2983        }
2984
2985      });
2986
2987    });
2988  }
2989
2990  catch(err) {
2991    console.error("malformed url param regex")
2992  }
2993
2994</script>
2994
2995
2996<!-- New Site Code -->
2997<!-- Swiper -->
2998<script src="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js"></script>
2998
2999
3000<!-- Deploy Code -->
3001<script>
3002  if (newSite) {
3003    (function() {
3004      const repository = "https://cdn.jsdelivr.net/gh/tomasmrazek92/superblocks@";
3005      const version = "1.32"
3006      const isStaging = localStorage.getItem('isStagingForMe') === 'true' // || window.location.origin.includes('webflow.io');
3007
3008      function loadScript(src) {
3009        const script = document.createElement('script');
3010        script.src = src;
3011        script.defer = true;
3012        document.body.appendChild(script);
3013      }
3014
3015      const basePath = isStaging ? 'http://localhost:3000/' : repository + version + '/dist/';
3016
3017      // Load on All
3018      loadScript(basePath + 'index.js');
3019
3020      // Expose a global function to load page-specific scripts
3021      window.loadPageScript = function(pageScriptName) {
3022        const scriptSrc = isStaging
3023        ? `http://localhost:3000/${pageScriptName}`
3024        : `${repository}${version}/dist/${pageScriptName}`;
3025        loadScript(scriptSrc);
3026      };
3027    })();
3028  }
3029</script>
3029
3030
3031<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 3031-3032
3031
3032<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
3032GTM-MLWZZTKX
vendor: 101 bytes, lines 3032-3033
3032"
3033                  height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
3034<!-- End Google Tag Manager (noscript) -->
3035
3036
3037<!-- LinkedIn Tracking Code -->
3038<script type="text/javascript">
3039_linkedin_partner_id = "5306754";
3040window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
3041window._linkedin_data_partner_ids.push(_linkedin_partner_id);
3042</script>
3042<script type="text/javascript">
3043(function(l) {
3044if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])};
3045window.lintrk.q=[]}
3046var s = document.getElementsByTagName("script")[0];
3047var b = document.createElement("script");
3048b.type = "text/javascript";b.async = true;
3049b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
3050s.parentNode.insertBefore(b, s);})(window.lintrk);
3051</script>
3051
3052<noscript>
3053<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=5306754&fmt=gif" />
3054</noscript>
3055<!-- End LinkedIn Tracking Code -->
3056
3057<!-- Osomo copyright -->
3058<script>
3059function initDynamicCurrentYear() {  
3060  const currentYear = new Date().getFullYear();
3061  const currentYearElements = document.querySelectorAll('[data-current-year]');
3062  currentYearElements.forEach(currentYearElement => {
3063    currentYearElement.textContent = currentYear;
3064  });
3065}
3066
3067// Initialize Dynamic Current Year
3068document.addEventListener('DOMContentLoaded', () => {
3069  initDynamicCurrentYear();
3070});
3071</script>
3071
3072
3073<!-- Osmo vimeo lightbox -->
3074<script>
3075  function initVimeoLightboxAdvanced() {
3076  // Single lightbox container
3077  const lightbox = document.querySelector('[data-vimeo-lightbox-init]');
3078  if (!lightbox) return;
3079
3080  // Open & close buttons
3081  const openButtons  = document.querySelectorAll('[data-vimeo-lightbox-control="open"]');
3082  const closeButtons = document.querySelectorAll('[data-vimeo-lightbox-control="close"]');
3083
3084  // Core elements inside lightbox
3085  let iframe            = lightbox.querySelector('iframe');               // ← now let
3086  const placeholder     = lightbox.querySelector('.vimeo-lightbox__placeholder');
3087  const calcEl          = lightbox.querySelector('.vimeo-lightbox__calc');
3088  const wrapEl          = lightbox.querySelector('.vimeo-lightbox__calc-wrap');
3089  const playerContainer = lightbox.querySelector('[data-vimeo-lightbox-player]');
3090
3091  // State
3092  let player = null;
3093  let currentVideoID = null;
3094  let videoAspectRatio = null;
3095  let globalMuted = lightbox.getAttribute('data-vimeo-muted') === 'true';
3096  const isTouch = ('ontouchstart' in window) || navigator.maxTouchPoints > 0;
3097  const playedOnce = new Set();  // track first play on touch
3098
3099  // Format time (seconds → "m:ss")
3100  function formatTime(s) {
3101    const m   = Math.floor(s / 60);
3102    const sec = Math.floor(s % 60).toString().padStart(2, '0');
3103    return `${m}:${sec}`;
3104  }
3105
3106  // Clamp wrap height
3107  function clampWrapSize(ar) {
3108    const w = calcEl.offsetWidth;
3109    const h = calcEl.offsetHeight;
3110    wrapEl.style.maxWidth = Math.min(w, h / ar) + 'px';
3111  }
3112
3113  // Adjust sizing in "cover" mode
3114  function adjustCoverSizing() {
3115    if (!videoAspectRatio) return;
3116    const cH = playerContainer.offsetHeight;
3117    const cW = playerContainer.offsetWidth;
3118    const r  = cH / cW;
3119    const wEl = lightbox.querySelector('.vimeo-lightbox__iframe');
3120    if (r > videoAspectRatio) {
3121      wEl.style.width  = (r / videoAspectRatio * 100) + '%';
3122      wEl.style.height = '100%';
3123    } else {
3124      wEl.style.height = (videoAspectRatio / r * 100) + '%';
3125      wEl.style.width  = '100%';
3126    }
3127  }
3128
3129  // Close & pause lightbox
3130  function closeLightbox() {
3131    lightbox.setAttribute('data-vimeo-activated', 'false');
3132    if (player) {
3133      player.pause();
3134      lightbox.setAttribute('data-vimeo-playing', 'false');
3135    }
3136  }
3137
3138  // Wire Escape key & close buttons
3139  document.addEventListener('keydown', e => {
3140    if (e.key === 'Escape') closeLightbox();
3141  });
3142  closeButtons.forEach(btn => btn.addEventListener('click', closeLightbox));
3143
3144  // Setup Vimeo Player event handlers
3145  function setupPlayerEvents() {
3146    // Hide placeholder when playback starts
3147    player.on('play', () => {
3148      lightbox.setAttribute('data-vimeo-loaded', 'true');
3149      lightbox.setAttribute('data-vimeo-playing', 'true');
3150    });
3151    // Close on video end
3152    player.on('ended', closeLightbox);
3153
3154    // Paused
3155    player.on('pause', () => {
3156      lightbox.setAttribute('data-vimeo-playing', 'false');
3157    });
3158
3159    // Duration UI
3160    const durEl = lightbox.querySelector('[data-vimeo-duration]');
3161    player.getDuration().then(d => {
3162      if (durEl) durEl.textContent = formatTime(d);
3163      lightbox.querySelectorAll('[data-vimeo-control="timeline"],progress')
3164        .forEach(el => el.max = d);
3165    });
3166
3167    // Timeline & progress updates
3168    const tl = lightbox.querySelector('[data-vimeo-control="timeline"]');
3169    const pr = lightbox.querySelector('progress');
3170    player.on('timeupdate', data => {
3171      if (tl) tl.value = data.seconds;
3172      if (pr) pr.value = data.seconds;
3173      if (durEl) durEl.textContent = formatTime(Math.trunc(data.seconds));
3174    });
3175    if (tl) {
3176      ['input','change'].forEach(evt =>
3177        tl.addEventListener(evt, e => {
3178          const v = e.target.value;
3179          player.setCurrentTime(v);
3180          if (pr) pr.value = v;
3181        })
3182      );
3183    }
3184
3185    // Hover → hide controls after a timeout
3186    let hoverTimer;
3187    playerContainer.addEventListener('mousemove', () => {
3188      lightbox.setAttribute('data-vimeo-hover', 'true');
3189      clearTimeout(hoverTimer);
3190      hoverTimer = setTimeout(() => {
3191        lightbox.setAttribute('data-vimeo-hover', 'false');
3192      }, 3000);
3193    });
3194
3195    // Fullscreen toggle on player container
3196    const fsBtn = lightbox.querySelector('[data-vimeo-control="fullscreen"]');
3197    if (fsBtn) {
3198      const isFS = () => document.fullscreenElement || document.webkitFullscreenElement;
3199      if (!(document.fullscreenEnabled || document.webkitFullscreenEnabled)) {
3200        fsBtn.style.display = 'none';
3201      }
3202      fsBtn.addEventListener('click', () => {
3203        if (isFS()) {
3204          lightbox.setAttribute('data-vimeo-fullscreen', 'false');
3205          (document.exitFullscreen || document.webkitExitFullscreen).call(document);
3206        } else {
3207          lightbox.setAttribute('data-vimeo-fullscreen', 'true');
3208          (playerContainer.requestFullscreen || playerContainer.webkitRequestFullscreen)
3209            .call(playerContainer);
3210        }
3211      });
3212      ['fullscreenchange','webkitfullscreenchange'].forEach(evt =>
3213        document.addEventListener(evt, () =>
3214          lightbox.setAttribute('data-vimeo-fullscreen', isFS() ? 'true' : 'false')
3215      ));
3216    }
3217  }
3218
3219  // Run sizing logic
3220  async function runSizing() {
3221    const mode = lightbox.getAttribute('data-vimeo-update-size');
3222    const w    = await player.getVideoWidth();
3223    const h    = await player.getVideoHeight();
3224    const ar   = h / w;
3225    const bef  = lightbox.querySelector('.vimeo-lightbox__before');
3226
3227    if (mode === 'true') {
3228      if (bef) bef.style.paddingTop = (ar * 100) + '%';
3229      clampWrapSize(ar);
3230    } else if (mode === 'cover') {
3231      videoAspectRatio = ar;
3232      if (bef) bef.style.paddingTop = '0%';
3233      adjustCoverSizing();
3234    } else {
3235      clampWrapSize(ar);
3236    }
3237  }
3238
3239  // Re-run sizing on viewport resize
3240  window.addEventListener('resize', () => {
3241    if (player) runSizing();
3242  });
3243
3244  // Open or switch video
3245  async function openLightbox(id, placeholderBtn) {
3246    // Enter loading state immediately
3247    lightbox.setAttribute('data-vimeo-activated', 'loading');
3248    lightbox.setAttribute('data-vimeo-loaded',    'false');
3249
3250    // — FULL RESET if new video ID —
3251    if (player && id !== currentVideoID) {
3252      await player.pause();
3253      await player.unload();
3254
3255      // Replace old iframe with a fresh one
3256      const oldIframe = iframe;
3257      const newIframe = document.createElement('iframe');
3258      newIframe.className = oldIframe.className;
3259      newIframe.setAttribute('allow', oldIframe.getAttribute('allow'));
3260      newIframe.setAttribute('frameborder', '0');
3261      newIframe.setAttribute('allowfullscreen', 'true');
3262      newIframe.setAttribute('allow', 'autoplay; encrypted-media');
3263      oldIframe.parentNode.replaceChild(newIframe, oldIframe);
3264
3265      // Reset state
3266      iframe         = newIframe;
3267      player         = null;
3268      currentVideoID = null;
3269      lightbox.setAttribute('data-vimeo-playing', 'false');
3270    }
3271
3272    // Update placeholder image attributes
3273    if (placeholderBtn) {
3274      ['src','srcset','sizes','alt','width'].forEach(attr => {
3275        const val = placeholderBtn.getAttribute(attr);
3276        if (val != null) placeholder.setAttribute(attr, val);
3277      });
3278    }
3279
3280    // Build a brand-new player if needed
3281    if (!player) {
3282      iframe.src = `https://player.vimeo.com/video/${id}?api=1&background=1&autoplay=0&loop=0&muted=0`;
3283      player = new Vimeo.Player(iframe);
3284      setupPlayerEvents();
3285      currentVideoID = id;
3286      await runSizing();
3287    }
3288
3289    // Now sizing is ready — show lightbox
3290    lightbox.setAttribute('data-vimeo-activated', 'true');
3291
3292    // Autoplay logic
3293    if (!isTouch) {
3294      player.setVolume(globalMuted ? 0 : 1).then(() => {
3295        lightbox.setAttribute('data-vimeo-playing', 'true');
3296        setTimeout(() => player.play(), 50);
3297      });
3298    } else if (playedOnce.has(currentVideoID)) {
3299      player.setVolume(globalMuted ? 0 : 1).then(() => {
3300        lightbox.setAttribute('data-vimeo-playing', 'true');
3301        player.play();
3302      });
3303    }
3304  }
3305
3306  // Internal controls
3307  lightbox.querySelector('[data-vimeo-control="play"]').addEventListener('click', () => {
3308    if (isTouch) {
3309      if (!playedOnce.has(currentVideoID)) {
3310        player.setVolume(0).then(() => {
3311          lightbox.setAttribute('data-vimeo-playing', 'true');
3312          player.play();
3313          if (!globalMuted) {
3314            setTimeout(() => {
3315              player.setVolume(1);
3316              lightbox.setAttribute('data-vimeo-muted', 'false');
3317            }, 100);
3318          }
3319          playedOnce.add(currentVideoID);
3320        });
3321      } else {
3322        player.setVolume(globalMuted ? 0 : 1).then(() => {
3323          lightbox.setAttribute('data-vimeo-playing', 'true');
3324          player.play();
3325        });
3326      }
3327    } else {
3328      player.setVolume(globalMuted ? 0 : 1).then(() => {
3329        lightbox.setAttribute('data-vimeo-playing', 'true');
3330        setTimeout(() => player.play(), 50);
3331      });
3332    }
3333  });
3334
3335  lightbox.querySelector('[data-vimeo-control="pause"]').addEventListener('click', () => {
3336    player.pause();
3337  });
3338
3339  lightbox.querySelector('[data-vimeo-control="mute"]').addEventListener('click', () => {
3340    globalMuted = !globalMuted;
3341    player.setVolume(globalMuted ? 0 : 1).then(() =>
3342      lightbox.setAttribute('data-vimeo-muted', globalMuted ? 'true' : 'false')
3343    );
3344  });
3345
3346  // Wire up open buttons
3347  openButtons.forEach(btn => {
3348    btn.addEventListener('click', () => {
3349      const vid = btn.getAttribute('data-vimeo-lightbox-id');
3350      const img = btn.querySelector('[data-vimeo-lightbox-placeholder]');
3351      openLightbox(vid, img);
3352    });
3353  });
3354}
3355
3356// Initialize Vimeo Lightbox (Advanced)
3357document.addEventListener('DOMContentLoaded', function() {
3358  initVimeoLightboxAdvanced();
3359});
3360</script>
3360<!-- Deploy Code -->
3361<script>
3362  loadPageScript('blog-detail.js');
3363</script>
3363
3364
3365<script>
3366  // #region Videos
3367  function initVimeoPlayer() {
3368    // Select all elements that have [data-vimeo-player-init]
3369    const vimeoPlayers = document.querySelectorAll('[data-vimeo-player-init]');
3370
3371    vimeoPlayers.forEach(function (vimeoElement, index) {
3372      // Add Vimeo URL ID to the iframe [src]
3373      // Looks like: https://player.vimeo.com/video/1019191082
3374      const vimeoVideoID = vimeoElement.getAttribute('data-vimeo-video-id');
3375      if (!vimeoVideoID) return;
3376      const vimeoVideoURL = `https://player.vimeo.com/video/${vimeoVideoID}?api=1&background=1&autoplay=0&loop=0&muted=1`;
3377      vimeoElement.querySelector('iframe').setAttribute('src', vimeoVideoURL);
3378
3379      // Assign an ID to each element
3380      const videoIndexID = 'vimeo-player-index-' + index;
3381      vimeoElement.setAttribute('id', videoIndexID);
3382
3383      const iframeID = vimeoElement.id;
3384      const player = new Vimeo.Player(iframeID);
3385
3386      let videoAspectRatio;
3387
3388      // Update Aspect Ratio if [data-vimeo-update-size="true"]
3389      if (vimeoElement.getAttribute('data-vimeo-update-size') === 'true') {
3390        player.getVideoWidth().then(function (width) {
3391          player.getVideoHeight().then(function (height) {
3392            videoAspectRatio = height / width;
3393            const beforeEl = vimeoElement.querySelector('.vimeo-player__before');
3394            if (beforeEl) {
3395              beforeEl.style.paddingTop = videoAspectRatio * 100 + '%';
3396            }
3397          });
3398        });
3399      }
3400
3401      // Function to adjust video sizing
3402      function adjustVideoSizing() {
3403        const containerAspectRatio = (vimeoElement.offsetHeight / vimeoElement.offsetWidth) * 100;
3404
3405        const iframeWrapper = vimeoElement.querySelector('.vimeo-bg__iframe-wrapper');
3406        if (iframeWrapper && videoAspectRatio) {
3407          if (containerAspectRatio > videoAspectRatio * 100) {
3408            iframeWrapper.style.width = `${(containerAspectRatio / (videoAspectRatio * 100)) * 100}%`;
3409          } else {
3410            iframeWrapper.style.width = '';
3411          }
3412        }
3413      }
3414
3415      // Adjust video sizing initially
3416      if (vimeoElement.getAttribute('data-vimeo-update-size') === 'true') {
3417        adjustVideoSizing();
3418        player.getVideoWidth().then(function () {
3419          player.getVideoHeight().then(function () {
3420            adjustVideoSizing();
3421          });
3422        });
3423      } else {
3424        adjustVideoSizing();
3425      }
3426
3427      // Adjust video sizing on resize
3428      window.addEventListener('resize', adjustVideoSizing);
3429      // Loaded
3430      player.on('play', function () {
3431        vimeoElement.setAttribute('data-vimeo-loaded', 'true');
3432      });
3433
3434      // Autoplay
3435      if (vimeoElement.getAttribute('data-vimeo-autoplay') === 'false') {
3436        // Autoplay = false
3437        player.setVolume(1);
3438        player.pause();
3439      } else {
3440        // Autoplay = true
3441        player.setVolume(0);
3442        vimeoElement.setAttribute('data-vimeo-muted', 'true');
3443
3444        // If paused-by-user === false, do scroll-based autoplay
3445        if (vimeoElement.getAttribute('data-vimeo-paused-by-user') === 'false') {
3446          function checkVisibility() {
3447            const rect = vimeoElement.getBoundingClientRect();
3448            const inView = rect.top < window.innerHeight && rect.bottom > 0;
3449            inView ? vimeoPlayerPlay() : vimeoPlayerPause();
3450          }
3451
3452          // Initial check
3453          checkVisibility();
3454
3455          // Handle scroll
3456          window.addEventListener('scroll', checkVisibility);
3457        }
3458      }
3459
3460      // Function: Play Video
3461      function vimeoPlayerPlay() {
3462        vimeoElement.setAttribute('data-vimeo-activated', 'true');
3463        vimeoElement.setAttribute('data-vimeo-playing', 'true');
3464        player.play();
3465      }
3466
3467      // Function: Pause Video
3468      function vimeoPlayerPause() {
3469        vimeoElement.setAttribute('data-vimeo-playing', 'false');
3470        player.pause();
3471      }
3472
3473      // Click: Play
3474      const playBtns = vimeoElement.querySelectorAll('[data-vimeo-control="play"]');
3475      playBtns.forEach((playBtn) => {
3476        playBtn.addEventListener('click', function () {
3477          player.setVolume(0);
3478          vimeoPlayerPlay();
3479
3480          const volume = vimeoElement.getAttribute('data-vimeo-muted') === 'true' ? 0 : 1;
3481          player.setVolume(volume);
3482        });
3483      });
3484
3485      // Click: Pause
3486      const pauseBtn = vimeoElement.querySelector('[data-vimeo-control
3486="pause"]');
3487      if (pauseBtn) {
3488        pauseBtn.addEventListener('click', function () {
3489          vimeoPlayerPause();
3490          // If paused by user => kill the scroll-based autoplay
3491          if (vimeoElement.getAttribute('data-vimeo-autoplay') === 'true') {
3492            vimeoElement.setAttribute('data-vimeo-paused-by-user', 'true');
3493            // Removing scroll listener (if you'd like)
3494            window.removeEventListener('scroll', checkVisibility);
3495          }
3496        });
3497      }
3498
3499      // Click: Mute
3500      const muteBtn = vimeoElement.querySelector('[data-vimeo-control="mute"]');
3501      if (muteBtn) {
3502        muteBtn.addEventListener('click', function () {
3503          if (vimeoElement.getAttribute('data-vimeo-muted') === 'false') {
3504            player.setVolume(0);
3505            vimeoElement.setAttribute('data-vimeo-muted', 'true');
3506          } else {
3507            player.setVolume(1);
3508            vimeoElement.setAttribute('data-vimeo-muted', 'false');
3509          }
3510        });
3511      }
3512
3513      // Fullscreen
3514      // Check if Fullscreen API is supported
3515      const fullscreenSupported = !!(document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled);
3516
3517      const fullscreenBtn = vimeoElement.querySelector('[data-vimeo-control="fullscreen"]');
3518
3519      // Hide the fullscreen button if not supported
3520      if (!fullscreenSupported && fullscreenBtn) {
3521        fullscreenBtn.style.display = 'none';
3522      }
3523
3524      if (fullscreenBtn) {
3525        fullscreenBtn.addEventListener('click', () => {
3526          const fullscreenElement = document.getElementById(iframeID);
3527          if (!fullscreenElement) return;
3528
3529          const isFullscreen = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;
3530
3531          if (isFullscreen) {
3532            // Exit fullscreen
3533            vimeoElement.setAttribute('data-vimeo-fullscreen', 'false');
3534            (document.exitFullscreen || document.webkitExitFullscreen || document.mozCancelFullScreen || document.msExitFullscreen).call(document);
3535          } else {
3536            // Enter fullscreen
3537            vimeoElement.setAttribute('data-vimeo-fullscreen', 'true');
3538            (fullscreenElement.requestFullscreen || fullscreenElement.webkitRequestFullscreen || fullscreenElement.mozRequestFullScreen || fullscreenElement.msRequestFullscreen).call(fullscreenElement);
3539          }
3540        });
3541      }
3542
3543      const handleFullscreenChange = () => {
3544        const isFullscreen = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;
3545
3546        vimeoElement.setAttribute('data-vimeo-fullscreen', isFullscreen ? 'true' : 'false');
3547      };
3548
3549      // Add event listeners for fullscreen changes (with vendor prefixes)
3550      ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange', 'msfullscreenchange'].forEach((event) => {
3551        document.addEventListener(event, handleFullscreenChange);
3552      });
3553
3554      // Convert seconds to mm:ss
3555      function secondsTimeSpanToHMS(s) {
3556        let h = Math.floor(s / 3600);
3557        s -= h * 3600;
3558        let m = Math.floor(s / 60);
3559        s -= m * 60;
3560        return m + ':' + (s < 10 ? '0' + s : s);
3561      }
3562
3563      // Duration
3564      const vimeoDuration = vimeoElement.querySelector('[data-vimeo-duration]');
3565      player.getDuration().then(function (duration) {
3566        if (vimeoDuration) {
3567          vimeoDuration.textContent = secondsTimeSpanToHMS(duration);
3568        }
3569        // Update timeline + progress max
3570        const timelineAndProgress = vimeoElement.querySelectorAll('[data-vimeo-control="timeline"], progress');
3571        timelineAndProgress.forEach((el) => {
3572          el.setAttribute('max', duration);
3573        });
3574      });
3575
3576      // Timeline
3577      const timelineElem = vimeoElement.querySelector('[data-vimeo-control="timeline"]');
3578      const progressElem = vimeoElement.querySelector('progress');
3579
3580      function updateTimelineValue() {
3581        player.getDuration().then(function () {
3582          const timeVal = timelineElem.value;
3583          player.setCurrentTime(timeVal);
3584          if (progressElem) {
3585            progressElem.value = timeVal;
3586          }
3587        });
3588      }
3589
3590      if (timelineElem) {
3591        ['input', 'change'].forEach((evt) => {
3592          timelineElem.addEventListener(evt, updateTimelineValue);
3593        });
3594      }
3595
3596      // Progress Time & Timeline (timeupdate)
3597      player.on('timeupdate', function (data) {
3598        if (timelineElem) {
3599          timelineElem.value = data.seconds;
3600        }
3601        if (progressElem) {
3602          progressElem.value = data.seconds;
3603        }
3604        if (vimeoDuration) {
3605          vimeoDuration.textContent = secondsTimeSpanToHMS(Math.trunc(data.seconds));
3606        }
3607      });
3608
3609      // Hide controls after hover on Vimeo player
3610      let vimeoHoverTimer;
3611      vimeoElement.addEventListener('mousemove', function () {
3612        if (vimeoElement.getAttribute('data-vimeo-hover') === 'false') {
3613          vimeoElement.setAttribute('data-vimeo-hover', 'true');
3614        }
3615        clearTimeout(vimeoHoverTimer);
3616        vimeoHoverTimer = setTimeout(vimeoHoverTrue, 3000);
3617      });
3618
3619      function vimeoHoverTrue() {
3620        vimeoElement.setAttribute('data-vimeo-hover', 'false');
3621      }
3622
3623      // Video Ended
3624      function vimeoOnEnd() {
3625        vimeoElement.setAttribute('data-vimeo-activated', 'false');
3626        vimeoElement.setAttribute('data-vimeo-playing', 'false');
3627        player.unload();
3628      }
3629      player.on('ended', vimeoOnEnd);
3630    });
3631  }
3632
3633  // Initialize Vimeo Player
3634  // Load player.js only when a post actually has a video
3635  (function () {
3636    var hasVideo = Array.prototype.some.call(document.querySelectorAll('[data-vimeo-player-init]'), function (el) {
3637      return el.getAttribute('data-vimeo-video-id');
3638    });
3639    if (!hasVideo) return;
3640    var s = document.createElement('script');
3641    s.src = 'https://player.vimeo.com/api/player.js';
3642    s.onload = initVimeoPlayer;
3643    document.head.appendChild(s);
3644  })();
3645</script>
3645</body></html>

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