@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_adb7dc0a-module__aRyJcG__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_adb7dc0a-module__aRyJcG__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.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_93a398a6-module__Tx7x6q__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_93a398a6-module__Tx7x6q__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.0v2ipp7s07_p9.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.44ks8kcggj012.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.1ii7211jqpzi_.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/32687112bd2dd8db-s.0v2ipp7s07_p9.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/28868e710e86be81-s.44ks8kcggj012.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.1ii7211jqpzi_.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0v2ipp7s07_p9.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.44ks8kcggj012.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.1ii7211jqpzi_.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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_c3843354-module__14LKya__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_c3843354-module__14LKya__variable{--font-space-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
:root{--paper:#eeefe9;--panel:#f8f8f3;--panel-alt:#e4e6dc;--ink:#1b1e1a;--ink-muted:#565b50;--ink-faint:#64695d;--line:#cdd0c3;--line-strong:#acb09f;--stamp:#b8371e;--stamp-dim:#b8371e17;--max-width:71.25rem;--gutter:clamp(1.25rem, 5vw, 3.5rem);--mono:var(--font-plex-mono,ui-monospace), ui-monospace, "SFMono-Regular", Menlo, monospace;--sans:var(--font-plex-sans,Arial), Arial, sans-serif;--display:var(--font-space-grotesk,Arial), var(--font-plex-sans,Arial), Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}body{background-color:var(--paper);background-image:radial-gradient(var(--line) 1px, transparent 1px);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-size:26px 26px;margin:0;font-size:1rem;line-height:1.65}h1,h2,h3,p,figure,ul,address{margin:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance}p,li,td{text-wrap:pretty}ul{padding:0;list-style:none}a{color:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--stamp);color:var(--panel)}:focus-visible{outline:2px solid var(--stamp);outline-offset:4px}.container{width:min(100%, var(--max-width));padding-inline:var(--gutter);margin-inline:auto;position:relative}.skip-link{z-index:300;background:var(--ink);color:var(--paper);font:600 .76rem/1 var(--mono);padding:.7rem 1rem;text-decoration:none;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--ink-muted);font:600 .74rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}.meta-strip{border-bottom:1px solid var(--line);background:var(--panel-alt)}.meta-row{color:var(--ink-muted);font:500 .7rem/1.45 var(--mono);letter-spacing:.07em;text-transform:uppercase;flex-wrap:wrap;gap:.25rem 1.25rem;padding-block:.5rem;display:flex}.meta-row strong{color:var(--ink);font-weight:650}.site-header{z-index:100;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#eeefe9ed;position:sticky;top:0}.nav-row{justify-content:space-between;align-items:center;gap:1.25rem;min-height:4.25rem;display:flex}.brand{flex-shrink:0;align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.brand-mark{border:1.5px solid var(--ink);width:1.95rem;height:1.95rem;font:650 .72rem/1 var(--mono);border-radius:2px;place-items:center;display:grid}.brand-name{font:550 .82rem/1 var(--mono);letter-spacing:.03em}.desktop-nav ul{gap:clamp(1rem,2.5vw,1.75rem);display:flex}.desktop-nav a{color:var(--ink-muted);font:550 .74rem/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid #0000;padding-block:.3rem;text-decoration:none;transition:color .15s,border-color .15s}.desktop-nav a:hover{border-color:var(--stamp);color:var(--stamp)}.nav-actions,.hero-actions{align-items:center;gap:.7rem;display:flex}.button{border:1.5px solid var(--ink);min-height:2.75rem;color:var(--ink);font:600 .76rem/1.1 var(--mono);letter-spacing:.045em;text-transform:uppercase;background:0 0;border-radius:2px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.15rem;text-decoration:none;transition:transform .15s,color .15s,background .15s,border-color .15s;display:inline-flex}.button:hover{border-color:var(--stamp);color:var(--stamp);transform:translateY(-1px)}.button-primary{background:var(--ink);color:var(--paper)}.button-primary:hover{border-color:var(--stamp);background:var(--stamp);color:var(--panel)}.nav-actions .button{min-height:2.35rem;padding:.55rem .85rem;font-size:.69rem}.mobile-menu{display:none;position:relative}.hero{padding:clamp(3rem,7vw,5.25rem) 0 clamp(2.25rem,5vw,3rem)}.hero-content{max-width:48rem}.hero-content .eyebrow{margin-bottom:.9rem}.hero h1{font-size:clamp(3.6rem,9vw,6.7rem);font-weight:650;line-height:.92}.hero-role{color:var(--stamp);font:550 clamp(.9rem, 1.6vw, 1.08rem)/1.4 var(--mono);letter-spacing:.035em;margin-top:1.15rem}.hero-bio{max-width:58ch;margin-top:1.35rem;font-size:clamp(1.05rem,1.4vw,1.14rem);line-height:1.75}.hero-meta{color:var(--ink-muted);font:500 .78rem/1.45 var(--mono);flex-wrap:wrap;align-items:center;gap:.65rem .85rem;margin-top:1.4rem;display:flex}.pill{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink-muted);font:550 .69rem/1.1 var(--mono);letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .7rem .3rem .55rem;display:inline-flex}.pill-dot{background:var(--stamp);width:.4rem;height:.4rem;box-shadow:0 0 0 3px var(--stamp-dim);border-radius:50%}.hero-actions{flex-wrap:wrap;margin-top:1.9rem}.diagram-panel{border:1px solid var(--line);background:var(--panel);border-radius:3px;margin-top:clamp(3rem,6vw,4.5rem);padding:1.3rem clamp(.9rem,3vw,2rem) 1.05rem;box-shadow:0 1.5rem 3rem -3rem #1b1e1a80}.diagram-caption{color:var(--ink);font:600 .7rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.4rem;display:flex}.diagram-caption span:last-child{color:var(--ink-faint);letter-spacing:.025em;font-size:.64rem;font-weight:500}.diagram-scroll{scrollbar-color:var(--line-strong) transparent;overflow-x:auto}.diagram-scroll svg{width:100%;min-width:35rem;height:auto;display:block}.block-rect{fill:var(--panel);stroke:var(--ink);stroke-width:1.6px}.block-title,.block-sub,.connector-label,.sync-label,.pin-label{font-family:var(--mono)}.block-title{fill:var(--ink);font-size:13px;font-weight:650}.block-sub,.connector-label{fill:var(--ink-muted);font-size:10.5px}.pin-dot{fill:var(--paper);stroke:var(--ink);stroke-width:1.4px}.flow-line{fill:none;stroke:var(--ink);stroke-width:1.6px}.connector-label,.sync-label,.pin-label{letter-spacing:.04em}.sync-line{fill:none;stroke:var(--stamp);stroke-width:1.4px;stroke-dasharray:4 4}.sync-label{fill:var(--stamp);font-size:10.5px}.pin-label{fill:var(--ink);font-size:11px}.marker-ink{fill:var(--ink)}.marker-stamp{fill:var(--stamp)}.page-section{border-top:1px solid var(--line);padding:clamp(4.5rem,9vw,7rem) 0}.section-heading{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2.1rem;display:flex}.section-heading h2{font-size:clamp(1.65rem,3.4vw,2.35rem);font-weight:650;line-height:1.1}.section-number{border:1px solid var(--stamp);color:var(--stamp);font:600 .83rem/1.25 var(--mono);letter-spacing:.035em;border-radius:2px;padding:.18rem .5rem}.section-rule{background:var(--line);flex:4rem;height:1px}.section-intro{max-width:65ch;color:var(--ink-muted);margin:-1rem 0 2.15rem;font-size:1rem;line-height:1.7}.table-scroll{border:1px solid var(--line);background:var(--panel);overflow-x:auto}.spec-table{border-collapse:collapse;width:100%;min-width:42rem}.spec-table th,.spec-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:1rem 1.2rem}.spec-table thead th{border-bottom-color:var(--line-strong);background:var(--panel-alt);color:var(--ink-faint);font:600 .69rem/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase;padding-block:.7rem}.spec-table thead th:first-child{width:12rem}.spec-table tbody th{color:var(--ink);font:600 .79rem/1.55 var(--mono);letter-spacing:.035em;white-space:nowrap}.spec-table tbody td{color:var(--ink-muted);font-size:.96rem;line-height:1.65}.spec-table tbody tr:last-child th,.spec-table tbody tr:last-child td{border-bottom:0}.spec-table tbody tr,.experience-row,.project-card{transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}.spec-table tbody tr:hover,.experience-row:hover{background:var(--stamp-dim)}.experience-list{border:1px solid var(--line);background:var(--panel)}.experience-row{border-bottom:1px solid var(--line);grid-template-columns:3.5rem 8.5rem minmax(0,1fr) minmax(11rem,.36fr);gap:1.15rem;padding:1.3rem 1.1rem;display:grid}.experience-row:last-child{border-bottom:0}.revision-label,.experience-dates,.experience-company p{font-family:var(--mono)}.revision-label{color:var(--stamp);font-size:.84rem;font-weight:650}.revision-label span{color:var(--ink-faint);letter-spacing:.07em;text-transform:uppercase;font-size:.66rem;display:none}.experience-dates{color:var(--ink-muted);font-size:.77rem;line-height:1.55}.experience-description{font-size:.96rem;line-height:1.65}.experience-company h3{font-family:var(--sans);letter-spacing:0;font-size:.92rem;font-weight:700;line-height:1.35}.experience-company p{color:var(--ink-muted);margin-top:.2rem;font-size:.74rem;line-height:1.5}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;display:grid}.project-card{border:1px solid var(--line);background:var(--panel);border-radius:3px;flex-direction:column;gap:.9rem;min-height:25rem;padding:clamp(1.4rem,3vw,1.8rem);display:flex}.project-card:hover{border-color:var(--stamp);transform:translateY(-3px);box-shadow:0 1rem 2rem -1.5rem #1b1e1a73}@media (min-width:761px){.project-card:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - .675rem)}}.project-card-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.part-number,.project-type,.project-dates{font-family:var(--mono)}.part-number{color:var(--ink-faint);letter-spacing:.055em;font-size:.68rem}.project-card h3{margin-top:.2rem;font-size:clamp(1.5rem,3vw,1.9rem);font-weight:650;line-height:1.15}.project-type{color:var(--stamp);letter-spacing:.04em;text-transform:uppercase;margin-top:.3rem;font-size:.72rem;font-weight:550}.project-dates{color:var(--ink-faint);font-size:.73rem}.project-description{color:var(--ink-muted);font-size:.96rem;line-height:1.72}.tag-list{flex-wrap:wrap;gap:.5rem;display:flex}.project-card .tag-list{margin-top:auto;padding-top:.35rem}.tag-list li{border:1px solid var(--line-strong);color:var(--ink-muted);font:500 .69rem/1.35 var(--mono);letter-spacing:.025em;border-radius:2px;padding:.3rem .55rem}.project-link{border-bottom:1px solid var(--ink);width:fit-content;color:var(--ink);font:550 .75rem/1.4 var(--mono);align-items:center;gap:.35rem;padding-bottom:.1rem;text-decoration:none;display:inline-flex}a.project-link:hover{border-color:var(--stamp);color:var(--stamp)}.project-link-static{border-bottom-color:var(--line-strong);color:var(--ink-faint)}.education-card{border:1px solid var(--line);background:var(--panel);border-radius:3px;flex-wrap:wrap;justify-content:space-between;gap:clamp(2rem,5vw,4rem);padding:clamp(1.6rem,4vw,2.5rem);display:flex}.education-main{flex:20rem}.education-main h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:650;line-height:1.2}.education-degree{color:var(--ink-muted);margin-top:.4rem;font-size:1rem}.education-stats{flex-wrap:wrap;gap:2rem;margin-top:1.2rem;display:flex}.education-stats div{flex-direction:column;display:flex}.education-stats strong{color:var(--stamp);font:650 1.35rem/1.2 var(--mono)}.education-stats span{color:var(--ink-faint);font:550 .67rem/1.35 var(--mono);letter-spacing:.07em;text-transform:uppercase;margin-top:.2rem}.coursework{flex:20rem}.coursework .eyebrow{margin-bottom:.8rem}.site-footer{border-top:1px solid var(--line);padding:clamp(4rem,8vw,6rem) 0 2rem;position:relative}.footer-inner{position:relative}.seal{top:-.5rem;right:var(--gutter);color:var(--stamp);opacity:.86;position:absolute}.seal circle{fill:none;stroke:currentColor}.seal circle:first-child{stroke-width:1.4px}.seal circle:nth-child(2){stroke-width:1px}.seal text{fill:currentColor;font-family:var(--mono)}.seal-initials{font-size:15px;font-weight:650;font-family:var(--display)!important}.seal-year{font-size:5.5px}.footer-content{flex-wrap:wrap;justify-content:space-between;gap:3rem;margin-bottom:2.5rem;padding-right:7rem;display:flex}.footer-content h2{max-width:15ch;margin-top:.85rem;font-size:clamp(2rem,5vw,3rem);font-weight:650;line-height:1.1}.contact-links{flex-direction:column;gap:.8rem;font-style:normal;display:flex}.contact-links a{width:fit-content;font:500 .88rem/1.5 var(--mono);border-bottom:1px solid #0000;align-items:baseline;gap:.65rem;text-decoration:none;display:flex}.contact-links a:hover{border-color:var(--stamp);color:var(--stamp)}.contact-links span{width:4rem;color:var(--ink-faint);letter-spacing:.075em;text-transform:uppercase;flex-shrink:0;font-size:.67rem}.title-block{border:1px solid var(--line-strong);background:var(--panel);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.title-block div{border-right:1px solid var(--line);flex-direction:column;min-width:0;padding:.85rem 1.1rem;display:flex}.title-block div:last-child{border-right:0}.title-block span{color:var(--ink-faint);font:550 .63rem/1.3 var(--mono);letter-spacing:.075em;text-transform:uppercase}.title-block strong{overflow-wrap:anywhere;font:550 .82rem/1.35 var(--mono);margin-top:.2rem}.end-of-file{color:var(--ink-faint);font:500 .7rem/1.4 var(--mono);letter-spacing:.09em;text-align:center;margin-top:1.8rem}@media (max-width:900px){.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu summary{border:1.5px solid var(--ink);cursor:pointer;min-width:3.2rem;min-height:2.35rem;font:600 .68rem/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;border-radius:2px;place-items:center;list-style:none;display:grid}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{border:1px solid var(--line-strong);background:var(--paper);width:min(18rem,100vw - 2.5rem);padding:.45rem 1rem;position:absolute;top:calc(100% + .8rem);right:0;box-shadow:0 1rem 2.5rem -1.5rem #1b1e1a80}.mobile-menu a{border-bottom:1px solid var(--line);color:var(--ink-muted);font:550 .74rem/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;padding:.75rem 0;text-decoration:none;display:block}.mobile-menu li:last-child a{border-bottom:0}.experience-row{grid-template-columns:3rem 7.5rem minmax(0,1fr)}.experience-company{grid-column:3}}@media (max-width:760px){.brand-name,.nav-github{display:none}.hero h1{font-size:clamp(3.4rem,17vw,5.25rem)}.projects-grid{grid-template-columns:1fr}.project-card{min-height:23rem}.experience-row{grid-template-columns:3rem minmax(0,1fr);gap:.65rem 1rem;padding:1.15rem}.revision-label span{display:inline}.experience-dates{align-self:center}.experience-description,.experience-company{grid-column:1/-1;padding-left:0}.experience-company{border-top:1px solid var(--line);padding-top:.55rem}.footer-content{padding-right:0}.seal{display:none}.title-block{grid-template-columns:repeat(2,minmax(0,1fr))}.title-block div:nth-child(2){border-right:0}.title-block div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (max-width:540px){:root{--gutter:1.15rem}html{scroll-padding-top:4.5rem}.meta-row{gap:.2rem .8rem;font-size:.63rem}.meta-row span:nth-child(2),.meta-row span:nth-child(3),.nav-actions .button-primary{display:none}.hero{padding-top:3.5rem}.hero-bio{font-size:1.02rem}.hero-meta>span[aria-hidden=true]{display:none}.hero-meta{flex-direction:column;align-items:flex-start}.hero-actions{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.hero-actions .button:first-child{grid-column:1/-1}.diagram-panel{margin-inline:calc(var(--gutter) * -.3);padding-inline:.75rem}.diagram-caption span:last-child{display:none}.section-heading{align-items:flex-start}.section-rule{flex-basis:100%}.table-scroll{background:0 0;border:0;overflow:visible}.spec-table,.spec-table tbody,.spec-table tr,.spec-table th,.spec-table td{width:100%;min-width:0;display:block}.spec-table thead{display:none}.spec-table tr{border:1px solid var(--line);background:var(--panel);border-bottom:0}.spec-table tr:last-child{border-bottom:1px solid var(--line)}.spec-table tbody th,.spec-table tbody td{white-space:normal;border:0}.spec-table tbody th{color:var(--stamp);padding:.9rem 1rem .2rem}.spec-table tbody td{padding:.2rem 1rem .95rem}.project-card-head{align-items:flex-start}.project-card .pill{font-size:.63rem}.education-card{gap:2rem}.footer-content{gap:2.5rem}.contact-links a{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:.35rem}}@media (prefers-reduced-motion:no-preference){.hero-content,.diagram-panel{animation:.65s cubic-bezier(.22,1,.36,1) both enter}.diagram-panel{animation-delay:.1s}@keyframes enter{0%{opacity:0;transform:translateY(.85rem)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
