@font-face{font-family:Host Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/host-grotesk-latin-ext-wght-normal-B8jkyusk.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Host Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/host-grotesk-latin-wght-normal-CBa0fl4q.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Host Grotesk Variable;font-style:italic;font-display:swap;font-weight:300 800;src:url(/assets/host-grotesk-latin-ext-wght-italic-C9fcL9S5.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Host Grotesk Variable;font-style:italic;font-display:swap;font-weight:300 800;src:url(/assets/host-grotesk-latin-wght-italic-DwZ-Dnu8.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAAvMABEAAAAAGIgAAAtwAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbHhwoBmAAXAiBMgmcDBEICoYghWsLFAABNgIkAyIEIAWEbgddDIFhGxAXIwPBxkEgBD5M9pcHNhkOC9d/TWPHUBgLWadj2h0PhZSK0tw7jx+laU82/ePdIKKcRtWjkSwrTAqxQ6wQ8yFmj+mPyTHAy1ClWfnSsJ4aFAU2rdvAUKgXQ4VVpN4/KjQl8Du/hvfCsMezEvO6//0L31tlazPvuG/VMIdsBxFiXRvhtvfPVw5JSBZpTBIVIaHKdqxnqcnWdplaYCm+ifr/rfnad2fmEwpbQiHx+Na46qrJJPlnZ3cLu/mQ5DNuSkDCoGLeIlkkIdn21Lpa38u2RBts2nC2Z1tIlmAJYhWffydFgFD4xApBMI7N4JCaPpB09QxNYaMBgkEAiG555KG+Nfpo/eqEcACVG2t1IC/CBHWn5oBB6E1WqJRGjwox/YbiSt3y6Q7zlzTb3Q8fw3XfZbwnaIHxIH4XeSmAClUfBFxsZRhWbIcV5Gn6dDhxPYWFSztv4uOi3Hd1Z378Jw3+ysdsayc/nUDgdqLvqi92rxjAYc6hYUf14pHGg/9RLMDMXhZg+bPMqoG56vuVPME89cXgX25G6lHaDn0pNc0hb8GQtwf/jf/b6oMSrdyDf6l9gQDXZevSD88ZPP8B6/KvQvUcBff1pHn6DuXthS0t6RztTogR7oG2WVBhzQkBbj4lFCxaTBjQ9MgYf/lCXhND1Zq7Gl/nnlslir89FKGG4rpN6LOHi6pUWDOZ3TcjiuslfOLiwZtC0fISo2Prmg3Oyl1f4rXSGukEIxLH4tUTz7X0aYMm8bEzdPHXUqAD3B63WKlEDPfzv0tBb5jnAmNnz7UXu9Rf2urvXd2ubhMFbhhJigXMgBJ9rItOmu/alRxdM6YrNp0Lq6XaaHUvdg2UE8ojXBQ4ZDpiI7gsPTH9sD2PlCN5k+emtN2n5kh07zz5cySelj1hQluhvU3Cx0PBZxnbcojRkZywxlp6FFu6r50lUX21g+nqGMXKYTXmepS8Mmp2P+8vxh6oO7q4XeohtHMv5tGFd1mQGCKeGRdL+ICfq4XKHJPd1W/ZBMngDdU+IR1mwLee8EMdnSGcx+da2qpcg5ddHqkb50oOFv+gcJvP4qqhkPlXkR3awM0lGhDtVds5u9Q00i5zs9GJO4c3WlEMJ+1N/asSVtYhpwJYqEfhqjfP7FFYv1TTocRg0c9iIgJdVRJb5SYRCSRLRPD70oFzi2UnEuECkdWJKMTBEfHVcy2dObskilXzWgApJfONxg+/la7fNv4eYV17mKGYutvlh19DJ8SQx/Qei84ofzeij9dGykxUdCDKc4/wEOmPTJow/FC6CCvaic93anPKyPVoSHmzA0UqsA8mTU4E94F0AoIFzNSizN91OxJjG4Sw8yOq8TOLw4VOJf1WiLasLeGWCTOsnFWfJU5flBG5JjnnwVPsHSNlj21FHq3m3vVEPDoTMZEATCiRKUpiBiUzTSnMpFRmURrzUTqzKYP5K4phU39erPzDb8U0IM+vlG0TJZKUePE+ZGlKnvg4aC4uEBGHWIeUT0Jlzzc0ZCIgCwHZCMhBQC4C8hCQj4ACBBQioAihtgwaVyuVeyuJWWu7V9tBN3Ap265NAVAedydnPVEBaa+FrLF23d7UF500w8CpMhTU9PBG2mwXomK9mzqxLR/4AO2qsVl0urYa+rTT5TW4YK8k6ds5EruhRNdk8g8Bur60671aJ4Z5UGqhUfuuR4HsF0rUYXh1TNQXq0Z4LPpeG9CVTLoG7cEOUP7dfLe3vTWVOyE6YnmpV5146SzRCJj8SrCMdrQX8e+hckAIV3fnMpPGud4aRlNEA+sQlmVFX7F2VoR3Xh7pcDWE43WKq7OeswmHmrOVo7arbEdEdVy904U+kc6hWSfDZJuiGTRbwGQNFqh+v80kdGG7dj0YDncox6GGjVZ5ptnahLrCfmN6w2wwhi4MSNeujWP4XXQePQ2eaJ6GASRhFlEbr+entERwKGNnqxbVAo5rFQd7EprkK8JVGTRaDKicSmHOQwzL0XLffW8JzeBCN3p4oUxb7+PantTEFyQy2aGbT37B/LZ4MA0T+Jd3JLAcwrkXjT70gI6vEu3EqOfhsPKOaousvM+doDG21rULNMXZjdX22sS5vpgHiwMBZeqOMLk17WLS2xqhlvutVufkplGDXW/6N96D7tQ8w+R6/if2G1gNR72H7Tra9RC3SlH0LlJvBRtxQnQfknFRNH8Ddr3/6LcnXvLuwqvbuCZKrV0fkYGmQXT0zqHOqx4CDScavhyTyTRoN2eXE+WOYDU7DF89o1iQngeMMaXxdBFMMDUnafSyKWXTdLoIZph6Z/EIodPHHFeazxDBAldazEcES1xpOUMEK1zNVX3oZmtIbB2J0TVk6i5mhnLJTMfBYs+yuwTcAe4C94D7wAPgIfAIOmN0+rNnJchBBiKFMrMRDyJwfY4Omook8DIJVJXQGkQthkbMbq9g6gBI0UOJAUxjCWkKk4BZwCJgFbAJ2AUcKeEU4RLhFuER4RXhE9X+WMS32i5xrLlFVy63LhZDdM8r7C7G8uHhB/VbSE8hggQRAYAfgGjABsaBSyAViAV5PwoV5PP8+v/atLaN+EQdGhFqhu2FmaFhM86UsxqyvBOysBj2Znnqd5y7b7nOd78b8ujbPCU1hHAiCH0VT/l2yKPvZoe86Vvfcu6+I099bYJzOBsytRqSJyGY+ER/4IMfeP0bnvb0p2X9seVrf999qWs/+sC9H37gYfon13svbDvlY88NpXWdHU0dI83VY8b04zZ2ls935vO+Od1R2VfZ8bpXZzdP9PT1jHv2mN08sxvoPH380WJU60rPV/To6kvPX/bSjDf8sMnXPjnp995kdI957d7tClQeAuLDF4y3o1w76JIBgHRQQ8ZL4YkeeRkIhhJjFwVqFqVYBcVoFH+mkdpKLn63I1rJ0OB90dicF4cG0eyhVMuwaSiRVhlJGbwvlyi8HfIs2lDO6L1UlFbPvHM9i9asgWZsft4LB7+ND18Uv5LlJBU/KLl/+30NhNp166j66hVPwe+zfX77KVrAtDB3sULE57d8u4gY6xhG5zC27azjOF2OYatbHU1l49jOdgOGPG7QayxzghiIMmTfJWfsvFY/2xmfn/eiS0vyc7Myc6L4c4vNis6JDHUyih+srS4vFoRnKhG5AQyMKMNJKH6w6JLF05T4kyGGIfNduYAY41lRmZHaSVYJOMQDqq+/hLPe1Yjmf9sRxu8Afvqkd/8Vrv2e6P939d9rbxoPgIWClwr8vRRFHRCpH9kBAm+21QFz4ZDpSXy8VBCTNyKAn1N8vBAHRQkLPB94V3goNgLY7GAg2g98TrxbDyFZ8noowiWxh0EzP+qhKeIdPUymWOlhUUCtDr80wx5XaZ9nXNJIuYTmTS7Yz+grpssSedNHoE8FepfyjtLDED1Ir7PmY7Y5UdLDrj7ZN5cywbZIX6vrdVrPIOuiuqK8LhWUEThKVtqEq7V5h3WuofWUPfabaXUp4EZJ1+9R3WcdpdSwteMNCvWOd9kw3Pk1HT6zdNNPU6fnR4uqT3c6sTMeS2Hf2hM3VxKgMo25TGWwvcCqKaXSxZgEfZBgs9SlfSqsvck2L5MFL0/pLvtk7JqNRG8q6WNB7JZtFjoq8a7rnLB72XE5Ox1IOq4tRMHHNPi6C5WA8Az8QA6fF4UhhmgxxbLaNy62b7Z91yf7gUB7AL6xMtBR7V/fvL7a/kdZQeGNqwK1DL6Pz03MPYi8YP5evoxf6+wBX8d7oaeWbIsidFMvfFIP6ia73MrXKZbl5FxwVo2qTqtGF6tMbd1NWMdH44ghglAcfGAR4lPMunipsq/5fgzoesiR54zP3XvPmcO0xQrK3mfjJ9A1n/KQz7p8wH4KolWKN6dyFX8CL3xaDasWq0IXqjRthRe9T4JDP/9BSRPfaW5ZdHUBAAA=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAWUAA4AAAAABvAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABRAAAABYAAAAWABEABEdQT1MAAAFcAAAAHgAAAB5EdEx1R1NVQgAAAXwAAAAnAAAAKLj8uOpPUy8yAAABpAAAAFUAAABgYo+sRGNtYXAAAAH8AAAAQgAAAFxB0OJbZ2FzcAAAAkAAAAAIAAAACAAAABBnbHlmAAACSAAAAT0AAAFaNhXKIGhlYWQAAAOIAAAANgAAADYqgLJdaGhlYQAAA8AAAAAfAAAAJBAY8MdobXR4AAAD4AAAABkAAAAiEYUB02xvY2EAAAP8AAAAFAAAABQBUAHKbWF4cAAABBAAAAAcAAAAIAAjAQBuYW1lAAAELAAAARoAAAJuNApRAXBvc3QAAAVIAAAASwAAAF2B645zAAEAAAAMAAAAAAAAAAIAAQABAAMAAQAAAAEAAAAKABwAHAABREZMVAAIAAQAAAAA//8AAAAAAAB42mNgZGBg4GJQA0ImFzefEAahnMSSPAY+BhBgARH//4NIAFpJBVUAeNotxbENQEAYhuH3/87hwhA3g1KvEANQGcAoKolJJKLR2AwJT/OQaLIFD5o1AN23jVRWgwofnF4JkAHi1zctXMS4u+NOwW0WIrYCqNQJRPIH7S0K2QAAAHjaY2BgYAJiZiAWAZKMYJqFwQNI8zFwAOXYGBQYHBkWMBxkZFLY8v8/UByF///J/wP/U/87/me8HwTUjQIAZb8SQgAAAAEAAf//AA942mJgAvQ4zXARx1H8vd8x2zx8riX/lW3btt2SzS3M7VN7t4Qte7q2ptx++sVnvy9UABBHogURyAAUCgcFUiWOxjTcMzbhnHGKaA2NZJ5O+tLJHDopA0s6GaCSqZwYJ2RE+Bz3GdfwMKozLh81XV3R+VT0wwyT6WdDtEk0gAB0T2Yywu5/ff2/Lqe1XfrB2/RG8sgJuEAQgJOC51iNSimVqXieCXd1cZYxLoovlro4uzLhvMDYEpVSw7G8oPLGVceU6KR8cYF4vK12yLbUcE7CjS2WxRlpRViAsR3J/RNiaRoeeAcJybFcWXN7pUadlJHkqYpJT4yMLA/rrXbwswNAlJACvCePIKKJwMhQ0jC4TQq2tmgKO6QUT4gOrCg6hkIQGKmUItiJlhcXy6PFhYkJhUSXlJSWmAhmxutO9wAAAAABAAAAAQLRsUtkZV8PPPUADwPoAAAAAN9+te8AAAAA3362EvlE/vcTHAOxAAAABgACAAAAAAAAeNpjYGRgYN72n42BgSnrp8t7P2EZoAgq4AAAe9wE3gB42mPKYogAYjkkzADFMgwMjKwM8wFSaARoAAAAAAAAFQAuADoARgBGAEYAiACWAK142mNgZGBg4GTIZ2Bn6GfgAvMQgIOBEQAZTQEkeNqNkQVOREEQRB/uxIPEfgR3d3d3iKHr7rvhWpyCQ3AYKpN1T6emvbvSA7TjpImG5g7gt2E3bTcw2DCcthvpbehP201s8pe2mxnnJ2238Mhb2m5llOW03SsL3MQlYWKsMyOJYSOKR5G47GnBg186RBSX8jcccylE+ZQfwEFQlVfKB4Up7hVxkVDPJ1Ge5UXNDOWxmGOaWeYkG1hms5NPEtIh3HjMLItRkqZyVVgUVphiCbvwxVjJbiu73Sranr/thSPOpOtkXuRV3nkghPk2N3PhNrl5ZoV5WY+41WGV9E/lcb4lKu1Vxma698w93ObiMXON4j9y4TEVCb6YVleIgKIpTfCkX+X4JIgrz5rBWcIikGYx9g9ueGIvAAB42mNgYgCD/3MYjIAUIwM64ARiFYaTjEwMzIzMjCyMrIxsbI5JRallqeyleZkGBo4GINrIwMmEMzG5tCQ1OT83CSxjbGAGANg9D2UA)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fragment-mono-latin-ext-400-normal-BbKYyvR9.woff2)format("woff2"),url(/assets/fragment-mono-latin-ext-400-normal-CT4YFKeK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fragment-mono-latin-400-normal-yxdJ5AmL.woff2)format("woff2"),url(/assets/fragment-mono-latin-400-normal-BYwT3kSJ.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#fafaf8;--card:#fff;--ink:#111214;--ink-2:#3b3d42;--ink-3:#66696f;--hair:#dcdcd8;--hair-strong:#b9b9b4;--accent:#00e5c9;--accent-ink:#00796e;--sans:"Host Grotesk Variable", "Helvetica Neue", Arial, sans-serif;--mono:"Fragment Mono", ui-monospace, "SFMono-Regular", monospace;--measure:60ch;--gutter:clamp(1rem, 4vw, 3rem);--wrap:80rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--tick:12px;--tick-ink:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--paper);color:var(--ink);font-family:var(--sans);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;scrollbar-color:var(--hair-strong) var(--paper);font-size:1.0625rem;line-height:1.6}*,:before,:after{box-sizing:border-box}body{background:var(--paper);margin:0}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}a{color:inherit;text-decoration-line:underline;-webkit-text-decoration-color:var(--hair-strong);text-decoration-color:var(--hair-strong);text-underline-offset:.22em;transition:text-decoration-color .16s var(--ease-out), color .16s var(--ease-out);text-decoration-thickness:1px}a:hover{text-decoration-color:currentColor}strong{color:var(--ink);font-weight:600}code{font-family:var(--mono);background:var(--card);border:1px solid var(--hair);border-radius:3px;padding:.05em .25em;font-size:.84em}cite{font-style:italic}h1,h2,h3{letter-spacing:-.015em;text-wrap:balance;margin:0;font-weight:500;line-height:1.1}p{text-wrap:pretty;margin:0}ul,ol{margin:0;padding:0;list-style:none}.muted{color:var(--ink-3)}.mono,.label{font-family:var(--mono);letter-spacing:.01em;font-size:.8125rem}.label{color:var(--ink-3);margin-right:.5rem}.ticks{background:linear-gradient(var(--tick-ink), var(--tick-ink)) top left / var(--tick) 1px no-repeat, linear-gradient(var(--tick-ink), var(--tick-ink)) top left / 1px var(--tick) no-repeat, linear-gradient(var(--tick-ink), var(--tick-ink)) top right / var(--tick) 1px no-repeat, linear-gradient(var(--tick-ink), var(--tick-ink)) top right / 1px var(--tick) no-repeat, linear-gradient(var(--tick-ink), var(--tick-ink)) bottom left / var(--tick) 1px no-repeat, linear-gradient(var(--tick-ink), var(--tick-ink)) bottom left / 1px var(--tick) no-repeat, linear-gradient(var(--tick-ink), var(--tick-ink)) bottom right / var(--tick) 1px no-repeat, linear-gradient(var(--tick-ink), var(--tick-ink)) bottom right / 1px var(--tick) no-repeat}.skip{left:var(--gutter);background:var(--ink);color:var(--paper);z-index:10;border-radius:999px;padding:.5rem .9rem;text-decoration:none;position:absolute;top:-3rem}.skip:focus{top:.75rem}.btn{white-space:nowrap;min-height:2.75rem;transition:background-color .16s var(--ease-out), color .16s var(--ease-out), border-color .16s var(--ease-out);border-radius:999px;align-items:center;gap:.5rem;padding:0 1.15rem;font-size:.9688rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}.btn-primary:hover{color:var(--paper);background:#2a2c30}.btn-secondary{color:var(--ink);border:1px solid var(--hair-strong);background:0 0}.btn-secondary:hover{border-color:var(--ink)}.btn-sm{min-height:2.25rem;padding:0 .95rem;font-size:.875rem}.shell{flex-direction:column;min-height:100dvh;display:flex}.masthead,main>:not(.bleed),.bleed>.inner,.colophon{width:100%;max-width:var(--wrap);padding-inline:var(--gutter);margin-inline:auto}.masthead-bar{border-bottom:1px solid var(--hair)}.masthead{flex-wrap:wrap;align-items:center;gap:.75rem 2rem;padding-block:1rem;display:flex}.wordmark{letter-spacing:-.01em;margin-right:auto;font-size:1.0625rem;font-weight:600;text-decoration:none}.masthead nav ul{flex-wrap:wrap;gap:.25rem 1.6rem;display:flex}.masthead nav a{color:var(--ink-2);padding-block:.3rem;font-size:.9375rem;text-decoration:none;position:relative}.masthead nav a:hover,.masthead nav a[aria-current=page]{color:var(--ink)}.masthead nav a[aria-current=page]:before{content:"";background:var(--accent);outline:1px solid var(--ink);width:6px;height:6px;margin-top:-3px;position:absolute;top:50%;left:-.75rem}main{flex:1;padding-block:clamp(2.5rem,6vw,4.5rem) 5rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}.colophon-bar{border-top:1px solid var(--hair)}.colophon{font-family:var(--mono);color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:1.5rem 2.5rem;font-size:.8125rem;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.menu-toggle{background:var(--card);border:1px solid var(--hair-strong);min-height:2.25rem;font:inherit;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:0 .85rem 0 .95rem;font-size:.9375rem;display:none}.menu-toggle svg{transition:transform .2s var(--ease-out)}.menu-open .menu-toggle svg{transform:rotate(180deg)}.brand-link{color:var(--ink);vertical-align:-.2em;border-bottom:1px solid var(--hair-strong);transition:border-color .16s var(--ease-out);margin-inline:.1em;padding-bottom:.14em;text-decoration:none;display:inline-block}.brand-link,.colophon a{position:relative}.brand-link:after,.colophon a:after{content:"";position:absolute;inset:-.45rem -.25rem}.brand-link:hover{border-bottom-color:currentColor}.logo-xflow{aspect-ratio:4116/1142;background:currentColor;height:.82em;display:block;-webkit-mask:url(/brand/xflow-logo.png) 50%/contain no-repeat;mask:url(/brand/xflow-logo.png) 50%/contain no-repeat}.logo-xyenta{aspect-ratio:268/74;width:auto;height:1.05em;margin-bottom:-.2em;display:block}.tech-icon{fill:currentColor;transition:fill .16s var(--ease-out);flex:none}.ext{align-items:baseline;gap:.2em;display:inline-flex}.ext svg{color:var(--ink-3);transition:transform .22s var(--ease-out), color .16s var(--ease-out);flex:none;align-self:center}.ext:hover svg{color:var(--ink);transform:translate(2px,-2px)}.page-header{max-width:60rem;margin-bottom:clamp(3rem,7vw,5rem)}.page-header h1{letter-spacing:-.035em;font-size:clamp(2.75rem,6.5vw,4.75rem);line-height:1}.lede{max-width:56ch;color:var(--ink-2);margin-top:1.5rem;font-size:clamp(1.15rem,1.9vw,1.3rem);line-height:1.5}.block{margin-top:clamp(4rem,8vw,6rem)}.block>h2{letter-spacing:-.025em;margin-bottom:2rem;font-size:clamp(1.6rem,3vw,2.2rem)}.points{max-width:var(--measure);color:var(--ink-2);gap:.85rem;display:grid}.points li{padding-left:1.25rem;position:relative}.points li:before{content:"";background:var(--accent);outline:1px solid var(--ink);width:6px;height:6px;position:absolute;top:.62em;left:0}.points .lead{color:var(--ink)}.entry{border-top:1px solid var(--hair);grid-template-columns:11rem minmax(0,1fr);gap:.75rem 2.5rem;padding-block:2.5rem;display:grid}.entry:first-of-type{border-top:1px solid var(--ink)}.entry>div{justify-items:start;gap:.6rem;display:grid}.entry .when{font-family:var(--mono);color:var(--ink-3);padding-top:.45rem;font-size:.8125rem}.entry h2,.entry h3{letter-spacing:-.02em;font-size:clamp(1.4rem,2.4vw,1.75rem)}.exp-meta{font-family:var(--mono);color:var(--ink-2);flex-wrap:wrap;gap:.35rem 0;margin:calc(clamp(3rem,7vw,5rem)/-1.81818) 0 clamp(2.5rem,5vw,3.5rem);font-size:.8125rem;display:flex}.exp-meta span{white-space:nowrap}.exp-meta span:first-child{color:var(--ink)}.exp-meta span:not(:last-child):after{content:"·";color:var(--ink-3);margin-inline:.55rem}@media (max-width:44rem){.exp-meta{flex-direction:column}.exp-meta span{white-space:normal}.exp-meta span:not(:last-child):after{display:none}}.company{border-top:1px solid var(--ink);padding-top:2.25rem}.company+.company{margin-top:3.5rem}.company-head{background-color:var(--card);border:1px solid var(--hair);align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex;position:relative;overflow:hidden}.company-head>:not(.company-dots){position:relative}.company-dots{pointer-events:none;width:min(55%,30rem);height:100%;position:absolute;top:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 45%);mask-image:linear-gradient(90deg,#0000,#000 45%)}.company-dots circle{fill:var(--accent)}@media (max-width:44rem){.company-head{flex-wrap:wrap;padding:1rem 1rem 0}.company-head>div{flex:1 1 0;min-width:0}.company-head .company-meta span{white-space:normal}.company-dots{order:3;width:calc(100% + 2rem);height:2.5rem;margin:.25rem -1rem 0;position:static}}.company-head h2{letter-spacing:-.02em;font-size:clamp(1.5rem,2.6vw,1.9rem)}.company-head h2 .ext svg{width:.6em;height:.6em}.company-meta{font-family:var(--mono);color:var(--ink-2);flex-wrap:wrap;gap:.15rem 0;margin-top:.35rem;font-size:.8125rem;display:flex}.company-meta span{white-space:nowrap}@media (max-width:44rem){.company-multi .role:not(:last-child):before{display:none}.company-meta{flex-direction:column}.company-meta span:not(:last-child):after{display:none}}.company-meta span:not(:last-child):after{content:"·";color:var(--ink-3);margin-inline:.55rem}.company-roles .role{--pad:2.25rem;padding-block:var(--pad);position:relative}.company-roles .role:first-child{--pad:2rem;border-top:0}.role .when{grid-area:1/1/span 4}.role .role-title,.role .role-summary,.role .role-figures,.role .role-detail{grid-column:2}.role .role-title{grid-row:1}.role .role-summary{grid-row:2}.role .role-figures{grid-row:3}.role .role-detail{grid-row:4}.role:not(.has-figures) .role-detail{grid-row:3}@media (max-width:44rem){.role .when,.role .role-title,.role .role-summary,.role .role-figures,.role .role-detail{grid-column:1}.role .when{grid-row:1}.role .role-title{grid-row:2}.role .role-summary{grid-row:3}.role .role-figures{grid-row:4}.role .role-detail{grid-row:5}.role:not(.has-figures) .role-detail{grid-row:4}}.entry .when .tenure{color:var(--ink-2);margin-top:.2rem;display:block}.company-multi .role .when{padding-left:1.15rem;position:relative}.company-multi .role .when:before{content:"";background:var(--paper);outline:1px solid var(--ink);z-index:1;width:7px;height:7px;position:absolute;top:.95em;left:0}.company-multi .role:first-child .when:before{background:var(--accent)}.company-multi .role:not(:last-child):before{content:"";left:3px;top:calc(var(--pad) + .45rem + .95em);border-left:1px solid var(--hair-strong);height:100%;position:absolute}.featured{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;width:100%;max-width:52rem;margin-block:.6rem .4rem;display:grid}.featured li{background-color:var(--card);border:1px solid var(--hair);padding:1.25rem 1.3rem 1.35rem}.featured h5{letter-spacing:-.015em;margin:0 0 .5rem;font-size:1.15rem;font-weight:500;line-height:1.25}.featured p{color:var(--ink-2);font-size:.9375rem;line-height:1.55}.note-link{color:var(--ink);text-decoration-line:underline;-webkit-text-decoration-color:var(--hair-strong);text-decoration-color:var(--hair-strong);text-underline-offset:.3em;margin-top:.85rem;font-size:.875rem;font-weight:500;line-height:1.45;display:inline-block}.note-link svg{vertical-align:-.12em;margin-left:.3rem;display:inline}.note-link:hover{text-decoration-color:currentColor}.note-link svg{transition:transform .2s var(--ease-out)}.note-link:hover svg{transform:translate(2px)}.role .role-figures{justify-items:stretch;margin-block:.5rem .75rem;display:block}.role-figures h4{border-bottom:1px solid var(--ink);font-family:var(--mono);color:var(--ink-2);margin:0 0 .75rem;padding-bottom:.45rem;font-size:.8125rem;font-weight:400}.role-figures dl{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:0 1.25rem;margin:0;display:grid}.role-figures dl>div{border-bottom:1px solid var(--hair);padding-block:.8rem .9rem}.role-figures dt{letter-spacing:-.03em;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;font-size:1.6rem;font-weight:500;line-height:1.1}.role-figures dt:before{content:"";vertical-align:.35em;background:var(--accent);outline:1px solid var(--ink);width:6px;height:6px;margin-right:.5rem;display:inline-block}.role-figures dd{color:var(--ink-2);margin:.3rem 0 0;font-size:.875rem;line-height:1.4}@media (min-width:75rem){.entry.has-figures{grid-template-columns:11rem minmax(0,1fr) 15rem}.role.has-figures .role-figures{grid-area:1/3/span 3;align-self:start;margin-block:.4rem 0;position:sticky;top:1.5rem}.role.has-figures .role-detail{grid-row:3}.role-figures dl{grid-template-columns:minmax(0,1fr)}}@media (max-width:44rem){.role-figures dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.role-figures dt{font-size:1.35rem}}.page-close{border-top:1px solid var(--ink);margin-top:clamp(4rem,8vw,6rem);padding-top:2.25rem}.page-close h2{letter-spacing:-.025em;font-size:clamp(1.6rem,3vw,2.2rem)}.page-close .next-links{margin-top:1.5rem}.highlight-group{width:100%;margin-top:1.25rem}.group-head{max-width:var(--measure);border-bottom:1px solid var(--hair);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.highlight-group .group-head h4{border-bottom:0;margin:0;padding-bottom:.45rem}.group-toggle{min-height:2rem;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:.3rem;padding:0 .1rem;font-size:.8125rem;font-weight:500;display:inline-flex}.group-toggle:hover{text-underline-offset:.22em;text-decoration:underline}.group-toggle svg{transition:transform .2s var(--ease-out)}.highlight-group.open .group-toggle svg{transform:rotate(180deg)}.point-detail{color:var(--ink-3);margin-top:.35rem;font-size:.9375rem;display:block}.highlight-group:not(.open) .point-detail{display:none}.point-notes{flex-wrap:wrap;gap:0 1rem;display:flex}.point-notes .note-link{margin-top:.4rem;font-size:.8125rem}.highlight-group h4{max-width:var(--measure);border-bottom:1px solid var(--hair);font-family:var(--mono);color:var(--ink-2);margin:0 0 .75rem;padding-bottom:.45rem;font-size:.8125rem;font-weight:400}.role-summary{max-width:var(--measure);color:var(--ink);margin-bottom:.4rem;font-size:1.0625rem}.company-tile{background:var(--card);border:1px solid var(--hair);width:3.5rem;height:3.5rem;color:var(--ink-2);border-radius:6px;flex:none;place-items:center;padding:.5rem;font-weight:600;display:grid}.company-tile svg{width:100%;height:100%}.entry .where{color:var(--ink-2);margin-bottom:.6rem}.entry>div>p:not(.where){max-width:var(--measure);color:var(--ink-2)}.aside{color:var(--ink-2);font-size:.9375rem}@media (max-width:44rem){.entry{grid-template-columns:1fr}.entry .when{padding-top:0}}.plate{background-color:var(--card);border:1px solid var(--hair);color:inherit;transition:border-color .2s var(--ease-out);flex-direction:column;text-decoration:none;display:flex;position:relative}.plate.ticks{--tick-ink:var(--ink)}.plate-art{aspect-ratio:1;width:100%;height:auto;display:block}.plate-art .dots circle{fill:var(--accent);transform-box:fill-box;transform-origin:50%;transition:transform .42s var(--ease-out)}.plate-caption{border-top:1px solid var(--hair);font-family:var(--mono);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.15rem .75rem;padding:.6rem .8rem .65rem;font-size:.75rem;line-height:1.3;display:flex}.plate-caption span:first-child{white-space:nowrap}.plate-caption span:last-child{color:var(--ink-3)}a.plate:hover,a.plate:focus-visible{border-color:var(--ink)}a.plate:hover .dots circle,a.plate:focus-visible .dots circle{transform:scale(1.4)}.intro{min-height:calc(100svh - var(--intro-top,6rem));grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head plates""lede plates""cv plates""contact plates";align-content:center;align-items:start;gap:0 clamp(2rem,5vw,5rem);padding-bottom:3rem;display:grid}.intro-head{grid-area:head}.intro .display{letter-spacing:-.04em;font-size:clamp(3.25rem,7vw,5.75rem);line-height:.95}.roles{letter-spacing:-.01em;color:var(--ink-2);margin-top:1.25rem;font-size:clamp(1.1rem,1.6vw,1.25rem);line-height:1.4}.roles span{white-space:nowrap}.intro-summary{max-width:44ch;color:var(--ink-2);grid-area:lede;margin-top:1.75rem;font-size:clamp(1.15rem,1.7vw,1.3rem);line-height:1.5}.cv-file{flex-wrap:wrap;grid-area:cv;align-items:center;gap:.75rem;margin-top:2rem;display:flex}.contact{color:var(--ink-2);flex-wrap:wrap;grid-area:contact;gap:.5rem 1.5rem;margin-top:1.75rem;font-size:.9375rem;display:flex}.contact li a{align-items:center;gap:.45rem;text-decoration:none;display:inline-flex}.contact li a:hover{color:var(--ink)}.contact li a:hover span{text-underline-offset:.22em;text-decoration:underline}.contact svg{color:var(--ink-3)}.plates{grid-area:plates;grid-template-columns:repeat(2,minmax(0,1fr));align-self:center;gap:1rem;display:grid}.outcomes-band{background:var(--accent);color:var(--ink);overflow:hidden}.outcomes-band>.inner{padding-block:clamp(3.5rem,8vw,6rem);position:relative}.band-dots{right:calc(var(--gutter) * -1);pointer-events:none;width:min(30rem,42%);position:absolute;top:-4rem}.band-dots circle{fill:#009e8b}.outcomes-band h2{letter-spacing:-.025em;margin-bottom:2.5rem;font-size:clamp(1.6rem,3vw,2.2rem);position:relative}.outcomes{grid-template-columns:repeat(4,minmax(0,1fr));gap:3rem 2rem;margin:0;display:grid;position:relative}.outcomes>div:first-child{grid-column:1/-1}.outcomes>div:first-child dt{letter-spacing:-.04em;font-size:clamp(2.75rem,7.5vw,6rem);line-height:.95}.outcomes>div:first-child dd{max-width:44ch;margin-top:1rem;font-size:1.0625rem}.outcomes>div:not(:first-child){border-left:1px solid var(--ink);padding-left:1rem}.outcomes dt{letter-spacing:-.025em;font-variant-numeric:lining-nums tabular-nums;font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:500;line-height:1.05}.outcomes dd{max-width:30ch;margin:.6rem 0 0;font-size:.9375rem}.nowrap{white-space:nowrap}.now{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:1.5rem clamp(2rem,5vw,5rem);padding-top:clamp(4rem,8vw,6rem);display:grid}.now h2{letter-spacing:-.025em;font-size:clamp(1.6rem,3vw,2.2rem)}.now-lead{max-width:var(--measure);font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.5}.now-summary{max-width:var(--measure);color:var(--ink-2);margin-top:1.25rem}.next-links{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}@media (max-width:64rem){.outcomes{grid-template-columns:repeat(2,minmax(0,1fr))}.band-dots{width:60%;top:-3rem}}@media (max-width:60rem){.intro{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""lede""cv""plates""contact"}.intro-summary{margin-top:1.25rem}.cv-file{margin-top:1.5rem}.plates{margin-top:2rem}.now{grid-template-columns:minmax(0,1fr)}}@media (max-width:40rem){.masthead{row-gap:0;padding-block:.7rem}.menu-toggle{display:inline-flex}.masthead nav,.masthead>.masthead-cv{display:none}.menu-open nav{border-top:1px solid var(--hair);width:100%;margin-top:.75rem;display:block}.menu-open nav ul{flex-direction:column;gap:0}.menu-open nav li{border-bottom:1px solid var(--hair)}.menu-open nav a{color:var(--ink);padding:.85rem 0 .85rem 1rem;font-size:1.125rem;display:block}.menu-open nav a[aria-current=page]:before{left:0}.menu-open>.masthead-cv{justify-content:center;width:100%;min-height:2.75rem;margin-block:1rem .5rem;display:inline-flex}.intro .display{font-size:3rem}.band-dots{display:none}.plates{scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);grid-template-columns:none;grid-auto-columns:62%;grid-auto-flow:column;padding-block:2px;overflow-x:auto}.plates .plate{scroll-snap-align:start}.outcomes{grid-template-columns:minmax(0,1fr)}}.stack{flex-wrap:wrap;gap:.4rem;display:flex}.stack li{font-family:var(--mono);background:var(--card);border:1px solid var(--hair);color:var(--ink-2);border-radius:4px;align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.78rem;display:inline-flex}.projects{display:grid}.project{border-top:1px solid var(--hair);grid-template-columns:minmax(0,17rem) minmax(0,1fr);gap:1.5rem clamp(2rem,5vw,4rem);padding-block:3rem;scroll-margin-top:2rem;display:grid}.project:first-child{border-top:1px solid var(--ink)}.project>.plate{align-self:start}.project-body{align-content:start;justify-items:start;gap:1.25rem;display:grid}.project h2{letter-spacing:-.03em;font-size:clamp(1.7rem,3vw,2.3rem)}.tagline{color:var(--ink-2);margin-top:.4rem;font-size:1.1rem}.project-links{gap:1.5rem;font-weight:500;display:flex}.project-links a{align-items:center;gap:.4rem;display:inline-flex}@media (max-width:44rem){.project{grid-template-columns:minmax(0,1fr)}.project>.plate{max-width:18rem}}.note{border-top:1px solid var(--hair);grid-template-columns:minmax(0,18rem) minmax(0,1fr);gap:1.25rem 3rem;padding-block:3rem;scroll-margin-top:1.5rem;display:grid}.note:first-child{border-top:1px solid var(--ink)}.note h2{letter-spacing:-.03em;font-size:clamp(1.6rem,2.8vw,2.1rem)}.note dl{max-width:var(--measure);gap:1.35rem;margin:0;display:grid}.note dt{font-family:var(--mono);color:var(--ink-3);margin-bottom:.25rem;font-size:.8125rem}.note dd{color:var(--ink-2);margin:0}.note .learned{background-color:var(--card);border:1px solid var(--hair);margin-top:.4rem;padding:1.4rem 1.5rem 1.5rem}.note .learned dt{color:var(--accent-ink)}.note .learned dd{color:var(--ink);letter-spacing:-.01em;font-size:clamp(1.15rem,1.8vw,1.35rem);line-height:1.45}@media (max-width:52rem){.note{grid-template-columns:minmax(0,1fr)}}.skills{grid-template-columns:repeat(auto-fit,minmax(min(100%,30rem),1fr));gap:0 4rem;display:grid}.skill-group{border-top:1px solid var(--ink);padding-block:2rem 2.75rem}.skill-group header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;display:flex}.skill-group h2{letter-spacing:-.02em;font-size:1.35rem}.skill-group ul{flex-wrap:wrap;gap:.45rem;display:flex}.skill{position:relative}.skill-chip{background:var(--card);border:1px solid var(--hair);min-height:2.25rem;font:inherit;color:var(--ink);text-align:left;cursor:help;transition:border-color .16s var(--ease-out);border-radius:6px;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.9375rem;line-height:1.3;display:inline-flex}.skill-chip svg{color:var(--ink-3)}.skill-chip:hover,.skill.open .skill-chip{border-color:var(--ink)}.skill-chip:hover .tech-icon,.skill.open .skill-chip .tech-icon{fill:var(--brand,currentColor)}.skill-note{z-index:5;width:min(20rem, calc(100vw - 2 * var(--gutter)));background:var(--card);border:1px solid var(--ink);color:var(--ink-2);border-radius:6px;padding:.9rem 1rem 1rem;font-size:.875rem;line-height:1.45;display:none;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 10px 28px -8px #11121438}.skill.open .skill-note{gap:.6rem;display:grid}.skill.flip .skill-note{left:auto;right:0}.skill-note b{font-family:var(--mono);color:var(--ink-3);margin-bottom:.15rem;font-size:.75rem;font-weight:400;display:block}.skill-note p:last-child b{color:var(--accent-ink)}.num{font-variant-numeric:lining-nums tabular-nums}.honors{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;display:grid}.honors li{background-color:var(--card);border:1px solid var(--hair);padding:1.4rem 1.4rem 1.5rem}.honors h3{letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.25rem}.honors p{color:var(--ink-2)}@media print{.highlight-group .point-detail{display:block!important}:root{--paper:#fff;--card:#fff;--ink:#000;--ink-2:#222;--ink-3:#555;font-size:10.5pt}.masthead nav,.menu-toggle,.masthead-cv,.skip,.next-links,.page-close,.group-toggle,.cv-file,.plates,.project>.plate,.band-dots,.skill-note,.ext svg{display:none!important}.brand-link{border:0}.intro{min-height:0;display:block}.outcomes-band{background:0 0}.ticks{background-image:none}.company-dots{display:none}.project,.note{grid-template-columns:1fr}main{padding-block:1.5rem}}
