@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-wdth-normal.rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-wdth-normal.7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-normal.DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/martian-mono-latin-400-normal.DZsjfPjH.woff2)format("woff2"),url(/_astro/martian-mono-latin-400-normal.DM4nBGIh.woff)format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/martian-mono-latin-ext-400-normal.CqsZQCXg.woff2)format("woff2"),url(/_astro/martian-mono-latin-ext-400-normal.CBFElp5P.woff)format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/martian-mono-latin-500-normal.BWC8e-kx.woff2)format("woff2"),url(/_astro/martian-mono-latin-500-normal.BsOs1ffX.woff)format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/martian-mono-latin-ext-500-normal.CPN1Info.woff2)format("woff2"),url(/_astro/martian-mono-latin-ext-500-normal.CYMi9jUC.woff)format("woff")}:root{--ink:#1a1020;--ink-2:#44384a;--ink-3:#6e6374;--brand:#2b1636;--brand-2:#4a2c5c;--brand-deep:#1c0d24;--paper:#f4f2f4;--paper-2:#ebe7ec;--white:#fcfbfc;--mist:#e7e1e9;--accent:#f2b01e;--accent-soft:#fbe7b5;--ok:#2f8a5a;--ok-on-dark:#8fd9ad;--err:#8f2c27;--shadow-brand:0 40px 80px -40px #2b16368c;--focus:var(--ink);--field-border:var(--ink-3);--line:#1a102021;--line-strong:#1a102047;--line-inverse:#f4f2f424;--on-dark:#efeaf0;--on-dark-2:#b6a8bc;--font-sans:"Archivo Variable", "Archivo", ui-sans-serif, system-ui, sans-serif;--font-mono:"Martian Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--wide:116%;--xwide:125%;--fs-mono:.6875rem;--fs-small:.875rem;--fs-body:1.0625rem;--fs-lead:clamp(1.125rem, .6vw + 1rem, 1.375rem);--fs-h4:clamp(1.25rem, .5vw + 1.1rem, 1.5rem);--fs-h3:clamp(1.5rem, 1.2vw + 1.1rem, 2.125rem);--fs-h2:clamp(1.75rem, 3.6vw + .7rem, 4rem);--fs-h1:clamp(2.375rem, 6.4vw + .3rem, 6.75rem);--max:1360px;--gutter:clamp(20px, 3.2vw, 40px);--col-gap:clamp(16px, 2vw, 28px);--section:clamp(88px, 11vw, 168px);--radius:6px;--header-h:72px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur:.6s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--paper);color:var(--ink);scroll-padding-top:calc(var(--header-h) + 16px)}body{font-family:var(--font-sans);font-size:var(--fs-body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-kerning:normal;margin:0;font-weight:400;font-stretch:100%;line-height:1.6;overflow-x:clip}img,svg,video{max-width:100%;display:block}h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--brand);color:var(--paper)}html{scrollbar-color:var(--ink-3) var(--paper-2)}input,textarea{caret-color:var(--brand)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}.dark :focus-visible,.dark:focus-visible{outline-color:var(--accent)}.display,.h1,.h2,.h3{overflow-wrap:break-word;hyphens:auto;font-family:var(--font-sans);font-stretch:var(--wide);letter-spacing:-.035em;text-wrap:balance;font-weight:700;line-height:.98}.h1{font-size:var(--fs-h1);font-stretch:var(--xwide);letter-spacing:-.04em;font-weight:750;line-height:.96}.h2{font-size:var(--fs-h2);line-height:1}.h3{font-size:var(--fs-h3);letter-spacing:-.025em;font-weight:650;line-height:1.08}.h4{font-size:var(--fs-h4);letter-spacing:-.015em;font-weight:620;font-stretch:108%;line-height:1.2}.lead{font-size:var(--fs-lead);color:var(--ink-2);text-wrap:pretty;max-width:38em;line-height:1.5}.mono,.eyebrow{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.04em;text-transform:uppercase;font-weight:400;line-height:1.5}.eyebrow{color:var(--ink-3);align-items:center;gap:10px;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);border-radius:1px;flex:none;width:7px;height:7px}.prose p+p{margin-top:1em}.prose p{color:var(--ink-2);text-wrap:pretty;max-width:40em}.text-link{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;align-items:center;gap:8px;padding-bottom:3px;font-weight:540;display:inline-flex}.arrow{vertical-align:-.05em;background:currentColor;flex:none;width:.875em;height:.875em;font-size:0;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M1 7h11M7.5 2.5 12 7l-4.5 4.5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M1 7h11M7.5 2.5 12 7l-4.5 4.5'/%3E%3C/svg%3E") 50%/contain no-repeat}.arrow--back{rotate:180deg}.text-link .arrow{transition:transform .2s var(--ease-out)}@media (hover:hover) and (pointer:fine){.text-link:hover .arrow{transform:translate(4px)}}.container{width:100%;max-width:calc(var(--max) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.grid{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.section{padding-block:var(--section)}.dark{background:var(--brand-deep);color:var(--on-dark)}.dark .lead,.dark .prose p,.dark .eyebrow{color:var(--on-dark-2)}.dark ::selection{background:var(--accent);color:var(--ink)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.line-inner{overflow-wrap:break-word;hyphens:auto;display:block}[data-reveal-delay="0.05"]{--d:50ms}[data-reveal-delay="0.1"]{--d:.1s}[data-reveal-delay="0.12"]{--d:.12s}[data-reveal-delay="0.15"]{--d:.15s}[data-reveal-delay="0.2"]{--d:.2s}[data-reveal-delay="0.3"]{--d:.3s}[data-reveal-delay="0.35"]{--d:.35s}[data-reveal-delay="0.4"]{--d:.4s}[data-reveal-delay="0.42"]{--d:.42s}[data-reveal-delay="0.45"]{--d:.45s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes line-rise{0%{transform:translateY(105%)}}@media (prefers-reduced-motion:no-preference){[data-reveal=load]{animation:rise .6s var(--ease-out) both;animation-delay:var(--d,0s)}[data-lines=load] .line-inner{animation:line-rise .85s var(--ease-out) both;animation-delay:calc(var(--d,0s) + var(--i,0) * 90ms)}html.js:not(.no-motion) [data-reveal]:not([data-reveal=load]){opacity:0;transform:translateY(12px)}html.js:not(.no-motion) [data-lines=view] .line-inner{transform:translateY(105%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.logo[data-astro-cid-f7espo7c]{align-items:center;gap:10px;line-height:1;display:inline-flex}.logo-mark[data-astro-cid-f7espo7c]{flex:none}.dark .logo-fg[data-astro-cid-f7espo7c]{fill:var(--brand-deep)}.logo-word[data-astro-cid-f7espo7c]{font-family:var(--font-sans);letter-spacing:-.04em;font-size:1.375rem;font-weight:760;font-stretch:125%;transform:translateY(-1px)}
