@font-face{font-family:et bembo;src:url(/fonts/et-bembo/et-bembo-semibold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:et bembo;src:url(/fonts/et-bembo/et-bembo-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:bembo semi;src:url(/fonts/et-bembo/et-bembo-italic.woff2)format("woff2");font-weight:600;font-style:italic;font-display:swap}:root:root{--hb-font-ui:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif;--hb-font-family-sans:var(--hb-font-ui);--hb-font-nav:var(--hb-font-ui);--hb-measure:44rem}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.header,.header *,footer,footer *,nav,nav *,.hb-toc,.hb-toc *,.hb-sidebar-container,.hb-sidebar-container *,button,[type=button],[type=submit],[type=reset],[role=button],input,select,textarea,label,.hb-attachment-link,.article-metadata:not(.li-cite-author),a[href^="/tags/"] span,.hb-section-title,.hb-sidebar-note,figcaption,time,th,[class*=badge],[class*=hb-tag],[class*=pagination]{font-family:var(--hb-font-ui);font-variant-numeric:tabular-nums;letter-spacing:0}.header nav a{font-weight:500;letter-spacing:.005em}.hb-attachment-link{font-size:.8125rem;font-weight:500;letter-spacing:.01em}code,pre,kbd,samp{font-family:var(--hb-font-code);font-variant-numeric:normal}:root:not(.dark) body{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}:root.dark body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hb-section-title{color:color-mix(in srgb,var(--hb-color-foreground) 62%,transparent);font-size:.8125rem;font-weight:600;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;margin:0}.hb-section-rule{display:block;width:1.75rem;height:2px;margin-top:.75rem;background:var(--color-primary-500,#6366f1);opacity:.9}@media(max-width:1023px){.hb-label{margin-bottom:.5rem}}.page-body>section:nth-of-type(2n),.hb-section-alt{background-color:color-mix(in srgb,var(--hb-color-foreground) 4%,var(--hb-color-background));border-top:1px solid color-mix(in srgb,var(--hb-color-foreground) 8%,transparent);border-bottom:1px solid color-mix(in srgb,var(--hb-color-foreground) 8%,transparent)}.hb-content .container.max-w-3xl{max-width:none;margin-top:0}.hb-content>.flex.flex-col.items-center>[class*=mt-16]{margin-top:0}.hb-content .container.max-w-\[65ch\]{max-width:none}.hb-content>.flex.flex-col.items-center{padding-inline:0;align-items:stretch}.hb-content .mt-10{margin-top:1.5rem}.pub-list-item.view-citation{line-height:1.6}.hb-content>.prose{max-width:var(--hb-measure);font-size:1.1875rem;line-height:1.7}.prose,.hb-content>.prose{font-variant-ligatures:common-ligatures contextual;font-kerning:normal}.hb-content .prose h4{font-family:var(--hb-font-heading,inherit);margin-top:2rem}.prose a,.hb-content .prose a,.pub-list-item a:not(.hb-attachment-link){color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em;text-decoration-color:color-mix(in srgb,var(--color-primary-500) 50%,transparent);transition:color .15s ease,text-decoration-color .15s ease}.prose a:hover,.hb-content .prose a:hover,.pub-list-item a:not(.hb-attachment-link):hover{color:var(--color-primary-500);text-decoration-color:initial}:root.dark .prose a:hover,:root.dark .hb-content .prose a:hover,:root.dark .pub-list-item a:not(.hb-attachment-link):hover{color:var(--color-primary-400)}.pub-list-item a.underline{text-decoration-thickness:1px;text-underline-offset:.16em}.resume-biography .avatar{border-width:1px;border-color:color-mix(in srgb,var(--hb-color-foreground) 18%,transparent);box-shadow:0 8px 24px -12px rgb(0 0 0/.45)}#experience{padding-block:3.5rem}@media(min-width:640px){#experience{padding-block:4rem}}@media(min-width:1024px){#experience{padding-block:5rem}}#experience h2{font-family:var(--hb-font-ui);font-size:.8125rem;font-weight:600;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--hb-color-foreground) 62%,transparent);margin-bottom:2rem}#experience h2::after{content:"";display:block;width:1.75rem;height:2px;margin:.75rem auto 0;background:var(--color-primary-500,#6366f1);opacity:.9}.hb-sidebar-note{margin-top:1.35rem;font-size:.8125rem;line-height:1.65;color:color-mix(in srgb,var(--hb-color-foreground) 70%,transparent)}.hb-sidebar-note p{margin:0}.hb-sidebar-note p+p{margin-top:.75rem}.hb-sidebar-note strong{font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;display:block;margin-bottom:.15rem;color:color-mix(in srgb,var(--hb-color-foreground) 50%,transparent)}.map-embed{position:relative;aspect-ratio:16/9;max-width:var(--hb-measure);border-radius:8px;overflow:hidden;border:1px solid color-mix(in srgb,var(--hb-color-foreground) 12%,transparent);background-color:color-mix(in srgb,var(--hb-color-foreground) 5%,var(--hb-color-background))}.map-embed iframe{width:100%;height:100%;border:0;display:block}.map-embed__credit{font-family:var(--hb-font-ui);font-size:.75rem;margin-top:.6rem;color:color-mix(in srgb,var(--hb-color-foreground) 55%,transparent)}.hb-content [role=article].group{border-radius:.5rem;box-shadow:none;transition:border-color .2s ease,transform .2s ease}.hb-content [role=article].group:hover{transform:none;box-shadow:0 6px 20px -14px rgb(0 0 0/.5)}.hb-content a[href^="/tags/"] span{font-weight:500;letter-spacing:.03em}@media(min-width:1280px){.page-body .mx-auto.flex.max-w-screen-xl{max-width:100%;padding-inline:1.5rem}.page-body .mx-auto.flex.max-w-screen-xl article main .prose[data-pagefind-body]{max-width:var(--hb-measure);margin-inline:auto}.page-body .mx-auto.flex.max-w-screen-xl article main .prose[data-pagefind-body]>:is(pre,figure,table,.highlight){width:56rem;max-width:calc(100vw - 10rem);margin-inline:calc(50% - 28rem)}.page-body .container.max-w-3xl.w-full,.page-body .container.max-w-\[65ch\]{max-width:64rem}.page-body .container.max-w-\[500px\],.page-body .container.max-w-screen-lg{max-width:64rem}.page-body .container.max-w-\[500px\] .grid{grid-template-columns:1fr}}