CINXE.COM
Netlify: Develop & deploy the best web experiences in record time
<!doctype html> <html lang="en" data-announcement-data="{"hideAfter":"2024-12-05","_rev":"kvS2VbyGavV4rIgsjX2Bwj","text":"Gartner recognizes Netlify as a Visionary in ","_id":"announcement-www","url":"https://www.netlify.com/reports/gartner-magic-quadrant-visionary/?utm_content=eyebrow","_createdAt":"2020-12-02T17:00:32Z","_type":"announcement","_updatedAt":"2024-11-08T16:32:30Z","cta":"2024 Gartner® Magic Quadrant™ for Cloud Application Platforms > "}"> <head> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <title>Netlify: Develop & deploy the best web experiences in record time</title><link rel="canonical" href="https://www.netlify.com/whitepaper/"/> <link rel="preconnect" href="https://netlify-eleventy-api-img.netlify.app/"> <link rel="preload" href="/v3/_fonts/PacaembuVar-subset.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/v3/_fonts/MulishVar-subset.woff2" as="font" type="font/woff2" crossorigin> <link rel="alternate" type="application/rss+xml" title="Netlify Blog RSS Feed" href="https://www.netlify.com/community-feed.xml/"/> <link rel="search" type="application/opensearchdescription+xml" title="Netlify" href="/v3/static/opensearch.xml"/> <!-- Favicons --> <!-- Default favicon --> <link rel="icon" href="/favicon.ico" sizes="32x32"> <!-- SVG favicon with dark/lightmode support --> <link rel="icon" href="/icon.svg" type="image/svg+xml"> <!-- Apple touch icon --> <link rel="apple-touch-icon" href="/apple-touch-icon.png"> <!-- Android manifest --> <link rel="manifest" href="/manifest.webmanifest" crossorigin="use-credentials"> <meta name="apple-mobile-web-app-title" content="Netlify"/> <meta name="application-name" content="Netlify"/> <meta name="theme-color" content="#ffffff"/> <meta name="description" content="A powerful serverless platform with an intuitive git-based workflow. Automated deployments, shareable previews, and much more. Get started for free!"/> <meta itemprop="name" content="Netlify: Develop & deploy the best web experiences in record time"/> <meta itemprop="description" content="A powerful serverless platform with an intuitive git-based workflow. Automated deployments, shareable previews, and much more. Get started for free!"/> <meta itemprop="image" content="https://cdn.sanity.io/images/o0o2tn5x/production/c0faeca9f7febecd6028a496d8e1d15b4558e292-1560x1560.png"/> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:site" content="@netlify"/> <meta name="twitter:title" content="Netlify: Develop & deploy the best web experiences in record time"/> <meta name="twitter:description" content="A powerful serverless platform with an intuitive git-based workflow. Automated deployments, shareable previews, and much more. Get started for free!"/> <meta name="twitter:creator" content="@netlify"/> <meta name="twitter:image" content="https://cdn.sanity.io/images/o0o2tn5x/production/c0faeca9f7febecd6028a496d8e1d15b4558e292-1560x1560.png"/> <meta name="og:image" content="https://cdn.sanity.io/images/o0o2tn5x/production/c0faeca9f7febecd6028a496d8e1d15b4558e292-1560x1560.png"/> <meta name="og:image:secure_url" content="https://cdn.sanity.io/images/o0o2tn5x/production/c0faeca9f7febecd6028a496d8e1d15b4558e292-1560x1560.png"/> <meta name="image" property="og:image" content="https://cdn.sanity.io/images/o0o2tn5x/production/c0faeca9f7febecd6028a496d8e1d15b4558e292-1560x1560.png"/> <meta property="og:site_name" content="Netlify"/> <meta property="og:title" content="Netlify: Develop & deploy the best web experiences in record time"/> <meta property="og:description" content="A powerful serverless platform with an intuitive git-based workflow. Automated deployments, shareable previews, and much more. Get started for free!"/> <meta name="google-site-verification" content="CAxgIAbLi9W2LTON4EwPKPD4nc0M7CV7xXkrwRMLpsU"/> <!-- Needed for Hugues Tennier's ownership of Google Search Console --> <script> document.documentElement.classList.add("js"),"open"in document.createElement("details")==!0&&document.documentElement.classList.add("enhanced-js"),("https://www.netlify.com/reports/gartner-magic-quadrant-visionary/?utm_content=eyebrow"===localStorage.getItem("Netlify_hide-announcement-bar")||function(e){let t=e.split(/[^\d]/).map((e=>parseInt(e,10))),n=new Date(t[0],t[1]-1,t[2]+1);return n&&new Date>n}("2024-12-05"))&&document.documentElement.setAttribute("data-announcement-state","hidden"); </script> <link rel="stylesheet" href="/css/global.css"> <link rel="stylesheet" href="/css/marketing.css"> <link rel="stylesheet" href="/css/marketing-dark.css"> <style> @layer legacy { *{box-sizing:border-box;margin:0;padding:0}body{color:var(--color-gray-L800);line-height:1.5;font-family:var(--font-secondary);padding:0;overflow-x:hidden;overflow-y:scroll}a{color:currentColor}:focus-visible{transition:outline-offset .1s ease-out}abbr[title]{text-decoration:none}img{display:block;max-width:100%}#main{isolation:isolate}:where(h1,h2,h3,h4,h5,h6,main){scroll-margin-top:calc(1em + var(--ntl-page-header-height))}.pancake{margin-top:3rem}.compat-grid,.grid,.pancake{padding:0 1rem}.compat-grid,.grid,.pancake{display:grid;grid-template-columns:[full-start] minmax(2rem,1fr) [standard-start] 0 [narrow-start] minmax(1rem,67.5rem) [narrow-end] 0 [standard-end] minmax(2rem,1fr) [full-end];position:relative;padding:0}@media (min-width:50rem){.compat-grid,.grid,.pancake{grid-template-columns:[full-start] minmax(2rem,1fr) [standard-start] 3.75rem [narrow-start] minmax(1rem,67.5rem) [narrow-end] 3.75rem [standard-end] minmax(2rem,1fr) [full-end]}}@keyframes slideUpBounce{0%{opacity:0;transform:translateY(20px)}60%{opacity:1}60%{transform:translateY(-5px)}100%{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(15px)}100%{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.js [data-animate-on-scroll-element]{opacity:0}.js [data-animate-on-scroll=animated] [data-animate-on-scroll-element]{animation-fill-mode:forwards;animation-name:var(--animation-on-scroll-name,slideUpBounce);animation-timing-function:var(--animation-on-scroll-timing-function,ease-in-out);animation-duration:var(--animation-on-scroll-duration,1000ms);animation-delay:var(--animation-on-scroll-delay,0)}}[hidden]{display:none!important}[data-announcement-state=hidden] .ntl-announcement-bar{display:none!important}a{text-decoration-skip-ink:all}a{text-underline-offset:clamp(2px,.1em,3px)}@media (min-resolution:1.5x){a{text-underline-offset:clamp(1.5px,.0825em,3px)}}a{text-decoration-thickness:1px}:where(h1,h2,h3,h4,h5,.heading) a{text-decoration-thickness:clamp(1.5px,.0875em,4px)}@font-face{font-family:Pacaembu;src:url(/v3/_fonts/PacaembuVar-subset.woff2) format("woff2");unicode-range:U+5,U+20,U+21,U+24,U+25,U+27,U+2B-2E,U+30-3A,U+3F,U+41-5A,U+61-7A,U+D7,U+2019;font-weight:100 1000;font-display:swap}@font-face{font-family:Mulish;src:url(/v3/_fonts/MulishVar-subset.woff2) format("woff2");unicode-range:U+5,U+20,U+21,U+24,U+25,U+27,U+2B-2E,U+30-3A,U+3F,U+41-5A,U+61-7A,U+D7,U+2019;font-weight:200 900;font-display:swap}:root{--color-white:#ffffff;--color-teal-T900:var(--teal-800, #014847);--color-teal-T800:var(--teal-700, #016968);--color-teal-T700:var(--teal-500, #04a29f);--color-teal-T600:var(--teal-400, #05bdba);--color-teal-T500:var(--teal-200, #32e6e2);--color-teal-T400:var(--teal-200, #32e6e2);--color-teal-T300:var(--teal-100, #8efbf7);--color-teal-T200:var(--teal-100, #8efbf7);--color-teal-T100:var(--teal-000, #d3f8f6);--color-teal-T050:var(--teal-000, #d3f8f6);--color-blue-B900:var(--blue-900, #1b205b);--color-blue-B800:var(--blue-900, #1b205b);--color-blue-B700:var(--blue-800, #2036a1);--color-blue-B600:var(--blue-800, #2036a1);--color-blue-B500:var(--blue-700, #2e51ed);--color-blue-B400:var(--blue-500, #5d8df5);--color-blue-B300:var(--blue-400, #80abfa);--color-blue-B200:var(--blue-300, #9cbef6);--color-blue-B100:var(--blue-100, #cde2ff);--color-blue-B050:var(--blue-000, #ebf1fb);--color-gray-L800:var(--neutral-light-800, #181a1c);--color-gray-L700:var(--neutral-light-700, #353a3e);--color-gray-L600:var(--neutral-light-600, #778089);--color-gray-L500:var(--neutral-light-500, #778089);--color-gray-L400:var(--neutral-light-400, #9da7b2);--color-gray-L300:var(--neutral-light-200, #e9ebed);--color-gray-L200:var(--neutral-light-100, #f6f6f7);--color-gray-L100:var(--neutral-light-100, #f6f6f7);--color-gray-L000:var(--neutral-light-000, #ffffff);--color-gray-D800:var(--neutral-dark-800, #12181f);--color-gray-D700:var(--neutral-dark-700, #1e242c);--color-gray-D600:var(--neutral-dark-700, #1e242c);--color-gray-D500:var(--neutral-dark-600, #272f38);--color-gray-D400:var(--neutral-dark-400, #4d565f);--color-gray-D300:var(--neutral-dark-300, #7e8792);--color-gray-D200:var(--neutral-dark-200, #b9c2cd);--color-gray-D100:var(--neutral-dark-100, #e6ecf2);--color-gray-D000:var(--neutral-dark-000, #ffffff);--color-yellow-Y900:var(--gold-700, #8c4c0d);--color-yellow-Y800:var(--gold-600, #a85d13);--color-yellow-Y700:var(--gold-500, #d5771a);--color-yellow-Y600:var(--gold-400, #f98e21);--color-yellow-Y500:var(--gold-300, #fbb13d);--color-yellow-Y400:var(--gold-200, #facd6f);--color-yellow-Y300:var(--gold-100, #f6e0a5);--color-yellow-Y200:var(--gold-000, #fbf0cc);--color-yellow-Y100:var(--gold-000, #fbf0cc);--color-yellow-Y050:var(--gold-000, #fbf0cc);--color-red-R900:var(--red-800, #800a20);--color-red-R800:var(--red-800, #800a20);--color-red-R700:var(--red-700, #af2536);--color-red-R600:var(--red-600, #d62740);--color-red-R500:var(--red-500, #fe4e5c);--color-red-R400:var(--red-300, #ffada9);--color-red-R300:var(--red-200, #ffbdba);--color-red-R200:var(--red-100, #fbd3d0);--color-red-R100:var(--red-000, #fee9e7);--color-red-R050:var(--red-000, #fee9e7);--color-pink:var(--red-500, #fe4e5c);--color-pink-dark:var(--red-600, #d62740);--color-pink-accessible:var(--red-600, #d62740);--color-orange:var(--gold-500, #d5771a);--color-orange-dark:var(--gold-600, #a85d13);--color-blue:var(--blue-400, #80abfa);--color-blue-dark:var(--blue-700, #2e51ed);--color-blue-dark-b:var(--blue-900, #1b205b);--color-violet:var(--pink-500, #df5adc);--color-violet-dark:var(--pink-800, #6c1d6b);--color-gold:var(--gold-300, #fbb13d);--color-yellow:var(--gold-300, #fbb13d);--color-yellow-dark:var(--gold-500, #d5771a);--color-plan-starter:var(--teal-800, #014847);--color-plan-pro:var(--red-600, #d62740);--color-plan-pro-accessible:var(--color-pink-accessible);--color-plan-business:var(--blue-700, #2e51ed);--color-plan-enterprise:var(--neutral-light-700, #353a3e);--gradient-1:linear-gradient(to bottom, #230a5c 0%, #3e119c 100%);--font-headline:Pacaembu,sans-serif;--font-primary:Pacaembu,sans-serif;--font-secondary:Mulish,sans-serif;--font-monospace:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;--radius-1:0.125rem;--radius-2:0.25rem;--radius-3:0.5rem;--radius-4:1rem;--radius-circle:50%;--radius-pill:360px;--space-1:0.25rem;--space-2:0.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:4rem;--pancake-block-space:5rem;--ease-out:cubic-bezier(0.5, 1, 0.89, 1);--border-radius:6px;--border-radius-large:12px;--color-focus-ring:var(--color-teal-T500);--grid-gutter:2.5rem;--shadow-light:0px 2px 4px rgba(14, 30, 37, 0.12);--shadow-heavy:-10px 10px 80px rgba(0, 0, 0, 0.1);--shadow-hover:0 4px 12px rgba(0, 0, 0, 0.25);--shadow-deep:0px 16px 24px rgba(0, 0, 0, 0.07),0px 6px 30px rgba(0, 0, 0, 0.06),0px 8px 10px rgba(0, 0, 0, 0.1);--shadow-coheeze-shallow:0px 2px 4px rgba(51, 55, 59, 0.08),0px 1px 10px rgba(51, 55, 59, 0.06);--shadow-coheeze-deepest:0px 24px 38px rgba(0, 0, 0, 0.14),0px 9px 46px rgba(0, 0, 0, 0.04);--shadow-coheeze-shallow-filter:drop-shadow(0px 1px 10px rgba(51, 55, 59, 0.06)) drop-shadow(0px 2px 4px rgba(51, 55, 59, 0.08));--shadow-coheeze-deep-filter:drop-shadow(0px 6px 30px rgba(51, 55, 59, 0.04)) drop-shadow(0px 8px 24px rgba(51, 55, 59, 0.04)) drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.08))}:root{--theme-background:var(--color-gray-L000);--theme-foreground:var(--color-gray-L800)}.theme-dark{--theme-background:var(--color-gray-L800);--theme-foreground:var(--color-gray-L000)}.theme-dark-translucent{--theme-background:hsla(0 0% 0% / 0.2);--theme-foreground:var(--color-gray-L000)}.page-bg-wrapper{position:relative}.hero-colored{--background-color:var(--color-accent, var(--color-violet-dark));background-color:var(--background-color);background-image:var(--hero-background-image);padding:0 1em}.hero-colored .heading,.hero-colored .paragraph{color:var(--color-gray-L000)}.hero-colored:after{content:"";position:absolute;top:0;left:0;right:0;height:20em;z-index:-1;background:var(--background-color)}.hero-colored .call-to-action{font-size:1rem}[class*=pancake-theme]{padding:7em 0;margin:0}.pancake-theme-dark+.pancake-theme-dark,.pancake-theme-light+.pancake-theme-light,.pancake-theme-white+.pancake-theme-white{padding-top:0}.pancake-theme-light{background-color:var(--color-gray-L200)}.pancake-theme-dark{background-color:var(--color-gray-D800);color:var(--color-gray-D000)}.pancake-theme-dark .heading{color:var(--color-gray-D000)}.pancake-theme-dark .call-to-action{--call-to-action-foreground:var(--color-gray-D000)}.pancake-theme-white+.pancake-theme-white{padding-top:0}.type-a,.type-b{font-size:calc(var(--type-fontsize-min) + (var(--type-fontsize-max) - var(--type-fontsize-min))/ 2);line-height:1.5}@supports (font-size:clamp(1em,2vw,2em)){.type-a,.type-b{font-size:clamp(var(--type-fontsize-min),var(--type-fontsize-value),var(--type-fontsize-max))}}.type-a strong,.type-b strong{font-weight:inherit}.type-a{font-family:var(--font-headline);font-weight:400}.type-a-2{font-weight:400}.type-a-3{font-weight:680;letter-spacing:-.01em}.type-a-4,.type-a-5{font-family:var(--font-headline);font-weight:680;letter-spacing:-.02em;line-height:1.4}.type-a--1{--type-fontsize-min:0.875em;--type-fontsize-max:1em;--type-fontsize-value:0.83em + 0.23vw}.type-a-0{font-size:1em;line-height:1.5}.type-a-0.type--nested{font-size:1rem}.type-a-1{--type-fontsize-min:1.125em;--type-fontsize-max:1.4375em;--type-fontsize-value:1.02em + 0.53vw}.type-a-2{--type-fontsize-min:1.25em;--type-fontsize-max:2em;--type-fontsize-value:1em + 1.33vw;line-height:1.4}.type-a-3{--type-fontsize-min:1.4375em;--type-fontsize-max:2.8125em;--type-fontsize-value:0.91em + 2.55vw}.type-a-4{--type-fontsize-min:1.625em;--type-fontsize-max:4em;--type-fontsize-value:0.73em + 4.36vw}.type-a-5{--type-fontsize-min:1.8125em;--type-fontsize-max:5.625em;--type-fontsize-value:0.4em + 7vw}.type-b{font-family:var(--font-secondary);font-weight:400}.type-b-1,.type-b-2{font-weight:600}.type-b--1{--type-fontsize-min:0.8125em;--type-fontsize-max:0.9375em;--type-fontsize-value:0.76rem + 0.24vw}.type-b-0{font-size:1em;line-height:1.5}.type-b-0.type--nested{font-size:1rem}.type-b-1{--type-fontsize-min:1.0625em;--type-fontsize-max:1.3125em;--type-fontsize-value:0.96em + 0.49vw}.type-b-2{--type-fontsize-min:1.1875em;--type-fontsize-max:1.875em;--type-fontsize-value:0.92em + 1.34vw}.type-uppercase{text-transform:uppercase}.heading{color:var(--heading-color,var(--color-gray-L800));position:relative}.heading-center{text-align:center}.subheading{color:var(--color-gray-L800);font-weight:400}.subheading-align-center{text-align:center}.subheading-dashed{display:flex;align-items:center}.subheading-dashed:after{content:"";border-top:1px dashed var(--color-gray-L400);flex-grow:999;margin-left:1.636363636364em}.paragraph a:hover{color:var(--color-accent,currentColor);text-decoration:none}.paragraph-center{text-align:center}.paragraph-lh-inherit{line-height:inherit}.paragraph-margin{margin-top:1.5em;margin-bottom:1.5em}.scrim{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;background-color:var(--color-gray-L000);position:relative}.scrim-large{box-shadow:-10px 10px 80px rgba(0,0,0,.1);border-radius:var(--border-radius);padding:var(--scrim-padding,1em)}.scrim-flush{padding:0}.scrim-shadow-tight{box-shadow:0 6px 12px rgba(14,30,37,.08)}.scrim-shadow-under{box-shadow:none}.scrim-shadow-light{box-shadow:var(--shadow-light)}.scrim-shadow-under:before{content:"";position:absolute;left:0;top:0;right:0;bottom:0;z-index:-1;box-shadow:-10px 10px 80px rgba(0,0,0,.1);border-radius:var(--border-radius)}.forms-label,.hs-form-field label{display:block;margin-bottom:.25em}.forms-label-helper{display:block;font-weight:400;font-size:.9em}.forms-input,.hs-input{-webkit-appearance:none;-moz-appearance:none;background-color:#fff;border:1px var(--color-gray-L600) solid;border-radius:4px;box-shadow:none;box-sizing:border-box;display:block;font-family:inherit;font-size:inherit;font-weight:500;line-height:1.618em;margin:0;padding:.382em 1em;transition:box-shadow ease-in-out .15s;width:100%}.forms-input::-moz-placeholder{opacity:.6}.forms-input::placeholder{opacity:.6}.icon-arrow-down-light{fill:var(--theme-icon-color,#8b93a0)}.forms-select-c{position:relative}.forms-select-c>select{padding-right:2em}.forms-select-c-arrow{position:absolute;right:.75em;bottom:0;height:2.5em;width:1em;pointer-events:none;--theme-icon-color:#8B93A0}.form-button,.hs-button{font-family:var(--font-headline);font-feature-settings:var(--font-headline-feature-settings);background:var(--color-teal-T500);border:0;border-radius:4px;color:var(--color-teal-T900);display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1em;font-weight:700;padding:.5em 1.5em;position:relative;text-align:center;text-decoration:none;text-shadow:none;transition:background .2s;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:1}.form-button:active,.form-button:hover,.hs-button:active,.hs-button:hover{background:var(--color-teal-T200)}.form-button-width-full{width:100%}.forms-checkbox,.hs-form-booleancheckbox{padding-left:2em;position:relative;display:block;line-height:1.3}.forms-checkbox input[type=checkbox],.hs-form-booleancheckbox input[type=checkbox]{position:absolute;left:0;top:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px var(--color-gray-L600) solid;border-radius:4px;height:1.15em;width:1.15em;margin-top:0;background-color:var(--color-gray-L000);padding:0}.forms-checkbox input[type=checkbox]:checked,.hs-form-booleancheckbox input[type=checkbox]:checked{background:var(--color-blue-B500) url('data:image/svg+xml;utf8,<svg width="9" height="7" viewBox="0 0 11 8" xmlns="http://www.w3.org/2000/svg" version="1.1" preserveAspectRatio="xMinYMin" aria-hidden="true" focusable="false" fill="white"><path d="M4.143 4.63L2.487 3.031a1.494 1.494 0 0 0-2.06 0 1.372 1.372 0 0 0 0 1.989l2.661 2.568c.384.37.928.491 1.416.362.261-.056.509-.182.712-.378L10.573 2.4a1.372 1.372 0 0 0 0-1.989 1.494 1.494 0 0 0-2.06 0L4.143 4.63z" /></svg>') center center no-repeat}.visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.hs-form-container{width:100%}.hs-form-required{margin-inline-start:.2em}.hs-form-field{margin-bottom:1em}.form-button,.hs-button{width:100%;margin-top:1em}.hs-input{margin-top:.25em}.inputs-list{list-style:none}.inputs-list.multi-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.inputs-list.multi-container input[type=checkbox]{-webkit-appearance:auto;margin-right:.5rem;width:initial;display:inline;line-height:initial}select.hs-input{background-image:url(data:image/svg+xml;base64,PCEtLSBZb3Ugc2hvdWxkIGFsd2F5cyB1c2UgdGhlIGljb25zIHVuZGVyIG91ciBgL2ljb25zYCBmb2xkZXIuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBjb250cm9sIG92ZXIgSHVic3BvdCBKYXZhU2NyaXB0IGZvcm1zIC0tPgo8c3ZnIHdpZHRoPSIyMSIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDIxIDEzIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiM4QjkzQTAiPgogIDxwYXRoIGQ9Ik0yMC43NjU2IDEuODI4MTJDMjEuMDE1NiAyLjEwOTM4IDIxLjAxNTYgMi4zNzUgMjAuNzY1NiAyLjYyNUwxMC45MjE5IDEyLjQ2ODhDMTAuNjcxOSAxMi43MTg4IDEwLjQyMTkgMTIuNzE4OCAxMC4xNzE5IDEyLjQ2ODhMMC4zMjgxMjUgMi42MjVDMC4wNzgxMjUgMi4zNzUgMC4wNzgxMjUgMi4xMDkzOCAwLjMyODEyNSAxLjgyODEyTDEuMjY1NjIgMC45Mzc1QzEuNTE1NjIgMC42NTYyNSAxLjc4MTI1IDAuNjU2MjUgMi4wNjI1IDAuOTM3NUwxMC41NDY5IDkuMzc1TDE5LjAzMTIgMC45Mzc1QzE5LjMxMjUgMC42NTYyNSAxOS41NzgxIDAuNjU2MjUgMTkuODI4MSAwLjkzNzVMMjAuNzY1NiAxLjgyODEyWiIvPgo8L3N2Zz4=);background-repeat:no-repeat;background-position:calc(100% - .75rem) .9em;background-size:1em}.hs-error-msgs{list-style:none;font-size:.9em;color:var(--color-red-R700);margin-block-start:.25rem}.hs_error_rollup .hs-error-msgs{background-color:var(--color-red-R050);margin-block-start:.75rem;padding:.75rem 1rem;border-radius:.5rem}.hs-form .legal-consent-container .hs-form-booleancheckbox-display>span{margin-left:0!important}.forms-row{margin-bottom:1em}.hs-form-layout-inline .hs-form{--gutter:0.5em;display:flex;align-items:center;text-align:left;margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter))}@media (max-width:31.26rem){.hs-form-layout-inline .hs-form{flex-direction:column}}.hs-form-layout-inline .form-button,.hs-form-layout-inline .hs_submit{margin-top:.5em;flex-grow:1;margin-left:var(--gutter);margin-right:var(--gutter)}.hs-form-layout-inline .forms-row,.hs-form-layout-inline .hs-form-field{flex-grow:2;margin-left:var(--gutter);margin-right:var(--gutter)}.hs-form-layout-inline .hs-button{margin-top:0;width:100%}.hs-form-layout-inline .form-button{width:auto}.hs-form-theme-white.hs-form-container{padding:1.5rem;background-color:var(--color-gray-D000);border-radius:var(--border-radius-large);color:var(--color-gray-D800)}.legal-consent-container{font-size:.8em;flex-basis:100%;min-width:100%}#this-id-should-not-exist :focus-within,.floating-label{display:block;pointer-events:none;text-align:left;transform:translate3d(1em,calc(2em - 1px),0);transition:.2s ease}#this-id-should-not-exist :focus-within,.floating-label-select{position:relative;z-index:2;background-color:var(--floating-label-background,#fff);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 2.6em - 2px);max-width:74vw}@media (min-width:23.4375em){#this-id-should-not-exist :focus-within,.floating-label-select{max-width:none}}label.has-floating-label-value .floating-label,label:focus-within .floating-label{background-color:transparent;transform:scale(.75) translate3d(-16%,0,0);width:auto;max-width:none;z-index:initial}.gatedcontent{--color-accent:var(--color-violet-dark);--form-button-background:var(--color-accent)}@media (min-width:43.75rem){.gatedcontent{--overlap-margin:20.75em}}.gatedcontent-hero{position:relative;overflow:hidden}.gatedcontent-hero-padding{padding:var(--pancake-block-space) 0 var(--pancake-block-space) 0}.gatedcontent-hero-background{--color-accent:var(--color-gray-D800)}.gatedcontent-hero-image{position:absolute;top:0;right:0;left:0;bottom:0;width:100%;height:100%}.gatedcontent-hero-image img{margin:auto;height:100%;min-height:50%;min-width:100%;-o-object-fit:cover;object-fit:cover}.gatedcontent-hero .heading{margin-bottom:.65em;text-align:left}.gatedcontent-hero .wysiwyg{color:var(--hero-text-color,var(--color-gray-L000))}.gatedcontent-hero-grid{--color-accent:var(--color-teal-T600);grid-column:standard;display:grid;grid-template-columns:1fr;grid-gap:6em;align-items:flex-start}@media (min-width:68.75rem){.gatedcontent-hero-grid{grid-template-columns:8fr 5fr}}.gatedcontent-hero-content{color:var(--hero-text-color,var(--color-gray-L000))}.gatedcontent-hero-content .wysiwyg{max-width:50ch}.content-align-center .wysiwyg,.content-align-center .wysiwyg img{margin-inline:auto}.content-align-center .wysiwyg p:has(.call-to-action+.call-to-action){justify-content:center}.content-align-center{text-align:center}.gatedcontent-hero-info{display:block;padding:0;flex-basis:55%}@media (max-width:43.74rem){.gatedcontent-hero-info{box-shadow:none}}@media (min-width:43.75rem){.gatedcontent-hero-info{padding:1.75em 2.75em 1.75em 1.75em;max-width:var(--gated-content-card-maxwidth,100%)}}.gatedcontent-hero-info .subheading:not(:first-child){margin-top:2em}.gatedcontent-hero-info>*{margin-bottom:1em}.gatedcontent-hero-form{--color-accent:var(--color-gray-L800);flex-direction:column;align-items:flex-start;padding:2em 2em;max-width:30em;justify-self:center;width:100%}.gatedcontent-hero-form .subheading{margin-bottom:.5em}.gatedcontent-hero-form .form-button{width:100%}.gatedcontent-hero-form .hs-form-container{margin-top:1em}:where(.lo){--lo-stackpoint:initial;--lo-margin-h:0px;--lo-margin-v:0px;display:flex;flex-wrap:wrap;margin:0;margin-top:calc(-1 * var(--lo-margin-v));margin-left:calc(-1 * var(--lo-margin-h))}:where(.lo)>*{--lo-margin-mod:calc(var(--lo-stackpoint, -1 * var(--lo-margin-h)) - var(--lo-stackpoint, 0px) + var(--lo-margin-h));--lo-stackpoint-calc:calc((var(--lo-stackpoint, 100%) - 100% + var(--lo-margin-mod)) * 999);flex-grow:1;flex-basis:var(--lo-stackpoint-calc);margin:0;margin-top:var(--lo-margin-v);margin-left:var(--lo-margin-h)}.lo-debug>*{outline:1px dotted}.lo-inline>*{flex-grow:0}.lo-max{flex-grow:999}.lo-flex{display:flex}.lo-center{display:flex;justify-content:center;align-items:center}.lo-h-center{justify-content:center}.lo-v-end{align-items:flex-end}.lo-col{flex-direction:column}.lo-col-v-end{justify-content:flex-end}@supports (clip-path:inset(0px 0px)) or (-webkit-clip-path:inset(0px 0px)){.lo-separator-h,.lo-separator-v{clip-path:inset(var(--lo-margin-v,0) 0 0 var(--lo-margin-h,0))}.lo-separator-h>*,.lo-separator-v>*{position:relative}.lo-separator-h>:before{content:"";position:absolute;left:calc(-.5 * var(--lo-margin-h,0) - .5px);top:0;bottom:0;border-left:1px solid var(--lo-separator-h-color,var(--lo-separator-color,var(--color-gray-L300)))}.lo-separator-v>:after{content:"";position:absolute;left:0;top:calc(-.5 * var(--lo-margin-v,0) - 1px);right:0;border-top:1px solid var(--lo-separator-v-color,var(--lo-separator-color,var(--color-gray-L300)))}}.responsive-youtube-video{position:relative;width:100%;aspect-ratio:16/9}.responsive-youtube-video iframe{height:100%;left:0;margin:0;position:absolute;top:0;width:100%}.icon-arrow{fill:var(--theme-icon-color,currentColor)}.call-to-action{--call-to-action-foreground:var(--color-gray-L800);font-weight:700;font-size:1em;line-height:1.5;display:inline-block;align-items:center;color:var(--call-to-action-foreground)}.call-to-action .icon{display:inline;white-space:nowrap;margin-inline-start:.1em}.call-to-action .icon svg{fill:var(--color-teal-T600);width:.75em;height:auto;margin-left:.5em;flex-shrink:0}.call-to-action[href*="://"]:not([href*="netlify.com"]) .icon svg{transform:rotate(-45deg)}.call-to-action[href^="#"] .icon svg{transform:rotate(90deg)}.call-to-action-arrow-prefix .icon svg{margin-left:0;margin-right:.5em;transform:rotate(180deg)}.call-to-action span{text-decoration:underline}.call-to-action:hover span{-webkit-text-decoration-color:var(--color-teal-T600);text-decoration-color:var(--color-teal-T600)}.call-to-action-ru{text-decoration:none}.call-to-action-ru:focus,.call-to-action-ru:hover{text-decoration:underline}.call-to-action-button{font-family:var(--font-headline);--button-color-foreground:var(--theme-background, var(--color-gray-L000));--button-color-background:var(--color-accent, var(--theme-foreground, var(--color-gray-L800)));font-size:1em;color:var(--button-color-foreground);border-radius:var(--border-radius);border:1px var(--button-color-border) solid;padding:.5em 1.5em;text-decoration:none;text-align:center;cursor:pointer;background-color:var(--button-color-background);transition:background-color,border-color;transition-duration:.2s;outline-offset:3px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.call-to-action-button span{text-decoration:none}.call-to-action-button>svg{fill:currentColor}.call-to-action-button:focus-visible{transition:outline-offset .1s ease-out,background-color .2s,border-color .2s;outline-offset:4px}.call-to-action-large{font-size:1.25em}.call-to-action-full{width:100%;text-align:center}.call-to-action-variant-teal{--button-color-foreground:var(--color-teal-T900);--button-color-background:var(--color-teal-T500);--button-color-border:var(--color-teal-T500)}.call-to-action-variant-teal:disabled{--button-color-foreground:var(--color-teal-T700);--button-color-background:var(--color-teal-T100);--button-color-border:var(--color-teal-T100);cursor:not-allowed}.call-to-action-variant-teal:active:not([disabled]),.call-to-action-variant-teal:hover:not([disabled]){--button-color-background:var(--color-teal-T200);--button-color-border:var(--color-teal-T200)}.call-to-action-variant-blue{--button-color-foreground:var(--color-blue-B050);--button-color-background:var(--color-blue-B500);--button-color-border:var(--color-blue-B500)}.call-to-action-variant-blue:active:not([disabled]),.call-to-action-variant-blue:hover:not([disabled]){--button-color-foreground:var(--color-blue-B050);--button-color-background:var(--color-blue-B700);--button-color-border:var(--color-blue-B700)}.call-to-action-variant-black{--button-color-foreground:var(--color-blue-B050);--button-color-background:var(--color-gray-L800);--button-color-border:var(--color-gray-L800)}.call-to-action-variant-black:active:not([disabled]),.call-to-action-variant-black:hover:not([disabled]){--button-color-foreground:var(--color-blue-B050);--button-color-background:var(--color-blue-B700);--button-color-border:var(--color-blue-B700)}.call-to-action-variant-ghost{--button-color-background:transparent;--button-color-foreground:var(--color-blue-B500);--button-color-border:var(--color-blue-B500)}.call-to-action-variant-ghost:hover:not([disabled]){--button-color-foreground:var(--color-blue-B800);--button-color-border:var(--color-blue-B800)}button.call-to-action-variant-text{font-family:inherit;background-color:transparent;border:none}.wysiwyg-superscript{font-size:.6em}.wysiwyg div>:not(:first-child):not(img){margin-top:1em}.wysiwyg :first-child{margin-top:0}.wysiwyg h1{font-family:var(--font-headline);font-weight:680;letter-spacing:-.02em;line-height:1.4;--heading-min-font-size:2em;--heading-max-font-size:3em;font-size:var(--heading-min-font-size);font-size:clamp(var(--heading-min-font-size),6vw,var(--heading-max-font-size));line-height:1.2}.wysiwyg h2{font-size:1.85em}.wysiwyg h3{font-size:1.5em;margin:2em 0 .5em 0}.wysiwyg ol,.wysiwyg ul{margin-left:1.2em}.wysiwyg a{-ms-word-break:break-all;word-break:break-all;word-break:break-word}.wysiwyg a:hover{text-decoration:none}.wysiwyg picture{display:block}.wysiwyg img{max-width:100%;height:auto;margin:2em 0;display:block}.wysiwyg pre{background-color:var(--color-gray-L800);border-radius:3px}.wysiwyg pre code{color:var(--color-gray-L000);padding:1.5em;overflow-x:auto;width:100%}.wysiwyg code{font-family:var(--font-monospace);background-color:rgba(14,30,37,.09);color:var(--color-gray-L800);padding:0 .3em;border-radius:3px;display:inline-block;font-size:.8em}.wysiwyg strong{font-weight:800;letter-spacing:-.02em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#7c7c7c}.token.punctuation{color:#c5c8c6}.namespace{opacity:.7}.token.keyword,.token.property,.token.tag{color:#96cbfe}.token.class-name{color:#ffffb6}.token.boolean,.token.constant{color:#9c9}.token.deleted,.token.symbol{color:#f92672}.token.number{color:#ff73fd}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#a8ff60}.token.variable{color:#c6c5fe}.token.operator{color:#ededed}.token.entity{color:#ffffb6;cursor:help}.token.url{color:#96cbfe}.language-css .token.string,.style .token.string{color:#87c38a}.token.atrule,.token.attr-value{color:#f9ee98}.token.function{color:#dad085}.token.regex{color:#e9c062}.token.important{color:#fd971f}.token.bold,.token.important{font-weight:var(--bold)}.token.italic{font-style:italic}.icon-arrow-down{fill:var(--theme-icon-arrow-down-color,var(--theme-icon-color,var(--theme-foreground)))}.pancake-intro-title{margin-bottom:.5em}.pancake-intro-text{max-width:65ch;margin-bottom:2em}.pancake-intro-align-center{text-align:center}.pancake-intro-align-center .pancake-intro-text{margin-left:auto;margin-right:auto}.details[data-v-188fcdb4],.list[data-v-188fcdb4]{width:100%;max-width:80ch;margin-inline:auto}.question[data-v-188fcdb4]{font-weight:var(--bold)}.arrow[data-v-188fcdb4]{flex-shrink:0;margin-block-start:.75em;width:1rem;height:1rem}.summary[data-v-188fcdb4]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-block:1.5rem}.summary[data-v-188fcdb4]::marker{content:""}.details[data-v-188fcdb4]>:last-child{margin-bottom:2rem}.details+.details[data-v-188fcdb4]{border-block-start:1px solid var(--color-gray-L300)}.details[open] .arrow[data-v-188fcdb4]{transform:rotate(180deg)}.list dd+dt[data-v-188fcdb4]{margin-block-start:3rem}.list dt[data-v-188fcdb4]{margin-block-end:1rem}.pancake>*{grid-column:standard}.landing-page-features-title{margin-bottom:1.25em}.landing-page-features-row{--max-media-size:35em}.landing-page-features-row--stacked{--max-media-size:100%}.landing-page-features-image,.landing-page-features-image img,.landing-page-features-media{border-radius:12px;height:auto;width:min(var(--max-media-size),100%);margin:0 auto}.landing-page-features-media iframe{border-radius:var(--border-radius)}.landing-page-features .pancake-intro{margin-bottom:2em}.landing-page-features-row{display:flex;flex-wrap:wrap;align-items:center;gap:4rem}.landing-page-features-row--side-by-side.landing-page-features-row--right{flex-direction:row-reverse}.landing-page-features-row--stacked{flex-direction:column}.landing-page-features-row--stacked.landing-page-features-row--right{flex-direction:column-reverse}.landing-page-features .landing-page-features-row:nth-child(odd) .type-b{grid-row:1}.landing-page-features-row+.landing-page-features-row{margin-top:5em}@media (min-width:56.25rem){.landing-page-features-row+.landing-page-features-row{margin-top:8em}}.landing-page-features-row--side-by-side .landing-page-features-media,.landing-page-features-row--side-by-side .landing-page-features-wysiwyg{flex-basis:400px;flex-grow:1}.landing-page-features-wysiwyg .wysiwyg{max-inline-size:80ch}.landing-page-features-row .wysiwyg li{margin-bottom:1em}.landing-page-features-row .wysiwyg .call-to-action{margin-top:2em}.preheader{font-weight:500;text-transform:uppercase;letter-spacing:.04em;border:none;color:var(--color-gray-L600);text-align:center;display:flex;justify-content:center;grid-column:full;min-height:1em;position:relative;margin-bottom:1em;padding:0 1em}@media (min-width:37.5rem){.preheader{grid-column:standard}}.preheader-align-left{justify-content:flex-start;text-align:left;padding-left:0}.landing-page-feature-lists__wrapper{--border-color:var(--color-gray-L300);border:1px solid var(--border-color);padding:.75rem;border-radius:8px;width:min(1000px,100%);margin-inline:auto}.landing-page-feature-lists__icon{margin-block-end:var(--space-3)}.landing-page-feature-lists__list,.landing-page-feature-lists__text{padding:clamp(var(--space-4),4vw,var(--space-5))}.landing-page-feature-lists__list+.landing-page-feature-lists__list:not(.landing-page-feature-lists__list--featured){border-top:1px solid var(--border-color)}.landing-page-feature-lists__list--featured{background-color:var(--color-gray-L200);border-radius:8px}.landing-page-feature-lists__list--featured,.landing-page-feature-lists__list--featured+.landing-page-feature-lists__list{border-top:unset}.landing-page-feature-lists__icon{margin-block-end:var(--space-2)}.landing-page-feature-lists__title{font-weight:680}.landing-page-feature-lists__subhead{margin-block-start:var(--space-2);font-size:.75rem;font-weight:350}.landing-page-feature-lists__features ul{margin-left:0;list-style:none}.landing-page-feature-lists__features li{position:relative;padding-left:1.5em;-moz-column-break-inside:avoid;break-inside:avoid-column}.landing-page-feature-lists__features li::before{content:url(https://assets.codepen.io/225363/icon-check-circle.svg);position:absolute;top:.15em;left:0}.landing-page-feature-lists__features li+li{margin-top:var(--space-3)}.landing-page-feature-lists__multi-column>ul{-moz-column-width:300px;column-width:300px;-moz-column-count:2;column-count:2;-moz-column-gap:var(--space-6);column-gap:var(--space-6);page-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}.landing-page-logos-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));place-items:center;gap:3rem}*+.landing-page-logos-layout{margin-block-start:2rem}.landing-page-logos-layout *{width:100%;height:100%;max-width:10rem;max-height:4rem;-o-object-fit:contain;object-fit:contain}.logos-ticker{--speed:60s;--gap:3rem;--logosColor:var(--color-gray-L800);border-bottom:1px var(--color-gray-L300) solid;padding:2em 0;display:flex;flex-wrap:nowrap;overflow:hidden;gap:var(--gap);-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0,#000 15%,#000 85%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0,#000 15%,#000 85%,rgba(0,0,0,0) 100%)}.logos-ticker-wrapper{position:relative}.logos-tickers-theme-dark{--logosColor:var(--color-gray-L000)}.logos-tickers-top-border{border-top:1px var(--color-gray-L300) solid}.logos-ticker-scroll-direction-right .logos-ticker-container{animation-direction:reverse}.logos-ticker-container{flex-shrink:0;display:flex;align-items:center;justify-content:space-around;flex-wrap:nowrap;gap:var(--gap);min-width:100%;animation:slide var(--speed) linear infinite}.logos-ticker-headline{position:absolute;font-weight:700;display:flex;flex-wrap:nowrap;gap:var(--space-2);justify-content:flex-start;align-items:center;width:100%}.logos-ticker-headline:after{content:"";flex:1 1 auto;border-bottom:solid 1px var(--color-gray-L300)}@media (prefers-reduced-motion:reduce){.logos-ticker-container{animation-play-state:paused}}.logos-ticker-container svg{fill:var(--logosColor)}.logos-ticker-container :is(picture,img,svg){width:130px;height:75px;-o-object-fit:contain;object-fit:contain}@keyframes slide{0%{transform:translateX(calc(var(--gap) * -1))}100%{transform:translateX(calc(-100% - var(--gap) * 2))}}.card{--card-pad:1.5em;--card-radius:0.625em;position:relative;box-shadow:0 2px 4px rgba(14,30,37,.12);padding:var(--card-pad);border-radius:var(--card-radius);border:1px solid var(--color-gray-L300)}.card-theme-light{background-color:var(--color-white);color:var(--color-gray-L800)}.card-shadow-light{box-shadow:var(--shadow-light)}.card-shadow-heavy{box-shadow:var(--shadow-heavy)}.card-shadow-deep{box-shadow:var(--shadow-deep)}.card-shadow-none{box-shadow:none;border:0}.card-hoverable{transition:transform 150ms,box-shadow 150ms}.card-hoverable:hover{transform:translate(0,-5px);box-shadow:var(--shadow-deep)}.landing-page-people-with-bio-grid{display:grid;grid-template-columns:1fr;grid-column-gap:2em;justify-items:center;margin:1em 0 4em 0}@media (min-width:31.26rem){.landing-page-people-with-bio-grid{grid-template-columns:repeat(auto-fit,minmax(25em,1fr))}}.landing-page-people-with-bio-grid-highlighted{grid-row-gap:2em}.landing-page-people-with-bio-card{--color-bio:var(--color-gray-L700);--color-name:var(--color-gray-L800);display:grid;grid-template-columns:1fr;grid-gap:1em;padding:2em;max-width:37em}@media (min-width:31.26rem){.landing-page-people-with-bio-card{grid-template-columns:max-content 1fr}}.landing-page-people-with-bio-card-highlighted{--color-bio:var(--color-gray-L700);--color-name:var(--color-gray-L800);--color-card:var(--color-gray-L000);background-color:var(--color-card);border-radius:calc(1.5 * var(--border-radius))}.landing-page-people-with-bio-card-bio{color:var(--color-bio)}.landing-page-people-with-bio-card-thumbnail,.landing-page-people-with-bio-card-thumbnail img{border-radius:var(--border-radius);width:5em;height:5em}.landing-page-people-with-bio-card-name{color:var(--color-name);margin-bottom:.5em}.pancake-theme-dark .landing-page-people-with-bio-card{--color-bio:var(--color-gray-L400);--color-name:var(--color-gray-L000)}.pancake-theme-dark .landing-page-people-with-bio-card-highlighted{--color-bio:var(--color-gray-L700);--color-name:var(--color-gray-L800)}.pancake-theme-white .landing-page-people-with-bio-card-highlighted{--color-card:var(--color-gray-L100)}.pancake>*{grid-column:standard}.landing-page-people-with-bio-grid{display:grid;grid-template-columns:1fr;grid-column-gap:2em;justify-items:center;margin:1em 0 4em 0}@media (min-width:31.26rem){.landing-page-people-with-bio-grid{grid-template-columns:repeat(auto-fit,minmax(25em,1fr))}}.landing-page-people-with-bio-grid-highlighted{grid-row-gap:2em}.landing-page-people-with-bio-card{--color-bio:var(--color-gray-L700);--color-name:var(--color-gray-L800);display:grid;grid-template-columns:1fr;grid-gap:1em;padding:2em;max-width:37em}@media (min-width:31.26rem){.landing-page-people-with-bio-card{grid-template-columns:max-content 1fr}}.landing-page-people-with-bio-card-highlighted{--color-bio:var(--color-gray-L700);--color-name:var(--color-gray-L800);--color-card:var(--color-gray-L000);background-color:var(--color-card);border-radius:calc(1.5 * var(--border-radius))}.landing-page-people-with-bio-card-bio{color:var(--color-bio)}.landing-page-people-with-bio-card-thumbnail,.landing-page-people-with-bio-card-thumbnail img{border-radius:var(--border-radius);width:5em;height:5em}.landing-page-people-with-bio-card-name{color:var(--color-name);margin-bottom:.5em}.pancake-theme-dark .landing-page-people-with-bio-card{--color-bio:var(--color-gray-L400);--color-name:var(--color-gray-L000)}.pancake-theme-dark .landing-page-people-with-bio-card-highlighted{--color-bio:var(--color-gray-L700);--color-name:var(--color-gray-L800)}.pancake-theme-white .landing-page-people-with-bio-card-highlighted{--color-card:var(--color-gray-L100)}.icon-check-yes{fill:var(--color-teal-T600)}.table-wrapper[data-v-060f9e92]{grid-area:standard;overflow-x:auto;overscroll-behavior-x:contain;box-shadow:0 4px 40px rgb(0 0 0 / 12%)}.table[data-v-060f9e92]{--cell-padding:1rem;table-layout:fixed;border-collapse:collapse;width:100%;min-width:40rem}.table [data-v-060f9e92]{scroll-margin-top:calc(9.5rem + var(--ntl-page-header-height))}.table td[data-v-060f9e92],.table th[data-v-060f9e92]{border:1px var(--color-gray-L300) solid;padding:var(--cell-padding);text-align:var(--ntl-table-text-align,center)}.table th[data-v-060f9e92]:first-child,.table thead td[data-v-060f9e92]:first-child{text-align:left;background-color:var(--color-gray-L100)}td[data-v-060f9e92]:nth-child(odd),th[data-v-060f9e92]:nth-child(odd){background-color:var(--ntl-table-column-zebra-stripe,var(--color-white))}.table tr.section-heading th[data-v-060f9e92]{padding:calc(var(--cell-padding)/ 2) var(--cell-padding);border-color:var(--color-gray-L700);font-size:1.375em;text-align:left;color:var(--color-gray-L000);background-color:var(--color-gray-L700)}.scrim-icon{--scrim-icon-background-color:var(--color-gray-L200);--scrim-icon-color:var(--color-gray-L600);--scrim-icon-width:5em;--scrim-icon-height:3.5em;background-color:var(--scrim-icon-background-color);border-radius:var(--border-radius);width:var(--scrim-icon-width);height:var(--scrim-icon-height);color:var(--scrim-icon-color);display:flex;justify-content:center;align-items:center;font-weight:700}.scrim-icon.theme-dark{--scrim-icon-background-color:var(--color-gray-L800);--scrim-icon-color:var(--color-gray-L000)}.scrim-icon.theme-light{--scrim-icon-background-color:var(--color-gray-L000);--scrim-icon-color:var(--color-gray-L800)}.scrim-icon svg{fill:var(--scrim-icon-color);width:100%;max-width:70%;max-height:70%}.testimonial-link{font-size:1rem;font-weight:400}.testimonial{display:flex;justify-content:center;flex-wrap:wrap;padding:2rem;box-shadow:var(--shadow-heavy);background:var(--neutral-light-000);border-radius:var(--border-radius-3);-moz-column-gap:2rem;column-gap:2rem}.testimonial-content{margin-block:1rem;flex-basis:15em;flex-grow:1;position:relative;font-weight:500}.testimonial-content>*+*{margin-block-start:1rem}.testimonial-content strong{font-weight:inherit}.testimonial-content>p:first-of-type::before{content:"“";position:absolute;left:0;transform:translateX(-100%)}.testimonial-content>p:last-of-type::after{content:"”"}.testimonial-thumbnail{align-self:center;position:relative}.testimonial-thumbnail img{border-radius:var(--border-radius);display:block;max-width:164px;height:auto}.testimonial-thumbnail .scrim-icon{position:absolute;bottom:-1.25em;right:-1.56em;box-shadow:0 6px 12px rgba(14,30,37,.08)}.testimonial-footer{color:var(--color-gray-L500);text-transform:uppercase}strong.testimonial-footer-author{color:var(--color-gray-L600);font-weight:700}.testimonial-icon-quote{fill:var(--color-accent,var(--color-pink-dark))}.twitter-card{background-color:var(--color-gray-L000)}.twitter-card a:not(.twitter-card-author-title){color:currentColor;text-decoration:underline;font-weight:700}.twitter-card a:not(.twitter-card-author-title):hover{text-decoration:none}.pancake-theme-dark .twitter-card{color:var(--color-gray-L800)}.twitter-card-footer{display:flex;align-items:center;margin-top:1.5em}.twitter-card-author{line-height:1.2;font-size:.85em}.twitter-card-author-title{display:flex;align-items:center;text-decoration:none}.twitter-card-author-title:hover{text-decoration:underline}.twitter-card-icon-twitter{fill:var(--color-gray-L800);margin-right:.2em;width:1em;height:1em}.twitter-card-thumbnail img{border-radius:50%;margin-right:1em;width:50px;height:50px}.twitter-card-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));grid-gap:1em;align-items:flex-start}.twitter-cards{grid-column:full}.pancake .twitter-cards-list{list-style:none;display:flex;flex-direction:row;grid-column:full;margin-top:1em;padding-left:2rem;padding-bottom:1.5em;overflow:auto;-ms-overflow-style:none;scrollbar-width:none}.pancake .twitter-cards-list li+li{margin-left:1rem}.pancake .twitter-cards-list .twitter-card{width:26.5rem;max-width:72vw}.pancake .twitter-cards-list::-webkit-scrollbar{height:0;width:0}.dots{width:100%;height:63%;position:absolute;top:40%;left:0;z-index:-1}.pancake>*{grid-column:standard}.landing-page-testimonial .pancake.twitter-cards{padding:0}.landing-page-testimonial .pancake.twitter-cards,.landing-page-testimonial .pancake.twitter-cards .twitter-cards-list{grid-column:full}.pancake>*{grid-column:standard}.landing-page-text-with-columns{--color-icon-background:var(--color-gray-L200);--color-icon-foreground:var(--color-blue-B500);text-align:center}.landing-page-text-with-columns-column{display:flex;flex-direction:column;gap:var(--space-4)}.landing-page-text-with-columns-column.card{max-inline-size:580px;background-color:var(--color-gray-L000)}.landing-page-text-with-columns-copy{flex-grow:1}.landing-page-text-with-columns-cta{margin-top:auto}.landing-page-text-with-columns.pancake-theme-light{--color-icon-background:var(--color-gray-L000)}.landing-page-text-with-columns.pancake-theme-dark{--color-icon-background:var(--color-gray-D700);--color-icon-foreground:var(--color-teal-T500)}.landing-page-text-with-columns .pancake-intro{max-width:100ch;margin-left:auto;margin-right:auto}.landing-page-text-with-columns-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20em,1fr));gap:3rem;text-align:left;margin-top:calc(var(--pancake-block-space)/ 2);justify-items:center}.landing-page-text-with-columns-grid-centered{text-align:center}.landing-page-text-with-columns-card-heading{font-weight:600;line-height:1.3}.landing-page-text-with-columns-main-cta{justify-self:center;margin-top:4rem}.landing-page-text-with-columns-icon{width:8.75rem;height:8.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--color-icon-background)}.landing-page-text-with-columns-grid-centered .landing-page-text-with-columns-icon{margin-inline:auto}.landing-page-text-with-columns-icon--containerless{width:3rem;height:3rem;background:0 0}.landing-page-text-with-columns-icon img{width:3rem;height:3rem;color:var(--color-icon-foreground)}.landing-page-text-with-columns-image img{height:auto;border-radius:var(--border-radius-3)}.pancake>*{grid-column:standard}.landing-page-video-section-cta{max-width:-moz-fit-content;max-width:fit-content;margin:0 auto 4rem}.landing-page-video-section-cta-bottom{grid-row:3;margin:2rem auto 0}.landing-page-video-section-video{border:1rem solid var(--color-gray-L000);border-radius:var(--border-radius-large)}@media (max-width:425px){.landing-page-video-section-video{border:.5rem solid var(--color-gray-L000)}}.landing-page-social-proof{--ntl-pancake-social-proof-column-width:220px}.landing-page-social-proof ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--ntl-pancake-social-proof-column-width),100%),1fr));gap:var(--space-3)}.landing-page-social-proof li{background-color:var(--color-gray-D700);color:#fff;display:flex;place-content:center;border-radius:8px;padding:2rem 1.5rem}.landing-page-social-proof article{display:flex;flex-direction:column;place-items:center}.landing-page-social-proof_title{font-size:30px;font-weight:700}.landing-page-social-proof .wysiwyg>p{font-size:14px;text-transform:uppercase;font-weight:500;letter-spacing:.04em;text-align:center}.landing-page-social-proof_image,.landing-page-social-proof_image img{height:70px;width:auto;margin-block-end:var(--space-3)}.landing-page-social-proof:is(.pancake-theme-white,.pancake-theme-default,.pancake-theme-light) .landing-page-social-proof_image[src*=".svg"]{filter:invert(1)}.landing-page-social-proof.pancake-theme-dark li{background-color:var(--color-white);color:var(--color-gray-D800)}.button-group{--button-group-margin:0.75em;display:flex;flex-wrap:wrap;list-style:none;align-items:center;justify-content:center;margin-left:calc(-1 * var(--button-group-margin));margin-right:calc(-1 * var(--button-group-margin))}.button-group li{margin-bottom:1em;margin-left:var(--button-group-margin);margin-right:var(--button-group-margin)}@media (min-width:37.5rem){.button-group{justify-content:unset}}.button-group-center{justify-content:center}.pre-footer{text-align:center}.pre-footer .heading{margin-bottom:.7em}.pre-footer-subhed{color:var(--color-gray-darkest-L700);margin-left:auto;margin-right:auto;margin-bottom:2.8em;max-width:30em}.pre-footer-theme-dark{--heading-color:var(--color-white);padding:3rem 0;color:var(--color-white);background-color:var(--color-gray-D800)}.pre-footer-theme-dark .call-to-action{--call-to-action-foreground:var(--color-white)}.pancake>*{grid-column:standard}.landing-page-hsform-layout{--lo-margin-h:4em;--lo-margin-v:2em;--lo-stackpoint:37.5em}.landing-page-hsform-title{margin-bottom:.5em}@media (min-width:64em){.landing-page-hsform-intro{flex-grow:1.3}}.landing-page-brave section:nth-of-type(2){padding:3em 0 7em 0}.landing-page-brave a[href]{font-size:1rem}.landing-page-brave .theme-dark .masthead{--theme-masthead-navigation-background:transparent}.landing-page-brave .compat-grid .masthead-content{justify-content:left}.landing-page-brave .gatedcontent-hero{--color-accent:transparent;padding:2em 0 6em 0}.landing-page-brave .hero-colored:after{background-image:url(/v3/img/components/hero-brave-background.jpg);background-position:center;background-repeat:no-repeat;background-size:cover;height:50em}@media (max-width:63.125em){.landing-page-brave .hero-colored:after{height:45em}}.landing-page-brave .hero-colored.gatedcontent-hero .pancake{padding:4em 0}.landing-page-brave .landing-page-hero-heading,.landing-page-brave .wysiwyg div>p:first-of-type{max-width:38rem}.landing-page-brave .hero-brave-landing-container{text-align:left}.landing-page-brave .hero-brave-landing-container .wysiwyg{margin:0}.landing-page-brave .hero-brave-landing-container .wysiwyg div>:nth-child(2){margin-top:2em}.landing-page-brave .hero-brave-landing-container .wysiwyg div>:nth-child(3){margin-top:.5em}.landing-page-brave .hero-brave-landing-container .wysiwyg div>:nth-child(3)>a{position:relative;display:inline-flex;align-items:center}.landing-page-brave .hero-brave-landing-container .wysiwyg div>:nth-child(3)>a:after{content:'';width:12px;height:10px;display:inline-block;-webkit-mask:url(/v3/img/components/icon-arrow.svg);mask:url(/v3/img/components/icon-arrow.svg);-webkit-mask-size:cover;mask-size:cover;background-color:var(--color-teal-T500);transform:scale(1.4);margin-left:1rem}@media (max-width:63.125em){.landing-page-brave .hero-brave-landing-container{margin-top:4rem}}.landing-page-brave .landing-page-logos-layout>*{flex-basis:20em}.landing-page-brave .landing-page-logos-layout{margin-top:0}.landing-page-brave .landing-page-logos-company{width:100%}.landing-page-brave .landing-page-logos-company[alt="Logo for Kava Labs"]{max-height:3em}.landing-page-brave .landing-page-logos-company[alt="Logo for Chainlink"]{width:60%;margin:auto}.landing-page-brave .landing-page-logos-company[alt="Logo for Dfinity"]{max-height:5em}.landing-page-brave .footer-simplified .footer-simplified-nav>ul{flex-wrap:wrap}.pancake>*{grid-column:standard}.pancake{padding:var(--pancake-block-space) 0;margin:0}.pancake-theme-dark+.pancake-theme-dark,.pancake-theme-light+.pancake-theme-light,.pancake-theme-white+.pancake-theme-white{padding-top:0}.gatedcontent-hero .pancake{padding:2rem 0 0 0}.gatedcontent-hero .wysiwyg p:has(.call-to-action+.call-to-action){display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.gatedcontent-hero .wysiwyg p:has(.call-to-action+.call-to-action)>.call-to-action{flex-basis:max-content}.gatedcontent-hero .call-to-action-variant-ghost{--button-color-foreground:var(--color-teal-T200);--button-color-border:var(--color-teal-T200)}.call-to-action-variant-ghost:hover:not([disabled]){--button-color-foreground:var(--color-teal-T400);--button-color-border:var(--color-teal-T400)}.gatedcontent-hero .call-to-action-variant-text{color:var(--color-white)}.gatedcontent-hero .pancake:first-of-type{padding-block-start:0}.landing-page-hero-pretitle{text-transform:uppercase;display:block;margin-bottom:.5em}.landing-page-hero-heading{margin-bottom:.65em}.landing-page-testimonial .testimonial{grid-column:narrow}.wysiwyg a:not([class]){font-weight:700}.landing-page-oreilly-jamstack .landing-page-features .pancake-intro{max-width:81ch;margin-left:auto;margin-right:auto}.landing-page-oreilly-jamstack .gatedcontent-hero{background-image:url(/v3/img/components/oreilly-wave.png);background-position:bottom center;background-repeat:no-repeat}.landing-page-total-economic-impact-of-netlify .gatedcontent-hero-content img{max-width:17em;margin-bottom:2rem} } </style> <link rel="stylesheet" href="/css/beon.css"> <!-- OneTrust --> <link rel="stylesheet" href="/css/onetrust.css"> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag("consent", "default", { ad_storage: "denied", analytics_storage: "denied", functionality_storage: "denied", personalization_storage: "denied", security_storage: "denied", region: [ "AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "EL", "HU", "IE", "IT", "LV", "LT", "LU", "MT", "NL", "PL", "PT", "RO", "SK", "SI", "ES", "SE", "UK", ], }); gtag("consent", "default", { ad_storage: "granted", analytics_storage: "granted", functionality_storage: "granted", personalization_storage: "granted", security_storage: "granted", }); function OptanonWrapper() { if(!OneTrust.IsAlertBoxClosed()) { document.body.classList.add('onetrust-alert-box-open'); } OneTrust.OnConsentChanged(() => { if(OneTrust.IsAlertBoxClosed()) { document.body.classList.remove('onetrust-alert-box-open'); } }); } </script> <!-- Google Tag Manager --> <script> (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({'gtm.start': new Date().getTime(), event: 'gtm.js'}); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f .parentNode .insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-T7WNFLD'); </script> <!-- End Google Tag Manager --> <!-- Qualified --> <script> (function (w, q) { w['QualifiedObject'] = q; w[q] = w[q] || function () { (w[q].q = w[q].q || []).push(arguments) }; })(window, 'qualified') </script> <script async src="https://js.qualified.com/qualified.js?token=FvGWn26rk1tuEjBR"></script> <!-- End Qualified --> <script src="https://js.hsforms.net/forms/v2.js"></script> </head> <body> <svg width="0" height="0" aria-hidden="true" style="position: absolute"> <defs> <symbol viewBox="0 0 85 107" id="icon-astro"> <path d="M27.5893 91.1365C22.7555 86.7178 21.3443 77.4335 23.3583 70.7072C26.8503 74.948 31.6888 76.2914 36.7005 77.0497C44.4374 78.2199 52.0358 77.7822 59.2231 74.2459C60.0453 73.841 60.8052 73.3027 61.7036 72.7574C62.378 74.714 62.5535 76.6892 62.3179 78.6996C61.7452 83.5957 59.3086 87.3778 55.4332 90.2448C53.8835 91.3916 52.2437 92.4167 50.6432 93.4979C45.7262 96.8213 44.3959 100.718 46.2435 106.386C46.2874 106.525 46.3267 106.663 46.426 107C43.9155 105.876 42.0817 104.24 40.6844 102.089C39.2086 99.8193 38.5065 97.3081 38.4696 94.5909C38.4511 93.2686 38.4511 91.9345 38.2733 90.6309C37.8391 87.4527 36.3471 86.0297 33.5364 85.9478C30.6518 85.8636 28.37 87.6469 27.7649 90.4554C27.7187 90.6707 27.6517 90.8837 27.5847 91.1341L27.5893 91.1365Z" fill="currentColor"/> <path d="M0 69.5866C0 69.5866 14.3139 62.6137 28.6678 62.6137L39.4901 29.1204C39.8953 27.5007 41.0783 26.3999 42.4139 26.3999C43.7495 26.3999 44.9325 27.5007 45.3377 29.1204L56.1601 62.6137C73.1601 62.6137 84.8278 69.5866 84.8278 69.5866C84.8278 69.5866 60.5145 3.35233 60.467 3.21944C59.7692 1.2612 58.5911 0 57.0029 0H27.8274C26.2392 0 25.1087 1.2612 24.3634 3.21944C24.3108 3.34983 0 69.5866 0 69.5866Z" fill="currentColor"/> </symbol> <symbol viewBox="0 0 448 512" id="icon-arrow"> <path fill="currentcolor" d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"></path> </symbol> <symbol viewBox="0 0 384 512" id="icon-close"> <path fill="currentcolor" d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"></path> </symbol> <symbol viewBox="0 0 22 24" id="icon-search"> <path fill="currentcolor" d="M9.41345,0.47253 C14.4289798,0.47253 18.49487,4.53842023 18.49487,9.55395 C18.49487,12.0451846 17.4917537,14.3021289 15.8674001,15.9429038 L21.392653,21.4668327 L19.271347,23.5881673 L13.3990455,17.7163323 C12.1958116,18.3049607 10.8432164,18.63537 9.41345,18.63537 C4.39792023,18.63537 0.33203,14.5694798 0.33203,9.55395 C0.33203,4.53842023 4.39792023,0.47253 9.41345,0.47253 Z M9.41345,3.47253 C6.05477448,3.47253 3.33203,6.19527448 3.33203,9.55395 C3.33203,12.9126255 6.05477448,15.63537 9.41345,15.63537 C12.7721255,15.63537 15.49487,12.9126255 15.49487,9.55395 C15.49487,6.19527448 12.7721255,3.47253 9.41345,3.47253 Z"></path> </symbol> <symbol viewBox="0 0 512 512" id="icon-chevron"> <path fill="currentcolor" d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-nextjs"> <path fill="currentcolor" d="M11.5725 0c-.1763 0-.3098.0013-.3584.0067-.0516.0053-.2159.021-.3636.0328-3.4088.3073-6.6017 2.1463-8.624 4.9728C1.1004 6.584.3802 8.3666.1082 10.255c-.0962.659-.108.8537-.108 1.7474s.012 1.0884.108 1.7476c.652 4.506 3.8591 8.2919 8.2087 9.6945.7789.2511 1.6.4223 2.5337.5255.3636.04 1.9354.04 2.299 0 1.6117-.1783 2.9772-.577 4.3237-1.2643.2065-.1056.2464-.1337.2183-.1573-.0188-.0139-.8987-1.1938-1.9543-2.62l-1.919-2.592-2.4047-3.5583c-1.3231-1.9564-2.4117-3.556-2.4211-3.556-.0094-.0026-.0187 1.5787-.0235 3.509-.0067 3.3802-.0093 3.5162-.0516 3.596-.061.115-.108.1618-.2064.2134-.075.0374-.1408.0445-.495.0445h-.406l-.1078-.068a.4383.4383 0 01-.1572-.1712l-.0493-.1056.0053-4.703.0067-4.7054.0726-.0915c.0376-.0493.1174-.1125.1736-.143.0962-.047.1338-.0517.5396-.0517.4787 0 .5584.0187.6827.1547.0353.0377 1.3373 1.9987 2.895 4.3608a10760.433 10760.433 0 004.7344 7.1706l1.9002 2.8782.096-.0633c.8518-.5536 1.7525-1.3418 2.4657-2.1627 1.5179-1.7429 2.4963-3.868 2.8247-6.134.0961-.6591.1078-.854.1078-1.7475 0-.8937-.012-1.0884-.1078-1.7476-.6522-4.506-3.8592-8.2919-8.2087-9.6945-.7672-.2487-1.5836-.42-2.4985-.5232-.169-.0176-1.0835-.0366-1.6123-.037zm4.0685 7.217c.3473 0 .4082.0053.4857.047.1127.0562.204.1642.237.2767.0186.061.0234 1.3653.0186 4.3044l-.0067 4.2175-.7436-1.14-.7461-1.14v-3.066c0-1.982.0093-3.0963.0234-3.1502.0375-.1313.1196-.2346.2323-.2955.0961-.0494.1313-.054.4997-.054z"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-jamstack"> <path fill="currentcolor" d="M12 0C5.365 0 0 5.364 0 12s5.365 12 12 12 12-5.364 12-12V0zm.496 3.318h8.17v8.17h-8.17zm-9.168 9.178h8.16v8.149c-4.382-.257-7.904-3.767-8.16-8.149zm9.168.016h8.152a8.684 8.684 0 01-8.152 8.148z"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-react"> <path fill="currentcolor" d="M14.23 12.004a2.236 2.236 0 0 1-2.235 2.236 2.236 2.236 0 0 1-2.236-2.236 2.236 2.236 0 0 1 2.235-2.236 2.236 2.236 0 0 1 2.236 2.236zm2.648-10.69c-1.346 0-3.107.96-4.888 2.622-1.78-1.653-3.542-2.602-4.887-2.602-.41 0-.783.093-1.106.278-1.375.793-1.683 3.264-.973 6.365C1.98 8.917 0 10.42 0 12.004c0 1.59 1.99 3.097 5.043 4.03-.704 3.113-.39 5.588.988 6.38.32.187.69.275 1.102.275 1.345 0 3.107-.96 4.888-2.624 1.78 1.654 3.542 2.603 4.887 2.603.41 0 .783-.09 1.106-.275 1.374-.792 1.683-3.263.973-6.365C22.02 15.096 24 13.59 24 12.004c0-1.59-1.99-3.097-5.043-4.032.704-3.11.39-5.587-.988-6.38-.318-.184-.688-.277-1.092-.278zm-.005 1.09v.006c.225 0 .406.044.558.127.666.382.955 1.835.73 3.704-.054.46-.142.945-.25 1.44-.96-.236-2.006-.417-3.107-.534-.66-.905-1.345-1.727-2.035-2.447 1.592-1.48 3.087-2.292 4.105-2.295zm-9.77.02c1.012 0 2.514.808 4.11 2.28-.686.72-1.37 1.537-2.02 2.442-1.107.117-2.154.298-3.113.538-.112-.49-.195-.964-.254-1.42-.23-1.868.054-3.32.714-3.707.19-.09.4-.127.563-.132zm4.882 3.05c.455.468.91.992 1.36 1.564-.44-.02-.89-.034-1.345-.034-.46 0-.915.01-1.36.034.44-.572.895-1.096 1.345-1.565zM12 8.1c.74 0 1.477.034 2.202.093.406.582.802 1.203 1.183 1.86.372.64.71 1.29 1.018 1.946-.308.655-.646 1.31-1.013 1.95-.38.66-.773 1.288-1.18 1.87-.728.063-1.466.098-2.21.098-.74 0-1.477-.035-2.202-.093-.406-.582-.802-1.204-1.183-1.86-.372-.64-.71-1.29-1.018-1.946.303-.657.646-1.313 1.013-1.954.38-.66.773-1.286 1.18-1.868.728-.064 1.466-.098 2.21-.098zm-3.635.254c-.24.377-.48.763-.704 1.16-.225.39-.435.782-.635 1.174-.265-.656-.49-1.31-.676-1.947.64-.15 1.315-.283 2.015-.386zm7.26 0c.695.103 1.365.23 2.006.387-.18.632-.405 1.282-.66 1.933-.2-.39-.41-.783-.64-1.174-.225-.392-.465-.774-.705-1.146zm3.063.675c.484.15.944.317 1.375.498 1.732.74 2.852 1.708 2.852 2.476-.005.768-1.125 1.74-2.857 2.475-.42.18-.88.342-1.355.493-.28-.958-.646-1.956-1.1-2.98.45-1.017.81-2.01 1.085-2.964zm-13.395.004c.278.96.645 1.957 1.1 2.98-.45 1.017-.812 2.01-1.086 2.964-.484-.15-.944-.318-1.37-.5-1.732-.737-2.852-1.706-2.852-2.474 0-.768 1.12-1.742 2.852-2.476.42-.18.88-.342 1.356-.494zm11.678 4.28c.265.657.49 1.312.676 1.948-.64.157-1.316.29-2.016.39.24-.375.48-.762.705-1.158.225-.39.435-.788.636-1.18zm-9.945.02c.2.392.41.783.64 1.175.23.39.465.772.705 1.143-.695-.102-1.365-.23-2.006-.386.18-.63.406-1.282.66-1.933zM17.92 16.32c.112.493.2.968.254 1.423.23 1.868-.054 3.32-.714 3.708-.147.09-.338.128-.563.128-1.012 0-2.514-.807-4.11-2.28.686-.72 1.37-1.536 2.02-2.44 1.107-.118 2.154-.3 3.113-.54zm-11.83.01c.96.234 2.006.415 3.107.532.66.905 1.345 1.727 2.035 2.446-1.595 1.483-3.092 2.295-4.11 2.295-.22-.005-.406-.05-.553-.132-.666-.38-.955-1.834-.73-3.703.054-.46.142-.944.25-1.438zm4.56.64c.44.02.89.034 1.345.034.46 0 .915-.01 1.36-.034-.44.572-.895 1.095-1.345 1.565-.455-.47-.91-.993-1.36-1.565z"></path> </symbol> <symbol viewBox="0 0 448 512" id="icon-linkedin"> <path fill="currentcolor" d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/> </symbol> <symbol viewBox="0 0 24 24" id="icon-vue"> <path fill="currentcolor" d="M24,1.61H14.06L12,5.16,9.94,1.61H0L12,22.39ZM12,14.08,5.16,2.23H9.59L12,6.41l2.41-4.18h4.43Z"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-svelte"> <path fill="currentcolor" d="M10.354 21.125a4.44 4.44 0 0 1-4.765-1.767 4.109 4.109 0 0 1-.703-3.107 3.898 3.898 0 0 1 .134-.522l.105-.321.287.21a7.21 7.21 0 0 0 2.186 1.092l.208.063-.02.208a1.253 1.253 0 0 0 .226.83 1.337 1.337 0 0 0 1.435.533 1.231 1.231 0 0 0 .343-.15l5.59-3.562a1.164 1.164 0 0 0 .524-.778 1.242 1.242 0 0 0-.211-.937 1.338 1.338 0 0 0-1.435-.533 1.23 1.23 0 0 0-.343.15l-2.133 1.36a4.078 4.078 0 0 1-1.135.499 4.44 4.44 0 0 1-4.765-1.766 4.108 4.108 0 0 1-.702-3.108 3.855 3.855 0 0 1 1.742-2.582l5.589-3.563a4.072 4.072 0 0 1 1.135-.499 4.44 4.44 0 0 1 4.765 1.767 4.109 4.109 0 0 1 .703 3.107 3.943 3.943 0 0 1-.134.522l-.105.321-.286-.21a7.204 7.204 0 0 0-2.187-1.093l-.208-.063.02-.207a1.255 1.255 0 0 0-.226-.831 1.337 1.337 0 0 0-1.435-.532 1.231 1.231 0 0 0-.343.15L8.62 9.368a1.162 1.162 0 0 0-.524.778 1.24 1.24 0 0 0 .211.937 1.338 1.338 0 0 0 1.435.533 1.235 1.235 0 0 0 .344-.151l2.132-1.36a4.067 4.067 0 0 1 1.135-.498 4.44 4.44 0 0 1 4.765 1.766 4.108 4.108 0 0 1 .702 3.108 3.857 3.857 0 0 1-1.742 2.583l-5.589 3.562a4.072 4.072 0 0 1-1.135.499m10.358-17.95C18.484-.015 14.082-.96 10.9 1.068L5.31 4.63a6.412 6.412 0 0 0-2.896 4.295 6.753 6.753 0 0 0 .666 4.336 6.43 6.43 0 0 0-.96 2.396 6.833 6.833 0 0 0 1.168 5.167c2.229 3.19 6.63 4.135 9.812 2.108l5.59-3.562a6.41 6.41 0 0 0 2.896-4.295 6.756 6.756 0 0 0-.665-4.336 6.429 6.429 0 0 0 .958-2.396 6.831 6.831 0 0 0-1.167-5.168Z"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-gatsby"> <path fill="currentcolor" d="M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm0 2.571c3.171 0 5.915 1.543 7.629 3.858l-1.286 1.115C16.886 5.572 14.571 4.286 12 4.286c-3.343 0-6.171 2.143-7.286 5.143l9.857 9.857c2.486-.857 4.373-3 4.973-5.572h-4.115V12h6c0 4.457-3.172 8.228-7.372 9.17L2.83 9.944C3.772 5.743 7.543 2.57 12 2.57zm-9.429 9.6l9.344 9.258c-2.4-.086-4.801-.943-6.601-2.743-1.8-1.8-2.743-4.201-2.743-6.515z"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-wordpress"> <path fill="currentcolor" d="M21.469 6.825c.84 1.537 1.318 3.3 1.318 5.175 0 3.979-2.156 7.456-5.363 9.325l3.295-9.527c.615-1.54.82-2.771.82-3.864 0-.405-.026-.78-.07-1.11m-7.981.105c.647-.03 1.232-.105 1.232-.105.582-.075.514-.93-.067-.899 0 0-1.755.135-2.88.135-1.064 0-2.85-.15-2.85-.15-.585-.03-.661.855-.075.885 0 0 .54.061 1.125.09l1.68 4.605-2.37 7.08L5.354 6.9c.649-.03 1.234-.1 1.234-.1.585-.075.516-.93-.065-.896 0 0-1.746.138-2.874.138-.2 0-.438-.008-.69-.015C4.911 3.15 8.235 1.215 12 1.215c2.809 0 5.365 1.072 7.286 2.833-.046-.003-.091-.009-.141-.009-1.06 0-1.812.923-1.812 1.914 0 .89.513 1.643 1.06 2.531.411.72.89 1.643.89 2.977 0 .915-.354 1.994-.821 3.479l-1.075 3.585-3.9-11.61.001.014zM12 22.784c-1.059 0-2.081-.153-3.048-.437l3.237-9.406 3.315 9.087c.024.053.05.101.078.149-1.12.393-2.325.609-3.582.609M1.211 12c0-1.564.336-3.05.935-4.39L7.29 21.709C3.694 19.96 1.212 16.271 1.211 12M12 0C5.385 0 0 5.385 0 12s5.385 12 12 12 12-5.385 12-12S18.615 0 12 0"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-nuxtjs"> <path fill="currentcolor" d="M13.4642 19.8295h8.9218c.2834 0 .5618-.0723.8072-.2098a1.5899 1.5899 0 0 0 .5908-.5732 1.5293 1.5293 0 0 0 .216-.783 1.529 1.529 0 0 0-.2167-.7828L17.7916 7.4142a1.5904 1.5904 0 0 0-.5907-.573 1.6524 1.6524 0 0 0-.807-.2099c-.2833 0-.5616.0724-.807.2098a1.5904 1.5904 0 0 0-.5907.5731L13.4642 9.99l-2.9954-5.0366a1.5913 1.5913 0 0 0-.591-.573 1.6533 1.6533 0 0 0-.8071-.2098c-.2834 0-.5617.0723-.8072.2097a1.5913 1.5913 0 0 0-.591.573L.2168 17.4808A1.5292 1.5292 0 0 0 0 18.2635c-.0001.2749.0744.545.216.783a1.59 1.59 0 0 0 .5908.5732c.2454.1375.5238.2098.8072.2098h5.6003c2.219 0 3.8554-.9454 4.9813-2.7899l2.7337-4.5922L16.3935 9.99l4.3944 7.382h-5.8586ZM7.123 17.3694l-3.9083-.0009 5.8586-9.8421 2.9232 4.921-1.9572 3.2892c-.7478 1.1967-1.5972 1.6328-2.9163 1.6328z"></path> </symbol> <symbol viewBox="4 4 40 40" id="icon-sitecore"> <path fill="currentcolor" d="M24,4C12.96,4,4,12.96,4,24c0,11.05,8.96,20,20,20s20-8.96,20-20C44,12.96,35.04,4,24,4z M24,38.98c-8.81,0-14.98-6.79-14.98-14.98c0-8.18,6.79-14.98,14.98-14.98c8.18,0,15.02,6.68,15.02,14.86C39.02,32.07,32.81,38.98,24,38.98z"></path> <path fill="currentcolor" d="M35.59,31.129c0,0-4.197,7.217-13.375,6.246c-8.894-0.951-10.6-8.423-10.688-8.894c1.912,3.52,4.756,6.217,11.58,6.217c7.129,0,9.806-5.354,9.806-5.354L35.59,31.129z"></path> <path fill="currentcolor" d="M36.482,30.236l-3.569-1.775c0,0-3.569,5.344-9.806,5.344c-6.903,0-8.796-3.354-8.903-3.559c3.412,3.402,8.09,3.059,11.58,1.775c7.815-2.863,7.129-9.806,7.129-9.806h4.462C37.375,22.215,38.267,27.569,36.482,30.236z"></path> <path fill="currentcolor" d="M32.021,21.323c0,0,0.392,7.227-6.236,9.806c-3.491,1.363-6.884,0.098-7.129,0c0,0,2.628,0.471,4.452,0c3.569-0.892,5.256-2.491,6.236-4.452c2.677-5.354-0.883-8.913-0.883-8.913l4.452-3.569c0,0,4.256,3.677,4.462,7.129H32.021z"></path> </symbol> <symbol viewBox="0 0 98 96" id="icon-github"> <path fill-rule="evenodd" clip-rule="evenodd" fill="currentcolor" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z"></path> </symbol> <symbol viewBox="0 0 22 16" id="icon-youtube"> <path d="M10.994.524s-6.508 0-8.142.435c-.874.25-1.594.99-1.839 1.9C.59 4.536.59 8.007.59 8.007s0 3.484.424 5.134c.245.91.952 1.636 1.84 1.887 1.646.448 8.14.448 8.14.448s6.521 0 8.155-.435a2.623 2.623 0 001.826-1.887c.437-1.663.437-5.134.437-5.134s.013-3.484-.437-5.16A2.605 2.605 0 0019.148.984C17.514.524 10.994.524 10.994.524zM8.923 4.8l5.415 3.207L8.923 11.2V4.8z" fill="currentcolor" fill-rule="nonzero"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-discourse"> <path fill="currentcolor" d="M12.103 0C18.666 0 24 5.485 24 11.997c0 6.51-5.33 11.99-11.9 11.99L0 24V11.79C0 5.28 5.532 0 12.103 0zm.116 4.563c-2.593-.003-4.996 1.352-6.337 3.57-1.33 2.208-1.387 4.957-.148 7.22L4.4 19.61l4.794-1.074c2.745 1.225 5.965.676 8.136-1.39 2.17-2.054 2.86-5.228 1.737-7.997-1.135-2.778-3.84-4.59-6.84-4.585h-.008z"></path> </symbol> <symbol viewBox="0 0 448 512" id="icon-plus"> <path fill="currentcolor" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z"></path> </symbol> <symbol viewBox="0 0 448 512" id="icon-minus"> <path fill="currentcolor" d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"></path> </symbol> </defs> </svg> <!-- Google Tag Manager (noscript) --> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T7WNFLD" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <!-- End Google Tag Manager (noscript) --> <svg width="0" height="0" aria-hidden="true" style="position: absolute;"> <defs> </defs> <!-- TODO are these still in use? --> <pattern id="dots-pattern-gray" x="0" y="0" width="17" height="17" patternUnits="userSpaceOnUse"> <ellipse cx="1.5" cy="1.50075" rx="1.5" ry="1.50075" fill="#222222" fill-opacity="0.4"/> <ellipse cx="9.5" cy="9.50072" rx="1.5" ry="1.50072" fill="#222222" fill-opacity="0.4"/> </pattern> </svg> <div data-server-rendered="true" class="gatedcontent landing-page-whitepaper"><div class="beon" style="display:contents;transform:translate3d(0px, 0px, 0px);"><style></style> <script></script> <svg width="0" height="0" aria-hidden="true" style="position: absolute"> <defs></defs> </svg> <script type="module"></script> </div> <div class="beon" style="display:contents;transform:translate3d(0px, 0px, 0px);"><style>.ntl-announcement-bar{align-items:center;background-color:var(--color-brand-1);color:var(--color-text-inverse);display:grid;font-size:var(--step--1);font-weight:var(--font-weight-semibold);gap:var(--space-m);grid-template-columns:1fr auto;padding:var(--space-2xs);position:relative;z-index:1}.ntl-announcement-bar[hidden]{display:none}.ntl-announcement-bar:hover a{text-decoration:none}.ntl-announcement-bar>*{grid-row:1}.ntl-announcement-bar p{justify-self:center}.ntl-announcement-bar a:before{bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0;z-index:1}.ntl-announcement-bar .close{border:none;color:inherit;outline-offset:-1px;padding:0;z-index:2}.ntl-site-logo{display:grid;flex-shrink:0;height:auto;margin-block:var(--space-xs);max-inline-size:clamp(90px,15vw,122px);outline-offset:2px;position:relative;top:1px;width:100%}.ntl-site-logo svg{display:flex}.ntl-site-logo .spark{fill:var(--color-brand-logo-spark)}.ntl-site-logo .text{fill:var(--color-brand-logo-text)}@media (min-width:1085px){.ntl-site-logo{--offset:1.4em;margin-inline:calc(var(--offset)*-1) calc(var(--offset)/2)}}.page-header{box-shadow:var(--shadow-light);inline-size:100%;overflow-anchor:none;position:sticky;top:0;z-index:1}:where(.page-header,.page-header svg){transform:translateZ(0)}.page-nav{--_filter:blur(5px) saturate(200%);backdrop-filter:var(--_filter);-webkit-backdrop-filter:var(--_filter);background-color:var(--color-bg-translucent);position:relative}@media not all and (min-width:1085px){[data-site-nav-open]{overflow:hidden;overscroll-behavior:none;touch-action:none}[data-site-nav-open] .page-announcement{display:none}[data-site-nav-open] .page-header{background-color:var(--neutral-light-000);position:fixed}[data-site-nav-open] .ntl-site-nav{block-size:100dvh;gap:0 var(--space-2xs);grid-template-areas:"logo compact-menu toggle" "body body body" "footer footer footer";grid-template-rows:auto 1fr auto}}@supports (animation-timeline:scroll()){.page-header{animation:scroll-shadow linear both;animation-timeline:scroll();animation-range:entry 0 entry 5ex}@keyframes scroll-shadow{0%{box-shadow:none}to{box-shadow:var(--shadow-light)}}}</style> <script>(function () { const storageUrl = localStorage.getItem("Netlify_hide-announcement-bar"); const { url, hideAfter } = JSON.parse(document.documentElement.getAttribute("data-announcement-data")); function isExpired(date) { if (!date) return; let hideAfterSplit = date.split(/[^\d]/).map((entry) => parseInt(entry, 10)); let compareDate = new Date(hideAfterSplit[0], hideAfterSplit[1] - 1, hideAfterSplit[2] + 1); return compareDate && new Date() > compareDate; } if (storageUrl === url || isExpired(hideAfter)) { document.documentElement.setAttribute("data-announcement-state", "hidden"); } })();</script> <header data-theme="dark" class="page-header"> <div data-href="https://www.netlify.com/reports/gartner-magic-quadrant-visionary/?utm_content=eyebrow" class="ntl-announcement-bar page-announcement"> <p><span>Gartner recognizes Netlify as a Visionary in </span> <a href="https://www.netlify.com/reports/gartner-magic-quadrant-visionary/?utm_content=eyebrow" id="cta-header-announcementBar">2024 Gartner® Magic Quadrant™ for Cloud Application Platforms > </a></p> <button type="reset" id="cta-header-announcementBar-close" class="close"> <span class="visually-hidden">Close announcement bar</span> <svg class="icon" ariaHidden="true" style="--icon-size: 1.2em"> <use href="#icon-close"></use> </svg> </button> </div> <section class="page-nav | l-breakout"> <a href="/" id="mainNav-netlifyLogo" class="ntl-site-logo"> <span class="visually-hidden">Go to homepage</span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 209" fill="none" aria-hidden="true"> <g clip-path="url(#clip0_235_8)"> <path d="M117.436 207.036V154.604L118.529 153.51H129.452L130.545 154.604V207.036L129.452 208.13H118.529L117.436 207.036Z" class="spark"></path> <path d="M117.436 53.5225V1.09339L118.529 0H129.452L130.545 1.09339V53.5225L129.452 54.6159H118.529L117.436 53.5225Z" class="spark"></path> <path d="M69.9539 169.238H68.4094L60.6869 161.512V159.967L78.7201 141.938L86.8976 141.942L87.9948 143.031V151.209L69.9539 169.238Z" class="spark"></path> <path d="M69.9462 38.8917H68.4017L60.6792 46.6181V48.1626L78.7124 66.192L86.8899 66.1882L87.9871 65.0986V56.9212L69.9462 38.8917Z" class="spark"></path> <path d="M1.09339 97.5104H75.3711L76.4645 98.6038V109.526L75.3711 110.62H1.09339L0 109.526V98.6038L1.09339 97.5104Z" class="spark"></path> <path d="M440.999 97.5104H510.91L512.004 98.6038V109.526L510.91 110.62H436.633L435.539 109.526L439.905 98.6038L440.999 97.5104Z" class="spark"></path> <path d="M212.056 108.727L210.963 109.821H177.079L175.986 110.914C175.986 113.101 178.173 119.657 186.916 119.657C190.196 119.657 193.472 118.564 194.566 116.377L195.659 115.284H208.776L209.869 116.377C208.776 122.934 203.313 132.774 186.916 132.774C168.336 132.774 159.589 119.657 159.589 104.357C159.589 89.0576 168.332 75.9408 185.822 75.9408C203.313 75.9408 212.056 89.0576 212.056 104.357V108.731V108.727ZM195.659 97.7971C195.659 96.7037 194.566 89.0538 185.822 89.0538C177.079 89.0538 175.986 96.7037 175.986 97.7971L177.079 98.8905H194.566L195.659 97.7971Z" class="text"></path> <path d="M242.66 115.284C242.66 117.47 243.753 118.564 245.94 118.564H255.776L256.87 119.657V130.587L255.776 131.681H245.94C236.103 131.681 227.36 127.307 227.36 115.284V91.2368L226.266 90.1434H218.617L217.523 89.05V78.1199L218.617 77.0265H226.266L227.36 75.9332V66.0965L228.453 65.0031H241.57L242.663 66.0965V75.9332L243.757 77.0265H255.78L256.874 78.1199V89.05L255.78 90.1434H243.757L242.663 91.2368V115.284H242.66Z" class="text"></path> <path d="M283.1 131.681H269.983L268.889 130.587V56.2636L269.983 55.1702H283.1L284.193 56.2636V130.587L283.1 131.681Z" class="text"></path> <path d="M312.61 68.2871H299.493L298.399 67.1937V56.2636L299.493 55.1702H312.61L313.703 56.2636V67.1937L312.61 68.2871ZM312.61 131.681H299.493L298.399 130.587V78.1237L299.493 77.0304H312.61L313.703 78.1237V130.587L312.61 131.681Z" class="text"></path> <path d="M363.98 56.2636V67.1937L362.886 68.2871H353.05C350.863 68.2871 349.769 69.3805 349.769 71.5672V75.9408L350.863 77.0342H361.793L362.886 78.1276V89.0576L361.793 90.151H350.863L349.769 91.2444V130.591L348.676 131.684H335.559L334.466 130.591V91.2444L333.372 90.151H325.723L324.629 89.0576V78.1276L325.723 77.0342H333.372L334.466 75.9408V71.5672C334.466 59.5438 343.209 55.1702 353.046 55.1702H362.882L363.976 56.2636H363.98Z" class="text"></path> <path d="M404.42 132.774C400.046 143.704 395.677 150.261 380.373 150.261H374.906L373.813 149.167V138.237L374.906 137.144H380.373C385.836 137.144 386.929 136.05 388.023 132.77V131.677L370.536 89.05V78.1199L371.63 77.0265H381.466L382.56 78.1199L395.677 115.284H396.77L409.887 78.1199L410.98 77.0265H420.817L421.91 78.1199V89.05L404.424 132.77L404.42 132.774Z" class="text"></path> <path d="M135.454 131.681L134.361 130.587L134.368 98.9172C134.368 93.4541 132.22 89.2182 125.625 89.0806C122.234 88.9926 118.354 89.0729 114.209 89.2488L113.59 89.8834L113.598 130.587L112.504 131.681H99.3913L98.2979 130.587V77.5388L99.3913 76.4454L128.901 76.1778C143.685 76.1778 149.668 86.3356 149.668 97.8009V130.587L148.575 131.681H135.454Z" class="text"></path> </g> <defs> <clipPath id="clip0_235_8"> <rect width="512" height="208.126" fill="white"></rect> </clipPath> </defs> </svg> </a> </section> </header> <script type="module">(function(){let n=document.querySelector(".ntl-announcement-bar > .close"),e=document.querySelector(".ntl-announcement-bar"),o=e.getAttribute("data-href");new ResizeObserver(([r])=>{document.body.style.setProperty("--announcement-bar-height",`${r.borderBoxSize[0].blockSize}px`)}).observe(e),n.addEventListener("click",r=>{r.preventDefault(),localStorage.setItem("Netlify_hide-announcement-bar",o),e.setAttribute("hidden",!0)})})();(function(){let n=document.querySelector(".page-header"),e=document.querySelector("[data-site-nav-toggle]");new ResizeObserver(([t])=>{document.documentElement.style.setProperty("--ntl-page-header-height",`${t.contentRect.height}px`)}).observe(n),e&&e.addEventListener("click",function(){let t=this.getAttribute("aria-expanded")==="true"||!1;document.documentElement.toggleAttribute("data-site-nav-open",!t),this.setAttribute("aria-expanded",!t)})})(); </script> </div> <main id="main" class="page-main"><!----> <!----> <section class="hero-colored gatedcontent-hero gatedcontent-hero-background gatedcontent-hero-padding"><!----> <section class="pancake"><div class="gatedcontent-hero-grid"><div class="gatedcontent-hero-content"><span class="landing-page-hero-pretitle type-a type-a-0"> Whitepaper </span> <h1 class="landing-page-hero-heading type-a type-a-4"> Architectural Guide to the Modern Web </h1> <!----> <div class="type-a type-a-1"><div class="wysiwyg wysiwyg" data-v-4dce6ad8><div data-v-4dce6ad8><p data-v-4dce6ad8>Today’s consumer demands an exceptional web experience. Whether it’s an e-commerce store, a web app, or a marketing site - it needs to be performant, consistent with the organization’s brand, mobile-friendly, and – above all – engaging.</p><p data-v-4dce6ad8>Organizations building sites and apps with legacy technology, like monolithic CMSs and DXPs, often struggle to meet these demands. That’s why today’s web development teams are choosing to move to a modern way of building for the web, known as Jamstack.</p><h3 data-v-4dce6ad8><strong data-v-4dce6ad8>In this whitepaper, you’ll learn:</strong></h3><ul data-v-4dce6ad8><li data-v-4dce6ad8>How to overcome the challenges of legacy web development</li><li data-v-4dce6ad8>The benefits of the Jamstack architecture</li><li data-v-4dce6ad8>How to build a modern web stack</li><li data-v-4dce6ad8>Why teams choose Netlify to build modern web experiences</li></ul></div></div></div></div> <div class="scrim gatedcontent-hero-form scrim-large"><h2 class="type-a type-a-1"> Download now </h2> <div class="hs-form-container"><!----> <div id="hubspotEmbedForm-822ee9a2-3044-41fd-9460-7955dd290437" data-hubspot-form="822ee9a2-3044-41fd-9460-7955dd290437"><form method="POST" action="https://www.netlify.com/whitepaper/thank-you" class="hs-form"><input type="hidden" name="hubspotformid" value="822ee9a2-3044-41fd-9460-7955dd290437"> <input type="hidden" name="hubspotutk" value data-hubspot-cookie-field> <p class="visually-hidden"><label> Don’t fill this out if you’re human: <input name="bot-field"></label></p> <div class="forms-row hs-fieldtype-input"><label class="forms-label">Business Email <!----></label> <input type="email" name="email" id="email" required="required" value="" maxlength="40" class="forms-input"></div> <!----> <!----><div class="forms-row hs-fieldtype-input"><label class="forms-label">First name <!----></label> <input type="text" name="firstname" id="firstname" required="required" value="" maxlength="40" class="forms-input"></div> <!----> <!----><div class="forms-row hs-fieldtype-input"><label class="forms-label">Last name <!----></label> <input type="text" name="lastname" id="lastname" required="required" value="" maxlength="40" class="forms-input"></div> <!----> <!----><div class="forms-row hs-fieldtype-input"><label class="forms-label">Organization <!----></label> <input type="text" name="company" id="company" required="required" value="" maxlength="40" class="forms-input"></div> <!----> <!----><!----> <!----> <div class="forms-row hs-fieldtype-select"><label class="forms-label">Job Title <!----></label> <div class="forms-select-c"><select name="job_title_dropdown" id="job_title_dropdown" class="forms-input"><option value="" disabled="disabled" selected="selected">Please Select</option> <option value="Individual Contributor"> Individual Contributor </option><option value="Manager"> Manager </option><option value="Director"> Director </option><option value="Vice President"> Vice President </option><option value="C-Level"> C-Level </option><option value="Other"> Other </option></select> <svg width="21" height="13" viewBox="0 0 21 13" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-arrow-down-light forms-select-c-arrow"><path d="M20.7656 1.82812C21.0156 2.10938 21.0156 2.375 20.7656 2.625L10.9219 12.4688C10.6719 12.7188 10.4219 12.7188 10.1719 12.4688L0.328125 2.625C0.078125 2.375 0.078125 2.10938 0.328125 1.82812L1.26562 0.9375C1.51562 0.65625 1.78125 0.65625 2.0625 0.9375L10.5469 9.375L19.0312 0.9375C19.3125 0.65625 19.5781 0.65625 19.8281 0.9375L20.7656 1.82812Z"></path></svg></div></div><!----> <!----> <div class="forms-row hs-fieldtype-select"><label class="forms-label">What best describes your job function? <!----></label> <div class="forms-select-c"><select name="hs_persona" id="hs_persona" class="forms-input"><option value="" disabled="disabled" selected="selected">Please Select</option> <option value="persona_20"> Product Engineer </option><option value="persona_5"> DevOps Engineer </option><option value="persona_21"> UX/UI Engineer </option><option value="persona_3"> Web Developer </option><option value="persona_8"> Product Manager </option><option value="persona_6"> Marketer </option><option value="persona_22"> Team Leader / Executive </option><option value="persona_23"> Teacher / Student </option><option value="persona_24"> Consultant / Freelance </option><option value="persona_11"> Other </option></select> <svg width="21" height="13" viewBox="0 0 21 13" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-arrow-down-light forms-select-c-arrow"><path d="M20.7656 1.82812C21.0156 2.10938 21.0156 2.375 20.7656 2.625L10.9219 12.4688C10.6719 12.7188 10.4219 12.7188 10.1719 12.4688L0.328125 2.625C0.078125 2.375 0.078125 2.10938 0.328125 1.82812L1.26562 0.9375C1.51562 0.65625 1.78125 0.65625 2.0625 0.9375L10.5469 9.375L19.0312 0.9375C19.3125 0.65625 19.5781 0.65625 19.8281 0.9375L20.7656 1.82812Z"></path></svg></div></div><!----> <!----> <div hidden="hidden" class="forms-row hs-fieldtype-select"><label class="forms-label">Lead source <!----></label> <div class="forms-select-c"><select name="leadsource" id="leadsource" class="forms-input"><option value="" disabled="disabled" selected="selected">Please Select</option> <option value="Partner"> Partner </option><option value="Purchased List"> Purchased List </option><option value="Trade Show"> Trade Show </option><option value="Webinar"> Webinar </option><option value="LeadIQ"> LeadIQ </option><option value="na"> na </option><option value="n/a"> n/a </option><option value="Salesform"> Salesform </option><option value="Resource"> Resource </option><option value="Free Sign Up"> Free Sign Up </option><option value="Organic Social"> Organic Social </option><option value="Paid Social"> Paid Social </option><option value="Display"> Display </option><option value="Paid Search"> Paid Search </option><option value="Organic Search"> Organic Search </option><option value="Inbound Link"> Inbound Link </option><option value="Marketing Unknown"> Marketing Unknown </option><option value="Event"> Event </option><option value="Content Syndication"> Content Syndication </option><option value="email"> email </option></select> <svg width="21" height="13" viewBox="0 0 21 13" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-arrow-down-light forms-select-c-arrow"><path d="M20.7656 1.82812C21.0156 2.10938 21.0156 2.375 20.7656 2.625L10.9219 12.4688C10.6719 12.7188 10.4219 12.7188 10.1719 12.4688L0.328125 2.625C0.078125 2.375 0.078125 2.10938 0.328125 1.82812L1.26562 0.9375C1.51562 0.65625 1.78125 0.65625 2.0625 0.9375L10.5469 9.375L19.0312 0.9375C19.3125 0.65625 19.5781 0.65625 19.8281 0.9375L20.7656 1.82812Z"></path></svg></div></div><div hidden="hidden" class="forms-row hs-fieldtype-input"><label class="forms-label">UTM Campaign <!----></label> <input type="hidden" name="utm_campaign" id="utm_campaign" value="" maxlength="40" class="forms-input"></div> <!----> <!----><div hidden="hidden" class="forms-row hs-fieldtype-input"><label class="forms-label">UTM Content <!----></label> <input type="hidden" name="utm_content" id="utm_content" value="" maxlength="40" class="forms-input"></div> <!----> <!----><div hidden="hidden" class="forms-row hs-fieldtype-input"><label class="forms-label">UTM Medium <!----></label> <input type="hidden" name="utm_medium" id="utm_medium" value="" maxlength="40" class="forms-input"></div> <!----> <!----><div hidden="hidden" class="forms-row hs-fieldtype-input"><label class="forms-label">UTM Source <!----></label> <input type="hidden" name="utm_source" id="utm_source" value="" maxlength="40" class="forms-input"></div> <!----> <!----><div hidden="hidden" class="forms-row hs-fieldtype-input"><label class="forms-label">UTM Term <!----></label> <input type="hidden" name="utm_term" id="utm_term" value="" maxlength="40" class="forms-input"></div> <!----> <!----><div hidden="hidden" class="forms-row hs-fieldtype-input"><label class="forms-label">GCLID <!----></label> <input type="hidden" name="gclid" id="gclid" value="" maxlength="40" class="forms-input"></div> <!----> <!----> <div class="forms-row"><label for="form-7Gvgx0t_nAp" class="forms-checkbox"><input type="checkbox" id="form-7Gvgx0t_nAp" name="LEGAL_CONSENT.subscription_type_8995454"> Send me product news and updates from Netlify </label></div> <button type="submit" class="form-button hubspot-cta form-button-width-full"> Download Now </button></form></div></div></div></div></section></section> <section id="accelerate-the-speed-of-business" class="pancake landing-page-logos pancake-theme-light"><div class="pancake-intro pancake-intro-align-center"><h2 class="pancake-intro-title type-a type-a-3">Accelerate the speed of business.</h2> <!----></div> <div class="logos-ticker-wrapper"><!----> <div class="logos-ticker logos-tickers-top-border"><div class="logos-ticker-container"><img alt="Logo for Nike" loading="lazy" src="https://netlify-eleventy-api-img.netlify.app/https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fo0o2tn5x%2Fproduction%2F24af4b8b747b19b11f54c37caafae98432bedcdf-130x48.svg/svg/130/" width="130" height="48"><img alt="Logo for Figma" loading="lazy" src="https://netlify-eleventy-api-img.netlify.app/https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fo0o2tn5x%2Fproduction%2Fe7d03fab706065e7c31487df76904ba25f5c73da-720x261.svg/svg/720/" width="720" height="261"><img alt="Logo for Peloton" loading="lazy" src="https://netlify-eleventy-api-img.netlify.app/https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fo0o2tn5x%2Fproduction%2F913cb0ddbeb1c2a698ee80afc861d4eceba1f444-828x244.svg/svg/828/" width="828" height="244"><img alt="Logo for Twilio" loading="lazy" src="https://netlify-eleventy-api-img.netlify.app/https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fo0o2tn5x%2Fproduction%2Ff2f4bd0a4587561e51934fff83044e5a6c716ca4-300x90.svg/svg/300/" width="300" height="90"></div> <div aria-hidden="true" class="logos-ticker-container"><img alt="Logo for Nike" loading="lazy" src="https://netlify-eleventy-api-img.netlify.app/https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fo0o2tn5x%2Fproduction%2F24af4b8b747b19b11f54c37caafae98432bedcdf-130x48.svg/svg/130/" width="130" height="48"><img alt="Logo for Figma" loading="lazy" src="https://netlify-eleventy-api-img.netlify.app/https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fo0o2tn5x%2Fproduction%2Fe7d03fab706065e7c31487df76904ba25f5c73da-720x261.svg/svg/720/" width="720" height="261"><img alt="Logo for Peloton" loading="lazy" src="https://netlify-eleventy-api-img.netlify.app/https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fo0o2tn5x%2Fproduction%2F913cb0ddbeb1c2a698ee80afc861d4eceba1f444-828x244.svg/svg/828/" width="828" height="244"><img alt="Logo for Twilio" loading="lazy" src="https://netlify-eleventy-api-img.netlify.app/https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fo0o2tn5x%2Fproduction%2Ff2f4bd0a4587561e51934fff83044e5a6c716ca4-300x90.svg/svg/300/" width="300" height="90"></div></div></div></section></main> <div class="beon" style="display:contents;transform:translate3d(0px, 0px, 0px);"><style>.w1fn1vjqe{--stack-space:var(--space-xs);margin-block:var(--space-3xl);position:sticky;top:100vh;width:100%}.w1fn1vjqe .logo{display:inline-block;height:auto;width:clamp(40px,8vw,50px)}.w1fn1vjqe .social svg{--icon-size:auto;color:var(--neutral-dark-300)}.w1fn1vjqe .links-container{display:flex;flex-wrap:wrap;margin:auto;padding-block-start:var(--space-l);width:100%}.w1fn1vjqe ul{display:grid;gap:var(--space-xs);list-style:none;margin-block-end:var(--space-xs)}.w1fn1vjqe .popover ul{gap:var(--space-3xs)}.w1fn1vjqe ul a,.w1fn1vjqe ul button{color:var(--color-text-2);display:block;text-decoration:none}.w1fn1vjqe :is(.w1fn1vjqe ul a):hover,.w1fn1vjqe :is(.w1fn1vjqe ul button):hover{text-decoration:underline}.w1fn1vjqe button{border:none;font:inherit;font-size:var(--step--1);padding:0}.w1fn1vjqe .form{margin:var(--space-2xl) auto;max-width:28.125rem;width:100%}.w1fn1vjqe .fine-print-container{border-block-start:1px solid var(--color-bg-3);display:flex;flex-wrap:wrap;gap:var(--space-s);inline-size:100%;justify-content:space-between;padding-block-start:var(--space-s)}.w1fn1vjqe .copyright{color:var(--color-text-2)}.w1fn1vjqe .legal{display:flex;flex-wrap:wrap;gap:var(--space-s);margin-block-end:unset}@media (min-width:750px){.w1fn1vjqe .links-container{gap:var(--space-l);justify-content:space-between;max-width:62.5rem;width:100%}.w1fn1vjqe ul{margin-bottom:unset}}</style> <script></script> <footer data-theme="light" class="l-breakout l-stack w1fn1vjqe"> <section class="fine-print-container"> <ul class="legal"> <li> <a id="cta-legal-footer-trustCenter" href="/trust-center/" class="text--1"> Trust Center </a> </li> <li> <a id="cta-legal-footer-privacyPolicy" href="/privacy/" class="text--1"> Privacy </a> </li> <li> <a id="cta-legal-footer-security" href="/security/" class="text--1"> Security </a> </li> <li> <a id="cta-legal-footer-gdpr" href="/gdpr-ccpa/" class="text--1"> GDPR/CCPA </a> </li> <li> <a id="cta-legal-footer-abuse" href="mailto:fraud@netlify.com?subject=Abuse%20report&body=Please%20include%20the%20site%20URL%20and%20reason%20for%20your%20report%2C%20and%20we%20will%20reply%20promptly." class="text--1"> Abuse </a> </li> <li> <button id="cta-legal-footer-cookieSettings" class="text--1">Cookie Settings</button> </li> </ul> <p class="copyright text--1">© 2024 Netlify</p> </section> </footer> <script type="module">(function(){let s=document.querySelector("#cta-legal-footer-cookieSettings"),e=document.querySelector(".icon-twitter");s.addEventListener("click",o=>{o.preventDefault(),window.OneTrust&&window.OneTrust.ToggleInfoDisplay()});let t={hover:"hovered",keypress:"swap-logos"};e&&(document.addEventListener("keypress",()=>{e.classList.contains(t.hover)&&e.classList.add(t.keypress)}),e.addEventListener("mouseover",()=>e.classList.add(t.hover)),e.addEventListener("mouseout",()=>e.classList.remove(t.hover)))})(); </script> </div></div> <script> if("fonts"in document){let t={unicodeRange:"U+0-FF,U+131,U+152,U+153,U+2BB,U+2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD",display:"swap"},e=new FontFace("Pacaembu","url(/v3/_fonts/PacaembuNetlify-Variable.woff2) format('woff2')",Object.assign({weight:"100 1000"},t)),a=new FontFace("Mulish","url(/v3/_fonts/MulishVar-latin.woff2) format('woff2')",Object.assign({weight:"200 900"},t)),o=new FontFace("Mulish","url(/v3/_fonts/MulishVar-italic-latin.woff2) format('woff2')",Object.assign({weight:"200 900",style:"italic"},t));Promise.all([e.load(),a.load(),o.load()]).then((function(t){t.forEach((function(t){document.fonts.add(t)}))}))}!function(){if(!("querySelectorAll"in document)||!("from"in Array)||!("open"in document.createElement("details")))return;var t="data-details-modal",e="data-force-state-closed",a="data-force-state-closed-toggle-tabindex",o="data-details-anchor",n="data-details-anchor-class",i="data-details-anchor-scrollto",r="data-details-anchor-enhanced",c="data-details-anchor-class-enhanced";function l(t){if(t.open){switch(t.getAttribute(i)){case"top":window.scrollTo(0,0);break;case"sticky-nav":setTimeout((()=>{document.querySelector(".masthead-wrapper").scrollIntoView()}),30)}}}function s(t,e){if(t.hasAttribute(a)){let a=t.querySelector(":scope > summary"),o=a.querySelector(":scope a[href]");e?(!a||o&&window.chrome||a.setAttribute("tabindex",-1),o&&o.setAttribute("tabindex",0)):(a&&a.removeAttribute("tabindex"),o&&o.removeAttribute("tabindex"))}e?t.setAttribute("open","open"):t.removeAttribute("open")}function d(t){if(!t)return;let a=t.getAttribute(e);return a&&"matchMedia"in window?window.matchMedia(a):void 0}function u(t){return t.getAttribute(n)}function f(e){return e.getAttribute(t)}function m(t,e){return"closest"in t?t.closest(t.getAttribute(e)):document.querySelector(t.getAttribute(e))}let h=Array.from(document.querySelectorAll("details[data-force-state]"));for(let t of h){let e=d(t);e&&(s(t,!e.matches),e.addListener((function(e){s(t,!e.matches)})));let a=m(t,r);a&&a.classList.add(t.getAttribute(c)),u(t)&&(document.documentElement.addEventListener("keydown",(e=>{let a=document.querySelector(".masthead-nav-menu");window.getComputedStyle(a);if(27===e.keyCode&&t.open){let e=d(t);e&&s(t,!e.matches)}}),!1),t.addEventListener("toggle",(e=>{let a=m(t,o);if(a){a.classList.toggle(u(t),t.open);let e=d(t),o=e&&e.matches;o&&l(t);let n=f(t);n&&a.classList.toggle(n,t.open&&o)}})))}}(); </script> <script src="/rum.js" data-application-id="be4d070b-9645-4227-b084-41fa141b62b3" data-client-token="pubb2e68ad93b9891edc190fcd4c7bbe1b1" data-service="www" data-env="production" defer ></script> <script async defer src="/v3/js/f79f02f.js"></script> <svg width="0" height="0" aria-hidden="true" style="position: absolute;"> <defs> </defs> </svg> <script async id="netlify-rum-container" src="/.netlify/scripts/rum" data-netlify-rum-site-id="69350086-d20e-4b5a-84cf-bf367a848374" data-netlify-deploy-branch="main" data-netlify-deploy-context="production" data-netlify-cwv-token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaXRlX2lkIjoiNjkzNTAwODYtZDIwZS00YjVhLTg0Y2YtYmYzNjdhODQ4Mzc0IiwiYWNjb3VudF9pZCI6IjU4ZGE4ODkzZDY4NjVkMzVjOTJhNzJiOCIsImRlcGxveV9pZCI6IjY3NDc3MzY0ZmI1MTUyMDAwOTNhZjlkMiIsImlzc3VlciI6Im5mc2VydmVyIn0.CboiivFi1Sgyl5fkAsaL1xPPurfggceQ185DhwRIsH0"></script></body> </html>