@font-face{font-family:Phudu;font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/phudu-vietnamese-B4K-Ri6j.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Phudu;font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/phudu-latin-Cjig0Sq3.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/bvp-400-vietnamese-CRcqvyg1.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/bvp-400-latin-PpnXBOrz.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/bvp-400i-vietnamese-CIY6FnMe.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/bvp-400i-latin-Czf7pqeE.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/bvp-500-vietnamese-DREgrEoJ.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/bvp-500-latin-B6LVzGNe.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/bvp-700-vietnamese-Csr0PCuG.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/bvp-700-latin-DlW1Zbsh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--field: oklch(.5 .2 27);--field-deep: oklch(.43 .175 27);--on-field: oklch(.97 .02 80);--on-field-muted: oklch(.91 .045 60);--foil: oklch(.85 .14 82);--foil-ink: oklch(.3 .12 27);--rule-field: color-mix(in oklab, var(--on-field) 30%, transparent);--paper: oklch(.985 .006 30);--ink: oklch(.22 .03 25);--ink-muted: oklch(.44 .035 25);--accent: oklch(.5 .2 27);--rule: color-mix(in oklab, var(--ink) 16%, transparent);--solid-bg: var(--field);--solid-fg: var(--on-field);--stamp-paper: oklch(.965 .018 80);--postmark: oklch(.2 .06 27);--shade: 60 0 0;--display: "Phudu", "Be Vietnam Pro", system-ui, sans-serif;--text: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--gutter: clamp(1.25rem, 5vw, 4rem);--flap: clamp(1.5rem, 4vw, 3.5rem);--ease: cubic-bezier(.16, 1, .3, 1)}@media (prefers-color-scheme: dark){:root{--field: oklch(.42 .165 27);--field-deep: oklch(.35 .14 27);--paper: oklch(.19 .035 25);--ink: oklch(.94 .012 50);--ink-muted: oklch(.77 .03 40);--accent: oklch(.78 .14 27);--rule: color-mix(in oklab, var(--ink) 20%, transparent);--solid-bg: var(--foil);--solid-fg: var(--foil-ink);--shade: 0 0 0}}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:5rem;scrollbar-color:var(--field) var(--paper);-webkit-text-size-adjust:100%}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}body{margin:0;min-height:100vh;font-family:var(--text);font-size:1rem;line-height:1.65;color:var(--ink);background:var(--paper);accent-color:var(--accent)}::selection{background:var(--foil);color:var(--foil-ink)}img,svg{display:block;max-width:100%}h1,h2,h3,p,ul,dl,dd,figure{margin:0}ul{padding:0;list-style:none}button{font:inherit;color:inherit;cursor:pointer}em{font-style:italic}a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;transition:text-decoration-thickness .2s var(--ease),color .2s var(--ease)}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}.field :focus-visible,.bar :focus-visible{outline-color:var(--foil)}.wrap{width:min(72rem,100% - 2 * var(--gutter));margin-inline:auto}.icon{width:1.25rem;height:1.25rem;flex:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.field{background:var(--field);color:var(--on-field)}.field a:not(.btn){color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.5rem 1.25rem;border:1.5px solid currentColor;border-radius:999px;background:transparent;color:inherit;font-weight:700;font-size:.9375rem;line-height:1.2;text-decoration:none;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}.btn:hover{background:color-mix(in oklab,currentColor 14%,transparent);transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98)}.btn-foil{background:var(--foil);color:var(--foil-ink);border-color:transparent}.btn-foil:hover{background:color-mix(in oklab,var(--foil) 86%,white)}.btn-solid{background:var(--solid-bg);color:var(--solid-fg);border-color:transparent}.btn-solid:hover{background:color-mix(in oklab,var(--solid-bg) 88%,black)}.field .btn-solid{background:var(--foil);color:var(--foil-ink)}.field .btn-solid:hover{background:color-mix(in oklab,var(--foil) 86%,white)}[data-copy] .copy-done,[data-copy] .copy-fail,[data-copy][data-state=done] .copy-label,[data-copy][data-state=fail] .copy-label{display:none}[data-copy][data-state=done] .copy-done,[data-copy][data-state=fail] .copy-fail{display:inline}.bar{position:sticky;top:0;z-index:50;background:var(--field);color:var(--on-field)}.bar-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem}.brand{display:inline-flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none;font-family:var(--display);font-weight:700;font-size:1.125rem;letter-spacing:.01em}.brand-mark{width:2.25rem;height:2.25rem;flex:none;border-radius:8px;overflow:hidden;background:#fff}.brand-mark img{width:100%;height:100%;object-fit:cover;transform:scale(1.35)}.nav{display:flex;align-items:center;gap:.5rem}.nav-links{display:flex;gap:.25rem}.nav-links a{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 .875rem;color:var(--on-field);font-weight:500;font-size:.9375rem;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:.5em}.nav-links a:hover{text-decoration-color:var(--rule-field)}.nav-links a[aria-current=true]{color:var(--foil);text-decoration-color:var(--foil)}.lang,.burger{display:inline-grid;place-items:center;min-width:2.75rem;height:2.75rem;padding:0 .75rem;border:1.5px solid var(--rule-field);border-radius:999px;background:transparent;color:var(--on-field);font-weight:700;font-size:.875rem;transition:background-color .25s var(--ease),border-color .25s var(--ease)}.lang:hover,.burger:hover{background:color-mix(in oklab,var(--on-field) 14%,transparent);border-color:var(--on-field)}.burger{display:none;padding:0}.burger .icon{width:1.375rem;height:1.375rem}.burger .icon path{transition:transform .35s var(--ease),opacity .2s var(--ease);transform-origin:12px 12px}.burger[aria-expanded=true] .icon path:nth-child(1){transform:translateY(6px) rotate(45deg)}.burger[aria-expanded=true] .icon path:nth-child(2){opacity:0}.burger[aria-expanded=true] .icon path:nth-child(3){transform:translateY(-6px) rotate(-45deg)}@media (max-width: 47.99rem){.burger{display:inline-grid}.nav-links{position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;padding:.5rem var(--gutter) 1.5rem;background:var(--field-deep);box-shadow:0 1.25rem 1.5rem -.75rem rgb(var(--shade) / .45);visibility:hidden;opacity:0;clip-path:inset(0 0 100% 0);transition:clip-path .4s var(--ease),opacity .25s var(--ease),visibility 0s .4s}.nav[data-open=true] .nav-links{visibility:visible;opacity:1;clip-path:inset(0 0 -2rem 0);transition:clip-path .4s var(--ease),opacity .25s var(--ease),visibility 0s}.nav-links li+li{border-top:1px solid var(--rule-field)}.nav-links a{display:flex;min-height:3.5rem;padding:0;font-family:var(--display);font-weight:600;font-size:1.375rem}}.flap{filter:drop-shadow(0 .5rem .75rem rgb(var(--shade) / .2))}.flap>.field{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--flap)),50% 100%,0 calc(100% - var(--flap)))}.hero{padding:clamp(2rem,5vw,4rem) 0 calc(var(--flap) + clamp(2rem,4vw,3rem))}.hero-grid{display:grid;align-items:center;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"copy stamp" "give give";column-gap:clamp(2rem,5vw,5rem);row-gap:clamp(2rem,4.5vw,3.5rem)}.hero-copy{grid-area:copy;min-width:0}.hello{font-size:clamp(1.0625rem,1.6vw,1.25rem);font-weight:500;color:var(--on-field-muted)}h1{margin-top:.25rem;font-family:var(--display);font-weight:800;font-size:clamp(2.75rem,9.6vw,6rem);line-height:.98;letter-spacing:-.01em;text-transform:uppercase;color:var(--foil)}.lead{margin-top:1rem;min-height:1.65em;font-size:clamp(1.125rem,2.2vw,1.5rem);font-weight:500;line-height:1.4}.typed{position:relative;display:inline-block;min-height:1.4em;padding-right:.4ch;white-space:nowrap}.typed:after{content:"";position:absolute;right:0;top:.12em;bottom:.12em;width:2px;background:var(--foil);animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:clamp(1.25rem,3vw,2rem)}.stamp-wrap{grid-area:stamp;position:relative;justify-self:end;transform:rotate(3deg);filter:drop-shadow(0 .75rem 1rem rgb(var(--shade) / .3))}.stamp{--s: clamp(11px, 1.15vw, 16px);width:calc(var(--s) * 20);height:calc(var(--s) * 20);padding:calc(var(--s) * 1.15);background:var(--stamp-paper);-webkit-mask:radial-gradient(circle at 50% 50%,#0000 calc(var(--s) * .3),#000 calc(var(--s) * .3 + .6px)) calc(var(--s) / -2) calc(var(--s) / -2) / var(--s) var(--s),linear-gradient(#000 0 0) 50% 50% / calc(100% - var(--s)) calc(100% - var(--s)) no-repeat;mask:radial-gradient(circle at 50% 50%,#0000 calc(var(--s) * .3),#000 calc(var(--s) * .3 + .6px)) calc(var(--s) / -2) calc(var(--s) / -2) / var(--s) var(--s),linear-gradient(#000 0 0) 50% 50% / calc(100% - var(--s)) calc(100% - var(--s)) no-repeat}.stamp img{width:100%;height:100%;object-fit:cover}.postmark{position:absolute;left:-24%;bottom:-15%;width:92%;max-width:none;color:var(--postmark);opacity:.88;transform:rotate(-11deg);transform-origin:30% 50%;font-family:var(--display);font-weight:700;letter-spacing:.08em;pointer-events:none}.give{grid-area:give;display:grid;align-items:stretch;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem)}.window{padding:clamp(1.125rem,2.4vw,1.75rem) clamp(1.25rem,2.8vw,2rem);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:inset 0 3px 8px rgb(var(--shade) / .3)}.window .btn-solid{background:var(--solid-bg);color:var(--solid-fg)}.window .btn-solid:hover{background:color-mix(in oklab,var(--solid-bg) 88%,black)}.window :focus-visible{outline-color:var(--accent)}.window-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem}.window-title{font-weight:700}.window-meta{color:var(--ink-muted);font-size:.9375rem}.window-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:.375rem}.acc{font-family:var(--display);font-weight:700;font-size:clamp(2rem,5.4vw,3.5rem);line-height:1.1;letter-spacing:.03em;font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all;border-radius:6px}.acc.flash{animation:flash 1.1s var(--ease)}@keyframes flash{0%{background:var(--foil);color:var(--foil-ink);box-shadow:0 0 0 .375rem var(--foil)}to{background:transparent;box-shadow:0 0 0 .375rem transparent}}.window-note{margin-top:.5rem;color:var(--ink-muted);font-size:.9375rem}.window-note em{color:var(--ink);font-weight:500}.give-links{display:grid;align-content:stretch}.give-links li{display:grid}.give-links li+li{border-top:1px solid var(--rule-field)}.give-links a{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:1rem;padding:.875rem 0;text-decoration:none}.give-name{font-family:var(--display);font-weight:700;font-size:clamp(1.375rem,2.4vw,1.75rem);line-height:1.2}.give-act{grid-column:1;color:var(--on-field-muted);font-size:.9375rem}.give-links .icon{grid-column:2;grid-row:1 / span 2;width:1.75rem;height:1.75rem;color:var(--foil);transition:transform .35s var(--ease)}.give-links a:hover .icon{transform:translate(4px,-4px)}@media (max-width: 56rem){.give{grid-template-columns:minmax(0,1fr);gap:.75rem}.give-links{margin-top:.25rem}}@media (max-width: 44rem){.hero-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"stamp" "copy" "give";row-gap:1.5rem}.stamp{--s: clamp(6.5px, 1.9vw, 10px) }.stamp-wrap{margin:0 .75rem -.25rem 0}}.sec{padding:clamp(4rem,9vw,7.5rem) 0}.sec:not(.field)+.sec:not(.field){padding-top:0}h2{margin-bottom:clamp(1.5rem,4vw,3rem);font-family:var(--display);font-weight:800;font-size:clamp(2.25rem,6vw,4rem);line-height:1.12;letter-spacing:-.005em;text-transform:uppercase;color:var(--accent);text-wrap:balance}.field h2{color:var(--foil)}.statement{max-width:20ch;font-weight:500;font-size:clamp(1.5rem,3.2vw,2.25rem);line-height:1.28;letter-spacing:-.015em;text-wrap:balance}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,5rem);align-items:start}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.25rem,3vw,2.5rem)}.facts>div{padding:1rem 0 1.125rem;border-top:1px solid var(--rule)}.facts dt{color:var(--ink-muted);font-size:.875rem}.facts dd{font-weight:500;font-size:1.0625rem;overflow-wrap:anywhere}.socials{display:flex;flex-wrap:wrap;gap:.75rem;padding-top:1.5rem;border-top:1px solid var(--rule)}.socials .btn{color:var(--ink)}.skills{border-bottom:1px solid var(--rule)}.skills li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.9fr);gap:.25rem clamp(1.5rem,5vw,4rem);align-items:baseline;padding:clamp(1.125rem,2.4vw,1.75rem) 0;border-top:1px solid var(--rule)}.skills h3{font-family:var(--display);font-weight:700;font-size:clamp(1.5rem,3.4vw,2.25rem);line-height:1.2}.skills p{max-width:60ch;color:var(--ink-muted);font-size:1.0625rem}.methods{display:grid;grid-template-columns:1.35fr 1fr 1fr}.method{display:flex;flex-direction:column;align-items:flex-start;gap:.375rem;padding:.25rem clamp(1.25rem,3vw,2.5rem) .25rem}.method:first-child{padding-left:0}.method:last-child{padding-right:0}.method+.method{border-left:1px solid var(--rule-field)}.method h3{font-family:var(--display);font-weight:700;font-size:clamp(1.375rem,2.4vw,1.75rem);line-height:1.2}.method-meta,.method-note{color:var(--on-field-muted);font-size:.9375rem}.method-note em{color:var(--on-field);font-weight:500}.method .acc{margin-top:.5rem;font-size:clamp(2rem,4.4vw,3rem);color:var(--foil)}.method .acc.flash{animation-name:flash-field}@keyframes flash-field{0%{background:var(--foil);color:var(--foil-ink);box-shadow:0 0 0 .375rem var(--foil)}60%{color:var(--foil-ink)}to{background:transparent;color:var(--foil);box-shadow:0 0 0 .375rem transparent}}.method .btn{margin-top:.75rem}.method .acc+.btn{margin-top:.25rem}.method-note{margin-top:.5rem}.thanks{margin-top:clamp(2.5rem,6vw,4.5rem);padding-top:clamp(1.5rem,3vw,2.25rem);border-top:1px solid var(--rule-field);font-size:clamp(1.125rem,2vw,1.375rem);font-weight:500}.thanks em{display:block;margin-top:.25rem;max-width:18ch;font-family:var(--display);font-style:normal;font-weight:700;font-size:clamp(2rem,6vw,4rem);line-height:1.15;color:var(--foil);text-wrap:balance}@media (max-width: 56rem){.about-grid,.methods{grid-template-columns:minmax(0,1fr)}.method,.method:first-child,.method:last-child{padding:1.5rem 0}.method:first-child{padding-top:0}.method+.method{border-left:0;border-top:1px solid var(--rule-field)}}@media (max-width: 36rem){.facts,.skills li{grid-template-columns:minmax(0,1fr)}}.contact .statement{max-width:24ch}.contact .cta{margin-top:clamp(1.75rem,4vw,2.75rem)}.contact .btn:not(.btn-solid){color:var(--ink)}.foot{padding:1.5rem 0 3rem;color:var(--ink-muted);font-size:.9375rem}.foot .wrap{padding-top:1.5rem;border-top:1px solid var(--rule)}.doc-wrap{width:min(44rem,100% - 2 * var(--gutter));margin-inline:auto}.doc-head{padding:clamp(2rem,6vw,4rem) 0 calc(var(--flap) + clamp(1.5rem,4vw,2.5rem))}.doc-head h1{margin:0;font-size:clamp(2.25rem,7vw,4rem);line-height:1.12;text-wrap:balance}.doc-body{padding:clamp(2.5rem,7vw,4.5rem) 0 clamp(3rem,8vw,5rem);font-size:1.0625rem;line-height:1.75}.doc-body section+section{margin-top:clamp(2.25rem,5vw,3.25rem)}.doc-body h2{margin-bottom:.75rem;font-weight:700;font-size:clamp(1.375rem,3vw,1.75rem);line-height:1.25;text-transform:none;letter-spacing:0}.doc-body p+ul{margin-top:.75rem}.doc-body ul{padding-left:1.25rem;list-style:disc}.doc-body li{padding-left:.25rem}.doc-body li+li{margin-top:.375rem}.doc-body li::marker{color:var(--accent)}.doc-foot .wrap{width:min(44rem,100% - 2 * var(--gutter))}@media (prefers-reduced-motion: no-preference){.hero h1{animation:rise .9s var(--ease) backwards}.hero .stamp-wrap{animation:stamp-in .9s var(--ease) .15s backwards}.hero .postmark{animation:postmark .4s var(--ease) .85s backwards}.hero .window{animation:window-open .9s var(--ease) .35s backwards}@keyframes rise{0%{transform:translateY(.35em);clip-path:inset(0 0 100% 0)}to{transform:none;clip-path:inset(-.2em 0 -.2em 0)}}@keyframes stamp-in{0%{opacity:0;transform:translate(1.5rem,-2rem) rotate(14deg)}}@keyframes postmark{0%{opacity:0;transform:rotate(-11deg) scale(1.5)}}@keyframes window-open{0%{clip-path:inset(50% 0 50% 0 round 14px)}to{clip-path:inset(0 round 14px)}}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}.typed:after{display:none}}
