@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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");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{--ink-deep:#07040f;--ink:#0c0920;--stone:#151132;--stone-raised:#1c1740;--gold:#d9b463;--gold-bright:#fad98c;--gold-dim:#fad98c3d;--paper:#e7e5f0;--paper-dim:#a09cbd;--paper-faint:#7f7ba0;--rule:#e7e5f021;--rule-strong:#e7e5f042;--accent-text:var(--gold-bright);--accent-text-soft:var(--gold);--accent-fill:var(--gold);--accent-fill-hover:var(--gold-bright);--on-accent:#0f0a26;--accent-line:var(--gold);--accent-soft:var(--gold-dim);--danger:#ff9d8f;--danger-soft:#ff9d8f1a;--font-sans:"Archivo Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--t-xs:.8125rem;--t-sm:.9375rem;--t-body:1.0625rem;--t-lead:1.3125rem;--t-h3:1.4375rem;--t-h2:clamp(1.75rem, 3.2vw, 2.4rem);--t-h1:clamp(2.4rem, 5.4vw, 3.9rem);--t-display:clamp(2.9rem, 8vw, 6.1rem);--s1:.5rem;--s2:.75rem;--s3:1rem;--s4:1.5rem;--s5:2rem;--s6:3rem;--s7:4.5rem;--s8:7rem;--measure:62ch;--shell:74rem;color-scheme:dark}@media (prefers-color-scheme:light){:root{--ink-deep:#e9e6f2;--ink:#f7f6fb;--stone:#fff;--stone-raised:#efedf6;--paper:#151132;--paper-dim:#45406b;--paper-faint:#5f5a84;--rule:#1511321f;--rule-strong:#1511323d;--accent-text:#7a5710;--accent-text-soft:#7a5710;--accent-fill:#d9b463;--accent-fill-hover:#e6c47a;--on-accent:#151132;--accent-line:#a88232;--accent-soft:#9a742638;--danger:#a3261b;--danger-soft:#a3261b12;color-scheme:light}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:17px}body{background:var(--ink);color:var(--paper);font-family:var(--font-sans);font-size:var(--t-body);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}img,svg{max-width:100%;display:block}[hidden]{display:none!important}h1,h2,h3,h4{letter-spacing:-.022em;text-wrap:balance;margin:0;font-weight:640;font-stretch:110%;line-height:1.04}h1{font-size:var(--t-h1)}h2{font-size:var(--t-h2)}h3{font-size:var(--t-h3);letter-spacing:-.012em;font-weight:600;font-stretch:104%;line-height:1.2}p,ul,ol,dl,dd,figure{margin:0}a{color:var(--accent-text);text-decoration-color:var(--accent-soft);text-underline-offset:.22em;text-decoration-thickness:1px;transition:text-decoration-color .14s,color .14s}a:hover{text-decoration-color:var(--accent-text)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}code{color:var(--paper);background:var(--ink-deep);border:1px solid var(--rule);overflow-wrap:anywhere;border-radius:3px;padding:.1em .36em}kbd{color:var(--paper);background:var(--stone-raised);border:1px solid var(--rule-strong);border-bottom-width:2px;border-radius:4px;padding:.08em .4em;font-size:.85em;display:inline-block}:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:2px}::selection{background:var(--accent-fill);color:var(--on-accent)}.shell{width:100%;max-width:var(--shell);padding-inline:var(--s4);margin-inline:auto}.band{padding-block:var(--s8);border-top:1px solid var(--rule)}.band--flush{border-top:0}.measure{max-width:var(--measure)}.lead{font-size:var(--t-lead);color:var(--paper-dim);line-height:1.5}.skip-link{left:var(--s3);top:var(--s3);z-index:100;padding:var(--s2) var(--s3);background:var(--stone-raised);color:var(--paper);border:1px solid var(--accent-line);border-radius:4px;transition:transform .12s;position:absolute;transform:translateY(-160%)}.skip-link:focus-visible{transform:translateY(0)}.btn{align-items:center;gap:var(--s2);font:inherit;font-weight:600;font-size:var(--t-sm);letter-spacing:.005em;cursor:pointer;border:1px solid #0000;border-radius:5px;padding:.7rem 1.35rem;text-decoration:none;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.btn--primary{background:var(--accent-fill);color:var(--on-accent);border-color:var(--accent-fill)}.btn--primary:hover{background:var(--accent-fill-hover);border-color:var(--accent-fill-hover)}.btn--quiet{color:var(--paper);border-color:var(--rule-strong);background:0 0}.btn--quiet:hover{border-color:var(--accent-line);color:var(--accent-text)}.btn--pending{color:var(--paper-dim);border:1px dashed var(--rule-strong);cursor:default;background:0 0}.prose{max-width:var(--measure)}.prose>*+*{margin-top:var(--s4)}.prose h2{margin-top:var(--s7);padding-top:var(--s4);border-top:1px solid var(--rule)}.prose h3{margin-top:var(--s5)}.prose ul,.prose ol{gap:var(--s2);padding-left:1.3em;display:grid}.prose li::marker{color:var(--accent-text-soft)}.prose strong{color:var(--paper);font-weight:620}.prose .lead+h2{margin-top:var(--s6)}.contact-form{gap:var(--s4);padding:var(--s5);background:var(--stone);border:1px solid var(--rule);border-radius:6px;display:grid;position:relative}@media (width<=40rem){.contact-form{padding:var(--s4)}}.contact-form__field{gap:var(--s1);flex-direction:column;display:flex}.contact-form__label{color:var(--paper);font-weight:600}.contact-form__input,.contact-form__select,.contact-form__textarea{border:1px solid var(--rule-strong);background:var(--ink);width:100%;min-height:3rem;color:var(--paper);font:inherit;border-radius:5px;padding:.625rem .875rem;line-height:1.4}.contact-form__textarea{resize:vertical;min-height:10rem;line-height:1.55}.contact-form__select{appearance:none;background-image:conic-gradient(from -45deg at 50% 100%, var(--paper-dim) 90deg, transparent 0);cursor:pointer;background-position:right 1rem center;background-repeat:no-repeat;background-size:.75rem .375rem;padding-right:2.75rem}.contact-form__input:hover,.contact-form__select:hover,.contact-form__textarea:hover{border-color:var(--paper-faint)}.contact-form__input:focus,.contact-form__select:focus,.contact-form__textarea:focus{border-color:var(--accent-line)}.contact-form [aria-invalid=true]{border-color:var(--danger)}.contact-form .contact-form__error{color:var(--danger);margin:0;font-weight:560}.contact-form .contact-form__error:empty,.contact-form .contact-form__status:empty{display:none}.contact-form .contact-form__status{padding:var(--s3);border:1px solid var(--danger);background:var(--danger-soft);color:var(--paper);border-radius:5px;margin:0;scroll-margin-top:6rem}.contact-form__submit{border:1px solid var(--accent-fill);background:var(--accent-fill);min-height:3rem;color:var(--on-accent);font:inherit;cursor:pointer;border-radius:5px;justify-self:start;padding:.7rem 1.6rem;font-weight:600;transition:background .14s,border-color .14s}.contact-form__submit:hover{background:var(--accent-fill-hover);border-color:var(--accent-fill-hover)}.contact-form__submit:disabled{opacity:.65;cursor:progress}@media (width<=30rem){.contact-form__submit{justify-self:stretch}}.contact-form__trap{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main .contact-form__sent{padding:var(--s4) var(--s5);background:var(--stone);border:1px solid var(--rule);border-left:3px solid var(--accent-line);color:var(--paper);border-radius:6px;font-weight:560}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=40rem){html{font-size:16px}.band{padding-block:var(--s7)}}html{scroll-padding-top:5.5rem}@media (width<=34rem){html{scroll-padding-top:8rem}}.masthead[data-astro-cid-uchgh4xx]{z-index:20;background:color-mix(in srgb, var(--ink) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);position:sticky;top:0}.masthead__inner[data-astro-cid-uchgh4xx]{justify-content:space-between;align-items:center;gap:var(--s4);min-height:4rem;padding-top:env(safe-area-inset-top,0px);display:flex}.wordmark[data-astro-cid-uchgh4xx]{color:var(--paper);letter-spacing:.005em;align-items:center;gap:.55rem;font-weight:640;font-stretch:108%;text-decoration:none;display:inline-flex}.wordmark[data-astro-cid-uchgh4xx] img{position:relative;top:.5px}.navlist[data-astro-cid-uchgh4xx]{align-items:center;gap:var(--s4);font-size:var(--t-sm);margin:0;padding:0;list-style:none;display:flex}.navlist[data-astro-cid-uchgh4xx] a[data-astro-cid-uchgh4xx]{color:var(--paper-dim);border-bottom:1px solid #0000;padding-block:.35rem;text-decoration:none}.navlist[data-astro-cid-uchgh4xx] a[data-astro-cid-uchgh4xx]:hover{color:var(--paper)}.navlist[data-astro-cid-uchgh4xx] a[data-astro-cid-uchgh4xx][aria-current=page]{color:var(--paper);border-bottom-color:var(--accent-line)}.colophon[data-astro-cid-uchgh4xx]{margin-top:var(--s8);border-top:1px solid var(--rule);background:var(--ink-deep);padding-block:var(--s6) var(--s5)}.colophon__inner[data-astro-cid-uchgh4xx]{justify-content:space-between;gap:var(--s5);flex-wrap:wrap;display:flex}.colophon__note[data-astro-cid-uchgh4xx]{margin-top:var(--s2);max-width:34ch;font-size:var(--t-sm);color:var(--paper-dim)}.colophon__links[data-astro-cid-uchgh4xx] ul[data-astro-cid-uchgh4xx]{gap:var(--s2);font-size:var(--t-sm);margin:0;padding:0;list-style:none;display:grid}.colophon__links[data-astro-cid-uchgh4xx] a[data-astro-cid-uchgh4xx]{color:var(--paper-dim);text-decoration:none}.colophon__links[data-astro-cid-uchgh4xx] a[data-astro-cid-uchgh4xx]:hover{color:var(--accent-text)}.colophon__fineprint[data-astro-cid-uchgh4xx]{margin-top:var(--s6);padding-top:var(--s4)}.colophon__fineprint[data-astro-cid-uchgh4xx] p[data-astro-cid-uchgh4xx]{max-width:56ch;font-size:var(--t-xs);color:var(--paper-faint);border-top:1px solid var(--rule);padding-top:var(--s4);line-height:1.65}@media (width<=34rem){.masthead__inner[data-astro-cid-uchgh4xx]{align-items:flex-start;gap:var(--s2);padding-block:var(--s3);flex-direction:column}.navlist[data-astro-cid-uchgh4xx]{gap:var(--s3);flex-wrap:wrap}}
