@font-face{font-family:Cabinet Grotesk Variable;src:url(/fonts/CabinetGrotesk-Variable.woff2)format("woff2-variations"),url(/fonts/CabinetGrotesk-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Cabinet Grotesk;src:url(/fonts/CabinetGrotesk-Medium.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Cabinet Grotesk;src:url(/fonts/CabinetGrotesk-Bold.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Cabinet Grotesk;src:url(/fonts/CabinetGrotesk-Black.woff2)format("woff2");font-weight:900;font-display:swap}@font-face{font-family:Satoshi Variable;src:url(/fonts/Satoshi-Variable.woff2)format("woff2-variations"),url(/fonts/Satoshi-Variable.woff2)format("woff2");font-weight:300 900;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Medium.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Bold.woff2)format("woff2");font-weight:700;font-display:swap}:root{--paper:#fafaf7;--ink:#14181d;--ink-soft:#4b5048;--green:#1f9d5c;--green-bright:#3bc27e;--hairline:#14181d17;--font-display:"Cabinet Grotesk Variable", "Cabinet Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body:"Satoshi Variable", "Satoshi", ui-sans-serif, system-ui, sans-serif;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--nav-h:72px;--gutter:clamp(20px, 4.5vw, 64px);--thread-w:4px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scrollbar-color:#c4c8c0 var(--paper)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;caret-color:var(--green);margin:0;font-size:1rem;line-height:1.55}::selection{background:var(--green-bright);color:var(--ink)}:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}h1,h2,p{margin:0}[hidden]{display:none!important}.skip{z-index:100;background:var(--ink);color:var(--paper);transition:transform .2s var(--ease-out);border-radius:999px;padding:10px 16px;font-weight:500;text-decoration:none;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.skip:focus-visible{transform:none}.top-sentinel{width:1px;height:8px;position:absolute;top:0}.button{--bg:var(--ink);--fg:var(--paper);--tick:var(--green-bright);cursor:pointer;background:var(--bg);height:52px;color:var(--fg);font:500 1rem/1 var(--font-body);letter-spacing:-.005em;white-space:nowrap;transition:background-color .22s ease, color .22s ease, transform .16s var(--ease-out);border:0;border-radius:999px;align-items:center;gap:14px;padding:0 22px 0 26px;text-decoration:none;display:inline-flex}.button:after{content:"";background:var(--tick);transform-origin:0;width:24px;height:2px;transition:transform .26s var(--ease-out), background-color .22s ease;border-radius:2px;transform:scaleX(.58)}.button:active{transform:scale(.97)}.button--small{gap:10px;height:40px;padding:0 16px 0 18px;font-size:.9375rem}.button--small:after{width:16px;transform:scaleX(.625)}.button--on-dark{--bg:var(--green);--fg:var(--ink);--tick:var(--ink)}.link{color:var(--ink);font-weight:500;text-decoration:none;position:relative}.link:after{content:"";background:var(--green);transform-origin:100%;height:2px;transition:transform .28s var(--ease-out);border-radius:2px;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.link--on-dark{color:var(--paper)}@media (hover:hover) and (pointer:fine){.button:hover{--bg:var(--green);--fg:var(--ink);--tick:var(--ink)}.button:hover:after{transform:none}.button--on-dark:hover{--bg:var(--green-bright)}.link:hover:after{transform-origin:0;transform:scaleX(1)}}.js .chapter{visibility:hidden;grid-area:1/1;padding:0;transition:visibility 0s linear .28s}.js .chapter.is-active{visibility:visible;transition-delay:0s}.js .chapter .step{opacity:0;filter:blur(6px);transition:opacity .24s var(--ease-out), transform .28s var(--ease-out), filter .24s var(--ease-out);transform:translateY(18px)}.js .chapter.is-active .step{opacity:1;filter:blur();transition-duration:.7s,.82s,.6s;transition-delay:calc(.14s + var(--i,0) * 70ms);transform:none}.js .chapter .wordmark__ink{transition:transform .3s var(--ease-out);transform:translateY(104%)}.js .chapter.is-active .wordmark__ink{transition:transform 1s var(--ease-out) .12s;transform:none}.is-measuring .step,.is-measuring .wordmark__ink{transition:none!important;transform:none!important}.thread{z-index:1;pointer-events:none;width:100%;height:100%;transition:opacity .18s;position:absolute;inset:0;overflow:visible}.thread__line,.thread__pulse{fill:none;stroke-width:var(--thread-w);stroke-linecap:round;stroke-linejoin:round}.thread__line{stroke:var(--thread-color,var(--green));transition:stroke .8s var(--ease-in-out)}.thread__pulse{stroke:var(--pulse-color,var(--ink));opacity:0}.story__stage[data-theme=dark],.closing{--thread-color:var(--green-bright);--pulse-color:var(--paper)}.thread__pulse.is-visible{opacity:1}.thread__tip{fill:var(--thread-color,var(--green));opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .2s ease, transform .26s var(--ease-out);transform:scale(.4)}.thread__tip.is-visible{opacity:1;transform:none}.thread-label{z-index:2;color:var(--label,var(--ink-soft));letter-spacing:.01em;white-space:nowrap;opacity:0;padding-top:18px;font-size:.8125rem;font-weight:500;transition:opacity .2s;position:absolute;top:0;left:0;transform:translate(-50%)}.thread-label:before{content:"";background:currentColor;width:1px;height:8px;position:absolute;top:4px;left:50%}.thread-label--plain{padding-top:0}.thread-label--plain:before{display:none}.thread-label.is-shown{opacity:1;transition:opacity .5s .38s}.thread-label.is-shown+.thread-label.is-shown{transition-delay:.5s}.thread-dot{z-index:2;background:var(--thread-color,var(--green));opacity:0;width:10px;height:10px;transition:opacity .2s ease, transform .2s var(--ease-out);border-radius:50%;margin:-5px 0 0 -5px;position:absolute;top:0;left:0;transform:scale(.4)}.thread-dot.is-shown{opacity:1;transition:opacity .4s ease .3s, transform .5s var(--ease-out) .3s;transform:none}.thread-dot--knob{width:16px;height:16px;margin:-8px 0 0 -8px}.thread-dot.is-shown:not(.thread-dot--still,.thread-dot--knob){animation:typing 1.5s var(--ease-in-out) calc(.7s + var(--d,0) * .18s) infinite}@keyframes typing{0%,60%,to{opacity:.25;transform:scale(.7)}30%{opacity:1;transform:none}}html:not(.js) .thread-label,html:not(.js) .thread-dot{display:none}@media (prefers-reduced-motion:reduce){html:not(.force-motion).js .chapter .step,html:not(.force-motion).js .chapter.is-active .step{filter:none;transition:opacity .2s;transform:none}html:not(.force-motion).js .chapter .wordmark__ink,html:not(.force-motion).js .chapter.is-active .wordmark__ink{transition:none;transform:none}html:not(.force-motion) .thread-dot.is-shown,html:not(.force-motion) .module[aria-pressed=true] .module__node{animation:none}html:not(.force-motion) .skip,html:not(.force-motion) .nav__brand,html:not(.force-motion) .button:after,html:not(.force-motion) .link:after{transition-duration:.01ms}}@media (width<=860px){:root{--gutter:24px;--thread-w:3px}}
