@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-opsz-normal.D9N6E8K1.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-opsz-normal.IcJDqblK.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-opsz-normal.Cre6nC2_.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{--ink:#0b1724;--ink-2:#364657;--ink-3:#536274;--paper:#f4f6f9;--surface:#fff;--line:#d9e0e8;--line-strong:#b7c2cf;--night:#0b1724;--night-2:#13263a;--on-night:#e9eef4;--on-night-2:#a9b8c8;--accent:#0a5fc2;--accent-hover:#084c9c;--accent-tint:#e8f1fc;--on-accent:#fff;--ok:#0f7a52;--warn:#8a5300;--danger:#b42318;--coin:#f2b33d;--font:"Bricolage Grotesque Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--fs-display:clamp(2.375rem, 1.55rem + 3.4vw, 4.75rem);--fs-title:clamp(1.625rem, 1.3rem + 1.4vw, 2.625rem);--fs-body:clamp(1rem, .96rem + .18vw, 1.125rem);--fs-small:.875rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:clamp(3.5rem, 2.5rem + 4vw, 6.5rem);--radius-s:8px;--radius:14px;--radius-l:22px;--max:1600px;--gutter:max(16px, 5vw);--header-h:68px;--shadow:0 1px 2px #0b17240f, 0 8px 24px -12px #0b17242e;color-scheme:light}[hidden]{display:none!important}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px);max-width:100%;overflow-x:clip}body{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--fs-body);font-optical-sizing:auto;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;max-width:100%;margin:0;line-height:1.6;overflow-x:clip}img,picture,svg,video{max-width:100%;height:auto;display:block}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;margin:0;line-height:1.08}h1{font-size:var(--fs-display);letter-spacing:-.035em;font-weight:800}h2{font-size:var(--fs-title);font-weight:750}h3,h4{font-size:var(--fs-body);letter-spacing:-.01em;font-weight:700;line-height:1.3}p{text-wrap:pretty;margin:0}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--accent-hover)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}::selection{background:var(--accent-tint)}button,input,select,textarea{font:inherit;color:inherit}.wrap{width:100%;max-width:calc(var(--max) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--space-8)}.section--tight{padding-block:var(--space-7)}.section--night{background:var(--night);color:var(--on-night)}.section--night a:not(.btn){color:#9ec9ff}.section--white{background:var(--surface)}.stack>*+*{margin-top:var(--space-4)}.eyebrow{font-size:var(--fs-small);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-weight:650;display:inline-block}.section--night .eyebrow{color:var(--on-night-2)}.lede{color:var(--ink-2);max-width:62ch}.section--night .lede{color:var(--on-night-2)}.muted{color:var(--ink-3)}.small{font-size:var(--fs-small)}.section-head{gap:var(--space-3);max-width:820px;margin-bottom:var(--space-7);display:grid}.grid{gap:var(--space-5);display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent);color:var(--on-accent);border-radius:var(--radius-s);padding:10px 16px;position:absolute;top:-60px;left:16px}.skip-link:focus{color:var(--on-accent);top:12px}.btn{--btn-bg:var(--accent);--btn-fg:var(--on-accent);--btn-bd:var(--accent);border:1.5px solid var(--btn-bd);background:var(--btn-bg);min-height:48px;color:var(--btn-fg);font-weight:650;font-size:var(--fs-body);cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:.7em 1.25em;line-height:1.1;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.btn:hover{--btn-bg:var(--accent-hover);--btn-bd:var(--accent-hover);color:var(--btn-fg)}.btn:active{transform:translateY(1px)}.btn--ghost{--btn-bg:transparent;--btn-fg:var(--ink);--btn-bd:var(--line-strong)}.btn--ghost:hover{--btn-bg:var(--surface);--btn-fg:var(--ink);--btn-bd:var(--ink)}.btn--light{--btn-bg:transparent;--btn-fg:#fff;--btn-bd:#ffffff8c}.btn--light:hover{--btn-bg:#ffffff1f;--btn-bd:#fff;--btn-fg:#fff}.btn--sm{min-height:40px;font-size:var(--fs-small);padding:.5em 1em}.btn--block{width:100%}.btn svg{flex:none;width:1.15em;height:1.15em}.btn-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.chip{background:var(--surface);border:1px solid var(--line);font-size:var(--fs-small);color:var(--ink-2);border-radius:999px;align-items:center;gap:.4em;padding:.3em .75em;font-weight:600;display:inline-flex}.text-link{align-items:center;gap:.35em;font-weight:650;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5)}.ticks{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.ticks li{padding-left:1.9em;position:relative}.ticks li:before{content:"";background:var(--accent-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%230a5fc2' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 10.5l3 3 6-7'/%3E%3C/svg%3E") center / 70% no-repeat;border-radius:50%;width:1.15em;height:1.15em;position:absolute;top:.3em;left:0}.section--night .ticks li:before{background-color:#ffffff1a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%239ec9ff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 10.5l3 3 6-7'/%3E%3C/svg%3E")}.prose{max-width:70ch;color:var(--ink-2)}.prose>*+*{margin-top:1em}.prose h2{color:var(--ink);margin-top:1.8em;font-size:clamp(1.375rem,1.2rem + .8vw,1.75rem)}.prose h3{color:var(--ink);margin-top:1.5em}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:.4em}.prose strong{color:var(--ink)}.field{gap:6px;min-width:0;display:grid}.field label,.field legend{font-weight:650;font-size:var(--fs-small)}.field .hint{font-size:var(--fs-small);color:var(--ink-3)}.input,.field input:not([type=checkbox]):not([type=radio]):not([type=file]),.field select,.field textarea{border:1.5px solid var(--line-strong);border-radius:var(--radius-s);background:var(--surface);width:100%;max-width:100%;min-height:48px;padding:.65em .85em;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);outline:none}.field[data-invalid] input,.field[data-invalid] select,.field[data-invalid] textarea{border-color:var(--danger)}.field .error{color:var(--danger);font-size:var(--fs-small);font-weight:600}.field .error:empty{display:none}.alert{padding:var(--space-4);border-radius:var(--radius-s);border:1px solid;font-weight:550}.alert--ok{color:#0b5b3d;background:#e9f7f1;border-color:#9fd8bf}.alert--error{color:#8c1d14;background:#fdeceb;border-color:#f2b8b3}.hp{position:absolute;left:-9999px}@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transition:opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1);transform:translateY(20px)}.js [data-reveal].is-in{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
