@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_assets/fraunces-vietnamese-full-italic.BHALq22K.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_assets/fraunces-latin-ext-full-italic.B8-t4Nou.woff2) format("woff2-variations");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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_assets/fraunces-latin-full-italic.D2JnYqd-.woff2) format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_assets/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_assets/archivo-latin-ext-wght-normal.C4zznr8T.woff2) format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_assets/archivo-latin-wght-normal.E0tuGl4L.woff2) format("woff2-variations");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}:root{color-scheme:light;--bg: #f3efe6;--bg-raised: #fbf8f1;--bg-sunken: #e8e3d6;--ink: #1b1813;--ink-dim: #494438;--muted: #645d4f;--faint: #ada592;--accent: #157a45;--accent-soft: #2ea35d;--accent-deep: #0d5a33;--line: rgb(27 24 19 / .16);--line-strong: rgb(27 24 19 / .32);--hairline: rgb(27 24 19 / .09);--ok: #2f7d4f;--warn: #b06a14;--down: #c0392b;--font-display: "Fraunces Variable", Georgia, "Times New Roman", serif;--font-sans: "Archivo Variable", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Menlo, monospace;--step--2: clamp(.69rem, .66rem + .13vw, .76rem);--step--1: clamp(.83rem, .79rem + .2vw, .95rem);--step-0: clamp(1rem, .94rem + .3vw, 1.19rem);--step-1: clamp(1.2rem, 1.1rem + .49vw, 1.48rem);--step-2: clamp(1.44rem, 1.29rem + .74vw, 1.85rem);--step-3: clamp(1.73rem, 1.51rem + 1.1vw, 2.31rem);--step-4: clamp(2.07rem, 1.75rem + 1.61vw, 2.89rem);--step-5: clamp(2.49rem, 2.02rem + 2.33vw, 3.62rem);--step-6: clamp(2.99rem, 2.33rem + 3.3vw, 4.52rem);--step-7: clamp(3.58rem, 2.66rem + 4.62vw, 5.65rem);--tracking-label: .16em;--tracking-wide: .03em;--tracking-tight: -.014em;--leading-tight: 1.05;--leading-snug: 1.28;--leading-prose: 1.6;--measure: 66ch;--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-s: 1rem;--space-m: 1.5rem;--space-l: 2.5rem;--space-xl: 4rem;--space-2xl: 6.5rem;--space-3xl: 9.5rem;--gutter: clamp(1.125rem, .6rem + 2.6vw, 2.75rem);--content-max: 78rem;--prose-max: 42rem;--dur-fast: .14s;--dur: .24s;--dur-slow: .56s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--radius: 1px;--border: 1px;--z-nav: 50;--z-overlay: 40;--z-palette: 100}.theme-dark{color-scheme:dark;color:var(--ink);background-color:var(--bg);--bg: #08090c;--bg-raised: #12141b;--bg-sunken: #050609;--ink: #f1ede3;--ink-dim: #cbc6b8;--muted: #8c8779;--faint: #565249;--accent: #5fe0a0;--accent-soft: #a7f0cb;--accent-deep: #34b27a;--line: rgb(241 237 227 / .14);--line-strong: rgb(241 237 227 / .3);--hairline: rgb(241 237 227 / .1)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:4.5rem;scrollbar-gutter:stable;background:var(--bg)}body{min-height:100svh;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--step-0);line-height:var(--leading-prose);font-synthesis:weight;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,svg,canvas,video{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:450;font-optical-sizing:auto;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius)}::selection{background:var(--accent);color:var(--bg)}.container{width:100%;max-width:var(--content-max);margin-inline:auto;padding-inline:var(--gutter)}.label{font-family:var(--font-mono);font-size:var(--step--2);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;top:var(--space-2xs);left:var(--space-2xs);z-index:var(--z-palette);padding:.5rem 1rem;background:var(--accent);color:#fff;font-family:var(--font-mono);transform:translateY(-150%);transition:transform var(--dur) var(--ease-out)}.skip-link:focus{transform:translateY(0)}html.reveal [data-reveal]{opacity:0;transition:opacity var(--dur-slow) var(--ease-out);transition-delay:calc(var(--ri, 0) * 70ms)}html.reveal [data-reveal].in-view{opacity:1}@media(prefers-reduced-motion:no-preference){html.reveal [data-reveal]{transform:translateY(22px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);transition-delay:calc(var(--ri, 0) * 70ms)}html.reveal [data-reveal].in-view{transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html.reveal [data-reveal]{transition:opacity var(--dur) var(--ease-out)!important}}
