@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:Archivo Variable;font-style:italic;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-wdth-italic.DS6JCx7O.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:italic;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-wdth-italic.Cq9u_6Zz.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:italic;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-italic.BuvkOFDm.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:Archivo Text Fallback;src:local(Arial),local(ArialMT),local(Liberation Sans),local(Helvetica);ascent-override:87.4%;descent-override:20.8%;line-gap-override:0%;size-adjust:100.6%}@font-face{font-family:Archivo Display Fallback;src:local(Arial Bold),local(Arial-BoldMT),local(Liberation Sans Bold),local(Helvetica Bold);font-weight:700 900;ascent-override:82%;descent-override:19.5%;line-gap-override:0%;size-adjust:107%}:root{--stage:#121110;--stage-raised:#1c1a18;--frame-bar:#24221f;--frame-edge:#4a4641;--stage-line:#3a3733;--stage-line-strong:#6e6961;--stage-ink:#f2eee6;--stage-muted:#a9a398;--lamp:#f3b63f;--lamp-hi:#f7c964;--live:#5ed39a;--paper:#f2eee6;--paper-raised:#fbf9f5;--paper-sunk:#e4ded3;--paper-line:#c9c2b6;--paper-line-strong:#7a746a;--ink:#171614;--ink-hover:#2e2b27;--ink-muted:#5c574f;--lamp-ink:#7a4f00;--lamp-ink-hover:#5e3d00;--live-ink:#176b42;--error:#a3261b;--bezel:#0b0a09;--font:"Archivo Variable", "Archivo Text Fallback", system-ui, sans-serif;--font-display:"Archivo Variable", "Archivo Display Fallback", system-ui, sans-serif;--t-hero:clamp(2.6rem, 1.55rem + 4.7vw, 5.75rem);--t-1:clamp(2.2rem, 1.6rem + 2.7vw, 4rem);--t-2:clamp(1.7rem, 1.4rem + 1.35vw, 2.6rem);--t-3:clamp(1.2rem, 1.1rem + .45vw, 1.5rem);--t-roll:clamp(1.375rem, 1.15rem + 1vw, 2rem);--t-lede:clamp(1.1875rem, 1.1rem + .4vw, 1.3125rem);--t-body:clamp(1.0625rem, 1.03rem + .15vw, 1.125rem);--t-small:.9375rem;--t-label:.75rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--section:clamp(4rem, 3rem + 5vw, 8rem);--margin:clamp(16px, 4vw, 56px);--gap:16px;--ease:cubic-bezier(.2, .7, .2, 1);--d-1:.16s;--d-2:.2s;--d-3:.38s;--d-vt:.42s;--sticky-h:48px;color-scheme:light dark}@media (width>=720px){:root{--gap:16px}}@media (width>=1024px){:root{--gap:24px;--t-label:.8125rem}}@media (width>=860px){:root{--sticky-h:64px}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--sticky-h) + 16px);background:var(--stage)}body{font-family:var(--font);font-size:var(--t-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--stage);color:var(--stage-ink);flex-direction:column;min-height:100svh;line-height:1.65;display:flex}main{flex:1}img,picture,video,svg{max-width:100%;display:block}img,video{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}p,li,dd{text-wrap-style:pretty}h1,h2,h3,h4{text-wrap-style:balance;font-family:var(--font-display)}ul[role=list],ol[role=list]{padding:0;list-style:none}legend{padding:0}::selection{background:var(--lamp);color:var(--stage)}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}.stage{--bg:var(--stage);--fg:var(--stage-ink);--muted:var(--stage-muted);--line:var(--stage-line);--line-strong:var(--stage-line-strong);--link:var(--stage-ink);--link-deco:var(--lamp);--link-hover:var(--lamp-hi);--focus:var(--lamp);--live-dot:var(--live);--raised:var(--stage-raised);--frame-border:var(--frame-edge);--frame-bar-bg:var(--frame-bar);--url-bg:var(--stage);--screen-hair:#ffffff0f;--frame-shadow:0 30px 60px -24px #000000a6, 0 0 0 1px #ffffff08;--frame-shadow-hover:0 40px 72px -24px #000000bf, 0 0 0 1px #ffffff0a;--phone-ring:0 0 0 1px var(--frame-edge);background:var(--bg);color:var(--fg)}.paper{--bg:var(--paper);--fg:var(--ink);--muted:var(--ink-muted);--line:var(--paper-line);--line-strong:var(--paper-line-strong);--link:var(--lamp-ink);--link-deco:var(--lamp-ink);--link-hover:var(--lamp-ink-hover);--focus:var(--ink);--live-dot:var(--live-ink);--raised:var(--paper-raised);--frame-border:var(--paper-line);--frame-bar-bg:var(--paper-sunk);--url-bg:var(--paper-raised);--screen-hair:#0000000f;--frame-shadow:0 24px 48px -28px #17161459, 0 1px 0 #1716140f;--frame-shadow-hover:0 32px 56px -28px #17161473, 0 1px 0 #17161414;--phone-ring:0 0 0 0 transparent;background:var(--bg);color:var(--fg)}.paper.sunk{--bg:var(--paper-sunk);--url-bg:var(--paper)}.paper ::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--focus,var(--lamp));outline-offset:2px;border-radius:2px}.wrap{width:min(100% - 2 * var(--margin), 1440px);margin-inline:auto}.grid{column-gap:var(--gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width>=720px){.grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (width>=1024px){.grid{grid-template-columns:repeat(12,minmax(0,1fr))}}.grid>*{grid-column:1/-1;min-width:0}@media (width<=719.98px){.footer-cols>*{grid-column:span 2}}.section{padding-block:var(--section)}.section--tight{padding-block:clamp(3rem,2.4rem + 3vw,5rem)}.flow>*+*{margin-top:var(--flow,1em)}.measure{max-width:66ch}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--lamp);color:var(--stage);border-radius:6px;padding:10px 16px;font-weight:650;text-decoration:none;position:absolute;top:-100px;left:12px}.skip-link:focus{top:12px}.t-hero{font-size:var(--t-hero);letter-spacing:-.025em;font-weight:780;font-stretch:118%;line-height:.94}.t-1,h1{font-size:var(--t-1);letter-spacing:-.02em;font-weight:740;font-stretch:112%;line-height:1}.t-2,h2{font-size:var(--t-2);letter-spacing:-.015em;font-weight:700;font-stretch:108%;line-height:1.08}.t-3,h3{font-size:var(--t-3);letter-spacing:-.005em;font-weight:650;font-stretch:106%;line-height:1.2}.t-roll{font-size:var(--t-roll);font-weight:450;font-stretch:104%;line-height:1.4}.lede{font-size:var(--t-lede);color:var(--fg);max-width:60ch;line-height:1.5}.muted{color:var(--muted)}.small{font-size:var(--t-small);line-height:1.5}.label{font-size:var(--t-label);text-transform:uppercase;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--muted);font-weight:600;font-stretch:100%;line-height:1.4}.label a{color:inherit}em,i,cite{font-style:italic}.prose a,a.link{color:var(--link);text-decoration:underline;text-decoration-color:var(--link-deco);text-underline-offset:.2em;text-decoration-thickness:1px}.prose a:hover,a.link:hover{color:var(--link-hover);text-decoration-thickness:2px}.prose p+p{margin-top:1em}.prose h2+p{margin-top:var(--s-2)}.prose ul{padding-left:1.2em}.prose li+li{margin-top:.4em}.arrow-link{color:var(--link);text-decoration:underline;text-decoration-color:var(--link-deco);text-underline-offset:.25em;align-items:center;gap:.4em;min-height:44px;font-weight:650;font-stretch:104%;text-decoration-thickness:1px;display:inline-flex}.arrow-link:hover{color:var(--link-hover);text-decoration-thickness:2px}.stage .arrow-link{color:var(--stage-ink)}.stage .arrow-link:hover{color:var(--lamp-hi)}.btn{white-space:nowrap;border:0;border-radius:6px;justify-content:center;align-items:center;gap:.5em;min-height:44px;padding:0 20px;font-size:1rem;font-weight:650;font-stretch:104%;line-height:1;text-decoration:none;display:inline-flex}.btn:focus-visible{outline-offset:3px}.btn--lamp{background:var(--lamp);color:var(--stage)}.btn--lamp:hover{background:var(--lamp-hi)}.btn--ink{background:var(--ink);color:var(--paper)}.btn--ink:hover{background:var(--ink-hover)}.btn--sm{min-height:40px;padding:0 14px;font-size:.9375rem}@media (prefers-reduced-motion:no-preference){.btn{transition:background-color var(--d-1) var(--ease)}}.site-header{z-index:50;background:var(--stage);color:var(--stage-ink);border-bottom:1px solid var(--stage-line);view-transition-name:site-header;position:sticky;top:-56px}.site-header__inner{grid-template-columns:1fr auto;grid-template-areas:"brand cta""nav nav";align-items:center;display:grid}.brand{width:max-content;min-height:56px;color:inherit;grid-area:brand;align-items:center;text-decoration:none;display:inline-flex}.brand svg{width:auto;height:22px}.site-header__cta{grid-area:cta}.site-nav{height:48px;margin-inline:calc(-1 * var(--margin));grid-area:nav}.site-nav ul{height:100%;padding-inline:var(--margin);scroll-padding-inline:var(--margin);scroll-snap-type:x proximity;scrollbar-width:none;background:linear-gradient(to right, var(--stage) 30%, transparent) left / 32px 100% no-repeat local, linear-gradient(to left, var(--stage) 30%, transparent) right / 32px 100% no-repeat local, linear-gradient(to right, #000000e6, transparent) left / 16px 100% no-repeat scroll, linear-gradient(to left, #000000e6, transparent) right / 16px 100% no-repeat scroll;align-items:center;gap:18px;list-style:none;display:flex;overflow-x:auto}.site-nav ul::-webkit-scrollbar{display:none}.site-nav li{scroll-snap-align:start;flex:none}.site-nav a{min-height:44px;color:var(--stage-muted);align-items:center;font-size:.9375rem;font-weight:600;font-stretch:104%;text-decoration:none;display:inline-flex;position:relative}.site-nav a:hover,.site-nav a[aria-current]{color:var(--stage-ink)}@media (width<=859.98px){.site-nav a:focus-visible{outline-offset:-2px}}.site-nav a[aria-current]:after{content:"";background:var(--lamp);height:2px;position:absolute;bottom:6px;left:0;right:0}@media (width>=860px){.site-header{border-bottom-color:var(--stage-line);top:0}.site-header__inner{grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav cta";column-gap:32px;height:64px}.brand svg{height:26px}.site-nav{justify-self:end;height:auto;margin:0}.site-nav ul{background:0 0;gap:28px;padding:0;overflow:visible}.site-nav .nav-contact{display:none}.site-nav a[aria-current]:after{bottom:4px}}@supports (animation-timeline:scroll()){@media (width>=860px){.site-header{animation:linear both header-hair scroll(root);animation-range:0 64px}}}@keyframes header-hair{0%{border-bottom-color:#0000}to{border-bottom-color:var(--stage-line)}}.crumbs{padding-block:var(--s-5) 0}.crumbs ol{flex-wrap:wrap;gap:0 .6em;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--muted);margin-right:.6em}.crumbs a{color:var(--muted);margin-block:-14px;padding-block:14px;text-decoration:none;display:inline-block}.crumbs a:hover{color:var(--fg);text-underline-offset:.2em;text-decoration:underline}.crumbs [aria-current=page]{color:var(--fg)}.frame{border:1px solid var(--frame-border);background:var(--frame-bar-bg);box-shadow:var(--frame-shadow);border-radius:12px;overflow:clip;container-type:inline-size}.frame__bar{align-items:center;height:clamp(24px,3.2cqi,34px);padding-inline:clamp(8px,1.4cqi,14px);display:flex}.frame__url{background:var(--url-bg);max-width:min(70%,34ch);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;text-transform:lowercase;border-radius:4px;padding:2px 10px;font-size:clamp(10px,1.1cqi,12px);font-weight:500;line-height:1.5;display:block;overflow:hidden}.frame__screen{aspect-ratio:16/10;background:var(--tint,#333);position:relative;overflow:clip}.frame__screen img,.frame__screen video,.frame__screen picture{object-fit:cover;object-position:top;width:100%;height:100%}.frame__screen:after{content:"";pointer-events:none;box-shadow:inset 0 0 0 1px var(--screen-hair);position:absolute;inset:0}.frame--video .frame__screen{aspect-ratio:16/9;background:#000}.frame--video .frame__screen video{object-fit:contain}.frame--free .frame__screen{aspect-ratio:auto}.frame--free .frame__screen img{height:auto}.phone{display:block;container-type:inline-size}.phone__body{background:var(--bezel);box-shadow:var(--phone-ring), var(--frame-shadow);border-radius:13%/6%;padding:2.8cqi;display:block}.phone__screen{aspect-ratio:390/844;background:var(--tint,#333);border-radius:10.5%/4.9%;display:block;position:relative;overflow:clip}.phone__screen img,.phone__screen picture{object-fit:cover;object-position:top;width:100%;height:100%}.phone--app .phone__screen{aspect-ratio:1080/1920}.thumb{aspect-ratio:16/10;border:1px solid var(--frame-border);background:var(--tint,#333);border-radius:8px;overflow:clip}.thumb img,.thumb picture{object-fit:cover;object-position:top;width:100%;height:100%}.mlabel{margin-top:14px}.mlabel__name{font-family:var(--font-display);font-size:var(--t-3);letter-spacing:-.005em;margin-top:6px;font-weight:650;font-stretch:106%;line-height:1.2}.mlabel__name a{color:inherit;text-decoration:none}.mlabel__desc{font-size:var(--t-small);color:var(--muted);margin-top:4px;line-height:1.45}.status{align-items:center;gap:6px;display:inline-flex}.status:before{content:"";background:var(--live-dot);border-radius:50%;flex:none;width:7px;height:7px}.status--offline:before{background:0 0;box-shadow:inset 0 0 0 1.5px}.status--in-development:before{background:linear-gradient(90deg,currentColor 50%,#0000 50%);box-shadow:inset 0 0 0 1.5px}.card{position:relative}.card .mlabel__name a:after{content:"";z-index:1;position:absolute;inset:0}.card .mlabel__name a:focus-visible{outline:none}.card:has(a:focus-visible){outline:2px solid var(--focus);outline-offset:6px;border-radius:14px}.card .frame,.card .phone__body,.card .thumb{will-change:auto}@media (hover:hover){.card:hover .mlabel__name a{text-decoration:underline;text-decoration-color:var(--lamp);text-underline-offset:.2em;text-decoration-thickness:2px}.paper .card:hover .mlabel__name a{text-decoration-color:var(--lamp-ink)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.card .frame,.card .phone__body{transition:translate var(--d-2) var(--ease), box-shadow var(--d-2) var(--ease)}.card:hover .frame,.card:hover .phone__body{box-shadow:var(--frame-shadow-hover);translate:0 -4px}}.head{justify-content:space-between;align-items:end;gap:var(--s-4) var(--s-6);margin-bottom:var(--s-7);flex-wrap:wrap;display:flex}.head>:first-child{max-width:46rem}.eyebrow{margin-bottom:var(--s-4)}.rule{border:0;border-top:1px solid var(--line)}.site-footer{border-top:1px solid var(--stage-line)}.footer-cta{padding-block:var(--section) var(--s-9);border-bottom:1px solid var(--stage-line)}.footer-cta__mail{font-size:var(--t-2);color:var(--stage-ink);text-decoration:underline;text-decoration-color:var(--lamp);text-underline-offset:.18em;word-break:break-word;font-weight:700;font-stretch:108%;text-decoration-thickness:2px;display:inline-block}.footer-cta__mail:hover{color:var(--lamp-hi)}.footer-cols{padding-block:var(--s-8);row-gap:var(--s-7)}.footer-cols h2{font-size:var(--t-label);font-family:var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--stage-muted);margin-bottom:var(--s-4);font-weight:600}.footer-cols ul{padding:0;list-style:none}.footer-cols li a{min-height:36px;color:var(--stage-ink);font-size:var(--t-small);align-items:center;text-decoration:none;display:inline-flex}.footer-cols li a:hover{color:var(--lamp-hi);text-underline-offset:.2em;text-decoration:underline}.footer-cols .count{color:var(--stage-muted);font-variant-numeric:tabular-nums;margin-left:.4em}.footer-small{padding-block:var(--s-5) var(--s-7);border-top:1px solid var(--stage-line)}.footer-small a{color:inherit}@media (width>=720px){.footer-cols>*{grid-column:span 2}}@media (width>=1024px){.footer-cols>*{grid-column:span 3}}.copy-btn{background:var(--raised);min-height:40px;color:var(--fg);border:1px solid var(--line-strong);border-radius:6px;justify-content:center;align-items:center;gap:6px;min-width:4.75rem;padding:0 12px;font-size:.875rem;font-weight:600;display:none}.copy-btn:hover{border-color:var(--fg)}.js .copy-btn{display:inline-flex}.snap-row{grid-auto-flow:column;grid-auto-columns:var(--item,62vw);gap:var(--gap);scroll-snap-type:x mandatory;padding-inline:var(--margin);margin-inline:calc(-1 * var(--margin));scroll-padding-inline:var(--margin);padding-bottom:var(--s-5);scrollbar-width:thin;contain:paint;display:grid;overflow-x:auto}.snap-row>*{scroll-snap-align:start}.field{gap:8px;display:grid}.field+.field,.field+fieldset,fieldset+.field{margin-top:var(--s-5)}.field label,.field legend,fieldset legend{font-size:1rem;font-weight:600}.field .hint{font-size:var(--t-small);color:var(--muted)}.input{background:var(--paper-raised);width:100%;min-height:48px;color:var(--ink);border:1px solid var(--paper-line-strong);border-radius:6px;padding:10px 14px;font-size:1.0625rem;line-height:1.4}textarea.input{resize:vertical;min-height:180px}.input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.input[aria-invalid=true]{border-color:var(--error)}.field-error{color:var(--error);font-size:var(--t-small);font-weight:600}fieldset{border:0;min-width:0;padding:0}.tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:10px;margin-top:10px;display:grid}.tile{display:grid;position:relative}@media (width>=720px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.tile input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.tile span{border:1px solid var(--paper-line-strong);background:var(--paper-raised);border-radius:6px;align-items:center;min-height:48px;padding:10px 14px;font-weight:550;line-height:1.3;display:flex}.tile input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:inset 4px 0 0 var(--lamp)}.tile input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-status{margin-top:var(--s-5);border-radius:6px;padding:14px 16px;font-weight:600}.form-status:empty{margin:0;padding:0}.form-status[data-kind=ok]{color:#0f4f30;background:#dff0e6}.form-status[data-kind=error]{color:#7d1d14;background:#f6e1de}@media (forced-colors:active){.site-nav a[aria-current]:after{forced-color-adjust:none;background:canvastext}.tile input:checked+span{outline-offset:-3px;outline:3px solid highlight}.frame,.phone__body,.thumb{border:1px solid canvastext}}.footer-cta__row[data-astro-cid-jo6i4kqk]{align-items:center;gap:var(--s-4) var(--s-5);margin-top:var(--s-6);flex-wrap:wrap;display:flex}main:focus{outline:none}::view-transition-group(shot){animation-duration:var(--d-vt);animation-timing-function:var(--ease)}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--d-1)}
