.site-footer[data-astro-cid-zjtcoxuf]{background:var(--ink);color:var(--paper);padding:56px 0 40px}.site-footer__inner[data-astro-cid-zjtcoxuf]{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap}.site-footer__tag[data-astro-cid-zjtcoxuf]{font-family:var(--font-display);font-weight:800;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.03em;max-width:16ch;line-height:1.02}.site-footer__tag[data-astro-cid-zjtcoxuf] em[data-astro-cid-zjtcoxuf]{font-style:normal;color:var(--signal)}.social-row[data-astro-cid-zjtcoxuf]{display:flex;gap:10px}.footer-bottom[data-astro-cid-zjtcoxuf]{display:flex;justify-content:space-between;margin-top:44px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--paper) 22%,transparent);font-family:var(--font-mono);font-size:12px;color:color-mix(in srgb,var(--paper) 62%,transparent);flex-wrap:wrap;gap:10px}.site-header[data-astro-cid-xz46nd5c]{position:sticky;top:0;z-index:var(--z-sticky);background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:saturate(1.3) blur(10px);border-bottom:2px solid var(--ink)}.site-header__inner[data-astro-cid-xz46nd5c]{display:flex;align-items:center;justify-content:space-between;height:70px;gap:24px}.brand[data-astro-cid-xz46nd5c]{display:flex;align-items:center;gap:11px;text-decoration:none;flex:none}.brand__mark[data-astro-cid-xz46nd5c]{font-family:var(--font-mono);font-weight:600;font-size:17px;background:var(--ink);color:var(--paper);width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);flex:none}.brand__mark[data-astro-cid-xz46nd5c] b[data-astro-cid-xz46nd5c]{color:var(--signal)}.brand__name[data-astro-cid-xz46nd5c]{font-family:var(--font-display);font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}.nav[data-astro-cid-xz46nd5c]{display:flex;align-items:center;gap:28px}.header-actions[data-astro-cid-xz46nd5c]{display:flex;align-items:center;gap:12px}@media(max-width:920px){.nav[data-astro-cid-xz46nd5c]{display:none}}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-1.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-2.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-3.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-1.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-2.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-3.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-1.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-2.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-3.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-1.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-2.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-3.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-1.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-2.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/fonts/BricolageGrotesque-800-3.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:italic;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-400-italic-1.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-400-italic-2.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-400-italic-3.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-400-italic-4.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:italic;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-400-italic-5.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:400;font-display:swap;src:url(/fonts/IBMPlexMono-400-1.woff2) format("woff2");unicode-range:U+0460-052F,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(/fonts/IBMPlexMono-400-2.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-400-3.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-400-4.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/fonts/IBMPlexMono-400-5.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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(/fonts/IBMPlexMono-500-1.woff2) format("woff2");unicode-range:U+0460-052F,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(/fonts/IBMPlexMono-500-2.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-500-3.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-500-4.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/fonts/IBMPlexMono-500-5.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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(/fonts/IBMPlexMono-600-1.woff2) format("woff2");unicode-range:U+0460-052F,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(/fonts/IBMPlexMono-600-2.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexMono-600-3.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexMono-600-4.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/fonts/IBMPlexMono-600-5.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-400-italic-1.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-400-italic-2.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-400-italic-3.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-400-italic-4.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-400-italic-5.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-400-italic-6.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:400;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-700-1.woff2) format("woff2");unicode-range:U+0460-052F,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(/fonts/IBMPlexSans-700-2.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-700-3.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-700-4.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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(/fonts/IBMPlexSans-700-5.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/fonts/IBMPlexSans-700-6.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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(/fonts/IBMPlexSans-700-1.woff2) format("woff2");unicode-range:U+0460-052F,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(/fonts/IBMPlexSans-700-2.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-700-3.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-700-4.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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(/fonts/IBMPlexSans-700-5.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/fonts/IBMPlexSans-700-6.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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(/fonts/IBMPlexSans-700-1.woff2) format("woff2");unicode-range:U+0460-052F,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(/fonts/IBMPlexSans-700-2.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-700-3.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-700-4.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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(/fonts/IBMPlexSans-700-5.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/fonts/IBMPlexSans-700-6.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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(/fonts/IBMPlexSans-700-1.woff2) format("woff2");unicode-range:U+0460-052F,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(/fonts/IBMPlexSans-700-2.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-700-3.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-700-4.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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(/fonts/IBMPlexSans-700-5.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/fonts/IBMPlexSans-700-6.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--n-0: #ffffff;--n-50: #faf3e8;--n-100: #f3ebdc;--n-150: #ece2cf;--n-200: #e4d9c4;--n-300: #d3c6ac;--n-400: #b3a586;--n-500: #897c61;--n-600: #615844;--n-700: #433d2e;--n-800: #2a261c;--n-900: #181410;--ink: #30525c;--ink-soft: #466670;--paper: #faf3e8;--paper-raised: #fffdf8;--paper-sunk: #f2e8d8;--signal: #09a1a1;--signal-deep: #057b7b;--signal-bright:#1cb7b7;--signal-tint: #d7efee;--volt: #f4596b;--volt-deep: #dd3f53;--volt-tint: #fbe0e3;--sand: #f6c992;--sand-tint: #fcefd9;--sand-deep: #9a6212;--rose: #d396a6;--rose-tint: #f6e6ea;--rose-deep: #9c4a63;--steel: #5484a4;--steel-tint: #dde7ef;--steel-deep: #2f5c7a;--sky: #acc0d3;--sky-tint: #eaf0f5;--sky-deep: #3f6488;--success: #2f8f5b;--success-tint: #dff0e4;--warning: #c98a18;--warning-tint: #f8eccf;--danger: #c63923;--danger-tint: #f7e0da;--info: #2d6ea8;--info-tint: #dce9f4;--text-strong: var(--ink);--text-body: #38535d;--text-muted: #6b8088;--text-faint: #9daab0;--text-on-ink: var(--paper);--text-on-signal: #ffffff;--text-link: var(--signal-deep);--surface-page: var(--paper);--surface-card: var(--paper-raised);--surface-sunk: var(--paper-sunk);--surface-ink: var(--ink);--surface-signal: var(--signal);--surface-volt: var(--volt);--border: var(--n-300);--border-soft: var(--n-200);--border-strong: var(--ink);--accent: var(--signal);--accent-hover: var(--signal-bright);--accent-press: var(--signal-deep);--accent-tint: var(--signal-tint);--focus-ring: var(--ink)}:root{--font-display: "Bricolage Grotesque", "Arial Black", system-ui, sans-serif;--font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-black: 800;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1rem;--text-lg: 1.1875rem;--text-xl: 1.5rem;--text-2xl: 1.9375rem;--text-3xl: 2.5rem;--text-4xl: 3.25rem;--text-5xl: 4.25rem;--text-6xl: 5.5rem;--text-display: clamp(3rem, 9vw, 8.5rem);--leading-none: .95;--leading-tight: 1.05;--leading-snug: 1.2;--leading-normal: 1.45;--leading-relaxed: 1.65;--tracking-tight: -.03em;--tracking-snug: -.015em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-label: .14em}.sp-kicker{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}.sp-display{font-family:var(--font-display);font-weight:var(--weight-black);font-size:var(--text-display);line-height:var(--leading-none);letter-spacing:var(--tracking-tight);color:var(--text-strong)}.sp-h2{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-3xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-snug);color:var(--text-strong)}.sp-h3{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug);color:var(--text-strong)}.sp-body{font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--text-body)}.sp-lead{font-family:var(--font-sans);font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--text-body)}.sp-meta{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);letter-spacing:var(--tracking-normal)}:root{--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3rem;--space-9: 4rem;--space-10: 5rem;--space-11: 6.5rem;--space-12: 8rem;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 7px;--radius-lg: 12px;--radius-xl: 18px;--radius-pill: 999px;--border-1: 1px;--border-2: 2px;--border-3: 3px;--shadow-xs: 0 1px 2px rgba(48, 82, 92, .08);--shadow-sm: 0 2px 6px rgba(48, 82, 92, .1);--shadow-md: 0 8px 22px rgba(48, 82, 92, .12);--shadow-lg: 0 18px 44px rgba(48, 82, 92, .16);--shadow-block: 4px 4px 0 var(--ink);--shadow-block-sm: 3px 3px 0 var(--ink);--shadow-block-signal: 4px 4px 0 var(--signal);--ring-width: 2px;--ring-offset: 2px;--container: 1100px;--container-narrow: 760px;--container-wide: 1400px;--gutter: clamp(1.25rem, 4vw, 4rem);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-snap: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .36s;--z-base: 1;--z-sticky: 100;--z-overlay: 800;--z-modal: 900;--z-toast: 1000}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);letter-spacing:var(--tracking-snug);margin:0}p{margin:0;text-wrap:pretty}a{color:var(--text-link);text-decoration-thickness:2px;text-underline-offset:2px}:focus-visible{outline:var(--ring-width) solid var(--focus-ring);outline-offset:var(--ring-offset)}::selection{background:var(--volt);color:var(--ink)}img{max-width:100%;display:block}button{font-family:inherit}hr{border:0;border-top:var(--border-1) solid var(--border);margin:var(--space-6) 0}code,kbd,samp{font-family:var(--font-mono);font-size:.92em}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--weight-semibold);line-height:1;letter-spacing:-.005em;border:var(--border-2) solid transparent;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.sp-btn--sm{padding:8px 14px;font-size:var(--text-sm)}.sp-btn--md{padding:11px 18px;font-size:var(--text-base)}.sp-btn--lg{padding:15px 24px;font-size:var(--text-lg)}.sp-btn--primary{background:var(--signal);color:var(--text-on-signal);border-color:var(--ink);box-shadow:var(--shadow-block-sm)}.sp-btn--primary:hover{background:var(--signal-bright)}.sp-btn--primary:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}.sp-btn--secondary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.sp-btn--secondary:hover{background:var(--ink-soft)}.sp-btn--secondary:active{transform:translateY(1px)}.sp-btn--outline{background:transparent;color:var(--ink);border-color:var(--ink)}.sp-btn--outline:hover{background:var(--ink);color:var(--paper)}.sp-btn--outline:active{transform:translateY(1px)}.sp-btn--ghost{background:transparent;color:var(--ink);border-color:transparent}.sp-btn--ghost:hover{background:var(--paper-sunk)}.sp-btn--volt{background:var(--volt);color:var(--ink);border-color:var(--ink);box-shadow:var(--shadow-block-sm)}.sp-btn--volt:hover{background:var(--volt-deep)}.sp-btn--volt:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}.sp-btn[disabled],.sp-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.sp-btn--block{width:100%}.sp-iconbtn{display:inline-grid;place-items:center;padding:0;border:var(--border-2) solid transparent;border-radius:var(--radius-md);cursor:pointer;background:transparent;color:var(--ink);transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.sp-iconbtn--sm{width:32px;height:32px}.sp-iconbtn--md{width:40px;height:40px}.sp-iconbtn--lg{width:48px;height:48px}.sp-iconbtn--ghost:hover{background:var(--paper-sunk)}.sp-iconbtn--outline{border-color:var(--ink)}.sp-iconbtn--outline:hover{background:var(--ink);color:var(--paper)}.sp-iconbtn--solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.sp-iconbtn--solid:hover{background:var(--ink-soft)}.sp-iconbtn[disabled]{opacity:.45;cursor:not-allowed}.sp-tag{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.04em;padding:3px 10px;border-radius:var(--radius-pill);text-transform:capitalize;border:var(--border-1) solid transparent;white-space:nowrap}.sp-tag--neutral{background:var(--paper-raised);color:var(--text-muted);border-color:var(--border)}.sp-tag--signal{background:var(--signal-tint);color:var(--signal-deep)}.sp-tag--volt{background:var(--volt-tint);color:var(--volt-deep)}.sp-tag--ink{background:var(--ink);color:var(--paper)}.sp-tag--outline{background:transparent;color:var(--ink);border-color:var(--ink)}.sp-tag--success{background:var(--success-tint);color:var(--success)}.sp-tag--warning{background:var(--warning-tint);color:var(--warning)}.sp-tag--danger{background:var(--danger-tint);color:var(--danger)}.sp-tag--sand{background:var(--sand-tint);color:var(--sand-deep);border-color:color-mix(in srgb,var(--sand) 55%,transparent)}.sp-tag--rose{background:var(--rose-tint);color:var(--rose-deep);border-color:color-mix(in srgb,var(--rose) 55%,transparent)}.sp-tag--steel{background:var(--steel-tint);color:var(--steel-deep);border-color:color-mix(in srgb,var(--steel) 60%,transparent)}.sp-tag--sky{background:var(--sky-tint);color:var(--sky-deep);border-color:color-mix(in srgb,var(--sky) 70%,transparent)}.sp-tag__dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.sp-tag--sticker{border-radius:var(--radius-sm);border-width:var(--border-2);border-color:var(--ink);text-transform:uppercase;font-weight:var(--weight-semibold);letter-spacing:.1em;padding:5px 11px;box-shadow:var(--shadow-block-sm)}.sp-card{background:var(--surface-card);border:var(--border-1) solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6)}.sp-card--block{border:var(--border-2) solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-block)}.sp-card--flat{box-shadow:none}.sp-card--ink{background:var(--ink);color:var(--paper);border-color:var(--ink)}.sp-card--ink .sp-card__title{color:var(--paper)}.sp-card--pad-sm{padding:var(--space-4)}.sp-card--pad-lg{padding:var(--space-8)}.sp-card--interactive{transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);cursor:pointer}.sp-card--interactive:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.sp-card--block.sp-card--interactive:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}.sp-avatar{display:inline-block;overflow:hidden;flex:none;background:var(--paper-sunk);border-radius:var(--radius-md);object-fit:cover}.sp-avatar--circle{border-radius:var(--radius-pill)}.sp-avatar--ring{border:var(--border-2) solid var(--ink)}.sp-avatar--xs{width:28px;height:28px}.sp-avatar--sm{width:40px;height:40px}.sp-avatar--md{width:56px;height:56px}.sp-avatar--lg{width:88px;height:88px}.sp-avatar--xl{width:140px;height:140px}.sp-avatar__fallback{width:100%;height:100%;display:grid;place-items:center;font-family:var(--font-mono);font-weight:600;color:var(--ink);background:var(--volt)}.sp-kicker-line{display:inline-flex;align-items:center;gap:var(--space-3)}.sp-kicker-line:before{content:"";width:22px;height:2px;background:var(--signal);flex:none}.sp-field{display:flex;flex-direction:column;gap:var(--space-2)}.sp-field__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.sp-input,.sp-textarea{font-family:var(--font-sans);font-size:var(--text-base);color:var(--ink);background:var(--paper-raised);border:var(--border-2) solid var(--border);border-radius:var(--radius-md);padding:11px 14px;width:100%;transition:border-color var(--dur-fast) var(--ease-out)}.sp-input::placeholder,.sp-textarea::placeholder{color:var(--text-faint)}.sp-input:focus,.sp-textarea:focus{outline:none;border-color:var(--ink)}.sp-input--invalid,.sp-textarea--invalid{border-color:var(--danger)}.sp-textarea{resize:vertical;min-height:96px;line-height:1.5}.sp-field__hint{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-faint)}.sp-field__hint--error{color:var(--danger)}.sp-rule{display:flex;align-items:center;gap:var(--space-4)}.sp-rule:before,.sp-rule:after{content:"";height:1px;background:var(--border);flex:1}.sp-rule__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}:root{--rail-w: clamp(380px, 36vw, 580px);scroll-behavior:smooth}.wrap{width:var(--container);max-width:100vw;margin:0 auto;padding-inline:var(--gutter)}.wrap--narrow{max-width:var(--container-narrow)}@media(max-width:680px){:root{--rail-w: 100vw}.site--pushed{margin-right:0}}.site[data-astro-cid-dvd4rbgi]{background:var(--paper);color:var(--text-body);min-height:100vh;transition:margin-right .46s cubic-bezier(.22,.61,.36,1)}.site--pushed[data-astro-cid-dvd4rbgi]{margin-right:var(--rail-w)}.rail[data-astro-cid-dvd4rbgi]{position:fixed;top:0;right:0;height:100vh;width:var(--rail-w);background:var(--paper-raised);border-left:3px solid var(--ink);box-shadow:-24px 0 60px #30525c29;display:flex;flex-direction:column;z-index:var(--z-modal);transform:translate(100%);transition:transform .46s cubic-bezier(.22,.61,.36,1)}.rail[data-astro-cid-dvd4rbgi][data-open=true]{transform:translate(0)}.rail__bar[data-astro-cid-dvd4rbgi]{display:flex;align-items:center;justify-content:space-between;flex:none;height:70px;padding:0 18px 0 clamp(22px,2.5vw,36px);border-bottom:2px solid var(--ink);background:var(--paper);box-sizing:content-box}.rail__eyebrow[data-astro-cid-dvd4rbgi]{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.rail__close[data-astro-cid-dvd4rbgi]{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.rail__close[data-astro-cid-dvd4rbgi]:hover{background:var(--ink);color:var(--paper)}.rail__scroll[data-astro-cid-dvd4rbgi]{flex:1;overflow-y:auto;overscroll-behavior:contain}
