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 & 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 & 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 & CEO" role="listitem" class="blog-detail_author-item w-dyn-item"><img loading="lazy" alt="Brad Menezes, Co-Founder & 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 & 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 & 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'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>"Those tools are great for proof of concept. But they don't connect well to existing enterprise data sources, and they don't have the governance guardrails that IT requires for production use."</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 & 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'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'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 &
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.