@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.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:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-ext-400-italic.C9HzH3YL.woff2)format("woff2"),url(/_astro/instrument-serif-latin-ext-400-italic.D7-lnxEk.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:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-italic.DKMiL14s.woff2)format("woff2"),url(/_astro/instrument-serif-latin-400-italic.u__WvvIK.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{--bg:#eae4da;--surface:#f3eee6;--surface-2:#faf7f2;--paper:#f9fcff;--ink:#2a2530;--ink-muted:#5c5563;--line:#2a253024;--line-strong:#2a253047;--terracotta:#c67b5c;--apricot:#e9b08c;--rose:#c9788a;--violet:#8e72b0;--blue:#6478c4;--sage:#9db5a0;--accent:#6e4596;--accent-soft:#6e45961a;--dusk:#37324b;--dusk-2:#453f5e;--on-dusk:#f4efe8;--on-dusk-muted:#cdc5d6;--on-dusk-line:#f4efe829;--grad:linear-gradient(110deg, var(--apricot), var(--rose) 38%, var(--violet) 70%, var(--blue));--grad-ink:linear-gradient(100deg, #b5573a, #a2476b 42%, #6e4596 72%, #4055b0);--grad-on-dusk:linear-gradient(100deg, #f2c3a4, #e9a3b3 45%, #c3aee6 75%, #a9b9f2);--font-display:"Archivo Variable", "Archivo", system-ui, sans-serif;--font-body:"Space Grotesk Variable", "Space Grotesk", system-ui, sans-serif;--font-serif:"Instrument Serif", Georgia, "Times New Roman", serif;--r-s:12px;--r-m:20px;--r-l:32px;--r-xl:44px;--shadow-1:0 1px 2px #2a25300d, 0 10px 28px -14px #2a253038;--shadow-2:0 2px 6px #2a25300f, 0 30px 70px -30px #37324b73;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.18s;--dur:.45s;--dur-slow:.9s;--container:1200px;--gutter:clamp(20px, 4.5vw, 56px);--section:clamp(48px, 6vw, 84px);--header-h:60px;--z-rail:20;--z-header:100;--z-progress:110;--z-grain:1000}[data-page=tebeto]{--accent:#2f49c4;--accent-soft:#2f49c41a;--grad:linear-gradient(110deg, #a9c4f2, #7c8fe0 45%, #3f58d4);--grad-ink:linear-gradient(100deg, #6a4fb3, #3f58d4 55%, #2643b8)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 36px)}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.65;overflow-x:clip}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}img,svg{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}table{border-collapse:collapse;width:100%}::selection{background:var(--violet);color:#fff}:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:6px}.on-dusk :focus-visible{outline-color:var(--on-dusk)}body:after{content:"";z-index:var(--z-grain);pointer-events:none;opacity:.085;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.container{width:min(var(--container), 100% - var(--gutter) * 2);margin-inline:auto}.section{padding-block:var(--section)}.section+.section{padding-top:0}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:calc(var(--z-header) + 20);background:var(--ink);color:var(--surface-2);border-radius:999px;padding:12px 18px;position:fixed;top:10px;left:10px;transform:translateY(-200%)}.skip-link:focus{transform:none}.display{font-family:var(--font-display);letter-spacing:-.032em;text-wrap:balance;font-weight:620;font-stretch:92%;line-height:1.03}.display-xl{font-size:clamp(2.35rem,5.1vw,4.4rem)}.display-l{font-size:clamp(2.05rem,4.6vw,3.75rem)}.display-m{font-size:clamp(1.5rem,2.7vw,2.15rem);line-height:1.12}.display em{font-family:var(--font-serif);letter-spacing:-.012em;background:var(--grad-ink);color:#0000;-webkit-background-clip:text;background-clip:text;padding-inline:.04em .09em;font-size:1.07em;font-style:italic;font-weight:400;font-stretch:100%}.on-dusk .display em{background-image:var(--grad-on-dusk)}.kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);align-items:center;gap:10px;font-size:.8rem;font-weight:600;display:inline-flex}.kicker:before{content:"";background:var(--grad);border-radius:2px;width:26px;height:2px}.on-dusk .kicker{color:var(--on-dusk-muted)}.lead{color:var(--ink-muted);text-wrap:pretty;max-width:62ch;font-size:clamp(1.1rem,1.5vw,1.28rem);line-height:1.55}.prose{max-width:64ch;color:var(--ink-muted);text-wrap:pretty}.prose strong,.lead strong{color:var(--ink);font-weight:600}.section-head{gap:18px;margin-bottom:clamp(24px,3.4vw,40px);display:grid}.btn{cursor:pointer;min-height:52px;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 26px;font-size:1rem;font-weight:600;line-height:1;display:inline-flex}.btn:active{transform:scale(.97)}.btn svg{width:18px;height:18px;transition:transform var(--dur) var(--ease-out);flex:none}.btn:hover svg{transform:translate(4px)}.btn-primary{background:var(--ink);color:var(--surface-2);box-shadow:var(--shadow-1);isolation:isolate;position:relative}.btn-primary:before{content:"";z-index:-1;border-radius:inherit;background:var(--grad);filter:blur(14px);opacity:0;transition:opacity var(--dur) var(--ease-out);position:absolute;inset:-2px}.btn-primary:hover:before{opacity:.85}.btn-ghost{border:1.5px solid var(--line-strong);color:var(--ink)}.btn-ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--surface-2)}.on-dusk .btn-primary{background:var(--on-dusk);color:var(--dusk)}.on-dusk .btn-ghost{border-color:var(--on-dusk-line);color:var(--on-dusk)}.on-dusk .btn-ghost:hover{background:var(--on-dusk);color:var(--dusk)}.text-link{color:var(--accent);transition:background-size var(--dur) var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;font-weight:600}.text-link:hover{background-position:100% 100%;background-size:0 1.5px}.chip{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:.92rem;font-weight:500;line-height:1.2;display:inline-flex}.chip-list{flex-wrap:wrap;gap:10px;display:flex}.on-dusk .chip{border-color:var(--on-dusk-line);color:var(--on-dusk);background:#f4efe814}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(22px,3vw,36px)}.paper{background:var(--paper);border-radius:var(--r-l);box-shadow:var(--shadow-1);border:1px solid #6478c42e;overflow:hidden}.on-dusk{background:var(--dusk);color:var(--on-dusk)}.on-dusk .lead,.on-dusk .prose{color:var(--on-dusk-muted)}@media (prefers-reduced-motion:no-preference){html.js [data-reveal]{opacity:0;transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(26px)}html.js [data-reveal=left]{transform:translate(-32px)}html.js [data-reveal=right]{transform:translate(32px)}html.js [data-reveal=scale]{transform:scale(.94)}html.js [data-reveal].is-in{opacity:1;transform:none}html.js .lines .line{margin-bottom:-.12em;padding-bottom:.12em;display:block;overflow:hidden}html.js .lines .line>span{transition:transform 1.1s var(--ease-out);transition-delay:calc(.12s + var(--i,0) * .11s);display:block;transform:translateY(110%)}html.js .is-loaded .lines .line>span,html.js .lines.is-in .line>span{transform:none}}.lines .line{display:block}.site-header{z-index:var(--z-header);width:min(1120px,100% - 28px);position:fixed;top:14px;left:50%;transform:translate(-50%)}.site-header__bar{height:var(--header-h);border:1px solid var(--line);background:color-mix(in srgb, var(--surface-2) 74%, transparent);backdrop-filter:blur(16px)saturate(1.25);transition:box-shadow var(--dur) var(--ease-out);border-radius:999px;justify-content:space-between;align-items:center;gap:12px;padding:0 8px 0 10px;display:flex}.site-header.is-scrolled .site-header__bar{box-shadow:var(--shadow-1)}.brand{min-height:44px;font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:10px;padding-right:10px;font-weight:650;display:inline-flex}.brand__mark{background:var(--grad);color:#fff;letter-spacing:.02em;text-shadow:0 1px 2px #2a253059;width:42px;height:42px;transition:transform var(--dur-slow) var(--ease-out);border-radius:50%;place-items:center;font-size:.86rem;display:grid}.brand:hover .brand__mark{transform:rotate(200deg)}.nav{align-items:center;gap:2px;display:flex}.nav a{min-height:44px;color:var(--ink-muted);transition:color var(--dur-fast) ease, background-color var(--dur-fast) ease;border-radius:999px;align-items:center;padding:0 14px;font-size:.95rem;font-weight:500;display:inline-flex;position:relative}.nav a:hover{color:var(--ink);background:#2a25300f}.nav a[aria-current]{color:var(--ink)}.nav a[aria-current]:after{content:"";background:var(--grad-ink);border-radius:2px;width:16px;height:2px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.header-tools{align-items:center;gap:6px;display:flex}.lang{border:1px solid var(--line);background:#2a25300a;border-radius:999px;padding:3px;display:inline-flex}.lang a{letter-spacing:.06em;min-width:42px;min-height:36px;color:var(--ink-muted);transition:background-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out);border-radius:999px;place-items:center;padding:0 10px;font-size:.82rem;font-weight:600;display:grid}.lang a:hover{color:var(--ink)}.lang a[aria-current]{background:var(--ink);color:var(--surface-2)}.menu-btn{border-radius:50%;place-items:center;width:44px;height:44px;display:none}.menu-btn span{background:var(--ink);width:20px;height:2px;transition:background-color var(--dur-fast) ease;border-radius:2px;display:block;position:relative}.menu-btn span:before,.menu-btn span:after{content:"";background:var(--ink);width:100%;height:2px;transition:transform var(--dur) var(--ease-out);border-radius:2px;position:absolute;left:0}.menu-btn span:before{transform:translateY(-6px)}.menu-btn span:after{transform:translateY(6px)}.menu-btn[aria-expanded=true] span{background:0 0}.menu-btn[aria-expanded=true] span:before{transform:rotate(45deg)}.menu-btn[aria-expanded=true] span:after{transform:rotate(-45deg)}@media (width<=880px){.menu-btn{display:grid}.nav{top:calc(var(--header-h) + 10px);border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface-2);box-shadow:var(--shadow-2);visibility:hidden;opacity:0;transform-origin:top;transition:opacity var(--dur-fast) ease, transform var(--dur) var(--ease-out), visibility 0s linear var(--dur);flex-direction:column;align-items:stretch;gap:2px;padding:12px;position:absolute;left:0;right:0;transform:translateY(-8px)scale(.98)}.nav.is-open{visibility:visible;opacity:1;transition-delay:0s;transform:none}.nav a{border-radius:var(--r-s);min-height:52px;padding:0 16px;font-size:1.1rem}.nav a[aria-current]:after{bottom:10px;left:16px;transform:none}.brand__name{display:none}}.site-footer{margin-top:var(--section);border-radius:var(--r-xl) var(--r-xl) 0 0;isolation:isolate;position:relative;overflow:hidden}.site-footer__glow{z-index:-1;filter:blur(30px);background:radial-gradient(40% 60% at 22% 60%,#e9b08c57,#0000 70%),radial-gradient(40% 60% at 55% 70%,#c9788a4d,#0000 70%),radial-gradient(40% 60% at 85% 55%,#6478c461,#0000 70%);height:120%;position:absolute;inset:auto -10% -70%}.site-footer__inner{padding-block:clamp(44px,6vw,76px) clamp(24px,3vw,36px)}.site-footer__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px 48px;display:flex}.site-footer__name{font-size:clamp(1.8rem,4.4vw,3.4rem)}.site-footer__role{color:var(--on-dusk-muted);align-items:center;gap:8px;margin-top:14px;display:inline-flex}.site-footer__nav{flex-wrap:wrap;gap:4px 6px;margin-inline:-14px;display:flex}.site-footer__nav a{min-height:44px;transition:background-color var(--dur-fast) ease;border-radius:999px;align-items:center;padding:0 14px;font-weight:500;display:inline-flex}.site-footer__nav a:hover{background:#f4efe81a}.footer-row{border-top:1px solid var(--on-dusk-line);color:var(--on-dusk-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;margin-top:clamp(28px,4vw,48px);padding-top:18px;font-size:.9rem;display:flex}.footer-row a{min-height:44px;color:var(--on-dusk);align-items:center;gap:8px;display:inline-flex}.footer-row a svg{width:16px;height:16px;transition:transform var(--dur) var(--ease-out)}.footer-row a:hover svg{transform:translateY(-3px)}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation:vt-out .28s var(--ease-in-out) both}::view-transition-new(root){animation:vt-in .5s var(--ease-out) both}@keyframes vt-out{to{opacity:0;transform:translateY(-12px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(16px)}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
