:root{
--c-ink:#07211c;
--c-ink-2:#35544c;
--c-ink-3:#618077;
--c-bg:#f4faf7;
--c-bg-2:#eaf6f0;
--c-surface:#ffffff;
--c-surface-2:#f0f9f5;
--c-term:#04100d;
--c-term-2:#0a1f19;
--c-term-line:#123c30;
--c-line:#dbeae3;
--c-line-2:#c3ddd2;
--c-teal:#0e9b7d;
--c-teal-deep:#0a6f5a;
--c-phosphor:#35e8c2;
--c-mint:#59ff9c;
--c-glow:rgba(53,232,194,.30);
--c-teal-tint:rgba(14,155,125,.08);
--font-head:"Chivo","IBM Plex Sans",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
--font-body:"IBM Plex Sans",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
--font-mono:"SFMono-Regular",ui-monospace,"Menlo","Consolas","Liberation Mono",monospace;
--fs-1:12px;
--fs-2:13.5px;
--fs-3:15.5px;
--fs-4:18px;
--fs-5:22px;
--fs-6:clamp(25px,2.8vw,32px);
--fs-7:clamp(34px,4.8vw,52px);
--sp-1:4px;
--sp-2:8px;
--sp-3:16px;
--sp-4:24px;
--sp-5:40px;
--sp-6:64px;
--sp-7:96px;
--r-1:6px;
--r-2:12px;
--r-3:20px;
--sh-1:0 1px 2px rgba(7,33,28,.05);
--sh-2:0 10px 28px -10px rgba(7,33,28,.14);
--sh-glow:0 0 0 3px rgba(53,232,194,.26);
--clip-px:polygon(5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px),0 5px);
--ease:cubic-bezier(.22,.61,.36,1);
--lh-tight:1.2;
--lh-base:1.7;
--wrap:1120px;
--wrap-narrow:760px;
--wrap-wide:1320px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}
body{margin:0;font-family:var(--font-body);font-size:var(--fs-3);line-height:var(--lh-base);color:var(--c-ink);background:var(--c-bg);-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto;vertical-align:middle}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);line-height:var(--lh-tight);color:var(--c-ink);margin:0 0 var(--sp-3);letter-spacing:-.01em;font-weight:700}
h1{font-size:var(--fs-7);font-weight:800;letter-spacing:-.02em}
h2{font-size:var(--fs-6)}
h3{font-size:var(--fs-5)}
h4{font-size:var(--fs-4)}
p{margin:0 0 var(--sp-3)}
p:last-child{margin-bottom:0}
a{color:var(--c-teal-deep);text-decoration:none;transition:color .18s var(--ease)}
a:hover{color:var(--c-teal)}
ul,ol{margin:0 0 var(--sp-3);padding-left:1.4em}
li{margin-bottom:var(--sp-2)}
hr{border:0;border-top:1px solid var(--c-line);margin:var(--sp-5) 0}
strong{font-weight:600}
small{font-size:var(--fs-1)}
::selection{background:rgba(53,232,194,.35);color:var(--c-ink)}
:focus-visible{outline:2px solid var(--c-teal);outline-offset:2px;border-radius:2px}
code,kbd{font-family:var(--font-mono);font-size:.88em;background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:4px;padding:.1em .4em;color:var(--c-teal-deep);word-break:break-word}
pre{font-family:var(--font-mono);font-size:var(--fs-2);line-height:1.65;background:var(--c-term);color:#bfeede;border-radius:var(--r-2);padding:var(--sp-3) var(--sp-4);overflow-x:auto;margin:0 0 var(--sp-3)}
pre code{background:none;border:0;padding:0;color:inherit}
table{border-collapse:collapse}
button{font-family:inherit}
.wrap,.wrap-narrow,.wrap-wide{margin-inline:auto;padding-inline:var(--sp-4);width:100%}
.wrap{max-width:var(--wrap)}
.wrap-narrow{max-width:var(--wrap-narrow)}
.wrap-wide{max-width:var(--wrap-wide)}
.grid{display:grid;gap:var(--sp-4)}
.grid>*{min-width:0}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-gap-lg{gap:var(--sp-5)}
@media (max-width:960px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
.flow>*+*{margin-top:var(--sp-3)}
.mono{font-family:var(--font-mono)}
.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:var(--fs-1);letter-spacing:.16em;text-transform:uppercase;color:var(--c-teal-deep);margin-bottom:var(--sp-3)}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--c-phosphor)}
.lede{font-size:var(--fs-4);color:var(--c-ink-2);line-height:1.75;max-width:56ch}
.muted{color:var(--c-ink-3)}
.tc{text-align:center}
.tc .lede{margin-inline:auto}
.mt-2{margin-top:var(--sp-2)}
.mt-3{margin-top:var(--sp-3)}
.mt-4{margin-top:var(--sp-4)}
.mt-5{margin-top:var(--sp-5)}
.mb-0{margin-bottom:0}
.hidden{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.bg-grid{background-image:linear-gradient(to right,rgba(14,155,125,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(14,155,125,.05) 1px,transparent 1px);background-size:32px 32px}
.hairline-top{border-top:1px solid var(--c-line)}
.hairline-bottom{border-bottom:1px solid var(--c-line)}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
.reveal-d1{transition-delay:.08s}
.reveal-d2{transition-delay:.16s}
.reveal-d3{transition-delay:.24s}
.reveal-d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){
.reveal{opacity:1;transform:none;transition:none}
*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

.grid-nodes{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
@media (max-width:640px){.grid-nodes{grid-template-columns:1fr}}
main{overflow-x:clip}
