@font-face{font-family:Bricolage Grotesque;font-weight:400 800;font-style:normal;font-display:swap;src:url(/fonts/BricolageGrotesque-VariableFont_opsz_wdth_wght.ttf) format("truetype")}@font-face{font-family:Sora;font-weight:400 700;font-style:normal;font-display:swap;src:url(/fonts/Sora-VariableFont_wght.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:300;font-style:normal;font-display:swap;src:url(/fonts/BeVietnamPro-Light.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:300;font-style:italic;font-display:swap;src:url(/fonts/BeVietnamPro-LightItalic.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/BeVietnamPro-Regular.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/BeVietnamPro-Italic.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/BeVietnamPro-Medium.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:500;font-style:italic;font-display:swap;src:url(/fonts/BeVietnamPro-MediumItalic.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/BeVietnamPro-SemiBold.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:600;font-style:italic;font-display:swap;src:url(/fonts/BeVietnamPro-SemiBoldItalic.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/BeVietnamPro-Bold.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:700;font-style:italic;font-display:swap;src:url(/fonts/BeVietnamPro-BoldItalic.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/BeVietnamPro-ExtraBold.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:900;font-style:normal;font-display:swap;src:url(/fonts/BeVietnamPro-Black.ttf) format("truetype")}:root{--cream-50:#FDFBF6;--cream-100:#FAF7F0;--cream-200:#F5F1E8;--cream-300:#EFE9DB;--cream-400:#E5DDCB;--ink-900:#1A1A18;--ink-700:#3A3A35;--ink-500:#6B6A62;--ink-400:#8E8C81;--ink-300:#B6B3A6;--honey-600:#C9762B;--honey-500:#E0913C;--honey-300:#F1C893;--honey-100:#FBEAD2;--fb:#1877F2;--fb-tint:#E7F0FE;--yt:#FF0000;--yt-tint:#FFE8E8;--tiktok-cyan:#25F4EE;--tiktok-pink:#FE2C55;--tiktok-tint:#E6FCFB;--ig-1:#FEA000;--ig-2:#E1306C;--ig-3:#833AB4;--ig-tint:#FBE9EF;--zalo:#0068FF;--zalo-tint:#E4EFFF;--success:#2E9E5B;--warning:#E0913C;--danger:#D8503C;--ig-gradient:linear-gradient(135deg,var(--ig-1) 0%,var(--ig-2) 52%,var(--ig-3) 100%);--tiktok-gradient:linear-gradient(135deg,var(--tiktok-cyan) 0%,var(--tiktok-pink) 100%);--r-xs:8px;--r-sm:14px;--r-md:20px;--r-lg:28px;--r-xl:36px;--r-2xl:48px;--r-pill:999px;--sh-xs:0 1px 2px rgba(40,33,22,.06);--sh-sm:0 2px 8px rgba(40,33,22,.06),0 1px 2px rgba(40,33,22,.05);--sh-md:0 8px 24px rgba(40,33,22,.08),0 2px 6px rgba(40,33,22,.05);--sh-lg:0 18px 48px rgba(40,33,22,.12),0 4px 12px rgba(40,33,22,.06);--sh-glass:0 8px 32px rgba(40,33,22,.10),inset 0 1px 0 rgba(255,255,255,.6);--sh-honey:0 10px 28px rgba(224,145,60,.30);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--s-24:96px;--font-display:"Bricolage Grotesque","Sora",system-ui,sans-serif;--font-alt:"Sora",system-ui,sans-serif;--font-body:"Be Vietnam Pro",system-ui,sans-serif;--glass-bg:rgba(253,251,246,.62);--glass-border:rgba(255,255,255,.55);--glass-blur:16px;--ease:cubic-bezier(.22,.61,.36,1);--ease-soft:cubic-bezier(.34,1.56,.64,1)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;overflow-x:hidden;overflow-x:clip}body{background:var(--cream-100);font-family:var(--font-body);color:var(--ink-900);position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{max-width:100%;height:auto}::selection{background:var(--honey-300);color:var(--ink-900)}a{color:inherit;text-decoration:none}button{font-family:inherit}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.display-1{font-size:clamp(48px,7vw,92px);line-height:.98;letter-spacing:-.03em}.display-1,.display-2{font-family:var(--font-display);font-weight:700;color:var(--ink-900);text-wrap:balance}.display-2{font-size:clamp(38px,5vw,64px);line-height:1.02;letter-spacing:-.025em}.h1{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,3.4vw,44px);line-height:1.06;letter-spacing:-.02em;color:var(--ink-900)}.h2{font-size:clamp(26px,2.4vw,34px);line-height:1.12;letter-spacing:-.015em}.h2,.h3{font-family:var(--font-display);font-weight:600;color:var(--ink-900)}.h3{font-size:22px;line-height:1.2;letter-spacing:-.01em}.eyebrow{font-family:var(--font-body);font-weight:600;font-size:13px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--honey-600)}.lead{font-size:clamp(17px,1.4vw,20px);line-height:1.55}.body,.lead{font-family:var(--font-body);font-weight:400;color:var(--ink-700)}.body{font-size:16px;line-height:1.65}.small{font-weight:400;font-size:14px;line-height:1.5;color:var(--ink-500)}.caption,.small{font-family:var(--font-body)}.caption{font-weight:500;font-size:12px;line-height:1.4;letter-spacing:.01em;color:var(--ink-400)}.wordmark{font-family:Bricolage Grotesque,serif;font-weight:700;letter-spacing:.02em}.grain:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.reveal{opacity:1;transform:none}.reveal.in{animation:revealIn .6s cubic-bezier(.22,.61,.36,1)}@keyframes revealIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.lift{transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.lift:hover{transform:translateY(-4px)}.lift-sm-md{box-shadow:var(--sh-sm)}.lift-sm-md:hover{box-shadow:var(--sh-md)}.lift-sm-lg{box-shadow:var(--sh-sm)}.lift-sm-lg:hover{box-shadow:var(--sh-lg)}.lift-md-lg{box-shadow:var(--sh-md)}.lift-md-lg:hover{box-shadow:var(--sh-lg)}.lift-xs-sm{box-shadow:var(--sh-xs)}.lift-xs-sm:hover{box-shadow:var(--sh-sm)}.lift-icon{transition:transform .3s var(--ease-soft)}.lift:hover .lift-icon{transform:scale(1.07) rotate(-4deg)}.lift:hover .lift-icon-sm{transform:scale(1.08) rotate(-4deg)}.lift-arrow{opacity:.4;transition:transform .25s var(--ease),opacity .25s var(--ease)}.lift:hover .lift-arrow{opacity:1;transform:translate(2px,-2px)}@keyframes blobDrift{0%{transform:translate(0) scale(1)}33%{transform:translate(28px,-22px) scale(1.08)}66%{transform:translate(-20px,18px) scale(.95)}to{transform:translate(0) scale(1)}}@keyframes floaty{0%{transform:translateY(0)}50%{transform:translateY(-9px)}to{transform:translateY(0)}}@keyframes zaloPulse{0%{box-shadow:0 0 0 0 rgba(0,104,255,.5),0 12px 30px rgba(0,104,255,.4)}70%{box-shadow:0 0 0 18px rgba(0,104,255,0),0 12px 30px rgba(0,104,255,.4)}to{box-shadow:0 0 0 0 rgba(0,104,255,0),0 12px 30px rgba(0,104,255,.4)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes spinSlow{to{transform:rotate(1turn)}}@keyframes popIn{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}@keyframes pgfade{0%{transform:translateY(8px)}to{transform:none}}.anim-blob{animation:blobDrift 16s ease-in-out infinite}.anim-floaty{animation:floaty 4.5s ease-in-out infinite}.marquee-track{display:flex;width:max-content;animation:marquee 32s linear infinite}.marquee-wrap:hover .marquee-track{animation-play-state:paused}#scroll-prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;background:linear-gradient(90deg,var(--honey-500),var(--ig-2),var(--zalo));background-size:200% 100%;animation:gradientShift 6s ease infinite;transition:width .1s linear}@media (prefers-reduced-motion:reduce){#scroll-prog,.anim-blob,.anim-floaty,.marquee-track,.reveal.in{animation:none}}@media (max-width:900px){.bento-grid,.commit-grid,.proc-grid,.stat-grid,.why-grid{grid-template-columns:repeat(2,1fr)!important}.bento-grid>*{grid-column:span 1!important}.case-grid,.chart-grid,.contact-grid,.est-grid,.sol-grid,.thchat-card{grid-template-columns:1fr!important}.thchat-demo{justify-self:center}.foot-grid,.thchat-feat{grid-template-columns:1fr 1fr!important}.display-1{font-size:clamp(36px,9vw,60px)!important}.display-2{font-size:clamp(28px,7vw,48px)!important}section{overflow-x:clip!important;overflow-y:visible!important}[class*=anim-blob]>div,div[style*="position: absolute"][style*="border-radius: 50%"]{max-width:80vw!important;max-height:80vw!important}div[style*="grid-template-columns: repeat(3"],div[style*="grid-template-columns: repeat(4"]{grid-template-columns:repeat(2,1fr)!important}div[style*="grid-template-columns: .9fr"],div[style*="grid-template-columns: 1.1fr"],div[style*="grid-template-columns: 1.6fr"],div[style*="grid-template-columns: 1fr 1.1fr"],div[style*="grid-template-columns: 1fr 1fr"],div[style*="grid-template-columns: 1fr auto"]{grid-template-columns:1fr!important}div[style*="grid-auto-rows: 168px"]{grid-auto-rows:auto!important}h1 span[style*="white-space: nowrap"],h1 span[style*="whiteSpace: nowrap"]{white-space:normal!important}}@media (max-width:640px){.bento-grid,.case-grid,.cf-row,.commit-grid,.foot-grid,.proc-grid,.stat-grid,.thchat-feat,.why-grid{grid-template-columns:1fr!important}.foot-grid>div{text-align:left}.display-1{font-size:clamp(30px,9vw,44px)!important;line-height:1.05!important}.display-2{font-size:clamp(24px,8vw,36px)!important;line-height:1.1!important}.h1{font-size:clamp(22px,6vw,30px)!important}.h2{font-size:clamp(20px,5.5vw,26px)!important}.lead{font-size:clamp(15px,4vw,17px)!important}main section,main>*>section{padding-left:clamp(12px,4vw,20px)!important;padding-right:clamp(12px,4vw,20px)!important}.anim-blob>div{filter:blur(36px)!important}footer .reveal>[style*=border-radius]{padding:36px 20px!important}footer button{font-size:14px!important}figure{padding:24px 16px!important}.thchat-demo>div{max-width:100%!important;margin:0 auto}.kit-drawer{display:block!important}}@media (max-width:420px){.display-1{font-size:28px!important}.display-2{font-size:22px!important}.anim-floaty+h1~div[style*="display: flex"][style*="gap: 14px"]{flex-direction:column!important;align-items:stretch!important}.anim-floaty+h1~div[style*="display: flex"][style*="gap: 14px"] a,.anim-floaty+h1~div[style*="display: flex"][style*="gap: 14px"] button{width:100%!important;justify-content:center!important}[class*=lift]{padding:16px!important}}@media (max-width:768px){body>div[style*="grid-template-columns: 240px"]{grid-template-columns:1fr!important}aside[style*="background: var(--ink-900)"]{flex-direction:row!important;align-items:center!important;padding:12px 16px!important;gap:12px!important;overflow-x:auto;flex-wrap:wrap}aside[style*="background: var(--ink-900)"] nav{flex-direction:row!important;margin-top:0!important;flex:1 1}aside[style*="background: var(--ink-900)"]>div:last-child{margin-top:0!important;border-top:0!important;padding-top:0!important;margin-left:auto}table{display:block;overflow-x:auto;white-space:nowrap}table td,table th{white-space:normal}}@media (max-width:640px){header[style*="justify-content: space-between"]{flex-direction:column!important;align-items:flex-start!important}}@media (hover:none) and (pointer:coarse){.lift,a[role=button],button{min-height:44px}}