@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2) format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2) format("woff2-variations");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{--bg: #202423;--deep: #181c1b;--surface: #2a2f2e;--band: #262a29;--ink: #e3e6e4;--ink-2: #a4aba8;--line: #4a5250;--line-soft: #383f3d;--live: #e3a521;--live-ink: #1d2221;--off: #3f4645;--ok: #7fc495;--err: #f0897c;--font: "Archivo Variable", "Archivo", system-ui, sans-serif;--wrap: 1180px;--gutter: clamp(16px, 4vw, 40px);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:1.0625rem;line-height:1.55;font-stretch:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p,ol,ul,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--live);outline-offset:3px}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--bg);padding:8px 12px;z-index:10}.skip:focus{left:8px}.site-header{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line-soft)}.header-inner{display:flex;align-items:center;gap:24px;min-height:64px}.wordmark{display:flex;align-items:baseline;gap:8px;text-decoration:none;margin-right:auto}.wm-main{font-weight:800;font-stretch:125%;font-size:1.35rem;letter-spacing:-.01em}.wm-sub{font-stretch:75%;font-size:.9rem;color:var(--ink-2)}.nav{display:flex;gap:22px}.nav a{text-decoration:none;font-size:.95rem;color:var(--ink-2)}.nav a:hover{color:var(--ink);text-decoration:underline}.lang{font:inherit;font-size:.9rem;background:none;color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:5px 10px;cursor:pointer}.lang:hover{border-color:var(--ink)}.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,80px);align-items:center;padding-block:clamp(56px,10vw,120px) clamp(56px,8vw,104px)}.tagline{font-stretch:75%;font-size:1rem;color:var(--ink-2);margin-bottom:20px}h1{font-size:clamp(2.35rem,5.2vw,4.4rem);line-height:1.02;font-weight:650;font-stretch:125%;letter-spacing:-.025em;max-width:15ch;text-wrap:balance}.lede{margin-top:28px;font-size:1.2rem;line-height:1.5;max-width:54ch;color:var(--ink-2)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.btn{display:inline-flex;align-items:center;font:inherit;font-weight:600;font-size:1rem;padding:12px 20px;border-radius:3px;text-decoration:none;cursor:pointer;border:1px solid transparent}.btn-primary{background:var(--live);color:var(--live-ink)}.btn-primary:hover{background:color-mix(in srgb,var(--live) 85%,var(--ink))}.btn-primary:disabled{opacity:.6;cursor:progress}.btn-quiet{border-color:var(--line);color:var(--ink)}.btn-quiet:hover{border-color:var(--ink)}.chain{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:18px 18px 18px 52px}.chain-list{display:grid;gap:10px}.node{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"name read" "detail detail";column-gap:12px;padding:12px 14px;border:1px solid var(--line-soft);border-radius:3px;background:var(--bg)}.node-mark{position:absolute;left:-40px;top:50%;width:12px;height:12px;margin-top:-6px;background:var(--surface);border:2px solid var(--ink-2);z-index:1}.node-mark:after{content:"";position:absolute;left:10px;top:3px;width:18px;border-top:1px solid var(--line)}.node-name{grid-area:name;font-weight:650;font-stretch:112%}.node-detail{grid-area:detail;font-size:.875rem;color:var(--ink-2)}.node-read{grid-area:read;justify-self:end;font-stretch:75%;font-variant-numeric:tabular-nums;font-size:.95rem;white-space:pre;display:inline-flex;align-items:center;gap:6px}.node-read:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--live)}.bus{position:absolute;left:23px;top:40px;bottom:40px;width:2px;background:var(--line);overflow:hidden}.packet{position:absolute;left:-2px;bottom:0;width:6px;height:14px;background:var(--live);animation:rise 4.8s linear infinite}.packet:nth-child(2){animation-delay:-1.6s}.packet:nth-child(3){animation-delay:-3.2s}@keyframes rise{0%{transform:translateY(14px)}to{transform:translateY(-460px)}}@media (prefers-reduced-motion: reduce){.packet{animation:none}.packet:nth-child(1){bottom:20%}.packet:nth-child(2){bottom:55%}.packet:nth-child(3){bottom:85%}}.section{padding-block:clamp(64px,9vw,112px)}.band{background:var(--band);border-block:1px solid var(--line-soft)}h2{font-size:clamp(1.75rem,3vw,2.4rem);line-height:1.1;font-weight:650;font-stretch:118%;letter-spacing:-.015em}h3{font-size:1.2rem;line-height:1.25;font-weight:650;font-stretch:108%}.section-head p{margin-top:16px;color:var(--ink-2);max-width:46ch}.section-head.narrow{margin-bottom:48px}.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,80px)}.split>.section-head{align-self:start;position:sticky;top:96px}.stack{margin-top:12px;font-stretch:75%;font-size:.95rem;color:var(--ink-2)}.services{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;padding-block:26px;border-bottom:1px solid var(--line)}.service h3{grid-column:1}.service-layers{grid-column:2;grid-row:1;display:flex;align-items:center;gap:10px}.service>p{grid-column:1 / -1;max-width:64ch}.service>p:not(.stack){margin-top:10px}.strip{display:inline-flex;flex-direction:row;gap:3px}.strip-cell{width:14px;height:8px;background:var(--off)}.strip-cell.on{background:var(--ink)}.strip-names{font-stretch:75%;font-size:.875rem;color:var(--ink-2);min-width:11ch}.project{display:flex;flex-direction:column;gap:12px;padding:28px;background:var(--surface);border:1px solid var(--line)}.project h3{font-size:1.35rem}.project-ongoing{border-color:var(--live)}.project-featured{background:var(--deep);padding:clamp(24px,4vw,44px);margin-bottom:24px}.project-featured h3{font-size:clamp(1.5rem,3vw,2rem)}.project-featured .project-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:12px}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px}.kicker{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--live)}.badge{background:var(--live);color:var(--live-ink);padding:2px 8px}.project-body{display:grid;gap:16px}.project-body dt{font-weight:650;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.project-body dd{max-width:66ch}.project .stack{margin-top:auto;padding-top:8px}.work-more{margin-top:32px;font-weight:700}.work-more a{color:var(--live)}.plans{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.plan{display:flex;flex-direction:column;gap:8px;padding:28px;background:var(--surface);border:1px solid var(--line)}.plan-featured{border:3px solid var(--live);padding:26px}.plan-badge{align-self:flex-start;background:var(--live);color:var(--live-ink);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px}.plan h3{font-size:1.2rem}.plan-price{font-size:1.75rem;font-weight:700;line-height:1.1;margin-top:8px}.plan-unit{color:var(--ink-2);font-size:.95rem}.plan-list{list-style:none;padding:16px 0 0;margin-top:8px;display:grid;gap:8px;border-top:1px solid var(--line-soft)}.plan-list li{font-size:.95rem}.plan-note{margin-top:24px;color:var(--ink-2);max-width:70ch}@media (max-width: 960px){.plans{grid-template-columns:minmax(0,1fr)}}.skills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px}.skill-group h3{font-size:1.05rem;padding-bottom:10px;border-bottom:2px solid var(--line)}.skill-group ul{list-style:none;padding:0;margin-top:12px;display:grid;gap:8px}.skill-group li{font-size:.97rem;color:var(--ink-2)}@media (max-width: 960px){.skills{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.skills{grid-template-columns:minmax(0,1fr)}}.repos{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.repo{display:flex;flex-direction:column;gap:10px;padding:24px;background:var(--surface);border:1px solid var(--line)}.repo h3{font-size:1.1rem}.repo .stack{margin-top:auto}.repo-link{font-weight:600;font-size:.95rem}@media (max-width: 960px){.repos{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.repos{grid-template-columns:minmax(0,1fr)}}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-weight:650;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";float:right;font-weight:400}.faq details[open] summary:after{content:"−"}.faq details p{margin-top:10px;max-width:66ch;color:var(--ink-2)}.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;counter-reset:step}.step{position:relative;padding-top:52px}.step:before{content:"";position:absolute;top:17px;left:0;right:-24px;border-top:2px solid var(--line)}.step:last-child:before{right:0}.step-n{position:absolute;top:0;left:0;width:36px;height:36px;display:grid;place-items:center;background:var(--bg);border:2px solid var(--ink);font-weight:700;font-stretch:112%}.step p{margin-top:8px;font-size:.975rem;color:var(--ink-2)}.about{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:clamp(28px,4vw,56px)}.about-text p+p{margin-top:16px}.about-text p{max-width:62ch}.links{display:flex;gap:20px;margin-top:24px!important;font-weight:600}.facts{border-top:1px solid var(--ink);align-self:start}.facts div{padding-block:14px;border-bottom:1px solid var(--line)}.facts dt{font-size:.9rem;color:var(--ink-2)}.facts dd{font-weight:600}.direct{margin-top:28px!important}.direct a{font-weight:600;overflow-wrap:anywhere}.contact{display:grid;gap:18px;max-width:640px}.field{display:grid;gap:6px}.field label{font-weight:600;font-size:.95rem}.opt{font-weight:400;color:var(--ink-2)}.field input,.field textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:11px 12px;width:100%}.field textarea{resize:vertical}.field input:focus-visible,.field textarea:focus-visible{outline-offset:0;border-color:var(--ink)}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.privacy{font-size:.9rem;color:var(--ink-2)}.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.status{font-weight:600}.status[data-kind=ok]{color:var(--ok)}.status[data-kind=error]{color:var(--err)}.status[data-kind=busy]{color:var(--ink-2)}.site-footer{padding-block:28px;font-size:.9rem;color:var(--ink-2)}.footer-inner{display:flex;flex-wrap:wrap;gap:8px 32px}.footer-inner p:last-child{margin-left:auto}@media (max-width: 960px){.hero,.split,.project,.about{grid-template-columns:minmax(0,1fr)}.split>.section-head{position:static}.project .stack{grid-column:1}.steps{grid-template-columns:minmax(0,1fr);gap:0}.step{padding:0 0 28px 56px}.step:before{top:36px;bottom:0;left:17px;right:auto;border-top:0;border-left:2px solid var(--line)}.step:last-child:before{display:none}.step h3{padding-top:6px}}@media (max-width: 720px){.nav,.wm-sub{display:none}.service{grid-template-columns:minmax(0,1fr)}.service-layers{grid-column:1;grid-row:auto;margin-top:8px}.footer-inner p:last-child{margin-left:0}}.mail-cta{align-self:center;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.mail-cta .btn{font-size:1.15rem;overflow-wrap:anywhere}.contact-alt{margin-top:12px;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}.contact-direct{margin-top:8px;color:var(--ink-2);overflow-wrap:anywhere}.site-header{background:color-mix(in srgb,var(--deep) 94%,transparent)}.hero-band{background:var(--deep)}.hero-band .chain{background:var(--band)}.hero-band .node{background:var(--surface)}.hero .tagline{color:var(--live);font-weight:700;font-stretch:100%;letter-spacing:.14em;text-transform:uppercase;font-size:.85rem}.hero h1{max-width:18ch}.trust{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:36px;font-size:.95rem;color:var(--ink-2)}.proof{background:var(--live);color:var(--live-ink)}.proof-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:24px;padding-block:28px}.proof-n{font-size:2.5rem;font-weight:800;line-height:1}.eyebrow{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}.sectors{padding-top:40px}.sectors ul{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.sectors li{border:1px solid var(--line);padding:8px 16px;font-weight:600}.section-head.wide p{max-width:62ch}.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}.offer{display:flex;flex-direction:column;gap:14px;padding:32px;background:var(--surface);border:1px solid var(--line)}.offer h3{font-size:1.6rem}.offer-body{color:var(--ink-2)}.offer-points{display:grid;gap:8px;margin-top:8px}.offer-link{margin-top:auto;padding-top:16px;font-weight:700;color:var(--live)}.more{margin-top:32px}.more summary{cursor:pointer;font-weight:700;color:var(--live)}.more .services{margin-top:16px}.steps .step:before{border-top-color:var(--live)}.step-n{border-color:var(--live)}.plan{background:var(--surface)}.contact-band{background:var(--deep);border-top:4px solid var(--live)}.contact-alt{margin-top:12px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}.contact-direct{color:var(--ink-2);overflow-wrap:anywhere}@media (max-width: 960px){.project-featured .project-body{grid-template-columns:minmax(0,1fr)}}.hero h1{font-size:clamp(2rem,4.2vw,3.4rem);font-stretch:112%;max-width:20ch}.section-head.wide{margin-bottom:48px}#funding{background:var(--deep)}.eu-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:20px;font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--live)}.section-head.wide .eu-eyebrow{margin-top:0;max-width:none;color:var(--live)}.eu-mark{flex:none;border:1px solid var(--line)}.funding-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px}.funding-step{position:relative;padding-top:52px}.funding-step .step-n{border-color:var(--live);background:var(--deep)}.funding-step p{margin-top:8px;color:var(--ink-2)}.fees-h{margin-top:56px}.fees{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px;margin-top:20px}.fee{display:grid;gap:8px;align-content:start;padding:24px;background:var(--surface);border:1px solid var(--line)}.fee h4{font-size:1.2rem;font-weight:650}.fee p:last-child{color:var(--ink-2)}.funding-note{margin-top:24px;max-width:75ch;font-size:.9rem;color:var(--ink-2)}.funding-cta{margin-top:28px}.fee h4{margin:0}
