@font-face{font-family:Archivo Black;font-style:normal;font-weight:400;font-display:swap;src:url(../media/316b6682b406c2db-s.1c_7chp82d3kz.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Black;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5e4d537aaa9e154b-s.p.2aqrdzrjzn6ap.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:Archivo Black Fallback;src:local(Arial);ascent-override:70.78%;descent-override:16.93%;line-gap-override:0.0%;size-adjust:124.05%}.archivo_black_b4a4aeda-module__-3xhaq__className{font-family:Archivo Black,Archivo Black Fallback;font-style:normal;font-weight:400}.archivo_black_b4a4aeda-module__-3xhaq__variable{--font-archivo-black:"Archivo Black", "Archivo Black 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.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-20C0,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.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-20C0,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.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-20C0,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;font-style:normal;font-weight:700;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:700;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:700;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:700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.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:700;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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;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%}.ibm_plex_sans_9fa80815-module__wA9lkq__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_9fa80815-module__wA9lkq__variable{--font-ibm-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.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-20C0,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.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-20C0,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;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.2ontrj8z1-o25.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:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.33iiebxkijmxa.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:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.2nzetymcmw3t7.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:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0_f09-l1omku8.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0fcfx2a-jndc5.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%}.ibm_plex_mono_7a40aa89-module__YQYF1q__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_7a40aa89-module__YQYF1q__variable{--font-ibm-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d10;--panel:#14171c;--panel-2:#191d23;--border:#262b32;--border-2:#33393f;--ink:#ecedef;--ink-dim:#8b929b;--ink-faint:#565c64;--red:#e0303a;--red-dim:#a92329;--red-ink:#fff4f1;--heat-0:#1c2027;--heat-1:#12432b;--heat-2:#0f6b32;--heat-3:#2ea043;--heat-4:#56d364;--shadow:0 20px 50px -20px #0009;--font-display:var(--font-archivo-black), "Arial Black", sans-serif;--font-body:var(--font-ibm-plex-sans), -apple-system, "Segoe UI", sans-serif;--font-mono:var(--font-ibm-plex-mono), "SFMono-Regular", Consolas, monospace;--font-accent:var(--font-ibm-plex-mono), "SFMono-Regular", Consolas, monospace;--font-tagline:var(--font-body)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1f1ee;--panel:#fff;--panel-2:#f7f7f4;--border:#dcdcd6;--border-2:#c9c9c1;--ink:#14161a;--ink-dim:#565c63;--ink-faint:#8b9096;--red:#c81e28;--red-dim:#a3161f;--red-ink:#fff7f5;--heat-0:#e9ebed;--heat-1:#9be9a8;--heat-2:#40c463;--heat-3:#30a14e;--heat-4:#216e39;--shadow:0 20px 50px -24px #14141440}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1f1ee;--panel:#fff;--panel-2:#f7f7f4;--border:#dcdcd6;--border-2:#c9c9c1;--ink:#14161a;--ink-dim:#565c63;--ink-faint:#8b9096;--red:#c81e28;--red-dim:#a3161f;--red-ink:#fff7f5;--heat-0:#e9ebed;--heat-1:#9be9a8;--heat-2:#40c463;--heat-3:#30a14e;--heat-4:#216e39;--shadow:0 20px 50px -24px #14141440}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d10;--panel:#14171c;--panel-2:#191d23;--border:#262b32;--border-2:#33393f;--ink:#ecedef;--ink-dim:#8b929b;--ink-faint:#565c64;--red:#e0303a;--red-dim:#a92329;--red-ink:#fff4f1;--heat-0:#1c2027;--heat-1:#12432b;--heat-2:#0f6b32;--heat-3:#2ea043;--heat-4:#56d364;--shadow:0 20px 50px -20px #0009}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background-color:var(--bg);background-image:repeating-linear-gradient(-45deg, var(--border) 0, var(--border) 1px, transparent 1px, transparent 13px);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-wrap:pretty;margin:0}html.custom-cursor-active,html.custom-cursor-active *{cursor:none}.custom-cursor{border:1.5px solid var(--border-2);background:var(--ink);pointer-events:none;z-index:9999;border-radius:2px;width:14px;height:14px;transition:transform .15s,opacity .15s;animation:.9s step-end infinite cursor-cycle-dark;position:fixed;top:0;left:0;transform:translate(-50%,-50%)scale(1)}.custom-cursor.is-hovering{transform:translate(-50%,-50%)scale(1.8)}.custom-cursor.is-hidden{opacity:0}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .custom-cursor{animation-name:cursor-cycle-light}}:root[data-theme=light] .custom-cursor{animation-name:cursor-cycle-light}:root[data-theme=dark] .custom-cursor{animation-name:cursor-cycle-dark}@media (hover:none),(pointer:coarse){html.custom-cursor-active,html.custom-cursor-active *{cursor:auto!important}.custom-cursor{display:none!important}}.custom-cursor.is-morphed{mix-blend-mode:difference;clip-path:circle(var(--morph-r,0px) at var(--morph-x,50%) var(--morph-y,50%));background:#fff;border:none;border-radius:3px;transition:clip-path .38s cubic-bezier(.22,1,.36,1),opacity .15s;animation:none;transform:none}.site-frame{background:var(--bg);border-left:1px solid var(--border);border-right:1px solid var(--border);max-width:64rem;min-height:100vh;margin:0 auto}h1,h2,h3{text-wrap:balance;margin:0}a{color:inherit}img{max-width:100%;display:block}::selection{background:var(--red);color:var(--red-ink)}.wrap{max-width:64rem;margin:0 auto;padding:0 clamp(20px,4vw,40px)}.mono{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);align-items:center;gap:10px;margin-bottom:18px;font-size:.78rem;display:flex}.eyebrow .idx{color:var(--red);font-weight:600}.eyebrow:after{content:"";background:var(--border-2);flex:1;height:1px}section{position:relative}.band.alt{background:var(--panel)}.band:before,.contact-band:before,.marquee-band:before,.marquee-band:after,header.site-nav:after,footer:before{content:"";background:var(--border);pointer-events:none;width:100vw;height:2px;position:absolute;left:50%;transform:translate(-50%)}.band:before,.contact-band:before,.marquee-band:before,footer:before{top:0}.marquee-band:after,header.site-nav:after{bottom:0}header.site-nav{z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.nav-inner{position:relative}.nav-grid{border:1px solid var(--border-2);background:var(--panel);grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.nav-cell{border-right:1px solid var(--border-2)}.nav-cell-top{grid-row:1}.nav-cell-bottom{border-top:1px solid var(--border-2);grid-row:2}.nav-cell-logo{grid-area:1/1/3;justify-content:center;align-items:center;padding:5px 18px;text-decoration:none;transition:opacity .15s;display:flex}.nav-cell-logo:hover{opacity:.8}.nav-logo-swap{display:inline-flex;position:relative}.nav-logo-img{width:auto;height:30.6px}.nav-logo-img-hover{opacity:0;pointer-events:none;height:100%;transition:opacity .15s;position:absolute;inset:0}.nav-cell-logo:hover .nav-logo-img-hover{opacity:1}.cursor-invert-target .nav-logo-img-hover{filter:invert()}.nav-cell-main{grid-column:2;min-width:0}.nav-cell-top.nav-cell-main{justify-content:flex-start;align-items:center;display:flex;overflow:hidden}.nav-tagline{font-family:var(--font-tagline);letter-spacing:.03em;word-spacing:.08em;color:var(--ink-dim);text-align:left;white-space:nowrap;margin:0;padding:0 14px;font-size:.85rem;font-weight:600;line-height:1}.typewriter-cursor{background:var(--ink);vertical-align:-.1em;width:.16em;height:.85em;margin-left:4px;animation:.9s step-end infinite cursor-cycle-dark;display:inline-block}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .typewriter-cursor{animation-name:cursor-cycle-light}}:root[data-theme=light] .typewriter-cursor{animation-name:cursor-cycle-light}:root[data-theme=dark] .typewriter-cursor{animation-name:cursor-cycle-dark}.typewriter-cursor.is-typing{background:var(--red);animation:none}@keyframes cursor-cycle-dark{0%,49.9%{background:var(--ink)}50%,to{background:var(--red)}}@keyframes cursor-cycle-light{0%,49.9%{background:var(--ink)}50%,to{background:var(--red)}}.nav-cell-bottom.nav-cell-main{gap:12px;display:flex}.nav-links{flex:1;justify-content:center;align-items:center;gap:4px;margin:0;padding:9px 14px;list-style:none;display:flex}.nav-links a{color:var(--ink-dim);font-family:var(--font-body);align-items:baseline;gap:6px;padding:4px 8px;font-size:.88rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.nav-links a:hover{color:var(--ink)}.nav-link-idx{color:var(--red);letter-spacing:.04em;font-size:.72rem;font-weight:600}.nav-command{border-left:1px solid var(--border-2);flex:none;display:flex;position:relative}.nav-cmd-trigger{cursor:pointer;color:var(--ink-dim);background:0 0;border:none;align-items:center;padding:0 14px;transition:color .15s;display:flex}.nav-cmd-trigger:hover{color:var(--ink)}.nav-cmd-kbd{color:var(--red);font-size:.95rem}.cursor-invert-target .nav-cmd-kbd,.cursor-invert-target .nav-link-idx{filter:invert()}.nav-command-menu{z-index:60;background:var(--panel);border:1px solid var(--border-2);min-width:190px;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.nav-command-menu a,.nav-command-menu button{width:100%;color:var(--ink-dim);font-family:var(--font-mono);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:.8rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-command-menu a:hover,.nav-command-menu button:hover{background:var(--panel-2);color:var(--ink)}.nav-command-menu svg{flex:none;width:15px;height:15px}.nav-cell-theme{grid-area:1/3/3;display:flex}.theme-toggle-btn{cursor:pointer;color:var(--ink-dim);background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:5px 14px;transition:color .15s;display:flex}.theme-toggle-btn:hover{color:var(--red)}.theme-toggle-btn.cursor-invert-target{filter:invert()}.theme-toggle-btn svg{width:26px;height:26px}.nav-cell-social{border-right:none;grid-column:4}.nav-cell-top.nav-cell-social{align-items:stretch;display:flex}.nav-cell-top.nav-cell-social a{width:50px;color:var(--ink-dim);border-left:1px solid var(--border-2);justify-content:center;align-items:center;padding:10px 0;transition:background .15s,color .15s;display:flex}.nav-cell-top.nav-cell-social a:first-child{border-left:none}.nav-cell-top.nav-cell-social a:hover{background:var(--panel-2);color:var(--red)}.nav-cell-top.nav-cell-social a.cursor-invert-target svg{filter:invert()}.nav-cell-top.nav-cell-social svg{width:20px;height:20px}.nav-hatch{background-image:url(/test1.gif);background-position:50%;background-size:cover;height:100%;min-height:26px}.nav-mobile-bar{border:1px solid var(--border-2);background:var(--panel);align-items:stretch;display:none}.nav-mobile-logo{align-items:center;padding:5px 18px;text-decoration:none;transition:opacity .15s;display:flex}.nav-mobile-logo:hover{opacity:.8}.nav-mobile-actions{border-left:1px solid var(--border-2);align-items:stretch;margin-left:auto;display:flex}.nav-mobile-actions .theme-toggle-btn{border-right:1px solid var(--border-2);flex:none;width:54px}.nav-hamburger-btn{cursor:pointer;width:54px;color:var(--ink-dim);background:0 0;border:none;justify-content:center;align-items:center;transition:color .15s;display:flex}.nav-hamburger-btn:hover{color:var(--red)}.nav-hamburger-btn svg{width:22px;height:22px}.nav-mobile-overlay{z-index:60;background:#00000073;animation:.2s nav-overlay-in;position:fixed;inset:0}@keyframes nav-overlay-in{0%{opacity:0}}.nav-mobile-drawer{z-index:61;background:var(--panel);border-left:1px solid var(--border-2);width:min(78vw,280px);box-shadow:var(--shadow);flex-direction:column;animation:.22s cubic-bezier(.22,1,.36,1) nav-drawer-in;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes nav-drawer-in{0%{transform:translate(100%)}}.nav-mobile-links{border-bottom:1px solid var(--border-2);flex:1;padding-top:18px;overflow-y:auto}.nav-mobile-links ul{margin:0;padding:0;list-style:none}.nav-mobile-links li+li{border-top:1px solid var(--border-2)}.nav-mobile-links a{color:var(--ink-dim);font-family:var(--font-body);flex-direction:column;align-items:flex-start;gap:4px;padding:16px 22px;font-size:.92rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:flex}.nav-mobile-links a:hover{color:var(--ink);background:var(--panel-2)}.nav-mobile-links .nav-link-idx{font-size:1.52rem}.nav-mobile-gif{background-image:url(/test1.gif);background-position:50%;background-size:cover;flex-shrink:0;height:160px}@media (prefers-reduced-motion:reduce){.nav-mobile-overlay,.nav-mobile-drawer{animation:none}}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .custom-cursor.is-morphed{mix-blend-mode:normal;background:0 0}:root:not([data-theme=dark]) .nav-cell-logo.cursor-invert-target,:root:not([data-theme=dark]) .nav-cmd-trigger.cursor-invert-target,:root:not([data-theme=dark]) .theme-toggle-btn.cursor-invert-target,:root:not([data-theme=dark]) .nav-links a.cursor-invert-target,:root:not([data-theme=dark]) .nav-cell-top.nav-cell-social a.cursor-invert-target{isolation:isolate;color:var(--red-ink);opacity:1;position:relative}:root:not([data-theme=dark]) .cursor-invert-target:before{content:"";z-index:-1;background:var(--red);clip-path:circle(var(--morph-r,0px) at var(--morph-x,50%) var(--morph-y,50%));transition:clip-path .38s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}:root:not([data-theme=dark]) .cursor-invert-target .nav-cmd-kbd,:root:not([data-theme=dark]) .cursor-invert-target .nav-link-idx{color:var(--red-ink);filter:none}:root:not([data-theme=dark]) .theme-toggle-btn.cursor-invert-target{filter:none}:root:not([data-theme=dark]) .theme-toggle-btn.cursor-invert-target svg path{fill:var(--red-ink)}:root:not([data-theme=dark]) .nav-cell-top.nav-cell-social a.cursor-invert-target svg,:root:not([data-theme=dark]) .cursor-invert-target .nav-logo-img-hover{filter:none}}:root[data-theme=light] .custom-cursor.is-morphed{mix-blend-mode:normal;background:0 0}:root[data-theme=light] .nav-cell-logo.cursor-invert-target,:root[data-theme=light] .nav-cmd-trigger.cursor-invert-target,:root[data-theme=light] .theme-toggle-btn.cursor-invert-target,:root[data-theme=light] .nav-links a.cursor-invert-target,:root[data-theme=light] .nav-cell-top.nav-cell-social a.cursor-invert-target{isolation:isolate;color:var(--red-ink);opacity:1;position:relative}:root[data-theme=light] .cursor-invert-target:before{content:"";z-index:-1;background:var(--red);clip-path:circle(var(--morph-r,0px) at var(--morph-x,50%) var(--morph-y,50%));transition:clip-path .38s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}:root[data-theme=light] .cursor-invert-target .nav-cmd-kbd,:root[data-theme=light] .cursor-invert-target .nav-link-idx{color:var(--red-ink);filter:none}:root[data-theme=light] .theme-toggle-btn.cursor-invert-target{filter:none}:root[data-theme=light] .theme-toggle-btn.cursor-invert-target svg path{fill:var(--red-ink)}:root[data-theme=light] .nav-cell-top.nav-cell-social a.cursor-invert-target svg,:root[data-theme=light] .cursor-invert-target .nav-logo-img-hover{filter:none}.hero{padding:clamp(44px,7vw,84px) 0 clamp(32px,5vw,48px);position:relative;overflow:hidden}.hero-lines{z-index:0;opacity:.5;pointer-events:none;position:absolute;inset:0}.hero-lines svg{width:100%;height:100%}.hero-bin{z-index:0;writing-mode:vertical-rl;width:26px;font-family:var(--font-mono);letter-spacing:3px;color:var(--ink-faint);opacity:.35;pointer-events:none;justify-content:center;font-size:11px;display:flex;position:absolute;top:0;bottom:0;right:clamp(6px,2vw,28px);overflow:hidden}.hero-inner{z-index:1;position:relative}.status-line{font-family:var(--font-mono);color:var(--ink-dim);align-items:center;gap:10px;margin-bottom:26px;font-size:.82rem;display:flex}.status-line .cursor{background:var(--red);width:8px;height:1.1em;animation:1.1s step-end infinite blink;display:inline-block}@media (prefers-reduced-motion:reduce){.status-line .cursor{animation:none}}@keyframes blink{50%{opacity:0}}.hero h1{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin:0 0 24px;font-size:clamp(2.4rem,7.4vw,5.4rem);line-height:.86}.hero h1 .l2{color:var(--red)}.hero-sub{color:var(--ink-dim);max-width:46ch;margin:0 0 26px;font-size:clamp(.96rem,1.2vw,1.08rem);line-height:1.6}.hero-sub strong{color:var(--ink);font-weight:600}.meta-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:34px;display:flex}.meta-chip{font-family:var(--font-mono);border:1px solid var(--border-2);color:var(--ink-dim);background:var(--panel);border-radius:999px;align-items:center;padding:6px 12px;font-size:.74rem;display:inline-flex}.cta-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.btn{font-family:var(--font-mono);cursor:pointer;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:11px 18px;font-size:.82rem;font-weight:500;text-decoration:none;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--red);color:var(--red-ink)}.btn-primary:hover{background:var(--red-dim)}.btn-ghost{border-color:var(--border-2);color:var(--ink);background:0 0}.btn-ghost:hover{border-color:var(--red)}.btn-icon{border:1px solid var(--border-2);width:44px;height:44px;color:var(--ink-dim);border-radius:10px;justify-content:center;padding:0}.btn-icon:hover{border-color:var(--red);color:var(--ink)}.btn-icon svg{width:16px;height:16px}.marquee-band{background:var(--red);color:var(--red-ink);position:relative}.marquee-clip{white-space:nowrap;overflow:hidden}.marquee-track{align-items:center;animation:34s linear infinite scroll-left;display:inline-flex}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-track span{font-family:var(--font-mono);letter-spacing:.04em;align-items:center;gap:28px;margin-right:28px;padding:14px 0;font-size:.92rem;font-weight:600;display:inline-flex}.marquee-track span:after{content:"✶";opacity:.7;font-size:.8em}.section{padding:clamp(44px,6vw,72px) 0}.h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin-bottom:18px;font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.05}.about-grid{grid-template-columns:1.15fr 1fr;align-items:start;gap:clamp(32px,5vw,72px);display:grid}@media (max-width:820px){.about-grid{grid-template-columns:1fr}}.about-copy p{color:var(--ink-dim);max-width:60ch;margin:0 0 16px;font-size:.96rem;line-height:1.7}.about-copy strong{color:var(--ink);font-weight:600}.term-card{border:1px solid var(--border-2);background:var(--panel);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.term-head{border-bottom:1px solid var(--border);background:var(--panel-2);align-items:center;gap:8px;padding:12px 16px;display:flex}.term-head .tdot{border-radius:50%;width:10px;height:10px}.term-head .tdot:first-child{background:#ff5f56}.term-head .tdot:nth-child(2){background:#ffbd2e}.term-head .tdot:nth-child(3){background:#27c93f}.term-head span.path{font-family:var(--font-mono);color:var(--ink-faint);margin-left:8px;font-size:.74rem}.term-body{font-family:var(--font-mono);padding:20px 20px 22px;font-size:.86rem}.term-row{border-bottom:1px dashed var(--border);grid-template-columns:84px 1fr;gap:14px;padding:7px 0;line-height:1.5;display:grid}.term-row:last-child{border-bottom:none}.term-row .k{color:var(--red)}.term-row .v{color:var(--ink-dim)}.stack-group{margin-bottom:30px}.stack-group:last-child{margin-bottom:0}.stack-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:12px;font-size:.76rem}.pill-row{flex-wrap:wrap;gap:10px;display:flex}.pill{font-family:var(--font-mono);border:1px solid var(--border-2);background:var(--panel);border-radius:8px;padding:8px 13px;font-size:.8rem;transition:border-color .15s,transform .15s,color .15s}.pill:hover{border-color:var(--red);color:var(--ink);transform:translateY(-2px)}.tl{padding-left:28px;position:relative}.tl:before{content:"";background:var(--border-2);width:1px;position:absolute;top:6px;bottom:6px;left:5px}.tl-item{padding-bottom:40px;position:relative}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";background:var(--bg);border:2px solid var(--red);border-radius:50%;width:11px;height:11px;position:absolute;top:5px;left:-28px}.tl-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.tl-role{font-size:1.05rem;font-weight:700}.tl-date{font-family:var(--font-mono);color:var(--ink-faint);white-space:nowrap;font-size:.78rem}.tl-org{color:var(--red);margin-bottom:12px;font-size:.95rem;font-weight:600}.tl-org span{color:var(--ink-faint);font-weight:400}.tl-bullets{color:var(--ink-dim);margin:0;padding-left:18px;line-height:1.7}.tl-bullets li{margin-bottom:6px}.tl-bullets li:last-child{margin-bottom:0}.proj-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}@media (max-width:980px){.proj-grid{grid-template-columns:1fr}}.card{border:1px solid var(--border-2);background:var(--panel);border-radius:16px;flex-direction:column;height:100%;padding:26px;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.card:hover{border-color:var(--red);box-shadow:var(--shadow);transform:translateY(-4px)}.card-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.card h3{font-size:1.05rem;font-weight:700}.card p{color:var(--ink-dim);flex:1;margin:0 0 16px;font-size:.94rem;line-height:1.65}.card-tags{flex-wrap:wrap;gap:7px;margin-bottom:18px;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-dim);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:.7rem}.card-links{gap:16px;margin-top:auto;display:flex}.card-links a{font-family:var(--font-mono);color:var(--ink);border-bottom:1px solid var(--border-2);align-items:center;gap:6px;padding:8px 0 4px;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.card-links a:hover{color:var(--red);border-color:var(--red)}.card-links svg{width:12px;height:12px}.card-badge{font-family:var(--font-mono);letter-spacing:.06em;color:var(--red);border:1px solid var(--red-dim);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.68rem}.gh-card{border:1px solid var(--border-2);background:var(--panel);box-shadow:var(--shadow);border-radius:16px;padding:clamp(20px,3vw,32px)}.gh-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.gh-total{font-size:1.15rem;font-weight:700}.gh-total span{color:var(--red)}.gh-link{font-family:var(--font-mono);color:var(--ink-dim);border-bottom:1px solid var(--border-2);align-items:center;gap:6px;padding:8px 0 4px;font-size:.82rem;text-decoration:none;display:inline-flex}.gh-link:hover{color:var(--red);border-color:var(--red)}.gh-link svg{width:12px;height:12px}.gh-scroll{padding-bottom:6px;overflow-x:auto}.gh-grid-wrap{min-width:100%;display:inline-block}.gh-months{grid-auto-columns:11px;grid-auto-flow:column;gap:3px;margin-bottom:6px;padding-left:30px;display:grid}.gh-months span{font-family:var(--font-mono);color:var(--ink-faint);white-space:nowrap;font-size:.68rem;overflow:visible}.gh-body{gap:6px;display:flex}.gh-daylabels{font-family:var(--font-mono);color:var(--ink-faint);grid-template-rows:repeat(7,11px);gap:3px;font-size:.62rem;display:grid}.gh-daylabels span{align-items:center;display:flex}.gh-weeks{grid-auto-columns:11px;grid-auto-flow:column;gap:3px;display:grid}.gh-week{grid-template-rows:repeat(7,11px);gap:3px;display:grid}.gh-cell{background:var(--heat-0);border-radius:2px;width:11px;height:11px}.gh-legend{font-family:var(--font-mono);color:var(--ink-faint);justify-content:flex-end;align-items:center;gap:6px;margin-top:16px;font-size:.68rem;display:flex}.gh-legend .gh-cell{width:10px;height:10px}.contact-band{background:var(--red);color:var(--red-ink)}.contact-band .eyebrow{color:var(--red-ink);opacity:.85}.contact-band .eyebrow:after{background:#ffffff59}.contact-band .eyebrow .idx{color:var(--red-ink)}.contact-h{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin-bottom:20px;font-size:clamp(1.9rem,5vw,3.7rem);line-height:.96}.contact-sub{opacity:.92;max-width:52ch;margin-bottom:28px;font-size:1rem;line-height:1.6}.contact-band .btn-primary{background:var(--red-ink);color:var(--red)}.contact-band .btn-primary:hover{background:#fff}.contact-band .btn-ghost{color:var(--red-ink);border-color:#ffffff80}.contact-band .btn-ghost:hover{border-color:var(--red-ink)}.contact-band .btn-icon{color:var(--red-ink);border-color:#ffffff80}.contact-band .btn-icon:hover{border-color:var(--red-ink);background:#ffffff14}.contact-email{font-family:var(--font-mono);opacity:.9;margin-top:26px;font-size:1rem}.contact-email a{text-underline-offset:4px;text-decoration:underline}footer{padding:26px 0;position:relative}.foot-inner{font-family:var(--font-mono);color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.76rem;display:flex}.foot-inner a{color:var(--ink-faint);margin:-8px 0;padding:8px 0;text-decoration:none;display:inline-block}.foot-inner a:hover{color:var(--red)}@media (max-width:880px){.nav-cell-social,.nav-cell-top.nav-cell-social{display:none}}@media (max-width:640px){.nav-grid{display:none}.nav-mobile-bar{display:flex}.hero-bin{display:none}.term-row{grid-template-columns:72px 1fr}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}@media (pointer:coarse){::view-transition-old(root){animation:.22s both theme-fade-out}::view-transition-new(root){animation:.22s both theme-fade-in}}@keyframes theme-fade-out{to{opacity:0}}@keyframes theme-fade-in{0%{opacity:0}}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}
