@font-face{font-family:Michroma;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ac41ccbdfd25c928-s.1039cl0xt03-f.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Michroma;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fe83cf2ab39e9c57-s.p.14waxr-skyoyd.woff2)format("woff2");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:Michroma Fallback;src:local(Arial);ascent-override:81.64%;descent-override:18.76%;line-gap-override:0.0%;size-adjust:141.62%}._8W9PKa_className{font-family:Michroma,Michroma Fallback;font-style:normal;font-weight:400}._8W9PKa_variable{--font-michroma:"Michroma", "Michroma Fallback"}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/53e45098eac42afb-s.0udrnr4-18tjo.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/85ea1b3aadcead52-s.18lx4otehud-r.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3c285486269019b7-s.1br53b7gww62p.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/625a092f804baad3-s.3bgaltqld2gq2.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6afabefbb32d7517-s.0mlt1uo-cplt-.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a4f4f75ad654963f-s.22m3f6pvfu2zf.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a3bcb02a0e9e5d11-s.35qbt1_6db49h.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35fd19aef91b293-s.1-vmsm_v03uvy.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8f46d218c8f79e34-s.092z1_2w2m55_.woff2)format("woff2");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:Be Vietnam Pro Fallback;src:local(Arial);ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.0%;size-adjust:110.36%}.j4df1a_className{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.j4df1a_variable{--font-be-vietnam:"Be Vietnam Pro", "Be Vietnam Pro Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.p.3bjsqkuy1d2v8.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.p.3bjsqkuy1d2v8.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.p.3bjsqkuy1d2v8.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");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:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.qnSjjW_className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.qnSjjW_variable{--font-plex-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.p.1da667lu-u79a.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.p.2taws-qdxmzlf.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2)format("woff2");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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.KMFI2G_className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.KMFI2G_variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--navy-900:#000c33;--navy-800:#00113f;--navy-700:#001864;--navy-600:#0b2a8c;--navy-200:#a8b6de;--navy-100:#d7def0;--navy-050:#eef1f9;--crimson-700:#7c0f1d;--crimson-600:#a11627;--crimson-100:#f5dde0;--ink-900:#0a0d14;--slate-700:#3a4358;--slate-500:#6b7488;--slate-400:#8b93a3;--slate-200:#d8dce4;--slate-100:#edeff4;--paper-2:#f6f7fa;--paper:#fff;--line-grid-inverse:#a8b6de24;--line-inverse:#a8b6de47;--border:var(--slate-200);--ring:var(--crimson-600);--font-display:var(--font-michroma), sans-serif;--font-num:var(--font-michroma), sans-serif;--font-sans:var(--font-plex-sans), ui-sans-serif, system-ui, sans-serif;--font-mono:var(--font-plex-mono), ui-monospace, Menlo, monospace;--ease:cubic-bezier(.22, 1, .36, 1);--ease-io:cubic-bezier(.65, 0, .35, 1)}html[lang=vi]{--font-display:var(--font-be-vietnam), sans-serif;--font-sans:var(--font-be-vietnam), ui-sans-serif, system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable;background:var(--paper);transition:background-color .75s cubic-bezier(.7,0,.2,1)}html.menu-open{background:var(--navy-900);overflow:hidden}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}body{background:var(--paper);color:var(--ink-900);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:24px}a{color:var(--navy-700)}a:hover{color:var(--navy-600)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--ring);outline-offset:2px}[data-theme=dark] a:focus-visible,[data-theme=dark] button:focus-visible{outline-color:var(--crimson-100)}.wrap{max-width:1280px;margin:0 auto;padding:0 24px}.mono{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:400;line-height:16px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes rise{0%{opacity:0;filter:blur(8px);transform:translateY(32px)}to{opacity:1;filter:blur();transform:none}}.rise{animation:rise 1.6s var(--ease) both}.js [data-reveal]{opacity:0;filter:blur(6px);transition:opacity 1.4s var(--ease), transform 1.4s var(--ease), filter 1.4s var(--ease);transform:translateY(28px)}.js [data-reveal].in{opacity:1;filter:blur();transform:none}.shead{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.shead--row{flex-direction:row;align-items:flex-end;gap:28px}.shead__n{font-family:var(--font-num);letter-spacing:.02em;color:var(--navy-700);-webkit-text-stroke:1.4px var(--navy-700);flex-shrink:0;padding:.06em .04em .02em 0;font-size:clamp(52px,5.6vw,88px);font-weight:400;line-height:1;display:block;overflow:hidden}.shead__n span{display:inline-block}.shead__l{color:var(--slate-700)}.js .shead[data-reveal]{opacity:1;filter:none;transform:none}.js .shead .shead__n span{opacity:0;filter:blur(6px);transition:opacity 1.4s var(--ease), transform 1.4s var(--ease), filter 1.4s var(--ease);transform:translateY(90%)}.js .shead .shead__l,.js .shead .proj__h2{opacity:0;transition:opacity 1.2s var(--ease) .25s, transform 1.2s var(--ease) .25s;transform:translateY(16px)}.js .shead.in .shead__n span,.js .shead.in .shead__l,.js .shead.in .proj__h2{opacity:1;filter:blur();transform:none}.btn{isolation:isolate;font-family:var(--font-sans);letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:color .45s var(--ease), border-color .45s var(--ease);border:1px solid #0000;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;gap:12px;font-weight:500;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--fill,var(--navy-700));transform-origin:0;transition:transform .55s var(--ease-io);position:absolute;inset:-1px;transform:scaleX(0)}.btn:hover:before,.btn:focus-visible:before{transform:scaleX(1)}.btn--lg{height:52px;padding:0 26px;font-size:15px}.btn--md{height:40px;padding:0 18px;font-size:14px}.btn__arrow{transition:transform .45s var(--ease)}.btn:hover .btn__arrow{transform:translate(4px)}.btn--inverse{background:var(--paper);border-color:var(--paper);color:var(--navy-900);--fill:var(--navy-700)}.btn--inverse:hover{border-color:var(--navy-700);color:var(--paper)}.btn--ghost-inverse{color:var(--paper);background:0 0;border-color:#ffffff52}.btn--ghost-inverse:before{display:none}.btn--ghost-inverse:hover{border-color:var(--paper);color:var(--paper)}.btn--primary{background:var(--navy-700);border-color:var(--navy-700);color:var(--paper);--fill:var(--navy-600)}.btn--primary:hover{border-color:var(--navy-600);color:var(--paper)}.btn--outline{border-color:var(--navy-700);color:var(--navy-700);--fill:var(--navy-700);background:0 0}.btn--outline:hover{color:var(--paper)}.icon{vertical-align:middle;flex:none;display:inline-block}.ib svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.hdr{z-index:50;pointer-events:none;position:fixed;top:12px;left:0;right:0}.hdr__bar{pointer-events:auto;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(1480px,100% - 32px);height:70px;color:var(--paper);transition:background-color .45s var(--ease), border-color .45s var(--ease), color .45s var(--ease);background:#000c33b8;border:1px solid #a8b6de29;border-radius:2px;align-items:center;gap:24px;margin:0 auto;padding:0 16px 0 20px;display:flex}.hdr.is-light .hdr__bar{border-color:var(--slate-200);color:var(--ink-900);background:#ffffffdb}.hdr.is-light .ib{border-color:var(--navy-700);color:var(--navy-700)}.hdr.is-light .ib:hover{background:var(--navy-700);color:var(--paper)}.wm{flex-shrink:0;text-decoration:none;display:inline-flex}.logo{aspect-ratio:1052/346;height:32px;display:block;position:relative}.logo__img{width:100%;height:100%;transition:opacity .45s var(--ease);display:block;position:absolute;inset:0}.logo__img--color,.hdr.is-light .logo__img--white{opacity:0}.hdr.is-light .logo__img--color{opacity:1}.hdr__end{align-items:center;gap:32px;margin-left:auto;display:flex}.hdr-cta .btn{min-width:240px}.ibs{display:flex}.ib{width:40px;height:40px;color:var(--paper);cursor:pointer;transition:background-color .15s, color .15s, border-color .45s var(--ease);background:0 0;border:1px solid #ffffffd9;border-radius:0;place-items:center;padding:0;display:grid}.ib+.ib{border-left:0}.ib:hover{background:var(--paper);color:var(--navy-900)}.ovl{z-index:60;background:var(--navy-900);color:var(--paper);clip-path:inset(0 0 100%);visibility:hidden;flex-direction:column;transition:clip-path .75s cubic-bezier(.7,0,.2,1),visibility 0s linear .75s;display:flex;position:fixed;inset:0;overflow-y:auto}.ovl.is-open{clip-path:inset(0);visibility:visible;transition:clip-path .75s cubic-bezier(.7,0,.2,1),visibility}.ovl__top{padding-top:12px}.ovl__bar{background:var(--navy-800);border:1px solid #a8b6de29;border-radius:2px;align-items:center;gap:24px;width:min(1480px,100% - 32px);height:70px;margin:0 auto;padding:0 16px 0 20px;display:flex}.ovl__body{flex:1;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:end;gap:64px;width:min(1480px,100% - 32px);margin:0 auto;padding:40px 20px;display:grid}.mlist{border-top:1px solid var(--line-inverse);margin:0;padding:0;list-style:none}.mi{border-bottom:1px solid var(--line-inverse);color:var(--paper);align-items:center;gap:24px;padding:10px 0;text-decoration:none;transition:opacity .35s;display:flex}.mi:hover{color:var(--paper)}.mlist:hover .mi{opacity:.3}.mlist .mi:hover,.mlist .mi:focus-visible{opacity:1}.mi__n{min-width:28px;color:var(--crimson-100);opacity:0;transition:opacity .5s}.is-open .mi__n{opacity:1;transition-delay:.55s}.mi__t{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;padding:.3em 0 .12em;font-size:clamp(28px,4.4vw,66px);font-weight:400;line-height:1.1;display:inline-flex;overflow:hidden}.mch{transition:transform .9s var(--ease);display:inline-block;transform:translateY(115%)}.is-open .mch{transform:none}.mi__arr{opacity:0;transition:opacity .3s, transform .3s var(--ease);margin-left:auto;display:inline-flex;transform:translate(-16px)}.mi:hover .mi__arr{opacity:1;transform:none}.ovl__acts{opacity:0;transition:opacity .6s, transform .6s var(--ease);display:none;transform:translateY(16px)}.is-open .ovl__acts{opacity:1;transition-delay:.5s;transform:none}.ovl__side{opacity:0;transition:opacity .6s, transform .6s var(--ease);flex-direction:column;gap:28px;display:flex;transform:translateY(16px)}.is-open .ovl__side{opacity:1;transition-delay:.6s;transform:none}.ovl__side .mono{color:var(--navy-200)}.ovl__side p{color:var(--navy-100);margin:8px 0 0;font-size:16px;line-height:24px}.ovl__side a{color:var(--paper);border-bottom:1px solid var(--line-inverse);text-decoration:none}.ovl__side a:hover{color:var(--paper);border-bottom-color:var(--paper)}.ovl__foot{border-top:1px solid var(--line-inverse);width:min(1480px,100% - 32px);color:var(--navy-200);justify-content:space-between;gap:16px;margin:0 auto;padding:20px;display:flex}.hero{background:var(--navy-900);height:100svh;min-height:560px;color:var(--paper);position:relative;overflow:hidden}.hero.tone-light{--s-env:#0a0d14;--s-bg:#fff;--s-panel:#f6f7fa;--s-line:#d8dce4;--s-text:#3a4358;--s-strong:#0a0d14;--s-dim:#8b93a3;--s-fill:#eef1f9;--s-fill2:#c9d1e6;--s-accent:#a11627;--s-brand:#001864;--s-dot:#00186429;--sc-c:.76;--sc-m:.6;--sc-e:.48}.hero.tone-steel{--s-env:#0b1120;--s-bg:#1f2b47;--s-panel:#26345a;--s-line:#d7def033;--s-text:#c3cbe0;--s-strong:#fff;--s-dim:#d7def080;--s-fill:#d7def01f;--s-fill2:#d7def04d;--s-accent:#f5dde0;--s-brand:#fff;--s-dot:#d7def02e;--sc-c:.72;--sc-m:.5;--sc-e:.4}.hero.tone-navy{--s-env:#000c33;--s-bg:#00113f;--s-panel:#00113f;--s-line:#a8b6de40;--s-text:#a8b6de;--s-strong:#fff;--s-dim:#a8b6de73;--s-fill:#a8b6de2e;--s-fill2:#a8b6de66;--s-accent:#f5dde0;--s-brand:#fff;--s-dot:#a8b6de47;--sc-c:.82;--sc-m:.55;--sc-e:.45}.reel{background:var(--s-env);will-change:transform;position:absolute;inset:0;overflow:hidden}.scene{opacity:0;will-change:transform, opacity;animation-duration:20s;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite;animation-fill-mode:both;position:absolute;inset:0}.sc1{animation-name:cam1;animation-delay:0s}.sc2{animation-name:cam2;animation-delay:5s}.sc3{animation-name:cam3;animation-delay:10s}.sc4{animation-name:cam4;animation-delay:15s}@keyframes cam1{0%{opacity:0;filter:blur(5px);transform:scale(1.16)translate(3%,2%)}10%{opacity:1;filter:blur()}25%{opacity:1;filter:blur()}35%{opacity:0;filter:blur(5px);transform:scale(1.03)translate(-2%,-1%)}to{opacity:0}}@keyframes cam2{0%{opacity:0;filter:blur(5px);transform:scale(1.02)translate(-3%,3%)}10%{opacity:1;filter:blur()}25%{opacity:1;filter:blur()}35%{opacity:0;filter:blur(5px);transform:scale(1.16)translate(2%,-2%)}to{opacity:0}}@keyframes cam3{0%{opacity:0;filter:blur(5px);transform:scale(1.12)translateY(-4%)}10%{opacity:1;filter:blur()}25%{opacity:1;filter:blur()}35%{opacity:0;filter:blur(5px);transform:scale(1.02)translateY(3%)}to{opacity:0}}@keyframes cam4{0%{opacity:0;filter:blur(5px);transform:scale(1.03)translate(4%)}10%{opacity:1;filter:blur()}25%{opacity:1;filter:blur()}35%{opacity:0;filter:blur(5px);transform:scale(1.15)translate(-3%,1%)}to{opacity:0}}.pop,.type,.lite,.grow,.drawl,.ok{animation-duration:20s;animation-iteration-count:infinite;animation-fill-mode:both;animation-timing-function:var(--ease)}.pop{animation-name:pop}@keyframes pop{0%{opacity:0;filter:blur(4px);transform:translateY(14px)}6%,to{opacity:1;filter:blur();transform:none}}.type{animation-name:type}@keyframes type{0%{clip-path:inset(0 100% 0 0);opacity:.2}5%,to{clip-path:inset(0);opacity:1}}.lite{animation-name:lite}@keyframes lite{0%{border-color:var(--s-line);background-color:#0000}5%,to{border-color:var(--s-strong);background-color:var(--s-fill)}}.ok{animation-name:okk}@keyframes okk{0%{opacity:0;filter:blur(3px);transform:scale(.6)}5%,to{opacity:1;filter:blur();transform:none}}.grow{transform-origin:bottom;animation-name:grow}@keyframes grow{0%{transform:scaleY(0)}8%,to{transform:scaleY(1)}}.drawl{stroke-dasharray:1200;animation-name:drawl}@keyframes drawl{0%{stroke-dashoffset:1200px}9%,to{stroke-dashoffset:0}}.cursor{width:18px;height:18px;animation:20s cubic-bezier(.45,0,.2,1) infinite both curs;position:absolute}@keyframes curs{0%{top:30%;left:20%}6%{top:22%;left:44%}12%{top:40%;left:52%}18%{top:62%;left:70%}26%,to{top:72%;left:58%}}.screen{aspect-ratio:16/10;background:var(--s-bg);border:1px solid var(--s-line);width:min(1240px,94vw);font-family:var(--font-mono);color:var(--s-text);margin-top:calc(min(1240px,94vw)/-3.2);margin-left:calc(min(1240px,94vw)/-2);font-size:12px;line-height:18px;position:absolute;top:50%;left:50%;overflow:hidden}.scr-top{background:var(--s-panel);border-bottom:1px solid var(--s-line);letter-spacing:.06em;align-items:center;gap:8px;height:36px;padding:0 16px;display:flex}.scr-top i{border:1px solid var(--s-dim);width:8px;height:8px;display:inline-block}.scr-top span{margin-left:12px}.scr-body{position:absolute;inset:36px 0 0}.dots{background-image:radial-gradient(var(--s-dot) 1px, transparent 1.2px);background-size:22px 22px}.wf{border:1px solid var(--s-fill2);background:var(--s-bg);flex-direction:column;gap:8px;padding:10px;display:flex;position:absolute}.wf b{background:var(--s-fill);height:10px;display:block}.wf .h{background:var(--s-fill2);height:18px}.note{background:var(--s-fill);border:1px solid var(--s-fill2);width:17%;color:var(--s-strong);padding:12px;font-size:11px;line-height:16px;position:absolute}.note.red{background:var(--s-bg);border-color:var(--s-accent)}.lnk{fill:none;width:100%;height:100%;stroke:var(--s-dim);stroke-width:1.2px;stroke-dasharray:4 5;position:absolute;inset:0}.lnk path{vector-effect:non-scaling-stroke}.code{grid-template-columns:18% minmax(0,1fr) 24%;height:100%;display:grid}.tree{background:var(--s-panel);border-right:1px solid var(--s-line);white-space:pre;flex-direction:column;gap:6px;padding:14px 12px;display:flex}.tree .on{color:var(--s-strong);background:var(--s-fill)}.ed{overflow:hidden}.tabs{border-bottom:1px solid var(--s-line);height:34px;display:flex}.tabs span{border-right:1px solid var(--s-line);align-items:center;padding:0 16px;display:flex}.tabs .on{color:var(--s-strong);box-shadow:inset 0 -2px 0 var(--s-accent)}.cl{white-space:pre;color:var(--s-text);gap:18px;padding:0 18px;font-size:13.5px;line-height:26px;display:flex}.cl .n{color:var(--s-dim);text-align:right;min-width:18px}.cl .k{color:var(--s-brand);font-weight:600}.cl .s{color:var(--s-accent)}.cl .c{color:var(--s-dim)}.cl .f{color:var(--s-strong)}.caret{vertical-align:-3px;background:var(--s-accent);width:8px;height:16px;margin-left:2px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.side{background:var(--s-panel);border-left:1px solid var(--s-line);flex-direction:column;gap:12px;padding:16px;display:flex}.side .t{color:var(--s-strong);letter-spacing:0;font-size:13px}.chk{background:var(--s-bg);border:1px solid var(--s-line);justify-content:space-between;padding:8px 10px;display:flex}.chk em{color:var(--s-strong);font-style:normal}.pipe{flex-direction:column;gap:28px;height:100%;padding:28px 32px;display:flex}.stages{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;display:grid}.stage{border:1px solid var(--s-line);flex-direction:column;gap:10px;padding:16px;display:flex;position:relative}.stage .nm{color:var(--s-strong);font-size:13px}.stage .ck{border:1px solid var(--s-strong);place-items:center;width:18px;height:18px;display:grid;position:absolute;top:14px;right:14px}.stage .ck svg{fill:none;width:12px;height:12px;stroke:var(--s-strong);stroke-width:2px}.stage.last{border-color:var(--s-accent)}.term{border:1px solid var(--s-line);background:var(--s-panel);white-space:pre;flex-direction:column;flex:1;gap:6px;padding:18px 20px;font-size:13px;line-height:22px;display:flex}.term .p{color:var(--s-strong)}.term .live{color:var(--s-accent)}.dash{grid-template-columns:56px minmax(0,1fr);height:100%;display:grid}.dnav{background:var(--s-panel);border-right:1px solid var(--s-line);flex-direction:column;align-items:center;gap:16px;padding-top:18px;display:flex}.dnav i{border:1px solid var(--s-dim);width:18px;height:18px}.dnav i.on{border-color:var(--s-strong);background:var(--s-fill)}.dmain{grid-template-rows:auto minmax(0,1fr) auto;gap:18px;padding:22px;display:grid}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.kpi{border:1px solid var(--s-line);flex-direction:column;gap:8px;padding:14px;display:flex}.kpi strong{font-family:var(--font-sans);color:var(--s-strong);letter-spacing:-.02em;font-size:26px;font-weight:500;line-height:30px}.charts{grid-template-columns:2fr 1fr;gap:14px;min-height:0;display:grid}.chart{border:1px solid var(--s-line);min-height:0;padding:14px;position:relative;overflow:hidden}.chart svg{fill:none;width:calc(100% - 28px);height:calc(100% - 54px);stroke:var(--s-brand);stroke-width:1.8px;position:absolute;inset:40px 14px 14px}.chart svg .g{stroke:var(--s-line);stroke-width:1px}.bars{align-items:flex-end;gap:10px;display:flex;position:absolute;inset:40px 14px 14px}.bars i{background:var(--s-fill2);flex:1}.bars i.hi{background:var(--s-accent)}.rows{flex-direction:column;display:flex}.rows div{border-top:1px solid var(--s-line);grid-template-columns:2fr 1fr 1fr 1fr;padding:8px 0;display:grid}.rows em{color:var(--s-strong);font-style:normal}.scrim{background:radial-gradient(ellipse 62% 58% at 50% 50%, rgba(0, 12, 51, var(--sc-c)), rgba(0, 12, 51, var(--sc-m)) 70%, rgba(0, 12, 51, var(--sc-e))), linear-gradient(180deg, #000c3300 62%, #000c33f2);position:absolute;inset:0}.hero__content{z-index:2;text-align:center;will-change:transform, opacity;flex-direction:column;justify-content:center;align-items:center;height:100%;padding-top:72px;padding-bottom:96px;display:flex;position:relative}.h1{max-width:16ch;font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--paper);text-shadow:0 2px 24px #000c3399;margin:0;font-size:clamp(32px,4.9vw,78px);font-weight:400;line-height:1.18}.lead{max-width:38rem;color:var(--navy-100);text-shadow:0 1px 12px #000c33b3;margin:28px auto 0;font-size:18px;line-height:28px}.cta-row{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:36px;display:flex}.hero__bottom{z-index:2;position:absolute;bottom:0;left:0;right:0}.hero__bottom .wrap{justify-content:flex-end;padding-bottom:24px;display:flex}.hero__bottom .ib{border-color:#ffffff59}.hero__video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.6s var(--ease), transform 2.4s var(--ease);position:absolute;inset:0;transform:scale(1.06)}.hero__video.is-ready{opacity:1;transform:none}.hero.has-video{--s-env:var(--navy-900);--sc-c:.6;--sc-m:.42;--sc-e:.3}.hero.is-paused .scene,.hero.is-paused .scene *{animation-play-state:paused!important}.sec{border-bottom:1px solid var(--border);padding:96px 0}.intro__grid{grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:48px;display:grid}.lit{letter-spacing:-.03em;color:var(--ink-900);margin:0;font-size:clamp(26px,3.3vw,46px);font-weight:500;line-height:1.2;position:relative}.lit .ph{--base:var(--ink-900)}.lit .ph.acc{--base:var(--navy-700)}.js .lit .ph,.js .lit .ph.acc{--base:#c9ced9}.js .lit .ph.on{--base:var(--ink-900)}.js .lit .ph.on.acc{--base:var(--navy-700)}.lit .w{transform-origin:50% 60%;color:color-mix(in srgb, var(--navy-700) calc(var(--k,0) * 100%), var(--base));-webkit-text-stroke:calc(var(--k,0) * .7px) var(--navy-700);margin-right:.26em;transition:color .6s;display:inline-block;position:relative}.lit.is-hover .w{transition:none}.proj{background:var(--paper-2);border-bottom:1px solid var(--border);position:relative}.proj__stage{flex-direction:column;padding:112px 0 72px;display:flex;overflow:hidden}.proj.is-pinned .proj__stage{padding:110px 0 40px;position:sticky;top:0}.proj__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:32px;display:flex}.proj__h2{letter-spacing:-.03em;max-width:20ch;color:var(--ink-900);margin:10px 0 0;font-size:clamp(28px,3.1vw,46px);font-weight:500;line-height:1.1}.ctr{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.ctr__row{align-items:baseline;gap:10px;display:flex}.ctr__num{font-family:var(--font-num);color:var(--navy-700);font-size:34px;line-height:1}.ctr__tot{font-family:var(--font-num);color:var(--slate-500);font-size:14px}.ctr__bar{background:var(--slate-200);width:220px;height:1px;position:relative;overflow:hidden}.ctr__fill{background:var(--crimson-600);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.ctr__hint{color:var(--slate-700)}.track{scroll-snap-type:x mandatory;scrollbar-width:none;gap:24px;padding:4px max(24px,50vw - 616px);display:flex;overflow-x:auto}.track::-webkit-scrollbar{display:none}.proj.is-pinned .track{scroll-snap-type:none;will-change:transform;flex:1;width:max-content;min-height:0;overflow:visible}.pcard{background:var(--paper);border:1px solid var(--border);scroll-snap-align:center;border-radius:2px;flex:none;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);width:clamp(300px,64vw,980px);height:540px;transition:border-color .3s;display:grid;position:relative;overflow:hidden}.proj.is-pinned .pcard{height:auto;max-height:580px}.proj.is-pinned .pcard,.proj.is-pinned .pend{transform-origin:0;will-change:transform}.pcard:before,.pend:before{content:"";z-index:4;background:var(--navy-900);opacity:var(--dim,0);pointer-events:none;position:absolute;inset:0}.proj.is-pinned .pcard__body>*,.proj.is-pinned .pend>*{opacity:0;filter:blur(8px);transition:opacity 1.1s var(--ease), filter 1.1s var(--ease), transform 1.1s var(--ease);transform:translateY(16px)}.proj.is-pinned .is-in .pcard__body>*,.proj.is-pinned .pend.is-in>*{opacity:1;filter:blur();transform:none}.proj.is-pinned .is-in .pcard__body>:nth-child(2){transition-delay:80ms}.proj.is-pinned .is-in .pcard__body>:nth-child(3){transition-delay:.18s}.proj.is-pinned .is-in .pcard__body>:nth-child(4){transition-delay:.3s}.proj.is-pinned .pend.is-in>:nth-child(2){transition-delay:.15s}.pcard:hover{border-color:var(--navy-700)}.pcard__art{border-right:1px solid var(--border);background-color:var(--paper-2);background-image:linear-gradient(#0018640f 1px,#0000 1px),linear-gradient(90deg,#0018640f 1px,#0000 1px);background-size:24px 24px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.ill{fill:none;width:100%;height:100%;stroke:var(--navy-700);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;transition:transform 1s var(--ease);display:block}.pcard:hover .ill{transform:scale(1.05)}.ill .fw{fill:#fff}.ill .ft{fill:var(--navy-050)}.ill .nf{stroke:none}.ill .cr{stroke:var(--crimson-600);stroke-width:1.7px}.ill .dsh{stroke-dasharray:3 5}.ill .dot{fill:#0018648c;stroke:none}.pcard__body{flex-direction:column;gap:12px;min-width:0;padding:32px;display:flex}.pcard__meta{color:var(--slate-700);gap:12px;display:flex}.pcard__meta i{color:var(--crimson-600);font-style:normal}.pcard__title{letter-spacing:-.025em;color:var(--ink-900);margin:6px 0 0;font-size:clamp(22px,2vw,30px);font-weight:500;line-height:1.15}.pcard__desc{color:var(--slate-700);margin:0;font-size:15px;line-height:23px}.pcard__res{border-top:1px solid var(--border);margin-top:auto;padding-top:20px}.pcard__big{font-family:var(--font-num);letter-spacing:.02em;color:var(--navy-700);font-size:clamp(34px,3.6vw,58px);line-height:1.05}.pcard__lbl{color:var(--ink-900);margin:10px 0 0;font-size:15px;line-height:22px}.pcard__cta{color:var(--crimson-600);opacity:0;transition:opacity .3s, transform .3s var(--ease);align-items:center;gap:8px;margin-top:16px;font-size:15px;font-weight:500;line-height:20px;text-decoration:none;display:inline-flex;transform:translateY(6px)}.pcard__cta:hover{color:var(--crimson-700)}.pcard__cta:after{content:"";position:absolute;inset:0}.pcard:hover .pcard__cta,.pcard__cta:focus-visible{opacity:1;transform:none}.pend{background-color:var(--navy-900);background-image:linear-gradient(var(--line-grid-inverse) 1px, transparent 1px), linear-gradient(90deg, var(--line-grid-inverse) 1px, transparent 1px);width:clamp(280px,30vw,440px);color:var(--paper);scroll-snap-align:center;background-size:100% 32px,32px 100%;border-radius:2px;flex-direction:column;flex:none;justify-content:space-between;gap:32px;padding:32px;display:flex;position:relative}.pend .mono{color:var(--navy-200)}.pend h3{letter-spacing:-.03em;margin:16px 0 0;font-size:clamp(26px,2.4vw,36px);font-weight:500;line-height:1.12}.pend p{color:var(--navy-100);margin:12px 0 0;font-size:16px;line-height:24px}.pend__act{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.footer{background:var(--navy-900);color:var(--paper);padding:48px 24px 24px}.footer>*{max-width:1232px;margin-left:auto;margin-right:auto}.footer__top{border-bottom:1px solid var(--line-inverse);grid-template-columns:2fr 1fr 1fr;gap:32px;padding-bottom:32px;display:grid}.footer .logo{height:36px}.footer__blurb{max-width:20rem;color:var(--navy-100);margin:12px 0 0;font-size:14px;line-height:20px}.footer__head{color:var(--navy-200);margin:0 0 12px}.footer ul{color:#ffffffe6;gap:8px;margin:0;padding:0;font-size:14px;line-height:20px;list-style:none;display:grid}.footer a{color:inherit;text-decoration:none}.footer ul a:hover{color:var(--paper);text-underline-offset:3px;text-decoration:underline}.footer__legal{color:var(--navy-200);margin:24px auto 0}@media (hover:none){.pcard__cta{opacity:1;transform:none}}@media (max-width:1023px){.hdr-cta .btn{min-width:0}.hdr__end{gap:16px}}@media (max-width:899px){.pcard{grid-template-rows:240px auto;grid-template-columns:1fr;width:84vw;height:auto}.pcard__art{border-right:0;border-bottom:1px solid var(--border)}.pcard__body{padding:24px}.pcard__cta{opacity:1;transform:none}.ctr{align-items:flex-start}.ctr__bar{width:160px}}@media (max-width:767px){.wrap{padding:0 16px}.sec{padding:64px 0}.hdr__bar,.ovl__bar{height:60px;padding:0 10px 0 14px}.hdr__bar .lsw,.hdr__bar .hdr-cta,.ovl__bar .lsw,.ovl__bar .hdr-cta{display:none}.ovl__acts{flex-wrap:wrap;gap:12px;display:flex}.logo{height:28px}.shead--row{gap:20px}.ovl__body{grid-template-columns:1fr;align-items:start;gap:40px;padding-top:24px}.intro__grid{grid-template-columns:1fr;gap:24px}.proj__stage{padding:72px 0 56px}.track{padding:4px 16px}.footer__top{grid-template-columns:1fr 1fr}.screen{width:180vw;margin-top:-56.25vw;margin-left:-90vw}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}html{scroll-behavior:auto}.scene{opacity:0;animation:none!important}.sc1{opacity:1}.scene *{animation:none!important}}.footer__legal{flex-direction:column;gap:6px;display:flex}.footer__legal p{margin:0}.btn:disabled{opacity:.6;cursor:wait}.btn:disabled:before{display:none}.hdr__nav{align-items:center;gap:36px;margin-left:56px;display:flex}.hdr__link{color:var(--paper);transition:color .45s var(--ease);padding:6px 0;font-size:15px;font-weight:500;line-height:20px;text-decoration:none;position:relative}.hdr__link:after{content:"";transform-origin:0;height:1px;transition:transform .45s var(--ease);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.hdr__link:hover{color:var(--paper)}.hdr__link:hover:after{transform:scaleX(1)}.hdr__link.is-active:after{background:var(--crimson-600);height:2px;transform:scaleX(1)}.hdr.is-light .hdr__link,.hdr.is-light .hdr__link:hover{color:var(--ink-900)}.hdr__menu{display:none}.lsw{height:40px;transition:border-color .45s var(--ease);border:1px solid #ffffff52;grid-template-columns:1fr 1fr;padding:3px;display:grid;position:relative}.lsw__pill{background:var(--paper);width:calc(50% - 3px);transition:transform .45s var(--ease-io), background-color .45s var(--ease);position:absolute;top:3px;bottom:3px;left:3px}.lsw.is-vi .lsw__pill{transform:translate(100%)}.lsw__a{z-index:1;min-width:38px;font-family:var(--font-sans);letter-spacing:.08em;color:#fff9;place-items:center;padding:0 8px;font-size:12px;font-weight:600;line-height:1;text-decoration:none;transition:color .3s;display:grid;position:relative}.lsw__a:hover{color:var(--paper)}.lsw__a.is-on,.lsw__a.is-on:hover{color:var(--navy-900);cursor:default}.lsw.is-en:hover .lsw__pill:has(~.lsw__a:not(.is-on):hover){transform:translate(8%)}.lsw.is-vi:hover .lsw__pill:has(~.lsw__a:not(.is-on):hover){transform:translate(92%)}.hdr.is-light .lsw{border-color:var(--navy-700)}.hdr.is-light .lsw__pill{background:var(--navy-700)}.hdr.is-light .lsw__a{color:var(--slate-500)}.hdr.is-light .lsw__a:hover{color:var(--navy-700)}.hdr.is-light .lsw__a.is-on{color:var(--paper)}.svh .shead,.hww .shead{margin-bottom:56px}.intro__cta{margin-top:56px}.svh{background:var(--paper)}.svh__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.svh__grid>li{display:flex}.svc-card{background:var(--paper);border:1px solid var(--border);width:100%;color:var(--ink-900);border-radius:2px;flex-direction:column;gap:14px;padding:28px 24px 72px;text-decoration:none;transition:border-color .3s,background-color .3s;display:flex;position:relative}.svc-card:hover{color:var(--ink-900);border-color:var(--navy-700);background:var(--paper-2)}.svc-card__n{color:var(--crimson-600)}.svc-card__t{letter-spacing:-.02em;margin:8px 0 0;font-size:22px;font-weight:500;line-height:1.2}.svc-card__b{color:var(--slate-700);margin:0;font-size:15px;line-height:23px}.svc-card__price{border-top:1px solid var(--border);color:var(--navy-700);margin:auto 0 0;padding-top:16px}.svc-card__arr{color:var(--navy-700);transition:transform .45s var(--ease);display:inline-flex;position:absolute;bottom:24px;left:24px}.svc-card:hover .svc-card__arr{transform:translate(6px)}.svh__foot{color:var(--slate-700);margin:32px 0 0;font-size:16px;line-height:24px}.hww{background:var(--paper-2)}.hww__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 64px;margin:0;padding:0;list-style:none;display:grid}.hww__list li{border-top:1px solid var(--navy-700);grid-template-columns:auto minmax(0,1fr);gap:24px;padding-top:24px;display:grid}.hww__n{font-family:var(--font-num);color:var(--navy-700);font-size:30px;line-height:1}.hww__t{letter-spacing:-.02em;color:var(--ink-900);margin:0;font-size:22px;font-weight:500;line-height:1.25}.hww__b{max-width:34rem;color:var(--slate-700);margin:10px 0 0;font-size:16px;line-height:24px}.lf{background-color:var(--navy-900);background-image:linear-gradient(var(--line-grid-inverse) 1px, transparent 1px), linear-gradient(90deg, var(--line-grid-inverse) 1px, transparent 1px);color:var(--paper);background-size:100% 32px,32px 100%;position:relative}.lf__inner{padding-top:96px;padding-bottom:96px;container-type:inline-size}.lf--full{min-height:100svh}.lf--full .lf__inner{padding-top:150px}.lf__label{color:var(--navy-100)}.lf__title{border-bottom:1px solid var(--line-inverse);font-family:var(--font-display);letter-spacing:.01em;white-space:nowrap;color:var(--paper);margin:16px 0 0;padding-bottom:32px;font-size:min(10cqi,140px);font-weight:400;line-height:1.05}.lf__dot{color:var(--crimson-600)}.lf__grid{grid-template:"line form""contact form"1fr/minmax(0,1fr) minmax(0,1.7fr);column-gap:72px;margin-top:48px;display:grid}.lf__line{letter-spacing:-.02em;grid-area:line;margin:0;font-size:clamp(22px,2vw,28px);font-weight:500;line-height:1.3}.lf__contact{color:var(--navy-100);grid-area:contact;align-content:start;gap:8px;margin:32px 0 0;padding:0;font-size:16px;line-height:24px;list-style:none;display:grid}.lf__contact a{color:var(--paper);border-bottom:1px solid var(--line-inverse);text-decoration:none}.lf__contact a:hover{color:var(--paper);border-bottom-color:var(--paper)}.lf__form{grid-area:form;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.fld{flex-direction:column;gap:8px;min-width:0;display:flex}.fld--wide{grid-column:1/-1}.fld label{color:var(--navy-100);font-size:14px;line-height:20px}.fld input,.fld textarea{width:100%;min-height:48px;color:var(--paper);font-family:var(--font-sans);background:0 0;border:0;border-bottom:1px solid #a8b6de80;border-radius:0;padding:10px 0;font-size:17px;line-height:24px;transition:border-color .3s}.fld textarea{resize:vertical;min-height:120px}.fld input:hover,.fld textarea:hover{border-bottom-color:var(--navy-100)}.fld input:focus,.fld textarea:focus,.fld input:focus-visible,.fld textarea:focus-visible{border-bottom-color:var(--paper);box-shadow:0 1px 0 0 var(--paper);outline:none}.fld [aria-invalid=true]{border-bottom-color:#ff9aa8}.nsel{position:relative}.nsel__btn{width:100%;min-height:48px;color:var(--paper);font-family:var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #a8b6de80;border-radius:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;font-size:17px;line-height:24px;transition:border-color .3s;display:flex}.nsel__btn:hover{border-bottom-color:var(--navy-100)}.nsel__btn:focus,.nsel__btn:focus-visible,.nsel.is-open .nsel__btn{border-bottom-color:var(--paper);box-shadow:0 1px 0 0 var(--paper);outline:none}.nsel__chev{border-right:1.5px solid var(--navy-100);border-bottom:1.5px solid var(--navy-100);width:8px;height:8px;transition:transform .45s var(--ease), margin .45s var(--ease);flex:none;margin:0 4px 4px 0;transform:rotate(45deg)}.nsel.is-open .nsel__chev{margin:4px 4px 0 0;transform:rotate(-135deg)}.nsel__list{z-index:20;background-color:var(--navy-800);background-image:linear-gradient(var(--line-grid-inverse) 1px, transparent 1px), linear-gradient(90deg, var(--line-grid-inverse) 1px, transparent 1px);border:1px solid var(--line-inverse);clip-path:inset(0 0 100%);visibility:hidden;background-size:100% 24px,24px 100%;outline:none;margin:0;padding:6px 0;list-style:none;transition:clip-path .45s cubic-bezier(.7,0,.2,1),visibility 0s linear .45s;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 24px 48px -16px #0009}.nsel.is-open .nsel__list{clip-path:inset(0);visibility:visible;transition:clip-path .45s cubic-bezier(.7,0,.2,1),visibility}.nsel__opt{color:var(--navy-100);cursor:pointer;align-items:center;gap:16px;padding:13px 20px;font-size:16px;line-height:22px;transition:color .2s,background-color .2s;display:flex;position:relative}.nsel__opt:before{content:"";background:var(--crimson-600);width:2px;transition:transform .3s var(--ease);position:absolute;top:8px;bottom:8px;left:0;transform:scaleY(0)}.nsel__opt.is-active{color:var(--paper);background:#ffffff0f}.nsel__opt.is-active:before{transform:scaleY(1)}.nsel__opt[aria-selected=true]{color:var(--paper)}.nsel__n{color:var(--crimson-100)}.nsel__tick{border-left:1.5px solid var(--paper);border-bottom:1.5px solid var(--paper);opacity:0;width:12px;height:7px;margin-left:auto;transform:rotate(-45deg)translateY(-2px)}.nsel__opt[aria-selected=true] .nsel__tick{opacity:1}.fld__err{color:#ffb3bd;margin:0;font-size:14px;line-height:20px}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.lf__send{align-items:center;gap:24px;margin-top:8px;display:flex}.lf__send .btn{min-width:160px}.lf__consent{max-width:22rem;color:var(--navy-200);margin:0;font-size:13px;line-height:19px}.lf__consent a{color:var(--paper);text-underline-offset:3px}.lf__consent a:hover{color:var(--paper)}.lf__done{outline:none;margin-top:48px}.lf__done-h{letter-spacing:-.03em;margin:0;font-size:clamp(28px,3vw,44px);font-weight:500;line-height:1.15}.lf__done p:last-child{color:var(--navy-100);margin:12px 0 0;font-size:18px;line-height:28px}.phead{background-color:var(--navy-900);background-image:linear-gradient(var(--line-grid-inverse) 1px, transparent 1px), linear-gradient(90deg, var(--line-grid-inverse) 1px, transparent 1px);color:var(--paper);background-size:100% 32px,32px 100%}.phead__inner{padding-top:190px;padding-bottom:88px}.phead__label{color:var(--navy-100)}.phead__h{font-family:var(--font-display);letter-spacing:.02em;margin:18px 0 0;font-size:clamp(36px,5vw,76px);font-weight:400;line-height:1.1}.phead__h--xl{font-size:clamp(48px,8vw,128px)}.phead__lead{max-width:44rem;color:var(--navy-100);margin:28px 0 0;font-size:clamp(18px,1.6vw,22px);line-height:1.5}.phead__lead+.phead__lead{margin-top:16px}.snav{border-top:1px solid var(--line-inverse);border-left:1px solid var(--line-inverse);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:64px;display:grid}.snav__item{isolation:isolate;border-right:1px solid var(--line-inverse);border-bottom:1px solid var(--line-inverse);min-height:200px;color:var(--paper);flex-direction:column;justify-content:space-between;gap:40px;padding:26px 26px 24px;text-decoration:none;display:flex;position:relative;overflow:hidden}.snav__item:hover{color:var(--paper)}.snav__item:before{content:"";z-index:-1;background:var(--navy-700);transition:transform .6s var(--ease-io);position:absolute;inset:0;transform:translateY(101%)}.snav__item:after{content:"";background:var(--crimson-600);transform-origin:0;height:2px;transition:transform .6s var(--ease);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.snav__item:hover:before,.snav__item:focus-visible:before,.snav__item.is-active:before{transform:none}.snav__item:hover:after,.snav__item:focus-visible:after{transform:scaleX(1)}.snav__item.is-active:after{animation:snavTimer var(--dwell,2.6s) linear both}@keyframes snavTimer{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.snav__n{font-family:var(--font-num);letter-spacing:.02em;color:#0000;-webkit-text-stroke:1px #a8b6debf;transition:color .5s var(--ease), -webkit-text-stroke-color .5s var(--ease);font-size:clamp(40px,4vw,60px);line-height:1}.snav__item:hover .snav__n,.snav__item:focus-visible .snav__n,.snav__item.is-active .snav__n{color:var(--paper);-webkit-text-stroke-color:var(--paper)}.snav__t{letter-spacing:-.015em;max-width:14ch;padding-right:36px;font-size:clamp(18px,1.6vw,22px);font-weight:500;line-height:1.25}.snav__arr{color:var(--crimson-100);transition:transform .45s var(--ease), color .45s;display:inline-flex;position:absolute;bottom:24px;right:24px}.snav__item:hover .snav__arr,.snav__item:focus-visible .snav__arr,.snav__item.is-active .snav__arr{color:var(--paper);transform:translateY(5px)}.svc{border-bottom:1px solid var(--border);padding:112px 0 104px;scroll-margin-top:70px}.svc:nth-of-type(2n){background:var(--paper-2)}.svc__head{margin-bottom:64px}.nowrap{white-space:nowrap}.svc__n{color:var(--crimson-600);display:block}.svc__h{font-family:var(--font-display);letter-spacing:.01em;text-wrap:balance;color:var(--navy-700);margin:14px 0 0;font-size:clamp(34px,4.4vw,64px);font-weight:400;line-height:1.08}.svc__promise{letter-spacing:-.025em;color:var(--ink-900);margin:22px 0 0;font-size:clamp(22px,2.4vw,34px);font-weight:500;line-height:1.25}.svc__row{border-top:1px solid var(--border);grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:48px;padding:36px 0;display:grid}.svc__label{font-family:var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--crimson-600);margin:0;padding-top:2px;font-size:20px;font-weight:600;line-height:26px}.svc__who{max-width:44rem;color:var(--ink-900);margin:0;font-size:clamp(19px,1.6vw,23px);line-height:1.5}.svc__what{columns:2;column-gap:40px;margin:0 0 -14px;padding:0;list-style:none}.svc__what li{break-inside:avoid;color:var(--ink-900);margin-bottom:14px;padding-left:26px;font-size:17px;line-height:26px;position:relative}.svc__what li:before{content:"";background:var(--crimson-600);width:12px;height:1.5px;position:absolute;top:12px;left:0}.svc__steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none;display:grid}.svc__steps li{border-top:1px solid var(--navy-700);padding-top:22px;position:relative}.svc__steps li:before{content:"";background:var(--crimson-600);width:7px;height:7px;position:absolute;top:-4px;left:0}.svc__step-n{font-family:var(--font-num);color:var(--navy-700);font-size:22px;line-height:1;display:block}.svc__steps strong{letter-spacing:-.015em;color:var(--ink-900);margin-top:14px;font-size:19px;font-weight:500;line-height:26px;display:block}.svc__steps p{color:var(--slate-700);margin:8px 0 0;font-size:16px;line-height:24px}.svc__row--price{border-top:2px solid var(--navy-700);border-bottom:2px solid var(--navy-700);padding:40px 0}.svc__row--price+.svc__row{border-top:0}.svc__price-lead{letter-spacing:-.02em;max-width:46rem;color:var(--ink-900);margin:0;font-size:clamp(22px,2.2vw,30px);font-weight:500;line-height:1.35}.svc__price-rest{max-width:44rem;color:var(--slate-700);margin:14px 0 0;font-size:17px;line-height:26px}.svc__fig{font-family:var(--font-mono);letter-spacing:0;color:var(--navy-700);white-space:nowrap;font-size:.86em;font-weight:400}.svc__similar{margin:0}.svc__similar>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px;padding:16px 0;display:grid}.svc__similar>div:first-child{padding-top:0}.svc__similar>div:last-child{border-bottom:0;padding-bottom:0}.svc__similar dt{color:var(--ink-900);font-size:18px;font-weight:500;line-height:26px}.svc__similar dd{color:var(--slate-700);margin:0;font-size:17px;line-height:26px}.faq details{border-bottom:1px solid var(--border);interpolate-size:allow-keywords}.faq details::details-content{height:0;transition:height .5s var(--ease), content-visibility .5s allow-discrete;overflow:clip}.faq details[open]::details-content{height:auto}.faq details:first-child summary{padding-top:0}.faq details:first-child summary:after{top:-2px}.faq summary{color:var(--ink-900);cursor:pointer;-webkit-user-select:none;user-select:none;padding:18px 44px 18px 0;font-size:18px;font-weight:500;line-height:27px;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--navy-700);transition:transform .3s var(--ease);font-size:24px;font-weight:400;position:absolute;top:16px;right:4px}.faq details[open] summary:after{transform:rotate(45deg)}.faq summary:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.faq details p{max-width:46rem;color:var(--slate-700);opacity:0;transition:opacity .4s var(--ease), transform .5s var(--ease);margin:0;padding-bottom:20px;font-size:17px;line-height:26px;transform:translateY(-8px)}.faq details[open] p{opacity:1;transition-delay:80ms;transform:none}.svc__cta{margin-top:40px}.incl__h{font-family:var(--font-display);letter-spacing:.02em;color:var(--navy-700);margin:0 0 24px;font-size:clamp(24px,2.6vw,36px);font-weight:400;line-height:1.2}.incl__h--tech{margin-top:72px}.incl__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.incl__grid li{background:var(--paper-2);border:1px solid var(--border);letter-spacing:-.015em;color:var(--ink-900);border-radius:2px;flex-direction:column;gap:18px;padding:24px;font-size:19px;font-weight:500;line-height:26px;display:flex}.incl__grid li:before{content:"";background:var(--crimson-600);width:12px;height:2px}.incl__note{max-width:48rem;color:var(--slate-700);margin:20px 0 0;font-size:16px;line-height:24px}.tech{border-collapse:collapse;border-top:1px solid var(--border);width:100%}.tech th,.tech td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:16px 0}.tech th{width:30%;color:var(--ink-900);padding-right:24px;font-size:18px;font-weight:400;line-height:26px}.tech td{color:var(--ink-900);font-size:16px;line-height:24px}.pnote{border-left:3px solid var(--crimson-600);background:var(--paper-2);max-width:52rem;color:var(--ink-900);margin:56px 0 0;padding:24px 28px;font-size:18px;line-height:28px}.pillars__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:72px;display:grid}.pillar{border-top:2px solid var(--navy-700);padding-top:32px}.pillar__label{font-family:var(--font-display);letter-spacing:.02em;color:var(--navy-700);font-size:clamp(56px,7vw,112px);line-height:1}.pillar:nth-child(2) .pillar__label{color:var(--crimson-600)}.pillar__h{letter-spacing:-.025em;color:var(--ink-900);margin:28px 0 0;font-size:clamp(24px,2.4vw,34px);font-weight:500;line-height:1.2}.pillar__b{color:var(--slate-700);margin:18px 0 0;font-size:17px;line-height:27px}.pillars__close{border-top:1px solid var(--border);letter-spacing:-.025em;color:var(--navy-700);margin:72px 0 0;padding-top:32px;font-size:clamp(22px,2.4vw,34px);font-weight:500;line-height:1.3}.back{background:var(--paper-2)}.back__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:72px;display:grid}.back__h{font-family:var(--font-display);letter-spacing:.02em;color:var(--navy-700);margin:0 0 24px;font-size:clamp(30px,3.6vw,52px);font-weight:400;line-height:1.15}.back__intro p{color:var(--slate-700);margin:0 0 18px;font-size:17px;line-height:27px}.back__intro p:first-of-type{color:var(--ink-900);font-size:20px;line-height:30px}.back__intro p:last-child{color:var(--ink-900);font-weight:500}.steps{border-top:1px solid var(--navy-700);margin:0;padding:0;list-style:none}.steps li{border-bottom:1px solid var(--border);grid-template-columns:48px minmax(0,1fr);gap:16px;padding:22px 0;display:grid}.steps__n{color:var(--crimson-600);padding-top:5px}.steps h3{letter-spacing:-.02em;color:var(--ink-900);margin:0;font-size:20px;font-weight:500;line-height:28px}.steps p{color:var(--slate-700);margin:6px 0 0;font-size:16px;line-height:24px}.arch{background-color:var(--navy-900);background-image:linear-gradient(var(--line-grid-inverse) 1px, transparent 1px), linear-gradient(90deg, var(--line-grid-inverse) 1px, transparent 1px);color:var(--paper);background-size:100% 32px,32px 100%}.arch__inner{padding-top:120px;padding-bottom:120px}.arch__h{font-family:var(--font-display);letter-spacing:.02em;margin:0;font-size:clamp(26px,3.4vw,48px);font-weight:400;line-height:1.2}.arch p{max-width:40rem;color:var(--navy-100);margin:28px 0 0;font-size:clamp(18px,1.6vw,22px);line-height:1.55}.team__grid{grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:48px;display:grid}.team__label{color:var(--slate-700);margin:0;padding-top:10px}.team__photos:not([hidden]){grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-bottom:40px;display:grid}.team__lead{letter-spacing:-.025em;color:var(--ink-900);margin:0;font-size:clamp(22px,2.4vw,34px);font-weight:500;line-height:1.3}.team__b{color:var(--navy-700);margin:24px 0 0;font-size:18px;line-height:28px}.team__co{border-top:1px solid var(--border);color:var(--slate-700);flex-direction:column;gap:6px;margin-top:48px;padding-top:24px;font-style:normal;display:flex}.legal__inner{max-width:808px;padding-top:150px;padding-bottom:96px}.legal h1{font-family:var(--font-display);color:var(--navy-700);margin:0;font-size:clamp(30px,4vw,48px);font-weight:400;line-height:1.3}.legal__updated{color:var(--slate-700);margin:24px 0 32px}.legal h2{letter-spacing:-.02em;color:var(--ink-900);margin:40px 0 12px;font-size:22px;font-weight:500;line-height:30px}.legal p,.legal li{color:var(--slate-700);font-size:17px;line-height:27px}.legal p{white-space:pre-line;margin:0 0 14px}.legal ul{margin:0 0 14px;padding-left:22px}.nf{background-color:var(--navy-900);background-image:linear-gradient(var(--line-grid-inverse) 1px, transparent 1px), linear-gradient(90deg, var(--line-grid-inverse) 1px, transparent 1px);min-height:100svh;color:var(--paper);background-size:100% 32px,32px 100%;align-items:center;display:flex}.nf__inner{width:100%;padding-top:140px;padding-bottom:96px}.nf__code{font-family:var(--font-num);letter-spacing:.02em;color:var(--paper);font-size:clamp(96px,18vw,240px);line-height:1}.nf__h{letter-spacing:-.025em;margin:24px 0 0;font-size:clamp(26px,3vw,40px);font-weight:500;line-height:1.2}.nf__p{color:var(--navy-100);margin:12px 0 32px;font-size:18px;line-height:28px}@media (max-width:1023px){.hdr__nav{display:none}.hdr__menu{display:grid}.svh__grid,.incl__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lf__grid{grid-template-rows:none;grid-template-columns:1fr;grid-template-areas:"line""form""contact";row-gap:32px}.lf__contact{margin-top:8px}.back__grid{grid-template-columns:1fr;gap:0}.svc__row{grid-template-columns:1fr;gap:18px}.snav{grid-template-columns:repeat(2,minmax(0,1fr))}.snav__item{min-height:160px}.svc__steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}.back__grid{gap:40px}.pillars__grid{grid-template-columns:1fr;gap:56px}}@media (max-width:767px){.svh__grid,.hww__list,.incl__grid{grid-template-columns:1fr}.hww__list{row-gap:32px}.lf__inner{padding-top:64px;padding-bottom:64px}.lf--full .lf__inner{padding-top:120px}.lf__title{font-size:min(19cqi,96px)}.lf__title>span{display:block}.lf__form{grid-template-columns:1fr}.lf__send{flex-direction:column;align-items:stretch}.phead__inner{padding-top:140px;padding-bottom:64px}.svc{padding:72px 0}.svc__head{margin-bottom:40px}.svc__row{padding:28px 0}.svc__label{font-size:18px}.snav{margin-top:40px}.snav__item{gap:24px;min-height:136px;padding:18px 16px}.snav__t{padding-right:24px}.snav__arr{bottom:18px;right:14px}.svc__what{columns:1}.svc__steps{grid-template-columns:1fr}.svc__similar>div{grid-template-columns:1fr;gap:4px}.tech th,.tech td{width:auto;display:block}.tech th{border-bottom:0;padding-bottom:4px}.tech td{padding-top:0}.team__grid{grid-template-columns:1fr;gap:16px}.arch__inner{padding-top:80px;padding-bottom:80px}.legal__inner{padding-top:120px}}.office{background:var(--paper-2)}.office__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px 64px;margin-bottom:48px;display:flex}.office__intro{max-width:30rem;color:var(--slate-700);margin:0;font-size:18px;line-height:28px}.office__grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"a a b card""a a c card""d e e f";grid-auto-rows:clamp(170px,15.5vw,240px);gap:12px;display:grid}.office__ph{background:var(--navy-050);cursor:zoom-in;border:0;border-radius:2px;padding:0;display:block;position:relative;overflow:hidden}.office__img{object-fit:cover;transition:transform 1.2s var(--ease), clip-path 1.3s var(--ease-io) var(--d,0s);transform:scale(1.001)}.office__ph:hover .office__img,.office__ph:focus-visible .office__img{transform:scale(1.05)}.office__cap{max-width:calc(100% - 24px);color:var(--ink-900);text-align:left;opacity:0;transition:opacity .35s var(--ease), transform .5s var(--ease);background:#fffffff0;align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:500;line-height:18px;display:inline-flex;position:absolute;bottom:12px;left:12px;transform:translateY(8px)}.office__cap .mono{color:var(--crimson-600)}.office__ph:hover .office__cap,.office__ph:focus-visible .office__cap{opacity:1;transform:none}.office__ph:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.js .office__ph[data-reveal]{opacity:1;filter:none;transform:none}.js .office__ph[data-reveal] .office__img{clip-path:inset(0 0 100%)}.js .office__ph[data-reveal].in .office__img{clip-path:inset(0)}.office__card{background-color:var(--navy-900);background-image:linear-gradient(var(--line-grid-inverse) 1px, transparent 1px), linear-gradient(90deg, var(--line-grid-inverse) 1px, transparent 1px);color:var(--paper);background-size:100% 24px,24px 100%;border-radius:2px;flex-direction:column;grid-area:card;padding:28px 28px 24px;font-style:normal;display:flex}.office__card-l{color:var(--navy-100)}.office__place{font-family:var(--font-num);letter-spacing:.02em;margin-top:20px;font-size:clamp(40px,4.2vw,64px);line-height:1}.office__area{color:var(--crimson-100);margin-top:10px;font-size:20px;font-weight:500;line-height:26px}.office__addr{color:var(--navy-100);flex-direction:column;margin-top:auto;padding-top:24px;font-size:15px;line-height:23px;display:flex}.office__acts{border-top:1px solid var(--line-inverse);flex-direction:column;margin-top:20px;display:flex}.office__link{border-bottom:1px solid var(--line-inverse);color:var(--paper);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:15px;font-weight:500;line-height:20px;text-decoration:none;display:flex}.office__link:hover{color:var(--paper)}.office__link .icon,.office__link svg{transition:transform .45s var(--ease);flex-shrink:0}.office__link:hover svg{transform:translate(4px)}.office__foot{margin-top:28px}.lbx{background:var(--navy-900);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--paper);border:0;margin:0;padding:0}.lbx::backdrop{background:0 0}.lbx[open]{animation:lbxIn .35s var(--ease) both}@keyframes lbxIn{0%{opacity:0}to{opacity:1}}.lbx__inner{grid-template-rows:auto minmax(0,1fr) auto;height:100%;padding:16px 24px 24px;display:grid}.lbx__bar{justify-content:space-between;align-items:center;display:flex}.lbx__count{color:var(--navy-100)}.lbx__fig{grid-template-rows:minmax(0,1fr) auto;gap:14px;min-height:0;margin:16px 0;display:grid}.lbx__frame{min-height:0;position:relative}.lbx__img{object-fit:contain;animation:lbxIn .4s var(--ease) both}.lbx__cap{text-align:center;font-size:16px;font-weight:500;line-height:24px}.lbx__nav{justify-content:center;display:flex}@media (hover:none){.office__cap{opacity:1;transform:none}}@media (max-width:1023px){.office__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"a a""a a""b card""c card""e e""d f";grid-auto-rows:clamp(180px,30vw,260px)}}@media (max-width:767px){.office__head{margin-bottom:32px}.office__intro{font-size:17px;line-height:26px}.office__grid{grid-template-rows:62vw 40vw 40vw 52vw auto;grid-template-areas:"a a""b c""d f""e e""card card";grid-auto-rows:auto;gap:8px}.office__cap{gap:6px;max-width:calc(100% - 16px);padding:6px 8px;font-size:12px;line-height:15px;bottom:8px;left:8px}.office__card{padding:24px 20px 16px}.office__place{font-size:52px}.lbx__inner{padding:12px 16px 20px}}.lf__label,.phead__label,.shead__l,.svc__n,.team__label{letter-spacing:.14em;font-size:15px;font-weight:500;line-height:22px}.phead__h,.svc__h{margin-left:-.07em}.phead__h--xl{margin-left:-.085em}.lf__title>span{position:relative;left:-.088em}html[lang=vi] :is(.phead__h,.svc__h){margin-left:-.06em}html[lang=vi] .lf__title>span{left:-.06em}.bq{white-space:nowrap;color:var(--crimson-600);display:inline-block;position:relative}.bq__red{display:none}.bq__line{background:var(--crimson-600);height:2px;position:absolute;bottom:-.06em;left:0;right:0}.js .bq{color:inherit}.js .bq__red{color:var(--crimson-600);clip-path:inset(-.5em 100% -.5em -.5em);display:block;position:absolute;inset:0}.js .bq__line{transform-origin:0;transform:scaleX(0)}.js .pillars__close.in .bq__red{animation:.85s linear .45s forwards bqSweep}.js .pillars__close.in .bq__line{animation:.85s linear .45s forwards bqDrawLine}.js .pillars__close.in .bq__iq{animation:.6s ease-out 1.03s both bqGlow}@keyframes bqSweep{99.9%{clip-path:inset(-.5em 0 -.5em -.5em)}to{clip-path:none}}@keyframes bqDrawLine{to{transform:scaleX(1)}}@keyframes bqGlow{0%,to{text-shadow:0 0 #a1162700}35%{text-shadow:0 0 14px #a116278c}}@media (prefers-reduced-motion:reduce){.js .bq__red{clip-path:none;animation:none!important}.js .bq__line{transform:none;animation:none!important}.js .pillars__close.in .bq__iq{animation:none!important}}html[lang=vi] :is(.h1,.phead__h,.svc__h,.lf__title,.incl__h,.pillar__label,.back__h,.arch__h,.legal h1){letter-spacing:-.01em;font-weight:600}html[lang=vi] :is(.h1,.mi__t){letter-spacing:.03em}html[lang=vi] .mi__t{font-weight:500}html[lang=vi] .lf__title{font-size:min(13.5cqi,180px)}@media (max-width:767px){html[lang=vi] .lf__title{font-size:min(25cqi,120px)}}html.bq-loading,html.bq-loading body{overflow:hidden}html.bq-loading .rise{animation-play-state:paused}.bq-loader{--lw:clamp(240px, 40vw, 560px);--lh:calc(var(--lw) * .3292);--top:calc(50% - var(--lh) / 2);--base:calc(var(--top) + var(--lh) * .9855);z-index:1000;pointer-events:none;position:fixed;inset:0}.bq-loader__pan{pointer-events:auto;background:var(--paper);transition:transform 1s cubic-bezier(.76,0,.24,1) .45s;position:absolute;left:0;right:0}.bq-loader__pan--top{height:var(--base);top:0}.bq-loader__pan--bot{top:var(--base);bottom:0}.bq-loader.is-out .bq-loader__pan--top{transform:translateY(-100%)}.bq-loader.is-out .bq-loader__pan--bot{transform:translateY(100%)}.bq-loader__cut{left:0;right:0;top:calc(var(--base) - 1px);background:var(--crimson-600);transform-origin:0;height:2px;position:absolute;transform:scaleX(0)}.bq-loader.is-out .bq-loader__cut{opacity:0;transition:transform .45s var(--ease-io), opacity .4s ease .55s;transform:scaleX(1)}.bq-loader__c{transition:opacity .45s ease, transform .6s var(--ease);position:absolute;inset:0}.bq-loader.is-out .bq-loader__c{opacity:0;transform:translateY(-12px)}@keyframes bqFade{0%{opacity:0}to{opacity:1}}.bq-loader__logo{left:calc(50% - var(--lw) / 2);top:var(--top);width:var(--lw);height:var(--lh);position:absolute}.bq-loader__logo svg{width:100%;height:100%;display:block;overflow:visible}.bq-loader__lt{fill-opacity:0;stroke-opacity:1;stroke-width:1.6px;stroke-dasharray:1;stroke-dashoffset:1px;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:bqDraw 1.15s var(--ease-io) var(--d) both, bqFill .7s ease calc(var(--d) + .95s) both}.bq-loader__lt.is-navy{fill:var(--navy-700);stroke:var(--navy-700)}.bq-loader__lt.is-red{fill:var(--crimson-600);stroke:var(--crimson-600)}@keyframes bqDraw{to{stroke-dashoffset:0}}@keyframes bqFill{to{fill-opacity:1;stroke-opacity:0}}.bq-loader__flag{fill:var(--crimson-600);transform-box:fill-box;transform-origin:50% 100%;animation:.55s cubic-bezier(.3,0,.2,1) 2.05s both bqFlag}@keyframes bqFlag{0%{opacity:0;transform:translateY(-70px)rotate(-30deg)}to{opacity:1;transform:none}}.bq-loader__spark{fill:none;stroke:var(--crimson-600);stroke-width:2px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;opacity:0;animation:bqSpark .9s var(--ease) 2.55s forwards}@keyframes bqSpark{0%{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(2.6)}}.bq-loader__cnt{flex-direction:column;gap:10px;animation:.6s .2s both bqFade;display:flex;position:absolute;bottom:76px;left:80px}.bq-loader__cnt .mono{color:var(--slate-500)}.bq-loader__n{font-family:var(--font-num);color:var(--navy-700);letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:64px;line-height:1}.bq-loader__n small{color:var(--slate-500);margin-left:6px;font-size:24px}.bq-loader__bar{background:var(--slate-200);height:1px;animation:.6s .2s both bqFade;position:absolute;bottom:48px;left:80px;right:80px;overflow:hidden}.bq-loader__bar i{background:var(--crimson-600);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}html.bq-loader-quick .bq-loader__intro,.bq-loader.is-cover .bq-loader__intro{display:none}html.bq-loader-quick .bq-loader__lt,.bq-loader.is-cover .bq-loader__lt{fill-opacity:1;stroke-opacity:0;animation:none}html.bq-loader-quick .bq-loader__flag,.bq-loader.is-cover .bq-loader__flag{animation:none}html.bq-loader-quick .bq-loader__spark,.bq-loader.is-cover .bq-loader__spark{display:none}html.bq-loader-quick .bq-loader__pan{transition-duration:.8s;transition-delay:50ms}.bq-loader.is-cover .bq-loader__pan--top{animation:.6s cubic-bezier(.76,0,.24,1) both bqCoverTop}.bq-loader.is-cover .bq-loader__pan--bot{animation:.6s cubic-bezier(.76,0,.24,1) both bqCoverBot}.bq-loader.is-cover .bq-loader__logo{animation:.3s .35s both bqFade}@keyframes bqCoverTop{0%{transform:translateY(-100%)}to{transform:none}}@keyframes bqCoverBot{0%{transform:translateY(100%)}to{transform:none}}@media (max-width:767px){.bq-loader__cnt{bottom:64px;left:24px}.bq-loader__n{font-size:44px}.bq-loader__bar{bottom:40px;left:24px;right:24px}}@media (prefers-reduced-motion:reduce){.bq-loader__lt{fill-opacity:1;stroke-opacity:0;animation:none}.bq-loader__flag,.bq-loader__cnt,.bq-loader__bar{animation:none}.bq-loader__spark{display:none}.bq-loader__pan,.bq-loader__c,.bq-loader__cut{transition:opacity .3s!important;transform:none!important}.bq-loader.is-out .bq-loader__pan{opacity:0}}
