@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-full-normal.7BpKI3vF.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-full-normal.YHFkNujK.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-full-normal.CFFu7zhK.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-cyrillic-ext-wght-normal.lLTsRRxN.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-vietnamese-wght-normal.qRpaaN48.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-latin-ext-wght-normal.DmpS2jIq.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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-latin-wght-normal.eXO_dkmS.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,[data-scheme=light]{color-scheme:light;--bg:#fbf8ff;--surface:#fff;--surface-raised:#f3ecff;--border:#e2d8f3;--border-strong:#8f84aa;--text:#1a1230;--text-muted:#4f4569;--text-subtle:#6f6589;--primary:#c21f78;--primary-hover:#a8186a;--on-primary:#fff;--primary-text:#b01a6c;--accent:#6d3fe0;--accent-text:#5b2fd0;--focus:#8a1457;--success:#167a4a;--warning:#8a5a00;--danger:#b3153a;--shadow-card:0 1px 2px #1a12300f, 0 12px 32px #1a123014;--shadow-glow:0 0 0 1px #c21f7859, 0 16px 40px #c21f782e}[data-scheme=dark]{color-scheme:dark;--bg:#0f0b1a;--surface:#171128;--surface-raised:#221a38;--border:#3a2e57;--border-strong:#6e5f93;--text:#f4eeff;--text-muted:#b9aed3;--text-subtle:#8a7fa6;--primary:#e8409b;--primary-hover:#f05fac;--on-primary:#170a12;--primary-text:#f27ab8;--accent:#8b5cf6;--accent-text:#ac8bfa;--focus:#f7a8d0;--success:#4ade9a;--warning:#f5c26b;--danger:#ff7b96;--shadow-card:0 1px 0 #ffffff0a inset, 0 12px 32px #00000059;--shadow-glow:0 0 0 1px #e8409b73, 0 16px 48px #e8409b47}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-pill:999px;--gradient-brand:linear-gradient(135deg, #e8409b 0%, #8b5cf6 100%);--gradient-glow:radial-gradient(60% 60% at 70% 30%, #e8409b59 0%, #8b5cf62e 45%, #0f0b1a00 75%);--duration-fast:.16s;--duration-base:.26s;--duration-slow:.48s;--duration-ambient:24s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--font-display:"Fraunces Variable", "Fraunces", Georgia, serif;--font-sans:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;transition:background-color var(--duration-base) var(--ease-in-out), color var(--duration-base) var(--ease-in-out);flex-direction:column;margin:0;font-size:1rem;line-height:1.65;display:flex}main{flex:1}img,svg{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}::selection{background:var(--primary);color:var(--on-primary)}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}@view-transition{navigation:auto}.container{width:min(100% - 2 * var(--space-4), 1180px);margin-inline:auto}@media (width>=640px){.container{width:min(100% - 2 * var(--space-8), 1180px)}}.section{padding-block:clamp(40px,2.5vw + 1.5rem,64px)}.display{font-family:var(--font-display);letter-spacing:-.025em;font-variation-settings:"opsz" 144, "SOFT" 100;font-size:clamp(2.75rem,6.4vw,5.25rem);font-weight:450;line-height:1.02}.h1{font-family:var(--font-display);letter-spacing:-.015em;font-variation-settings:"opsz" 96, "SOFT" 100;font-size:clamp(2.125rem,4.2vw,3rem);font-weight:450;line-height:1.1}.h2{font-family:var(--font-display);letter-spacing:-.01em;font-variation-settings:"opsz" 72, "SOFT" 100;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:450;line-height:1.15}.h3{letter-spacing:-.005em;font-size:1.375rem;font-weight:600;line-height:1.35}.lead{color:var(--text-muted);max-width:34em;font-size:clamp(1.0625rem,1.6vw,1.1875rem);line-height:1.6}.muted{color:var(--text-muted)}.prose{max-width:68ch}.prose>*+*{margin-top:var(--space-4)}.prose h2{margin-top:var(--space-12)}.prose a{color:var(--primary-text)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-6);border-radius:var(--radius-pill);font:600 .9375rem/1.2 var(--font-sans);white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-base) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border:1.5px solid #0000;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-secondary{color:var(--primary-text);border-color:var(--primary);background:0 0}.btn-secondary:hover{background:var(--surface-raised);transform:translateY(-2px)}.btn-quiet{color:var(--text);border-color:var(--border-strong);background:0 0}.btn-quiet:hover{background:var(--surface-raised)}.btn-sm{min-height:40px;padding:var(--space-2) var(--space-4);font-size:.875rem}.link{color:var(--primary-text);text-underline-offset:.25em;text-decoration:underline 1.5px;text-decoration-color:color-mix(in oklab, currentColor 40%, transparent);transition:text-decoration-color var(--duration-fast) var(--ease-out);font-weight:600}.link:hover{text-decoration-color:currentColor}.tags{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag{padding:2px var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--accent-text);font-size:.8125rem;font-weight:500;line-height:1.6}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}@view-transition{navigation:none}}.site-header[data-astro-cid-isef26zo]{top:var(--space-3);z-index:50;width:min(100% - 2 * var(--space-3), 1220px);margin:var(--space-3) auto 0;position:sticky}.bar[data-astro-cid-isef26zo]{align-items:center;gap:var(--space-4);min-height:64px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:color-mix(in oklab, var(--surface) 72%, transparent);backdrop-filter:blur(18px)saturate(160%);border:1px solid color-mix(in oklab, var(--border) 80%, transparent);transition:box-shadow var(--duration-base) var(--ease-out), background-color var(--duration-base) var(--ease-out);grid-template-columns:1fr auto;display:grid;position:relative}[data-astro-cid-isef26zo][data-scrolled] .bar[data-astro-cid-isef26zo]{background:color-mix(in oklab, var(--surface) 86%, transparent);box-shadow:var(--shadow-card), 0 0 0 1px color-mix(in oklab, var(--primary) 18%, transparent)}.brand[data-astro-cid-isef26zo]{align-items:center;gap:var(--space-3);justify-self:start;min-width:0;text-decoration:none;display:inline-flex}.mark[data-astro-cid-isef26zo]{transition:transform var(--duration-base) var(--ease-spring);flex:none}.brand[data-astro-cid-isef26zo]:hover .mark[data-astro-cid-isef26zo]{transform:rotate(-8deg)scale(1.06)}.mark[data-astro-cid-isef26zo]{box-shadow:0 4px 14px -4px color-mix(in oklab, var(--primary) 55%, transparent);border-radius:10px}.mark-fill[data-astro-cid-isef26zo]{fill:#fff}.brand-name[data-astro-cid-isef26zo]{font-family:var(--font-display);letter-spacing:-.01em;font-variation-settings:"opsz" 48, "SOFT" 100;white-space:nowrap;font-size:1.1875rem;font-weight:500}.nav[data-astro-cid-isef26zo]{display:none}.track[data-astro-cid-isef26zo]{border-radius:var(--radius-pill);background:color-mix(in oklab, var(--bg) 55%, transparent);padding:4px;position:relative}.nav[data-astro-cid-isef26zo] ul[data-astro-cid-isef26zo]{gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex;position:relative}.nav[data-astro-cid-isef26zo] li[data-astro-cid-isef26zo]{z-index:1;position:relative}.nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo]{min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--text-muted);transition:color var(--duration-fast) var(--ease-out);align-items:center;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo]:hover,.nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo].is-active,.nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo][aria-current=page]{color:var(--text)}.nav[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo][aria-current=page]{background:var(--surface-raised)}.track[data-astro-cid-isef26zo][data-ready] a[data-astro-cid-isef26zo][aria-current=page]{background:0 0}.indicator[data-astro-cid-isef26zo]{z-index:0;border-radius:var(--radius-pill);background:var(--surface-raised);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--primary) 35%, transparent);clip-path:inset(0 calc(100% - var(--r,0px)) 0 var(--l,0px) round 999px);opacity:0;transition:clip-path .32s var(--ease-out), opacity var(--duration-fast) var(--ease-out);pointer-events:none;position:absolute;inset:4px}.indicator[data-astro-cid-isef26zo]:after{content:"";left:var(--l,0px);width:calc(var(--r,0px) - var(--l,0px));background:var(--gradient-brand);border-radius:2px;height:2px;position:absolute;bottom:3px}[data-astro-cid-isef26zo][data-ready]>.indicator[data-astro-cid-isef26zo].is-on{opacity:1}@media (width>=860px){.bar[data-astro-cid-isef26zo]{grid-template-columns:1fr auto 1fr}.nav[data-astro-cid-isef26zo]{display:block}}.actions[data-astro-cid-isef26zo]{align-items:center;gap:var(--space-2);justify-self:end;display:flex}.icon-btn[data-astro-cid-isef26zo]{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--text);cursor:pointer;touch-action:manipulation;transition:background-color var(--duration-fast) var(--ease-out), transform var(--duration-base) var(--ease-spring);background:0 0;border:0;place-items:center;display:grid}.icon-btn[data-astro-cid-isef26zo]:hover{background:var(--surface-raised)}.lang-switch[data-astro-cid-isef26zo]{min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--text);letter-spacing:.04em;touch-action:manipulation;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);align-items:center;gap:6px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.lang-switch[data-astro-cid-isef26zo]:hover{background:var(--surface-raised);color:var(--primary-text)}.lang-switch[data-astro-cid-isef26zo] svg[data-astro-cid-isef26zo]{transition:transform var(--duration-base) var(--ease-spring)}.lang-switch[data-astro-cid-isef26zo]:hover svg[data-astro-cid-isef26zo]{transform:rotate(-20deg)}@media (width<=400px){.lang-switch[data-astro-cid-isef26zo]{padding:0 var(--space-2)}.lang-switch[data-astro-cid-isef26zo] svg[data-astro-cid-isef26zo]{display:none}}@media (width<=359px){.brand-name[data-astro-cid-isef26zo]{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.theme-toggle[data-astro-cid-isef26zo]:active{transform:rotate(-24deg)scale(.92)}.i-moon[data-astro-cid-isef26zo],[data-scheme=light] .i-sun[data-astro-cid-isef26zo]{display:none}[data-scheme=light] .i-moon[data-astro-cid-isef26zo]{display:block}.contact-cta[data-astro-cid-isef26zo]{min-height:44px;padding:0 var(--space-6);border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);touch-action:manipulation;transition:background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-fast) var(--ease-spring);align-items:center;font-size:.9375rem;font-weight:600;text-decoration:none;display:none}.contact-cta[data-astro-cid-isef26zo]:hover{background:var(--primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.contact-cta[data-astro-cid-isef26zo]:active{transform:scale(.97)}@media (width>=860px){.contact-cta[data-astro-cid-isef26zo]{display:inline-flex}}.menu-btn[data-astro-cid-isef26zo]{background:var(--surface-raised)}.burger[data-astro-cid-isef26zo]{width:18px;height:12px;display:block;position:relative}.burger[data-astro-cid-isef26zo] span[data-astro-cid-isef26zo]{height:2px;transition:transform var(--duration-base) var(--ease-out);background:currentColor;border-radius:2px;position:absolute;left:0;right:0}.burger[data-astro-cid-isef26zo] span[data-astro-cid-isef26zo]:first-child{top:1px}.burger[data-astro-cid-isef26zo] span[data-astro-cid-isef26zo]:last-child{bottom:1px}[data-astro-cid-isef26zo][aria-expanded=true] .burger[data-astro-cid-isef26zo] span[data-astro-cid-isef26zo]:first-child{transform:translateY(4px)rotate(45deg)}[data-astro-cid-isef26zo][aria-expanded=true] .burger[data-astro-cid-isef26zo] span[data-astro-cid-isef26zo]:last-child{transform:translateY(-5px)rotate(-45deg)}@media (width>=860px){.menu-btn[data-astro-cid-isef26zo]{display:none}}.progress[data-astro-cid-isef26zo]{background:var(--gradient-brand);transform-origin:0;border-radius:2px;height:2px;display:none;position:absolute;bottom:-1px;left:28px;right:28px;transform:scaleX(0)}@supports (animation-timeline:scroll()){.progress[data-astro-cid-isef26zo]{animation:linear both read scroll(root);display:block}@keyframes read{to{transform:scaleX(1)}}}.menu-panel[data-astro-cid-isef26zo]{top:calc(100% + var(--space-2));padding:var(--space-4);border-radius:var(--radius-lg);background:color-mix(in oklab, var(--surface) 94%, transparent);backdrop-filter:blur(18px);border:1px solid var(--border);box-shadow:var(--shadow-card);transform-origin:top;animation:menu-in .22s var(--ease-out);position:absolute;left:0;right:0}.menu-panel[data-astro-cid-isef26zo][hidden]{display:none}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}}.menu-panel[data-astro-cid-isef26zo] ul[data-astro-cid-isef26zo]{margin:0;padding:0;list-style:none;display:grid}.menu-panel[data-astro-cid-isef26zo] li[data-astro-cid-isef26zo]+li[data-astro-cid-isef26zo]{border-top:1px solid var(--border)}.menu-panel[data-astro-cid-isef26zo] ul[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo]{min-height:56px;padding:0 var(--space-2);font-family:var(--font-display);align-items:center;font-size:1.5rem;text-decoration:none;display:flex}.menu-panel[data-astro-cid-isef26zo] ul[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo][aria-current=page]{color:var(--primary-text)}.menu-actions[data-astro-cid-isef26zo]{gap:var(--space-2);margin-top:var(--space-4);display:grid}@media (width>=860px){.menu-panel[data-astro-cid-isef26zo]{display:none!important}}.site-footer[data-astro-cid-oenwriqq]{border-top:1px solid var(--border);padding-block:var(--space-8) var(--space-12)}.inner[data-astro-cid-oenwriqq]{gap:var(--space-6);display:grid}@media (width>=760px){.inner[data-astro-cid-oenwriqq]{grid-template-columns:1fr auto;align-items:start}.small[data-astro-cid-oenwriqq]{grid-column:1/-1}}.name[data-astro-cid-oenwriqq]{font-weight:700}ul[data-astro-cid-oenwriqq]{gap:var(--space-2) var(--space-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}a[data-astro-cid-oenwriqq]{color:var(--text-muted);text-decoration:none}a[data-astro-cid-oenwriqq]:hover{color:var(--primary-text)}.small[data-astro-cid-oenwriqq]{font-size:.875rem}.skip-link[data-astro-cid-z4jru4n3]{left:var(--space-4);z-index:100;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);font-weight:600;text-decoration:none;position:absolute;top:-100px}.skip-link[data-astro-cid-z4jru4n3]:focus{top:var(--space-4)}main[data-astro-cid-z4jru4n3]:focus{outline:none}
