@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-wght-normal.Czsa-EzN.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-wght-normal.C-3rgBeH.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-wght-normal.CCVVNp6i.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-wght-italic.xAqemagA.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-wght-italic.DFS986qL.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-wght-italic.Bxi8ein9.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.I4S5GZfc.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.BmXc_FBt.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.GZpp1pK2.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.D8KDMBhC.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.DrnZ1wKl.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.B_7UjwxQ.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:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/caveat-cyrillic-ext-wght-normal.DiMfzA-V.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/caveat-cyrillic-wght-normal.D5lnP6kL.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/caveat-latin-ext-wght-normal.Byk3UhVp.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:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/caveat-latin-wght-normal.C1hSzPvX.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}:root{--paper:#f5f4ef;--paper-raised:#fbfaf6;--paper-sunk:#efeee8;--ink-panel:#131210;--ink:#1a1813;--ink-2:#4b4840;--pencil:#6b675d;--rule:#dcd8cc;--rule-2:#c8c3b4;--rule-3:#8a857a;--font-serif:"Newsreader Variable", "Newsreader", Georgia, "Times New Roman", serif;--font-mono:"Geist Mono Variable", ui-monospace, "SF Mono", "Geist Mono", "JetBrains Mono", monospace;--font-hand:"Caveat Variable", "Caveat", "Segoe Script", cursive;--text-display:clamp(2.15rem, 1.25rem + 3.1vw, 3.6rem);--text-h2:clamp(2rem, 1.3rem + 2.6vw, 3rem);--text-h3:clamp(1.3rem, 1.05rem + 1vw, 1.6rem);--text-lead:clamp(1.075rem, 1rem + .4vw, 1.3rem);--text-body:1.0625rem;--text-small:.9375rem;--text-label:.78rem;--maxw:1180px;--gutter:clamp(1.25rem, .5rem + 3vw, 3rem);--radius:7px;--radius-lg:12px;--ease:cubic-bezier(.22, .61, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:84px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background-color:var(--paper);color:var(--ink);font-family:var(--font-serif);font-size:var(--text-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:400;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{letter-spacing:-.01em;overflow-wrap:break-word;margin:0;font-weight:500;line-height:1.08}p{margin:0}a{color:inherit;text-decoration:none}img,svg,canvas{max-width:100%;display:block}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}.ink-panel :focus-visible{outline-color:var(--paper)}#main:focus{outline:none}.eyebrow{font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:.18em;text-transform:uppercase;color:var(--pencil);align-items:center;gap:.6em;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--rule-2);width:1.6em;height:1px}.mono{font-family:var(--font-mono)}.hand{font-family:var(--font-hand);color:var(--ink-2);font-weight:600;line-height:1}.serif{font-family:var(--font-serif)}.display{font-size:var(--text-display);letter-spacing:-.022em;line-height:1.02}.h2{font-size:var(--text-h2);letter-spacing:-.018em}.h3{font-size:var(--text-h3)}.lead{font-size:var(--text-lead);color:var(--ink-2);line-height:1.5}.measure{max-width:60ch}.italic{font-style:italic}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(2.25rem,1.5rem + 3vw,4.5rem);position:relative}.section-head{max-width:44rem;margin-bottom:clamp(1.5rem,1rem + 1.5vw,2.25rem)}.section-head .lead{margin-top:1.1rem}.bg-grid{background-image:linear-gradient(to right, color-mix(in srgb, var(--rule) 60%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--rule) 60%, transparent) 1px, transparent 1px);background-size:24px 24px}.bg-ruled{background-image:linear-gradient(to bottom, color-mix(in srgb, var(--rule) 75%, transparent) 1px, transparent 1px);background-size:100% 30px}.bg-dots{background-image:radial-gradient(color-mix(in srgb, var(--rule) 78%, transparent) 1px, transparent 1px);background-size:20px 20px}.fade-mask{mask-image:radial-gradient(120% 90% at 50% 40%,#000 55%,#0000 100%)}.margin-rule:before{content:"";inset-block:0;left:max(var(--gutter), calc((100% - var(--maxw)) / 2 + var(--gutter)));background:var(--rule-2);opacity:.7;pointer-events:none;width:1px;position:absolute}@media (width<=720px){.margin-rule:before{display:none}}.btn{--btn-fg:var(--paper-raised);--btn-bg:var(--ink);font-family:var(--font-mono);letter-spacing:.01em;border-radius:var(--radius);border:1px solid var(--ink);background:var(--btn-bg);min-height:2.75rem;color:var(--btn-fg);cursor:pointer;transition:transform .18s var(--ease), background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);white-space:nowrap;justify-content:center;align-items:center;gap:.5em;padding:.85em 1.4em;font-size:.85rem;font-weight:500;line-height:1;display:inline-flex}.btn:hover{background:#000;border-color:#000;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--ghost{color:var(--ink);border-color:var(--rule-3);background:0 0}.btn--ghost:hover{border-color:var(--ink);color:var(--ink);background:0 0}.btn--on-dark{color:var(--paper);border-color:color-mix(in srgb, var(--paper) 40%, transparent);background:0 0}.btn--on-dark:hover{background:var(--paper);color:var(--ink-panel);border-color:var(--paper)}.btn .arrow{transition:transform .2s var(--ease)}.btn:hover .arrow{transform:translate(3px)}.card{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius-lg);transition:border-color .22s var(--ease), transform .22s var(--ease);padding:clamp(1.5rem,1rem + 1.5vw,2rem)}.card:hover{border-color:var(--ink);transform:translateY(-2px)}.card__icon{width:46px;height:46px;color:var(--ink);justify-content:center;align-items:center;margin-bottom:1.2rem;display:inline-flex}.card__icon svg{width:100%;height:100%}.card h3{font-size:var(--text-h3);margin-bottom:.5rem}.card p{color:var(--ink-2);font-size:var(--text-body);line-height:1.55}.tag{font-family:var(--font-mono);letter-spacing:.01em;color:var(--ink-2);border:1px solid var(--rule-2);background:var(--paper-raised);transition:border-color .2s var(--ease), color .2s var(--ease);border-radius:999px;padding:.5em .95em;font-size:.82rem}.tag:hover{border-color:var(--ink);color:var(--ink)}.sketch-word{white-space:nowrap;display:inline-block;position:relative}.sketch-word>svg{width:108%;height:.5em;color:var(--ink);pointer-events:none;position:absolute;bottom:-.32em;left:-4%;overflow:visible}.sketch-word>svg path{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:0}.js .sketch-word>svg path{stroke-dashoffset:100px}.sketch-word.is-drawn>svg path{animation:sketch-draw .9s var(--ease) forwards}@keyframes sketch-draw{to{stroke-dashoffset:0}}.draw path,.draw line,.draw circle,.draw polyline{stroke-dasharray:var(--len,400)}.js .draw path,.js .draw line,.js .draw circle,.js .draw polyline{stroke-dashoffset:var(--len,400)}.draw.is-drawn path,.draw.is-drawn line,.draw.is-drawn circle,.draw.is-drawn polyline{animation:sketch-draw 1.1s var(--ease) forwards}.reveal{transition:opacity .7s var(--ease), transform .7s var(--ease)}.js .reveal{opacity:0;transform:translateY(14px)}.reveal.is-in{opacity:1;transform:none}.reveal[data-delay="1"]{transition-delay:80ms}.reveal[data-delay="2"]{transition-delay:.16s}.reveal[data-delay="3"]{transition-delay:.24s}.reveal[data-delay="4"]{transition-delay:.32s}.marginalia{color:var(--ink);opacity:.85;pointer-events:none;z-index:1;position:absolute}.float{animation:7s ease-in-out infinite float}.float--slow{animation-duration:10s}.float--rev{animation-direction:alternate-reverse}@keyframes float{0%,to{transform:translateY(0) rotate(var(--rot,0deg))}50%{transform:translateY(-9px) rotate(calc(var(--rot,0deg) + 1.5deg))}}.ink-panel{background:var(--ink-panel);color:var(--paper)}.ink-panel .eyebrow{color:color-mix(in srgb, var(--paper) 60%, transparent)}.ink-panel .eyebrow:before{background:color-mix(in srgb, var(--paper) 35%, transparent)}.ink-panel .lead{color:color-mix(in srgb, var(--paper) 78%, transparent)}.rough-frame{position:relative}.rough-frame>svg.rough-border{width:calc(100% + 18px);height:calc(100% + 18px);color:var(--ink);pointer-events:none;z-index:0;position:absolute;inset:-9px;overflow:visible}.stack{flex-direction:column;display:flex}.row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.center{text-align:center}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:clamp(1rem,.5rem + 1.5vw,1.5rem);display:grid}.hidden-sm{display:none}@media (width>=860px){.hidden-sm{display:revert}.show-sm{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.sketch-word>svg path,.draw path,.draw line,.draw circle,.draw polyline{stroke-dashoffset:0}}.skip-link{background:var(--ink);color:var(--paper);font-family:var(--font-mono);border-radius:var(--radius);z-index:100;padding:.6em 1em;font-size:.85rem;transition:top .2s;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.skip-link:focus{top:12px}.footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--rule);background:var(--paper-sunk);padding-block:clamp(2.5rem,1.5rem + 3vw,4rem) 1.5rem}.footer__inner[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr;gap:2.5rem;display:grid}.footer__brand[data-astro-cid-jo6i4kqk] .brand[data-astro-cid-jo6i4kqk]{align-items:center;gap:.55rem;display:inline-flex}.brand__mark[data-astro-cid-jo6i4kqk]{width:34px;height:22px;color:var(--ink)}.brand__name[data-astro-cid-jo6i4kqk]{font-family:var(--font-serif);letter-spacing:-.02em;font-size:1.3rem;font-weight:500}.footer__tag[data-astro-cid-jo6i4kqk]{color:var(--ink-2);margin-top:.9rem;font-size:1rem;line-height:1.55}.footer__cols[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.footer__cols[data-astro-cid-jo6i4kqk] h4[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pencil);margin-bottom:.9rem;font-size:.72rem;font-weight:500}.footer__cols[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--ink-2);padding:.28rem 0;font-size:.95rem;transition:color .18s;display:block}.footer__cols[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--ink)}.footer__base[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--rule);color:var(--pencil);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:2.5rem;padding-top:1.5rem;font-size:.78rem;display:flex}.footer__legal[data-astro-cid-jo6i4kqk]{gap:1.25rem;font-size:.78rem;display:flex}.footer__legal[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--pencil);transition:color .18s}.footer__legal[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--ink)}@media (width>=760px){.footer__inner[data-astro-cid-jo6i4kqk]{grid-template-columns:1.3fr 2fr;gap:4rem}}@media (width<=520px){.footer__cols[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}}
