@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff");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:Work Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/work-sans-vietnamese-400-normal-BxGuknnG.woff2)format("woff2"),url(/assets/work-sans-vietnamese-400-normal-DFZk_KN_.woff)format("woff");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:Work Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/work-sans-latin-ext-400-normal-zfQnhXzv.woff2)format("woff2"),url(/assets/work-sans-latin-ext-400-normal-j7TZlk-s.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Work Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/work-sans-latin-400-normal-jUejSri3.woff2)format("woff2"),url(/assets/work-sans-latin-400-normal-DE1_0GuN.woff)format("woff");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:Work Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/work-sans-vietnamese-500-normal-Czn2Xkog.woff2)format("woff2"),url(/assets/work-sans-vietnamese-500-normal-90nhZfxs.woff)format("woff");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:Work Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/work-sans-latin-ext-500-normal-CAKEIVkc.woff2)format("woff2"),url(/assets/work-sans-latin-ext-500-normal-CW9ss9Cz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Work Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/work-sans-latin-500-normal-BKGnScDy.woff2)format("woff2"),url(/assets/work-sans-latin-500-normal-BmdXWF6_.woff)format("woff");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");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-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-BDQ-w_bc.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-CtgKGIh5.woff)format("woff");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-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-700-normal-Bp80XfeI.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-700-normal-O_YjL27c.woff)format("woff");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-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-vietnamese-700-normal-apsD3J7v.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-700-normal-Bs14ezHR.woff)format("woff");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-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-ext-700-normal-Dhimjc7-.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-700-normal-Cwsjk1Jb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-CNHXzs6v.woff)format("woff");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}:root{--bg:#101216;--text:#fff;--muted:#b9c0c9;--accent:#157ea8;--accent-hover:#106d92;--focus:#ffd54a;--font-sans:"Inter Variable", Inter, Arial, Helvetica, sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--content-width:1200px;--page-padding:32px;color:var(--text);background:var(--bg);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%}body{background:radial-gradient(circle at 50% -10%, #3776a047, transparent 42%), var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);font-synthesis:none;margin:0;line-height:1.5}h1,h2,h3{font-family:var(--font-sans)}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}img{max-width:100%;display:block}@media (width<=640px){:root{--page-padding:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}html:has(body.a11y-text-size-1){font-size:112.5%}html:has(body.a11y-text-size-2){font-size:125%}html:has(body.a11y-text-size-3){font-size:137.5%}html:has(body.a11y-text-size-4){font-size:150%}body.a11y-line-height-1 main,body.a11y-line-height-1 main *{line-height:1.65!important}body.a11y-line-height-2 main,body.a11y-line-height-2 main *{line-height:1.9!important}body.a11y-line-height-3 main,body.a11y-line-height-3 main *{line-height:2.2!important}body.a11y-text-align-1 main,body.a11y-text-align-1 main p,body.a11y-text-align-1 main li{text-align:left!important}body.a11y-text-align-2 main,body.a11y-text-align-2 main p,body.a11y-text-align-2 main li{text-align:justify!important}body.a11y-readable-font main,body.a11y-readable-font main *{letter-spacing:.025em!important;word-spacing:.08em!important;font-family:Verdana,Arial,Helvetica,sans-serif!important}body.a11y-contrast-1 main>*,body.a11y-contrast-1 header>*,body.a11y-contrast-1 footer>*{filter:contrast(1.35)saturate(1.08)}body.a11y-contrast-2 main>*,body.a11y-contrast-2 header>*,body.a11y-contrast-2 footer>*{filter:contrast(1.7)saturate(1.15)}body.a11y-contrast-3 main>*,body.a11y-contrast-3 header>*,body.a11y-contrast-3 footer>*{filter:contrast(2.1)saturate(1.2)}body.a11y-grayscale main>*,body.a11y-grayscale header>*,body.a11y-grayscale footer>*{filter:grayscale()!important}body.a11y-grayscale.a11y-contrast-1 main>*,body.a11y-grayscale.a11y-contrast-1 header>*,body.a11y-grayscale.a11y-contrast-1 footer>*{filter:grayscale()contrast(1.35)saturate(1.08)!important}body.a11y-grayscale.a11y-contrast-2 main>*,body.a11y-grayscale.a11y-contrast-2 header>*,body.a11y-grayscale.a11y-contrast-2 footer>*{filter:grayscale()contrast(1.7)saturate(1.15)!important}body.a11y-grayscale.a11y-contrast-3 main>*,body.a11y-grayscale.a11y-contrast-3 header>*,body.a11y-grayscale.a11y-contrast-3 footer>*{filter:grayscale()contrast(2.1)saturate(1.2)!important}body.a11y-hide-images main img,body.a11y-hide-images main picture,body.a11y-hide-images main video,body.a11y-hide-images main canvas,body.a11y-hide-images main [role=img]{display:none!important}body.a11y-hide-images main .image,body.a11y-hide-images main .image-wrapper,body.a11y-hide-images main .image-container,body.a11y-hide-images main .media,body.a11y-hide-images main .media-wrapper,body.a11y-hide-images main .hero-image,body.a11y-hide-images main .hero-media,body.a11y-hide-images main .project-image,body.a11y-hide-images main .project-media{background-image:none!important}body.a11y-hide-images .hero-mark,body.a11y-hide-images .hero-scene,body.a11y-hide-images .ring-scene,body.a11y-hide-images .drift-scene,body.a11y-hide-images .logo-scene,body.a11y-hide-images .site-header .brand-logo-link{display:none!important}body.a11y-pause-motion *,body.a11y-pause-motion :before,body.a11y-pause-motion :after{scroll-behavior:auto!important;transition:none!important;animation-play-state:paused!important}body.a11y-highlight-links main a,body.a11y-highlight-links .site-header a,body.a11y-highlight-links footer a{color:#062a63!important;text-underline-offset:4px!important;outline-offset:3px!important;box-shadow:none!important;background-color:#fff59d!important;outline:3px solid #ffbf00!important;-webkit-text-decoration:underline #062a63!important;text-decoration:underline #062a63!important;text-decoration-thickness:3px!important}body.a11y-highlight-links .site-header .brand-logo-link,body.a11y-highlight-links .site-header .brand-logo-link *{color:#062a63!important;outline-offset:3px!important;background-color:#fff59d!important;outline:3px solid #ffbf00!important}body.a11y-focus-outline main :focus-visible,body.a11y-focus-outline header :focus-visible,body.a11y-focus-outline footer :focus-visible{outline-offset:4px!important;outline:4px solid #ffbf00!important}.accessibility-widget,.accessibility-widget *,.page-structure-overlay,.page-structure-overlay *{font-family:Arial,Helvetica,sans-serif}.skip-link{z-index:4000;color:#101216;font-family:var(--font-sans);background:#fff;border-radius:8px;padding:12px 16px;font-weight:700;text-decoration:none;transition:transform .16s;position:fixed;top:12px;left:50%;transform:translate(-50%,-160%);box-shadow:0 8px 24px #00000040}.skip-link:focus{outline:3px solid var(--focus);outline-offset:3px;transform:translate(-50%)}body.a11y-hide-images .funding-banner,body.a11y-hide-images .site-footer .funding-banner,body.a11y-hide-images .site-footer .funding-banner img{display:none!important}body.a11y-highlight-links .site-footer .funding-banner{outline-offset:4px!important;background:#fff59d!important;outline:3px solid #ffbf00!important;display:inline-flex!important;box-shadow:0 0 0 2px #fff59d73!important}.home-main{width:min(100% - (var(--page-padding) * 2), var(--content-width));justify-content:center;align-items:center;min-height:calc(100svh - 128px);margin:0 auto;padding:92px 0 120px;display:flex;position:relative}.home-main:before{aspect-ratio:1;content:"";filter:blur(6px);pointer-events:none;background:radial-gradient(circle,#1f88b721 0%,#157ea80b 36%,#0000 70%);border-radius:50%;width:min(74vw,920px);position:absolute;top:8%;left:50%;transform:translate(-50%)}.hero{z-index:1;text-align:center;width:min(100%,940px);min-height:480px;margin:0 auto;position:relative}.hero-mark{opacity:.25;z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:min(900px,100vw);height:auto;margin:0 auto 64px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)}.hero .ring-scene{z-index:0;mix-blend-mode:screen;pointer-events:none;position:absolute;inset:-60px}.hero-eyebrow,.hero h1,.hero-intro,.hero-actions{z-index:1;position:relative}.hero h1,.studio-content h2,.app-content h2,.contact-content h2{font-family:var(--font-sans);font-kerning:normal;font-weight:620}.hero-intro,.studio-intro,.app-intro,.app-lead,.contact-email{font-family:var(--font-sans);letter-spacing:-.012em;font-weight:400}.hero-eyebrow,.section-eyebrow,.section-status,.site-nav a,.language-switcher{font-family:var(--font-mono)}.site-nav a{letter-spacing:.04em;font-size:.72rem;font-weight:500;line-height:1;text-decoration:none}.hero-eyebrow,.section-eyebrow{color:var(--accent);font-weight:600;font-family:var(--font-mono);letter-spacing:.06em;text-transform:none;margin:0 0 20px;font-size:1.55rem;font-weight:500;line-height:1.3}.hero-eyebrow-bold{letter-spacing:.02em;font-weight:700;display:inline-block}.hero h1{max-width:920px;font-family:var(--font-sans);letter-spacing:-.068em;text-wrap:balance;margin:0 auto;font-size:clamp(3.35rem,7.15vw,7.35rem);font-weight:620;line-height:.92}.hero-intro{width:min(100%,590px);color:var(--muted);text-wrap:pretty;margin:34px auto 0;font-size:clamp(1rem,1.45vw,1.14rem);line-height:1.7}.hero-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:38px;display:flex}.button{min-height:48px;font-family:var(--font-sans);letter-spacing:-.01em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:12px 20px;font-size:.88rem;font-weight:700;line-height:1;text-decoration:none;transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.button-primary{background:var(--accent);color:#fff;box-shadow:0 10px 24px #157ea82e}.button-primary:hover{background:var(--accent-hover);box-shadow:0 14px 30px #157ea847}.button-secondary{color:var(--text);background:#ffffff05;border-color:#ffffff40}.button-secondary:hover{background:#ffffff0f;border-color:#ffffff9e}.studio-section,.app-section,.contact-section{border-top:1px solid #ffffff1a;align-items:center;width:100%;min-height:72vh;padding:clamp(96px,12vw,168px) 0;display:flex;position:relative}.studio-section{background:#ffffff04;overflow:hidden}.app-section{background:radial-gradient(circle at 78%,#157ea833,#0000 42%),radial-gradient(circle at 20% 82%,#4385a512,#0000 34%),#157ea80a;min-height:76vh;overflow:hidden}.ring-scene{z-index:0;pointer-events:none;position:absolute;inset:0}.ring-scene canvas{width:100%!important;height:100%!important}.app-content,.contact-content{z-index:1;position:relative}.studio-content,.app-content,.contact-content{z-index:1;width:min(100% - (var(--page-padding) * 2), 920px);text-align:center;margin:0 auto;padding-inline:16px;position:relative}.studio-content h2,.app-content h2,.contact-content h2{font-family:var(--font-sans);letter-spacing:-.067em;text-wrap:balance;margin:0 auto;font-weight:620;line-height:.94}.studio-content h2,.contact-content h2{max-width:860px;font-size:clamp(3rem,6.2vw,6.3rem)}.app-content h2{letter-spacing:-.085em;max-width:900px;font-size:clamp(4.8rem,10.8vw,10rem)}.studio-intro,.app-intro{max-width:640px;color:var(--muted);text-wrap:pretty;margin:34px auto 0;font-size:clamp(1.02rem,1.5vw,1.18rem);line-height:1.72}.section-status{color:var(--muted);align-items:center;gap:8px;margin:20px auto 0;font-size:.82rem;font-weight:500;display:inline-flex}.section-status:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.hero-scene{z-index:2;opacity:.9;pointer-events:none;mix-blend-mode:screen;position:absolute;inset:0}.hero-scene canvas{width:100%!important;height:100%!important}.studio-section .hero-scene{z-index:0;opacity:1.95;mix-blend-mode:normal}.app-lead{max-width:620px;color:var(--text);letter-spacing:-.025em;text-wrap:balance;margin:34px auto 0;font-size:clamp(1.25rem,2.25vw,1.75rem);font-weight:500;line-height:1.25}.app-content .button,.contact-content .button{margin-top:36px}.contact-section{background:radial-gradient(circle at 50% 0,#157ea817,#0000 46%),#ffffff03;min-height:62vh;overflow:hidden}.contact-content{max-width:840px}.contact-content h2{max-width:780px}.contact-email{overflow-wrap:anywhere;max-width:calc(100vw - 64px)}#studio,#app,#contact{scroll-margin-top:32px}.studio-does{border-top:1px solid #ffffff1a;width:min(100%,920px);margin:88px auto 0;padding-top:42px}.studio-does>.section-eyebrow{text-align:left;margin-bottom:32px}.studio-does-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:42px;display:grid}.studio-does-item h3{font-family:var(--font-sans);letter-spacing:-.035em;margin:0;font-size:clamp(1.35rem,2vw,1.75rem);font-weight:620;line-height:1.05}.studio-does-item p{max-width:280px;color:var(--muted);font-family:var(--font-sans);margin:16px 0 0;font-size:.98rem;line-height:1.6}@media (width<=640px){.home-main{min-height:calc(100svh - 104px);padding:68px 0 96px}.hero h1{letter-spacing:-.065em;font-size:clamp(3rem,13vw,4.7rem);line-height:.95}.hero-intro{margin-top:28px;font-size:1rem;line-height:1.65}.hero-actions{gap:10px;margin-top:30px}.button{min-height:50px;font-size:.86rem;font-family:var(--font-sans);padding-inline:18px}.studio-section,.app-section,.contact-section{min-height:auto;padding:92px 0}.studio-content h2,.contact-content h2{font-size:clamp(2.8rem,12vw,4.5rem)}.app-content h2{font-size:clamp(4.5rem,20vw,6.7rem)}.studio-intro,.app-intro{margin-top:28px;font-size:1rem;line-height:1.68}.app-lead{margin-top:28px;font-size:1.28rem}.studio-does{margin-top:64px;padding-top:32px}.studio-does>.section-eyebrow{margin-bottom:28px}.studio-does-grid{grid-template-columns:1fr;gap:32px}.studio-does-item p{max-width:100%}}.home-main{width:100%;padding-inline:var(--page-padding);overflow:clip}.hero{min-height:0}.hero h1{letter-spacing:-.055em;font-size:clamp(2.7rem,6.3vw,5.9rem);line-height:1.02}.hero-eyebrow,.section-eyebrow{color:#65b6d6;letter-spacing:.04em;font-size:.9rem}.hero .ring-scene{inset:0}.studio-section,.app-section,.contact-section{min-height:auto;padding:clamp(72px,8vw,112px) 0}.studio-content,.app-content,.contact-content{padding-inline:0}.studio-content h2,.contact-content h2{letter-spacing:-.045em;font-size:clamp(2.2rem,4.5vw,4rem);line-height:1.08}.studio-does{margin-top:56px}.studio-does-grid{gap:32px}.studio-does-item{min-width:0}.studio-does-item h3{line-height:1.2}.process-block{text-align:left;border-top:1px solid #ffffff1f;margin-top:64px;padding-top:32px}.process-block h3{letter-spacing:-.025em;font-size:1.35rem;font-weight:500}.process-grid{counter-reset:steps;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:28px 0 0;padding:0;list-style:none;display:grid}.process-grid li{counter-increment:steps}.process-grid li:before{content:"0" counter(steps);color:#65b6d6;font-family:var(--font-mono);margin-bottom:12px;font-size:.78rem;display:block}.process-grid strong{font-weight:600}.process-grid p{color:var(--muted);margin-bottom:0;font-size:.95rem;line-height:1.65}.app-content h2{letter-spacing:-.06em;font-size:clamp(3rem,10vw,7.4rem);line-height:1.08}.section-status{margin-top:18px}.section-status:before{background:#65b6d6;animation:none}.contact-email{overflow-wrap:anywhere;max-width:100%;line-height:1.4}@media (width<=640px){.home-main{min-height:auto;padding:48px 20px 64px}.hero h1{font-size:clamp(2.1rem,9.3vw,3.6rem);line-height:1.07}.hero-intro{margin-top:24px}.hero-actions{flex-direction:column;align-items:stretch;margin-top:26px}.button{line-height:1.35}.studio-does-grid,.process-grid{grid-template-columns:1fr;gap:28px}.studio-does{margin-top:40px}.studio-content h2,.contact-content h2{font-size:clamp(2rem,8vw,3rem)}.app-content h2{font-size:clamp(2.8rem,15vw,5.8rem)}.process-block{margin-top:44px}.app-content .button{max-width:100%}}.site-header{width:min(100% - (var(--page-padding) * 2), var(--content-width));grid-template-columns:auto 1fr auto;align-items:center;gap:28px;margin:0 auto;padding:16px 0;display:grid}.brand-logo-link{width:118px;height:68px;display:inline-flex;overflow:hidden}.brand-logo{object-fit:contain;filter:brightness(0)invert();width:100px;height:auto;display:block}.site-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:24px;display:flex}.site-nav a{min-height:44px;color:var(--muted);align-items:center;font-size:.85rem;line-height:1.3;display:inline-flex}.site-nav a:hover{color:var(--text)}.site-header .language-switcher{min-width:44px;min-height:44px;position:static}@media (width<=640px){.site-header{grid-template-columns:1fr auto;gap:8px 20px;padding:12px 0 8px}.brand-logo-link{width:100px;height:64px}.brand-logo{width:100px}.site-nav{border-top:1px solid #ffffff1a;grid-area:2/1/auto/-1;justify-content:space-between;gap:8px}.site-nav a{font-size:.78rem}.site-header .language-switcher{grid-area:1/2}}.language-switcher{z-index:40;min-width:46px;min-height:36px;color:var(--text);cursor:pointer;font-family:var(--font-mono);letter-spacing:.08em;-webkit-backdrop-filter:blur(10px);background:#101216b8;border:1px solid #ffffff6b;border-radius:999px;justify-content:center;align-items:center;padding:7px 10px;font-size:.72rem;font-weight:600;line-height:1;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:inline-flex;position:fixed;top:18px;right:28px}.language-switcher:hover{border-color:var(--text);background:#157ea838;transform:translateY(-1px)}.language-switcher:focus{outline:none}.language-switcher:focus-visible{outline:3px solid var(--focus);outline-offset:4px}@media (width<=640px){.language-switcher{min-width:42px;min-height:34px;padding:7px 9px;font-size:.68rem;top:14px;right:16px}}.site-footer{width:min(100% - (var(--page-padding) * 2), var(--content-width));border-top:1px solid #ffffff1f;margin:0 auto;padding:32px 0 112px}.footer-content{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;font-size:.88rem;display:flex}.footer-business{flex-direction:column;gap:6px;display:flex}.footer-business p{margin:0}.footer-business-details{color:var(--muted);font-size:.78rem;line-height:1.5}.footer-content a{overflow-wrap:anywhere;max-width:100%;transition:color .18s}.footer-content a:hover{color:var(--text)}.funding-banner{z-index:20;background:#fff;border-radius:4px;width:min(520px,48vw);margin:0;display:block;position:fixed;bottom:16px;left:16px;box-shadow:0 6px 22px #00000052}.funding-banner img{border-radius:4px;width:100%;height:auto;display:block}@media (width<=640px){.site-footer{padding-bottom:112px}.footer-content{text-align:center;justify-content:center}.footer-business{align-items:center;width:100%}.funding-banner{width:min(360px,72vw);bottom:10px;left:10px}}.accessibility-widget{z-index:3000;isolation:isolate;color:#1f2937;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;position:relative}.accessibility-widget *,.accessibility-widget :before,.accessibility-widget :after,.page-structure-overlay,.page-structure-overlay *,.page-structure-overlay :before,.page-structure-overlay :after{box-sizing:border-box}.accessibility-trigger{z-index:3002;color:#fff;cursor:pointer;background:#06f;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;padding:0;transition:transform .15s,box-shadow .15s,background-color .15s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 24px #0003}.accessibility-trigger:hover{background:#0057d9;transform:translateY(-2px);box-shadow:0 12px 28px #00000042}.accessibility-trigger:active{transform:translateY(0)}.accessibility-trigger:focus-visible{outline-offset:3px;outline:3px solid #fff}.accessibility-panel{z-index:3001;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;color:#1f2937;background:#fff;border-radius:16px;flex-direction:column;width:360px;max-width:calc(100vw - 48px);max-height:min(720px,100vh - 120px);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;display:flex;position:fixed;bottom:96px;right:24px;overflow:hidden auto;box-shadow:0 12px 40px #00000038}.accessibility-panel::-webkit-scrollbar{width:8px}.accessibility-panel::-webkit-scrollbar-track{background:0 0}.accessibility-panel::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.accessibility-panel-header{z-index:2;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 20px 16px;display:flex;position:sticky;top:0}.accessibility-overline{color:#6b7280;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:700;line-height:1.25}#accessibility-title{color:#111827;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:22px;font-weight:700;line-height:1.2}.accessibility-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:26px;line-height:1;display:flex}.accessibility-close:hover{color:#111827;background:#f3f4f6}.accessibility-close:focus-visible{outline-offset:2px;outline:3px solid #06f}.accessibility-group{border-bottom:1px solid #f3f4f6;padding:18px 20px 22px}.accessibility-group:last-child{border-bottom:none}.accessibility-group-title{color:#374151;margin:0 0 14px;font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:700;line-height:1.25}.accessibility-options-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-flow:row;gap:14px;width:100%;min-width:0;display:grid}.accessibility-options-grid>.accessibility-option{grid-area:auto;width:100%;min-width:0;max-width:100%}.accessibility-option{color:#1f2937;cursor:pointer;text-align:center;background:#fff;border:1px solid #d9dee7;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-width:0;min-height:104px;padding:12px 8px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.25;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex;overflow:hidden}.accessibility-option:hover{background:#f8fafc;border-color:#94a3b8}.accessibility-option:active{transform:none}.accessibility-option.is-active{background:#eff6ff;border-color:#06f;box-shadow:inset 0 0 0 1px #06f}.accessibility-option:focus:not(:focus-visible){outline:none}.accessibility-option:focus-visible{outline-offset:3px;outline:3px solid #ffbf00}.a11y-option-icon{color:#374151;flex:none;font-family:Arial,Helvetica,sans-serif;font-size:24px;font-weight:700;line-height:1}.a11y-option-label{color:#1f2937;overflow-wrap:anywhere;width:100%;min-width:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:500;line-height:1.25;display:block}.a11y-level-meter{flex:none;gap:4px;margin-top:2px;display:flex}.a11y-level-meter span{background:#e5e7eb;border-radius:2px;width:18px;height:4px}.a11y-level-meter span.is-filled{background:#06f}.reading-mask{z-index:2990;pointer-events:none;height:110px;position:fixed;top:0;left:0;right:0}.reading-mask:before,.reading-mask:after{content:"";background:#070f1b9e;position:fixed;left:0;right:0}.reading-mask:before{height:var(--a11y-mask-top,calc(50vh - 55px));top:0}.reading-mask:after{top:calc(var(--a11y-mask-top,calc(50vh - 55px)) + 110px);bottom:0}.page-structure-overlay{z-index:3100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#1f2937;background:#00000080;flex-direction:column;font-family:Arial,Helvetica,sans-serif;display:flex;position:fixed;inset:0}.page-structure-header{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.page-structure-header h2{color:#111827;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:700;line-height:1.3}.page-structure-back,.page-structure-close{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:20px;line-height:1;display:flex}.page-structure-back:hover,.page-structure-close:hover{background:#e5e7eb}.page-structure-back:focus-visible,.page-structure-close:focus-visible{outline-offset:2px;outline:3px solid #06f}.page-structure-list{flex:1;margin:0;padding:12px 16px 24px;list-style:none;overflow-y:auto}.page-structure-list li{margin-bottom:8px}.page-structure-list button{color:#1f2937;cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:10px;width:100%;padding:12px 14px;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.4;display:flex}.page-structure-list button:hover{background:#f9fafb;border-color:#d1d5db}.page-structure-list button:focus-visible{outline-offset:2px;outline:3px solid #06f}.page-structure-list button span{color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 8px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:700;display:inline-flex}@media (width<=480px){.accessibility-trigger{width:52px;height:52px;bottom:16px;right:16px}.accessibility-panel{width:calc(100vw - 32px);max-width:none;max-height:calc(100vh - 104px);bottom:84px;right:16px}.accessibility-group{padding-left:16px;padding-right:16px}.accessibility-options-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.accessibility-option{min-height:98px;padding:10px 6px}.a11y-option-icon{font-size:22px}.a11y-option-label{font-size:12px}}
