@font-face{font-family:Inter;src:local(Inter Regular Italic),local(Inter Italic),url(../_fonts/TTYbISAfwy-y4uVGS9AH32sK7b2xJsoCESo64ryf8LU-y87nRMqBGo42rUOW9tWZa06o4oTa0USJrAMMoKDamgs.woff2)format("woff2");font-display:swap;unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:400;font-style:italic}@font-face{font-family:Inter Fallback\: sans-serif;src:local("sans-serif");size-adjust:100%;ascent-override:96.875%;descent-override:24.1211%;line-gap-override:0%}@font-face{font-family:Inter;src:local(Inter Regular Italic),local(Inter Italic),url(../_fonts/JSrPAbQHsQEdUrIE5Ts6fIQ2ymsa4i7HhiCpui6ulCc-_AoyGWssOn06OMh3ZY_GddBBPRny4Igxin4fT_1K6F4.woff2)format("woff2");font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116;font-weight:400;font-style:italic}@font-face{font-family:Inter;src:local(Inter Regular Italic),local(Inter Italic),url(../_fonts/T-ozk-QJ_Ck37B2RHPl2i-s_gAGGo7suFgagWoJ8bO4-maDXQ_nEXKAaLHm4Joud3DJR9EVzS7QXWMWK8YOTIcs.woff2)format("woff2");font-display:swap;unicode-range:U+1F??;font-weight:400;font-style:italic}@font-face{font-family:Inter;src:local(Inter Regular Italic),local(Inter Italic),url(../_fonts/zr3WxpLd5PmlBr7e4PWGkhZv6XTg70Pi4sCbC-CEV0Q-v2yL98XOiD3FkbiYlYYeAeTSVSkgAckeOp55Q5kHJmU.woff2)format("woff2");font-display:swap;unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF;font-weight:400;font-style:italic}@font-face{font-family:Inter;src:local(Inter Regular Italic),local(Inter Italic),url(../_fonts/l00UCz_-QvI_NO8AGcu7ooAcrFDlxYUdxCSCh6gBwd4-vPjTZ3ztgw27A2TnHeCycxPvUtXWEVpG33_97ra6su8.woff2)format("woff2");font-display:swap;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-weight:400;font-style:italic}@font-face{font-family:Inter;src:local(Inter Regular Italic),local(Inter Italic),url(../_fonts/9FWLUGCSCYLRIRMtCzLrt4Go7DMFXOeN_pyCOJD_44Y-Yh2wNaqrq_e759vVlc3tX81lMwRu9ktkQJX_Svgs-VI.woff2)format("woff2");font-display:swap;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-weight:400;font-style:italic}@font-face{font-family:Inter;src:local(Inter Regular Italic),local(Inter Italic),url(../_fonts/pWMvGwciZ-EfQsfR2ueelhC7Jnt5K-8Px8PjPK0mDII-eT9iD0iZ9WWhTJs6V5GxXr0iaUwx_WxgGGriOiGb81o.woff2)format("woff2");font-display:swap;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-weight:400;font-style:italic}@font-face{font-family:Inter;src:local(Inter Regular),local(Inter),url(../_fonts/y3mP_zJcojQwJn30TpF_XxDzgeM6Nbk7MaRg1Ne0YcI-lFx13nqMCMgk_S70gRmwEHXlE5BLp1B4W82RpFihpMs.woff2)format("woff2");font-display:swap;unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:400;font-style:normal}@font-face{font-family:Inter;src:local(Inter Regular),local(Inter),url(../_fonts/h9PwCjip_BNPVO50hT4v29USWFv6H3ZlYx_IestfqgY-sYfLVuZXl9E1aYbn1S0pAr4zfdQ_WT7iBZhrgQY6N-4.woff2)format("woff2");font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116;font-weight:400;font-style:normal}@font-face{font-family:Inter;src:local(Inter Regular),local(Inter),url(../_fonts/Y_5DOsLit49q2i2tbcNxnyUen9__GPCX8mwAi03q1aA-pBCjVKDT5tBT3BJckh9uzNkfUWeUIBPz9Y8T55vcj8E.woff2)format("woff2");font-display:swap;unicode-range:U+1F??;font-weight:400;font-style:normal}@font-face{font-family:Inter;src:local(Inter Regular),local(Inter),url(../_fonts/BQnDL9FFy0Q_jvURlmv87luvmXLSMbSuXsfZv_R2Rkk-y5MVrLtP4J_1al8rz8R-MDaUOMAHckAWCwDrKhw25fY.woff2)format("woff2");font-display:swap;unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF;font-weight:400;font-style:normal}@font-face{font-family:Inter;src:local(Inter Regular),local(Inter),url(../_fonts/nuenOq7ZFSZ65QudJO7uQ0sOjDqow2WjfXrQh4S9gEc-uF81rxcswER5srfhzyLfPoGlKNAIt2C_BvkXFOc19rw.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal}@font-face{font-family:Inter;src:local(Inter Regular),local(Inter),url(../_fonts/M-60tFLmAJxdPjHsK-2ILWom5zPbu37lb3Qex2waL14-A9y4QcXALPi_RvQsmRsSFUxrT3_J213W4zPFIXetlbw.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal}@font-face{font-family:Inter;src:local(Inter Regular),local(Inter),url(../_fonts/31PZhXd_YTCmsoiPQZc-xVtAWAkLogRFRj5mWplmKFE-6WsTw05QKugcwLySGc_b9CIheG8j8LRyo47qPL430Mk.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular Italic),local(JetBrains Mono Italic),url(../_fonts/Df7M9JXECnQBPeMk0JlWv5oI4E80OSjKvG82PCAX-MI-aXpKyr1n0W6NWbCApKANrm9O50H_fjFMdBzwfTY75iM.woff2)format("woff2");font-display:swap;unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono Fallback\: monospace;src:local("monospace");size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular Italic),local(JetBrains Mono Italic),url(../_fonts/F00Bxq4ciZESODR5suhK3xDWcsQ9RLj9SyZQEevpEsw-BLNEvb6wAcL3fpb4n4d3zVEKUoa2hsUKxxkf3YdvJKc.woff2)format("woff2");font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116;font-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular Italic),local(JetBrains Mono Italic),url(../_fonts/AA0_6TP-Ed9gQINhOsvbweBE3xLQgxmg6pXqHmvCwsM-egZLwYC5qVnfGWql7G5NfYTIiMP1PB_tQWIq5f7S-0k.woff2)format("woff2");font-display:swap;unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF;font-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular Italic),local(JetBrains Mono Italic),url(../_fonts/3mk1pEYaO7RuhctnlpKcyb7yjVLICedncSfY13ffbM8-vJidvBvYJRk77_zQIyVpja44ymm1FQTiYKUcM_aD5Sg.woff2)format("woff2");font-display:swap;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-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular Italic),local(JetBrains Mono Italic),url(../_fonts/3e3wuf-V_7icWvlsSS3Ud6R1mFSymwsfz35VcqiVjOk-jnii4_jMs7YAJOhzZP3bGdrbXGt5dYv8_t_rhpHzpcQ.woff2)format("woff2");font-display:swap;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-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular Italic),local(JetBrains Mono Italic),url(../_fonts/NwLHmPccLrJlBVGp4QRXOLZaNI0M_K6XuSwyVjpr47g-jl4tqz8gcsgAJDPcbl5roY78zy31I6Rq51WBLpZngFg.woff2)format("woff2");font-display:swap;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-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular),local(JetBrains Mono),url(../_fonts/f3COenLcoezM74LmVz7-HHQTyPKopVoMY6x2syLMzQE-shPZYE7IAjZWz4okT_CWn96WfGzoLhasK43_mhj3CZI.woff2)format("woff2");font-display:swap;unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular),local(JetBrains Mono),url(../_fonts/KOrIgK47CByspZJWjOLg8AL2ADg9uFcNjZd9W78jrmM-dU37DP77KwUzMqqldljJHhSe3lJpaSfI9HPfiVAxPOM.woff2)format("woff2");font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116;font-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular),local(JetBrains Mono),url(../_fonts/9IZYb3o3tpRXPqjzNd4r3vIIohLuRBC5-h_ByvqRowU-ZgMUMfi6FcHpaV_ucYIWcBvLG6geajFq70Smps0DAj0.woff2)format("woff2");font-display:swap;unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF;font-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular),local(JetBrains Mono),url(../_fonts/bUcXp2ExGsFoCjH4L_AiPGX0TLCAgnqR8nvW7SxSJYQ-kvm9UWc_MFZW_r85yX6uPdzXVmdcUOio_Wb1x_7QdXM.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular),local(JetBrains Mono),url(../_fonts/_lyVj3lEzRng_G7gZNcCmL83BnMEos-Hf8bpHLMzGQI-zsVE1T2QbmkXlEbQhs2gb3j3VBOOGhzqyW_ZW_0s3F8.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local(JetBrains Mono Regular),local(JetBrains Mono),url(../_fonts/sqxfSu-14RfawvZSbzb3mPoBYaXxmTGIac1Kk0GVk_w-oe_5KiWXPVdvpURHWSiaIjA1N_zLqpjSzmfpwRHr7CQ.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal}@font-face{font-family:Bricolage Grotesque;src:local(Bricolage Grotesque Regular),local(Bricolage Grotesque),url(../_fonts/kl4au6srPaeyTEQ9B4Mnzkq5x1THH9O4uL8p-ugku-Q-r8zBybiGZPMGfeIIO0UNC3Uo948NhNCzcYIsXDYlCN8.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal;font-stretch:100%}@font-face{font-family:Bricolage Grotesque Fallback\: sans-serif;src:local("sans-serif");size-adjust:100%;ascent-override:93%;descent-override:27%;line-gap-override:0%}@font-face{font-family:Bricolage Grotesque;src:local(Bricolage Grotesque Regular),local(Bricolage Grotesque),url(../_fonts/hbiAS0Ywr48Aw9T_7gF0ndXo95kKp8KBtaKTDS5MUko-NM_OCEi4pEAWTlwQbhHYlm1lxea7FVv6hUULdOm8VGc.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal;font-stretch:100%}@font-face{font-family:Bricolage Grotesque;src:local(Bricolage Grotesque Regular),local(Bricolage Grotesque),url(../_fonts/hKAiEanlhy9oa0pfYHzeYYqWHD85AbRGD7HIHID48zI-DoGI0El9iFFvgKNX_rBu29Onv4CcUtyc1qsFxHU4530.woff2)format("woff2");font-display:swap;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-weight:400;font-style:normal;font-stretch:100%}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fbf9f6;--paper-raised:#fff;--paper-sunken:#f3efe9;--ink:#17130f;--ink-soft:#4b423a;--ink-faint:#7d7269;--line:#e4ddd3;--accent:#c8553d;--accent-soft:#f4e3de;--accent-ink:#fff;--highlight:#1f6f6b;--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback: sans-serif", "Inter", system-ui, sans-serif;--font-body:"Inter", "Inter Fallback: sans-serif", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "JetBrains Mono Fallback: monospace", ui-monospace, "SF Mono", monospace;--step--1:clamp(.83rem, .79rem + .18vw, .94rem);--step-0:clamp(1rem, .95rem + .24vw, 1.13rem);--step-1:clamp(1.2rem, 1.11rem + .44vw, 1.5rem);--step-2:clamp(1.44rem, 1.29rem + .76vw, 2rem);--step-3:clamp(1.73rem, 1.48rem + 1.24vw, 2.66rem);--step-4:clamp(2.07rem, 1.68rem + 1.95vw, 3.55rem);--step-5:clamp(2.49rem, 1.88rem + 3vw, 4.73rem);--gutter:clamp(1.25rem, .9rem + 1.75vw, 2.5rem);--section-y:clamp(4rem, 2.8rem + 6vw, 8rem);--radius:14px;--radius-lg:24px;--shadow:0 1px 2px #17130f0a, 0 8px 24px #17130f0f;--shadow-lift:0 2px 4px #17130f0d, 0 18px 44px #17130f21;--ease:cubic-bezier(.22, .61, .36, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#12100e;--paper-raised:#1c1916;--paper-sunken:#0d0b0a;--ink:#f5f1ec;--ink-soft:#c3b9ae;--ink-faint:#8e837a;--line:#2e2823;--accent:#e8735a;--accent-soft:#33201b;--accent-ink:#1a0f0c;--highlight:#5bc5bd;--shadow:0 1px 2px #0006, 0 8px 24px #00000059;--shadow-lift:0 2px 4px #0006, 0 18px 44px #0000008c}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#12100e;--paper-raised:#1c1916;--paper-sunken:#0d0b0a;--ink:#f5f1ec;--ink-soft:#c3b9ae;--ink-faint:#8e837a;--line:#2e2823;--accent:#e8735a;--accent-soft:#33201b;--accent-ink:#1a0f0c;--highlight:#5bc5bd;--shadow:0 1px 2px #0006, 0 8px 24px #00000059;--shadow-lift:0 2px 4px #0006, 0 18px 44px #0000008c}*,:after,:before{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.65}img,svg{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;font-weight:600;line-height:1.08}p{text-wrap:pretty}a{color:inherit}:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:4px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shell{width:min(100% - (var(--gutter) * 2),1180px);margin-inline:auto}.shell--narrow{width:min(100% - (var(--gutter) * 2),760px);margin-inline:auto}.section{padding-block:var(--section-y)}.skip-link{z-index:200;background:var(--ink);color:var(--paper);border-radius:0 0 var(--radius) var(--radius);transition:translate .2s var(--ease);padding:.7rem 1.25rem;text-decoration:none;position:absolute;left:50%;translate:-50% -130%}.skip-link:focus-visible{translate:-50%}.eyebrow{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.9rem}.section-title{font-size:var(--step-4);margin-bottom:.6rem}.section-lede{color:var(--ink-soft);font-size:var(--step-1);max-width:54ch}.dot{color:var(--accent)}.nav{z-index:100;background:color-mix(in srgb,var(--paper) 82%,transparent);-webkit-backdrop-filter:blur(14px)saturate(160%);backdrop-filter:blur(14px)saturate(160%);transition:border-color .25s var(--ease),background .25s var(--ease);border-bottom:1px solid #0000;position:sticky;top:0}.nav[data-stuck=true]{border-bottom-color:var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent)}.nav__inner{justify-content:space-between;gap:1rem;padding-block:.9rem}.nav__end,.nav__inner{align-items:center;display:flex}.nav__end{gap:.45rem}.theme-toggle{border:1px solid var(--line);background:var(--paper-raised);width:2.6rem;height:2.6rem;color:var(--ink-soft);cursor:pointer;transition:color .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease);border-radius:50%;place-items:center;padding:0;display:inline-grid}.theme-toggle:hover{color:var(--ink);border-color:var(--accent);transform:translateY(-1px)}.theme-toggle svg{width:1.15rem;height:1.15rem}.nav__brand{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:.6rem;font-size:1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.nav__mark{background:var(--accent);width:2rem;height:2rem;color:var(--accent-ink);border-radius:9px;place-items:center;display:grid}.nav__mark svg{width:1.7rem;height:1.7rem;display:block}.nav__links{align-items:center;gap:.35rem;padding:0;list-style:none;display:flex}.nav__link{color:var(--ink-soft);font-size:var(--step--1);transition:color .18s var(--ease),background .18s var(--ease);border-radius:999px;padding:.5rem .85rem;font-weight:500;text-decoration:none;display:inline-block}.nav__link:hover{color:var(--ink);background:var(--paper-sunken)}.nav__link[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.nav__toggle{border:1px solid var(--line);background:var(--paper-raised);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;display:none}.nav__toggle-bars,.nav__toggle-bars:after,.nav__toggle-bars:before{background:var(--ink);width:18px;height:2px;transition:transform .25s var(--ease),background .2s var(--ease);border-radius:2px;display:block}.nav__toggle-bars{position:relative}.nav__toggle-bars:after,.nav__toggle-bars:before{content:"";position:absolute;top:0;left:0}.nav__toggle-bars:before{transform:translateY(-6px)}.nav__toggle-bars:after{transform:translateY(6px)}.nav__toggle[aria-expanded=true] .nav__toggle-bars{background:0 0}.nav__toggle[aria-expanded=true] .nav__toggle-bars:before{transform:rotate(45deg)}.nav__toggle[aria-expanded=true] .nav__toggle-bars:after{transform:rotate(-45deg)}@media (width<=720px){.nav__toggle{display:inline-flex;position:relative}.nav__links{inset:100% var(--gutter) auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--shadow-lift);flex-direction:column;align-items:stretch;gap:.15rem;padding:.5rem;position:absolute}.nav__links[hidden]{display:none}.nav__link{font-size:var(--step-0);border-radius:10px;padding:.75rem 1rem}}.hero{min-height:min(88vh,780px);padding-block:clamp(3.5rem,2rem + 7vw,7rem) var(--section-y);align-items:center;display:grid;position:relative;overflow:hidden}.hero:before{content:"";aspect-ratio:1;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 62%);pointer-events:none;z-index:-1;width:min(70vw,780px);position:absolute;top:-22%;right:-12%}.hero__grid{z-index:1;align-items:center;gap:clamp(2.5rem,1rem + 6vw,4.5rem);display:grid;position:relative}@media (width>=900px){.hero__grid{grid-template-columns:1.05fr .95fr}.hero__grid--solo{grid-template-columns:1fr}}.hero__grid--solo{text-align:center;justify-items:center;padding-block:clamp(1rem,.5rem + 2vw,2.5rem) 0}.hero__grid--solo .hero__name{letter-spacing:-.03em;font-size:clamp(3.2rem,1.6rem + 8vw,8rem);line-height:.95}.hero__grid--solo .hero__blurb{max-width:52ch;margin-inline:auto}.hero__grid--solo .hero__actions{justify-content:center}.hero__greeting{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.hero__name{font-size:var(--step-5);margin-block:.4rem .75rem}.hero__role{font-family:var(--font-display);font-size:var(--step-2);color:var(--ink-soft);min-height:1.4em;font-weight:500}.hero__typed{color:var(--accent);font-weight:600}.hero__caret{background:var(--accent);width:2px;height:1em;margin-left:2px;animation:1s step-end infinite caret;display:inline-block;translate:0 .14em}@keyframes caret{0%,to{opacity:1}50%{opacity:0}}.hero__blurb{font-size:var(--step-1);color:var(--ink-soft);max-width:46ch;margin-top:1.5rem}.hero__actions{flex-wrap:wrap;gap:.85rem;margin-top:2.25rem;display:flex}.hero__portrait{border-radius:var(--radius-lg);background:var(--paper-sunken);box-shadow:var(--shadow-lift);transition:rotate .5s var(--ease);position:relative;overflow:hidden;rotate:1.5deg}.hero__portrait:hover{rotate:0deg}.hero__portrait img{width:100%}.btn{font-size:var(--step--1);cursor:pointer;transition:transform .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease);border:1px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow)}.btn--primary:hover{box-shadow:var(--shadow-lift)}.btn--ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.chip-row{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--line);background:var(--paper-raised);font-family:var(--font-mono);color:var(--ink-soft);border-radius:999px;padding:.3rem .7rem;font-size:.75rem}.filter{flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem;display:flex}.filter__btn{border:1px solid var(--line);font-size:var(--step--1);color:var(--ink-soft);cursor:pointer;transition:all .18s var(--ease);background:0 0;border-radius:999px;padding:.5rem 1.1rem;font-weight:500}.filter__btn:hover{border-color:var(--accent);color:var(--accent)}.filter__btn[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.filter__count{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-faint);margin-bottom:2rem}.work-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(1.25rem,.8rem + 1.6vw,2rem);padding:0;list-style:none;display:grid}.work{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-raised);height:100%;transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease);flex-direction:column;display:flex;overflow:hidden}.work:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:var(--shadow-lift);transform:translateY(-5px)}.work__media{aspect-ratio:16/10;background:var(--paper-sunken);border-bottom:1px solid var(--line);overflow:hidden}.work__media img{-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;width:100%;height:100%;transition:scale .5s var(--ease)}.work:hover .work__media img{scale:1.04}.work__body{flex-direction:column;flex:1;gap:.75rem;padding:1.35rem;display:flex}.work__kind{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.72rem}.work__title{font-size:var(--step-1)}.work__stack{font-size:var(--step--1);color:var(--ink-faint)}.work__links{flex-wrap:wrap;gap:1rem;margin-top:auto;padding-top:.35rem;display:flex}.work__link{font-size:var(--step--1);color:var(--accent);align-items:center;gap:.3rem;font-weight:600;text-decoration:none;display:inline-flex}.work__link:hover{text-underline-offset:3px;text-decoration:underline}.work__link svg{width:.85em;height:.85em}.about-hero{align-items:start;gap:clamp(2rem,1rem + 5vw,4rem);display:grid}@media (width>=880px){.about-hero{grid-template-columns:.85fr 1.15fr}}.about-portrait{border-radius:var(--radius-lg);background:var(--paper-sunken);box-shadow:var(--shadow);position:relative;overflow:hidden}.about-portrait img{-o-object-fit:contain;object-fit:contain;-o-object-position:top center;object-position:top center;width:100%;height:auto;display:block}.social{gap:.6rem;margin-top:1.5rem;padding:0;list-style:none;display:flex}.social__link{border:1px solid var(--line);background:var(--paper-raised);width:2.6rem;height:2.6rem;color:var(--ink-soft);transition:all .18s var(--ease);border-radius:50%;place-items:center;display:grid}.social__link:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);transform:translateY(-2px)}.social__link svg{width:1.1rem;height:1.1rem}.prose p+p{margin-top:1rem}.prose{color:var(--ink-soft)}.prose strong{color:var(--ink);font-weight:600}.story{border-top:1px solid var(--line);align-items:center;gap:clamp(2rem,1rem + 4vw,3.5rem);padding-block:clamp(2.5rem,1.5rem + 3vw,4rem);display:grid}@media (width>=880px){.story{grid-template-columns:1fr 1fr}.story--flip .story__art{order:2}}.story__art{justify-content:center;align-items:center;display:flex}.story__art img{-o-object-fit:contain;object-fit:contain;width:auto;max-width:min(100%,460px);height:clamp(260px,36vw,320px)}.story__title{font-size:var(--step-3);margin-bottom:1rem}.footer{border-top:1px solid var(--line);padding-block:3rem}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.footer__note{font-size:var(--step--1);color:var(--ink-faint)}.footer__built{font-family:var(--font-mono);color:var(--ink-faint);font-size:.75rem}.to-top{z-index:90;border:1px solid var(--line);background:var(--paper-raised);width:2.9rem;height:2.9rem;color:var(--ink);cursor:pointer;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s var(--ease);border-radius:50%;place-items:center;display:grid;position:fixed;bottom:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);transform:translateY(12px)}.to-top[data-visible=true]{opacity:1;visibility:visible;transform:translateY(0)}.to-top:hover{border-color:var(--accent);color:var(--accent)}.to-top svg{width:1.1rem;height:1.1rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.page-enter-active,.page-leave-active{transition:opacity .25s var(--ease),transform .25s var(--ease)}.page-enter-from,.page-leave-to{opacity:0;transform:translateY(8px)}
