:root{--paper: #F6F8FB;--sheet: #FFFFFF;--ink: #101C33;--muted: #5B687F;--blue: #2247CE;--blue-dk: #16319B;--redline: #DD4A12;--line: #D9E0EC;--line-dk: #B9C4D6;--font-display: "Archivo", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace;--maxw: 1140px;--pad: clamp(20px, 4vw, 48px)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}.callout{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}.callout:before{content:"// ";color:var(--line-dk)}.nav{position:sticky;top:0;z-index:50;background:#f6f8fbeb;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;gap:32px;height:64px}.wordmark{font-family:var(--font-display);font-weight:800;font-size:21px;letter-spacing:-.01em;text-decoration:none;display:flex;align-items:center;gap:9px}.wordmark svg{display:block}.nav-links{display:flex;gap:26px;margin-left:12px}.nav-links a{text-decoration:none;font-size:15px;font-weight:500;color:var(--muted)}.nav-links a:hover{color:var(--ink)}.nav-spacer{flex:1}.nav-gh{text-decoration:none;font-size:15px;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:7px}.nav-gh:hover{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;padding:10px 20px;border-radius:4px;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dk)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-dk)}.btn-ghost:hover{border-color:var(--ink)}.btn-plain{background:transparent;color:var(--blue);padding-left:8px;padding-right:8px}.btn-plain:hover{color:var(--blue-dk)}footer{background:var(--sheet);border-top:1px solid var(--line);padding-top:56px;padding-bottom:40px}.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:32px}.foot-grid .wordmark{font-size:18px}.foot-tag{font-size:14px;color:var(--muted);margin-top:12px;max-width:30ch}.foot-col h4{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.foot-col a{display:block;text-decoration:none;font-size:15px;color:var(--ink);padding:4px 0}.foot-col a:hover{color:var(--blue)}.foot-base{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.06em}.nav-menu-btn{display:none;align-items:center;justify-content:center;background:none;border:1px solid var(--line-dk);border-radius:4px;padding:8px 10px;cursor:pointer;color:var(--ink);transition:border-color .15s ease,color .15s ease}.nav-menu-btn:hover{border-color:var(--ink)}.nav-menu-btn .icon-close,.nav-menu-btn[aria-expanded=true] .icon-open{display:none}.nav-menu-btn[aria-expanded=true] .icon-close{display:block}.mobile-nav{border-top:1px solid var(--line);background:#f6f8fbfa;backdrop-filter:blur(8px)}.mobile-nav-inner{display:flex;flex-direction:column;padding-top:8px;padding-bottom:20px}.mobile-nav-inner a:not(.btn){display:block;text-decoration:none;font-size:15px;font-weight:500;color:var(--ink);padding:13px 0;border-bottom:1px solid var(--line)}.mobile-nav-inner a:not(.btn):hover{color:var(--blue)}.mobile-nav-cta{margin-top:20px;align-self:flex-start}@media(max-width:680px){.nav-links,.nav-gh,.nav-cta{display:none}.nav-menu-btn{display:flex}.foot-grid{grid-template-columns:1fr 1fr}}@media(max-width:440px){.foot-grid{grid-template-columns:1fr}}
