:root{--color-border:#b3b3b3;--space-gutter:1rem;--space-region:4rem}hr{border-color:var(--color-border);border-top:none}*{box-sizing:border-box}body{display:flex;flex-direction:column;min-height:100vh}body.modal{overflow:hidden}main{flex:1;padding-top:5vh;padding-bottom:5vh}.wrapper,.wide-wrapper{max-width:900px;width:100%;margin-left:auto;margin-right:auto;padding-left:2.6rem;padding-right:2.6rem}@media only screen and (max-width:420px){.wrapper,.wide-wrapper{padding-left:1rem;padding-right:1rem}}.wide-wrapper{max-width:1100px}.two-column{display:flex}.two-column>*:first-child{margin-right:2.6rem;flex:1}.two-column>*:last-child{flex:1}@media(max-width:420px){.two-column{display:block}.two-column>*{margin-right:0!important;margin-bottom:2.6rem}}.flow>*+*{margin-block-start:2em}.gutter{padding-inline:var(--space-gutter)}.region{padding-block:var(--space-region)}.flex{display:flex}.gap-s{gap:1rem}.cluster{display:inline-flex;flex-wrap:wrap;align-items:center;gap:1rem}.top-curve-bg{background:url(/top-curve-bg.svg)no-repeat;padding-top:48px}@media(max-width:580px){.top-curve-bg{background:0 0;padding-top:0}}.flow-bg{position:relative;z-index:1;background:url(/flow-bg.svg)no-repeat;background-size:cover}@media(max-width:580px){.flow-bg{background:0 0;background-color:#f9fafb}}.brim-logo #left-side{fill:#2f619c}.brim-logo #right-side{fill:#3a79c2}html{font-size:18px}@media screen and (max-width:550px){html{font-size:16px}}body{font-family:protipo,sans-serif;line-height:1.62;margin:0;padding:0;color:#3d3837;font-size:1rem}a{color:#3a79c2}a:hover{color:#3a79c2}a:active{color:#3a79c2}p:first-child{margin-top:0}p:last-child{margin-bottom:0}.page-header{margin-bottom:64px;display:flex;align-items:flex-start;justify-content:center;border-radius:30px}.page-header h1{display:inline-block;font-size:2.6rem;overflow:visible;margin-top:0;margin-bottom:0;text-align:center}.page-header .woop{display:block;height:18px;width:100%;margin-top:1rem}.page-header .woop path{stroke:#f49165}h1,h2,h3,h4,h5,h6{font-weight:700}b,strong,label{font-weight:700}label{font-size:.875rem}h5{text-transform:uppercase;margin-bottom:.3em}pre{background:#f5f8fe;border-radius:10px;padding:1.6rem;line-height:1.3;overflow-x:auto;border:1px solid #d9e1f2;margin:2.6rem 0}pre code{background:initial;box-shadow:none;padding:initial;border-radius:initial;border:initial;font-size:.8rem}code{font-family:inconsolata,monospace;background:#f5f8fe;border:1px solid #d9e1f2;font-weight:400;border-radius:3px;padding:3px 6px;margin-left:.1em;margin-right:.1em;font-size:.85rem;line-height:1.3;text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%}.github-star-cta span{padding-left:12px;vertical-align:sub}form input[type=text],form input[type=email]{font-family:protipo,sans-serif;display:block;width:100%;padding:1em;font-size:1rem;border-radius:3px;border:1px solid #e2dfde;box-shadow:0 2px 6px -4px rgba(0,0,0,.4);transition:all 10ms}form>div{margin-bottom:18px}form .error{font-weight:400;color:red;margin:0;font-size:.75rem;margin-top:3px}form label a{font-size:inherit;font-weight:inherit}.button{background:linear-gradient(#f49165,#e65835);padding:.5em 1.5em;color:#fff;font-family:protipo,sans-serif;border:none;font-size:1rem;line-height:1.25rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;border-radius:3px;border-bottom:2px solid #b83717;box-shadow:0 2px 2px -1px rgba(0,0,0,.2);transition:background 150ms,color 150ms;cursor:pointer;text-align:center;display:inline-block;user-select:none;text-decoration:none}.button:hover{color:#fff;background:linear-gradient(#f2804d,#e3451e)}.button:active{transition:background 15ms;background:linear-gradient(#ef5e1e,#b83717);transform:translateY(1px);outline:none}.button.secondary{box-shadow:inset 0 0 .5px #807674;background:linear-gradient(white,#f0f0f0);border-bottom:2px solid #ccc;color:#3d3837}.button.secondary:hover{background:linear-gradient(#fafafa,#ebebeb)}.button-outline{background:0 0;border:1px solid #807674;padding-bottom:calc(.5em + 1px);box-shadow:none;color:#807674}.button-outline:hover{background:#807674;color:#fff}.button-outline:active{transition:background 15ms;background:#585150;border:1px solid #585150;outline:none}.button-nav-outer{border-radius:3px;background:linear-gradient(#f49165,#e65835);border-bottom:2px solid #b83717;box-shadow:0 2px 2px -1px rgba(0,0,0,.2);transition:background 150ms,color 150ms;cursor:pointer;display:flex}.button-nav-outer:hover{color:#fff;background:linear-gradient(#f2804d,#e3451e)}.button-nav-outer:active{transition:background 15ms;background:linear-gradient(#ef5e1e,#b83717);transform:translateY(1px);outline:none}.button-nav-inner{color:#fff}.nav-menu{list-style-type:none;margin:0}.nav-menu .link span{display:none}.nav-menu .link svg{fill:#3d3837;width:24px;height:24px}.nav-menu .link{white-space:nowrap;display:flex;align-items:center;color:#3d3837;text-decoration:none;border-radius:3px;transition:background 150ms;line-height:1rem;padding:0 1rem}.nav-menu .link:hover{transition:none;background:rgba(0,0,0,5%)}.nav-menu .link:active{background:rgba(0,0,0,.15)}.footer-bg{margin-top:5rem;background:#fafafa}.footer{padding-top:1em;padding-bottom:2em;display:flex;align-items:flex-start;overflow:hidden;flex-wrap:wrap;gap:5rem}.footer h5{color:#8d8381;letter-spacing:1px;font-weight:500}.footer a{display:block;text-decoration:none;color:#99908e;line-height:1.8}.footer a:hover{color:#807674}@media(max-width:750px){.footer{display:block}}.header{height:2.6rem;z-index:2;display:flex;justify-content:center;align-items:center;width:100%;padding:2rem 1rem}.header a{text-decoration:none}.header .brand svg{height:1.575rem;width:auto}.header .brand .brim-text{text-align:center;text-transform:uppercase;line-height:normal;font-size:1rem;color:#3a79c2;text-decoration:none;margin:0;display:flex;align-items:center;gap:4px;letter-spacing:2px;text-indent:2px}.home{padding-inline:1.5em;padding-block:14em;max-width:60ch;width:100%;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:10em;line-height:1.8}.home *{margin:0}.home article>*+*{margin-block-start:1em}.nav-pop-menu-wrapper{display:none}@media(max-width:750px){.nav-pop-menu-wrapper{display:block}.nav-pop-menu-wrapper h5{margin:1rem}.nav-pop-menu-wrapper nav{width:80%;display:none;box-shadow:-2px 0 8px -2px rgba(0,0,0,.5);position:absolute;right:0;top:0;bottom:0;border-radius:5px 0 0 5px;background:#fff;overflow-y:scroll}.nav-pop-menu-wrapper .nav-menu{padding:0;display:flex;flex-direction:column-reverse}.nav-pop-menu-wrapper .nav-menu li{width:100%}.nav-pop-menu-wrapper .nav-menu .link{height:2.6rem;width:100%;margin:0;padding:.5rem 1rem}.nav-pop-menu-wrapper .nav-menu .link.icon-text span{display:block;padding-left:8px}.nav-pop-menu-wrapper .nav-menu .link.text{justify-content:center}.nav-pop-menu-wrapper .nav-menu .button{display:block;margin:1rem 1rem .5rem}.open.nav-pop-menu-wrapper{position:fixed;top:0;right:0;left:0;bottom:0;background-color:initial}.open.nav-pop-menu-wrapper nav{display:block}.open.nav-pop-menu-wrapper .menu-trigger{position:fixed;top:.8rem;right:.8rem;transform:scale(.85)}}.team-page{position:relative}.team-graph-wrapper{width:100%;height:600px}@media(max-width:580px){.team-graph-wrapper{display:none}}.team-graph-wrapper svg{overflow:visible}.team-graph-wrapper line,.team-graph-wrapper circle{stroke:#e2dfde}.team-graph-wrapper circle{stroke:#fff;cursor:pointer}.team-graph-wrapper line.active{stroke:#2f619c}.team-graph-wrapper circle.active{stroke:#2f619c}.team-graph-wrapper .info-bubble{position:absolute;width:200px;height:200px;border-radius:50%;border:2px solid #2f619c;background:linear-gradient(#3a79c2,#2f619c);stroke-width:0;pointer-events:none;box-shadow:0 0 3px 1px rgba(61,56,55,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;opacity:0;overflow:hidden}.team-graph-wrapper .info-bubble .name{font-weight:900;text-transform:uppercase;fill:#fff;letter-spacing:4px}.team-graph-wrapper .info-bubble p{margin:0;padding:0 20px}.team-graph-wrapper .info-bubble hr{font-weight:100;margin:12px 0;padding:0;border:none;border-bottom:1px solid rgba(255,255,255,.3);width:80%}.team-graph-wrapper .info-bubble p,.team-graph-wrapper .info-bubble hr{position:relative}.team-list{display:none}@media(max-width:580px){.team-list{display:block}}.team-list .profile{display:flex;align-items:center;margin:1rem 0}.team-list .profile img{width:6rem;height:6rem}.team-list .profile dd,.team-list .profile dt,.team-list .profile dl{padding:0;margin:0}.team-list .profile dt{font-weight:700}.person-face{border:3px solid #fff;border-radius:50%;box-shadow:0 0 1px 1px rgba(0,0,0,.15);width:6rem;height:6rem}.content a{text-decoration:none;box-shadow:0 1px currentColor;white-space:nowrap}.content h2{margin-top:2em}.content h3{margin-top:1.5em}.content img{max-width:100%;height:auto;display:block;margin-left:auto;margin-right:auto}.content figcaption{text-align:center;font-style:italic;font-size:1rem}.content blockquote{margin:0;margin-left:auto;margin-right:auto;background:url(/img/blockquote-background.svg);background-size:100% 100%;color:#3a79c2;font-weight:300;max-width:520px;padding:30px 30px 24px 50px;position:relative}.content blockquote:after{content:"";background:url(/img/quote-icon.svg);width:59px;height:48px;left:-30px;top:16px;position:absolute}@media screen and (max-width:620px){.content blockquote:after{left:-12px}}.content .highlight pre{background-color:#f5f8fe!important}.blog-single .title-banner{color:#3a79c2;text-align:center;padding:62px 12px;margin:24px 0;background:url(/img/blog-title-banner-background.svg);background-size:100% 100%;background-position:50%;background-repeat:no-repeat;overflow:hidden}@media screen and (max-width:700px){.blog-single .title-banner{background:#f5f9fc}}.blog-single h1{margin:0;font-size:2.5rem;line-height:1.35;font-weight:700}.blog-single [role=doc-subtitle]{font-weight:300;font-size:1.75rem;line-height:1.35;margin:16px 0 0;opacity:.8}.blog-single .content,.blog-single .blog-author{max-width:calc(715px + 2rem);margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.blog-header{max-width:55ch;margin-inline:auto;text-align:center;text-wrap:balance}.post-list{list-style-type:none;padding-inline:0;margin:0 auto;display:grid;grid-template-columns:1fr;max-width:calc(715px + 2rem)}.post-card{display:block;transition:all 150ms;border-radius:5px}.post-card:hover{background-color:#fcfcfc;box-shadow:0 0 6px rgba(0,0,0,.2)}.post-card a{color:#3d3837;text-decoration:none}.post-card__banner{padding:2rem 2rem 0}.post-card__detail{padding:1rem 2rem 2rem}.post-card__title{margin:0;font-size:1.8rem;line-height:1.25;font-weight:700}.post-card__link{text-decoration:underline;color:#3a79c2}.post-card__meta{margin:0;margin-top:.5rem;display:block;font-size:.8rem;color:#807674}.blog-author{display:flex;position:relative;align-items:center;font-style:normal;margin-bottom:42px}.blog-author img{height:44px;width:44px;border-radius:50%;margin-right:10px}.blog-author [rel=author]{display:block;font-size:1rem;line-height:1.5;font-weight:700;color:#000;text-decoration:none}.blog-author time{display:block;font-size:.9rem;line-height:1.5}.side-note{font-size:85%;margin:2rem 1rem}.side-note__title{margin:0;background:#ecf2f9;width:max-content;padding:.3rem 1.5rem 0;z-index:1}.side-note__content{background:#ecf2f9;padding:1.5rem;margin:0}.no-underline{text-decoration:none}