@font-face{font-family:archivo;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/fonts/archivo-var.woff2)format("woff2-variations")}@font-face{font-family:martian mono;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/martian-mono-var.woff2)format("woff2-variations")}:root{--ground:#1A35C9;--accent:#FF6A3D;--ink:#0A0F2C;--paper:#F2F3F6;--text:#2B3150;--muted:#4A5068;--soft:#D3D8EC;--label:#AEB6D6;--wrap:1240px;--gutter:clamp(20px, 5vw, 56px);--section:clamp(64px, 9vw, 120px);--sans:"Archivo", system-ui, sans-serif;--mono:"Martian Mono", ui-monospace, monospace}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}a{color:inherit}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}img{max-width:100%;height:auto}.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}.skip{position:absolute;left:-9999px;top:0;padding:12px 16px;background:var(--accent);color:var(--ink);font-weight:700;z-index:10}.skip:focus{left:16px;top:16px}.label{margin:0;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.display{margin:0;font-weight:900;font-stretch:125%;line-height:1;letter-spacing:-.03em;font-size:clamp(36px,5vw,64px)}.star{color:var(--accent)}.btn{display:inline-block;text-decoration:none;font-weight:800;font-size:16px;padding:16px 26px;background:var(--accent);color:var(--ink);border:2px solid var(--accent)}.btn:hover{background:#fff;border-color:#fff;color:var(--ink)}.btn-ghost{background:0 0;border-color:#fff;color:#fff}.btn-ghost:hover{background:#fff;color:var(--ink)}.band{background-color:var(--ground);background-image:linear-gradient(rgba(255,255,255,9%) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,9%) 1px,transparent 1px);background-size:48px 48px;color:#fff}.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-block:28px}.logo{display:flex;align-items:stretch;text-decoration:none;color:#fff;border:2px solid #fff}.logo:hover{color:#fff}.logo-mark{font-weight:900;font-stretch:125%;font-size:22px;letter-spacing:-.02em;padding:8px 12px;background:#fff;color:var(--ground)}.logo-word{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:0 12px;display:flex;align-items:center}.menu{display:flex;flex-wrap:wrap;align-items:center;gap:4px 28px;margin:0;padding:0;list-style:none;font-family:var(--mono);font-size:13px;letter-spacing:.04em}.menu a{display:inline-block;text-decoration:none;padding:12px 0}.menu a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.menu .menu-cta{padding:12px 18px;background:var(--accent);color:var(--ink);font-weight:700}.menu .menu-cta:hover{background:#fff;color:var(--ink)}.hero{display:flex;flex-wrap:wrap;align-items:center;gap:48px 80px;padding-top:clamp(48px,8vw,112px);padding-bottom:clamp(64px,9vw,128px)}.hero-copy{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:28px;container-type:inline-size}.hero .label,.page-head .label{color:rgba(255,255,255,.82)}.hero h1{margin:0;font-weight:900;font-stretch:125%;font-size:clamp(44px,14.5cqi,128px);line-height:.92;letter-spacing:-.035em}.footnote{margin:0;font-family:var(--mono);font-size:14px;color:rgba(255,255,255,.86)}.intro{margin:0;max-width:560px;font-size:20px;line-height:1.5}.actions{display:flex;flex-wrap:wrap;gap:14px;padding-top:8px}.flow-wrap{flex:1 1 340px;min-width:0;max-width:420px}.flow-list{margin:0;padding:0;list-style:none}.flow-label{margin-bottom:14px}.flow-step{background:var(--ink);border:1px solid rgba(255,255,255,.22);padding:16px 18px;display:flex;gap:14px;align-items:center}.flow-step+.flow-step{margin-top:28px;position:relative}.flow-step+.flow-step::before{content:"";position:absolute;left:32px;top:-29px;width:2px;height:28px;background:#fff}.flow-num{font-family:var(--mono);font-size:11px;font-weight:700;padding:4px 8px;background:#fff;color:var(--ink)}.flow-step:first-child .flow-num{background:var(--accent)}.flow-kind{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--label);margin-bottom:4px}.flow-text{font-size:17px;font-weight:700}.flow-status{margin:14px 0 0;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px}.dot{width:10px;height:10px;border-radius:50%;background:var(--accent);flex:none}.section{padding-block:var(--section)}.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px}.section-head .display{max-width:720px}.cards{display:flex;flex-wrap:wrap;gap:24px}.card{flex:1 1 250px;min-width:0;border-top:6px solid var(--ink);padding-top:22px;display:flex;flex-direction:column;gap:14px}.card:last-child{border-top-color:var(--accent)}.card-num{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--ground)}.card h3{margin:0;font-size:28px;font-weight:800;letter-spacing:-.01em}.card p{margin:0;font-size:17px;line-height:1.55;color:var(--text)}.card .examples{font-family:var(--mono);font-size:12px;line-height:1.7;color:var(--muted)}.dark{background:var(--ink);color:#fff}.dark .label{color:var(--label)}.dark .display{margin:18px 0 64px;max-width:820px}.steps{display:flex;flex-wrap:wrap;gap:2px;background:rgba(255,255,255,.16);margin:0;padding:0;list-style:none}.step{flex:1 1 280px;min-width:0;background:var(--ink);padding:32px 28px 36px;display:flex;flex-direction:column;gap:16px}.step:first-child{padding-left:0}.step-num{font-weight:900;font-stretch:125%;font-size:72px;line-height:1;color:var(--accent)}.step h3{margin:0;font-size:26px;font-weight:800}.step p{margin:0;font-size:17px;line-height:1.55;color:var(--soft)}@media(max-width:640px){.step{padding-left:0}}.about{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}.about-mark{flex:none}.about-mark .big{margin:18px 0 0;font-weight:900;font-stretch:125%;font-size:clamp(72px,10vw,140px);line-height:.85;letter-spacing:-.05em;white-space:nowrap;color:var(--ground)}.about-copy{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:22px;padding-top:8px}.about-copy .lead{margin:0;font-size:clamp(22px,2.4vw,30px);line-height:1.35;font-weight:600;letter-spacing:-.01em}.about-copy p{margin:0;font-size:18px;line-height:1.6;color:var(--text)}.contact{background:var(--accent);color:var(--ink)}.contact .inner{display:flex;flex-direction:column;gap:28px}.contact .label{color:var(--ink);font-weight:700}.contact .display{font-size:clamp(36px,5.4vw,72px);max-width:900px}.contact p.text{margin:0;font-size:20px;line-height:1.5;max-width:620px}.human{margin:0;align-self:flex-start;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--ink);color:#fff;font-family:var(--mono);font-size:13px;letter-spacing:.02em}.mail{align-self:flex-start;text-decoration:none;font-weight:800;font-stretch:112%;font-size:clamp(24px,3.6vw,48px);letter-spacing:-.02em;border-bottom:4px solid var(--ink);padding-bottom:6px;overflow-wrap:anywhere}.contact a:hover{color:#fff;border-color:#fff}.footer{background:var(--ink);color:var(--soft)}.footer .inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:32px;font-family:var(--mono);font-size:12px}.footer ul{display:flex;flex-wrap:wrap;gap:24px;margin:0;padding:0;list-style:none}.footer a{display:inline-block;text-decoration:none;padding:12px 0}.page-head{padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(56px,7vw,96px);display:flex;flex-direction:column;gap:22px}.page-head h1{margin:0;font-weight:900;font-stretch:125%;font-size:clamp(48px,7vw,104px);line-height:.95;letter-spacing:-.035em;max-width:1e3px}.page-head .intro{color:#fff}.meta{margin:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-family:var(--mono);font-size:13px;color:rgba(255,255,255,.86)}.posts{margin:0;padding:0;list-style:none}.post-row{display:flex;flex-wrap:wrap;gap:12px 48px;padding-block:36px;border-top:2px solid var(--ink)}.post-row:last-child{border-bottom:2px solid var(--ink)}.post-row time{flex:0 0 160px;font-family:var(--mono);font-size:13px;color:var(--muted);padding-top:8px}.post-row .body{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:12px}.post-row h2{margin:0;font-size:clamp(26px,3vw,38px);font-weight:800;letter-spacing:-.02em;line-height:1.1}.post-row h2 a{text-decoration:none}.post-row p{margin:0;font-size:18px;line-height:1.55;color:var(--text);max-width:760px}.more{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--ground)}.empty{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding-block:48px;font-size:20px;line-height:1.5;max-width:760px}.pager{display:flex;justify-content:space-between;gap:16px;margin-top:40px;font-family:var(--mono);font-size:13px}.pager a{display:inline-block;padding:12px 0}.article{max-width:760px;font-size:19px;line-height:1.7;color:var(--text)}.article>:first-child{margin-top:0}.article h2,.article h3{color:var(--ink);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:2em 0 .6em}.article h2{font-size:34px;font-stretch:112%}.article h3{font-size:26px}.article p,.article ul,.article ol{margin:0 0 1.2em}.article li+li{margin-top:.4em}.article a{color:var(--ground);text-underline-offset:3px}.article a:hover{color:var(--ink)}.article blockquote{margin:1.6em 0;padding:4px 0 4px 24px;border-left:6px solid var(--accent);font-size:22px;color:var(--ink)}.article code{font-family:var(--mono);font-size:.82em;background:#e2e5ee;padding:2px 6px}.article pre{font-family:var(--mono);font-size:14px;line-height:1.6;padding:20px 24px;overflow-x:auto;background:var(--ink)!important;color:#fff;margin:1.6em 0}.article pre code{background:0 0;padding:0;font-size:inherit}.article img{display:block;margin:1.6em 0}.article hr{border:0;border-top:2px solid var(--ink);margin:2.4em 0}.article table{border-collapse:collapse;width:100%;font-size:16px;display:block;overflow-x:auto}.article th,.article td{text-align:left;padding:10px 12px;border-bottom:1px solid #c9cedd}.back{display:inline-block;margin-top:56px;font-family:var(--mono);font-size:13px;font-weight:700;padding:12px 0;color:var(--ground)}.page-head h1.post-title{font-size:clamp(40px,5.6vw,84px);line-height:1}