@font-face{font-family:Instrument Sans;src:url(/assets/instrument-sans-latin-wdth-normal-h-5Pux01.woff2) format("woff2");font-weight:400 700;font-stretch:75% 100%;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;src:url(/assets/instrument-sans-latin-ext-wdth-normal-C5E2Gvlv.woff2) format("woff2");font-weight:400 700;font-stretch:75% 100%;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--paper: #ffffff;--ink: #111114;--blue: #1e3cff;--blue-soft: #e9ecff;--grey: #676a76;--line: #c9cff5;--red: #ff2d1f;--display: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--frame: 10px;--side: 76px;color-scheme:light}*{box-sizing:border-box}html{scroll-padding-top:100px}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.75 var(--mono)}a{color:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.frame{position:fixed;top:0;right:0;bottom:0;left:0;border:var(--frame) solid var(--blue);pointer-events:none;z-index:30}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--blue);z-index:31}.b-top{position:fixed;z-index:20;top:calc(var(--frame) + env(safe-area-inset-top,0px));left:var(--frame);right:var(--frame);display:flex;justify-content:space-between;align-items:flex-start;padding:20px 26px;pointer-events:none;background:var(--paper)}.b-top>*{pointer-events:auto}.b-logo{text-decoration:none;display:inline-flex;flex-direction:column;line-height:1;background:var(--paper);padding:4px 6px 6px}.b-word{font-family:var(--display);font-weight:700;font-size:28px;letter-spacing:-.02em;color:var(--ink)}.b-tag{align-self:flex-end;display:inline-flex;align-items:center;gap:5px;font:500 11px var(--mono);color:var(--ink);margin-top:3px}.b-tag i{width:8px;height:8px;border-radius:50%;background:var(--blue)}.b-menu{font:500 14px var(--mono);background:var(--paper);color:var(--ink);border:0;padding:6px 8px;cursor:pointer;display:inline-flex;gap:8px;align-items:center}.b-menu span{font-size:18px;color:var(--blue)}.b-side{position:fixed;z-index:20;left:var(--frame);top:50%;transform:translateY(-50%);width:var(--side);display:flex;flex-direction:column;align-items:center;gap:22px}.b-side a{writing-mode:vertical-rl;transform:rotate(180deg);text-decoration:none;font-size:13px;color:var(--grey);padding:2px 4px;transition:color .2s ease}.b-side a:hover{color:var(--blue)}.b-side a[aria-current=true]{color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--blue)}.b-sheet{top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:var(--frame) solid var(--blue);background:var(--paper);padding:90px max(28px,env(safe-area-inset-left,0px)) 40px}.b-sheet nav{display:flex;flex-direction:column;gap:4px;max-width:900px;margin:0 auto}.b-sheet a{font-family:var(--display);font-weight:600;font-size:clamp(40px,7vw,76px);line-height:1.08;color:var(--blue);text-decoration:none}.b-sheet a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}.b-close{position:absolute;top:24px;right:30px;font:500 14px var(--mono);background:none;border:0;cursor:pointer;color:var(--ink)}@media(prefers-reduced-motion:no-preference){.b-sheet{transition:opacity .25s ease,overlay .25s allow-discrete,display .25s allow-discrete;opacity:0}.b-sheet:popover-open{opacity:1}@starting-style{.b-sheet:popover-open{opacity:0}}}.b-main{padding-left:max(calc(var(--frame) + var(--side) + 6vw),env(safe-area-inset-left,0px));padding-right:max(calc(var(--frame) + 12vw),env(safe-area-inset-right,0px))}.big,.mid{font-family:var(--display);font-weight:600;color:var(--blue);margin:0;letter-spacing:-.03em}.big span,.mid span{display:block;width:fit-content;border-bottom:2px solid var(--blue);padding-right:.12em}.big{font-size:clamp(min(54px,14.5vw),7.8vw,132px);line-height:1.02}@media(min-width:1001px){.big{font-size:clamp(54px,min(7.8vw,calc((77vw - 416px) / 5.9)),132px)}}.big span+span{margin-top:.02em}.mid{font-size:clamp(42px,6vw,92px);line-height:1.05;margin-bottom:34px}.mono p,p.mono{margin:0;max-width:64ch}.mono p+p{margin-top:1em}.mono u{text-decoration-color:var(--blue);text-underline-offset:3px}.b-hero{display:flex;flex-direction:column;justify-content:center;gap:34px;padding-block:120px 0}.b-sec{padding-block:0}.lead{margin-bottom:34px!important}.note{color:var(--grey);font-size:13px;margin-top:30px!important}.b-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;counter-reset:p}.b-list li{display:flex;flex-direction:column;gap:10px;border-top:1.5px solid var(--blue);padding-top:14px;min-width:0}.b-list b{font-family:var(--display);font-weight:600;font-size:22px;line-height:1.25;color:var(--blue)}.b-list em{font-style:normal;background:var(--blue-soft);padding:8px 10px}.b-grid{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}.b-grid>div{border-top:1px solid var(--line);padding:14px 0 18px;display:grid;gap:4px;min-width:0}.b-grid dt{font-weight:500;color:var(--grey);font-size:13px}.b-grid dd{margin:0;font-family:var(--display);font-weight:500;font-size:clamp(20px,2vw,26px);line-height:1.3;color:var(--ink)}.b-steps{list-style:none;margin:0;padding:0;counter-reset:s}.b-steps li{counter-increment:s;display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1.3fr);gap:20px;align-items:baseline;border-top:1px solid var(--line);padding:16px 0}.b-steps li:before{content:counter(s,decimal-leading-zero);color:var(--blue);font-weight:500}.b-steps b{font-family:var(--display);font-weight:600;font-size:22px;line-height:1.25}.b-steps span{color:#4a4d58}.b-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}.b-map{margin:0;display:grid;gap:12px;max-width:460px}.b-map .map{width:100%;height:auto;display:block;overflow:visible}.b-map .map circle{vector-effect:non-scaling-stroke}.b-map .pl{fill:none;stroke:var(--blue);stroke-width:1}.b-map .ln{fill:none;stroke:var(--blue);stroke-width:1;stroke-opacity:.35}.b-map .city{fill:var(--blue)}.b-map .hub,.b-map .ping{fill:var(--red)}.b-map .hub-t{font-family:var(--mono);font-size:12px;fill:var(--ink)}.b-map figcaption{font-size:12px;color:var(--grey)}.b-points{list-style:none;margin:0;padding:0}.b-points li{border-top:1px solid var(--line);padding:14px 0}.b-points b{color:var(--blue);font-weight:500}.b-table{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);max-width:760px}.b-table dt,.b-table dd{margin:0;padding:12px 0;border-top:1px solid var(--line)}.b-table dt{color:var(--blue);padding-right:28px;font-weight:500}.b-contact{font-family:var(--display);font-weight:600;font-size:clamp(22px,6.8vw,64px);line-height:1.15;color:var(--blue);margin:0;overflow-wrap:anywhere}.b-contact a{text-decoration:none;border-bottom:1.5px solid var(--blue)}.b-contact a:hover{color:var(--ink)}.b-foot{padding-block:120px 50px;color:var(--grey);font-size:13px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px}.b-foot a{display:inline-block;padding-block:4px}.skip{position:absolute;left:24px;top:-100px;z-index:100;background:var(--blue);color:#fff;padding:10px 14px;text-decoration:none}.skip:focus{top:24px}.b-cta a{display:inline-block;padding-block:10px;font-weight:500;color:var(--ink);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:6px}.b-cta a:hover{color:var(--blue)}.b-demo-head button{position:relative}.b-demo-head button:after{content:"";position:absolute;top:-12px;right:-10px;bottom:-12px;left:-10px}@media(max-width:860px){.b-menu{min-height:44px}.b-foot a{padding-block:12px}.b-back{display:inline-flex;align-items:center;min-height:44px}}.b-proof{margin-top:56px;padding-top:18px;border-top:1.5px solid var(--blue);max-width:900px}.b-proof-h{margin:0 0 14px;font:500 13px var(--mono);color:var(--grey)}.b-tabs{display:flex;flex-wrap:wrap;gap:4px 22px;margin-bottom:22px}.b-tabs [role=tab]{font:500 14px var(--mono);color:var(--grey);background:none;border:0;padding:10px 0;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:7px;transition:color .2s ease,text-decoration-color .2s ease}@media(hover:hover){.b-tabs [role=tab]:hover{color:var(--blue)}}.b-tabs [role=tab][aria-selected=true]{color:var(--ink);text-decoration-color:var(--blue)}.b-panel[hidden]{display:none}.b-panel+.b-panel{margin-top:22px}.js .b-panel+.b-panel{margin-top:0}.b-proof-f{margin:0;max-width:34ch;font-family:var(--display);font-weight:500;font-size:clamp(22px,2.3vw,32px);line-height:1.3;color:var(--ink)}.b-proof-s{margin:12px 0 0;font-size:12.5px;color:var(--grey)}.b-proof-s a{text-decoration-color:var(--blue);text-underline-offset:3px}.b-proof-n{margin:22px 0 0;font-size:12.5px;color:var(--grey);max-width:64ch}@media(prefers-reduced-motion:no-preference){.js .b-panel:not([hidden]){animation:qp-fade .3s ease-out}}.b-demo{position:relative;width:80%;align-self:flex-end;margin-top:-10px;background:var(--blue);color:#fff;padding:10px 12px 12px;font-size:11.5px;line-height:1.5}.b-demo-head{display:flex;justify-content:space-between;gap:10px;opacity:.8;font-size:10.5px;margin-bottom:6px}.b-demo-head button{font:500 10.5px var(--mono);color:#fff;background:none;border:0;padding:5px 0;margin:-5px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.b-demo p{margin:0}.b-demo .q{font-family:var(--display);font-weight:600;font-size:15px;line-height:1.25;margin-bottom:6px}.b-demo .s{margin-top:6px;opacity:.9;font-size:10.5px}@keyframes draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.b-map .pings{display:none}}@media(max-width:860px){:root{--frame: 6px;--side: 0px}.b-side{display:none}.b-top{padding:14px 16px}.b-main{padding-left:max(calc(var(--frame) + 16px),env(safe-area-inset-left,0px));padding-right:max(calc(var(--frame) + 16px),env(safe-area-inset-right,0px))}.b-hero{padding-block:100px 40px;min-height:0}.b-list,.b-grid,.b-two{grid-template-columns:minmax(0,1fr)}.b-steps li{grid-template-columns:34px minmax(0,1fr)}.b-steps span{grid-column:2}}.b-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);column-gap:clamp(32px,5vw,80px);align-items:center}.b-hero-l{display:flex;flex-direction:column;gap:34px;min-width:0;align-self:stretch}.b-rail.b-rail-hero{flex:none;height:56px;margin:0 0 0 1px}.b-rail.b-rail-mobile{display:none}@media(max-width:1000px){.b-rail.b-rail-hero{display:none}.b-rail.b-rail-mobile{display:block}}.b-right{align-self:start;margin-top:clamp(10px,4vh,50px);display:flex;flex-direction:column;min-width:0}.b-path{margin:0}.qp{width:100%;height:auto;display:block;overflow:visible}.qp path,.qp circle,.qp rect{vector-effect:non-scaling-stroke}.qp-q,.qp-c1,.qp-c2{fill:none;stroke:var(--blue);stroke-width:1}.qp-qm{font-family:var(--display);font-weight:700;font-size:26px;fill:var(--blue)}.qp-pg{fill:var(--paper);stroke:var(--ink);stroke-width:1;stroke-opacity:.55}.qp-p2{stroke-opacity:.35}.qp-p3{stroke-opacity:.2}.qp-fold{fill:none;stroke:var(--ink);stroke-opacity:.55;stroke-width:1}.qp-tl{fill:none;stroke:var(--ink);stroke-opacity:.28;stroke-width:1}.qp-hl{fill:none;stroke:var(--blue);stroke-width:1.5;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .3s ease}.qp-hl.none{opacity:0}.qp-lab{font-family:var(--mono);font-size:11px;fill:var(--blue)}.qp-lab.none{fill:var(--grey)}.qp-dot{fill:var(--blue)}@media(prefers-reduced-motion:no-preference){.js .qp-q,.js .qp-c1,.js .qp-pg,.js .qp-fold,.js .qp-tl,.js .qp-hl,.js .qp-c2{stroke-dasharray:1;stroke-dashoffset:1;animation:qp-draw var(--d, .6s) ease-out forwards}.js .qp-q{animation-delay:.1s;--d: .35s}.js .qp-c1{animation-delay:.4s;--d: .45s}.js .qp-p3{animation-delay:.7s}.js .qp-p2{animation-delay:.8s}.js .qp-p1{animation-delay:.9s}.js .qp-pg{--d: .45s}.js .qp-fold{animation-delay:1.15s;--d: .2s}.js .qp-tl{animation-delay:calc(1.2s + var(--k) * .03s);--d: .25s}.js .qp-hl{animation-delay:1.6s;--d: .35s}.js .qp-c2{animation-delay:1.9s;--d: .5s}.js .qp-qm,.js .qp-lab,.js .qp-dot{opacity:0;animation:qp-fade .3s ease-out forwards}.js .qp-qm{animation-delay:.3s}.js .qp-lab{animation-delay:1.8s}.js .qp-dot{animation-delay:2.35s}.qp-c1.redraw{animation:qp-draw .6s ease-out forwards!important;animation-delay:0s!important}}@keyframes qp-draw{to{stroke-dashoffset:0}}@keyframes qp-fade{to{opacity:1}}@media(max-width:1000px){.b-hero{grid-template-columns:minmax(0,1fr)}.b-path{display:none}.b-right{margin-top:0;max-width:420px}.b-demo{width:100%;margin-top:0;align-self:stretch}}.b-rail{position:relative;display:block;width:21px;height:56px;margin:30px 0 34px 1px;background:linear-gradient(to right,#aab3ee 0 1px,transparent 1px 10px,#aab3ee 10px 11px,transparent 11px 20px,#aab3ee 20px 21px)}.b-rail:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;clip-path:inset(0 0 100% 0);background:linear-gradient(to right,var(--blue) 0 1.5px,transparent 1.5px 10px,var(--blue) 10px 11.5px,transparent 11.5px 20px,var(--blue) 20px 21.5px)}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.b-rail:after{animation:rail-fill linear both;animation-timeline:view(block 50% 50%);animation-range:cover 0% cover 100%}}}@keyframes rail-fill{to{clip-path:inset(0 0 0 0)}}@media(prefers-reduced-motion:no-preference){.js .b-demo{clip-path:inset(0 0 100% 0);animation:card-open .45s cubic-bezier(.3,.7,.2,1) 2.4s forwards}.js .b-demo>*{opacity:0;animation:qp-fade .3s ease-out forwards}.js .b-demo-head{animation-delay:2.7s}.js .b-demo .q{animation-delay:2.8s}.js .b-demo .a{animation-delay:2.9s}.js .b-demo .s{animation-delay:3s}.js .b-demo.swap>p{animation:qp-fade .35s ease-out both}.js .b-demo.swap .a{animation-delay:.12s}.js .b-demo.swap .s{animation-delay:.24s}}@keyframes card-open{to{clip-path:inset(0 0 0 0)}}@media(max-width:1000px)and (prefers-reduced-motion:no-preference){.js .b-demo{animation-delay:.6s}.js .b-demo-head{animation-delay:.9s}.js .b-demo .q{animation-delay:1s}.js .b-demo .a{animation-delay:1.1s}.js .b-demo .s{animation-delay:1.2s}}@media(prefers-reduced-motion:no-preference){.js :is(.big span,.b-sec .mid span){clip-path:inset(0 100% -20% 0)}.js :is(.b-hero-l .mono p,.b-sec .lead,.b-sec .note,.b-list li,.b-grid>div,.b-steps li,.b-points li,.b-table dt,.b-table dd,.b-contact,.b-map figcaption,.b-proof){opacity:0;transform:translateY(16px)}.js .b-map.draw-ready :is(.pl,.ln){stroke-dasharray:var(--len);stroke-dashoffset:var(--len)}.js :is(.big span,.b-sec .mid span).in{animation:wipe .5s cubic-bezier(.25,.8,.25,1) var(--rv, 0s) both}.js .in:is(.b-hero-l .mono p,.b-sec .lead,.b-sec .note,.b-list li,.b-grid>div,.b-steps li,.b-points li,.b-table dt,.b-table dd,.b-contact,.b-map figcaption,.b-proof){animation:rise .45s cubic-bezier(.25,.8,.25,1) var(--rv, 0s) both}.js .b-map.draw-ready .pl.in{animation:draw 1.1s ease-out var(--rv, 0s) forwards}.js .b-map.draw-ready .ln.in{animation:draw .7s ease-out calc(var(--rv, 0s) + .5s) forwards}}@keyframes wipe{0%{clip-path:inset(0 100% -20% 0)}to{clip-path:inset(0 0 -20% 0)}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
