Files
nexus/sreweekly/articles/137/01-auth0-architecture-running-in-multiple-cloud-providers-and-regions.html
2026-09-12 17:23:01 +08:00

810 lines
272 KiB
HTML

<!DOCTYPE html><html lang="en"><head><link rel="stylesheet" href="https://cdn.auth0.com/styleguide/core/3.0.0/core.min.css"/><script class="optanon-category-4" type="text/plain">window.twttr=function(t,e,r){var n,i=t.getElementsByTagName(e)[0],w=window.twttr||{};return t.getElementById(r)?w:((n=t.createElement(e)).id=r,n.src="https://platform.twitter.com/widgets.js",i.parentNode.insertBefore(n,i),w._e=[],w.ready=function(t){w._e.push(t)},w)}(document,"script","twitter-wjs");</script><script defer="" src="https://assets.adobedtm.com/6bb3f7663515/7006851c9849/launch-af624fe9e34f.min.js"></script><script class="optanon-category-4" type="text/plain">
window._6si = window._6si || [];
window._6si.push(['enableEventTracking', true]);
window._6si.push(['setToken', '17aa5119e1d44eeab301f44113230d69']);
window._6si.push(['setEndpoint', 'b.6sc.co']);
(function() {
var gd = document.createElement('script');
gd.type = 'text/javascript';
gd.async = true;
gd.src = '//j.6sc.co/6si.min.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gd, s);
})();</script><link rel="preload" href="/blog/api/ab/" as="fetch" crossorigin="use-credentials"/><link rel="canonical" href="https://auth0.com/blog/auth0-architecture-running-in-multiple-cloud-providers-and-regions/"/><title>A Look at Auth0 Cloud Architecture: 5 Years In</title><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0"/><meta charSet="utf-8"/><meta name="description" content="Learn how Auth0 architects its services in the cloud to ensure scalability that handles more than 1.5 billion logins per month."/><meta property="fb:app_id" content="534074790006350"/><meta property="og:type" content="article"/><meta property="og:title" content="A Look at Auth0 Cloud Architecture: 5 Years In"/><meta property="og:site_name" content="Auth0 - Blog"/><meta property="og:description" content="Learn how Auth0 architects its services in the cloud to ensure scalability that handles more than 1.5 billion logins per month."/><meta property="og:image" content="https://images.ctfassets.net/23aumh6u8s0i/56S9oDWKVeNY8AIszkZvw1/7d6794f3d31d4eedb5a3d3699e796e5c/default"/><meta property="og:url" content="https://auth0.com/blog/auth0-architecture-running-in-multiple-cloud-providers-and-regions/"/><meta name="twitter:site" content="@auth0"/><meta name="twitter:creator" content="@auth0"/><meta name="twitter:title" content="A Look at Auth0 Cloud Architecture: 5 Years In"/><meta name="twitter:description" content="Learn how Auth0 architects its services in the cloud to ensure scalability that handles more than 1.5 billion logins per month."/><meta name="twitter:url" content="https://auth0.com/blog/auth0-architecture-running-in-multiple-cloud-providers-and-regions/"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:image" content="https://images.ctfassets.net/23aumh6u8s0i/56S9oDWKVeNY8AIszkZvw1/7d6794f3d31d4eedb5a3d3699e796e5c/default"/><meta name="twitter:image:height" content="512"/><meta name="twitter:image:width" content="1024"/><meta name="HandheldFriendly" content="True"/><meta name="MobileOptimized" content="320"/><link rel="manifest" href="https://auth0.com/blog/manifest.json"/><link type="application/atom+xml" rel="alternate" href="https://auth0.com/blog/rss.xml" title="Auth0 Blog"/><link type="application/opensearchdescription+xml" rel="search" href="https://auth0.com/blog/osd.xml"/><link rel="alternate" type="text/markdown" href="/blog/auth0-architecture-running-in-multiple-cloud-providers-and-regions.md" title="Auth0 Architecture: 5 Years In (Markdown)"/><meta name="next-head-count" content="32"/><link rel="shortcut icon mask-icon" type="image/svg+xml" href="https://cdn.auth0.com/website/website/favicons/auth0-favicon.svg"/><link rel="shortcut icon" type="image/svg+xml" href="https://cdn.auth0.com/website/website/favicons/auth0-favicon.svg"/><link rel="shortcut icon" type="image/png" href="https://cdn.auth0.com/website/website/favicons/auth0-favicon-48.png"/><link rel="icon" sizes="16x16" type="image/png" href="https://cdn.auth0.com/website/website/favicons/auth0-favicon-16.png"/><link rel="icon" sizes="32x32" type="image/png" href="https://cdn.auth0.com/website/website/favicons/auth0-favicon-32.png"/><link rel="icon" sizes="48x48" type="image/png" href="https://cdn.auth0.com/website/website/favicons/auth0-favicon-48.png"/><link rel="icon" sizes="96x96" type="image/png" href="https://cdn.auth0.com/website/website/favicons/auth0-favicon-96.png"/><link rel="icon" sizes="144x144" type="image/png" href="https://cdn.auth0.com/website/website/favicons/auth0-favicon-144.png"/><link rel="apple-touch-icon" sizes="180x180" href="https://cdn.auth0.com/website/website/favicons/auth0-favicon-180.png"/><script id="blogposting-jsonld" type="application/ld+json" data-nscript="beforeInteractive">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://auth0.com/#organization","url":"https://auth0.com","name":"Auth0","logo":{"@type":"ImageObject","url":"https://cdn.auth0.com/website/home-page/evolution_logo_Auth0_black.svg","width":250,"height":60}},{"@type":"Blog","@id":"https://auth0.com/blog","url":"https://auth0.com/blog","name":"Blog","description":"Auth0 Blog","publisher":{"@id":"https://auth0.com/#organization"}},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://auth0.com"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://auth0.com/blog/"},{"@type":"ListItem","position":3,"name":"Auth0 Architecture: 5 Years In","item":"https://auth0.com/blog/auth0-architecture-running-in-multiple-cloud-providers-and-regions/"}]},{"@type":"BlogPosting","headline":"Auth0 Architecture: 5 Years In","description":"Learn more about how Auth0 architects its services to ensure scalability and high availability to handle more than 1.5 billion logins per month.","image":{"@type":"ImageObject","url":"https://images.ctfassets.net/23aumh6u8s0i/56S9oDWKVeNY8AIszkZvw1/7d6794f3d31d4eedb5a3d3699e796e5c/default","width":1200,"height":630},"thumbnailUrl":"https://images.ctfassets.net/23aumh6u8s0i/56S9oDWKVeNY8AIszkZvw1/7d6794f3d31d4eedb5a3d3699e796e5c/default","author":[{"@type":"Person","@id":"https://auth0.com/blog/authors/dirceu-tiegs/","url":"https://auth0.com/blog/authors/dirceu-tiegs/","name":"Dirceu Tiegs","image":{"@type":"ImageObject","url":"https://images.ctfassets.net/23aumh6u8s0i/3NBBmfieikWaLMpcNe4hum/e2afeb072dacb720d366181dd42a3cc7/Dirceu-Tiegs","width":400,"height":400},"sameAs":["https://twitter.com/dirceu"]}],"datePublished":"2018-08-15T08:30","dateModified":"2019-02-26T08:30","publisher":{"@id":"https://auth0.com/#organization"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://auth0.com/blog/auth0-architecture-running-in-multiple-cloud-providers-and-regions/"},"isPartOf":{"@id":"https://auth0.com/blog"},"url":"https://auth0.com/blog/auth0-architecture-running-in-multiple-cloud-providers-and-regions/","inLanguage":"en-US","wordCount":2152}]}</script><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/blog/_next/static/chunks/polyfills-42372ed130431b0a.js?dpl=dpl_4eLuLZa3zjDUG91awT2RHuU39Tdg"></script><script src="/blog/_next/static/chunks/webpack-06480556beda951b.js?dpl=dpl_4eLuLZa3zjDUG91awT2RHuU39Tdg" defer=""></script><script src="/blog/_next/static/chunks/framework-b60356c5de8aef10.js?dpl=dpl_4eLuLZa3zjDUG91awT2RHuU39Tdg" defer=""></script><script src="/blog/_next/static/chunks/main-91fd171b59dc213f.js?dpl=dpl_4eLuLZa3zjDUG91awT2RHuU39Tdg" defer=""></script><script src="/blog/_next/static/chunks/pages/_app-be4335b045bf72f8.js?dpl=dpl_4eLuLZa3zjDUG91awT2RHuU39Tdg" defer=""></script><script src="/blog/_next/static/chunks/d81dd7c5-6b7f1fa4d5ce2748.js?dpl=dpl_4eLuLZa3zjDUG91awT2RHuU39Tdg" defer=""></script><script src="/blog/_next/static/chunks/9236dd9e-924d9d8ba2b8b09f.js?dpl=dpl_4eLuLZa3zjDUG91awT2RHuU39Tdg" defer=""></script><script src="/blog/_next/static/chunks/3871-f26bb5a3584faece.js?dpl=dpl_4eLuLZa3zjDUG91awT2RHuU39Tdg" defer=""></script><script src="/blog/_next/static/chunks/2623-6e313dc807342ce8.js?dpl=dpl_4eLuLZa3zjDUG91awT2RHuU39Tdg" defer=""></script><script src="/blog/_next/static/chunks/pages/blog/%5Bslug%5D-b7a01b8045423d3d.js?dpl=dpl_4eLuLZa3zjDUG91awT2RHuU39Tdg" defer=""></script><script src="/blog/_next/static/naQFbCp8zGZYbeqX1B0dN/_buildManifest.js?dpl=dpl_4eLuLZa3zjDUG91awT2RHuU39Tdg" defer=""></script><script src="/blog/_next/static/naQFbCp8zGZYbeqX1B0dN/_ssgManifest.js?dpl=dpl_4eLuLZa3zjDUG91awT2RHuU39Tdg" defer=""></script><style data-styled="" data-styled-version="5.3.11">html{line-height:1.15;-webkit-text-size-adjust:100%;}/*!sc*/
body{margin:0;}/*!sc*/
main{display:block;}/*!sc*/
h1{font-size:2em;margin:0.67em 0;}/*!sc*/
hr{box-sizing:content-box;height:0;overflow:visible;}/*!sc*/
pre{font-family:monospace,monospace;font-size:1em;}/*!sc*/
a{background-color:transparent;}/*!sc*/
abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}/*!sc*/
b,strong{font-weight:bolder;}/*!sc*/
code,kbd,samp{font-family:monospace,monospace;font-size:1em;}/*!sc*/
small{font-size:80%;}/*!sc*/
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}/*!sc*/
sub{bottom:-0.25em;}/*!sc*/
sup{top:-0.5em;}/*!sc*/
img{border-style:none;}/*!sc*/
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}/*!sc*/
button,input{overflow:visible;}/*!sc*/
button,select{text-transform:none;}/*!sc*/
button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button;}/*!sc*/
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}/*!sc*/
button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText;}/*!sc*/
fieldset{padding:0.35em 0.75em 0.625em;}/*!sc*/
legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}/*!sc*/
progress{vertical-align:baseline;}/*!sc*/
textarea{overflow:auto;}/*!sc*/
[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}/*!sc*/
[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto;}/*!sc*/
[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}/*!sc*/
[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}/*!sc*/
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}/*!sc*/
details{display:block;}/*!sc*/
summary{display:list-item;}/*!sc*/
template{display:none;}/*!sc*/
[hidden]{display:none;}/*!sc*/
data-styled.g1[id="sc-global-ecVvVt1"]{content:"sc-global-ecVvVt1,"}/*!sc*/
@font-face{font-family:'Aeonik';font-style:normal;font-weight:400;font-display:swap;src:local('Aeonik-Regular'),url('https://cdn.auth0.com/website/cic-homepage/fonts/Aeonik-Regular.woff2') format('woff2');}/*!sc*/
@font-face{font-family:'Aeonik';font-style:normal;font-weight:500;font-display:swap;src:local('Aeonik-Medium'),url('https://cdn.auth0.com/website/cic-homepage/fonts/Aeonik-Medium.woff2') format('woff2');}/*!sc*/
@font-face{font-family:'Aeonik Mono';font-style:normal;font-weight:400;font-display:swap;src:local('AeonikMono-Regular'),url('https://cdn.auth0.com/website/okta-fonts/AeonikMono-Regular.woff2') format('woff2');}/*!sc*/
@font-face{font-family:'Aeonik Mono';font-style:normal;font-weight:500;font-display:swap;src:local('AeonikMono-Medium'),url('https://cdn.auth0.com/website/okta-fonts/AeonikMono-Medium.ttf') format('woff2');}/*!sc*/
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:local('Inter-Regular'),url('https://cdn.auth0.com/website/fonts/Inter-Regular.woff2') format('woff2');}/*!sc*/
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:local('Inter-Medium'),url('https://cdn.auth0.com/website/fonts/Inter-Medium.woff2') format('woff2');}/*!sc*/
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:local('Inter-Bold'),url('https://cdn.auth0.com/website/fonts/Inter-Bold.woff2') format('woff2');}/*!sc*/
:root{--content-width:120rem;--font-main:'fakt-web',sans-serif;}/*!sc*/
.lightbox{width:100%;height:100%;position:fixed;top:0;left:0;background:rgba(0,0,0,0.85);z-index:9999999;line-height:0;cursor:pointer;}/*!sc*/
.lightbox-image{max-width:100%;cursor:pointer;margin:0 auto;display:block;}/*!sc*/
.lightbox img{position:relative;top:50%;left:50%;-ms-transform:translateX(-50%) translateY(-50%);-webkit-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);max-width:100%;max-height:100%;}/*!sc*/
@media screen and (min-width:1200px){.lightbox img{max-width:1200px;}}/*!sc*/
@media screen and (min-height:1200px){.lightbox img{max-height:1200px;}}/*!sc*/
.lightbox span{display:block;position:fixed;bottom:13px;height:1.5em;line-height:1.4em;width:100%;text-align:center;color:white;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;font-family:'fakt-web','Helvetica Neue',Hevetica,sans-serif;font-size:18px;}/*!sc*/
.lightbox .videoWrapperContainer{position:relative;top:50%;left:50%;-ms-transform:translateX(-50%) translateY(-50%);-webkit-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);max-width:900px;max-height:100%;}/*!sc*/
.lightbox .videoWrapperContainer .videoWrapper{height:0;line-height:0;margin:0;padding:0;position:relative;padding-bottom:56.333%;background:black;}/*!sc*/
.lightbox .videoWrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;display:block;}/*!sc*/
.lightbox #prev,.lightbox #next{height:50px;line-height:36px;display:none;margin-top:-25px;position:fixed;top:50%;padding:0 15px;cursor:pointer;-webkit-text-decoration:none;text-decoration:none;z-index:99;color:white;font-size:60px;font-family:'fakt-web','Helvetica Neue',Hevetica,sans-serif;}/*!sc*/
.lightbox.gallery #prev,.lightbox.gallery #next{display:block;}/*!sc*/
.lightbox #prev{left:0;}/*!sc*/
.lightbox #next{right:0;}/*!sc*/
.lightbox #close{height:50px;width:50px;position:fixed;cursor:pointer;-webkit-text-decoration:none;text-decoration:none;z-index:99;right:0;top:0;}/*!sc*/
.lightbox #close:after,.lightbox #close:before{position:absolute;margin-top:22px;margin-left:14px;content:'';height:3px;background:white;width:23px;-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);}/*!sc*/
.lightbox #close:after{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);}/*!sc*/
.lightbox,.lightbox *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}/*!sc*/
body{box-sizing:border-box;font-family:var(--font-main);font-size:2rem;line-height:3.2rem;}/*!sc*/
html{font-size:10px;}/*!sc*/
data-styled.g2[id="sc-global-fvjmty1"]{content:"sc-global-fvjmty1,"}/*!sc*/
html{font-size:62.5%;}/*!sc*/
body.modal-open{overflow:hidden;}/*!sc*/
data-styled.g3[id="sc-global-jTSlVj1"]{content:"sc-global-jTSlVj1,"}/*!sc*/
.kSiIA{margin:0;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:linear-gradient(0deg,rgba(255,255,255,0.40) 0%,rgba(255,255,255,0.40) 100%),radial-gradient(123.72% 71.29% at 7.15% 100%,#FFF 0%,rgba(255,255,255,0.00) 100%),radial-gradient(234.4% 144.94% at 84.62% 0%,#FFF 0%,rgba(255,255,255,0.00) 100%),linear-gradient(26deg,rgba(255,255,255,0.17) -32.04%,rgba(255,255,255,0.00) 133.43%);border-width:0;border-radius:0.6rem;border-style:solid;color:#000000;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:1.6rem;line-height:2.4rem;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding:1.2rem 3.2rem;width:100%;position:relative;z-index:2;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all 0.4s ease-in-out;transition:all 0.4s ease-in-out;font-family:Aeonik,sans-serif;font-style:normal;font-weight:500;overflow:hidden;box-shadow:0px -16px 24px 0px rgba(255,255,255,0.48) inset,0px 4px 4px 0px rgba(0,0,0,0.25);}/*!sc*/
@media screen and (min-width:900px){.kSiIA{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}}/*!sc*/
.kSiIA:active{color:#191919;background:linear-gradient(0deg,rgba(0,0,0,0.20) 0%,rgba(0,0,0,0.20) 100%),linear-gradient(0deg,rgba(255,255,255,0.70) 0%,rgba(255,255,255,0.70) 100%),radial-gradient(120.32% 83.76% at 50% 100%,#FFF 0%,rgba(255,255,255,0.00) 100%),radial-gradient(47.47% 14.92% at 50% 0%,#FFF 0%,rgba(255,255,255,0.00) 100%),radial-gradient(67.49% 95.06% at 50% 15.5%,#FFF 0%,rgba(255,255,255,0.36) 100%),radial-gradient(33.16% 50% at 50% 0%,#FFF 0%,rgba(255,255,255,0.00) 100%);}/*!sc*/
.kSiIA:hover{-webkit-transition:all 0.4s ease-in-out;transition:all 0.4s ease-in-out;color:#191919;background:linear-gradient(0deg,rgba(255,255,255,0.70) 0%,rgba(255,255,255,0.70) 100%),radial-gradient(120.32% 83.76% at 50% 100%,#FFF 0%,rgba(255,255,255,0.00) 100%),radial-gradient(47.47% 14.92% at 50% 0%,#FFF 0%,rgba(255,255,255,0.00) 100%),radial-gradient(67.49% 95.06% at 50% 15.5%,#FFF 0%,rgba(255,255,255,0.36) 100%),radial-gradient(33.16% 50% at 50% 0%,#FFF 0%,rgba(255,255,255,0.00) 100%);cursor:pointer;}/*!sc*/
.kSiIA:hover{box-shadow:0px 8px 28px 0px rgba(255,255,255,0.08);}/*!sc*/
.kSiIA:active{box-shadow:0px 8px 28px 0px rgba(255,255,255,0.08);}/*!sc*/
.kSiIA:disabled{box-shadow:0px -16px 24px 0px rgba(255,255,255,0.48) inset,0px 4px 4px 0px rgba(0,0,0,0.25);}/*!sc*/
.kSiIA span{z-index:3;}/*!sc*/
.kSiIA:hover{background:linear-gradient(0deg,rgba(255,255,255,0.40) 0%,rgba(255,255,255,0.40) 100%),radial-gradient(123.72% 71.29% at 7.15% 100%,#FFF 0%,rgba(255,255,255,0.00) 100%),radial-gradient(234.4% 144.94% at 84.62% 0%,#FFF 0%,rgba(255,255,255,0.00) 100%),linear-gradient(26deg,rgba(255,255,255,0.17) -32.04%,rgba(255,255,255,0.00) 133.43%);}/*!sc*/
.kSiIA::before{content:'';width:100%;height:100%;display:inline-block;background:linear-gradient(0deg,rgba(255,255,255,0.70) 0%,rgba(255,255,255,0.70) 100%),radial-gradient(120.32% 83.76% at 50% 100%,#FFF 0%,rgba(255,255,255,0.00) 100%),radial-gradient(47.47% 14.92% at 50% 0%,#FFF 0%,rgba(255,255,255,0.00) 100%),radial-gradient(67.49% 95.06% at 50% 15.5%,#FFF 0%,rgba(255,255,255,0.36) 100%),radial-gradient(33.16% 50% at 50% 0%,#FFF 0%,rgba(255,255,255,0.00) 100%);opacity:0;position:absolute;-webkit-transition:all 0.4s ease-in-out;transition:all 0.4s ease-in-out;}/*!sc*/
.kSiIA:hover::before{opacity:1;}/*!sc*/
.frejTe{margin:0;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:linear-gradient(26deg,rgba(255,255,255,0.15) -32.04%,rgba(255,255,255,0.00) 133.43%);border-width:1.5px;border-color:linear-gradient(29.98deg,rgba(255,254,250,0.7) 23.72%,rgba(255,254,250,0) 107.71%);border-radius:0.6rem;border-style:solid;color:#FFFEFA;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:1.6rem;line-height:2.4rem;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding:1.2rem 3.2rem;width:100%;position:relative;z-index:2;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all 0.4s ease-in-out;transition:all 0.4s ease-in-out;font-family:Aeonik,sans-serif;font-style:normal;font-weight:500;overflow:hidden;border:none;}/*!sc*/
@media screen and (min-width:900px){.frejTe{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}}/*!sc*/
.frejTe:active{color:rgba(255,254,250,0.8);border-color:linear-gradient(29.98deg,rgba(255,254,250,0.8) 23.72%,rgba(255,254,250,0) 107.71%);background:linear-gradient(0deg,rgba(0,0,0,0.20) 0%,rgba(0,0,0,0.20) 100%),linear-gradient(26deg,rgba(255,255,255,0.08) -32.04%,rgba(255,255,255,0.00) 133.43%);}/*!sc*/
.frejTe:hover{-webkit-transition:all 0.4s ease-in-out;transition:all 0.4s ease-in-out;border-color:linear-gradient(29.98deg,rgba(255,254,250,0.8) 23.72%,rgba(255,254,250,0) 107.71%);color:#FFFEFA;background:radial-gradient(72.18% 56.98% at 50% 100%,rgba(255,255,255,0.20) 0%,rgba(255,255,255,0.00) 100%),radial-gradient(100.79% 100% at 50% 0%,rgba(255,255,255,0.40) 0%,rgba(255,255,255,0.00) 100%),linear-gradient(26deg,rgba(255,255,255,0.08) -32.04%,rgba(255,255,255,0.00) 133.43%);cursor:pointer;}/*!sc*/
.frejTe span{z-index:3;}/*!sc*/
.frejTe:hover{background:linear-gradient(26deg,rgba(255,255,255,0.15) -32.04%,rgba(255,255,255,0.00) 133.43%);}/*!sc*/
.frejTe::before{content:'';width:100%;height:100%;display:inline-block;background:radial-gradient(72.18% 56.98% at 50% 100%,rgba(255,255,255,0.20) 0%,rgba(255,255,255,0.00) 100%),radial-gradient(100.79% 100% at 50% 0%,rgba(255,255,255,0.40) 0%,rgba(255,255,255,0.00) 100%),linear-gradient(26deg,rgba(255,255,255,0.08) -32.04%,rgba(255,255,255,0.00) 133.43%);opacity:0;position:absolute;-webkit-transition:all 0.4s ease-in-out;transition:all 0.4s ease-in-out;}/*!sc*/
.frejTe:hover::before{opacity:1;}/*!sc*/
.frejTe span{z-index:10;}/*!sc*/
.frejTe::after{content:'';width:100%;height:100%;display:inline-block;position:absolute;border-radius:6px;padding:1.5px;z-index:800;background:linear-gradient(29.98deg,rgba(255,254,250,0.7) 23.72%,rgba(255,254,250,0) 107.71%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;-webkit-mask-composite:exclude;mask-composite:exclude;-webkit-transition:all 0.4s ease-in-out;transition:all 0.4s ease-in-out;}/*!sc*/
.frejTe:active::after{background:linear-gradient(0deg,rgba(0,0,0,0.2),rgba(0,0,0,0.2)),linear-gradient(29.98deg,rgba(255,254,250,0.7) 23.72%,rgba(255,254,250,0) 107.71%);}/*!sc*/
.frejTe:hover::after{background:linear-gradient(29.98deg,rgba(255,254,250,0.8) 23.72%,rgba(255,254,250,0) 107.71%);}/*!sc*/
.frejTe:disabled::after{background:linear-gradient(29.98deg,rgba(255,254,250,0.7) 23.72%,rgba(255,254,250,0) 107.71%);}/*!sc*/
data-styled.g4[id="styled__Button-sc-1hwml9q-0"]{content:"kSiIA,frejTe,"}/*!sc*/
.ghiElA.ghiElA.ghiElA{color:#99A7F1;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.jgibCU.jgibCU.jgibCU{width:100%;}/*!sc*/
.cydknG.cydknG.cydknG{margin-top:1.6rem;width:100%;}/*!sc*/
.kqDxFL.kqDxFL.kqDxFL{color:#ABABAB;font-weight:500;line-height:1.8rem;margin-bottom:2.1rem;}/*!sc*/
.gdLUMv.gdLUMv.gdLUMv{-webkit-text-decoration:none;text-decoration:none;line-height:2.2rem;}/*!sc*/
.hAZkEV.hAZkEV.hAZkEV{color:#8c929c;margin:0;}/*!sc*/
.ioVNuq.ioVNuq.ioVNuq{font-family:Aeonik,sans-serif;color:#FFFFFF;margin:0.4rem 0 0;font-weight:500;font-size:1.6rem;line-height:2rem;}/*!sc*/
.hrigFo.hrigFo.hrigFo{display:block;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.jKVeGi.jKVeGi.jKVeGi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.bbibKK.bbibKK.bbibKK{font-family:Aeonik,sans-serif;color:#e5e5e5;font-size:1.4rem;-webkit-letter-spacing:0.015rem;-moz-letter-spacing:0.015rem;-ms-letter-spacing:0.015rem;letter-spacing:0.015rem;line-height:2rem;}/*!sc*/
.hTjqEq.hTjqEq.hTjqEq{color:#8c929c;}/*!sc*/
.ctSvSw.ctSvSw.ctSvSw{-webkit-text-decoration:none;text-decoration:none;display:block;}/*!sc*/
.bbQQEs.bbQQEs.bbQQEs{margin-right:1.6rem;-webkit-letter-spacing:0.032rem;-moz-letter-spacing:0.032rem;-ms-letter-spacing:0.032rem;letter-spacing:0.032rem;white-space:nowrap;}/*!sc*/
@media screen and (min-width:1200px){.bbQQEs.bbQQEs.bbQQEs{padding:0.8rem 2.4rem;}}/*!sc*/
.jmsZjj.jmsZjj.jmsZjj{-webkit-letter-spacing:0.032rem;-moz-letter-spacing:0.032rem;-ms-letter-spacing:0.032rem;letter-spacing:0.032rem;white-space:nowrap;}/*!sc*/
@media screen and (min-width:1200px){.jmsZjj.jmsZjj.jmsZjj{padding:0.8rem 2.2rem;}}/*!sc*/
.daGTxQ.daGTxQ.daGTxQ{color:#FFFEFA;}/*!sc*/
.wneoK.wneoK.wneoK{padding:1.6rem;color:#8E8E8E;}/*!sc*/
.dNAcKM.dNAcKM.dNAcKM{text-transform:capitalize;color:#7192EC;border:1px solid #7192EC54;background:rgba(0,0,0,0.33);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:0.2rem 0.6rem;border-radius:.6rem;white-space:nowrap;}/*!sc*/
.hRTnrT.hRTnrT.hRTnrT{margin:2.4rem 0 1.6rem;font-weight:500;}/*!sc*/
@media screen and (min-width:900px){.hRTnrT.hRTnrT.hRTnrT{margin:2.4rem 0 1.6rem;}}/*!sc*/
@media screen and (min-width:1200px){.hRTnrT.hRTnrT.hRTnrT{margin:1.6rem 0;}}/*!sc*/
.iUMEFg.iUMEFg.iUMEFg{color:#E5E5E5;}/*!sc*/
.eywyFj.eywyFj.eywyFj{color:#FFFEFA;opacity:0.5;}/*!sc*/
.bSjAPd.bSjAPd.bSjAPd{border-bottom:0.1rem solid #555555;padding-bottom:0.8rem;}/*!sc*/
.jmVJtT.jmVJtT.jmVJtT{color:#E5E5E5;font-weight:400;}/*!sc*/
.hPXnTc.hPXnTc.hPXnTc{font-weight:400;}/*!sc*/
.kAWGyf.kAWGyf.kAWGyf{color:#808080;margin:0;}/*!sc*/
.eOzIEM.eOzIEM.eOzIEM{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;margin-top:2.4rem;}/*!sc*/
.GEyYG.GEyYG.GEyYG{padding-bottom:1.6rem;border-bottom:0.1rem solid #2A2A2A;margin-bottom:3.2rem;max-width:131.2rem;}/*!sc*/
@media screen and (min-width:900px){.fiJSa-d.fiJSa-d.fiJSa-d{font-size:1.3rem;}}/*!sc*/
@media screen and (min-width:900px){.fiJSa-d.fiJSa-d.fiJSa-d{-webkit-letter-spacing:0.05rem;-moz-letter-spacing:0.05rem;-ms-letter-spacing:0.05rem;letter-spacing:0.05rem;}}/*!sc*/
@media screen and (min-width:1200px){.hhJSkn.hhJSkn.hhJSkn{font-size:2.8rem;}}/*!sc*/
@media screen and (min-width:1200px){.hhJSkn.hhJSkn.hhJSkn{line-height:3.6rem;}}/*!sc*/
.lKdzs.lKdzs.lKdzs{text-transform:capitalize;color:#E27133;border:1px solid #E2713354;background:rgba(0,0,0,0.33);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:0.2rem 0.6rem;border-radius:.6rem;white-space:nowrap;}/*!sc*/
.jBbHiM.jBbHiM.jBbHiM{text-transform:capitalize;color:#B49BFC;border:1px solid #B49BFC54;background:rgba(0,0,0,0.33);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:0.2rem 0.6rem;border-radius:.6rem;white-space:nowrap;}/*!sc*/
.kfRWXJ.kfRWXJ.kfRWXJ{font-weight:500;}/*!sc*/
.KYCXS.KYCXS.KYCXS{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
.jxtigD.jxtigD.jxtigD{color:#80868F;margin:0;}/*!sc*/
.grCsyJ.grCsyJ.grCsyJ{border-top:0.1rem solid #5a5f66;padding:2.4rem 1.6rem;color:#80868F;margin:0;}/*!sc*/
data-styled.g5[id="utils-sc-11hlfw-0"]{content:"ghiElA,jgibCU,cydknG,kqDxFL,gdLUMv,hAZkEV,ioVNuq,hrigFo,jKVeGi,bbibKK,hTjqEq,ctSvSw,bbQQEs,jmsZjj,daGTxQ,wneoK,kHaByn,dNAcKM,hRTnrT,iUMEFg,eywyFj,bSjAPd,jmVJtT,hPXnTc,kAWGyf,eOzIEM,GEyYG,fiJSa-d,hhJSkn,lKdzs,jBbHiM,kfRWXJ,KYCXS,jxtigD,grCsyJ,"}/*!sc*/
.cruTcJ{margin:0 0 1.6rem 0;color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;text-transform:uppercase;padding:0;}/*!sc*/
@media screen and (min-width:900px){.cruTcJ{color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;}}/*!sc*/
@media screen and (min-width:1200px){.cruTcJ{color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;}}/*!sc*/
.jIzwLe{margin:0;color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;text-transform:uppercase;padding:0;}/*!sc*/
@media screen and (min-width:900px){.jIzwLe{color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;}}/*!sc*/
@media screen and (min-width:1200px){.jIzwLe{color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;}}/*!sc*/
.fRlbrh{margin:0 0 1.6rem;color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;text-transform:uppercase;padding:0;}/*!sc*/
@media screen and (min-width:900px){.fRlbrh{color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;}}/*!sc*/
@media screen and (min-width:1200px){.fRlbrh{color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;}}/*!sc*/
.akErW{margin:0 0 0.8rem;color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;text-transform:uppercase;padding:0;}/*!sc*/
@media screen and (min-width:900px){.akErW{color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;}}/*!sc*/
@media screen and (min-width:1200px){.akErW{color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;}}/*!sc*/
.egLsFq{margin:0.8rem 0 1.6rem;color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;text-transform:uppercase;padding:0;}/*!sc*/
@media screen and (min-width:1200px){.egLsFq{margin:0;}}/*!sc*/
@media screen and (min-width:900px){.egLsFq{color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;}}/*!sc*/
@media screen and (min-width:1200px){.egLsFq{color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;}}/*!sc*/
.bHhyEy{margin:0.4rem 0 2rem;color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;text-transform:uppercase;padding:0;}/*!sc*/
@media screen and (min-width:900px){.bHhyEy{color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;}}/*!sc*/
@media screen and (min-width:1200px){.bHhyEy{color:#ABABAB;font-family:'Aeonik Mono',monospace;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0.1rem;-moz-letter-spacing:0.1rem;-ms-letter-spacing:0.1rem;letter-spacing:0.1rem;line-height:2rem;}}/*!sc*/
.gahICZ{margin:0 0 1.6rem 0;color:#8B929B;font-family:SpaceGrotesk,monospace;font-style:NORMAL;font-weight:600;font-size:1.2rem;-webkit-letter-spacing:0.12rem;-moz-letter-spacing:0.12rem;-ms-letter-spacing:0.12rem;letter-spacing:0.12rem;line-height:1.8rem;text-transform:uppercase;padding:0;}/*!sc*/
@media screen and (min-width:900px){.gahICZ{color:#8B929B;font-family:SpaceGrotesk,monospace;font-style:NORMAL;font-weight:600;font-size:1.4rem;-webkit-letter-spacing:0.15rem;-moz-letter-spacing:0.15rem;-ms-letter-spacing:0.15rem;letter-spacing:0.15rem;line-height:2rem;}}/*!sc*/
@media screen and (min-width:1200px){.gahICZ{color:#8B929B;font-family:SpaceGrotesk,monospace;font-style:NORMAL;font-weight:600;font-size:1.4rem;-webkit-letter-spacing:0.15rem;-moz-letter-spacing:0.15rem;-ms-letter-spacing:0.15rem;letter-spacing:0.15rem;line-height:2rem;}}/*!sc*/
data-styled.g9[id="styled__Overline-sc-165cfko-0"]{content:"cruTcJ,jIzwLe,fRlbrh,akErW,egLsFq,bHhyEy,gahICZ,"}/*!sc*/
.cykLRO{margin:0 0 1.6rem 0;color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.8rem;-webkit-letter-spacing:0.0125rem;-moz-letter-spacing:0.0125rem;-ms-letter-spacing:0.0125rem;letter-spacing:0.0125rem;line-height:2.5rem;color:#FFFEFA;padding:0;}/*!sc*/
@media screen and (min-width:900px){.cykLRO{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.8rem;-webkit-letter-spacing:0.0125rem;-moz-letter-spacing:0.0125rem;-ms-letter-spacing:0.0125rem;letter-spacing:0.0125rem;line-height:2.5rem;color:#FFFEFA;}}/*!sc*/
@media screen and (min-width:1200px){.cykLRO{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.8rem;-webkit-letter-spacing:0.0125rem;-moz-letter-spacing:0.0125rem;-ms-letter-spacing:0.0125rem;letter-spacing:0.0125rem;line-height:2.5rem;color:#FFFEFA;}}/*!sc*/
.dEYVdf{margin:0 0 1.6rem 0;color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.4rem;-webkit-letter-spacing:0.015rem;-moz-letter-spacing:0.015rem;-ms-letter-spacing:0.015rem;letter-spacing:0.015rem;line-height:2rem;color:#FFFEFA;padding:0;}/*!sc*/
@media screen and (min-width:900px){.dEYVdf{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.4rem;-webkit-letter-spacing:0.015rem;-moz-letter-spacing:0.015rem;-ms-letter-spacing:0.015rem;letter-spacing:0.015rem;line-height:2rem;color:#FFFEFA;}}/*!sc*/
@media screen and (min-width:1200px){.dEYVdf{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.4rem;-webkit-letter-spacing:0.015rem;-moz-letter-spacing:0.015rem;-ms-letter-spacing:0.015rem;letter-spacing:0.015rem;line-height:2rem;color:#FFFEFA;}}/*!sc*/
.dOFALE{margin:0 .8rem 0 0;color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.6rem;-webkit-letter-spacing:0.0125rem;-moz-letter-spacing:0.0125rem;-ms-letter-spacing:0.0125rem;letter-spacing:0.0125rem;line-height:2.2rem;color:#FFFEFA;padding:0;}/*!sc*/
@media screen and (min-width:900px){.dOFALE{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.6rem;-webkit-letter-spacing:0.0125rem;-moz-letter-spacing:0.0125rem;-ms-letter-spacing:0.0125rem;letter-spacing:0.0125rem;line-height:2.2rem;color:#FFFEFA;}}/*!sc*/
@media screen and (min-width:1200px){.dOFALE{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.6rem;-webkit-letter-spacing:0.0125rem;-moz-letter-spacing:0.0125rem;-ms-letter-spacing:0.0125rem;letter-spacing:0.0125rem;line-height:2.2rem;color:#FFFEFA;}}/*!sc*/
.jeLiTk{margin:0;color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.6rem;-webkit-letter-spacing:0.0125rem;-moz-letter-spacing:0.0125rem;-ms-letter-spacing:0.0125rem;letter-spacing:0.0125rem;line-height:2.2rem;color:#FFFEFA;padding:0;}/*!sc*/
@media screen and (min-width:900px){.jeLiTk{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.6rem;-webkit-letter-spacing:0.0125rem;-moz-letter-spacing:0.0125rem;-ms-letter-spacing:0.0125rem;letter-spacing:0.0125rem;line-height:2.2rem;color:#FFFEFA;}}/*!sc*/
@media screen and (min-width:1200px){.jeLiTk{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.6rem;-webkit-letter-spacing:0.0125rem;-moz-letter-spacing:0.0125rem;-ms-letter-spacing:0.0125rem;letter-spacing:0.0125rem;line-height:2.2rem;color:#FFFEFA;}}/*!sc*/
.jYylMA{margin:0;color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.4rem;-webkit-letter-spacing:0.015rem;-moz-letter-spacing:0.015rem;-ms-letter-spacing:0.015rem;letter-spacing:0.015rem;line-height:2rem;color:#FFFEFA;padding:0;}/*!sc*/
@media screen and (min-width:900px){.jYylMA{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.4rem;-webkit-letter-spacing:0.015rem;-moz-letter-spacing:0.015rem;-ms-letter-spacing:0.015rem;letter-spacing:0.015rem;line-height:2rem;color:#FFFEFA;}}/*!sc*/
@media screen and (min-width:1200px){.jYylMA{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.4rem;-webkit-letter-spacing:0.015rem;-moz-letter-spacing:0.015rem;-ms-letter-spacing:0.015rem;letter-spacing:0.015rem;line-height:2rem;color:#FFFEFA;}}/*!sc*/
.cRPvKS{margin:0;color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:2rem;-webkit-letter-spacing:0.005rem;-moz-letter-spacing:0.005rem;-ms-letter-spacing:0.005rem;letter-spacing:0.005rem;line-height:2.8rem;color:#FFFEFA;padding:0;}/*!sc*/
@media screen and (min-width:900px){.cRPvKS{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:2.4rem;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;line-height:3.2rem;color:#FFFEFA;}}/*!sc*/
@media screen and (min-width:1200px){.cRPvKS{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:2.4rem;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;line-height:3.2rem;color:#FFFEFA;}}/*!sc*/
.evZbox{margin:0 0 1.6rem 0;color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:2rem;-webkit-letter-spacing:0.005rem;-moz-letter-spacing:0.005rem;-ms-letter-spacing:0.005rem;letter-spacing:0.005rem;line-height:2.8rem;color:#FFFEFA;padding:0;}/*!sc*/
@media screen and (min-width:900px){.evZbox{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:2rem;-webkit-letter-spacing:0.005rem;-moz-letter-spacing:0.005rem;-ms-letter-spacing:0.005rem;letter-spacing:0.005rem;line-height:2.8rem;color:#FFFEFA;}}/*!sc*/
@media screen and (min-width:1200px){.evZbox{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:2rem;-webkit-letter-spacing:0.005rem;-moz-letter-spacing:0.005rem;-ms-letter-spacing:0.005rem;letter-spacing:0.005rem;line-height:2.8rem;color:#FFFEFA;}}/*!sc*/
.eKCpKG{margin:0 0 0.8rem;color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:2rem;-webkit-letter-spacing:0.005rem;-moz-letter-spacing:0.005rem;-ms-letter-spacing:0.005rem;letter-spacing:0.005rem;line-height:2.8rem;color:#FFFEFA;padding:0;}/*!sc*/
@media screen and (min-width:900px){.eKCpKG{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:2rem;-webkit-letter-spacing:0.005rem;-moz-letter-spacing:0.005rem;-ms-letter-spacing:0.005rem;letter-spacing:0.005rem;line-height:2.8rem;color:#FFFEFA;}}/*!sc*/
@media screen and (min-width:1200px){.eKCpKG{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:2rem;-webkit-letter-spacing:0.005rem;-moz-letter-spacing:0.005rem;-ms-letter-spacing:0.005rem;letter-spacing:0.005rem;line-height:2.8rem;color:#FFFEFA;}}/*!sc*/
.kwcFPE{margin:0 0 0.8rem;color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.6rem;-webkit-letter-spacing:0.0125rem;-moz-letter-spacing:0.0125rem;-ms-letter-spacing:0.0125rem;letter-spacing:0.0125rem;line-height:2.2rem;color:#FFFEFA;padding:0;}/*!sc*/
@media screen and (min-width:900px){.kwcFPE{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.6rem;-webkit-letter-spacing:0.0125rem;-moz-letter-spacing:0.0125rem;-ms-letter-spacing:0.0125rem;letter-spacing:0.0125rem;line-height:2.2rem;color:#FFFEFA;}}/*!sc*/
@media screen and (min-width:1200px){.kwcFPE{color:#E5E5E5;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.6rem;-webkit-letter-spacing:0.0125rem;-moz-letter-spacing:0.0125rem;-ms-letter-spacing:0.0125rem;letter-spacing:0.0125rem;line-height:2.2rem;color:#FFFEFA;}}/*!sc*/
.krhoHS{margin:0;color:#41454C;font-family:Inter,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#FFFFFF;padding:0;}/*!sc*/
@media screen and (min-width:900px){.krhoHS{color:#41454C;font-family:Inter,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#FFFFFF;}}/*!sc*/
@media screen and (min-width:1200px){.krhoHS{color:#41454C;font-family:Inter,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#FFFFFF;}}/*!sc*/
.dfnlHp{margin:0 0 1.6rem 0;color:#41454C;font-family:Inter,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#FFFFFF;padding:0;}/*!sc*/
@media screen and (min-width:900px){.dfnlHp{color:#41454C;font-family:Inter,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#FFFFFF;}}/*!sc*/
@media screen and (min-width:1200px){.dfnlHp{color:#41454C;font-family:Inter,sans-serif;font-style:NORMAL;font-weight:400;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#FFFFFF;}}/*!sc*/
data-styled.g10[id="styled__Paragraph-sc-165cfko-1"]{content:"cykLRO,dEYVdf,dOFALE,jeLiTk,jYylMA,cRPvKS,evZbox,eKCpKG,kwcFPE,krhoHS,dfnlHp,"}/*!sc*/
.dvPXaj{margin:0 0 1.6rem 0;color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:3.2rem;-webkit-letter-spacing:-0.01rem;-moz-letter-spacing:-0.01rem;-ms-letter-spacing:-0.01rem;letter-spacing:-0.01rem;line-height:4.4rem;color:#FFFEFA;padding:0;}/*!sc*/
@media screen and (min-width:900px){.dvPXaj{color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:4rem;-webkit-letter-spacing:-0.02rem;-moz-letter-spacing:-0.02rem;-ms-letter-spacing:-0.02rem;letter-spacing:-0.02rem;line-height:4.8rem;color:#FFFEFA;}}/*!sc*/
@media screen and (min-width:1200px){.dvPXaj{color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:4.8rem;-webkit-letter-spacing:-0.02rem;-moz-letter-spacing:-0.02rem;-ms-letter-spacing:-0.02rem;letter-spacing:-0.02rem;line-height:5.6rem;color:#FFFEFA;}}/*!sc*/
.bQHbCW{margin:4rem 0 2.4rem;color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:3.2rem;-webkit-letter-spacing:-0.01rem;-moz-letter-spacing:-0.01rem;-ms-letter-spacing:-0.01rem;letter-spacing:-0.01rem;line-height:4.4rem;color:#FFFEFA;padding:0;}/*!sc*/
@media screen and (min-width:1200px){.bQHbCW{margin:6.4rem 0 2.4rem;}}/*!sc*/
@media screen and (min-width:900px){.bQHbCW{color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:4rem;-webkit-letter-spacing:-0.02rem;-moz-letter-spacing:-0.02rem;-ms-letter-spacing:-0.02rem;letter-spacing:-0.02rem;line-height:4.8rem;color:#FFFEFA;}}/*!sc*/
@media screen and (min-width:1200px){.bQHbCW{color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:4rem;-webkit-letter-spacing:-0.02rem;-moz-letter-spacing:-0.02rem;-ms-letter-spacing:-0.02rem;letter-spacing:-0.02rem;line-height:4.8rem;color:#FFFEFA;}}/*!sc*/
.fTNKiF{margin:0 0 1.6rem 0;color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:500;font-size:2.4rem;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;line-height:3.2rem;color:#FFFEFA;padding:0;}/*!sc*/
@media screen and (min-width:900px){.fTNKiF{color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:500;font-size:2.4rem;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;line-height:3.2rem;color:#FFFEFA;}}/*!sc*/
@media screen and (min-width:1200px){.fTNKiF{color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:500;font-size:2.4rem;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;line-height:3.2rem;color:#FFFEFA;}}/*!sc*/
.bwECpK{margin:4rem 0 2.4rem;color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:2.4rem;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;line-height:3.2rem;color:#FFFEFA;padding:0;}/*!sc*/
@media screen and (min-width:1200px){.bwECpK{margin:6.4rem 0 2.4rem;}}/*!sc*/
@media screen and (min-width:900px){.bwECpK{color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:2.4rem;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;line-height:3.2rem;color:#FFFEFA;}}/*!sc*/
@media screen and (min-width:1200px){.bwECpK{color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:3.2rem;-webkit-letter-spacing:-0.01rem;-moz-letter-spacing:-0.01rem;-ms-letter-spacing:-0.01rem;letter-spacing:-0.01rem;line-height:4.4rem;color:#FFFEFA;}}/*!sc*/
.kAwpoB{margin:0 0 .4rem;color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:2.4rem;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;line-height:3.2rem;color:#FFFEFA;padding:0;}/*!sc*/
@media screen and (min-width:900px){.kAwpoB{color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:2.4rem;-webkit-letter-spacing:0;-moz-letter-spacing:0;-ms-letter-spacing:0;letter-spacing:0;line-height:3.2rem;color:#FFFEFA;}}/*!sc*/
@media screen and (min-width:1200px){.kAwpoB{color:#FFFEFA;font-family:Aeonik,sans-serif;font-style:NORMAL;font-weight:400;font-size:3.2rem;-webkit-letter-spacing:-0.01rem;-moz-letter-spacing:-0.01rem;-ms-letter-spacing:-0.01rem;letter-spacing:-0.01rem;line-height:4.4rem;color:#FFFEFA;}}/*!sc*/
data-styled.g11[id="styled__Heading-sc-165cfko-2"]{content:"dvPXaj,bQHbCW,fTNKiF,bwECpK,kAwpoB,"}/*!sc*/
.gOnbZW{margin:0;display:inline-block;padding:0;font-family:Aeonik,sans-serif !important;color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.8rem;-webkit-letter-spacing:-0.005rem;-moz-letter-spacing:-0.005rem;-ms-letter-spacing:-0.005rem;letter-spacing:-0.005rem;line-height:2.8rem;color:#99A7F1;-webkit-text-decoration:underline;text-decoration:underline;text-underline-offset:0.3rem;cursor:pointer;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}/*!sc*/
@media screen and (min-width:900px){.gOnbZW{color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.8rem;-webkit-letter-spacing:-0.005rem;-moz-letter-spacing:-0.005rem;-ms-letter-spacing:-0.005rem;letter-spacing:-0.005rem;line-height:2.8rem;color:#99A7F1;}}/*!sc*/
@media screen and (min-width:1200px){.gOnbZW{color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.8rem;-webkit-letter-spacing:-0.005rem;-moz-letter-spacing:-0.005rem;-ms-letter-spacing:-0.005rem;letter-spacing:-0.005rem;line-height:2.8rem;color:#99A7F1;}}/*!sc*/
.gOnbZW:hover{color:#B6CAFF;cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.gOnbZW:active{color:#3F59E4;}/*!sc*/
.gOnbZW:focus{color:#99A7F1;}/*!sc*/
.gOnbZW:focus-visible{outline:0.2rem solid #99A7F1;border-radius:0.4rem;color:#99A7F1;}/*!sc*/
.gOnbZW:after{content:'→';padding-left:0.8rem;display:inline-block;}/*!sc*/
.bTQHxM{margin:0;display:inline-block;padding:0;font-family:Aeonik,sans-serif !important;color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#99A7F1;-webkit-text-decoration:underline;text-decoration:underline;text-underline-offset:0.3rem;cursor:pointer;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}/*!sc*/
@media screen and (min-width:900px){.bTQHxM{color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.6rem;-webkit-letter-spacing:-0.001rem;-moz-letter-spacing:-0.001rem;-ms-letter-spacing:-0.001rem;letter-spacing:-0.001rem;line-height:2.4rem;color:#99A7F1;}}/*!sc*/
@media screen and (min-width:1200px){.bTQHxM{color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.6rem;-webkit-letter-spacing:-0.001rem;-moz-letter-spacing:-0.001rem;-ms-letter-spacing:-0.001rem;letter-spacing:-0.001rem;line-height:2.4rem;color:#99A7F1;}}/*!sc*/
.bTQHxM:hover{color:#B6CAFF;cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.bTQHxM:active{color:#3F59E4;}/*!sc*/
.bTQHxM:focus{color:#99A7F1;}/*!sc*/
.bTQHxM:focus-visible{outline:0.2rem solid #99A7F1;border-radius:0.4rem;color:#99A7F1;}/*!sc*/
.eqZICC{margin:0;display:inline-block;padding:0;font-family:Aeonik,sans-serif !important;color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#99A7F1;-webkit-text-decoration:underline;text-decoration:underline;text-underline-offset:0.3rem;cursor:pointer;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}/*!sc*/
@media screen and (min-width:900px){.eqZICC{color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#99A7F1;}}/*!sc*/
@media screen and (min-width:1200px){.eqZICC{color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#99A7F1;}}/*!sc*/
.eqZICC:hover{color:#B6CAFF;cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.eqZICC:active{color:#3F59E4;}/*!sc*/
.eqZICC:focus{color:#99A7F1;}/*!sc*/
.eqZICC:focus-visible{outline:0.2rem solid #99A7F1;border-radius:0.4rem;color:#99A7F1;}/*!sc*/
.eqZICC:after{content:'→';padding-left:0.8rem;display:inline-block;}/*!sc*/
.jKUWSc{margin:0;display:inline-block;padding:0;font-family:Aeonik,sans-serif !important;color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.8rem;-webkit-letter-spacing:-0.005rem;-moz-letter-spacing:-0.005rem;-ms-letter-spacing:-0.005rem;letter-spacing:-0.005rem;line-height:2.8rem;color:#99A7F1;-webkit-text-decoration:underline;text-decoration:underline;text-underline-offset:0.3rem;cursor:pointer;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}/*!sc*/
@media screen and (min-width:900px){.jKUWSc{color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.8rem;-webkit-letter-spacing:-0.005rem;-moz-letter-spacing:-0.005rem;-ms-letter-spacing:-0.005rem;letter-spacing:-0.005rem;line-height:2.8rem;color:#99A7F1;}}/*!sc*/
@media screen and (min-width:1200px){.jKUWSc{color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.8rem;-webkit-letter-spacing:-0.005rem;-moz-letter-spacing:-0.005rem;-ms-letter-spacing:-0.005rem;letter-spacing:-0.005rem;line-height:2.8rem;color:#99A7F1;}}/*!sc*/
.jKUWSc:hover{color:#B6CAFF;cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.jKUWSc:active{color:#3F59E4;}/*!sc*/
.jKUWSc:focus{color:#99A7F1;}/*!sc*/
.jKUWSc:focus-visible{outline:0.2rem solid #99A7F1;border-radius:0.4rem;color:#99A7F1;}/*!sc*/
.edSzJI{margin:0.8rem 0 0;display:inline-block;padding:0;font-family:Aeonik,sans-serif !important;color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#99A7F1;-webkit-text-decoration:underline;text-decoration:underline;text-underline-offset:0.3rem;cursor:pointer;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}/*!sc*/
@media screen and (min-width:900px){.edSzJI{color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#99A7F1;}}/*!sc*/
@media screen and (min-width:1200px){.edSzJI{color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#99A7F1;}}/*!sc*/
.edSzJI:hover{color:#B6CAFF;cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.edSzJI:active{color:#3F59E4;}/*!sc*/
.edSzJI:focus{color:#99A7F1;}/*!sc*/
.edSzJI:focus-visible{outline:0.2rem solid #99A7F1;border-radius:0.4rem;color:#99A7F1;}/*!sc*/
.fFCiQj{margin:0;display:inline-block;padding:0;font-family:Inter,sans-serif !important;color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#BCBAFF;-webkit-text-decoration:none;text-decoration:none;text-underline-offset:0.3rem;cursor:pointer;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}/*!sc*/
@media screen and (min-width:900px){.fFCiQj{color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#BCBAFF;}}/*!sc*/
@media screen and (min-width:1200px){.fFCiQj{color:#635DFF;font-family:Inter;font-style:NORMAL;font-weight:500;font-size:1.4rem;-webkit-letter-spacing:0rem;-moz-letter-spacing:0rem;-ms-letter-spacing:0rem;letter-spacing:0rem;line-height:2.2rem;color:#BCBAFF;}}/*!sc*/
.fFCiQj:hover{color:#E9E8FF;cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
.fFCiQj:active{color:#908BFF;}/*!sc*/
.fFCiQj:focus{color:#BCBAFF;}/*!sc*/
.fFCiQj:focus-visible{outline:0.4rem solid #635DFFCC;border-radius:0.4rem;color:#BCBAFF;}/*!sc*/
data-styled.g13[id="styled__Link-sc-bubr9x-0"]{content:"gOnbZW,bTQHxM,eqZICC,jKUWSc,edSzJI,fFCiQj,"}/*!sc*/
.bbZpJT{font-family:Aeonik,sans-serif;width:100%;min-width:17.3rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:1.6rem;height:100%;line-height:2.4rem;-webkit-letter-spacing:0.015rem;-moz-letter-spacing:0.015rem;-ms-letter-spacing:0.015rem;letter-spacing:0.015rem;padding:0 0 0 4rem;border-radius:0.6rem;box-sizing:border-box;color:#FFFEFA;background:#111111;outline:none;border:0.1rem solid #555555;}/*!sc*/
.bbZpJT::-webkit-input-placeholder{color:#808080;}/*!sc*/
.bbZpJT::-moz-placeholder{color:#808080;}/*!sc*/
.bbZpJT:-ms-input-placeholder{color:#808080;}/*!sc*/
.bbZpJT::placeholder{color:#808080;}/*!sc*/
.bbZpJT:disabled{background-color:#383838;border:0.1rem solid #555555;color:#555555;}/*!sc*/
.bbZpJT:hover{border:0.1rem solid #808080;}/*!sc*/
data-styled.g15[id="styled__TextInput-sc-zjpc1c-1"]{content:"bbZpJT,"}/*!sc*/
.egtBcg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;min-width:17.3rem;border-radius:0.8rem;padding:0;height:4.8rem;box-sizing:border-box;margin-inline-start:0;margin-inline-end:0;padding-block-start:0;padding-inline-start:0;padding-inline-end:0;padding-block-end:0;border:none;}/*!sc*/
data-styled.g16[id="styled__InputWrapper-sc-zjpc1c-2"]{content:"egtBcg,"}/*!sc*/
.fiFjBn{position:absolute;margin:0 0 0 1.6rem;}/*!sc*/
data-styled.g17[id="styled__SearchIcon-sc-zjpc1c-3"]{content:"fiFjBn,"}/*!sc*/
.dIMmPH{max-width:144rem;padding:0 1.6rem;margin:0 auto;position:relative;}/*!sc*/
@media screen and (min-width:900px){.dIMmPH{padding:0 6.4rem;}}/*!sc*/
@media screen and (min-width:1600px){.dIMmPH{padding:0 0 0 14.4rem!important;max-width:160rem;}.dIMmPH:after{content:" ";position:absolute;top:0;bottom:0;right:-0.1rem;width:14.4rem;background:linear-gradient(90deg,rgba(17,17,17,0.00) 0%,#111 91.67%);}}/*!sc*/
data-styled.g190[id="styled__Wrapper-sc-1xhxac-0"]{content:"dIMmPH,"}/*!sc*/
.ergSSi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;margin-bottom:1.4rem;-webkit-transition:all 0.5s cubic-bezier(0.23,1,0.32,1);transition:all 0.5s cubic-bezier(0.23,1,0.32,1);-webkit-transform:translateX( calc( -0% - 0 ) );-ms-transform:translateX( calc( -0% - 0 ) );transform:translateX( calc( -0% - 0 ) );}/*!sc*/
@media screen and (min-width:900px){.ergSSi{margin-bottom:3.2rem;-webkit-transform:translateX( calc( -0% - 0 ) );-ms-transform:translateX( calc( -0% - 0 ) );transform:translateX( calc( -0% - 0 ) );}}/*!sc*/
@media screen and (min-width:1200px){.ergSSi{-webkit-transform:translateX(calc(-0% - 0));-ms-transform:translateX(calc(-0% - 0));transform:translateX(calc(-0% - 0));}}/*!sc*/
data-styled.g191[id="styled__Container-sc-1xhxac-1"]{content:"ergSSi,"}/*!sc*/
.fPZLSj{overflow-x:hidden;max-width:131.2rem;margin:0 auto;}/*!sc*/
@media screen and (min-width:1600px){.fPZLSj{padding-right:14.4rem;max-width:145.6rem;}}/*!sc*/
data-styled.g196[id="styled__SliderWrapper-sc-1xhxac-6"]{content:"fPZLSj,"}/*!sc*/
.ftYCoM{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:none;border:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:0.4rem;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;}/*!sc*/
.ftYCoM p{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;}/*!sc*/
.ftYCoM:hover p{-webkit-text-decoration:underline;text-decoration:underline;text-underline-position:from-font;}/*!sc*/
data-styled.g281[id="sc-1xszjru-0"]{content:"ftYCoM,"}/*!sc*/
.TIjHP{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:1.2rem;}/*!sc*/
data-styled.g287[id="sc-i8q3i5-0"]{content:"TIjHP,"}/*!sc*/
.csAers{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:0.8rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:4rem;overflow:hidden;width:4rem;}/*!sc*/
data-styled.g288[id="sc-i8q3i5-1"]{content:"csAers,"}/*!sc*/
.flhvbZ{height:100%;width:100%;}/*!sc*/
data-styled.g289[id="sc-i8q3i5-2"]{content:"flhvbZ,"}/*!sc*/
.xbOra{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:0rem;white-space:nowrap;}/*!sc*/
data-styled.g290[id="sc-i8q3i5-3"]{content:"xbOra,"}/*!sc*/
.eqcnId{display:block;background:#E8DCC7;min-height:14rem;height:14rem;-webkit-transition:all 0.2s ease;transition:all 0.2s ease;width:100%;z-index:1;}/*!sc*/
@media screen and (min-width:1200px){.eqcnId{display:block;min-height:19.2rem;height:19.2rem;}}/*!sc*/
data-styled.g297[id="sc-1akycv5-0"]{content:"eqcnId,"}/*!sc*/
.bzOlzO{background-image:url(https://images.ctfassets.net/23aumh6u8s0i/6L2SgKnOjAgtu4asmHaBOW/67be3bef8f36e7ce5cb0a0b796415f23/01_HowWeHireEngineers-blog_588x528_3x-Alina);background-size:cover;background-position:center;height:100%;}/*!sc*/
.hqHxlx{background-image:url(https://images.ctfassets.net/23aumh6u8s0i/56S9oDWKVeNY8AIszkZvw1/7d6794f3d31d4eedb5a3d3699e796e5c/default);background-size:cover;background-position:center;height:100%;}/*!sc*/
data-styled.g298[id="sc-1akycv5-1"]{content:"bzOlzO,hqHxlx,"}/*!sc*/
.irkzRp{background:#1E1E1E;border-radius:1.6rem;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-transition:all 0.2s ease-in;transition:all 0.2s ease-in;overflow:hidden;position:relative;border-bottom:0.1rem solid #2A2A2A;}/*!sc*/
.irkzRp:before{position:absolute;content:'';inset:0;background:radial-gradient(70.73% 156.97% at 50% -67.43%,#4352A4 0%,#1E1E1E 100%);z-index:1;opacity:0;-webkit-transition:opacity 0.25s ease-in-out;transition:opacity 0.25s ease-in-out;}/*!sc*/
.irkzRp:hover:before{opacity:1;}/*!sc*/
.irkzRp:hover .sc-1akycv5-0{background:#3F59E4;opacity:1;}/*!sc*/
data-styled.g299[id="sc-1akycv5-2"]{content:"irkzRp,"}/*!sc*/
@media screen and (min-width:1200px){.bPXVfK{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;margin-bottom:0.8rem;gap:1.6rem;}}/*!sc*/
data-styled.g300[id="sc-1akycv5-3"]{content:"bPXVfK,"}/*!sc*/
.dPYFps{padding:2.4rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;z-index:1;}/*!sc*/
@media screen and (min-width:1200px){.dPYFps{min-height:29.6rem;}}/*!sc*/
data-styled.g301[id="sc-1akycv5-4"]{content:"dPYFps,"}/*!sc*/
.ehBEGM{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:auto 0 0;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:0 1.2rem;}/*!sc*/
.ehBEGM button{padding:0;}/*!sc*/
.ehBEGM button p:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/
data-styled.g302[id="sc-1akycv5-5"]{content:"ehBEGM,"}/*!sc*/
.fytga-d{border-bottom:0.1rem solid #555555;width:100%;}/*!sc*/
.fytga-d span{display:block;}/*!sc*/
@media screen and (min-width:1200px){.fytga-d span{display:inline;}.fytga-d span:first-child{margin-right:0.8rem;}}/*!sc*/
data-styled.g304[id="sc-dh4ait-0"]{content:"fytga-d,"}/*!sc*/
.iIECrc{border-color:#B6CAFF;border-left-width:0.4rem;margin:4.8rem 0;padding:2.4rem 0 2.4rem 2.4rem;}/*!sc*/
@media screen and (min-width:1200px){.iIECrc{padding:1.6rem 0 1.6rem 4rem;}}/*!sc*/
data-styled.g335[id="sc-7ovv77-0"]{content:"iIECrc,"}/*!sc*/
.ixUiOW{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;margin:1.6rem 0 0;border:0.1rem solid #555555;gap:0.8rem;padding:0.8rem;border-radius:0.8rem;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out;}/*!sc*/
.ixUiOW span{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;}/*!sc*/
.ixUiOW:hover{border:0.1rem solid #B6CAFF;}/*!sc*/
.ixUiOW:hover span{color:#B6CAFF;}/*!sc*/
data-styled.g369[id="sc-1w6xcbn-0"]{content:"ixUiOW,"}/*!sc*/
.hthBSw{font-family:Inter,sans-serif;color:#E5E5E5;font-size:2rem;line-height:3.6rem;}/*!sc*/
@media screen and (min-width:1200px){.hthBSw{font-size:1.8rem;line-height:3.2rem;}}/*!sc*/
data-styled.g377[id="sc-1v0wo3i-0"]{content:"hthBSw,"}/*!sc*/
.heSQis{display:inline-block;border:0.1rem solid rgba(220,221,225,0.16);background:linear-gradient(126deg,rgba(24,24,25,0.77) 0%,rgba(24,24,25,0.5) 100%);color:#E5E5E5;-webkit-scrollbar-color:#808080 transparent;-moz-scrollbar-color:#808080 transparent;-ms-scrollbar-color:#808080 transparent;scrollbar-color:#808080 transparent;-webkit-scrollbar-width:thin;-moz-scrollbar-width:thin;-ms-scrollbar-width:thin;scrollbar-width:thin;border-radius:0.4rem;padding:0.4rem;white-space:pre;line-height:1.6rem;font-size:1.6rem;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;max-width:100%;overflow-x:auto;vertical-align:middle;}/*!sc*/
data-styled.g378[id="sc-1xg6er-0"]{content:"heSQis,"}/*!sc*/
.cLBDjU{font-family:Inter,sans-serif;color:#E5E5E5;font-size:2rem;line-height:3.6rem;}/*!sc*/
.cLBDjU pre{display:inline-block;font-size:2rem;line-height:2rem;padding:0.4rem !important;margin:0 !important;overflow:unset !important;}/*!sc*/
@media screen and (min-width:1200px){.cLBDjU{font-size:1.8rem;line-height:3.2rem;}.cLBDjU pre{display:inline-block;font-size:1.6rem;line-height:2rem;}}/*!sc*/
data-styled.g386[id="sc-13lpndi-7"]{content:"cLBDjU,"}/*!sc*/
.ifMAwf{font-family:Inter,sans-serif;color:#E5E5E5;font-size:2rem;line-height:3.6rem;margin-inline-start:-0.8rem;}/*!sc*/
.ifMAwf li{padding-left:0.4rem;}/*!sc*/
.ifMAwf pre{display:inline-block;font-size:2rem;line-height:2rem;padding:0.4rem !important;margin:0 !important;overflow:unset !important;}/*!sc*/
@media screen and (min-width:1200px){.ifMAwf{font-size:1.8rem;line-height:3.2rem;}.ifMAwf pre{display:inline-block;font-size:1.6rem;line-height:2rem;}}/*!sc*/
data-styled.g387[id="sc-13lpndi-8"]{content:"ifMAwf,"}/*!sc*/
.uiRQQ{color:#99A7F1;}/*!sc*/
.uiRQQ:hover{color:#B6CAFF;}/*!sc*/
data-styled.g388[id="sc-13lpndi-9"]{content:"uiRQQ,"}/*!sc*/
div:has(> .sc-13lpndi-12){color:#E5E5E5;}/*!sc*/
data-styled.g391[id="sc-13lpndi-12"]{content:"gMCFZd,"}/*!sc*/
.fLWZEZ{background:#111;display:none;position:fixed;z-index:100;top:10.4rem;bottom:0;left:0;right:0;width:100%;overflow:auto;}/*!sc*/
data-styled.g448[id="styled__Wrapper-sc-85iotp-0"]{content:"fLWZEZ,"}/*!sc*/
.bKVCoK{margin-bottom:15rem;padding-left:0;}/*!sc*/
data-styled.g449[id="styled__ContentWrapper-sc-85iotp-1"]{content:"bKVCoK,"}/*!sc*/
.gFUsAX{list-style:none;width:100%;border-bottom:0.1rem solid #2A2A2A;}/*!sc*/
.gFUsAX:first-of-type{border-top:0.1rem solid #2A2A2A;}/*!sc*/
data-styled.g450[id="styled__NavItemContainer-sc-85iotp-2"]{content:"gFUsAX,"}/*!sc*/
.iPznvT{padding:2.4rem 2rem 2.4rem 1.6rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/
@media screen and (min-width:900px){.iPznvT{padding-left:6.4rem;padding-right:6.4rem;}}/*!sc*/
data-styled.g451[id="styled__NavLinkContainer-sc-85iotp-3"]{content:"iPznvT,"}/*!sc*/
.hMQycd{font-family:Aeonik,sans-serif;font-weight:500;font-size:2rem;line-height:2.8rem;-webkit-letter-spacing:-0.01rem;-moz-letter-spacing:-0.01rem;-ms-letter-spacing:-0.01rem;letter-spacing:-0.01rem;color:#FFFEFA;display:inline-block;width:100%;}/*!sc*/
.hMQycd:hover{color:#BCBAFF;}/*!sc*/
data-styled.g452[id="styled__NavLink-sc-85iotp-4"]{content:"hMQycd,"}/*!sc*/
.fiLHFG{font-family:Aeonik,sans-serif;font-weight:500;font-size:2rem;line-height:2.8rem;-webkit-letter-spacing:0.01rem;-moz-letter-spacing:0.01rem;-ms-letter-spacing:0.01rem;letter-spacing:0.01rem;color:#FFFEFA;margin:0;padding:2.4rem 0 2.4rem 1.6rem;position:relative;-webkit-transition:color 0.2s;transition:color 0.2s;}/*!sc*/
.fiLHFG::before{border-style:solid;border-width:0.1em 0.1em 0 0;content:'';display:inline-block;height:1.4rem;right:3rem;top:calc(50% - 0.83rem);position:absolute;vertical-align:top;width:1.4rem;-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg);-webkit-transition:-webkit-transform 0.4s ease;-webkit-transition:transform 0.4s ease;transition:transform 0.4s ease;}/*!sc*/
@media screen and (min-width:900px){.fiLHFG{padding-left:6.4rem;}.fiLHFG:before{right:7rem;}}/*!sc*/
data-styled.g453[id="styled__NavItemTitle-sc-85iotp-5"]{content:"fiLHFG,"}/*!sc*/
.iaTRLv{overflow:hidden;height:auto;-webkit-transition:max-height 0.3s ease-out;transition:max-height 0.3s ease-out;padding-left:1.6rem;background:#191919;height:0;max-height:0;}/*!sc*/
@media screen and (min-width:900px){.iaTRLv{padding-left:6.4rem;}}/*!sc*/
data-styled.g454[id="styled__NavItem-sc-85iotp-6"]{content:"iaTRLv,"}/*!sc*/
.jNLPXV:not(:last-of-type){margin-bottom:3.2rem;}/*!sc*/
.jNLPXV:last-of-type{padding-bottom:1.6rem;}/*!sc*/
data-styled.g455[id="styled__ColumnContainer-sc-85iotp-7"]{content:"jNLPXV,"}/*!sc*/
.gpNudx{font-family:Aeonik Mono,monospace;font-size:1.4rem;line-height:2rem;font-weight:500;-webkit-letter-spacing:0.14rem;-moz-letter-spacing:0.14rem;-ms-letter-spacing:0.14rem;letter-spacing:0.14rem;text-transform:uppercase;color:#8c929c;margin:0 0 2rem;padding-top:3.2rem;}/*!sc*/
data-styled.g456[id="styled__ColumnItemTitle-sc-85iotp-8"]{content:"gpNudx,"}/*!sc*/
.iiHmil{list-style:none;padding:0;margin:0;}/*!sc*/
data-styled.g458[id="styled__ColumnList-sc-85iotp-10"]{content:"iiHmil,"}/*!sc*/
.iWwpGx{font-family:Aeonik,sans-serif;font-size:2rem;line-height:2.8rem;-webkit-letter-spacing:0.01rem;-moz-letter-spacing:0.01rem;-ms-letter-spacing:0.01rem;letter-spacing:0.01rem;margin-bottom:2rem;}/*!sc*/
.iWwpGx a{color:#FFFEFA;display:inline-block;width:100%;}/*!sc*/
.iWwpGx a:hover{color:#BCBAFF;}/*!sc*/
data-styled.g459[id="styled__ColumnListItem-sc-85iotp-11"]{content:"iWwpGx,"}/*!sc*/
.hHGyKV{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%;padding:1.6rem;margin:0 auto;border-top:0.1rem solid #2A2A2A;position:fixed;bottom:0;left:0;right:0;text-align:center;background:#111;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/
@media screen and (min-width:900px){.hHGyKV{padding:3.2rem 6.4rem;}}/*!sc*/
data-styled.g463[id="styled__ButtonContainer-sc-85iotp-15"]{content:"hHGyKV,"}/*!sc*/
.uBLyR{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:1.6rem;}/*!sc*/
data-styled.g466[id="styled__SecondaryButtonContainer-sc-85iotp-18"]{content:"uBLyR,"}/*!sc*/
.dNgXDO{background:#242424;color:#FFFFFF;width:100%;margin:auto;font-size:1.4rem;line-height:2rem;text-align:left;font-family:Aeonik,sans-serif;border-bottom:0.1rem solid #41454C;border-bottom:0.2rem solid;border-image-slice:1;border-image-source:linear-gradient( 135deg,#4cb7a3 0%,#3f59e4 50%,#4016a0 100% );}/*!sc*/
@media screen and (min-width:900px){.dNgXDO{text-align:left;}}/*!sc*/
data-styled.g468[id="styled__Wrapper-sc-q607n8-0"]{content:"dNgXDO,"}/*!sc*/
.iLiwVc{width:100%;max-width:144rem;min-height:4rem;margin:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:1rem 1.6rem;}/*!sc*/
@media screen and (min-width:900px){.iLiwVc{padding:1rem 6.4rem;}}/*!sc*/
@media screen and (min-width:1200px){.iLiwVc{padding:0 6.4rem;}}/*!sc*/
data-styled.g469[id="styled__Container-sc-q607n8-1"]{content:"iLiwVc,"}/*!sc*/
.abKWi{-webkit-flex:1;-ms-flex:1;flex:1;padding:0;cursor:pointer;}/*!sc*/
@media screen and (min-width:900px){.abKWi{padding:0;}}/*!sc*/
@media screen and (min-width:1200px){.abKWi{padding:0.9rem 0;margin-right:2.4rem;}}/*!sc*/
.abKWi:hover .styled__CTA-sc-q607n8-4{color:#B6CAFF;}/*!sc*/
data-styled.g473[id="styled__Message-sc-q607n8-5"]{content:"abKWi,"}/*!sc*/
.hYamDF{display:none;}/*!sc*/
@media screen and (min-width:1200px){.hYamDF{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}}/*!sc*/
data-styled.g474[id="styled__Buttons-sc-q607n8-6"]{content:"hYamDF,"}/*!sc*/
.kBIbqR{color:#FFFFFF;cursor:pointer;font-weight:500;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
.kBIbqR:focus{outline:none;}/*!sc*/
.kBIbqR:hover,.kBIbqR:focus{color:#B6CAFF;}/*!sc*/
data-styled.g475[id="styled__Login-sc-q607n8-7"]{content:"kBIbqR,"}/*!sc*/
.eEIir{height:10.4rem;width:100%;margin:0 auto;}/*!sc*/
@media screen and (min-width:1200px){.eEIir{display:none;}}/*!sc*/
data-styled.g483[id="styled__HeaderBackMobile-sc-1755fzv-1"]{content:"eEIir,"}/*!sc*/
.zthfc{height:0.1rem;position:absolute;visibility:hidden;top:0;}/*!sc*/
data-styled.g484[id="styled__ObservedPixel-sc-1755fzv-2"]{content:"zthfc,"}/*!sc*/
.dkiGRF{position:fixed;top:0;left:0;width:100%;z-index:1000;color:#FFFEFA;}/*!sc*/
data-styled.g485[id="styled__Header-sc-1755fzv-3"]{content:"dkiGRF,"}/*!sc*/
.fFJcFb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
data-styled.g486[id="styled__LogoWrapper-sc-1755fzv-4"]{content:"fFJcFb,"}/*!sc*/
.fGauJV{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex:1;-ms-flex:1;flex:1;}/*!sc*/
data-styled.g487[id="styled__LogoWrapperMobile-sc-1755fzv-5"]{content:"fGauJV,"}/*!sc*/
.dNWFIo{-webkit-transition:background-color 0.2s ease,border-radius 0.2s ease;transition:background-color 0.2s ease,border-radius 0.2s ease;position:relative;display:none;width:100%;max-width:100%;margin:auto;padding:0 6.4rem;background-color:#111;}/*!sc*/
@media screen and (min-width:1200px){.dNWFIo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}}/*!sc*/
.dNWFIo:hover{background-color:#111;border-radius:0 0 1.6rem 1.6rem;}/*!sc*/
data-styled.g488[id="styled__NavDesktop-sc-1755fzv-6"]{content:"dNWFIo,"}/*!sc*/
.fRLSLz{max-width:131.2rem;width:100%;margin:auto;-webkit-transition:background-color 0.2s ease,border-radius 0.2s ease;transition:background-color 0.2s ease,border-radius 0.2s ease;position:relative;padding:0 6.4rem;background-color:#111;}/*!sc*/
@media screen and (min-width:1200px){.fRLSLz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:0;}}/*!sc*/
.fRLSLz:hover{background-color:#111;border-radius:0 0 1.6rem 1.6rem;}/*!sc*/
data-styled.g489[id="styled__NavDesktopContainer-sc-1755fzv-7"]{content:"fRLSLz,"}/*!sc*/
.bRCGlX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
data-styled.g490[id="styled__ButtonList-sc-1755fzv-8"]{content:"bRCGlX,"}/*!sc*/
.jNurLP{max-width:144rem;width:100%;margin:auto;padding:1.2rem 1.6rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;background-color:#111;height:6.4rem;box-shadow:inset 0 -0.1rem 0 #2A2A2A;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
@media screen and (min-width:900px){.jNurLP{padding:1.6rem 6.4rem;}}/*!sc*/
@media screen and (min-width:1200px){.jNurLP{display:none;}}/*!sc*/
data-styled.g491[id="styled__NavMobile-sc-1755fzv-9"]{content:"jNurLP,"}/*!sc*/
.bqIEwD{justify-self:flex-end;padding:2rem 0;}/*!sc*/
data-styled.g492[id="styled__RightColumnMobile-sc-1755fzv-10"]{content:"bqIEwD,"}/*!sc*/
.bFjHZg{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;height:2.4rem;margin:0;padding:0;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out;}/*!sc*/
data-styled.g493[id="styled__BurgerIconWrapper-sc-1755fzv-11"]{content:"bFjHZg,"}/*!sc*/
.hRkwQd{width:2.2rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:0.25rem;background:#FFFFFF;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;margin-top:1.2rem;}/*!sc*/
.hRkwQd::before,.hRkwQd::after{content:'';position:absolute;width:2.2rem;height:0.25rem;background:#FFFFFF;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;}/*!sc*/
.hRkwQd::before{-webkit-transform:translateY(-0.7rem);-ms-transform:translateY(-0.7rem);transform:translateY(-0.7rem);}/*!sc*/
.hRkwQd::after{-webkit-transform:translateY(0.7rem);-ms-transform:translateY(0.7rem);transform:translateY(0.7rem);}/*!sc*/
data-styled.g494[id="styled__BurgerIcon-sc-1755fzv-12"]{content:"hRkwQd,"}/*!sc*/
.eQMbwJ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0;list-style:none;margin:0;line-height:2.4rem;}/*!sc*/
data-styled.g495[id="styled__NavList-sc-1755fzv-13"]{content:"eQMbwJ,"}/*!sc*/
.fGxoAJ{color:#FFFEFA;cursor:initial;padding-top:0.9rem;width:104.4rem;position:absolute;left:0;right:0;margin:-0.1rem auto 0;top:6.4rem;display:inline-block;visibility:hidden;opacity:0;-webkit-transform:translateX(-1.6rem);-ms-transform:translateX(-1.6rem);transform:translateX(-1.6rem);-webkit-transition:visibility 0s,opacity 0.2s linear,-webkit-transform 0.2s linear;-webkit-transition:visibility 0s,opacity 0.2s linear,transform 0.2s linear;transition:visibility 0s,opacity 0.2s linear,transform 0.2s linear;}/*!sc*/
data-styled.g496[id="styled__NavElementContentWrapper-sc-1755fzv-14"]{content:"fGxoAJ,"}/*!sc*/
.bJSalM{position:relative;-webkit-transition:color 0.2s ease;transition:color 0.2s ease;color:#FFFEFA;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/
.bJSalM::after{content:'';-webkit-transition:border-color 0.2s ease,-webkit-transform 0.2s ease;-webkit-transition:border-color 0.2s ease,transform 0.2s ease;transition:border-color 0.2s ease,transform 0.2s ease;width:100%;height:0.2rem;border-bottom:0.2rem solid transparent;display:block;bottom:-1.6rem;position:absolute;left:0;-webkit-transform:scale(0,1);-ms-transform:scale(0,1);transform:scale(0,1);}/*!sc*/
data-styled.g497[id="styled__NavElementButton-sc-1755fzv-15"]{content:"bJSalM,"}/*!sc*/
.iKTrpL{font-family:Aeonik,sans-serif;padding:1.6rem 1.8rem;cursor:pointer;font-size:1.6rem;font-weight:500;line-height:3.2rem;-webkit-letter-spacing:0.02rem;-moz-letter-spacing:0.02rem;-ms-letter-spacing:0.02rem;letter-spacing:0.02rem;}/*!sc*/
.iKTrpL .styled__NavElementButton-sc-1755fzv-15 > svg{stroke:#FFFEFA;-webkit-transition:stroke 0.2s ease;transition:stroke 0.2s ease;padding-left:0.4rem;}/*!sc*/
.iKTrpL:hover{color:#BCBAFF;}/*!sc*/
.iKTrpL:hover .styled__NavElementContentWrapper-sc-1755fzv-14{visibility:visible;opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}/*!sc*/
.iKTrpL:hover .styled__NavElementButton-sc-1755fzv-15{color:#BCBAFF;}/*!sc*/
.iKTrpL:hover .styled__NavElementButton-sc-1755fzv-15::after{border-bottom-color:#BCBAFF;-webkit-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);}/*!sc*/
.iKTrpL:hover .styled__NavElementButton-sc-1755fzv-15 > svg{stroke:#BCBAFF;}/*!sc*/
.iKTrpL:focus-visible{color:#BCBAFF;}/*!sc*/
.iKTrpL:focus-visible .styled__NavElementContentWrapper-sc-1755fzv-14{visibility:visible;opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}/*!sc*/
.iKTrpL:focus-visible .styled__NavElementButton-sc-1755fzv-15{color:#BCBAFF;}/*!sc*/
.iKTrpL:focus-visible .styled__NavElementButton-sc-1755fzv-15::after{border-bottom-color:#BCBAFF;-webkit-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);}/*!sc*/
.iKTrpL:focus-visible .styled__NavElementButton-sc-1755fzv-15 > svg{stroke:#BCBAFF;}/*!sc*/
.iKTrpL:focus-within{color:#BCBAFF;}/*!sc*/
.iKTrpL:focus-within .styled__NavElementContentWrapper-sc-1755fzv-14{visibility:visible;opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}/*!sc*/
.iKTrpL:focus-within .styled__NavElementButton-sc-1755fzv-15{color:#BCBAFF;}/*!sc*/
.iKTrpL:focus-within .styled__NavElementButton-sc-1755fzv-15::after{border-bottom-color:#BCBAFF;-webkit-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);}/*!sc*/
.iKTrpL:focus-within .styled__NavElementButton-sc-1755fzv-15 > svg{stroke:#BCBAFF;}/*!sc*/
data-styled.g498[id="styled__NavListEl-sc-1755fzv-16"]{content:"iKTrpL,"}/*!sc*/
.dGsguq{background:rgba(23,23,23,0.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:0.1rem solid #2A2A2A;border-radius:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
data-styled.g499[id="styled__NavElementContent-sc-1755fzv-17"]{content:"dGsguq,"}/*!sc*/
.gvEHvo{min-width:31.1rem;width:31.1rem;padding:3.2rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/
data-styled.g504[id="styled__Column-sc-1ff7bch-0"]{content:"gvEHvo,"}/*!sc*/
.hRsuJa{border-right:0.1rem solid #2A2A2A;-webkit-flex:1;-ms-flex:1;flex:1;width:100%;min-width:33%;}/*!sc*/
.gBcyVH{border-right:0.1rem solid #2A2A2A;}/*!sc*/
data-styled.g505[id="styled__FirstColumn-sc-1ff7bch-1"]{content:"hRsuJa,gBcyVH,"}/*!sc*/
.bIPKhj{border-right:0.1rem solid #2A2A2A;-webkit-flex:1;-ms-flex:1;flex:1;width:100%;min-width:33%;}/*!sc*/
.ivjYJO{border-right:0.1rem solid #2A2A2A;}/*!sc*/
data-styled.g506[id="styled__SecondColumn-sc-1ff7bch-2"]{content:"bIPKhj,ivjYJO,"}/*!sc*/
.jCSyQN{width:auto;-webkit-flex:1;-ms-flex:1;flex:1;padding:3.2rem;width:100%;min-width:33%;}/*!sc*/
.cyrbvp{width:auto;-webkit-flex:1;-ms-flex:1;flex:1;padding:3.2rem 0;}/*!sc*/
.iEyNAY{width:auto;-webkit-flex:1;-ms-flex:1;flex:1;padding:0;width:100%;min-width:33%;}/*!sc*/
data-styled.g507[id="styled__ThirdColumn-sc-1ff7bch-3"]{content:"jCSyQN,cyrbvp,iEyNAY,"}/*!sc*/
.eyfGoo{list-style:none;padding:0;height:100%;}/*!sc*/
data-styled.g509[id="styled__List-sc-1p6pq9n-1"]{content:"eyfGoo,"}/*!sc*/
.RiFTv{margin:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-family:Aeonik,sans-serif;font-weight:500;font-size:1.4rem;line-height:2.4rem;color:#FFFFFF;}/*!sc*/
.RiFTv + li{margin-top:1.6rem;}/*!sc*/
.RiFTv svg{margin-right:1.4rem;min-width:2.4rem;}/*!sc*/
.RiFTv a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#FFFFFF;-webkit-transition:color 0.2s ease;transition:color 0.2s ease;width:100%;}/*!sc*/
.RiFTv a:hover{color:#BCBAFF;}/*!sc*/
.RiFTv:last-of-type{margin-bottom:3.2rem;}/*!sc*/
data-styled.g510[id="styled__Element-sc-1p6pq9n-2"]{content:"RiFTv,"}/*!sc*/
.jHuHbb{border-top:0.1rem solid #2A2A2A;padding-top:2.4rem;}/*!sc*/
data-styled.g512[id="styled__BottomLinkWrapper-sc-1p6pq9n-4"]{content:"jHuHbb,"}/*!sc*/
.eBvIde{list-style:none;padding:0;display:grid;grid-template-columns:1fr;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;}/*!sc*/
data-styled.g513[id="styled__List-sc-12vkkep-0"]{content:"eBvIde,"}/*!sc*/
.cudvhT{margin:0;padding:3.2rem;height:14.47rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
.cudvhT + li{border-top:0.1rem solid #2A2A2A;}/*!sc*/
.cudvhT div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/
.cudvhT a{color:#BDC4CF;width:100%;}/*!sc*/
.cudvhT a svg{margin-right:1.4rem;}/*!sc*/
.cudvhT a p{margin:0;}/*!sc*/
.cudvhT a p:first-child{font-weight:500;color:#FFFFFF;-webkit-transition:color 0.2s ease;transition:color 0.2s ease;}/*!sc*/
.cudvhT a:hover p{color:#BDC4CF;}/*!sc*/
.cudvhT a:hover p:first-child{color:#BCBAFF;}/*!sc*/
data-styled.g514[id="styled__Element-sc-12vkkep-1"]{content:"cudvhT,"}/*!sc*/
.bRqMXF a{display:block;color:#FFFFFF;}/*!sc*/
.bRqMXF a:hover{color:#BCBAFF;}/*!sc*/
.bRqMXF a span{font-weight:500;}/*!sc*/
.bRqMXF a + a{margin-top:2.4rem;}/*!sc*/
.bRqMXF a + p{margin-top:3.6rem;}/*!sc*/
data-styled.g515[id="styled__Wrapper-sc-mvo3b8-0"]{content:"bRqMXF,"}/*!sc*/
.ayvvO{padding:0 3.2rem;display:block;margin-bottom:3.2rem;}/*!sc*/
.ayvvO:hover p:last-of-type{color:#BCBAFF;}/*!sc*/
data-styled.g519[id="styled__Link-sc-k7d9qa-0"]{content:"ayvvO,"}/*!sc*/
.fbWQZU{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
data-styled.g520[id="styled__Container-sc-k7d9qa-1"]{content:"fbWQZU,"}/*!sc*/
.hokSGA{border-radius:0.8rem;width:100%;max-width:13rem;height:9rem;margin-right:1.9rem;object-fit:cover;}/*!sc*/
data-styled.g522[id="styled__Image-sc-k7d9qa-3"]{content:"hokSGA,"}/*!sc*/
.cxsqkw{border-top:0.1rem solid #2A2A2A;}/*!sc*/
data-styled.g523[id="styled__Divider-sc-25clja-0"]{content:"cxsqkw,"}/*!sc*/
.cGOMzv{padding:3.2rem 3.2rem 0 3.2rem;}/*!sc*/
data-styled.g524[id="styled__ItemsListContainer-sc-25clja-1"]{content:"cGOMzv,"}/*!sc*/
.kucwhF{position:relative;padding-left:0.8rem;z-index:100;}/*!sc*/
.kucwhF:after{content:'';position:absolute;left:0;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);display:inline-block;width:0.1rem;background:#242424;height:2.6rem;}/*!sc*/
data-styled.g525[id="sc-8aqj4j-0"]{content:"kucwhF,"}/*!sc*/
.jKKTiw{padding:0.6rem 0.55rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;background:#1E1E1E;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0.4rem;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;outline:0.4rem solid transparent;border:0.2rem solid #1E1E1E;outline-offset:0;}/*!sc*/
.jKKTiw:hover{background:#2A2A2A;}/*!sc*/
.jKKTiw:focus{outline-color:#6B665FCC;border-color:#B6CAFF;}/*!sc*/
data-styled.g526[id="sc-8aqj4j-1"]{content:"jKKTiw,"}/*!sc*/
.dfYoJq{display:none;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;}/*!sc*/
data-styled.g527[id="sc-8aqj4j-2"]{content:"dfYoJq,"}/*!sc*/
.mKcbB{list-style:none;}/*!sc*/
data-styled.g528[id="sc-8aqj4j-3"]{content:"mKcbB,"}/*!sc*/
.iiTJAp{background:none;width:100%;text-align:left;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:0.8rem;padding:0.6rem 1.4rem;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;border-radius:0.6rem;outline:0.4rem solid transparent;border:0.2rem solid transparent;}/*!sc*/
.iiTJAp:hover{background:#2A2A2A;}/*!sc*/
.iiTJAp:disabled:hover{background:none;}/*!sc*/
.iiTJAp:disabled span{color:#383838;}/*!sc*/
.iiTJAp:disabled svg path{stroke:#383838;}/*!sc*/
.iiTJAp span{color:#B6CAFF;}/*!sc*/
.iiTJAp svg path{stroke:#B6CAFF;}/*!sc*/
.iiTJAp:focus{outline-color:#6B665FCC;border-color:#B6CAFF;}/*!sc*/
.jEjMME{background:none;width:100%;text-align:left;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:0.8rem;padding:0.6rem 1.4rem;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;border-radius:0.6rem;outline:0.4rem solid transparent;border:0.2rem solid transparent;}/*!sc*/
.jEjMME:hover{background:#2A2A2A;}/*!sc*/
.jEjMME:disabled:hover{background:none;}/*!sc*/
.jEjMME:disabled span{color:#383838;}/*!sc*/
.jEjMME:disabled svg path{fill:#383838;}/*!sc*/
.jEjMME:focus{outline-color:#6B665FCC;border-color:#B6CAFF;}/*!sc*/
data-styled.g529[id="sc-8aqj4j-4"]{content:"iiTJAp,jEjMME,"}/*!sc*/
.elIpEt{position:fixed;z-index:999;display:none;}/*!sc*/
@media screen and (min-width:1200px){.elIpEt{display:block;background:#171717;border-top:0.1rem solid #555555;width:100%;margin-top:10.6rem;top:0;}}/*!sc*/
data-styled.g530[id="sc-19z8ym3-0"]{content:"elIpEt,"}/*!sc*/
@media screen and (min-width:1200px){.hrcptN{height:6.4rem;width:100%;background:#111;position:absolute;top:-6.4rem;}}/*!sc*/
data-styled.g531[id="sc-19z8ym3-1"]{content:"hrcptN,"}/*!sc*/
.gcSNEs{max-width:144rem;padding:0 6.4rem;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:5.2rem;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/
.gcSNEs a:hover,.gcSNEs a:focus{color:#FFFEFA;}/*!sc*/
.gcSNEs a{outline:0.4rem solid transparent;border:0.2rem solid transparent;}/*!sc*/
@media screen and (min-width:1200px) and (max-width:1300px){.gcSNEs{gap:3.2rem;}}/*!sc*/
data-styled.g532[id="sc-19z8ym3-2"]{content:"gcSNEs,"}/*!sc*/
.cniTVj{margin:0;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:2.8rem;}/*!sc*/
@media screen and (min-width:1200px) and (max-width:1300px){.cniTVj{gap:2rem;}.cniTVj a{font-size:1.4rem;line-height:1.8rem;}}/*!sc*/
data-styled.g533[id="sc-19z8ym3-3"]{content:"cniTVj,"}/*!sc*/
.bKPdrf{list-style:none;}/*!sc*/
.bKPdrf a{display:block;padding:2rem 0 1.8rem;}/*!sc*/
.bKPdrf:after{display:block;content:'';border-bottom:0.2rem solid #62C0EB;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform 0.4s ease-in-out;-webkit-transition:transform 0.4s ease-in-out;transition:transform 0.4s ease-in-out;}/*!sc*/
.bKPdrf:hover{color:inherit;}/*!sc*/
.bKPdrf:hover:after{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);}/*!sc*/
.bKPdrf:hover a{color:#FFFEFA;}/*!sc*/
.hIcssb{list-style:none;}/*!sc*/
.hIcssb a{display:block;padding:2rem 0 1.8rem;}/*!sc*/
.hIcssb:after{display:block;content:'';border-bottom:0.2rem solid #4CB7A3;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform 0.4s ease-in-out;-webkit-transition:transform 0.4s ease-in-out;transition:transform 0.4s ease-in-out;}/*!sc*/
.hIcssb:hover{color:inherit;}/*!sc*/
.hIcssb:hover:after{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);}/*!sc*/
.hIcssb:hover a{color:#FFFEFA;}/*!sc*/
.bUkNwj{list-style:none;}/*!sc*/
.bUkNwj a{display:block;padding:2rem 0 1.8rem;}/*!sc*/
.bUkNwj:after{display:block;content:'';border-bottom:0.2rem solid #B49BFC;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform 0.4s ease-in-out;-webkit-transition:transform 0.4s ease-in-out;transition:transform 0.4s ease-in-out;}/*!sc*/
.bUkNwj:hover{color:inherit;}/*!sc*/
.bUkNwj:hover:after{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);}/*!sc*/
.bUkNwj:hover a{color:#FFFEFA;}/*!sc*/
.eLbgUW{list-style:none;}/*!sc*/
.eLbgUW a{display:block;padding:2rem 0 1.8rem;}/*!sc*/
.eLbgUW:after{display:block;content:'';border-bottom:0.2rem solid #E27133;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform 0.4s ease-in-out;-webkit-transition:transform 0.4s ease-in-out;transition:transform 0.4s ease-in-out;}/*!sc*/
.eLbgUW:hover{color:inherit;}/*!sc*/
.eLbgUW:hover:after{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);}/*!sc*/
.eLbgUW:hover a{color:#FFFEFA;}/*!sc*/
.gQryoF{list-style:none;}/*!sc*/
.gQryoF a{display:block;padding:2rem 0 1.8rem;}/*!sc*/
.gQryoF:after{display:block;content:'';border-bottom:0.2rem solid #F4D594;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform 0.4s ease-in-out;-webkit-transition:transform 0.4s ease-in-out;transition:transform 0.4s ease-in-out;}/*!sc*/
.gQryoF:hover{color:inherit;}/*!sc*/
.gQryoF:hover:after{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);}/*!sc*/
.gQryoF:hover a{color:#FFFEFA;}/*!sc*/
.fApbHo{list-style:none;}/*!sc*/
.fApbHo a{display:block;padding:2rem 0 1.8rem;}/*!sc*/
.fApbHo:after{display:block;content:'';border-bottom:0.2rem solid #7192EC;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform 0.4s ease-in-out;-webkit-transition:transform 0.4s ease-in-out;transition:transform 0.4s ease-in-out;}/*!sc*/
.fApbHo:hover{color:inherit;}/*!sc*/
.fApbHo:hover:after{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);}/*!sc*/
.fApbHo:hover a{color:#FFFEFA;}/*!sc*/
.irGsht{list-style:none;}/*!sc*/
.irGsht a{display:block;padding:2rem 0 1.8rem;}/*!sc*/
.irGsht:after{display:block;content:'';border-bottom:0.2rem solid #E991B0;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform 0.4s ease-in-out;-webkit-transition:transform 0.4s ease-in-out;transition:transform 0.4s ease-in-out;}/*!sc*/
.irGsht:hover{color:inherit;}/*!sc*/
.irGsht:hover:after{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);}/*!sc*/
.irGsht:hover a{color:#FFFEFA;}/*!sc*/
data-styled.g534[id="sc-19z8ym3-4"]{content:"bKPdrf,hIcssb,bUkNwj,eLbgUW,gQryoF,fApbHo,irGsht,"}/*!sc*/
.dyPfIj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}/*!sc*/
data-styled.g535[id="sc-19z8ym3-5"]{content:"dyPfIj,"}/*!sc*/
.eSPUCq{width:100vw;display:none;position:fixed;left:0;top:16rem;}/*!sc*/
.eSPUCq br{display:none;}/*!sc*/
.eSPUCq fieldset,.eSPUCq input{min-width:12.5rem;}/*!sc*/
.eSPUCq input{width:100%;}/*!sc*/
.eSPUCq input:focus{border-width:0.1rem;}/*!sc*/
@media screen and (min-width:900px){.eSPUCq{padding:0 6.4rem;}}/*!sc*/
@media screen and (max-width:1200px){.eSPUCq input{border-radius:0;border-width:0.1rem 0;}.eSPUCq input:hover{border-width:0.1rem 0;}}/*!sc*/
@media screen and (min-width:1200px) and (max-width:1300px){.eSPUCq{padding:0;padding-right:0.8rem;}}/*!sc*/
@media screen and (min-width:1200px){.eSPUCq{display:block;max-width:29rem;width:100%;position:relative;top:0;padding-right:1.6rem;}.eSPUCq input{max-height:4rem;max-width:29rem;width:100%;}.eSPUCq input:focus{border-width:0.1rem;}}/*!sc*/
data-styled.g538[id="sc-8jxe5n-1"]{content:"eSPUCq,"}/*!sc*/
.hvSkoO{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;margin:0;padding:0;}/*!sc*/
@media screen and (min-width:1200px){.hvSkoO{display:none;}}/*!sc*/
data-styled.g540[id="sc-8jxe5n-3"]{content:"hvSkoO,"}/*!sc*/
.bhCwNT{position:relative;}/*!sc*/
data-styled.g542[id="sc-1q6s0ef-0"]{content:"bhCwNT,"}/*!sc*/
.fbxvbT{display:block;background:#171717;border-top:0.1rem solid #555555;width:100%;z-index:200;position:fixed;}/*!sc*/
@media screen and (min-width:1200px){.fbxvbT{display:none;}}/*!sc*/
data-styled.g569[id="sc-1gkkh2j-0"]{content:"fbxvbT,"}/*!sc*/
.eVErOA{max-width:144rem;padding:1.2rem 1.6rem;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/
@media screen and (min-width:900px){.eVErOA{padding:1.2rem 6.4rem;}}/*!sc*/
data-styled.g570[id="sc-1gkkh2j-1"]{content:"eVErOA,"}/*!sc*/
.jPNeZR{visibility:hidden;z-index:8;position:absolute;background:#171717;width:100%;height:100vh;-webkit-transform:translateY(-1rem);-ms-transform:translateY(-1rem);transform:translateY(-1rem);-webkit-transition:-webkit-transform 0.5s ease,visibility 0.4s ease;-webkit-transition:transform 0.5s ease,visibility 0.4s ease;transition:transform 0.5s ease,visibility 0.4s ease;display:block;overflow-y:scroll;overflow-x:hidden;top:5.6rem;left:0;right:0;}/*!sc*/
data-styled.g571[id="sc-1gkkh2j-2"]{content:"jPNeZR,"}/*!sc*/
.fXwxQg{padding:0;margin:0;border:none;background:none;height:2.4rem;width:2.4rem;-webkit-transition:-webkit-transform 0.5s ease-in-out;-webkit-transition:transform 0.5s ease-in-out;transition:transform 0.5s ease-in-out;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}/*!sc*/
data-styled.g573[id="sc-1gkkh2j-4"]{content:"fXwxQg,"}/*!sc*/
.cBqRxe{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
data-styled.g574[id="sc-1gkkh2j-5"]{content:"cBqRxe,"}/*!sc*/
.iwsMfc{margin:0;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;list-style:none;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}/*!sc*/
data-styled.g575[id="sc-1gkkh2j-6"]{content:"iwsMfc,"}/*!sc*/
.jaXHAq{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:2.4rem 1.6rem;}/*!sc*/
data-styled.g576[id="sc-1gkkh2j-7"]{content:"jaXHAq,"}/*!sc*/
.jlBvRJ{list-style:none;border-bottom:0.1rem solid rgba(128,128,128,0.6);width:100%;background:linear-gradient(90deg,rgba(17,17,17,0.00) 0%,rgba(98,192,235,0.12) 100%);}/*!sc*/
.dwKbEo{list-style:none;border-bottom:0.1rem solid rgba(128,128,128,0.6);width:100%;background:linear-gradient(90deg,rgba(17,17,17,0.00) 0%,rgba(9,98,86,0.12) 100%);}/*!sc*/
.iAITpl{list-style:none;border-bottom:0.1rem solid rgba(128,128,128,0.6);width:100%;background:linear-gradient(90deg,rgba(17,17,17,0.00) 0%,rgba(117,73,242,0.12) 100%);}/*!sc*/
.iShXyr{list-style:none;border-bottom:0.1rem solid rgba(128,128,128,0.6);width:100%;background:linear-gradient(90deg,rgba(17,17,17,0.00) 0%,rgba(226,113,51,0.12) 100%);}/*!sc*/
.ekMTdZ{list-style:none;border-bottom:0.1rem solid rgba(128,128,128,0.6);width:100%;background:linear-gradient(90deg,rgba(17,17,17,0.00) 0%,rgba(244,213,148,0.12) 100%);}/*!sc*/
.jozhwi{list-style:none;border-bottom:0.1rem solid rgba(128,128,128,0.6);width:100%;background:linear-gradient(90deg,rgba(17,17,17,0.00) 0%,rgba(153,167,241,0.12) 100%);}/*!sc*/
.fJnPUQ{list-style:none;border-bottom:0.1rem solid rgba(128,128,128,0.6);width:100%;background:linear-gradient(90deg,rgba(17,17,17,0.00) 0%,rgba(233,145,176,0.12) 100%);}/*!sc*/
data-styled.g577[id="sc-1gkkh2j-8"]{content:"jlBvRJ,dwKbEo,iAITpl,iShXyr,ekMTdZ,jozhwi,fJnPUQ,"}/*!sc*/
.fnbKjy{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
data-styled.g578[id="sc-1gkkh2j-9"]{content:"fnbKjy,"}/*!sc*/
.fdWrIp{border-bottom:0.1rem solid #808080;}/*!sc*/
data-styled.g580[id="sc-1gkkh2j-11"]{content:"fdWrIp,"}/*!sc*/
.jzgOkx{margin-right:1.6rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/
data-styled.g585[id="sc-1gkkh2j-16"]{content:"jzgOkx,"}/*!sc*/
.xCgE{max-width:144rem;padding:5.6rem 1.6rem 0;margin:0 auto 4rem;}/*!sc*/
@media screen and (min-width:900px){.xCgE{padding:5.8rem 6.4rem 0;}}/*!sc*/
@media screen and (min-width:1200px){.xCgE{padding:23.6rem 6.4rem 0;position:relative;margin-bottom:8rem;}.xCgE:before{content:'';position:absolute;background:#7192EC;width:90rem;height:29.5rem;border-radius:96.7rem;-webkit-filter:blur(23rem);filter:blur(23rem);top:-27.2rem;left:-14rem;}@-moz-document url-prefix(){.xCgE:before{top:-15rem;}}}/*!sc*/
data-styled.g592[id="sc-1vditak-0"]{content:"xCgE,"}/*!sc*/
.fRpMLr{max-width:144rem;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;gap:3.2rem;border-bottom:0.1rem solid #2A2A2A;}/*!sc*/
@media screen and (min-width:1200px){.fRpMLr{display:grid;grid-template-columns:repeat(12,1fr);position:relative;padding-bottom:8rem;}}/*!sc*/
data-styled.g593[id="sc-1vditak-1"]{content:"fRpMLr,"}/*!sc*/
@media screen and (min-width:1200px){.gcBBOg{grid-column:1/7;z-index:2;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;}}/*!sc*/
data-styled.g594[id="sc-1vditak-2"]{content:"gcBBOg,"}/*!sc*/
.TDLvO{margin:3.2rem 0 4rem;}/*!sc*/
@media screen and (min-width:1200px){.TDLvO{margin-bottom:0;}}/*!sc*/
data-styled.g595[id="sc-1vditak-3"]{content:"TDLvO,"}/*!sc*/
.fqoTOq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:2.4rem;margin-bottom:3.2rem;}/*!sc*/
@media screen and (min-width:900px){.fqoTOq{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}/*!sc*/
@media screen and (min-width:1200px){.fqoTOq{gap:2.4rem 4rem;margin-bottom:2.4rem;}}/*!sc*/
data-styled.g596[id="sc-1vditak-4"]{content:"fqoTOq,"}/*!sc*/
.kPYhCI{margin:0 -1.6rem;width:calc(100% + 3.2rem);}/*!sc*/
@media screen and (min-width:900px){.kPYhCI{width:100%;margin:0 auto;}}/*!sc*/
@media screen and (min-width:1200px){.kPYhCI{grid-column:7 / 13;justify-self:flex-end;margin:0 0;border-radius:1.6rem;overflow:hidden;z-index:2;max-width:60rem;width:100%;}}/*!sc*/
data-styled.g597[id="sc-1vditak-5"]{content:"kPYhCI,"}/*!sc*/
.csokAW{width:100%;object-fit:cover;}/*!sc*/
@media screen and (min-width:1200px){.csokAW{height:45.6rem;width:60rem;}}/*!sc*/
data-styled.g598[id="sc-1vditak-6"]{content:"csokAW,"}/*!sc*/
.cjaJus{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:3.2rem;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/
data-styled.g599[id="sc-1vditak-7"]{content:"cjaJus,"}/*!sc*/
.lhHlKO{overflow-y:hidden;}/*!sc*/
.lhHlKO img,.lhHlKO .embed-container,.lhHlKO video{border-radius:1.6rem;margin:2.4rem 0;}/*!sc*/
.lhHlKO img,.lhHlKO video{max-width:100%;}/*!sc*/
.lhHlKO iframe{width:100%;height:auto;aspect-ratio:16 / 9;margin-bottom:2.4rem;}/*!sc*/
.lhHlKO > div >:first-child{margin-top:0;}/*!sc*/
.lhHlKO p,.lhHlKO ul,.lhHlKO ol{color:#E5E5E5;}/*!sc*/
.lhHlKO p a,.lhHlKO ul a,.lhHlKO ol a{color:#99A7F1;-webkit-text-decoration:underline;text-decoration:underline;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;position:relative;text-underline-position:from-font;}/*!sc*/
.lhHlKO p a:hover,.lhHlKO ul a:hover,.lhHlKO ol a:hover{color:#B6CAFF;}/*!sc*/
.lhHlKO p a:active,.lhHlKO ul a:active,.lhHlKO ol a:active{color:#3F59E4;}/*!sc*/
.lhHlKO p a:focus,.lhHlKO ul a:focus,.lhHlKO ol a:focus{border-radius:0.8rem;color:#99A7F1;outline:0;}/*!sc*/
.lhHlKO p a:focus:before,.lhHlKO ul a:focus:before,.lhHlKO ol a:focus:before{content:'';position:absolute;width:calc(100% + 0.5rem);height:calc(100% + 0.3rem);top:-0.1rem;left:-0.2rem;border-radius:0.8rem;border:0.2rem solid #B6CAFF;}/*!sc*/
.lhHlKO pre{padding:0 !important;margin-bottom:3.2rem;}/*!sc*/
.lhHlKO pre > pre{-webkit-backdrop-filter:blur(4rem);backdrop-filter:blur(4rem);padding:2.4rem !important;margin:0 !important;max-height:39rem;-webkit-scrollbar-color:#808080 transparent;-moz-scrollbar-color:#808080 transparent;-ms-scrollbar-color:#808080 transparent;scrollbar-color:#808080 transparent;}/*!sc*/
.lhHlKO p pre,.lhHlKO li pre,.lhHlKO h2 pre,.lhHlKO h3 pre,.lhHlKO h4 pre,.lhHlKO h4 pre,.lhHlKO h5 pre,.lhHlKO h6 pre,.lhHlKO .alert pre{padding:0rem 0.4rem !important;display:inline-block;font-size:2rem;line-height:2rem;margin:0 !important;overflow:unset !important;vertical-align:baseline;}/*!sc*/
.lhHlKO h2 pre{vertical-align:text-bottom;font-size:3.2rem !important;}/*!sc*/
.lhHlKO h2 code{vertical-align:middle;font-size:2.4rem !important;}/*!sc*/
.lhHlKO h3 pre,.lhHlKO h4 pre,.lhHlKO h4 pre,.lhHlKO h5 pre,.lhHlKO h6 pre{vertical-align:text-bottom;}/*!sc*/
.lhHlKO p code,.lhHlKO h2 code,.lhHlKO h3 code,.lhHlKO h4 code,.lhHlKO h5 code,.lhHlKO h6 code,.lhHlKO ul code,.lhHlKO table code{white-space:break-spaces !important;overflow-x:auto !important;overflow-wrap:anywhere !important;vertical-align:middle;}/*!sc*/
.lhHlKO .alert{padding:2.4rem;display:grid;grid-template-columns:2.4rem auto;grid-template-areas:'img text' 'img text' 'img text' 'img text';-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:0 2.4rem;font-family:Aeonik,sans-serif;font-size:1.6rem;font-style:normal;font-weight:400;line-height:2.8rem;-webkit-letter-spacing:0.0032rem;-moz-letter-spacing:0.0032rem;-ms-letter-spacing:0.0032rem;letter-spacing:0.0032rem;position:relative;color:#E5E5E5;margin-bottom:3.2rem;border-radius:0.8rem;}/*!sc*/
.lhHlKO .alert strong,.lhHlKO .alert b{font-weight:500;}/*!sc*/
.lhHlKO .alert br{display:none;}/*!sc*/
.lhHlKO .alert svg{grid-area:img;justify-self:center;width:100%;margin:0;}/*!sc*/
.lhHlKO .alert-info{border:0.1rem solid #B6CAFF;background:linear-gradient( 0deg, rgba(30,30,30,0.9) 0%, rgba(30,30,30,0.9) 100% ),#B6CAFF;}/*!sc*/
.lhHlKO .alert-danger{border:0.1rem solid #F2AC84;background:linear-gradient( 0deg, rgba(30,30,30,0.9) 0%, rgba(30,30,30,0.9) 100% ),#F2AC84;}/*!sc*/
.lhHlKO .alert-success{border:0.1rem solid #8FC88A;background:linear-gradient( 0deg, rgba(30,30,30,0.9) 0%, rgba(30,30,30,0.9) 100% ),#8FC88A;}/*!sc*/
.lhHlKO th{color:#191919;}/*!sc*/
@media screen and (min-width:1200px){.lhHlKO{grid-column:5 / 13;padding:0;}.lhHlKO p pre,.lhHlKO li pre{display:inline-block;font-size:1.6rem;line-height:2rem;}}/*!sc*/
data-styled.g602[id="sc-k4hn9e-0"]{content:"lhHlKO,"}/*!sc*/
.cUEqsB{background:linear-gradient(90deg,#4016a0 0%,#f2ac84 100%);height:0.4rem;position:fixed;top:16.1rem;left:0;opacity:0;-webkit-transition:width 0.2s ease;transition:width 0.2s ease;}/*!sc*/
@media screen and (min-width:1200px){.cUEqsB{display:none;}}/*!sc*/
data-styled.g603[id="sc-k4hn9e-1"]{content:"cUEqsB,"}/*!sc*/
.kXubaV{padding:4rem 2.4rem;margin:4rem auto 0;max-width:144rem;background:#1E1E1E;border-radius:2.4rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/
.kXubaV span{color:#E5E5E5;}/*!sc*/
@media screen and (min-width:900px){.kXubaV{padding:4rem 4.8rem;}}/*!sc*/
data-styled.g604[id="sc-k4hn9e-2"]{content:"kXubaV,"}/*!sc*/
.bWnqDv{display:grid;grid-template-columns:8rem 1fr;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2.4rem;margin:2.4rem 0;}/*!sc*/
data-styled.g605[id="sc-k4hn9e-3"]{content:"bWnqDv,"}/*!sc*/
.dMCDEs{width:6.4rem;height:6.4rem;border-radius:0.8rem;margin:0 !important;}/*!sc*/
@media screen and (min-width:900px){.dMCDEs{width:7.2rem;height:7.2rem;}}/*!sc*/
@media screen and (min-width:1200px){.dMCDEs{width:8rem;height:8rem;}}/*!sc*/
data-styled.g606[id="sc-k4hn9e-4"]{content:"dMCDEs,"}/*!sc*/
.BmSii{background:#111111;padding-top:1.2rem;}/*!sc*/
data-styled.g686[id="styled__Wrapper-sc-1gk46x3-0"]{content:"BmSii,"}/*!sc*/
.jxcAek{width:100%;max-width:144rem;margin:auto;font-family:Inter,sans-serif;padding:0 1.6rem;}/*!sc*/
@media screen and (min-width:900px){.jxcAek{padding:0 6.4rem;}}/*!sc*/
data-styled.g687[id="styled__Content-sc-1gk46x3-1"]{content:"jxcAek,"}/*!sc*/
.jzCMRh{display:grid;grid-template-columns:1fr 1fr;grid-row-gap:4.8rem;margin:4.8rem auto auto;}/*!sc*/
@media screen and (min-width:900px){.jzCMRh{margin:6.4rem auto auto;}}/*!sc*/
@media screen and (min-width:1200px){.jzCMRh{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr 1fr;margin:8rem auto auto;max-width:131.2rem;}}/*!sc*/
data-styled.g688[id="styled__Nav-sc-1gk46x3-2"]{content:"jzCMRh,"}/*!sc*/
.djugOZ{list-style:none;margin-bottom:0;padding-left:0;}/*!sc*/
data-styled.g689[id="styled__LinksList-sc-1gk46x3-3"]{content:"djugOZ,"}/*!sc*/
.kFpsIR{font-weight:500;font-size:1.4rem;line-height:3.2rem;-webkit-letter-spacing:-0.001rem;-moz-letter-spacing:-0.001rem;-ms-letter-spacing:-0.001rem;letter-spacing:-0.001rem;padding-right:3.2rem;}/*!sc*/
.kFpsIR a{color:#fff;}/*!sc*/
.kFpsIR a span{background:linear-gradient( 59deg,#4016a0 -18.49%,#3f59e4 38.74%,#4cb7a3 106.36% );padding:0.1rem 0.6rem;border-radius:0.4rem;margin-left:0.8rem;color:#fff;font-weight:600;}/*!sc*/
.kFpsIR a:hover{color:#bcbaff;}/*!sc*/
@media screen and (min-width:900px){.kFpsIR p::before{content:'';margin-right:0.8rem;border-left:0.1rem solid #8c929c;height:1.2rem;display:inline-block;}}/*!sc*/
data-styled.g691[id="styled__LinksListItem-sc-1gk46x3-5"]{content:"kFpsIR,"}/*!sc*/
.hLaJwg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/
.hLaJwg > ul{-webkit-flex:1;-ms-flex:1;flex:1;}/*!sc*/
data-styled.g692[id="styled__LastSection-sc-1gk46x3-6"]{content:"hLaJwg,"}/*!sc*/
.gMSNHd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;grid-gap:1.6rem;margin-left:1.6rem;display:none;}/*!sc*/
@media screen and (min-width:900px){.gMSNHd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:0;}}/*!sc*/
.iMfwFS{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;grid-gap:1.6rem;margin-left:1.6rem;}/*!sc*/
@media screen and (min-width:900px){.iMfwFS{display:none;}}/*!sc*/
data-styled.g693[id="styled__Icons-sc-1gk46x3-7"]{content:"gMSNHd,iMfwFS,"}/*!sc*/
.gkIZFT{height:2.4rem;}/*!sc*/
.gkIZFT:hover{cursor:pointer;}/*!sc*/
.gkIZFT:hover path{fill:#bcbaff;}/*!sc*/
data-styled.g694[id="styled__IconsLink-sc-1gk46x3-8"]{content:"gkIZFT,"}/*!sc*/
.cmjEfG{padding:2.4rem 0 0;position:relative;margin-top:4.8rem;}/*!sc*/
@media screen and (min-width:900px){.cmjEfG{display:none;}}/*!sc*/
data-styled.g695[id="styled__FooterBottomMobile-sc-1gk46x3-9"]{content:"cmjEfG,"}/*!sc*/
.eUSWhy{display:none;}/*!sc*/
@media screen and (min-width:900px){.eUSWhy{display:block;border-top:0.1rem solid #5a5f66;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:2.4rem 0;position:relative;margin-top:4.8rem;}}/*!sc*/
@media screen and (min-width:1200px){.eUSWhy{margin-top:10rem;}}/*!sc*/
data-styled.g696[id="styled__FooterBottom-sc-1gk46x3-10"]{content:"eUSWhy,"}/*!sc*/
.cGOVjJ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:2.4rem 1.6rem;}/*!sc*/
data-styled.g697[id="styled__LegalAndLangMobile-sc-1gk46x3-11"]{content:"cGOVjJ,"}/*!sc*/
.gczZFN{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:500;color:#8c929c;grid-gap:0.6rem;font-size:1.2rem;line-height:1.8rem;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-flow:wrap;-ms-flex-flow:wrap;flex-flow:wrap;}/*!sc*/
.gczZFN img{max-width:4rem;}/*!sc*/
.gczZFN a{color:#8c929c;}/*!sc*/
.gczZFN a:hover{color:#bcbaff;}/*!sc*/
@media screen and (min-width:900px){.gczZFN{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}}/*!sc*/
@media screen and (min-width:1200px){.gczZFN{font-size:1.4rem;line-height:2.2rem;}}/*!sc*/
data-styled.g698[id="styled__Legal-sc-1gk46x3-12"]{content:"gczZFN,"}/*!sc*/
body{background:#111;}/*!sc*/
data-styled.g733[id="sc-global-dSHlga1"]{content:"sc-global-dSHlga1,"}/*!sc*/
.bGvBko{padding:1.6rem;border:0.1rem solid transparent;border-radius:0.8rem;background:linear-gradient( to right, #1E1E1E, #1E1E1E ), linear-gradient( 96deg, #191919 -24.32%, #4016a0 1.41%, #3f59e4 20.57%, #f2ac84 56.75%, #f6f1e7 79.7%, #191919 96.24% );background-clip:padding-box,border-box;background-origin:padding-box,border-box;}/*!sc*/
data-styled.g735[id="sc-1lvx3a4-0"]{content:"bGvBko,"}/*!sc*/
.NHmSD{display:none;max-width:30.4rem;}/*!sc*/
@media screen and (min-width:1200px){.NHmSD{grid-column:1/5;display:block;}}/*!sc*/
data-styled.g736[id="sc-5jonrv-0"]{content:"NHmSD,"}/*!sc*/
.gIutRo{display:unset;}/*!sc*/
data-styled.g737[id="sc-5jonrv-1"]{content:"gIutRo,"}/*!sc*/
.ShPZw{position:-webkit-sticky;position:sticky;top:19rem;}/*!sc*/
data-styled.g740[id="sc-5jonrv-4"]{content:"ShPZw,"}/*!sc*/
.hrXGXz{list-style:none;margin:0;padding:0;}/*!sc*/
data-styled.g744[id="sc-5jonrv-8"]{content:"hrXGXz,"}/*!sc*/
.fZRVTq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:1.2rem;margin-bottom:5.6rem;}/*!sc*/
data-styled.g746[id="sc-1iw8hf7-0"]{content:"fZRVTq,"}/*!sc*/
.gMKMkL{margin-bottom:5.6rem;}/*!sc*/
data-styled.g747[id="sc-2sym2c-0"]{content:"gMKMkL,"}/*!sc*/
.kIyLtY{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:1.2rem;}/*!sc*/
data-styled.g748[id="sc-2sym2c-1"]{content:"kIyLtY,"}/*!sc*/
.kjXFtJ{padding:0;background:none;width:4rem;height:4rem;border:0.01rem solid #555555;border-radius:0.8rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/
.kjXFtJ:hover{background:linear-gradient( 180deg, rgba(153,153,153,0.23) -4.35%, rgba(255,255,255,0) 100% );border-radius:0.8rem;border:0.01rem solid #808080;}/*!sc*/
data-styled.g749[id="sc-2sym2c-2"]{content:"kjXFtJ,"}/*!sc*/
.ccdMVH{position:relative;}/*!sc*/
data-styled.g753[id="sc-2sym2c-6"]{content:"ccdMVH,"}/*!sc*/
.gRFZvM{margin:4rem 0;}/*!sc*/
.gRFZvM > div > p:first-of-type{border-bottom-color:!important;}/*!sc*/
@media screen and (min-width:1200px){.gRFZvM{margin:0 0 8rem;}}/*!sc*/
data-styled.g756[id="sc-k75pvh-0"]{content:"gRFZvM,"}/*!sc*/
.jYsUzS{width:100%;min-width:100%;min-height:100%;}/*!sc*/
.jYsUzS:not(:last-of-type){margin-right:3.2rem;}/*!sc*/
.jYsUzS > a{height:100%;}/*!sc*/
@media screen and (min-width:900px){.jYsUzS{min-width:calc(50% - 1.6rem);}}/*!sc*/
@media screen and (min-width:1200px){.jYsUzS{min-width:calc(33% - 1.8rem);}}/*!sc*/
data-styled.g757[id="sc-k75pvh-1"]{content:"jYsUzS,"}/*!sc*/
.ifwtBO{max-width:144rem;margin:0 auto;padding:0 1.6rem;}/*!sc*/
@media screen and (min-width:900px){.ifwtBO{padding:0 6.4rem;}}/*!sc*/
@media screen and (min-width:1200px){.ifwtBO{display:grid;grid-template-columns:repeat(12,1fr);gap:3.2rem;}}/*!sc*/
data-styled.g758[id="sc-t4xvu3-0"]{content:"ifwtBO,"}/*!sc*/
.bPENYC{display:block;}/*!sc*/
@media screen and (min-width:1200px){.bPENYC{margin-top:8rem;}}/*!sc*/
data-styled.g759[id="sc-t4xvu3-1"]{content:"bPENYC,"}/*!sc*/
.ivrKga{padding:4rem 1.6rem 0;}/*!sc*/
@media screen and (min-width:900px){.ivrKga{padding:4rem 6.4rem 0;}}/*!sc*/
@media screen and (min-width:1200px){.ivrKga{display:none;}}/*!sc*/
data-styled.g760[id="sc-t4xvu3-2"]{content:"ivrKga,"}/*!sc*/
</style></head><body itemscope="" itemType="http://schema.org/WebPage"><div id="__next"><script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charSet="UTF-8" data-domain-script="96e22fd8-d619-4cdd-a3c6-d51529d21faf" id="consent-script"></script><script>
function OptanonWrapper() {
const status = document.getElementById("onetrust-accept-btn-handler") ? 'waitingForConsent' : 'expressedConsent';
window.top.postMessage(status, '*');
}
</script><script>window.datafile=undefined</script><div class="styled__ObservedPixel-sc-1755fzv-2 zthfc"></div><div class="styled__HeaderBackMobile-sc-1755fzv-1 eEIir"></div><header class="styled__Header-sc-1755fzv-3 dkiGRF"><div class="styled__Wrapper-sc-q607n8-0 dNgXDO"><div class="styled__Container-sc-q607n8-1 iLiwVc"><a class="styled__Message-sc-q607n8-5 abKWi"></a><div class="styled__Buttons-sc-q607n8-6 hYamDF"><a href="/api/auth/login?redirectTo=dashboard" rel="external" class="styled__Login-sc-q607n8-7 kBIbqR">Login</a></div></div></div><nav aria-label="Mobile nav" class="styled__NavMobile-sc-1755fzv-9 jNurLP"><a rel="external" href="/" aria-label="Auth0 logo" class="styled__LogoWrapperMobile-sc-1755fzv-5 fGauJV"><svg xmlns="http://www.w3.org/2000/svg" width="106" height="40" viewBox="0 0 106 40" fill="none"><path d="M1.69096 17.4795C6.93608 16.6184 11.0487 12.5058 11.9098 7.26068L12.3326 4.70858C12.4108 4.21277 12.009 3.77959 11.5079 3.81612C7.51539 4.12404 3.75249 5.44967 1.67009 6.30037C0.662823 6.71268 0 7.69386 0 8.78985V16.8532C0 17.3282 0.422753 17.6883 0.892465 17.61L1.69096 17.4795Z" fill="#FFFEFA"></path><path d="M14.4356 7.26056C15.2968 12.5057 19.4094 16.6183 24.6545 17.4794L25.453 17.6099C25.9227 17.6882 26.3454 17.3281 26.3454 16.8531V8.78973C26.3454 7.69895 25.6826 6.71777 24.6753 6.30025C22.5982 5.44433 18.83 4.12392 14.8375 3.816C14.3365 3.77947 13.9294 4.21265 14.0129 4.70846L14.4356 7.26056Z" fill="#FFFEFA"></path><path d="M24.6589 20.0112C19.4138 20.8723 15.3012 24.9849 14.44 30.23L13.9181 35.209C13.8712 35.6578 14.367 35.9762 14.7428 35.7257C14.7428 35.7257 14.748 35.7257 14.7532 35.7205C18.0412 33.5024 25.5461 27.6936 26.2872 20.4392C26.3238 20.0843 26.0054 19.792 25.6557 19.8494L24.6641 20.0112H24.6589Z" fill="#FFFEFA"></path><path d="M11.9075 30.2277C11.0464 24.9826 6.9338 20.87 1.68868 20.0088L0.618783 19.8314C0.305641 19.7792 0.0238052 20.0401 0.0551193 20.3585C0.759688 27.6547 8.36904 33.5 11.6831 35.7181C12.0276 35.9477 12.4816 35.6711 12.4399 35.2588L11.9128 30.2225L11.9075 30.2277Z" fill="#FFFEFA"></path><path d="M62.7942 13.954H60.297C60.1456 13.954 60.0267 14.073 60.0267 14.2243V21.4295C60.0267 22.3105 59.8807 23.0835 59.5889 23.7483C59.297 24.4132 58.8862 24.9213 58.3511 25.2672C57.8159 25.6132 57.1835 25.7861 56.4538 25.7861C55.4052 25.7861 54.616 25.4402 54.0917 24.7483C53.5674 24.0564 53.3026 23.0619 53.3026 21.77V14.2243C53.3026 14.073 53.1837 13.954 53.0323 13.954H50.5081C50.3567 13.954 50.2378 14.073 50.2378 14.2243V22.0781C50.2378 23.2943 50.3891 24.3105 50.6864 25.1267C50.9837 25.9429 51.3945 26.6023 51.908 27.1104C52.4215 27.6185 53.0107 27.9752 53.6809 28.1915C54.3458 28.4077 55.0431 28.5158 55.7728 28.5158C56.8214 28.5158 57.6916 28.3158 58.3889 27.9104C58.9024 27.6131 59.3348 27.2834 59.697 26.9158C59.8483 26.7591 60.1078 26.8455 60.151 27.0564L60.3456 28.1212C60.3672 28.2509 60.4807 28.3428 60.6105 28.3428H62.7834C62.9347 28.3428 63.0536 28.2239 63.0536 28.0725V14.2243C63.0536 14.073 62.9347 13.954 62.7834 13.954H62.7942Z" fill="#FFFEFA"></path><path d="M73.644 25.6751H70.3846C69.8062 25.6751 69.3954 25.5562 69.163 25.3237C68.9306 25.0913 68.8117 24.6913 68.8117 24.1292V16.897C68.8117 16.7456 68.9306 16.6267 69.0819 16.6267H73.5034C73.6548 16.6267 73.7737 16.5078 73.7737 16.3564V14.2268C73.7737 14.0754 73.6548 13.9565 73.5034 13.9565H69.3522C69.0549 13.9565 68.8117 13.7133 68.8117 13.416V9.85394C68.8117 9.70259 68.6928 9.58368 68.5414 9.58368H66.0442C65.8928 9.58368 65.7739 9.70259 65.7739 9.85394V24.4427C65.7739 25.7562 66.082 26.7345 66.7036 27.3777C67.3198 28.0264 68.3144 28.3453 69.6819 28.3453H73.644C73.7953 28.3453 73.9142 28.2264 73.9142 28.075V25.9453C73.9142 25.794 73.7953 25.6751 73.644 25.6751Z" fill="#FFFEFA"></path><path d="M86.3392 14.5169C85.4852 14.0304 84.4907 13.7872 83.3447 13.7872C82.4475 13.7872 81.6205 13.9655 80.8691 14.3223C80.3286 14.5817 79.8475 14.9006 79.4367 15.2844C79.2638 15.4466 78.9881 15.3223 78.9881 15.0898V8.93866C78.9881 8.78731 78.8692 8.6684 78.7178 8.6684H76.1936C76.0423 8.6684 75.9233 8.78731 75.9233 8.93866V28.0732C75.9233 28.2246 76.0423 28.3435 76.1936 28.3435H78.7178C78.8692 28.3435 78.9881 28.2246 78.9881 28.0732V21.0626C78.9881 20.1275 79.1395 19.3167 79.4367 18.6303C79.734 17.9492 80.1611 17.4195 80.7178 17.0411C81.2691 16.6682 81.9232 16.479 82.6691 16.479C83.415 16.479 84.0096 16.6465 84.4961 16.9871C84.9825 17.3222 85.3501 17.7979 85.5933 18.4086C85.8366 19.0194 85.9609 19.7437 85.9609 20.587V28.0732C85.9609 28.2246 86.0798 28.3435 86.2311 28.3435H88.7284C88.8797 28.3435 88.9986 28.2246 88.9986 28.0732V20.3329C88.9986 18.8735 88.7716 17.6573 88.3122 16.6952C87.8527 15.7276 87.1987 15.0033 86.3446 14.5169H86.3392Z" fill="#FFFEFA"></path><path d="M104.469 12.9455C103.891 11.5239 103.064 10.4267 101.994 9.65913C100.923 8.89158 99.6423 8.50781 98.1451 8.50781C96.6478 8.50781 95.3884 8.89158 94.3073 9.65913C93.2317 10.4267 92.3993 11.5239 91.8209 12.9455C91.2426 14.3725 90.9507 16.0752 90.9507 18.0589V18.9561C90.9507 20.9615 91.2426 22.6804 91.8209 24.1128C92.3993 25.5451 93.2317 26.637 94.3073 27.3883C95.383 28.1397 96.664 28.5126 98.1451 28.5126C99.6261 28.5126 100.929 28.1397 101.994 27.3883C103.058 26.637 103.885 25.5451 104.469 24.1128C105.048 22.6804 105.339 20.9615 105.339 18.9561V18.0589C105.339 16.0752 105.048 14.3671 104.469 12.9455ZM94.0155 19.3021C94.0155 19.1507 94.0155 18.9994 94.0155 18.848V18.1724C94.0155 15.886 94.3722 14.1347 95.0857 12.9185C95.7992 11.7023 96.8208 11.0915 98.1505 11.0915C99.3883 11.0915 100.356 11.6158 101.058 12.6699C101.329 13.0482 101.096 13.5293 100.983 13.659L95.4424 19.8372C94.9506 20.3885 94.0425 20.048 94.0263 19.3129L94.0155 19.3021ZM102.275 18.848C102.275 21.1182 101.918 22.8587 101.204 24.0749C100.491 25.2911 99.4693 25.9019 98.1397 25.9019C96.9181 25.9019 95.9559 25.3884 95.2587 24.3614C94.9884 23.9884 95.2208 23.5128 95.3343 23.3776L100.853 17.1886C101.345 16.6373 102.253 16.9724 102.269 17.7129C102.269 17.8643 102.269 18.021 102.269 18.1778V18.8534L102.275 18.848Z" fill="#FFFEFA"></path><path d="M48.5034 25.7039H48.4277C48.125 25.7039 47.9142 25.6391 47.7791 25.5093C47.6493 25.3796 47.5845 25.1364 47.5845 24.7796V19.0176C47.5845 17.315 47.0602 16.0177 46.0115 15.1259C44.9629 14.234 43.4927 13.7908 41.6009 13.7908C40.4009 13.7908 39.3469 13.98 38.4388 14.3529C37.5307 14.7259 36.8064 15.2556 36.2605 15.9421C35.7794 16.5474 35.4767 17.2447 35.347 18.0339C35.32 18.196 35.4551 18.3474 35.6173 18.3474H38.0712C38.1956 18.3474 38.2983 18.2609 38.3307 18.1366C38.4766 17.5961 38.7955 17.1528 39.2982 16.8123C39.8604 16.4285 40.5793 16.2339 41.4603 16.2339C42.4333 16.2339 43.1954 16.461 43.7359 16.9204C44.2765 17.3799 44.5521 18.0123 44.5521 18.8176V19.4176C44.5521 19.569 44.4332 19.6879 44.2819 19.6879H41.0117C39.028 19.6879 37.5145 20.0879 36.4713 20.8825C35.4335 21.677 34.9092 22.8175 34.9092 24.2986C34.9092 25.1796 35.1362 25.9364 35.5848 26.5742C36.0335 27.212 36.6551 27.6931 37.455 28.0228C38.2496 28.3525 39.1631 28.5147 40.1955 28.5147C41.5468 28.5147 42.6441 28.2012 43.4981 27.5741C43.8711 27.2985 44.2062 26.985 44.4981 26.6444C44.6386 26.4769 44.9143 26.5363 44.9629 26.7471C45.0386 27.1039 45.1845 27.4174 45.3954 27.6714C45.7683 28.1201 46.4656 28.3471 47.4764 28.3471H48.779C48.9304 28.3471 49.0493 28.2282 49.0493 28.0768V26.1526C49.0493 25.785 48.9304 25.7039 48.5088 25.7039H48.5034ZM44.5467 22.5311C44.5467 23.2229 44.39 23.8499 44.0711 24.4013C43.7522 24.9526 43.3035 25.385 42.7198 25.6931C42.1414 26.0012 41.4333 26.158 40.6117 26.158C39.7901 26.158 39.1631 25.9634 38.6874 25.5796C38.2118 25.1958 37.9685 24.704 37.9685 24.104C37.9685 23.3743 38.2172 22.8283 38.7145 22.4716C39.2118 22.1148 39.9252 21.9365 40.8658 21.9365H44.5467V22.5256V22.5311Z" fill="#FFFEFA"></path></svg></a><div class="styled__RightColumnMobile-sc-1755fzv-10 bqIEwD"><button aria-label="Menu" aria-expanded="false" class="styled__BurgerIconWrapper-sc-1755fzv-11 bFjHZg"><span class="styled__BurgerIcon-sc-1755fzv-12 hRkwQd"></span></button></div><section class="styled__Wrapper-sc-85iotp-0 fLWZEZ"><ul class="styled__ContentWrapper-sc-85iotp-1 bKVCoK"><li class="styled__NavItemContainer-sc-85iotp-2 gFUsAX"><p class="styled__NavItemTitle-sc-85iotp-5 fiLHFG">Developers</p><div class="styled__NavItem-sc-85iotp-6 iaTRLv"><div class="styled__ColumnContainer-sc-85iotp-7 jNLPXV"><p class="styled__ColumnItemTitle-sc-85iotp-8 gpNudx">Developers</p><ul class="styled__ColumnList-sc-85iotp-10 iiHmil"><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://developer.auth0.com/" rel="external">Developer Center</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://developer.auth0.com/resources/code-samples" rel="external">Code Samples</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://developer.auth0.com/resources/guides" rel="external">Guides</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://identityunlocked.auth0.com/public/49/Identity,-Unlocked.--bed7fada" rel="external">Identity Unlocked - Podcasts</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://developer.auth0.com/newsletter" rel="external">Zero Index Newsletter</a></li></ul></div><div class="styled__ColumnContainer-sc-85iotp-7 jNLPXV"><p class="styled__ColumnItemTitle-sc-85iotp-8 gpNudx">Developer Tools</p><ul class="styled__ColumnList-sc-85iotp-10 iiHmil"><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://openidconnect.net/" rel="external">OIDC Connect Playground</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://samltool.io/" rel="external">SAML Tool</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="http://jwt.io/" rel="external">JWT.io</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="http://webauthn.me/" rel="external">Webauthn.me</a></li></ul></div><div class="styled__ColumnContainer-sc-85iotp-7 jNLPXV"><p class="styled__ColumnItemTitle-sc-85iotp-8 gpNudx">Get Involved</p><ul class="styled__ColumnList-sc-85iotp-10 iiHmil"><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://developer.auth0.com/events" rel="external">Events</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/research-program" rel="external">Auth0 Research Program</a></li></ul></div></div></li><li class="styled__NavItemContainer-sc-85iotp-2 gFUsAX"><p class="styled__NavItemTitle-sc-85iotp-5 fiLHFG">Documentation</p><div class="styled__NavItem-sc-85iotp-6 iaTRLv"><div class="styled__ColumnContainer-sc-85iotp-7 jNLPXV"><p class="styled__ColumnItemTitle-sc-85iotp-8 gpNudx">Documentation</p><ul class="styled__ColumnList-sc-85iotp-10 iiHmil"><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/docs" rel="external">Auth0 Docs</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/docs/articles" rel="external">Articles</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/docs/quickstarts" rel="external">Quickstarts</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/docs/api" rel="external">APIs</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/docs/libraries" rel="external">SDK Libraries</a></li></ul></div><div class="styled__ColumnContainer-sc-85iotp-7 jNLPXV"><p class="styled__ColumnItemTitle-sc-85iotp-8 gpNudx">Support Center</p><ul class="styled__ColumnList-sc-85iotp-10 iiHmil"><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://community.auth0.com/" rel="external">Community</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://support.auth0.com/" rel="external">Support</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://support.auth0.com/center/s/knowledge" rel="external">Knowledge Base</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://marketplace.auth0.com" rel="external">Explore Auth0 Marketplace</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/resources" rel="external">Resources</a></li></ul></div><div class="styled__ColumnContainer-sc-85iotp-7 jNLPXV"><ul class="styled__ColumnList-sc-85iotp-10 iiHmil"><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/blog/" rel="external">Blog</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://support.auth0.com/center/s/learning" rel="external">Learn</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/intro-to-iam" rel="external">Intro to IAM (CIAM)</a></li></ul></div></div></li><li class="styled__NavItemContainer-sc-85iotp-2 gFUsAX"><p class="styled__NavItemTitle-sc-85iotp-5 fiLHFG">Product</p><div class="styled__NavItem-sc-85iotp-6 iaTRLv"><div class="styled__ColumnContainer-sc-85iotp-7 jNLPXV"><p class="styled__ColumnItemTitle-sc-85iotp-8 gpNudx">Platform</p><ul class="styled__ColumnList-sc-85iotp-10 iiHmil"><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://auth0.com/ai" rel="external">Auth0 for AI Agents</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/platform/access-management" rel="external">Access Management</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/platform/extensibility" rel="external">Extensibility</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/platform/login-security" rel="external">Security</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/platform/user-management" rel="external">User Management</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/platform/authentication" rel="external">Authentication</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/fine-grained-authorization" rel="external">Fine-Grained Authorization</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://auth0.com/platform" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 gOnbZW ghiElA">View platform</a></li></ul></div><div class="styled__ColumnContainer-sc-85iotp-7 jNLPXV"><p class="styled__ColumnItemTitle-sc-85iotp-8 gpNudx">Features</p><ul class="styled__ColumnList-sc-85iotp-10 iiHmil"><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/features/universal-login" rel="external">Universal Login</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/features/single-sign-on" rel="external">Single Sign-On</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/features/multifactor-authentication" rel="external">Multifactor Authentication</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/features/actions" rel="external">Actions</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/features/machine-to-machine" rel="external">Machine to Machine</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/features/passwordless" rel="external">Passwordless</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/features/breached-passwords" rel="external">Breached Passwords</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/features/token-vault" rel="external">Token Vault</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://auth0.com/features" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 gOnbZW ghiElA">View features</a></li></ul></div></div></li><li class="styled__NavItemContainer-sc-85iotp-2 gFUsAX"><p class="styled__NavItemTitle-sc-85iotp-5 fiLHFG">Solutions</p><div class="styled__NavItem-sc-85iotp-6 iaTRLv"><div class="styled__ColumnContainer-sc-85iotp-7 jNLPXV"><p class="styled__ColumnItemTitle-sc-85iotp-8 gpNudx"> </p><ul class="styled__ColumnList-sc-85iotp-10 iiHmil"><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="https://auth0.com/customer-identity-trends-report" rel="external">Customer Identity Trends Report 2025</a></li></ul></div><div class="styled__ColumnContainer-sc-85iotp-7 jNLPXV"><p class="styled__ColumnItemTitle-sc-85iotp-8 gpNudx">Industries</p><ul class="styled__ColumnList-sc-85iotp-10 iiHmil"><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/retail" rel="external">Retail</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/financial-services" rel="external">Financial Services</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/nonprofits" rel="external">Nonprofits &amp; Charities</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/startups" rel="external">Startups</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/healthcare" rel="external">Healthcare</a></li></ul></div><div class="styled__ColumnContainer-sc-85iotp-7 jNLPXV"><p class="styled__ColumnItemTitle-sc-85iotp-8 gpNudx">Use Cases</p><ul class="styled__ColumnList-sc-85iotp-10 iiHmil"><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/b2c-customer-identity-management" rel="external">Consumer Applications</a></li><li class="styled__ColumnListItem-sc-85iotp-11 iWwpGx"><a href="/b2b-saas" rel="external">B2B SaaS Applications</a></li></ul></div></div></li><li class="styled__NavItemContainer-sc-85iotp-2 styled__NavLinkContainer-sc-85iotp-3 gFUsAX iPznvT"><a href="/blog/" rel="external" class="styled__NavLink-sc-85iotp-4 hMQycd">Blog</a></li><li class="styled__NavItemContainer-sc-85iotp-2 styled__NavLinkContainer-sc-85iotp-3 gFUsAX iPznvT"><a href="/pricing/" rel="external" class="styled__NavLink-sc-85iotp-4 hMQycd">Pricing</a></li></ul><div class="styled__ButtonContainer-sc-85iotp-15 hHGyKV"><div class="styled__SecondaryButtonContainer-sc-85iotp-18 uBLyR"><a rel="external" href="/signup?place=header&amp;type=button&amp;text=sign%20up" role="button" tabindex="0" class="styled__Button-sc-1hwml9q-0 utils-sc-11hlfw-0 kSiIA jgibCU"><span>Sign up</span></a><a href="/api/auth/login?redirectTo=dashboard" rel="external" role="button" tabindex="0" class="styled__Button-sc-1hwml9q-0 utils-sc-11hlfw-0 frejTe jgibCU"><span>Login</span></a></div><a href="/contact-us?place=header&amp;type=button&amp;text=let&#x27;s%20connect" role="button" tabindex="0" class="styled__Button-sc-1hwml9q-0 utils-sc-11hlfw-0 kSiIA cydknG"><span>Let&#x27;s connect</span></a></div></section></nav><nav aria-label="Desktop nav" class="styled__NavDesktop-sc-1755fzv-6 dNWFIo"><div class="styled__NavDesktopContainer-sc-1755fzv-7 fRLSLz"><a rel="external" href="/" aria-label="Auth0 logo" class="styled__LogoWrapper-sc-1755fzv-4 fFJcFb"><svg xmlns="http://www.w3.org/2000/svg" width="106" height="40" viewBox="0 0 106 40" fill="none"><path d="M1.69096 17.4795C6.93608 16.6184 11.0487 12.5058 11.9098 7.26068L12.3326 4.70858C12.4108 4.21277 12.009 3.77959 11.5079 3.81612C7.51539 4.12404 3.75249 5.44967 1.67009 6.30037C0.662823 6.71268 0 7.69386 0 8.78985V16.8532C0 17.3282 0.422753 17.6883 0.892465 17.61L1.69096 17.4795Z" fill="#FFFEFA"></path><path d="M14.4356 7.26056C15.2968 12.5057 19.4094 16.6183 24.6545 17.4794L25.453 17.6099C25.9227 17.6882 26.3454 17.3281 26.3454 16.8531V8.78973C26.3454 7.69895 25.6826 6.71777 24.6753 6.30025C22.5982 5.44433 18.83 4.12392 14.8375 3.816C14.3365 3.77947 13.9294 4.21265 14.0129 4.70846L14.4356 7.26056Z" fill="#FFFEFA"></path><path d="M24.6589 20.0112C19.4138 20.8723 15.3012 24.9849 14.44 30.23L13.9181 35.209C13.8712 35.6578 14.367 35.9762 14.7428 35.7257C14.7428 35.7257 14.748 35.7257 14.7532 35.7205C18.0412 33.5024 25.5461 27.6936 26.2872 20.4392C26.3238 20.0843 26.0054 19.792 25.6557 19.8494L24.6641 20.0112H24.6589Z" fill="#FFFEFA"></path><path d="M11.9075 30.2277C11.0464 24.9826 6.9338 20.87 1.68868 20.0088L0.618783 19.8314C0.305641 19.7792 0.0238052 20.0401 0.0551193 20.3585C0.759688 27.6547 8.36904 33.5 11.6831 35.7181C12.0276 35.9477 12.4816 35.6711 12.4399 35.2588L11.9128 30.2225L11.9075 30.2277Z" fill="#FFFEFA"></path><path d="M62.7942 13.954H60.297C60.1456 13.954 60.0267 14.073 60.0267 14.2243V21.4295C60.0267 22.3105 59.8807 23.0835 59.5889 23.7483C59.297 24.4132 58.8862 24.9213 58.3511 25.2672C57.8159 25.6132 57.1835 25.7861 56.4538 25.7861C55.4052 25.7861 54.616 25.4402 54.0917 24.7483C53.5674 24.0564 53.3026 23.0619 53.3026 21.77V14.2243C53.3026 14.073 53.1837 13.954 53.0323 13.954H50.5081C50.3567 13.954 50.2378 14.073 50.2378 14.2243V22.0781C50.2378 23.2943 50.3891 24.3105 50.6864 25.1267C50.9837 25.9429 51.3945 26.6023 51.908 27.1104C52.4215 27.6185 53.0107 27.9752 53.6809 28.1915C54.3458 28.4077 55.0431 28.5158 55.7728 28.5158C56.8214 28.5158 57.6916 28.3158 58.3889 27.9104C58.9024 27.6131 59.3348 27.2834 59.697 26.9158C59.8483 26.7591 60.1078 26.8455 60.151 27.0564L60.3456 28.1212C60.3672 28.2509 60.4807 28.3428 60.6105 28.3428H62.7834C62.9347 28.3428 63.0536 28.2239 63.0536 28.0725V14.2243C63.0536 14.073 62.9347 13.954 62.7834 13.954H62.7942Z" fill="#FFFEFA"></path><path d="M73.644 25.6751H70.3846C69.8062 25.6751 69.3954 25.5562 69.163 25.3237C68.9306 25.0913 68.8117 24.6913 68.8117 24.1292V16.897C68.8117 16.7456 68.9306 16.6267 69.0819 16.6267H73.5034C73.6548 16.6267 73.7737 16.5078 73.7737 16.3564V14.2268C73.7737 14.0754 73.6548 13.9565 73.5034 13.9565H69.3522C69.0549 13.9565 68.8117 13.7133 68.8117 13.416V9.85394C68.8117 9.70259 68.6928 9.58368 68.5414 9.58368H66.0442C65.8928 9.58368 65.7739 9.70259 65.7739 9.85394V24.4427C65.7739 25.7562 66.082 26.7345 66.7036 27.3777C67.3198 28.0264 68.3144 28.3453 69.6819 28.3453H73.644C73.7953 28.3453 73.9142 28.2264 73.9142 28.075V25.9453C73.9142 25.794 73.7953 25.6751 73.644 25.6751Z" fill="#FFFEFA"></path><path d="M86.3392 14.5169C85.4852 14.0304 84.4907 13.7872 83.3447 13.7872C82.4475 13.7872 81.6205 13.9655 80.8691 14.3223C80.3286 14.5817 79.8475 14.9006 79.4367 15.2844C79.2638 15.4466 78.9881 15.3223 78.9881 15.0898V8.93866C78.9881 8.78731 78.8692 8.6684 78.7178 8.6684H76.1936C76.0423 8.6684 75.9233 8.78731 75.9233 8.93866V28.0732C75.9233 28.2246 76.0423 28.3435 76.1936 28.3435H78.7178C78.8692 28.3435 78.9881 28.2246 78.9881 28.0732V21.0626C78.9881 20.1275 79.1395 19.3167 79.4367 18.6303C79.734 17.9492 80.1611 17.4195 80.7178 17.0411C81.2691 16.6682 81.9232 16.479 82.6691 16.479C83.415 16.479 84.0096 16.6465 84.4961 16.9871C84.9825 17.3222 85.3501 17.7979 85.5933 18.4086C85.8366 19.0194 85.9609 19.7437 85.9609 20.587V28.0732C85.9609 28.2246 86.0798 28.3435 86.2311 28.3435H88.7284C88.8797 28.3435 88.9986 28.2246 88.9986 28.0732V20.3329C88.9986 18.8735 88.7716 17.6573 88.3122 16.6952C87.8527 15.7276 87.1987 15.0033 86.3446 14.5169H86.3392Z" fill="#FFFEFA"></path><path d="M104.469 12.9455C103.891 11.5239 103.064 10.4267 101.994 9.65913C100.923 8.89158 99.6423 8.50781 98.1451 8.50781C96.6478 8.50781 95.3884 8.89158 94.3073 9.65913C93.2317 10.4267 92.3993 11.5239 91.8209 12.9455C91.2426 14.3725 90.9507 16.0752 90.9507 18.0589V18.9561C90.9507 20.9615 91.2426 22.6804 91.8209 24.1128C92.3993 25.5451 93.2317 26.637 94.3073 27.3883C95.383 28.1397 96.664 28.5126 98.1451 28.5126C99.6261 28.5126 100.929 28.1397 101.994 27.3883C103.058 26.637 103.885 25.5451 104.469 24.1128C105.048 22.6804 105.339 20.9615 105.339 18.9561V18.0589C105.339 16.0752 105.048 14.3671 104.469 12.9455ZM94.0155 19.3021C94.0155 19.1507 94.0155 18.9994 94.0155 18.848V18.1724C94.0155 15.886 94.3722 14.1347 95.0857 12.9185C95.7992 11.7023 96.8208 11.0915 98.1505 11.0915C99.3883 11.0915 100.356 11.6158 101.058 12.6699C101.329 13.0482 101.096 13.5293 100.983 13.659L95.4424 19.8372C94.9506 20.3885 94.0425 20.048 94.0263 19.3129L94.0155 19.3021ZM102.275 18.848C102.275 21.1182 101.918 22.8587 101.204 24.0749C100.491 25.2911 99.4693 25.9019 98.1397 25.9019C96.9181 25.9019 95.9559 25.3884 95.2587 24.3614C94.9884 23.9884 95.2208 23.5128 95.3343 23.3776L100.853 17.1886C101.345 16.6373 102.253 16.9724 102.269 17.7129C102.269 17.8643 102.269 18.021 102.269 18.1778V18.8534L102.275 18.848Z" fill="#FFFEFA"></path><path d="M48.5034 25.7039H48.4277C48.125 25.7039 47.9142 25.6391 47.7791 25.5093C47.6493 25.3796 47.5845 25.1364 47.5845 24.7796V19.0176C47.5845 17.315 47.0602 16.0177 46.0115 15.1259C44.9629 14.234 43.4927 13.7908 41.6009 13.7908C40.4009 13.7908 39.3469 13.98 38.4388 14.3529C37.5307 14.7259 36.8064 15.2556 36.2605 15.9421C35.7794 16.5474 35.4767 17.2447 35.347 18.0339C35.32 18.196 35.4551 18.3474 35.6173 18.3474H38.0712C38.1956 18.3474 38.2983 18.2609 38.3307 18.1366C38.4766 17.5961 38.7955 17.1528 39.2982 16.8123C39.8604 16.4285 40.5793 16.2339 41.4603 16.2339C42.4333 16.2339 43.1954 16.461 43.7359 16.9204C44.2765 17.3799 44.5521 18.0123 44.5521 18.8176V19.4176C44.5521 19.569 44.4332 19.6879 44.2819 19.6879H41.0117C39.028 19.6879 37.5145 20.0879 36.4713 20.8825C35.4335 21.677 34.9092 22.8175 34.9092 24.2986C34.9092 25.1796 35.1362 25.9364 35.5848 26.5742C36.0335 27.212 36.6551 27.6931 37.455 28.0228C38.2496 28.3525 39.1631 28.5147 40.1955 28.5147C41.5468 28.5147 42.6441 28.2012 43.4981 27.5741C43.8711 27.2985 44.2062 26.985 44.4981 26.6444C44.6386 26.4769 44.9143 26.5363 44.9629 26.7471C45.0386 27.1039 45.1845 27.4174 45.3954 27.6714C45.7683 28.1201 46.4656 28.3471 47.4764 28.3471H48.779C48.9304 28.3471 49.0493 28.2282 49.0493 28.0768V26.1526C49.0493 25.785 48.9304 25.7039 48.5088 25.7039H48.5034ZM44.5467 22.5311C44.5467 23.2229 44.39 23.8499 44.0711 24.4013C43.7522 24.9526 43.3035 25.385 42.7198 25.6931C42.1414 26.0012 41.4333 26.158 40.6117 26.158C39.7901 26.158 39.1631 25.9634 38.6874 25.5796C38.2118 25.1958 37.9685 24.704 37.9685 24.104C37.9685 23.3743 38.2172 22.8283 38.7145 22.4716C39.2118 22.1148 39.9252 21.9365 40.8658 21.9365H44.5467V22.5256V22.5311Z" fill="#FFFEFA"></path></svg></a><ul role="menubar" class="styled__NavList-sc-1755fzv-13 eQMbwJ"><li role="menuitem" aria-haspopup="true" tabindex="0" class="styled__NavListEl-sc-1755fzv-16 iKTrpL"><div class="styled__NavElementButton-sc-1755fzv-15 bJSalM"><span>Developers</span><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="chevron-down"><path id="icon" fill-rule="evenodd" clip-rule="evenodd" d="M7.99994 9.93934L12.4696 5.46967L13.5303 6.53033L8.53027 11.5303C8.23738 11.8232 7.76251 11.8232 7.46961 11.5303L2.46961 6.53033L3.53027 5.46967L7.99994 9.93934Z" fill="#FFFEFA"></path></g></svg></div><div class="styled__NavElementContentWrapper-sc-1755fzv-14 fGxoAJ"><section class="styled__NavElementContent-sc-1755fzv-17 dGsguq"><section class="styled__Column-sc-1ff7bch-0 styled__FirstColumn-sc-1ff7bch-1 gvEHvo hRsuJa"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ kqDxFL">Developers</p><ul role="menubar" class="styled__List-sc-1p6pq9n-1 eyfGoo"><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="https://developer.auth0.com/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Developer Center</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="https://developer.auth0.com/resources/code-samples" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Code Samples</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="https://developer.auth0.com/resources/guides" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Guides</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="https://identityunlocked.auth0.com/public/49/Identity,-Unlocked.--bed7fada" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Identity Unlocked - Podcasts</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="https://developer.auth0.com/newsletter" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Zero Index Newsletter</a></li></ul></section><section class="styled__Column-sc-1ff7bch-0 styled__SecondColumn-sc-1ff7bch-2 gvEHvo bIPKhj"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ kqDxFL">Developer Tools</p><ul role="menubar" class="styled__List-sc-1p6pq9n-1 eyfGoo"><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="https://openidconnect.net/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">OIDC Connect Playground</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="https://samltool.io/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">SAML Tool</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="http://jwt.io/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">JWT.io</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="http://webauthn.me/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Webauthn.me</a></li></ul></section><section class="styled__Column-sc-1ff7bch-0 styled__ThirdColumn-sc-1ff7bch-3 gvEHvo jCSyQN"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ kqDxFL">Get Involved</p><ul role="menubar" class="styled__List-sc-1p6pq9n-1 eyfGoo"><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="https://developer.auth0.com/events" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Events</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/research-program" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Auth0 Research Program</a></li></ul></section></section></div></li><li role="menuitem" aria-haspopup="true" tabindex="0" class="styled__NavListEl-sc-1755fzv-16 iKTrpL"><div class="styled__NavElementButton-sc-1755fzv-15 bJSalM"><span>Documentation</span><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="chevron-down"><path id="icon" fill-rule="evenodd" clip-rule="evenodd" d="M7.99994 9.93934L12.4696 5.46967L13.5303 6.53033L8.53027 11.5303C8.23738 11.8232 7.76251 11.8232 7.46961 11.5303L2.46961 6.53033L3.53027 5.46967L7.99994 9.93934Z" fill="#FFFEFA"></path></g></svg></div><div class="styled__NavElementContentWrapper-sc-1755fzv-14 fGxoAJ"><section class="styled__NavElementContent-sc-1755fzv-17 dGsguq"><section class="styled__Column-sc-1ff7bch-0 styled__FirstColumn-sc-1ff7bch-1 gvEHvo gBcyVH"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ kqDxFL">Documentation</p><ul role="menubar" class="styled__List-sc-1p6pq9n-1 eyfGoo"><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/docs" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Auth0 Docs</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/docs/articles" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Articles</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/docs/quickstarts" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Quickstarts</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/docs/api" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">APIs</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/docs/libraries" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">SDK Libraries</a></li></ul></section><section class="styled__Column-sc-1ff7bch-0 styled__SecondColumn-sc-1ff7bch-2 gvEHvo ivjYJO"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ kqDxFL">Support Center</p><ul role="menubar" class="styled__List-sc-1p6pq9n-1 eyfGoo"><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="https://community.auth0.com/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Community</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="https://support.auth0.com/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Support</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="https://support.auth0.com/center/s/knowledge" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Knowledge Base</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="https://marketplace.auth0.com" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Explore Auth0 Marketplace</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/resources" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Resources</a></li></ul></section><section class="styled__Column-sc-1ff7bch-0 styled__ThirdColumn-sc-1ff7bch-3 gvEHvo cyrbvp"><a href="/blog/getting-unlimited-scalability-with-okta-fine-grained-authorization/" rel="external" class="styled__Link-sc-k7d9qa-0 ayvvO"><div class="styled__Container-sc-k7d9qa-1 fbWQZU"><img loading="lazy" src="https://cdn.auth0.com/website/website/cic-header/hero/blog-thumbnail.png" alt="" class="styled__Image-sc-k7d9qa-3 hokSGA"/><div><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ hAZkEV">BLOG</p><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 cykLRO ioVNuq">Getting Unlimited Scalability with Okta Fine-Grained Authorization</p></div></div></a><div class="styled__Divider-sc-25clja-0 cxsqkw"></div><div class="styled__ItemsListContainer-sc-25clja-1 cGOMzv"><ul role="menubar" class="styled__List-sc-1p6pq9n-1 eyfGoo"><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/blog/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Blog</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="https://support.auth0.com/center/s/learning" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Learn</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/intro-to-iam" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Intro to IAM (CIAM)</a></li></ul></div></section></section></div></li><li role="menuitem" aria-haspopup="true" tabindex="0" class="styled__NavListEl-sc-1755fzv-16 iKTrpL"><div class="styled__NavElementButton-sc-1755fzv-15 bJSalM"><span>Product</span><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="chevron-down"><path id="icon" fill-rule="evenodd" clip-rule="evenodd" d="M7.99994 9.93934L12.4696 5.46967L13.5303 6.53033L8.53027 11.5303C8.23738 11.8232 7.76251 11.8232 7.46961 11.5303L2.46961 6.53033L3.53027 5.46967L7.99994 9.93934Z" fill="#FFFEFA"></path></g></svg></div><div class="styled__NavElementContentWrapper-sc-1755fzv-14 fGxoAJ"><section class="styled__NavElementContent-sc-1755fzv-17 dGsguq"><section class="styled__Column-sc-1ff7bch-0 styled__FirstColumn-sc-1ff7bch-1 gvEHvo hRsuJa"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ kqDxFL">Platform</p><ul role="menubar" class="styled__List-sc-1p6pq9n-1 eyfGoo"><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="https://auth0.com/ai" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Auth0 for AI Agents</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/platform/access-management" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Access Management</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/platform/extensibility" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Extensibility</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/platform/login-security" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Security</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/platform/user-management" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">User Management</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/platform/authentication" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Authentication</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/fine-grained-authorization" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Fine-Grained Authorization</a></li></ul><div class="styled__BottomLinkWrapper-sc-1p6pq9n-4 jHuHbb"><a href="https://auth0.com/platform" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 eqZICC hrigFo">View platform</a></div></section><section class="styled__Column-sc-1ff7bch-0 styled__SecondColumn-sc-1ff7bch-2 gvEHvo bIPKhj"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ kqDxFL">Features</p><ul role="menubar" class="styled__List-sc-1p6pq9n-1 eyfGoo"><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/features/universal-login" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Universal Login</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/features/single-sign-on" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Single Sign-On</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/features/multifactor-authentication" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Multifactor Authentication</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/features/actions" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Actions</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/features/machine-to-machine" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Machine to Machine</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/features/passwordless" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Passwordless</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/features/breached-passwords" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Breached Passwords</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/features/token-vault" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Token Vault</a></li></ul><div class="styled__BottomLinkWrapper-sc-1p6pq9n-4 jHuHbb"><a href="https://auth0.com/features" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 eqZICC hrigFo">View features</a></div></section><section class="styled__Column-sc-1ff7bch-0 styled__ThirdColumn-sc-1ff7bch-3 gvEHvo iEyNAY"><ul class="styled__List-sc-12vkkep-0 eBvIde"><li class="styled__Element-sc-12vkkep-1 cudvhT"><a rel="external" href="/resources/videos/platform-introduction-video-2020" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 jKUWSc jKVeGi"><div><p>Technology Overview</p><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 dEYVdf bbibKK">Watch a walkthrough of the Auth0 Platform</p></div></a></li><li class="styled__Element-sc-12vkkep-1 cudvhT"><a rel="external" href="/platform/cloud-deployment" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 jKUWSc jKVeGi"><div><p>Cloud Deployments</p><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 dEYVdf bbibKK">Deploy to the cloud, your way</p></div></a></li><li class="styled__Element-sc-12vkkep-1 cudvhT"><a rel="external" href="/marketplace" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 jKUWSc jKVeGi"><div><p>Auth0 Marketplace</p><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 dEYVdf bbibKK">Discover the integrations you need to solve identity</p></div></a></li></ul></section></section></div></li><li role="menuitem" aria-haspopup="true" tabindex="0" class="styled__NavListEl-sc-1755fzv-16 iKTrpL"><div class="styled__NavElementButton-sc-1755fzv-15 bJSalM"><span>Solutions</span><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="chevron-down"><path id="icon" fill-rule="evenodd" clip-rule="evenodd" d="M7.99994 9.93934L12.4696 5.46967L13.5303 6.53033L8.53027 11.5303C8.23738 11.8232 7.76251 11.8232 7.46961 11.5303L2.46961 6.53033L3.53027 5.46967L7.99994 9.93934Z" fill="#FFFEFA"></path></g></svg></div><div class="styled__NavElementContentWrapper-sc-1755fzv-14 fGxoAJ"><section class="styled__NavElementContent-sc-1755fzv-17 dGsguq"><section class="styled__Column-sc-1ff7bch-0 styled__FirstColumn-sc-1ff7bch-1 gvEHvo gBcyVH"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ kqDxFL">Industries</p><ul role="menubar" class="styled__List-sc-1p6pq9n-1 eyfGoo"><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/retail" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Retail</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/financial-services" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Financial Services</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/nonprofits" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Nonprofits &amp; Charities</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/startups" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Startups</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/healthcare" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Healthcare</a></li></ul><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ kqDxFL">Your goals</p><ul role="menubar" class="styled__List-sc-1p6pq9n-1 eyfGoo"><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/enterprise" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Enterprise-Grade Identity at Scale</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/solutions/ship-ai-agents" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Ship AI Agents</a></li><li role="menuitem" class="styled__Element-sc-1p6pq9n-2 RiFTv"><a rel="external" href="/architectural-playbook/identity" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM gdLUMv">Architecture Playbook</a></li></ul></section><section class="styled__Column-sc-1ff7bch-0 styled__SecondColumn-sc-1ff7bch-2 gvEHvo ivjYJO"><div class="styled__Wrapper-sc-mvo3b8-0 bRqMXF"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ hTjqEq">Use Cases</p><a rel="external" href="/b2c-customer-identity-management" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM ctSvSw"><span>Consumer Applications</span></a><a rel="external" href="/b2b-saas" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM ctSvSw"><span>B2B SaaS Applications</span></a><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ hTjqEq">Case Studies</p><a rel="external" href="/customers" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 bTQHxM ctSvSw"><span>Read our customers stories</span></a></div></section><section class="styled__Column-sc-1ff7bch-0 styled__ThirdColumn-sc-1ff7bch-3 gvEHvo cyrbvp"><a href="https://auth0.com/customer-identity-trends-report" rel="external" class="styled__Link-sc-k7d9qa-0 ayvvO"><div class="styled__Container-sc-k7d9qa-1 fbWQZU"><img loading="lazy" src="https://cdn.auth0.com/website/header/citr-thumbnail.png" alt="" class="styled__Image-sc-k7d9qa-3 hokSGA"/><div><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ hAZkEV">Customer Identity Trends Report 2025</p><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 cykLRO ioVNuq">Securing customer trust in the age of AI</p></div></div></a><a href="https://okta.valuestoryapp.com/okta/?utm_Origin=Auth0" rel="external" class="styled__Link-sc-k7d9qa-0 ayvvO"><div class="styled__Container-sc-k7d9qa-1 fbWQZU"><img loading="lazy" src="https://cdn.auth0.com/website/header/ROI_thumb_2x.png" alt="" class="styled__Image-sc-k7d9qa-3 hokSGA"/><div><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ hAZkEV">CIAM ROI Calculator</p><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 cykLRO ioVNuq">Estimate the revenue impact to your customer-facing business</p></div></div></a><a href="https://www.okta.com/newsroom/articles/auth0-may-2026-product-innovations/" rel="external" class="styled__Link-sc-k7d9qa-0 ayvvO"><div class="styled__Container-sc-k7d9qa-1 fbWQZU"><img loading="lazy" src="https://cdn.auth0.com/website/header/solutions/ai-innovations.png" alt="" class="styled__Image-sc-k7d9qa-3 hokSGA"/><div><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ hAZkEV">AI PRODUCT INNOVATIONS</p><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 cykLRO ioVNuq">New tools to safely ship and scale agentic apps</p></div></div></a></section></section></div></li><li role="menuitem" aria-haspopup="false" tabindex="0" class="styled__NavListEl-sc-1755fzv-16 iKTrpL"><a href="/blog/" rel="external" class="styled__NavElementButton-sc-1755fzv-15 bJSalM"><span>Blog</span></a></li><li role="menuitem" aria-haspopup="false" class="styled__NavListEl-sc-1755fzv-16 iKTrpL"><a href="/pricing/" rel="external" class="styled__NavElementButton-sc-1755fzv-15 bJSalM"><span>Pricing</span></a></li></ul><div class="styled__ButtonList-sc-1755fzv-8 bRCGlX"><a role="button" rel="external" href="/signup?place=header&amp;type=button&amp;text=sign%20up" tabindex="0" class="styled__Button-sc-1hwml9q-0 utils-sc-11hlfw-0 frejTe bbQQEs"><span>Sign up</span></a><a role="button" rel="external" href="/contact-us?place=header&amp;type=button&amp;text=let&#x27;s%20connect" tabindex="0" class="styled__Button-sc-1hwml9q-0 utils-sc-11hlfw-0 kSiIA jmsZjj"><span>Let&#x27;s connect</span></a></div></div></nav></header><nav id="blog-header" class="sc-1gkkh2j-0 fbxvbT"><div class="sc-1gkkh2j-1 eVErOA"><div class="sc-1gkkh2j-5 cBqRxe"><a href="/blog" class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 dOFALE daGTxQ">Blog</a><button aria-label="chevron icon, open menu" class="sc-1gkkh2j-4 fXwxQg"><svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="icon-chevron-down"><path id="Vector" d="M13.6314 15.7829L19.7072 9.70712L18.293 8.29291L12.5001 14.0858L6.70718 8.29291L5.29297 9.70712L11.3687 15.7829C11.9935 16.4077 13.0066 16.4077 13.6314 15.7829Z" fill="#FFFEFA"></path></g></svg></button></div><div class="sc-1gkkh2j-2 jPNeZR"><div class="sc-1gkkh2j-11 fdWrIp"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 jIzwLe wneoK">Explore Topics</p></div><ul class="sc-1gkkh2j-6 iwsMfc"><li class="sc-1gkkh2j-8 jlBvRJ"><a href="/blog/ai" class="sc-1gkkh2j-7 jaXHAq"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">AI</p><svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.9572 12.7071L10.4572 19.2071L9.04297 17.7928L14.8359 12L9.04297 6.20706L10.4572 4.79285L16.9572 11.2928C17.1447 11.4804 17.2501 11.7347 17.2501 12C17.2501 12.2652 17.1447 12.5195 16.9572 12.7071Z" fill="#FFFEFA"></path></svg></a></li><li class="sc-1gkkh2j-8 dwKbEo"><a href="/blog/developers" class="sc-1gkkh2j-7 jaXHAq"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Developers</p><svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.9572 12.7071L10.4572 19.2071L9.04297 17.7928L14.8359 12L9.04297 6.20706L10.4572 4.79285L16.9572 11.2928C17.1447 11.4804 17.2501 11.7347 17.2501 12C17.2501 12.2652 17.1447 12.5195 16.9572 12.7071Z" fill="#FFFEFA"></path></svg></a></li><li class="sc-1gkkh2j-8 iAITpl"><a href="/blog/identity-and-security" class="sc-1gkkh2j-7 jaXHAq"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Identity &amp; Security</p><svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.9572 12.7071L10.4572 19.2071L9.04297 17.7928L14.8359 12L9.04297 6.20706L10.4572 4.79285L16.9572 11.2928C17.1447 11.4804 17.2501 11.7347 17.2501 12C17.2501 12.2652 17.1447 12.5195 16.9572 12.7071Z" fill="#FFFEFA"></path></svg></a></li><li class="sc-1gkkh2j-8 iShXyr"><a href="/blog/business" class="sc-1gkkh2j-7 jaXHAq"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Business</p><svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.9572 12.7071L10.4572 19.2071L9.04297 17.7928L14.8359 12L9.04297 6.20706L10.4572 4.79285L16.9572 11.2928C17.1447 11.4804 17.2501 11.7347 17.2501 12C17.2501 12.2652 17.1447 12.5195 16.9572 12.7071Z" fill="#FFFEFA"></path></svg></a></li><li class="sc-1gkkh2j-8 ekMTdZ"><a href="/blog/culture" class="sc-1gkkh2j-7 jaXHAq"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Culture</p><svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.9572 12.7071L10.4572 19.2071L9.04297 17.7928L14.8359 12L9.04297 6.20706L10.4572 4.79285L16.9572 11.2928C17.1447 11.4804 17.2501 11.7347 17.2501 12C17.2501 12.2652 17.1447 12.5195 16.9572 12.7071Z" fill="#FFFEFA"></path></svg></a></li><li class="sc-1gkkh2j-8 jozhwi"><a href="/blog/engineering" class="sc-1gkkh2j-7 jaXHAq"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Engineering</p><svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.9572 12.7071L10.4572 19.2071L9.04297 17.7928L14.8359 12L9.04297 6.20706L10.4572 4.79285L16.9572 11.2928C17.1447 11.4804 17.2501 11.7347 17.2501 12C17.2501 12.2652 17.1447 12.5195 16.9572 12.7071Z" fill="#FFFEFA"></path></svg></a></li><li class="sc-1gkkh2j-8 fJnPUQ"><a href="/blog/announcements" class="sc-1gkkh2j-7 jaXHAq"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Announcements</p><svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.9572 12.7071L10.4572 19.2071L9.04297 17.7928L14.8359 12L9.04297 6.20706L10.4572 4.79285L16.9572 11.2928C17.1447 11.4804 17.2501 11.7347 17.2501 12C17.2501 12.2652 17.1447 12.5195 16.9572 12.7071Z" fill="#FFFEFA"></path></svg></a></li></ul></div><div class="sc-1gkkh2j-9 fnbKjy"><div class="sc-1gkkh2j-16 jzgOkx"><div class="sc-1q6s0ef-0 bhCwNT"><div class="sc-8jxe5n-0 fLFHxB"><button aria-label="Open search bar" id="open-search-mobile" class="sc-8jxe5n-3 hvSkoO"><svg width="17" height="16" viewBox="0 0 17 16" fill="#FFFEFA" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.16634 1.33331C4.22082 1.33331 1.83301 3.72113 1.83301 6.66665C1.83301 9.61217 4.22082 12 7.16634 12C8.38796 12 9.51365 11.5893 10.4129 10.8984L14.0283 14.5138L14.9711 13.571L11.361 9.96087C12.0742 9.05392 12.4997 7.90997 12.4997 6.66665C12.4997 3.72113 10.1119 1.33331 7.16634 1.33331ZM3.16634 6.66665C3.16634 4.45751 4.9572 2.66665 7.16634 2.66665C9.37548 2.66665 11.1663 4.45751 11.1663 6.66665C11.1663 8.87579 9.37548 10.6666 7.16634 10.6666C4.9572 10.6666 3.16634 8.87579 3.16634 6.66665Z" fill="#FFFEFA"></path></svg></button><form action="/blog/search" method="get" class="sc-8jxe5n-1 eSPUCq"><div class="sc-8jxe5n-4 ceWOiJ"><fieldset id="react-aria-:RmcmqcpmH5:" class="styled__InputWrapper-sc-zjpc1c-2 egtBcg"><svg class="styled__SearchIcon-sc-zjpc1c-3 fiFjBn" width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M7 12A5 5 0 1 0 7 2a5 5 0 0 0 0 10Z" stroke="#8C929C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="m14 14-3.467-3.467" stroke="#8C929C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg><input placeholder="Search..." aria-label="search" type="text" autoComplete="off" name="query" tabindex="0" id="react-aria-:Rmcmqcpm:" aria-describedby="react-aria-:RmcmqcpmH3: react-aria-:RmcmqcpmH4:" class="styled__TextInput-sc-zjpc1c-1 bbZpJT" value=""/></fieldset></div><input type="hidden" name="page" value="1"/></form></div></div></div><div class="sc-8aqj4j-0 kucwhF"><button id="theme__selector" aria-label="Open theme selector" class="sc-8aqj4j-1 jKKTiw"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M13.3335 2H2.66683C1.93045 2 1.3335 2.59695 1.3335 3.33333V10C1.3335 10.7364 1.93045 11.3333 2.66683 11.3333H13.3335C14.0699 11.3333 14.6668 10.7364 14.6668 10V3.33333C14.6668 2.59695 14.0699 2 13.3335 2Z" stroke="#FFFEFA" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"></path><path d="M5.3335 14H10.6668" stroke="#FFFEFA" stroke-width="1.33333" stroke-linecap="square" stroke-linejoin="round"></path><path d="M8 11.3335V14.0002" stroke="#FFFEFA" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><ul class="sc-8aqj4j-2 dfYoJq"><li class="sc-8aqj4j-3 mKcbB"><button id="theme__system" selected="" class="sc-8aqj4j-4 iiTJAp"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M13.3335 2H2.66683C1.93045 2 1.3335 2.59695 1.3335 3.33333V10C1.3335 10.7364 1.93045 11.3333 2.66683 11.3333H13.3335C14.0699 11.3333 14.6668 10.7364 14.6668 10V3.33333C14.6668 2.59695 14.0699 2 13.3335 2Z" stroke="#FFFEFA" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"></path><path d="M5.3335 14H10.6668" stroke="#FFFEFA" stroke-width="1.33333" stroke-linecap="square" stroke-linejoin="round"></path><path d="M8 11.3335V14.0002" stroke="#FFFEFA" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"></path></svg> <span class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA kHaByn">System</span></button></li><li class="sc-8aqj4j-3 mKcbB"><button id="theme__dark" class="sc-8aqj4j-4 jEjMME"><svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.55426 1.6727C8.68328 1.90162 8.66579 2.18497 8.50959 2.39629C7.33265 3.98854 7.49774 6.20226 8.89782 7.60234C10.2979 9.00243 12.5116 9.16751 14.1039 7.99057C14.3152 7.83438 14.5985 7.81688 14.8275 7.9459C15.0564 8.07491 15.1882 8.32637 15.164 8.58803C14.8398 12.096 11.8421 14.7463 8.32086 14.6381C4.79957 14.5299 1.97028 11.7006 1.86208 8.1793C1.75389 4.65801 4.40413 1.66036 7.91213 1.33618C8.17379 1.312 8.42525 1.44377 8.55426 1.6727ZM6.71057 2.95845C4.58978 3.72467 3.12249 5.78538 3.19479 8.13835C3.28135 10.9554 5.54477 13.2188 8.36181 13.3054C10.7148 13.3777 12.7755 11.9104 13.5417 9.78959C11.6386 10.4786 9.44928 10.0394 7.95501 8.54515C6.46075 7.05089 6.02154 4.86154 6.71057 2.95845Z" fill="#FFFEFA"></path></svg> <span class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA kHaByn">Dark mode</span></button></li><li class="sc-8aqj4j-3 mKcbB"><button id="theme__light" class="sc-8aqj4j-4 jEjMME"><svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.83317 2.66667V0.666672H9.1665V2.66667H7.83317Z" fill="#FFFEFA"></path><path d="M4.36175 4.80474L2.84175 3.28474L3.78456 2.34193L5.30455 3.86193L4.36175 4.80474Z" fill="#FFFEFA"></path><path d="M14.1579 3.28474L12.6379 4.80474L11.6951 3.86194L13.2151 2.34194L14.1579 3.28474Z" fill="#FFFEFA"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M4.49984 8C4.49984 5.79087 6.2907 4 8.49984 4C10.709 4 12.4998 5.79087 12.4998 8C12.4998 10.2091 10.709 12 8.49984 12C6.2907 12 4.49984 10.2091 4.49984 8ZM8.49984 5.33334C7.02708 5.33334 5.83317 6.52725 5.83317 8C5.83317 9.47276 7.02708 10.6667 8.49984 10.6667C9.9726 10.6667 11.1665 9.47276 11.1665 8C11.1665 6.52725 9.9726 5.33334 8.49984 5.33334Z" fill="#FFFEFA"></path><path d="M3.1665 8.66667H1.1665V7.33334H3.1665V8.66667Z" fill="#FFFEFA"></path><path d="M15.8332 8.66667H13.8332V7.33334H15.8332V8.66667Z" fill="#FFFEFA"></path><path d="M5.30455 12.1381L3.78456 13.6581L2.84175 12.7153L4.36175 11.1953L5.30455 12.1381Z" fill="#FFFEFA"></path><path d="M13.2151 13.6581L11.6951 12.1381L12.6379 11.1953L14.1579 12.7153L13.2151 13.6581Z" fill="#FFFEFA"></path><path d="M7.83317 15.3333V13.3333H9.1665V15.3333H7.83317Z" fill="#FFFEFA"></path></svg> <span class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA kHaByn">Light mode</span></button></li></ul></div></div></div></nav><nav class="sc-19z8ym3-0 elIpEt"><div class="sc-19z8ym3-1 hrcptN"></div><div class="sc-19z8ym3-2 gcSNEs"><a href="/blog" class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 cRPvKS kHaByn">Blog</a><ul class="sc-19z8ym3-3 cniTVj"><li class="sc-19z8ym3-4 bKPdrf"><a href="/blog/ai" class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">AI</a></li><li class="sc-19z8ym3-4 hIcssb"><a href="/blog/developers" class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Developers</a></li><li class="sc-19z8ym3-4 bUkNwj"><a href="/blog/identity-and-security" class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Identity &amp; Security</a></li><li class="sc-19z8ym3-4 eLbgUW"><a href="/blog/business" class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Business</a></li><li class="sc-19z8ym3-4 gQryoF"><a href="/blog/culture" class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Culture</a></li><li class="sc-19z8ym3-4 fApbHo"><a href="/blog/engineering" class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Engineering</a></li><li class="sc-19z8ym3-4 irGsht"><a href="/blog/announcements" class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Announcements</a></li></ul><div class="sc-19z8ym3-5 dyPfIj"><div class="sc-1q6s0ef-0 bhCwNT"><div class="sc-8jxe5n-0 fLFHxB"><button aria-label="Open search bar" id="open-search-mobile" class="sc-8jxe5n-3 hvSkoO"><svg width="17" height="16" viewBox="0 0 17 16" fill="#FFFEFA" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.16634 1.33331C4.22082 1.33331 1.83301 3.72113 1.83301 6.66665C1.83301 9.61217 4.22082 12 7.16634 12C8.38796 12 9.51365 11.5893 10.4129 10.8984L14.0283 14.5138L14.9711 13.571L11.361 9.96087C12.0742 9.05392 12.4997 7.90997 12.4997 6.66665C12.4997 3.72113 10.1119 1.33331 7.16634 1.33331ZM3.16634 6.66665C3.16634 4.45751 4.9572 2.66665 7.16634 2.66665C9.37548 2.66665 11.1663 4.45751 11.1663 6.66665C11.1663 8.87579 9.37548 10.6666 7.16634 10.6666C4.9572 10.6666 3.16634 8.87579 3.16634 6.66665Z" fill="#FFFEFA"></path></svg></button><form action="/blog/search" method="get" class="sc-8jxe5n-1 eSPUCq"><div class="sc-8jxe5n-4 ceWOiJ"><fieldset id="react-aria-:R2pfecpmH5:" class="styled__InputWrapper-sc-zjpc1c-2 egtBcg"><svg class="styled__SearchIcon-sc-zjpc1c-3 fiFjBn" width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M7 12A5 5 0 1 0 7 2a5 5 0 0 0 0 10Z" stroke="#8C929C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="m14 14-3.467-3.467" stroke="#8C929C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg><input placeholder="Search..." aria-label="search" type="text" autoComplete="off" name="query" tabindex="0" id="react-aria-:R2pfecpm:" aria-describedby="react-aria-:R2pfecpmH3: react-aria-:R2pfecpmH4:" class="styled__TextInput-sc-zjpc1c-1 bbZpJT" value=""/></fieldset></div><input type="hidden" name="page" value="1"/></form></div></div><div class="sc-8aqj4j-0 kucwhF"><button id="theme__selector" aria-label="Open theme selector" class="sc-8aqj4j-1 jKKTiw"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M13.3335 2H2.66683C1.93045 2 1.3335 2.59695 1.3335 3.33333V10C1.3335 10.7364 1.93045 11.3333 2.66683 11.3333H13.3335C14.0699 11.3333 14.6668 10.7364 14.6668 10V3.33333C14.6668 2.59695 14.0699 2 13.3335 2Z" stroke="#FFFEFA" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"></path><path d="M5.3335 14H10.6668" stroke="#FFFEFA" stroke-width="1.33333" stroke-linecap="square" stroke-linejoin="round"></path><path d="M8 11.3335V14.0002" stroke="#FFFEFA" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><ul class="sc-8aqj4j-2 dfYoJq"><li class="sc-8aqj4j-3 mKcbB"><button id="theme__system" selected="" class="sc-8aqj4j-4 iiTJAp"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M13.3335 2H2.66683C1.93045 2 1.3335 2.59695 1.3335 3.33333V10C1.3335 10.7364 1.93045 11.3333 2.66683 11.3333H13.3335C14.0699 11.3333 14.6668 10.7364 14.6668 10V3.33333C14.6668 2.59695 14.0699 2 13.3335 2Z" stroke="#FFFEFA" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"></path><path d="M5.3335 14H10.6668" stroke="#FFFEFA" stroke-width="1.33333" stroke-linecap="square" stroke-linejoin="round"></path><path d="M8 11.3335V14.0002" stroke="#FFFEFA" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"></path></svg> <span class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA kHaByn">System</span></button></li><li class="sc-8aqj4j-3 mKcbB"><button id="theme__dark" class="sc-8aqj4j-4 jEjMME"><svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.55426 1.6727C8.68328 1.90162 8.66579 2.18497 8.50959 2.39629C7.33265 3.98854 7.49774 6.20226 8.89782 7.60234C10.2979 9.00243 12.5116 9.16751 14.1039 7.99057C14.3152 7.83438 14.5985 7.81688 14.8275 7.9459C15.0564 8.07491 15.1882 8.32637 15.164 8.58803C14.8398 12.096 11.8421 14.7463 8.32086 14.6381C4.79957 14.5299 1.97028 11.7006 1.86208 8.1793C1.75389 4.65801 4.40413 1.66036 7.91213 1.33618C8.17379 1.312 8.42525 1.44377 8.55426 1.6727ZM6.71057 2.95845C4.58978 3.72467 3.12249 5.78538 3.19479 8.13835C3.28135 10.9554 5.54477 13.2188 8.36181 13.3054C10.7148 13.3777 12.7755 11.9104 13.5417 9.78959C11.6386 10.4786 9.44928 10.0394 7.95501 8.54515C6.46075 7.05089 6.02154 4.86154 6.71057 2.95845Z" fill="#FFFEFA"></path></svg> <span class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA kHaByn">Dark mode</span></button></li><li class="sc-8aqj4j-3 mKcbB"><button id="theme__light" class="sc-8aqj4j-4 jEjMME"><svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.83317 2.66667V0.666672H9.1665V2.66667H7.83317Z" fill="#FFFEFA"></path><path d="M4.36175 4.80474L2.84175 3.28474L3.78456 2.34193L5.30455 3.86193L4.36175 4.80474Z" fill="#FFFEFA"></path><path d="M14.1579 3.28474L12.6379 4.80474L11.6951 3.86194L13.2151 2.34194L14.1579 3.28474Z" fill="#FFFEFA"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M4.49984 8C4.49984 5.79087 6.2907 4 8.49984 4C10.709 4 12.4998 5.79087 12.4998 8C12.4998 10.2091 10.709 12 8.49984 12C6.2907 12 4.49984 10.2091 4.49984 8ZM8.49984 5.33334C7.02708 5.33334 5.83317 6.52725 5.83317 8C5.83317 9.47276 7.02708 10.6667 8.49984 10.6667C9.9726 10.6667 11.1665 9.47276 11.1665 8C11.1665 6.52725 9.9726 5.33334 8.49984 5.33334Z" fill="#FFFEFA"></path><path d="M3.1665 8.66667H1.1665V7.33334H3.1665V8.66667Z" fill="#FFFEFA"></path><path d="M15.8332 8.66667H13.8332V7.33334H15.8332V8.66667Z" fill="#FFFEFA"></path><path d="M5.30455 12.1381L3.78456 13.6581L2.84175 12.7153L4.36175 11.1953L5.30455 12.1381Z" fill="#FFFEFA"></path><path d="M13.2151 13.6581L11.6951 12.1381L12.6379 11.1953L14.1579 12.7153L13.2151 13.6581Z" fill="#FFFEFA"></path><path d="M7.83317 15.3333V13.3333H9.1665V15.3333H7.83317Z" fill="#FFFEFA"></path></svg> <span class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA kHaByn">Light mode</span></button></li></ul></div></div></div></nav><div><section class="sc-1vditak-0 xCgE"><div class="sc-1vditak-1 fRpMLr"><div class="sc-1vditak-2 gcBBOg"><div class="sc-1vditak-7 cjaJus"><span class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA dNAcKM">engineering</span></div><h1 class="styled__Heading-sc-165cfko-2 utils-sc-11hlfw-0 dvPXaj hRTnrT">Auth0 Architecture: 5 Years In</h1><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 evZbox iUMEFg">Learn more about how Auth0 architects its services to ensure scalability and high availability to handle more than 1.5 billion logins per month.</p><div class="sc-1vditak-3 TDLvO"><div class="sc-1vditak-4 fqoTOq"><a href="https://auth0.com/blog/authors/dirceu-tiegs" class="sc-i8q3i5-0 TIjHP"><div class="sc-i8q3i5-1 csAers"><img alt="" src="https://images.ctfassets.net/23aumh6u8s0i/3NBBmfieikWaLMpcNe4hum/e2afeb072dacb720d366181dd42a3cc7/Dirceu-Tiegs" class="sc-i8q3i5-2 flhvbZ"/></div><div class="sc-i8q3i5-3 xbOra"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 jIzwLe iUMEFg">Dirceu Tiegs</p><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA eywyFj">Site Reliability Engineering Team (Auth0 Alumni)</p></div></a></div><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 jIzwLe kHaByn">Feb 26, 2019<!-- --> • <!-- -->11 min read</p></div></div><figure class="sc-1vditak-5 kPYhCI"><img src="https://images.ctfassets.net/23aumh6u8s0i/56S9oDWKVeNY8AIszkZvw1/7d6794f3d31d4eedb5a3d3699e796e5c/default" alt="" class="sc-1vditak-6 csokAW"/></figure></div></section><div class="sc-t4xvu3-0 ifwtBO"><aside class="sc-5jonrv-0 NHmSD"><div class="sc-5jonrv-1 gIutRo"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 fRlbrh bSjAPd">Related Tags</p><div class="sc-1iw8hf7-0 fZRVTq"><a href="/blog/search/?query=architecture&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#architecture</p></a><a href="/blog/search/?query=engineering&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#engineering</p></a><a href="/blog/search/?query=enterprise&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#enterprise</p></a><a href="/blog/search/?query=authorization&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#authorization</p></a><a href="/blog/search/?query=scalability&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#scalability</p></a><a href="/blog/search/?query=high-availability&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#high-availability</p></a><a href="/blog/search/?query=cloud&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#cloud</p></a><a href="/blog/search/?query=monitoring&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#monitoring</p></a><a href="/blog/search/?query=aws&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#aws</p></a><a href="/blog/search/?query=mongoDB&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#mongoDB</p></a><a href="/blog/search/?query=testing&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#testing</p></a><a href="/blog/search/?query=automation&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#automation</p></a><a href="/blog/search/?query=cdn&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#cdn</p></a></div><div class="sc-5jonrv-4 ShPZw"><div class="sc-2sym2c-0 gMKMkL"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 fRlbrh bSjAPd">Share</p><div class="sc-2sym2c-1 kIyLtY"><button href="#" aria-label="Share on X social media button" class="sc-2sym2c-2 kjXFtJ"><svg width="25" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-2sym2c-3 jSsmae"><path d="M14.118 10.775L19.947 4h-1.382l-5.06 5.883L9.463 4H4.8l6.112 8.896L4.801 20h1.381l5.344-6.212L15.795 20h4.662l-6.34-9.225h.001zm-1.892 2.199l-.619-.886L6.68 5.04H8.8l3.977 5.688.619.886 5.169 7.393h-2.121l-4.219-6.033z" fill="#FFFEFA"></path><path d="M14.161 10.775L19.99 4h-1.382l-5.06 5.883L9.506 4H4.844l6.112 8.896L4.844 20h1.38l5.345-6.212L15.838 20H20.5l-6.34-9.225h.001zm-1.892 2.199l-.619-.886L6.723 5.04h2.121l3.977 5.688.619.886 5.169 7.393h-2.121l-4.219-6.033z" fill="#FFFEFA"></path><path d="M14.661 10.775L20.49 4h-1.382l-5.06 5.883L10.006 4H5.344l6.112 8.896L5.344 20h1.38l5.345-6.212L16.338 20H21l-6.34-9.225h.001zm-1.892 2.199l-.619-.886L7.223 5.04h2.121l3.977 5.688.619.886 5.169 7.393h-2.121l-4.219-6.033z" fill="#FFFEFA"></path></svg></button><button href="#" aria-label="Share on LinkedIn social media button" class="sc-2sym2c-2 kjXFtJ"><svg width="25" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-2sym2c-4 iEyEOd"><path d="M20.511 3H5.173c-.735 0-1.33.58-1.33 1.297V19.7c0 .717.595 1.301 1.33 1.301H20.51c.735 0 1.333-.584 1.333-1.297V4.297C21.844 3.58 21.246 3 20.51 3zM9.184 18.339H6.512V9.746h2.672v8.593zM7.848 8.576a1.548 1.548 0 11-.005-3.096 1.548 1.548 0 01.005 3.096zm11.334 9.763h-2.668v-4.177c0-.995-.017-2.278-1.389-2.278-1.388 0-1.6 1.086-1.6 2.208v4.247h-2.664V9.746h2.56v1.175h.035c.354-.675 1.226-1.389 2.524-1.389 2.703 0 3.202 1.779 3.202 4.092v4.715z" fill="#FFFEFA"></path></svg></button><div class="sc-2sym2c-6 ccdMVH"><button aria-label="Copy to clipboard button" class="sc-2sym2c-2 kjXFtJ"><svg width="25" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-2sym2c-5 dCrKRg"><path d="M21.771 2.934l.137.137c.395.395.688.688.899.994a4 4 0 010 4.526c-.21.306-.504.6-.899.994l-4.12 4.12c-.57.57-1.04 1.04-1.453 1.391-.43.365-.865.66-1.383.83a4 4 0 01-2.473 0c-.518-.17-.953-.465-1.383-.83a21.82 21.82 0 01-1.2-1.138l1.414-1.414c.457.455.793.783 1.08 1.027.336.285.54.398.707.452a2 2 0 001.237 0c.167-.054.37-.167.706-.451.345-.293.757-.704 1.363-1.31l4.023-4.023c.493-.493.64-.646.731-.78a2 2 0 000-2.262c-.09-.133-.238-.287-.732-.78-.493-.494-.646-.64-.78-.732a2 2 0 00-2.262 0c-.133.091-.287.238-.78.732L15.42 5.598a5.158 5.158 0 00-.72-.296 6 6 0 00-1.527-.285l2.083-2.083c.395-.395.688-.688.994-.898a4 4 0 014.526 0c.306.21.6.503.994.898z" fill="#FFFEFA"></path><path d="M15.466 8.033c.35.298.742.68 1.2 1.137l-1.414 1.415a19.946 19.946 0 00-1.08-1.028c-.336-.284-.54-.397-.707-.451a2 2 0 00-1.236 0c-.167.054-.372.167-.707.451-.344.293-.757.704-1.362 1.31l-4.9 4.899c-.493.493-.64.646-.731.78a2 2 0 000 2.262c.09.133.238.287.732.78.493.494.646.64.78.732a2 2 0 002.262 0c.133-.091.287-.238.78-.732l2.058-2.058c.223.113.463.214.72.297.498.162 1.01.257 1.527.285l-2.959 2.959c-.395.395-.688.688-.994.898a4 4 0 01-4.526 0c-.306-.21-.6-.503-.994-.898l-.137-.137c-.395-.395-.688-.688-.899-.994a4 4 0 010-4.526c.21-.306.504-.6.899-.994l4.997-4.997c.569-.57 1.039-1.039 1.453-1.39.43-.365.865-.661 1.383-.83a4 4 0 012.472 0c.518.169.953.465 1.383.83z" fill="#FFFEFA"></path></svg></button></div></div></div><ul class="sc-5jonrv-8 hrXGXz"><li data-element-id="blogSidebarAdCTA" class="sc-5jonrv-9 bHwIOW"><div class="sc-1lvx3a4-0 bGvBko"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 jIzwLe iUMEFg">OAuth2 And OpenID Connect: The Professional Guide</p><a href="https://auth0.com/resources/ebooks/oauth-openid-connect-professional-guide" rel="noopener" target="_blank" aria-label="(Get the free ebook!, open in a new window)" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 edSzJI kHaByn">Get the free ebook!</a></div></li></ul></div></div></aside><div class="sc-k4hn9e-1 cUEqsB"></div><article class="sc-k4hn9e-0 lhHlKO"><div><p class="sc-13lpndi-7 cLBDjU">Auth0 provides authentication, authorization, and single sign-on services for apps of any type (mobile, web, native) on any stack. Authentication is critical for the vast majority of apps. We designed Auth0 from the beginning so that it could run anywhere: on our cloud, on your cloud, or even on your own private infrastructure.</p><p class="sc-13lpndi-7 cLBDjU">In this post, we&#x27;ll talk more about our public SaaS deployments and provide a brief introduction to the infrastructure behind <a href="https://auth0.com/" class="sc-13lpndi-9 uiRQQ" target="_blank" rel="noreferrer noopener">auth0.com</a> and the strategies we use to keep it up and running with high availability. This is an updated version of the <a href="http://highscalability.com/blog/2014/12/1/auth0-architecture-running-in-multiple-cloud-providers-and-r.html" class="sc-13lpndi-9 uiRQQ" target="_blank" rel="noreferrer noopener">2014 High Scalability post about Auth0&#x27;s architecture</a>.</p><p class="sc-13lpndi-7 cLBDjU">A lot has changed since then in Auth0. These are some of the highlights:</p><ul class="sc-13lpndi-8 ifMAwf"><li><p class="sc-13lpndi-7 cLBDjU">We went from processing a couple of million logins per month to 2.5 billion logins per month, serving thousands of customers, including <a href="https://auth0.com/learn/sports-centric-streaming-service-fubotv-sees-50-roi-just-auth0s-security/" class="sc-13lpndi-9 uiRQQ" target="_blank" rel="noreferrer noopener">FuboTV</a>, <a href="https://auth0.com/blog/auth0-mozilla-partnership/" class="sc-13lpndi-9 uiRQQ" target="_blank" rel="noreferrer noopener">Mozilla</a>, <a href="https://auth0.com/learn/jetprivilege-case-study/" class="sc-13lpndi-9 uiRQQ" target="_blank" rel="noreferrer noopener">InterMiles</a>, and more.</p></li><li><p class="sc-13lpndi-7 cLBDjU">We implemented new features like <a href="https://auth0.com/docs/custom-domains" class="sc-13lpndi-9 uiRQQ" target="_blank" rel="noreferrer noopener">custom domains</a>, <a href="https://auth0.engineering/bcrypt-as-a-service-9e71707bda47" class="sc-13lpndi-9 uiRQQ" target="_blank" rel="noreferrer noopener">scaled bcrypt operations</a>, vastly <a href="https://auth0.com/docs/users/search/v3" class="sc-13lpndi-9 uiRQQ" target="_blank" rel="noreferrer noopener">improved user search</a>, and much more.</p></li><li><p class="sc-13lpndi-7 cLBDjU">The number of services that compose our product in order to scale our organization and handle the increases in traffic went from under 10 to over 30 services.</p></li><li><p class="sc-13lpndi-7 cLBDjU">The number of cloud resources grew immensely as well; we used to have a couple dozen nodes in one environment (US), now we have more than a thousand over four environments (US, US-2, EU, AU).</p></li><li><p class="sc-13lpndi-7 cLBDjU">We doubled-down decided to use a single cloud provider for each of our environments and moved all our public cloud infrastructure to AWS.</p></li></ul><h2 id="Core-service-architecture" class="styled__Heading-sc-165cfko-2 utils-sc-11hlfw-0 bQHbCW kHaByn">Core service architecture</h2><p class="sc-13lpndi-7 cLBDjU"><img src="https://images.ctfassets.net/23aumh6u8s0i/2mden7W7brrYGv8LHDK2Lp/5347634d4197ae655555cf93b8209c2d/auth0-core-service-architecture" alt="Auth0.com core service architecture" class=" lightbox-image"/></p><p class="sc-13lpndi-7 cLBDjU">The core service is composed of different layers:</p><ul class="sc-13lpndi-8 ifMAwf"><li><p class="sc-13lpndi-7 cLBDjU">Core applications: Auto-scaling groups of servers running different services of our stack (authentication, management API, multi-factor authentication API, and much more).</p></li><li><p class="sc-13lpndi-7 cLBDjU">Data storage: Clusters of MongoDB, Elasticsearch, Redis, and PostgreSQL storing a variety of datasets for different applications and features.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Transports/Queues: Kinesis streams and RabbitMQ, SNS, and SQS queues.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Base services: Services for rate-limiting, bcrypt clusters, feature-flags, and more.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Routing: AWS load balancers (ALB, NLB, and ELB from AWS) and some nodes running NGINX as a proxy.</p></li></ul><h2 id="High-Availability" class="styled__Heading-sc-165cfko-2 utils-sc-11hlfw-0 bQHbCW kHaByn">High Availability</h2><p class="sc-13lpndi-7 cLBDjU">In 2014 we used a multi-cloud architecture (using Azure and AWS, with some extra resources on Google Cloud) and that served us well for years. As our usage (and load) rapidly increased, we found ourselves relying on AWS resources more and more.</p><p class="sc-13lpndi-7 cLBDjU">At first, we switched our primary region in our environment to be in AWS, keeping Azure as failover. As we began using more AWS resources like Kinesis and SQS, we started having trouble keeping the same feature set in both providers. As our need to move (and scale) faster grew, we opted to keep supporting Azure with a limited feature parity: if everything went down on AWS, we could still support core authentication features using the Azure clusters, but not much of the new stuff we had been developing.</p><p class="sc-13lpndi-7 cLBDjU">After some bad outages in 2016, we decided to finally converge on AWS. We stopped all efforts related to keeping the services and automation platform-independent and instead focused on:</p><ul class="sc-13lpndi-8 ifMAwf"><li><p class="sc-13lpndi-7 cLBDjU">Providing a better failover story inside AWS, using multiple regions and at least 3 Availability Zones per region.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Increasing usage of AWS-specific resources like auto-scaling groups (instead of using fixed clusters of nodes), application load balancers (ALBs), and more.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Writing better automation: we revamped our automation, completely embracing infrastructure as code using TerraForm and SaltStack to provision new Auth0 environments (and also to replace existing ones). This allowed us to grow from partially automated environments doing ~300 logins per second to fully automated environments doing more than ~3.4 thousand logins per second; using the new tooling makes it easier to scale up (and down, whenever it makes sense). The level of automation we achieved is not perfect but is allowing us to grow to new regions and create new environments in a much more convenient way.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Writing better playbooks: with more time and focus, we saw that besides automation we also needed better playbooks in order to understand, manage, and respond to incidents related to our ever-growing mesh of services. This vastly improved scalability and reliability while also allowing us to onboard new employees faster.</p></li></ul><blockquote itemscope="" itemType="https://schema.org/citation" itemProp="citation" class="sc-7ovv77-0 iIECrc"><p class="styled__Heading-sc-165cfko-2 utils-sc-11hlfw-0 fTNKiF hPXnTc">“<!-- -->Writing better automation let us grow from partially automated environments doing ~300 logins per second to fully automated environments doing more than ~3.4 thousand logins per second<!-- -->”</p><a href="https://twitter.com/intent/tweet?text=&quot;Writing%20better%20automation%20let%20us%20grow%20from%20partially%20automated%20environments%20doing%20~300%20logins%20per%20second%20to%20fully%20automated%20environments%20doing%20more%20than%20~3.4%20thousand%20logins%20per%20second&quot; via @auth0 https://auth0.com/blog/auth0-architecture-running-in-multiple-cloud-providers-and-regions" target="_blank" rel="noopener noreferrer" class="sc-1w6xcbn-0 ixUiOW"><svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="Group 427319653"><path id="Vector" d="M9.31742 7.36182L15.1457 0.586914H13.7646L8.70389 6.46947L4.66193 0.586914H0L6.11224 9.48238L0 16.5869H1.38119L6.72542 10.3747L10.994 16.5869H15.656L9.31708 7.36182H9.31742ZM7.42569 9.56075L6.80639 8.67497L1.87886 1.62666H4.00029L7.97687 7.31487L8.59617 8.20065L13.7652 15.5945H11.6438L7.42569 9.56109V9.56075Z" fill="#FFFEFA"></path><path id="Vector_2" d="M9.81742 7.36182L15.6457 0.586914H14.2646L9.20389 6.46947L5.16193 0.586914H0.5L6.61224 9.48238L0.5 16.5869H1.88119L7.22542 10.3747L11.494 16.5869H16.156L9.81708 7.36182H9.81742ZM7.92569 9.56075L7.30639 8.67497L2.37886 1.62666H4.50029L8.47687 7.31487L9.09617 8.20065L14.2652 15.5945H12.1438L7.92569 9.56109V9.56075Z" fill="#FFFEFA"></path></g></svg><span class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Tweet This</span></a></blockquote><p class="sc-13lpndi-7 cLBDjU">Let&#x27;s take a look at our US environment architecture, for instance. We have this general structure:</p><p class="sc-13lpndi-7 cLBDjU"><img src="https://images.ctfassets.net/23aumh6u8s0i/4hGMwY5n4jk2aoJyyRAhjF/0ca131b596da7068aced34ca69fbbc5c/auth0-us-environment-architecture" alt="Auth0 US Environment Architecture" class=" lightbox-image"/></p><p class="sc-13lpndi-7 cLBDjU">And this is the structure inside a single AZ:</p><p class="sc-13lpndi-7 cLBDjU"><img src="https://images.ctfassets.net/23aumh6u8s0i/4EtOG7to5lHmyYnU5Q3aaC/a22b74fe7b0a58d0f54a78a6b801bbd2/auth0-single-availability-zone" alt="Auth0 Single Availablity Zone" class=" lightbox-image"/></p><p class="sc-13lpndi-7 cLBDjU">In this case, we use two AWS regions: us-west-2 (our primary) and us-west-1 (our failover). Under normal circumstances, all requests will go to us-west-2, being served by three separate availability zones.</p><p class="sc-13lpndi-7 cLBDjU">This is how we achieve high availability: all services (including databases) have running instances on every availability zone (AZ). If one AZ is down due to a data center failure, we still have two AZs to serve requests from. If the entire region is down or having errors, we can update Route53 to failover to us-west-1 and resume operations.</p><blockquote itemscope="" itemType="https://schema.org/citation" itemProp="citation" class="sc-7ovv77-0 iIECrc"><p class="styled__Heading-sc-165cfko-2 utils-sc-11hlfw-0 fTNKiF hPXnTc">“<!-- -->We achieve high availability by running all services instances on every AWS availability zone<!-- -->”</p><a href="https://twitter.com/intent/tweet?text=&quot;We%20achieve%20high%20availability%20by%20running%20all%20services%20instances%20on%20every%20AWS%20availability%20zone&quot; via @auth0 https://auth0.com/blog/auth0-architecture-running-in-multiple-cloud-providers-and-regions" target="_blank" rel="noopener noreferrer" class="sc-1w6xcbn-0 ixUiOW"><svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="Group 427319653"><path id="Vector" d="M9.31742 7.36182L15.1457 0.586914H13.7646L8.70389 6.46947L4.66193 0.586914H0L6.11224 9.48238L0 16.5869H1.38119L6.72542 10.3747L10.994 16.5869H15.656L9.31708 7.36182H9.31742ZM7.42569 9.56075L6.80639 8.67497L1.87886 1.62666H4.00029L7.97687 7.31487L8.59617 8.20065L13.7652 15.5945H11.6438L7.42569 9.56109V9.56075Z" fill="#FFFEFA"></path><path id="Vector_2" d="M9.81742 7.36182L15.6457 0.586914H14.2646L9.20389 6.46947L5.16193 0.586914H0.5L6.61224 9.48238L0.5 16.5869H1.88119L7.22542 10.3747L11.494 16.5869H16.156L9.81708 7.36182H9.81742ZM7.92569 9.56075L7.30639 8.67497L2.37886 1.62666H4.50029L8.47687 7.31487L9.09617 8.20065L14.2652 15.5945H12.1438L7.92569 9.56109V9.56075Z" fill="#FFFEFA"></path></g></svg><span class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Tweet This</span></a></blockquote><p class="sc-13lpndi-7 cLBDjU">We have different maturity levels for service failover: some services, like user search v2 (that builds a cache on Elasticsearch) might work but with slightly stale data; still, core functionality keeps working as expected.</p><p class="sc-13lpndi-7 cLBDjU">In the data layer, we use:</p><ul class="sc-13lpndi-8 ifMAwf"><li><p class="sc-13lpndi-7 cLBDjU">A cross-region cluster for MongoDB.</p></li><li><p class="sc-13lpndi-7 cLBDjU">RDS replication for PostgreSQL.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Clusters per region for Elasticsearch with automated snapshot and restores running regularly to account for the lack of cross-region clustering.</p></li></ul><p class="sc-13lpndi-7 cLBDjU">We exercise failover at least once per year, and we have playbooks and automation to help new infrastructure engineers get up to speed on how to do it and what are the implications.</p><p class="sc-13lpndi-7 cLBDjU">Our deployments are usually triggered by a Jenkins node; depending on the service we either use Puppet, SaltStack, and/or Ansible to update individual or groups of nodes, or we update our AMIs and create new autoscaling groups for immutable deployments. We have different types of deployments for new and old services, and this has been shown to be largely ineffective as we need to maintain automation, docs, and monitoring for something that should be unified.</p><p class="sc-13lpndi-7 cLBDjU">We are currently rolling out blue/green deployments for some of the core services, and we intend to implement the same for every core and supporting service.</p><h2 id="Automated-Testing" class="styled__Heading-sc-165cfko-2 utils-sc-11hlfw-0 bQHbCW kHaByn">Automated Testing</h2><p class="sc-13lpndi-7 cLBDjU">Besides unit test coverage on every project, we have multiple functional test suites that run in every environment; we run it on a staging environment before we deploy to production, and we run them again in production after finishing a deployment to ensure that everything works.</p><p class="sc-13lpndi-7 cLBDjU">The highlights:</p><ul class="sc-13lpndi-8 ifMAwf"><li><p class="sc-13lpndi-7 cLBDjU">We have thousands of unit tests in different projects.</p></li><li><p class="sc-13lpndi-7 cLBDjU">We use Pingdom probes that run every minute to check core functionality.</p></li><li><p class="sc-13lpndi-7 cLBDjU">We use a mix of Selenium and CodeceptJS-based functional tests before and after every deployment. The functional test suites test different API endpoints, authentication flows, identity providers, and much more.</p></li></ul><blockquote itemscope="" itemType="https://schema.org/citation" itemProp="citation" class="sc-7ovv77-0 iIECrc"><p class="styled__Heading-sc-165cfko-2 utils-sc-11hlfw-0 fTNKiF hPXnTc">“<!-- -->Besides unit test coverage on every project, we have multiple functional test suites that run in every environment: staging before deploying to production and again in production after finishing deployment.<!-- -->”</p><a href="https://twitter.com/intent/tweet?text=&quot;Besides%20unit%20test%20coverage%20on%20every%20project%2C%20we%20have%20multiple%20functional%20test%20suites%20that%20run%20in%20every%20environment%3A%20staging%20before%20deploying%20to%20production%20and%20again%20in%20production%20after%20finishing%20deployment.&quot; via @auth0 https://auth0.com/blog/auth0-architecture-running-in-multiple-cloud-providers-and-regions" target="_blank" rel="noopener noreferrer" class="sc-1w6xcbn-0 ixUiOW"><svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="Group 427319653"><path id="Vector" d="M9.31742 7.36182L15.1457 0.586914H13.7646L8.70389 6.46947L4.66193 0.586914H0L6.11224 9.48238L0 16.5869H1.38119L6.72542 10.3747L10.994 16.5869H15.656L9.31708 7.36182H9.31742ZM7.42569 9.56075L6.80639 8.67497L1.87886 1.62666H4.00029L7.97687 7.31487L8.59617 8.20065L13.7652 15.5945H11.6438L7.42569 9.56109V9.56075Z" fill="#FFFEFA"></path><path id="Vector_2" d="M9.81742 7.36182L15.6457 0.586914H14.2646L9.20389 6.46947L5.16193 0.586914H0.5L6.61224 9.48238L0.5 16.5869H1.88119L7.22542 10.3747L11.494 16.5869H16.156L9.81708 7.36182H9.81742ZM7.92569 9.56075L7.30639 8.67497L2.37886 1.62666H4.50029L8.47687 7.31487L9.09617 8.20065L14.2652 15.5945H12.1438L7.92569 9.56109V9.56075Z" fill="#FFFEFA"></path></g></svg><span class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jeLiTk kHaByn">Tweet This</span></a></blockquote><h2 id="CDN" class="styled__Heading-sc-165cfko-2 utils-sc-11hlfw-0 bQHbCW kHaByn">CDN</h2><p class="sc-13lpndi-7 cLBDjU">Until 2017 we ran our own, custom-built CDN using NGINX, Varnish, and EC2 nodes in multiple regions. Since then, we transitioned to CloudFront, which has given us several benefits that include:</p><ul class="sc-13lpndi-8 ifMAwf"><li><p class="sc-13lpndi-7 cLBDjU">More edge locations, which means less latency for our customers.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Lower maintenance costs.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Easier configuration.</p></li></ul><p class="sc-13lpndi-7 cLBDjU">There are a few downsides, like the fact that we need to run Lambdas to perform some configurations (like adding custom headers to PDF files and things like that). Still, the upsides definitely make up for that.</p><h2 id="Extend" class="styled__Heading-sc-165cfko-2 utils-sc-11hlfw-0 bQHbCW kHaByn">Extend</h2><p class="sc-13lpndi-7 cLBDjU">One of the features we provide is the ability to run custom code as part of the login transaction, either via <a href="https://auth0.com/docs/rules/current" class="sc-13lpndi-9 uiRQQ" target="_blank" rel="noreferrer noopener"><em class="sc-13lpndi-12 gMCFZd">authentication rules</em></a> or <a href="https://auth0.com/docs/connections/database/custom-db" class="sc-13lpndi-9 uiRQQ" target="_blank" rel="noreferrer noopener"><em class="sc-13lpndi-12 gMCFZd">custom database connections</em></a>. These features are powered by <a href="https://goextend.io/" class="sc-13lpndi-9 uiRQQ" target="_blank" rel="noreferrer noopener"><em class="sc-13lpndi-12 gMCFZd">Extend</em></a>, an extensibility platform that grew out of Auth0 and is now being used by other companies as well. With Extend, our customers can write anything they want in those scripts and rules, allowing them to extend profiles, normalize attributes, send notifications, and much more.</p><p class="sc-13lpndi-7 cLBDjU">We have Extend clusters specifically for Auth0; they use a combination of EC2 auto-scaling groups, Docker containers, and custom proxies to handle requests from our tenants, processing thousands of requests per second and responding fast to variations of load. For more details about how this is built and run, check out this post on <a href="https://tomasz.janczuk.org/2018/03/how-to-build-your-own-serverless-platform.html" class="sc-13lpndi-9 uiRQQ" target="_blank" rel="noreferrer noopener">how to build your own serverless platform</a>.</p><h2 id="Monitoring" class="styled__Heading-sc-165cfko-2 utils-sc-11hlfw-0 bQHbCW kHaByn">Monitoring</h2><p class="sc-13lpndi-7 cLBDjU">We use a combination of different tools for monitoring and debugging issues:</p><ul class="sc-13lpndi-8 ifMAwf"><li><p class="sc-13lpndi-7 cLBDjU">CloudWatch</p></li><li><p class="sc-13lpndi-7 cLBDjU">DataDog</p></li><li><p class="sc-13lpndi-7 cLBDjU">Pingdom</p></li><li><p class="sc-13lpndi-7 cLBDjU">SENTINL</p></li></ul><p class="sc-13lpndi-7 cLBDjU">The vast majority of our alerts come from CloudWatch and DataDog.</p><p class="sc-13lpndi-7 cLBDjU">We tend to configure CloudWatch alarms via TerraForm, and the main monitors we keep on CloudWatch are:</p><ul class="sc-13lpndi-8 ifMAwf"><li><p class="sc-13lpndi-7 cLBDjU">HTTP errors from our main load balancers.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Unhealthy instances in a target group.</p></li><li><p class="sc-13lpndi-7 cLBDjU">SQS processing delays.</p></li></ul><p class="sc-13lpndi-7 cLBDjU">CloudWatch is the best tool for alarms based on AWS-generated metrics (like ones from load balancers or autoscaling groups). CloudWatch alerts usually go to PagerDuty, and from PagerDuty to Slack/phones.</p><p class="sc-13lpndi-7 cLBDjU">DataDog is a service we use to store and act on time-series metrics. We send metrics from Linux boxes, AWS resources, off-the-shelf services (like NGINX or MongoDB), and also custom services we have built (like our Management API).</p><p class="sc-13lpndi-7 cLBDjU">We have many DataDog monitors. A few examples:</p><ul class="sc-13lpndi-8 ifMAwf"><li><p class="sc-13lpndi-7 cLBDjU">Increase in response times in <code class="sc-1xg6er-0 heSQis">$service</code> on <code class="sc-1xg6er-0 heSQis">$environment</code>.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Running out of space on <code class="sc-1xg6er-0 heSQis">$volume</code> in <code class="sc-1xg6er-0 heSQis">$instance</code> (<code class="sc-1xg6er-0 heSQis">$ip_address</code>).</p></li><li><p class="sc-13lpndi-7 cLBDjU">Issue with <code class="sc-1xg6er-0 heSQis">$process</code> on <code class="sc-1xg6er-0 heSQis">$environment</code> / <code class="sc-1xg6er-0 heSQis">$host</code> (<code class="sc-1xg6er-0 heSQis">$ip_address</code>).</p></li><li><p class="sc-13lpndi-7 cLBDjU">Increase in processing time for <code class="sc-1xg6er-0 heSQis">$service</code> on <code class="sc-1xg6er-0 heSQis">$environment</code>.</p></li><li><p class="sc-13lpndi-7 cLBDjU">NTP drifting off / clock issue on <code class="sc-1xg6er-0 heSQis">$host</code> (<code class="sc-1xg6er-0 heSQis">$ip_address</code>).</p></li><li><p class="sc-13lpndi-7 cLBDjU">MongoDB replica-set change on <code class="sc-1xg6er-0 heSQis">$environment</code>.</p></li></ul><p class="sc-13lpndi-7 cLBDjU">As you can see from the examples above, we have monitors on low-level metrics (like disk space) and high-level metrics (like MongoDB replica-set change, which alerts us if there was a change in the primary node definition, for example). We do much more and have some pretty sophisticated monitors around some services.</p><p class="sc-13lpndi-7 cLBDjU">DataDog alerts are pretty flexible in their outputs and we usually send them all to Slack, sending to PagerDuty only those who should &quot;wake people up&quot; (like spikes of errors, or most things that we are sure that are having an effect on customers).</p><p class="sc-13lpndi-7 cLBDjU">For logging we use Kibana and SumoLogic; we are using SumoLogic to record audit trails and many AWS-generated logs, and we use Kibana to store application logs from our own services and other &quot;off-the-shelf&quot; services like NGINX and MongoDB.</p><h2 id="The-Future" class="styled__Heading-sc-165cfko-2 utils-sc-11hlfw-0 bQHbCW kHaByn">The Future</h2><p class="sc-13lpndi-7 cLBDjU">Our platform evolved quite a bit in order to handle the extra load and the huge variety of use cases that are important to our customers, but we still have more room for optimizations.</p><p class="sc-13lpndi-7 cLBDjU">Not only our platform grew, but our engineering organization increased in size: we have many new teams building their own services and are in need of automation, tooling, and guidance around scalability.
With that in mind, these are the initiatives in place for us to scale not only our platform but also our engineering practice:</p><ul class="sc-13lpndi-8 ifMAwf"><li><p class="sc-13lpndi-7 cLBDjU">Build a Platform, PaaS style: As mentioned before, today we have different automation and deployment flows; this causes confusion and creates a barrier of entry for engineers as it&#x27;s hard to experiment and scale up without touching too many repositories. We are developing a PoC for a platform (currently running on top of ECS) in which engineers can configure a YAML file and just deploy it to get computing resources, monitoring, logging, backups, and much more. All of that without having to configure it explicitly. This effort is in an early stage and might still change a lot (EKS?). However, we feel we are taking the right direction given our growing size and scalability constraints.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Implement smoke tests for every new pull request: besides unit testing (that already runs on each new PR), we want to run integration tests on ephemeral environments wherever that&#x27;s possible.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Centralize our logging solution into just one provider. This might mean moving away from Kibana and using just SumoLogic, but we still need to evaluate feature set, data volume, and more.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Automate metrics: Too much of our metric story is manual now: adding metrics-related calls to the code while deploying, and building dashboards and monitors using the DataDog interface. If we use a standard format and naming, we could do things like building dashboards/monitors automatically, extracting metrics from logs instead of explicitly adding calls to the code, and more.</p></li><li><p class="sc-13lpndi-7 cLBDjU">Ensure we have auto-scaling and blue/green deployments on every core service. This should come out-of-the-box from our new Platform, but while that is being built and tested we need to improve the scaling/deployment/rollback story for the core services that are still lacking in that regard.</p></li></ul><div><h3 id="About-Auth0" class="styled__Heading-sc-165cfko-2 utils-sc-11hlfw-0 bwECpK kHaByn">About Auth0</h3><p class="sc-1v0wo3i-0 hthBSw">Auth0 by Okta takes a modern approach to customer identity and enables organizations to provide secure access to any application, for any user. Auth0 is a highly customizable platform that is as simple as development teams want, and as flexible as they need. Safeguarding billions of login transactions each month, Auth0 delivers convenience, privacy, and security so customers can focus on innovation. For more information, visit<!-- --> <a href="https://auth0.com/" target="_blank" rel="noopener noreferrer">https://auth0.com</a>.</p></div></div><div class="sc-k4hn9e-2 kXubaV"><div class="sc-dh4ait-0 fytga-d"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 akErW eywyFj">About the author</p></div><div class="sc-k4hn9e-3 bWnqDv"><img src="https://images.ctfassets.net/23aumh6u8s0i/3NBBmfieikWaLMpcNe4hum/e2afeb072dacb720d366181dd42a3cc7/Dirceu-Tiegs" width="400" height="400" alt="Dirceu Tiegs" class="sc-k4hn9e-4 dMCDEs"/><div class="sc-k4hn9e-5 iPpHsR"><h4 class="styled__Heading-sc-165cfko-2 utils-sc-11hlfw-0 kAwpoB kHaByn">Dirceu Tiegs</h4><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 evZbox kAWGyf">Site Reliability Engineering Team (Auth0 Alumni)</p></div></div><span>What I enjoy the most about being an SRE at Auth0 is that it allows me to exercise different areas such as coding, architecture, writing, training, investigations, debugging, and incident response. It&#x27;s great to be able to think deeply about all aspects related to reliability and then apply it to large-scale, real-world projects.</span><a href="/blog/authors/dirceu-tiegs/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 gOnbZW eOzIEM">View profile</a></div></article></div><aside class="sc-t4xvu3-1 bPENYC"><div class="sc-t4xvu3-2 ivrKga"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 fRlbrh bSjAPd">Related Tags</p><div class="sc-1iw8hf7-0 fZRVTq"><a href="/blog/search/?query=architecture&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#architecture</p></a><a href="/blog/search/?query=engineering&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#engineering</p></a><a href="/blog/search/?query=enterprise&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#enterprise</p></a><a href="/blog/search/?query=authorization&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#authorization</p></a><a href="/blog/search/?query=scalability&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#scalability</p></a><a href="/blog/search/?query=high-availability&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#high-availability</p></a><a href="/blog/search/?query=cloud&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#cloud</p></a><a href="/blog/search/?query=monitoring&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#monitoring</p></a><a href="/blog/search/?query=aws&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#aws</p></a><a href="/blog/search/?query=mongoDB&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#mongoDB</p></a><a href="/blog/search/?query=testing&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#testing</p></a><a href="/blog/search/?query=automation&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#automation</p></a><a href="/blog/search/?query=cdn&amp;page=1" class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#cdn</p></a></div><div class="sc-2sym2c-0 gMKMkL"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 fRlbrh bSjAPd">Share</p><div class="sc-2sym2c-1 kIyLtY"><button href="#" aria-label="Share on X social media button" class="sc-2sym2c-2 kjXFtJ"><svg width="25" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-2sym2c-3 jSsmae"><path d="M14.118 10.775L19.947 4h-1.382l-5.06 5.883L9.463 4H4.8l6.112 8.896L4.801 20h1.381l5.344-6.212L15.795 20h4.662l-6.34-9.225h.001zm-1.892 2.199l-.619-.886L6.68 5.04H8.8l3.977 5.688.619.886 5.169 7.393h-2.121l-4.219-6.033z" fill="#FFFEFA"></path><path d="M14.161 10.775L19.99 4h-1.382l-5.06 5.883L9.506 4H4.844l6.112 8.896L4.844 20h1.38l5.345-6.212L15.838 20H20.5l-6.34-9.225h.001zm-1.892 2.199l-.619-.886L6.723 5.04h2.121l3.977 5.688.619.886 5.169 7.393h-2.121l-4.219-6.033z" fill="#FFFEFA"></path><path d="M14.661 10.775L20.49 4h-1.382l-5.06 5.883L10.006 4H5.344l6.112 8.896L5.344 20h1.38l5.345-6.212L16.338 20H21l-6.34-9.225h.001zm-1.892 2.199l-.619-.886L7.223 5.04h2.121l3.977 5.688.619.886 5.169 7.393h-2.121l-4.219-6.033z" fill="#FFFEFA"></path></svg></button><button href="#" aria-label="Share on LinkedIn social media button" class="sc-2sym2c-2 kjXFtJ"><svg width="25" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-2sym2c-4 iEyEOd"><path d="M20.511 3H5.173c-.735 0-1.33.58-1.33 1.297V19.7c0 .717.595 1.301 1.33 1.301H20.51c.735 0 1.333-.584 1.333-1.297V4.297C21.844 3.58 21.246 3 20.51 3zM9.184 18.339H6.512V9.746h2.672v8.593zM7.848 8.576a1.548 1.548 0 11-.005-3.096 1.548 1.548 0 01.005 3.096zm11.334 9.763h-2.668v-4.177c0-.995-.017-2.278-1.389-2.278-1.388 0-1.6 1.086-1.6 2.208v4.247h-2.664V9.746h2.56v1.175h.035c.354-.675 1.226-1.389 2.524-1.389 2.703 0 3.202 1.779 3.202 4.092v4.715z" fill="#FFFEFA"></path></svg></button><div class="sc-2sym2c-6 ccdMVH"><button aria-label="Copy to clipboard button" class="sc-2sym2c-2 kjXFtJ"><svg width="25" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="sc-2sym2c-5 dCrKRg"><path d="M21.771 2.934l.137.137c.395.395.688.688.899.994a4 4 0 010 4.526c-.21.306-.504.6-.899.994l-4.12 4.12c-.57.57-1.04 1.04-1.453 1.391-.43.365-.865.66-1.383.83a4 4 0 01-2.473 0c-.518-.17-.953-.465-1.383-.83a21.82 21.82 0 01-1.2-1.138l1.414-1.414c.457.455.793.783 1.08 1.027.336.285.54.398.707.452a2 2 0 001.237 0c.167-.054.37-.167.706-.451.345-.293.757-.704 1.363-1.31l4.023-4.023c.493-.493.64-.646.731-.78a2 2 0 000-2.262c-.09-.133-.238-.287-.732-.78-.493-.494-.646-.64-.78-.732a2 2 0 00-2.262 0c-.133.091-.287.238-.78.732L15.42 5.598a5.158 5.158 0 00-.72-.296 6 6 0 00-1.527-.285l2.083-2.083c.395-.395.688-.688.994-.898a4 4 0 014.526 0c.306.21.6.503.994.898z" fill="#FFFEFA"></path><path d="M15.466 8.033c.35.298.742.68 1.2 1.137l-1.414 1.415a19.946 19.946 0 00-1.08-1.028c-.336-.284-.54-.397-.707-.451a2 2 0 00-1.236 0c-.167.054-.372.167-.707.451-.344.293-.757.704-1.362 1.31l-4.9 4.899c-.493.493-.64.646-.731.78a2 2 0 000 2.262c.09.133.238.287.732.78.493.494.646.64.78.732a2 2 0 002.262 0c.133-.091.287-.238.78-.732l2.058-2.058c.223.113.463.214.72.297.498.162 1.01.257 1.527.285l-2.959 2.959c-.395.395-.688.688-.994.898a4 4 0 01-4.526 0c-.306-.21-.6-.503-.994-.898l-.137-.137c-.395-.395-.688-.688-.899-.994a4 4 0 010-4.526c.21-.306.504-.6.899-.994l4.997-4.997c.569-.57 1.039-1.039 1.453-1.39.43-.365.865-.661 1.383-.83a4 4 0 012.472 0c.518.169.953.465 1.383.83z" fill="#FFFEFA"></path></svg></button></div></div></div></div><section class="sc-k75pvh-0 gRFZvM"><div class="styled__Wrapper-sc-1xhxac-0 dIMmPH"><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 cruTcJ GEyYG">Go even deeper</p><div class="styled__SliderWrapper-sc-1xhxac-6 fPZLSj"><div class="styled__Container-sc-1xhxac-1 ergSSi"><div class="sc-k75pvh-1 jYsUzS"><a href="/blog/how-we-hire-engineers/" class="sc-1akycv5-2 irkzRp"><div class="sc-1akycv5-0 eqcnId"><figure class="sc-1akycv5-1 bzOlzO"></figure></div><div class="sc-1akycv5-4 dPYFps"><div class="sc-1akycv5-3 bPXVfK"><span class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA dNAcKM">engineering</span><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 egLsFq fiJSa-d">Mar 22, 2016 • 7 min read</p></div><h3 class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 eKCpKG hhJSkn">How We Hire Engineers</h3><h4 class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 kwcFPE kHaByn">Providing transparency about the hiring process at Auth0 and the rationale behind it.</h4><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 bHhyEy kHaByn">Damian Schenkelman</p><div class="sc-1akycv5-5 ehBEGM"><button class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#engineering</p></button><button class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#hiring</p></button><button class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#auth0</p></button></div></div></a></div><div class="sc-k75pvh-1 jYsUzS"><a href="/blog/cloud-scale-thinking-from-day-one-for-your-saas-products/" class="sc-1akycv5-2 irkzRp"><div class="sc-1akycv5-0 eqcnId"><figure class="sc-1akycv5-1 hqHxlx"></figure></div><div class="sc-1akycv5-4 dPYFps"><div class="sc-1akycv5-3 bPXVfK"><span class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA lKdzs">business</span><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 egLsFq fiJSa-d">Jul 26, 2018 • 8 min read</p></div><h3 class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 eKCpKG hhJSkn">Cloud-Scale Thinking from Day One for Your SaaS Products</h3><h4 class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 kwcFPE kHaByn">Learn how utilizing identity solutions like Auth0 allows your engineers to focus on what matters most to your company - developing your SaaS product&#x27;s unique features.</h4><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 bHhyEy kHaByn">Saravana Kumar</p><div class="sc-1akycv5-5 ehBEGM"><button class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#scalability</p></button><button class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#identity</p></button><button class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#saas</p></button></div></div></a></div><div class="sc-k75pvh-1 jYsUzS"><a href="/blog/5-massive-benefits-of-identity-as-a-service-for-developers/" class="sc-1akycv5-2 irkzRp"><div class="sc-1akycv5-0 eqcnId"><figure class="sc-1akycv5-1 hqHxlx"></figure></div><div class="sc-1akycv5-4 dPYFps"><div class="sc-1akycv5-3 bPXVfK"><span class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jBbHiM">identity &amp; security</span><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 egLsFq fiJSa-d">Nov 29, 2017 • 7 min read</p></div><h3 class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 eKCpKG hhJSkn">5 Massive Benefits Of Identity As A Service For Developers</h3><h4 class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 kwcFPE kHaByn">Identity as a service provides lots of benefits for companies and developers looking to iterate quickly. Focus on building customer value not authentication.</h4><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 bHhyEy kHaByn">Kyle Galbraith</p><div class="sc-1akycv5-5 ehBEGM"><button class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#identity</p></button><button class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#user</p></button><button class="sc-1xszjru-0 ftYCoM"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 jYylMA jmVJtT">#management</p></button></div></div></a></div></div></div></div></section></aside></div><div class="styled__Wrapper-sc-1gk46x3-0 BmSii"><footer class="styled__Content-sc-1gk46x3-1 jxcAek"><nav class="styled__Nav-sc-1gk46x3-2 jzCMRh"><section><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 gahICZ kfRWXJ">Developers</p><ul class="styled__LinksList-sc-1gk46x3-3 djugOZ"><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://developer.auth0.com/resources" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Developer Hub<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://developer.auth0.com/resources/code-samples" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Code Samples and Guides<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/blog/developers/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Blog posts<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://identityunlocked.auth0.com/public/49/Identity,-Unlocked.--bed7fada" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Identity Unlocked - Podcasts<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://developer.auth0.com/newsletter" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Zero Index Newsletter<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/agent-experience" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Agent Experience Score<!-- --> </a></li></ul></section><section><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 gahICZ kfRWXJ">Documentation</p><ul class="styled__LinksList-sc-1gk46x3-3 djugOZ"><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/docs/articles" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Articles<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/docs/quickstarts" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Quickstarts<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/docs/api" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">APIs<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/docs/libraries" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">SDK Libraries<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/changelog" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Changelog<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://auth0.com/blog/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Blog<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://auth0.com/resources/ebooks" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Reports<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://auth0.com/resources/webinars" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Webinars<!-- --> </a></li></ul></section><section><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 gahICZ kfRWXJ">Support Center</p><ul class="styled__LinksList-sc-1gk46x3-3 djugOZ"><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://community.auth0.com/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Community<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://support.auth0.com/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Support<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://support.auth0.com/center/s/knowledge" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Knowledge Base<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://marketplace.auth0.com" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Auth0 Marketplace<!-- --> </a></li></ul></section><section><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 gahICZ kfRWXJ">Company</p><ul class="styled__LinksList-sc-1gk46x3-3 djugOZ"><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/customers" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Our Customers<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/security" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Compliance - Ensuring privacy and security<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/partners" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Partners<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://www.okta.com/company/careers/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Careers<!-- --> <span class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 krhoHS kHaByn">We&#x27;re hiring!</span></a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://www.okta.com/company/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">About us<!-- --> </a></li></ul></section><section><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 gahICZ kfRWXJ">Get Involved</p><ul class="styled__LinksList-sc-1gk46x3-3 djugOZ"><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://developer.auth0.com/events" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Events<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/research-program" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Auth0 Research Program<!-- --> </a></li></ul></section><section><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 gahICZ kfRWXJ">Learning</p><ul class="styled__LinksList-sc-1gk46x3-3 djugOZ"><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://support.auth0.com/center/s/learning" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Learn<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/intro-to-iam" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Intro to IAM (CIAM)<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://auth0.com/blog/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Blog<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/architectural-playbook/identity" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Architecture Playbook<!-- --> </a></li></ul></section><section><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 gahICZ kfRWXJ">Platform</p><ul class="styled__LinksList-sc-1gk46x3-3 djugOZ"><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="https://auth0.com/ai" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Auth0 for AI Agents<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/platform/access-management" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Access Management<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/platform/extensibility" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Extensibility<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/platform/login-security" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Security<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/platform/user-management" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">User Management<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/platform/authentication" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Authentication<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/platform/cloud-deployment" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Cloud deployments<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/fine-grained-authorization" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Fine-Grained Authorization<!-- --> </a></li></ul></section><section><p class="styled__Overline-sc-165cfko-0 utils-sc-11hlfw-0 gahICZ kfRWXJ">Features</p><ul class="styled__LinksList-sc-1gk46x3-3 djugOZ"><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/features/universal-login" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Universal Login<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/features/single-sign-on" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Single Sign-On<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/features/multifactor-authentication" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Multifactor Authentication<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/features/actions" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Actions<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/features/machine-to-machine" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Machine to Machine<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/features/passwordless" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Passwordless<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/features/breached-passwords" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Breached Passwords<!-- --> </a></li><li class="styled__LinksListItem-sc-1gk46x3-5 kFpsIR"><a href="/features/token-vault" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj KYCXS">Token Vault<!-- --> </a></li></ul></section><section class="styled__LastSection-sc-1gk46x3-6 hLaJwg"><div class="styled__Icons-sc-1gk46x3-7 gMSNHd"><a href="https://twitter.com/auth0" target="_blank" rel="noopener noreferrer" aria-label="Twitter link" class="styled__IconsLink-sc-1gk46x3-8 gkIZFT"><svg viewBox="0 0 24 24" aria-hidden="true" width="24" height="24" fill="none"><g><path fill="#fff" d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></g></svg></a><a href="https://linkedin.com/company/auth0" target="_blank" rel="noopener noreferrer" aria-label="Linkedin link" class="styled__IconsLink-sc-1gk46x3-8 gkIZFT"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19.5561 3H4.53738C3.71707 3 2.99988 3.59063 2.99988 4.40156V19.4531C2.99988 20.2687 3.71707 20.9953 4.53738 20.9953H19.5514C20.3764 20.9953 20.9952 20.2641 20.9952 19.4531V4.40156C20.9999 3.59063 20.3764 3 19.5561 3ZM8.578 18H5.99988V9.98438H8.578V18ZM7.378 8.76562H7.35925C6.53425 8.76562 5.99988 8.15156 5.99988 7.38281C5.99988 6.6 6.54831 6 7.39206 6C8.23581 6 8.75144 6.59531 8.77019 7.38281C8.77019 8.15156 8.23581 8.76562 7.378 8.76562ZM17.9999 18H15.4218V13.6172C15.4218 12.5672 15.0468 11.85 14.1139 11.85C13.4014 11.85 12.9796 12.3328 12.7921 12.8016C12.7218 12.9703 12.703 13.2 12.703 13.4344V18H10.1249V9.98438H12.703V11.1C13.078 10.5656 13.6639 9.79688 15.028 9.79688C16.7202 9.79688 17.9999 10.9125 17.9999 13.3172V18Z" fill="#fff"></path></svg></a><a href="https://github.com/auth0" target="_blank" rel="noopener noreferrer" aria-label="Github link" class="styled__IconsLink-sc-1gk46x3-8 gkIZFT"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 1.5C6.20156 1.5 1.5 6.32344 1.5 12.2672C1.5 17.025 4.50937 21.0562 8.68125 22.4813C8.74687 22.4953 8.80312 22.5 8.85938 22.5C9.24844 22.5 9.39844 22.2141 9.39844 21.9656C9.39844 21.7078 9.38906 21.0328 9.38437 20.1328C8.99062 20.2219 8.63906 20.2594 8.325 20.2594C6.30469 20.2594 5.84531 18.6891 5.84531 18.6891C5.36719 17.4469 4.67813 17.1141 4.67813 17.1141C3.76406 16.4719 4.67344 16.4531 4.74375 16.4531H4.74844C5.80313 16.5469 6.35625 17.5687 6.35625 17.5687C6.88125 18.4875 7.58437 18.7453 8.2125 18.7453C8.70469 18.7453 9.15 18.5859 9.4125 18.4641C9.50625 17.7703 9.77812 17.2969 10.0781 17.025C7.74844 16.7531 5.29688 15.8297 5.29688 11.7047C5.29688 10.5281 5.70469 9.56719 6.375 8.81719C6.26719 8.54531 5.90625 7.44844 6.47812 5.96719C6.47812 5.96719 6.55312 5.94375 6.7125 5.94375C7.09219 5.94375 7.95 6.08906 9.36563 7.07344C10.2047 6.83437 11.1 6.71719 11.9953 6.7125C12.8859 6.71719 13.7859 6.83437 14.625 7.07344C16.0406 6.08906 16.8984 5.94375 17.2781 5.94375C17.4375 5.94375 17.5125 5.96719 17.5125 5.96719C18.0844 7.44844 17.7234 8.54531 17.6156 8.81719C18.2859 9.57188 18.6937 10.5328 18.6937 11.7047C18.6937 15.8391 16.2375 16.7484 13.8984 17.0156C14.2734 17.3484 14.6109 18.0047 14.6109 19.0078C14.6109 20.4469 14.5969 21.6094 14.5969 21.9609C14.5969 22.2141 14.7422 22.5 15.1312 22.5C15.1875 22.5 15.2531 22.4953 15.3187 22.4813C19.4953 21.0562 22.5 17.0203 22.5 12.2672C22.5 6.32344 17.7984 1.5 12 1.5Z" fill="#fff"></path></svg></a></div></section></nav><section class="styled__FooterBottom-sc-1gk46x3-10 eUSWhy"><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 dfnlHp jxtigD">© <!-- -->2026<!-- --> Okta, Inc. All Rights Reserved.</p><div class="styled__Legal-sc-1gk46x3-12 gczZFN"><a href="https://status.auth0.com" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj kHaByn">Status</a> <!-- -->•<!-- --> <a href="https://www.okta.com/agreements/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj kHaByn">Legal</a> <!-- -->•<!-- --> <a href="/privacy" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj kHaByn">Privacy</a> <!-- -->•<!-- --> <a href="https://www.okta.com/terms-of-service" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj kHaByn">Terms</a> <!-- -->•<!-- --> <a href="/your-privacy-choices" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj kHaByn">Your Privacy Choices</a><img alt="" src="https://cdn.auth0.com/website/footer/ccpa.svg"/></div></section><section class="styled__FooterBottomMobile-sc-1gk46x3-9 cmjEfG"><div class="styled__Icons-sc-1gk46x3-7 iMfwFS"><a href="https://twitter.com/auth0" target="_blank" rel="noopener noreferrer" aria-label="Twitter link" class="styled__IconsLink-sc-1gk46x3-8 gkIZFT"><svg viewBox="0 0 24 24" aria-hidden="true" width="24" height="24" fill="none"><g><path fill="#fff" d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></g></svg></a><a href="https://linkedin.com/company/auth0" target="_blank" rel="noopener noreferrer" aria-label="Linkedin link" class="styled__IconsLink-sc-1gk46x3-8 gkIZFT"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19.5561 3H4.53738C3.71707 3 2.99988 3.59063 2.99988 4.40156V19.4531C2.99988 20.2687 3.71707 20.9953 4.53738 20.9953H19.5514C20.3764 20.9953 20.9952 20.2641 20.9952 19.4531V4.40156C20.9999 3.59063 20.3764 3 19.5561 3ZM8.578 18H5.99988V9.98438H8.578V18ZM7.378 8.76562H7.35925C6.53425 8.76562 5.99988 8.15156 5.99988 7.38281C5.99988 6.6 6.54831 6 7.39206 6C8.23581 6 8.75144 6.59531 8.77019 7.38281C8.77019 8.15156 8.23581 8.76562 7.378 8.76562ZM17.9999 18H15.4218V13.6172C15.4218 12.5672 15.0468 11.85 14.1139 11.85C13.4014 11.85 12.9796 12.3328 12.7921 12.8016C12.7218 12.9703 12.703 13.2 12.703 13.4344V18H10.1249V9.98438H12.703V11.1C13.078 10.5656 13.6639 9.79688 15.028 9.79688C16.7202 9.79688 17.9999 10.9125 17.9999 13.3172V18Z" fill="#fff"></path></svg></a><a href="https://github.com/auth0" target="_blank" rel="noopener noreferrer" aria-label="Github link" class="styled__IconsLink-sc-1gk46x3-8 gkIZFT"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 1.5C6.20156 1.5 1.5 6.32344 1.5 12.2672C1.5 17.025 4.50937 21.0562 8.68125 22.4813C8.74687 22.4953 8.80312 22.5 8.85938 22.5C9.24844 22.5 9.39844 22.2141 9.39844 21.9656C9.39844 21.7078 9.38906 21.0328 9.38437 20.1328C8.99062 20.2219 8.63906 20.2594 8.325 20.2594C6.30469 20.2594 5.84531 18.6891 5.84531 18.6891C5.36719 17.4469 4.67813 17.1141 4.67813 17.1141C3.76406 16.4719 4.67344 16.4531 4.74375 16.4531H4.74844C5.80313 16.5469 6.35625 17.5687 6.35625 17.5687C6.88125 18.4875 7.58437 18.7453 8.2125 18.7453C8.70469 18.7453 9.15 18.5859 9.4125 18.4641C9.50625 17.7703 9.77812 17.2969 10.0781 17.025C7.74844 16.7531 5.29688 15.8297 5.29688 11.7047C5.29688 10.5281 5.70469 9.56719 6.375 8.81719C6.26719 8.54531 5.90625 7.44844 6.47812 5.96719C6.47812 5.96719 6.55312 5.94375 6.7125 5.94375C7.09219 5.94375 7.95 6.08906 9.36563 7.07344C10.2047 6.83437 11.1 6.71719 11.9953 6.7125C12.8859 6.71719 13.7859 6.83437 14.625 7.07344C16.0406 6.08906 16.8984 5.94375 17.2781 5.94375C17.4375 5.94375 17.5125 5.96719 17.5125 5.96719C18.0844 7.44844 17.7234 8.54531 17.6156 8.81719C18.2859 9.57188 18.6937 10.5328 18.6937 11.7047C18.6937 15.8391 16.2375 16.7484 13.8984 17.0156C14.2734 17.3484 14.6109 18.0047 14.6109 19.0078C14.6109 20.4469 14.5969 21.6094 14.5969 21.9609C14.5969 22.2141 14.7422 22.5 15.1312 22.5C15.1875 22.5 15.2531 22.4953 15.3187 22.4813C19.4953 21.0562 22.5 17.0203 22.5 12.2672C22.5 6.32344 17.7984 1.5 12 1.5Z" fill="#fff"></path></svg></a></div><div class="styled__LegalAndLangMobile-sc-1gk46x3-11 cGOVjJ"><div class="styled__Legal-sc-1gk46x3-12 gczZFN"><a href="https://status.auth0.com" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj kHaByn">Status</a> <!-- -->•<!-- --> <a href="https://www.okta.com/agreements/" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj kHaByn">Legal</a> <!-- -->•<!-- --> <a href="/privacy" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj kHaByn">Privacy</a> <!-- -->•<!-- --> <a href="https://www.okta.com/terms-of-service" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj kHaByn">Terms</a> <!-- -->•<!-- --> <a href="/your-privacy-choices" class="styled__Link-sc-bubr9x-0 utils-sc-11hlfw-0 fFCiQj kHaByn">Your Privacy Choices</a><img alt="" src="https://cdn.auth0.com/website/footer/ccpa.svg"/></div></div><p class="styled__Paragraph-sc-165cfko-1 utils-sc-11hlfw-0 dfnlHp grCsyJ">© <!-- -->2026<!-- --> Okta, Inc. All Rights Reserved.</p></section></footer></div><div id="asset-library-root"></div><div id="modal-root"></div><div id="alert-root"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"path":"auth0-architecture-running-in-multiple-cloud-providers-and-regions","lastUpdatedBy":"Diego Poza","layout":"post","title":"Auth0 Architecture: 5 Years In","description":"Learn more about how Auth0 architects its services to ensure scalability and high availability to handle more than 1.5 billion logins per month.","metaTitle":"A Look at Auth0 Cloud Architecture: 5 Years In","metaDescription":"Learn how Auth0 architects its services in the cloud to ensure scalability that handles more than 1.5 billion logins per month.","heroImage":{"url":"https://images.ctfassets.net/23aumh6u8s0i/56S9oDWKVeNY8AIszkZvw1/7d6794f3d31d4eedb5a3d3699e796e5c/default","size":{"width":1764,"height":1584}},"dateCreated":"2018-08-15T08:30","dateLastUpdated":"2019-02-26T08:30","category":["Engineering","Best Practices","Scalability"],"tags":["architecture","engineering","enterprise","authorization","scalability","high-availability","cloud","monitoring","aws","mongoDB","testing","automation","cdn"],"lang":"en","orderOfFeaturedPost":null,"communityTopicId":null,"metaRobots":null,"designArtistLink":null,"designArtistName":null,"postContent":"\n\nAuth0 provides authentication, authorization, and single sign-on services for apps of any type (mobile, web, native) on any stack. Authentication is critical for the vast majority of apps. We designed Auth0 from the beginning so that it could run anywhere: on our cloud, on your cloud, or even on your own private infrastructure.\n\nIn this post, we'll talk more about our public SaaS deployments and provide a brief introduction to the infrastructure behind [auth0.com](https://auth0.com/) and the strategies we use to keep it up and running with high availability. This is an updated version of the [2014 High Scalability post about Auth0's architecture](http://highscalability.com/blog/2014/12/1/auth0-architecture-running-in-multiple-cloud-providers-and-r.html).\n\nA lot has changed since then in Auth0. These are some of the highlights:\n\n- We went from processing a couple of million logins per month to 2.5 billion logins per month, serving thousands of customers, including [FuboTV](https://auth0.com/learn/sports-centric-streaming-service-fubotv-sees-50-roi-just-auth0s-security/), [Mozilla](https://auth0.com/blog/auth0-mozilla-partnership/), [InterMiles](https://auth0.com/learn/jetprivilege-case-study/), and more.\n\n- We implemented new features like [custom domains](https://auth0.com/docs/custom-domains), [scaled bcrypt operations](https://auth0.engineering/bcrypt-as-a-service-9e71707bda47), vastly [improved user search](https://auth0.com/docs/users/search/v3), and much more.\n\n- The number of services that compose our product in order to scale our organization and handle the increases in traffic went from under 10 to over 30 services.\n\n- The number of cloud resources grew immensely as well; we used to have a couple dozen nodes in one environment (US), now we have more than a thousand over four environments (US, US-2, EU, AU).\n\n- We doubled-down decided to use a single cloud provider for each of our environments and moved all our public cloud infrastructure to AWS.\n\n## Core service architecture\n\n![Auth0.com core service architecture](https://images.ctfassets.net/23aumh6u8s0i/2mden7W7brrYGv8LHDK2Lp/5347634d4197ae655555cf93b8209c2d/auth0-core-service-architecture)\n\nThe core service is composed of different layers:\n\n- Core applications: Auto-scaling groups of servers running different services of our stack (authentication, management API, multi-factor authentication API, and much more).\n\n- Data storage: Clusters of MongoDB, Elasticsearch, Redis, and PostgreSQL storing a variety of datasets for different applications and features.\n\n- Transports/Queues: Kinesis streams and RabbitMQ, SNS, and SQS queues.\n\n- Base services: Services for rate-limiting, bcrypt clusters, feature-flags, and more.\n\n- Routing: AWS load balancers (ALB, NLB, and ELB from AWS) and some nodes running NGINX as a proxy.\n\n## High Availability\n\nIn 2014 we used a multi-cloud architecture (using Azure and AWS, with some extra resources on Google Cloud) and that served us well for years. As our usage (and load) rapidly increased, we found ourselves relying on AWS resources more and more.\n\nAt first, we switched our primary region in our environment to be in AWS, keeping Azure as failover. As we began using more AWS resources like Kinesis and SQS, we started having trouble keeping the same feature set in both providers. As our need to move (and scale) faster grew, we opted to keep supporting Azure with a limited feature parity: if everything went down on AWS, we could still support core authentication features using the Azure clusters, but not much of the new stuff we had been developing.\n\nAfter some bad outages in 2016, we decided to finally converge on AWS. We stopped all efforts related to keeping the services and automation platform-independent and instead focused on:\n\n- Providing a better failover story inside AWS, using multiple regions and at least 3 Availability Zones per region.\n\n- Increasing usage of AWS-specific resources like auto-scaling groups (instead of using fixed clusters of nodes), application load balancers (ALBs), and more.\n\n- Writing better automation: we revamped our automation, completely embracing infrastructure as code using TerraForm and SaltStack to provision new Auth0 environments (and also to replace existing ones). This allowed us to grow from partially automated environments doing ~300 logins per second to fully automated environments doing more than ~3.4 thousand logins per second; using the new tooling makes it easier to scale up (and down, whenever it makes sense). The level of automation we achieved is not perfect but is allowing us to grow to new regions and create new environments in a much more convenient way.\n\n- Writing better playbooks: with more time and focus, we saw that besides automation we also needed better playbooks in order to understand, manage, and respond to incidents related to our ever-growing mesh of services. This vastly improved scalability and reliability while also allowing us to onboard new employees faster.\n\n\u003cinclude src=\"TweetQuote\" quoteText=\"Writing better automation let us grow from partially automated environments doing ~300 logins per second to fully automated environments doing more than ~3.4 thousand logins per second\"/\u003e\n\nLet's take a look at our US environment architecture, for instance. We have this general structure:\n\n![Auth0 US Environment Architecture](https://images.ctfassets.net/23aumh6u8s0i/4hGMwY5n4jk2aoJyyRAhjF/0ca131b596da7068aced34ca69fbbc5c/auth0-us-environment-architecture)\n\nAnd this is the structure inside a single AZ:\n\n![Auth0 Single Availablity Zone](https://images.ctfassets.net/23aumh6u8s0i/4EtOG7to5lHmyYnU5Q3aaC/a22b74fe7b0a58d0f54a78a6b801bbd2/auth0-single-availability-zone)\n\nIn this case, we use two AWS regions: us-west-2 (our primary) and us-west-1 (our failover). Under normal circumstances, all requests will go to us-west-2, being served by three separate availability zones.\n\nThis is how we achieve high availability: all services (including databases) have running instances on every availability zone (AZ). If one AZ is down due to a data center failure, we still have two AZs to serve requests from. If the entire region is down or having errors, we can update Route53 to failover to us-west-1 and resume operations.\n\n\u003cinclude src=\"TweetQuote\" quoteText=\"We achieve high availability by running all services instances on every AWS availability zone\"/\u003e\n\nWe have different maturity levels for service failover: some services, like user search v2 (that builds a cache on Elasticsearch) might work but with slightly stale data; still, core functionality keeps working as expected.\n\nIn the data layer, we use:\n\n- A cross-region cluster for MongoDB.\n\n- RDS replication for PostgreSQL.\n\n- Clusters per region for Elasticsearch with automated snapshot and restores running regularly to account for the lack of cross-region clustering.\n\nWe exercise failover at least once per year, and we have playbooks and automation to help new infrastructure engineers get up to speed on how to do it and what are the implications.\n\nOur deployments are usually triggered by a Jenkins node; depending on the service we either use Puppet, SaltStack, and/or Ansible to update individual or groups of nodes, or we update our AMIs and create new autoscaling groups for immutable deployments. We have different types of deployments for new and old services, and this has been shown to be largely ineffective as we need to maintain automation, docs, and monitoring for something that should be unified.\n\nWe are currently rolling out blue/green deployments for some of the core services, and we intend to implement the same for every core and supporting service.\n\n## Automated Testing\n\nBesides unit test coverage on every project, we have multiple functional test suites that run in every environment; we run it on a staging environment before we deploy to production, and we run them again in production after finishing a deployment to ensure that everything works.\n\nThe highlights:\n\n- We have thousands of unit tests in different projects.\n\n- We use Pingdom probes that run every minute to check core functionality.\n\n- We use a mix of Selenium and CodeceptJS-based functional tests before and after every deployment. The functional test suites test different API endpoints, authentication flows, identity providers, and much more.\n\n\u003cinclude src=\"TweetQuote\" quoteText=\"Besides unit test coverage on every project, we have multiple functional test suites that run in every environment: staging before deploying to production and again in production after finishing deployment.\"/\u003e\n\n## CDN\n\nUntil 2017 we ran our own, custom-built CDN using NGINX, Varnish, and EC2 nodes in multiple regions. Since then, we transitioned to CloudFront, which has given us several benefits that include:\n\n- More edge locations, which means less latency for our customers.\n\n- Lower maintenance costs.\n\n- Easier configuration.\n\nThere are a few downsides, like the fact that we need to run Lambdas to perform some configurations (like adding custom headers to PDF files and things like that). Still, the upsides definitely make up for that.\n\n## Extend\n\nOne of the features we provide is the ability to run custom code as part of the login transaction, either via [_authentication rules_](https://auth0.com/docs/rules/current) or [_custom database connections_](https://auth0.com/docs/connections/database/custom-db). These features are powered by [_Extend_](https://goextend.io/), an extensibility platform that grew out of Auth0 and is now being used by other companies as well. With Extend, our customers can write anything they want in those scripts and rules, allowing them to extend profiles, normalize attributes, send notifications, and much more.\n\nWe have Extend clusters specifically for Auth0; they use a combination of EC2 auto-scaling groups, Docker containers, and custom proxies to handle requests from our tenants, processing thousands of requests per second and responding fast to variations of load. For more details about how this is built and run, check out this post on [how to build your own serverless platform](https://tomasz.janczuk.org/2018/03/how-to-build-your-own-serverless-platform.html).\n\n## Monitoring\n\nWe use a combination of different tools for monitoring and debugging issues:\n\n- CloudWatch\n\n- DataDog\n\n- Pingdom\n\n- SENTINL\n\nThe vast majority of our alerts come from CloudWatch and DataDog.\n\nWe tend to configure CloudWatch alarms via TerraForm, and the main monitors we keep on CloudWatch are:\n\n- HTTP errors from our main load balancers.\n\n- Unhealthy instances in a target group.\n\n- SQS processing delays.\n\nCloudWatch is the best tool for alarms based on AWS-generated metrics (like ones from load balancers or autoscaling groups). CloudWatch alerts usually go to PagerDuty, and from PagerDuty to Slack/phones.\n\nDataDog is a service we use to store and act on time-series metrics. We send metrics from Linux boxes, AWS resources, off-the-shelf services (like NGINX or MongoDB), and also custom services we have built (like our Management API).\n\nWe have many DataDog monitors. A few examples:\n\n- Increase in response times in `$service` on `$environment`.\n\n- Running out of space on `$volume` in `$instance` (`$ip_address`).\n\n- Issue with `$process` on `$environment` / `$host` (`$ip_address`).\n\n- Increase in processing time for `$service` on `$environment`.\n\n- NTP drifting off / clock issue on `$host` (`$ip_address`).\n\n- MongoDB replica-set change on `$environment`.\n\nAs you can see from the examples above, we have monitors on low-level metrics (like disk space) and high-level metrics (like MongoDB replica-set change, which alerts us if there was a change in the primary node definition, for example). We do much more and have some pretty sophisticated monitors around some services.\n\nDataDog alerts are pretty flexible in their outputs and we usually send them all to Slack, sending to PagerDuty only those who should \"wake people up\" (like spikes of errors, or most things that we are sure that are having an effect on customers).\n\nFor logging we use Kibana and SumoLogic; we are using SumoLogic to record audit trails and many AWS-generated logs, and we use Kibana to store application logs from our own services and other \"off-the-shelf\" services like NGINX and MongoDB.\n\n## The Future\n\nOur platform evolved quite a bit in order to handle the extra load and the huge variety of use cases that are important to our customers, but we still have more room for optimizations.\n\nNot only our platform grew, but our engineering organization increased in size: we have many new teams building their own services and are in need of automation, tooling, and guidance around scalability.\nWith that in mind, these are the initiatives in place for us to scale not only our platform but also our engineering practice:\n\n- Build a Platform, PaaS style: As mentioned before, today we have different automation and deployment flows; this causes confusion and creates a barrier of entry for engineers as it's hard to experiment and scale up without touching too many repositories. We are developing a PoC for a platform (currently running on top of ECS) in which engineers can configure a YAML file and just deploy it to get computing resources, monitoring, logging, backups, and much more. All of that without having to configure it explicitly. This effort is in an early stage and might still change a lot (EKS?). However, we feel we are taking the right direction given our growing size and scalability constraints.\n\n- Implement smoke tests for every new pull request: besides unit testing (that already runs on each new PR), we want to run integration tests on ephemeral environments wherever that's possible.\n\n- Centralize our logging solution into just one provider. This might mean moving away from Kibana and using just SumoLogic, but we still need to evaluate feature set, data volume, and more.\n\n- Automate metrics: Too much of our metric story is manual now: adding metrics-related calls to the code while deploying, and building dashboards and monitors using the DataDog interface. If we use a standard format and naming, we could do things like building dashboards/monitors automatically, extracting metrics from logs instead of explicitly adding calls to the code, and more.\n\n- Ensure we have auto-scaling and blue/green deployments on every core service. This should come out-of-the-box from our new Platform, but while that is being built and tested we need to improve the scaling/deployment/rollback story for the core services that are still lacking in that regard.\n\n\u003cinclude src=\"asides/AboutAuth0\" /\u003e\n","tutorialChapterTitle":null,"redirectTo":null,"reportingAuthorType":"Auth0 Employee","reportingPostType":null,"reportingIsAuth0cta":null,"authors":[{"path":"dirceu-tiegs","name":"Dirceu Tiegs","avatar":{"url":"https://images.ctfassets.net/23aumh6u8s0i/3NBBmfieikWaLMpcNe4hum/e2afeb072dacb720d366181dd42a3cc7/Dirceu-Tiegs","size":{"width":400,"height":400}},"lastUpdatedBy":"Unknown during the migration","email":"dirceu.pereira@auth0.com","twitter":"https://twitter.com/dirceu","github":null,"linkedin":null,"isPopular":null,"personalWebsite":null,"type":"Former Auth0 Employee","jobTitle":"Site Reliability Engineering Team (Auth0 Alumni)","description":"What I enjoy the most about being an SRE at Auth0 is that it allows me to exercise different areas such as coding, architecture, writing, training, investigations, debugging, and incident response. It's great to be able to think deeply about all aspects related to reliability and then apply it to large-scale, real-world projects."}],"relatedPosts":[{"path":"how-we-hire-engineers","title":"How We Hire Engineers","description":"Providing transparency about the hiring process at Auth0 and the rationale behind it.","heroImage":{"url":"https://images.ctfassets.net/23aumh6u8s0i/6L2SgKnOjAgtu4asmHaBOW/67be3bef8f36e7ce5cb0a0b796415f23/01_HowWeHireEngineers-blog_588x528_3x-Alina","size":{"width":1764,"height":1584}},"category":["Engineering","Hires","Engineers"],"layout":"post","tutorialChapterTitle":null,"lang":"en","authors":["Damian Schenkelman"],"dateCreated":"2016-03-22T12:00","tags":["engineering","hiring","auth0","enterprise","hr","developers","engineers","work","jobs","careers","career","auziro","professional","networking"],"readTime":7},{"path":"cloud-scale-thinking-from-day-one-for-your-saas-products","title":"Cloud-Scale Thinking from Day One for Your SaaS Products","description":"Learn how utilizing identity solutions like Auth0 allows your engineers to focus on what matters most to your company - developing your SaaS product's unique features.","heroImage":{"url":"https://images.ctfassets.net/23aumh6u8s0i/56S9oDWKVeNY8AIszkZvw1/7d6794f3d31d4eedb5a3d3699e796e5c/default","size":{"width":1764,"height":1584}},"category":["Business","Enterprise","SaaS"],"layout":"post","tutorialChapterTitle":null,"lang":"en","authors":["Saravana Kumar"],"dateCreated":"2018-07-26T12:30","tags":["scalability","identity","saas","growth"],"readTime":8},{"path":"5-massive-benefits-of-identity-as-a-service-for-developers","title":"5 Massive Benefits Of Identity As A Service For Developers","description":"Identity as a service provides lots of benefits for companies and developers looking to iterate quickly. Focus on building customer value not authentication.","heroImage":{"url":"https://images.ctfassets.net/23aumh6u8s0i/56S9oDWKVeNY8AIszkZvw1/7d6794f3d31d4eedb5a3d3699e796e5c/default","size":{"width":1764,"height":1584}},"category":["Identity \u0026 Security","Identity","IDaaS"],"layout":"post","tutorialChapterTitle":null,"lang":"en","authors":["Kyle Galbraith"],"dateCreated":"2017-11-29T16:55","tags":["identity","user","management","service","auth0"],"readTime":7}],"mlRecommendations":["/blog/getting-started-with-relay/"],"isFeatured":null,"isHiddenFromBlogPostGrid":null,"isInPressRelease":null,"sidebarAd":null,"isExludedFromSitemap":false,"formattedDate":"Feb 26, 2019","postDate":"2019-02-26T08:30","mlRecommendationsData":[{"path":"/blog/getting-started-with-relay/","heroImage":{"url":"https://images.ctfassets.net/23aumh6u8s0i/56S9oDWKVeNY8AIszkZvw1/7d6794f3d31d4eedb5a3d3699e796e5c/default","size":{"width":1764,"height":1584}},"title":"Getting Started with Relay","category":["Developers","Tutorial","Relay"]}],"withAB":true,"searchTags":["api","management-api","google-login","react","social-connection","authentication","rate-limit","agent skill","ai agent","jwt","access token","rbac","xaa","oin","b2b","retail","ecommerce","ai","rust","axum","startups","vibe-coding","ai agents","pricing","b2c","enterprise","email","universal-login","custom domains","mcp","mcp-server","saas","enteprise","cross-app-access","dotnet","blazor","token-vault","identity","auth0-fga","fga","rag","ibac","authorization","android","kotlin","security","next-js","privileged-worker","billing","b2b-saas","subcriptions","ai-agents","llm","agentic-ai","multi-agent","python","flask","cursor","auth0-cli","oauth","consent","scope","rar","par","sdk","terraform","cli","agent skills","organizations","tenant","ciba","token vault","universal login","acul","embedded login","cloudflare","hono","architecture","biometric","incode","login","documentation","secret","agent-skills","tools","passkeys","app development","software engineer","vercel","csharp","device-authorization","device-flow","self-service","oauth2","claude-code","design","ios","apple","swift","token-exchange","tanstack","back-channel logout","typescript","openfga","express configuration","aws bedrock agents","aws","akamai","scopes","roles","client grants","ai tools","skills","permissions index","model context protocol","mcp servers","java","dpop","custom token exhange","token exchange","event streams","scim","actions","infrastructure","enterprise connection","event stream","event","stripe projects","tenancy-as-a-service","oidc","bff","design-pattern","google","open-source","audit","auth0","b2b saas","reports","quota-utilization","my-organization-api","embeddable-ui-components","openclaw","credentials","ruby-on-rails","fga ","mcd","multiple custom domains","llamaindex","rebac","per-member authorization","ciam","auth0 mcp server","gemini cli","gemini","government","fapi","openid-connect","multi-tenancy","c#","aspnetcore","ja4","ja3","bot detection","telesign","sms","session","metadata","refresh token","okta","go","golang","nonprofits","agentic commerce","auth0 fga","owasp","listobjects","sso","single sign-on","federated identity","amazon bedrock agentcore agents","openid","authorization-api","custom domain","github actions","automation","configuration","scaling identity","multitenancy","fastapi","bac","broken access control","acl","mau","auth0 actions","mcp authorization","mcp authentication","cimd","tool-calling","agents","streamable http","#attack protection","myaccount-js","node","nodejs","testing","mtls","wcag","accessible authentication","auth0 teams","tenants","api gateway","honeypot","spam","aspnet-core","authentication ","nextjs","monthly active user","state","nonce","pkce","prompt injection","ai browsers","#security","mfa bypass","hijacking","attack protection","auth0 for ai agents","security posture","log streaming","credential stuffing"," mfa exploit prevention","compliance","agent-framework","social login","idp","identity provider","fine-grained authorization","audit logs","logging","updates","abac","cedar","customer identity","ai security","token","oauth 2.0","jose","jws","jwe","jwa","jwk","b2b onboarding","security policies","plan","scale","fraud detection","shopify","authentication flows","oktane","paid plan","free plan","growth","ugrade","customer identity and access management","chatgpt","remote mcp server","private cloud","vs code","github copilot","non-human-identities","nhi","machine-to-machine","m2m","api-key","access-token","accessibility","passwordless","webauthn","api keys","llms","langgraph","langchain","python mcp server","mcp server","threat detection","access_token","sender_constraint","ai in financial services","data privacy","pii obfuscation","developers","healthcare","json","id_token","customer data","api security","openid foundation","agentic agent","genai","integration","finance","hri","highly-regulated-identity","financial-services","banking","google sign in","least-privilege","privacy","users","onboarding","passkey","management api","customization","extensibility","event-streams","mfa","delegated-administration","mcp auth","tool calling","access-control","auth0-organizations","identity-management","developer-tools","customer-experience","data-security","appstore","langchain4j","iam","devday","agent","developer-experience","api-design","user-experience","customer-identity","digital-experience","saas-provider","cloud-security","idaas","identity-as-a-service","a2a","user-lifecycle","real-time-events","data-synchronization","asynchronous-processing","user-migration","bulk-migration","automatic-migration","dual-write","auth0fga","hospitality","customer","mdl","events","conference","attacks","sift","application","social-login","digital-identity","survey","guide","fastify","fastify-sdk","auth","modelcontextprotocol","dashboard","docs","japan","organization","product","netlify","aaa","learning","developer experience","innovation","Identity","solutions","logout","ruby","rails","decoupled-authentication","mindfuel","datadog","announcements","stigg","otp","password","cypress","test","pap","protocol","csrf","single-tenant","multi-tenant","byok","cyok","single-sign-on","native-login","pushed-authorization-requests","gke","microservices","aspnet","proxy","load-balancer","container","releases","form","provider","identity-provider","access","bearer-token","developer","authtoberfest","plans","free","rest","amazon","forms","fido-credentials","verification","kubernetes","jhipster","artificial-intelligence","species360","private-jwt-authentication","developer-day","early access","ea","rfc9068","sca","strong-customer-authentication","okta-fga","okta fga","saastart","spring-boot","auth0-templates","templates","session-management-api","mobile","native","refresh-token","refresh","backend-for-frontend","ansible","devops","action","javascript","verifiable","spring","blazor-server","blazor-wasm","biometrics","marketplace","migration","risks","productivity","engineering","template","post-quantum","cryptography","hashing","nist","vision","experience","teams","signup","woman","tech","fido","passwords","maui","earlyaccess","startup","blazor-webassembly","management","community","rules","hooks","fido2","honeytokens","screenly","release","announcement","next.js","aspnet-core-identity","cookie","id","partner","fingerprint","keycloak","liquid","html","ab-test","performance",".net","customizations","vittorio","browse-ai","brand","spring-cloud","spring-cloud-config","auth0-community","ama-series","ask-me-anything","features","catalysts-program","bonfida","solana","public-cloud","private-cloud","react-native","idme","json-web-token","laravel","no-code","role","control","node18","developerday","demos","springboot","single-logout","customer-data","recidiviz","safebase","angular","crud","technology","azure","azure-swa","azure-static-web-apps","catalyst","jetty","date","time","akto","itl","thread","cloud-native","history","uk","cloud","accesibility","quality","sinatra","tls","blockchain","web3","jakartaee","dotnet-maui","id-token","secure-storage","blazor-maui","blazor-hybrid","library","nfts","ens","ethereum","ageware","captcha","bot","bot-protection","vue","pangea","mastodon","social","twitter","social-media","security-keys","yubikey","integrations","darkmode","job","market","dotnet-7","web-api","sealed-secrets","devsecops","Iuncta","mongodb","nocode","program","digitalocean","vault","unstoppable","domains","js","scripts","encryption","desktop","anonomatic","schematics","pulumi","microfrontends","code","repository","report","log-streaming","flutter","post-login","value","public-sector","applications","saml","web","errors","http","express","streamlit","partners","https","ssl","research","cdp","deduce","platform","haventec","multi-cloud","cla","contributor","license","agreement","public","sector","xss","csp","ebook","replatforming","detection","asp.net","razor","razor-pages","risk","data-protection","business","ionic","barcelona","office","ngxs","url","uri","urn","ttl","impact","auth0-actions","auth0-hooks","nft","cryptocurrency","spa","framework","components","dotnet-core",".net-core","web-development","wasm","webassembly","ncbi","ecosystem","virtual-reallity","vr","social-impact","americorps","development","localhost","encoding","digital-transformation","govtech","modernization","data-location","org","ankita","tutorial","breaches","breach","commitment","services","php","lumen","kafka","restapi","module-federation","country","geolocation","geoblocking","id-tokens","auth0-rules","ably","silent-authentication","remote","work","trial","webhooks","slack","skyscanner","KuppingerCole","Index","user-login","node-js","user-registration","fauna","db","status-code","401-status-code","403-status-code","forbidden","unauthorized","vulnerability","incidents","plivo","fine-grained","mvc","clojure","pedestal","permissions","privileges","minimal-web-api","rgnx","ngrx","dotnet6","whats-new","supabase","latam","symfony","apache","tdd","singpass","qr","hackathon","standard","rfc","reactjs","gartner","webapi","awards","bestplaces","employee","team","education","outages","protection","ransomware","phishing","smishing","cybersecurity","ncsam","registration","predictions","showcase","microsoft","database","postgresql","svp","netcore","api-gateway","ocelot","microservice","zanzibar","academy","dart","refresh-tokens","ctf","game","boot","elk","lambda","public-key","private-key","koin","Injection","monorepo","nx","ux","smart","heathcare","iot","chalice","hr","hire","careers","pattern","tinygo","async","await","async-programming","asynchronous-programming","github","lgpd","brazil","svelte","europe","netid","tactics","strategy","conferences","deployment","ktor","lombok","solution","hacker","ethical-hacking","tweet","tweepy","databreach","attack","2fa","django","zappa","spraying","transactions","software","pyjwt","jwt tutorial","caching","clm","threats","type","low-code","agile","Insights","access-management","quarkus","secrets","managed-identities","azure-key-vault","specification","mattr","verificable-credentials","scc","trusted-types","visualization","coding","rsocket","new","typing","crypto","regulation","best-places","redux","context","soc2","hipaa","hitech","vuejs","vuex","Survey","realtime","nanoservices","dei","Diversity","diversity","equity","inclusion","animations","cache","optimization","puppeteer-sharp","state-management","os","login-box","auth0-integrations","maturity","credential-stuffing","stuffing-attacks","identity-unlocked","podcast","india","acquisition","scalability","dev-rel","benefits","quantum","qubit","brick-and-mortar","state management","ecmascript","data","statistics","racism","values","health","covid","pandemic","command-line","terminal","assian","partnership","hiring","vp","playwright","gpu","processing","guest-authors","blogging","inclusive","language","meetings","people","leadership","exif","images-process","mapstruct","ide","collisions","react-sdk","auth0-react-sdk","raspberry-pi","arduino","amido","availability","jameeka-green-aaron","ciso","cracking","vuepress","talent","award","ranking","g2","workforce","culture","csa","certification",".net-framework","cross-site-scripting","damage","project-template","company","iso27018","vertex","nest","full-stack","frontend","backend","prediction","best-companies","workplace","data-breach","server","web-services","directors","product-management","leader","cosmos-db","serverless","functional-programming","lisp","advent-of-code","code-puzzle","coding-contest","phpunit","fraud","data-breaches","communication","mfa-adaptive","spa-authentication","evolution","resilience","settings","https-downgrade","ccpa","cpra","emea","refactoring","third-party-assets","third-party-dependency","gnap","validation","deloitte","custom-databases","sumo-logic","salesforce","subaru","client-credentials-grant","access-tokens","composition-api","pci","signals","clickjacking","graphql","injection","crowdsource","bcp","believe","emphasize","enviroment","username","signify","component","facebook","agility","slice","multifactor-authentication","authenticator-apps","identity-access-management","security-access","cross-site-request-forgery","appi","data-privacy","laws","carolyn-moore","auth0-marketplace","identity-proofing","caisson","iddataweb","onfido","vouched","build","identity-services","auth0-org","pledge","tides-foundation","consent-management","onetrust","mylife-digital","digital-operations","retailers","stores","identity-platform","corporate-network","network-security"]},"__N_SSG":true},"page":"/blog/[slug]","query":{"slug":"auth0-architecture-running-in-multiple-cloud-providers-and-regions"},"buildId":"naQFbCp8zGZYbeqX1B0dN","assetPrefix":"/blog","runtimeConfig":{"ADOBEDTM_SCRIPT":"https://assets.adobedtm.com/6bb3f7663515/7006851c9849/launch-af624fe9e34f.min.js"},"isFallback":false,"isExperimentalCompile":false,"gsp":true,"scriptLoader":[]}</script></body></html>