.article-page.svelte-o4vcic{background:var(--paper);min-height:100vh;color:var(--ink);padding:4rem 1.5rem 6rem}.article-header.svelte-o4vcic,.content.svelte-o4vcic{width:min(100%,820px);margin:0 auto}.article-header.svelte-o4vcic{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:4rem;display:flex}.back-link.svelte-o4vcic{color:var(--ink);font:.75rem var(--mono);text-decoration:none}.back-link.svelte-o4vcic:hover{color:var(--blue)}.eyebrow.svelte-o4vcic{color:var(--blue);font:.75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0}.prose.svelte-o4vcic{font-size:1.05rem;line-height:1.8}.prose.svelte-o4vcic h1{max-width:760px;color:var(--ink);font:700 clamp(2rem, 5vw, 3.5rem)/1.2 var(--sans);letter-spacing:-.03em;margin:0 0 2rem}.prose.svelte-o4vcic h2{color:var(--ink);font:650 1.8rem/1.35 var(--sans);letter-spacing:-.02em;margin:3.5rem 0 1rem}.prose.svelte-o4vcic h3{color:var(--ink);margin:2rem 0 .75rem;font-size:1.35rem}.prose.svelte-o4vcic p{color:var(--muted);margin:0 0 1.2rem}.prose.svelte-o4vcic a{color:var(--blue);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.prose.svelte-o4vcic a:hover{color:var(--ink)}.prose.svelte-o4vcic img{object-fit:contain;object-position:left;border-radius:0;width:auto;max-width:100%;max-height:22rem;margin:2rem 0;display:block}.prose.svelte-o4vcic pre{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:.9rem/1.7 var(--mono);border-radius:0;margin:2rem 0;padding:1.25rem;overflow-x:auto}.prose.svelte-o4vcic code{background:var(--surface);color:var(--ink);font:.85em var(--mono);border-radius:.25rem;padding:.15rem .35rem}.prose.svelte-o4vcic pre code{color:inherit;background:0 0;padding:0}.prose.svelte-o4vcic blockquote{border-left:3px solid var(--blue);color:var(--muted);margin:2rem 0;padding:.75rem 0 .75rem 1.25rem;font-size:1.15rem}.prose.svelte-o4vcic ul,.prose.svelte-o4vcic ol{color:var(--muted);padding-left:1.5rem}.prose.svelte-o4vcic hr{border:0;border-top:1px solid var(--line);margin:3rem 0}.loading.svelte-o4vcic{color:var(--muted)}.loading.svelte-o4vcic span:where(.svelte-o4vcic){color:var(--blue)}@media (width<=600px){.article-page.svelte-o4vcic{padding-top:7rem}.article-header.svelte-o4vcic{flex-direction:column-reverse;align-items:flex-start;margin-bottom:3rem}.prose.svelte-o4vcic{font-size:1.05rem}}.note.svelte-1vsw75a{border-top:1px solid var(--line);grid-template-columns:45px 80px 1fr 40px;align-items:center;gap:2rem;padding:2rem 0;text-decoration:none;display:grid}.note.svelte-1vsw75a:last-child{border-bottom:1px solid var(--line)}.number.svelte-1vsw75a{font:.75rem var(--mono);color:var(--blue)}img.svelte-1vsw75a{object-fit:contain;filter:grayscale();width:65px;height:65px;transition:filter .18s}h2.svelte-1vsw75a{font:650 1.4rem/1.4 var(--sans);letter-spacing:-.02em;margin:0 0 .8rem}p.svelte-1vsw75a{max-width:560px;color:var(--muted);margin:0;font-size:1rem;line-height:1.8}.arrow.svelte-1vsw75a{color:var(--blue);font-size:1.8rem;transition:transform .18s}.note.svelte-1vsw75a:hover h2:where(.svelte-1vsw75a){color:var(--blue)}.note.svelte-1vsw75a:hover img:where(.svelte-1vsw75a){filter:grayscale(0)}.note.svelte-1vsw75a:hover .arrow:where(.svelte-1vsw75a){transform:translate(3px,-3px)}@media (width<=600px){.note.svelte-1vsw75a{grid-template-columns:25px 1fr 25px;gap:1rem}img.svelte-1vsw75a{display:none}h2.svelte-1vsw75a{font-size:1.25rem}}.container.svelte-18hs0n6{max-width:1600px;min-height:calc(100vh - 86px);margin:auto;padding:4rem 4.5%}header.svelte-18hs0n6{max-width:850px;margin-bottom:4rem}.eyebrow.svelte-18hs0n6,.list-heading.svelte-18hs0n6{font:.75rem/1.6 var(--mono);letter-spacing:.05em;color:var(--blue)}h1.svelte-18hs0n6{font:700 clamp(2.25rem, 5vw, 4rem)/1.2 var(--sans);letter-spacing:-.035em;margin:2rem 0}h1.svelte-18hs0n6 .accent:where(.svelte-18hs0n6){font-weight:inherit;color:var(--blue)}.intro.svelte-18hs0n6{max-width:420px;color:var(--muted);font-size:1.05rem;line-height:1.8}.list-heading.svelte-18hs0n6{justify-content:space-between;margin-bottom:1rem;display:flex}.endnote.svelte-18hs0n6{font:400 1rem/1.6 var(--sans);color:var(--muted);margin-top:3rem}@media (width<=600px){.container.svelte-18hs0n6{padding-top:3rem}}.about.svelte-tkgy61{grid-template-columns:2fr 1fr;align-items:end;gap:4rem;display:grid}.label.svelte-tkgy61{font:.75rem/1.5 var(--mono);letter-spacing:.05em;color:var(--muted);margin:0 0 2rem}h2.svelte-tkgy61{font:650 clamp(2rem, 4vw, 3.5rem)/1.2 var(--sans);letter-spacing:-.025em;margin:0 0 2.5rem}.email.svelte-tkgy61{border-bottom:1px solid var(--blue);gap:2rem;padding-bottom:.75rem;font-size:clamp(.9rem,1.7vw,1.3rem);text-decoration:none;display:inline-flex}.email.svelte-tkgy61:hover{border-color:var(--ink)}.elsewhere.svelte-tkgy61>a:where(.svelte-tkgy61){border-bottom:1px solid var(--line);justify-content:space-between;padding:1.1rem 0;font-size:1rem;text-decoration:none;display:flex}.elsewhere.svelte-tkgy61>a:where(.svelte-tkgy61):hover span:where(.svelte-tkgy61){transform:translate(3px,-3px)}.elsewhere.svelte-tkgy61>a:where(.svelte-tkgy61) span:where(.svelte-tkgy61){transition:transform .15s}@media (width<=700px){.about.svelte-tkgy61{grid-template-columns:1fr;gap:3rem}.elsewhere.svelte-tkgy61{width:100%;max-width:400px}h2.svelte-tkgy61{font-size:2.25rem}.email.svelte-tkgy61{gap:1rem}}dl.svelte-13z2lmv{align-self:center;margin:0}dl.svelte-13z2lmv>div:where(.svelte-13z2lmv){border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:1rem;padding:1.1rem 0;display:grid}dl.svelte-13z2lmv>div:where(.svelte-13z2lmv):first-child{border-top:1px solid var(--line)}dt.svelte-13z2lmv{font:.75rem/1.8 var(--mono);color:var(--muted);text-transform:uppercase}dd.svelte-13z2lmv{margin:0;font-size:1rem;line-height:1.6}@media (width<=800px){dl.svelte-13z2lmv>div:where(.svelte-13z2lmv){grid-template-columns:115px 1fr}}@media (width<=380px){dl.svelte-13z2lmv>div:where(.svelte-13z2lmv){grid-template-columns:1fr;gap:.75rem}}article.svelte-xbsx9t{border-top:1px solid var(--line);grid-template-columns:40px 1fr 1.25fr .85fr;align-items:baseline;gap:1.8rem;padding:2rem 0;display:grid}article.svelte-xbsx9t:last-child{border-bottom:1px solid var(--line)}.number.svelte-xbsx9t{font:.75rem var(--mono);color:var(--blue)}h3.svelte-xbsx9t{font:650 1.25rem/1.4 var(--sans);letter-spacing:-.02em;margin:0}p.svelte-xbsx9t{color:var(--muted);max-width:350px;margin:0;font-size:1rem;line-height:1.8}.stack.svelte-xbsx9t{font:.75rem/1.8 var(--mono);color:var(--blue);justify-self:end}@media (width<=1000px){article.svelte-xbsx9t{grid-template-columns:30px 1fr 1.2fr;gap:1rem}.stack.svelte-xbsx9t{grid-column:3;justify-self:start}}@media (width<=600px){article.svelte-xbsx9t{grid-template-columns:25px 1fr;gap:.8rem;padding:1.5rem 0}h3.svelte-xbsx9t{font-size:1.25rem}p.svelte-xbsx9t,.stack.svelte-xbsx9t{grid-column:2}p.svelte-xbsx9t{max-width:none}}main.svelte-1yxb1d1{max-width:1600px;margin:auto;padding:0 4.5%}.hero.svelte-1yxb1d1{padding-top:1.7rem}.hero-meta.svelte-1yxb1d1,.hero-bottom.svelte-1yxb1d1{font:.75rem/1.6 var(--mono);letter-spacing:.04em;justify-content:space-between;gap:1rem;display:flex}.hero-meta.svelte-1yxb1d1{color:var(--muted)}.dot.svelte-1yxb1d1{color:var(--blue);margin-left:.75rem;font-size:.75rem}.hero-layout.svelte-1yxb1d1{grid-template-columns:1fr 300px;align-items:center;gap:4rem;padding:5.5rem 0 6rem;display:grid}.hello.svelte-1yxb1d1{margin:0 0 1.5rem;font-size:1rem}h1.svelte-1yxb1d1{font:700 clamp(2.25rem, 3.8vw, 4rem)/1.2 var(--sans);letter-spacing:-.035em;margin:0}h1.svelte-1yxb1d1 .accent:where(.svelte-1yxb1d1){color:var(--blue);font-weight:inherit}.intro-row.svelte-1yxb1d1{gap:1.5rem;margin-top:2.5rem;display:flex}.intro-marker.svelte-1yxb1d1{color:var(--blue);font-size:2rem;line-height:1}.intro.svelte-1yxb1d1{max-width:480px;color:var(--muted);margin:0 0 1.5rem;font-size:1.05rem;line-height:1.75}.text-link.svelte-1yxb1d1{border-bottom:1px solid var(--line);align-items:center;gap:2rem;padding:.75rem 0;font-size:1rem;text-decoration:none;display:inline-flex}.text-link.svelte-1yxb1d1:hover{color:var(--blue);border-color:var(--blue)}.system-note.svelte-1yxb1d1{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:1.2rem 1.4rem .8rem}.note-heading.svelte-1yxb1d1,.note-footer.svelte-1yxb1d1{font:.75rem var(--mono);letter-spacing:.03em;flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.note-heading.svelte-1yxb1d1{border-bottom:1px solid var(--line);padding-bottom:1rem}.system-diagram.svelte-1yxb1d1{padding:1.8rem 0 0}.system-layer.svelte-1yxb1d1{border:1px solid var(--line);font:600 1.1rem/1.4 var(--sans);background:var(--raised);padding:.8rem .75rem}.system-layer.svelte-1yxb1d1>span:where(.svelte-1yxb1d1){font:.75rem var(--mono);vertical-align:middle;color:var(--muted);margin-right:.75rem}.system-layer.svelte-1yxb1d1 small:where(.svelte-1yxb1d1){font:.75rem var(--mono);color:var(--muted);margin:.75rem 0 0 1.55rem;display:block}.service.svelte-1yxb1d1{border-color:var(--blue);color:var(--blue);margin:0 .75rem}.data.svelte-1yxb1d1{margin:0 1.4rem}.connector.svelte-1yxb1d1{height:1.7rem;color:var(--muted);justify-content:center;align-items:center;gap:.75rem;display:flex}.connector.svelte-1yxb1d1 span:where(.svelte-1yxb1d1){font:.75rem var(--mono)}.hand-note.svelte-1yxb1d1{font:500 1rem/1.6 var(--sans);text-align:center;color:var(--blue);margin:1.4rem 0}.note-footer.svelte-1yxb1d1{border-top:1px solid var(--line);color:var(--muted);padding-top:.8rem}.hero-bottom.svelte-1yxb1d1{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;padding:1.3rem 0}.hero-bottom.svelte-1yxb1d1 a:where(.svelte-1yxb1d1){text-decoration:none}.hero-bottom.svelte-1yxb1d1 a:where(.svelte-1yxb1d1):hover{color:var(--blue)}.hero-bottom.svelte-1yxb1d1 a:where(.svelte-1yxb1d1) span:where(.svelte-1yxb1d1){margin-left:1.5rem}.slash.svelte-1yxb1d1{color:var(--blue);margin:0 .8rem}.practice.svelte-1yxb1d1{padding:5rem 0}.section-top.svelte-1yxb1d1{justify-content:space-between;align-items:flex-start;display:flex}.index.svelte-1yxb1d1{font:.75rem/1.5 var(--mono);letter-spacing:.05em;color:var(--blue)}.section-top.svelte-1yxb1d1 p:where(.svelte-1yxb1d1){color:var(--muted);margin:0;font-size:.9rem;line-height:1.6}h2.svelte-1yxb1d1{font:650 clamp(1.8rem, 3vw, 2.75rem)/1.25 var(--sans);letter-spacing:-.025em;margin:2rem 0 3rem}.profile.svelte-1yxb1d1{grid-template-columns:1fr 1.4fr;gap:5rem;padding-top:5rem;display:grid}.profile.svelte-1yxb1d1 h3:where(.svelte-1yxb1d1){font:650 1.8rem/1.3 var(--sans);margin:1.5rem 0}.profile-title.svelte-1yxb1d1>p:where(.svelte-1yxb1d1){max-width:300px;color:var(--muted);font-size:1rem;line-height:1.75}.notes-preview.svelte-1yxb1d1{border-top:1px solid var(--line);grid-template-columns:1fr 2fr auto;align-items:start;gap:2rem;padding:2.5rem 0 4rem;display:grid}.notes-preview.svelte-1yxb1d1 h2:where(.svelte-1yxb1d1){margin:0 0 1rem;font-size:1.8rem}.notes-preview.svelte-1yxb1d1 p:where(.svelte-1yxb1d1){color:var(--muted);margin:0;font-size:1rem;line-height:1.75}.notes-preview.svelte-1yxb1d1 .text-link:where(.svelte-1yxb1d1){margin-top:.75rem}.contact.svelte-1yxb1d1{background:var(--contact);color:var(--ink);border-top:1px solid var(--line);margin:0 -4.945%;padding:4.5rem 4.945%}footer.svelte-1yxb1d1{font:.75rem/1.5 var(--mono);color:var(--muted);justify-content:space-between;gap:1rem;padding:1.5rem 0;display:flex}footer.svelte-1yxb1d1 a:where(.svelte-1yxb1d1){color:var(--ink);text-decoration:none}footer.svelte-1yxb1d1 a:where(.svelte-1yxb1d1) span:where(.svelte-1yxb1d1){margin-left:.75rem}@media (width>=1600px){.contact.svelte-1yxb1d1{margin-left:0;margin-right:0}}@media (width<=1000px){.hero-layout.svelte-1yxb1d1{grid-template-columns:1fr 250px;gap:2rem}h1.svelte-1yxb1d1{font-size:clamp(2rem,3.8vw,3rem)}.profile.svelte-1yxb1d1{gap:2rem}.notes-preview.svelte-1yxb1d1{grid-template-columns:1fr 2fr}.notes-preview.svelte-1yxb1d1 .text-link:where(.svelte-1yxb1d1){grid-column:2;justify-self:start}}@media (width<=700px){.hero-meta.svelte-1yxb1d1{font-size:.75rem}.hero-meta.svelte-1yxb1d1>span:where(.svelte-1yxb1d1):first-child{max-width:150px}.hero-layout.svelte-1yxb1d1{grid-template-columns:1fr;gap:3rem;padding:3.5rem 0 3rem}h1.svelte-1yxb1d1{font-size:clamp(2rem,6.5vw,2.75rem)}.system-note.svelte-1yxb1d1{justify-self:center;width:min(100%,320px)}.hero-bottom.svelte-1yxb1d1{font-size:.75rem}.hero-bottom.svelte-1yxb1d1>span:where(.svelte-1yxb1d1){max-width:180px}.hero-bottom.svelte-1yxb1d1 a:where(.svelte-1yxb1d1) span:where(.svelte-1yxb1d1){margin-left:.75rem}.practice.svelte-1yxb1d1{padding:3.5rem 0}.section-top.svelte-1yxb1d1 p:where(.svelte-1yxb1d1){font-size:.85rem}.profile.svelte-1yxb1d1{grid-template-columns:1fr;gap:1.5rem;padding-top:3rem}.profile-title.svelte-1yxb1d1>p:where(.svelte-1yxb1d1){max-width:440px}.notes-preview.svelte-1yxb1d1{grid-template-columns:1fr;gap:1.5rem}.notes-preview.svelte-1yxb1d1 .text-link:where(.svelte-1yxb1d1){grid-column:1}.contact.svelte-1yxb1d1{padding-top:3rem;padding-bottom:3rem}footer.svelte-1yxb1d1{flex-wrap:wrap}footer.svelte-1yxb1d1>span:where(.svelte-1yxb1d1):last-child{width:100%}}*{box-sizing:border-box}:root{--paper:#151b24;--surface:#1d2633;--raised:#253142;--ink:#e2e8f0;--muted:#acb9ca;--blue:#8bb4f8;--line:#3c495b;--contact:#1b2b43;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Consolas, monospace}html{background:var(--paper);scroll-behavior:smooth;scroll-padding-top:6rem;font-size:112.5%}body{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}::selection{background:var(--blue);color:var(--paper)}a{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:6px}#main-content:focus{outline:none}nav.svelte-1n46o8q{z-index:100;border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:1.5rem;height:86px;margin:0 4.5%;display:flex;position:sticky;top:0}.wordmark.svelte-1n46o8q{font:700 2rem var(--sans);letter-spacing:-.045em;line-height:1;text-decoration:none}.wordmark.svelte-1n46o8q span:where(.svelte-1n46o8q){color:var(--blue)}.nav-caption.svelte-1n46o8q{font:600 .75rem/1.6 var(--sans);letter-spacing:.06em}.nav-caption.svelte-1n46o8q span:where(.svelte-1n46o8q){color:var(--muted)}.navbar.svelte-1n46o8q{gap:2rem;margin-left:auto;display:flex}.navbar.svelte-1n46o8q a:where(.svelte-1n46o8q){padding:.75rem 0;font-size:1rem;text-decoration:none;position:relative}.navbar.svelte-1n46o8q a:where(.svelte-1n46o8q):hover,.navbar.svelte-1n46o8q a.active:where(.svelte-1n46o8q){color:var(--blue)}.navbar.svelte-1n46o8q a.active:where(.svelte-1n46o8q):after{content:"";background:var(--blue);width:100%;height:2px;position:absolute;bottom:0;left:0}.navbar.svelte-1n46o8q a:where(.svelte-1n46o8q) span:where(.svelte-1n46o8q){font-size:.75rem}.skip-link.svelte-1n46o8q{z-index:200;background:var(--raised);color:var(--ink);padding:1rem;position:fixed;top:-100px;left:1rem}.skip-link.svelte-1n46o8q:focus{top:1rem}@media (width<=850px){.nav-caption.svelte-1n46o8q span:where(.svelte-1n46o8q){display:none}.navbar.svelte-1n46o8q{gap:1.3rem}}@media (width<=560px){nav.svelte-1n46o8q{gap:1rem;height:72px}.nav-caption.svelte-1n46o8q{display:none}.navbar.svelte-1n46o8q{gap:.75rem}.navbar.svelte-1n46o8q a:where(.svelte-1n46o8q){font-size:.85rem}}@media (prefers-reduced-motion:reduce){html{background:var(--paper);scroll-behavior:auto;font-size:112.5%}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
