html:has(.lH1fGa_root){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f3f3f1)var(--lightningcss-dark,#1b1c1d);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#242627);--surface-2:var(--lightningcss-light,#ecedea)var(--lightningcss-dark,#2f3233);--line:var(--lightningcss-light,#dededa)var(--lightningcss-dark,#36393a);--ring:var(--lightningcss-light,#d3d5d0)var(--lightningcss-dark,#34383a);--ink:var(--lightningcss-light,#17191a)var(--lightningcss-dark,#ececea);--ink-2:var(--lightningcss-light,#3d4342)var(--lightningcss-dark,#c6cac8);--muted:var(--lightningcss-light,#5a615f)var(--lightningcss-dark,#9da3a1);--accent:var(--lightningcss-light,#0d7466)var(--lightningcss-dark,#5ccdb8);--accent-ink:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0c201c);--accent-soft:var(--lightningcss-light,#dcefe9)var(--lightningcss-dark,#1d3631);--shadow:0 1px 2px var(--lightningcss-light,#17191a0a)var(--lightningcss-dark,#0000004d), 0 10px 30px -18px var(--lightningcss-light,#17191a38)var(--lightningcss-dark,#0009);--shadow-hover:0 2px 4px var(--lightningcss-light,#17191a0d)var(--lightningcss-dark,#00000059), 0 18px 40px -16px var(--lightningcss-light,#17191a47)var(--lightningcss-dark,#000000b3);background:var(--bg)}@media (prefers-color-scheme:dark){html:has(.lH1fGa_root){--lightningcss-light: ;--lightningcss-dark:initial}}html[data-color=light]:has(.lH1fGa_root){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-color=dark]:has(.lH1fGa_root){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.lH1fGa_root{--font:var(--font-spotlight), ui-sans-serif, system-ui, sans-serif;--wide:72rem;--col:46rem;--bar-h:4.25rem;background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font);flex-direction:column;font-size:1.0625rem;line-height:1.65;display:flex}.lH1fGa_root a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}.lH1fGa_root :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}:where(.lH1fGa_root) h1,:where(.lH1fGa_root) h2,:where(.lH1fGa_root) h3{margin:0;line-height:1.2}:where(.lH1fGa_root) p{margin:0}:where(.lH1fGa_root) ul,:where(.lH1fGa_root) ol{margin:0;padding:0;list-style:none}.lH1fGa_muted{color:var(--muted)}.lH1fGa_bar{z-index:10;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.lH1fGa_barInner{max-width:calc(var(--wide) + 2.5rem);min-height:var(--bar-h);align-items:center;gap:.75rem;margin:0 auto;padding:.625rem 1.25rem;display:flex}.lH1fGa_root .lH1fGa_brand{color:var(--ink);letter-spacing:-.015em;white-space:nowrap;font-size:1.0625rem;font-weight:700;text-decoration:none}.lH1fGa_barNav{margin-left:auto}.lH1fGa_root .lH1fGa_barNav a{min-height:2.5rem;color:var(--ink-2);border-radius:999px;align-items:center;padding:0 .875rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.lH1fGa_root .lH1fGa_barNav a:hover,.lH1fGa_root .lH1fGa_barNav a[aria-current=page]{background:var(--surface-2);color:var(--ink)}.lH1fGa_barTools{align-items:center;gap:.375rem;display:flex}.lH1fGa_root .lH1fGa_button{border:1px solid var(--accent);background:var(--accent);max-width:100%;min-height:2.875rem;color:var(--accent-ink);border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:0 1.375rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s,background-color .15s,border-color .15s;display:inline-flex}.lH1fGa_root .lH1fGa_button:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.lH1fGa_root .lH1fGa_buttonGhost{background:var(--surface);color:var(--ink);border-color:var(--line)}.lH1fGa_root .lH1fGa_buttonGhost:hover{border-color:var(--accent)}.lH1fGa_root .lH1fGa_buttonSmall{gap:.375rem;min-height:2.5rem;padding:0 1rem;font-size:.875rem}.lH1fGa_root .lH1fGa_buttonEmail{overflow-wrap:anywhere;text-align:left}.lH1fGa_root .lH1fGa_iconButton{border:1px solid var(--line);background:var(--surface);width:2.75rem;height:2.75rem;color:var(--ink-2);cursor:pointer;border-radius:999px;flex:none;place-items:center;transition:border-color .15s,color .15s,opacity .15s;display:inline-grid}.lH1fGa_root .lH1fGa_iconButton:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.lH1fGa_root .lH1fGa_iconButton:disabled{opacity:.4;cursor:default}.lH1fGa_bar .lH1fGa_iconButton{background:0 0;border-color:#0000;width:2.5rem;height:2.5rem}.lH1fGa_bar .lH1fGa_iconButton:hover{background:var(--surface-2)}.lH1fGa_main{flex:1;width:100%;padding:0 1.25rem 6rem}.lH1fGa_wide{max-width:var(--wide);margin-inline:auto}.lH1fGa_hero{isolation:isolate;min-height:calc(100svh - var(--bar-h));text-align:center;flex-direction:column;justify-content:center;align-items:center;margin-inline:-1.25rem;padding:3.5rem 1.25rem 3rem;display:flex;position:relative;overflow:clip}.lH1fGa_halo{width:11rem;height:11rem;margin-bottom:2.25rem;position:relative}.lH1fGa_halo:before{content:"";z-index:-1;background:repeating-radial-gradient(circle, transparent 0 calc(3rem - 1px), var(--ring) calc(3rem - 1px) 3rem);pointer-events:none;border-radius:50%;width:42rem;height:42rem;position:absolute;top:50%;left:50%;translate:-50% -50%;-webkit-mask-image:radial-gradient(circle closest-side,#000 30%,#0000 100%);mask-image:radial-gradient(circle closest-side,#000 30%,#0000 100%)}.lH1fGa_portrait{object-fit:cover;background:var(--surface-2);border:5px solid var(--surface);border-radius:50%;width:100%;height:100%;display:block;box-shadow:0 16px 36px -16px #00000059}.lH1fGa_kicker{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;max-width:36rem;font-size:.8125rem;font-weight:600}.lH1fGa_heroName{letter-spacing:-.04em;margin-top:.75rem;font-size:clamp(2.75rem,5vw + 1.5rem,5rem);font-weight:700;line-height:1.05}.lH1fGa_heroLead{max-width:38rem;color:var(--ink-2);margin-top:1.25rem;font-size:clamp(1.125rem,.6vw + 1rem,1.3125rem);line-height:1.55}.lH1fGa_heroMeta{max-width:38rem;color:var(--muted);margin-top:1rem;font-size:.9375rem}.lH1fGa_heroMeta svg,.lH1fGa_contactMeta svg{vertical-align:-.1875em;margin-right:.25rem;display:inline}.lH1fGa_actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:2rem;display:flex}.lH1fGa_pills{margin-top:2.75rem}.lH1fGa_pills ul{flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:54rem;display:flex}.lH1fGa_root .lH1fGa_pills a{border:1px solid var(--line);background:var(--surface);min-height:2.5rem;color:var(--ink-2);border-radius:999px;align-items:center;padding:0 1.125rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.lH1fGa_root .lH1fGa_pills a:hover{border-color:var(--accent);color:var(--accent)}.lH1fGa_section{scroll-margin-top:var(--bar-h);padding-top:6rem}.lH1fGa_sectionTitle{text-align:center;letter-spacing:-.03em;margin-bottom:2.5rem;font-size:clamp(1.75rem,1.5vw + 1.25rem,2.25rem);font-weight:700}.lH1fGa_about{max-width:42rem;color:var(--ink-2);gap:1.125rem;margin-inline:auto;font-size:1.125rem;display:grid}.lH1fGa_card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;transition:box-shadow .2s,transform .2s cubic-bezier(.16,1,.3,1);position:relative}.lH1fGa_card:has(.lH1fGa_cardLink:hover){box-shadow:var(--shadow-hover);transform:translateY(-2px)}.lH1fGa_cardBody{grid-template-columns:minmax(0,1fr);align-content:start;gap:.75rem;padding:1.625rem;display:grid}.lH1fGa_cardTitle{letter-spacing:-.01em;color:var(--ink);font-size:1.125rem;font-weight:650;line-height:1.35}.lH1fGa_cardText{color:var(--ink-2);font-size:.9375rem}.lH1fGa_root .lH1fGa_cardLink{color:inherit;text-decoration:none;display:inline}.lH1fGa_root .lH1fGa_cardLink:after{content:"";border-radius:inherit;position:absolute;inset:0}.lH1fGa_projectTitle{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.lH1fGa_outIcon{color:var(--accent);flex:none;margin-top:.125rem}.lH1fGa_root .lH1fGa_cardLink:hover{color:var(--accent)}.lH1fGa_root .lH1fGa_cardLink:focus-visible{outline:none}.lH1fGa_root .lH1fGa_cardLink:focus-visible:after{outline:2px solid var(--accent);outline-offset:3px;border-radius:20px}.lH1fGa_grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),23rem));justify-content:center;gap:1.25rem;display:grid}.lH1fGa_gridTwo{grid-template-columns:repeat(auto-fill,minmax(min(100%,28rem),1fr))}.lH1fGa_rail{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:max(1.25rem, calc((100% - var(--wide)) / 2));scrollbar-width:thin;scrollbar-color:var(--line) transparent;margin-inline:-1.25rem;padding:.25rem 0 1.5rem;overflow-x:auto}.lH1fGa_root .lH1fGa_rail:focus-visible{outline-offset:-2px;border-radius:0}.lH1fGa_railList{width:max-content;padding-inline:max(1.25rem, calc((100% - var(--wide)) / 2));gap:1.25rem;display:flex}.lH1fGa_railList>li{scroll-snap-align:start;flex:0 0 24rem}.lH1fGa_railButtons{justify-content:center;gap:.75rem;margin-top:1.25rem;display:flex}.lH1fGa_role{gap:.875rem}.lH1fGa_mark{background:var(--accent-soft);color:var(--accent);letter-spacing:.02em;border-radius:14px;place-items:center;font-size:.875rem;font-weight:700;display:grid;overflow:hidden}.lH1fGa_roleHead{gap:.125rem;margin-top:.25rem;display:grid}.lH1fGa_roleOrg{color:var(--ink-2);font-size:.9375rem;font-weight:500}.lH1fGa_roleDates{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.875rem}.lH1fGa_bullets{color:var(--ink-2);gap:.5rem;font-size:.9375rem;line-height:1.55;display:grid}.lH1fGa_bullets li{padding-left:1.125rem;position:relative}.lH1fGa_bullets li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.62em;left:.125rem}.lH1fGa_chips{flex-wrap:wrap;gap:.375rem;display:flex}.lH1fGa_chips li{background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:.1875rem .6875rem;font-size:.8125rem;font-weight:500;line-height:1.5}.lH1fGa_role .lH1fGa_chips{margin-top:.25rem}.lH1fGa_project{flex-direction:column;display:flex;overflow:hidden}.lH1fGa_projectImage{aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--line);width:100%;height:auto}.lH1fGa_pub{overflow-wrap:anywhere;gap:.5rem}.lH1fGa_pub .lH1fGa_muted{font-size:.875rem}.lH1fGa_pubMeta{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:.625rem;font-size:.875rem;display:flex}.lH1fGa_badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.0625rem .625rem;font-size:.8125rem;font-weight:600}.lH1fGa_idents{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.25rem 1rem;font-size:.8125rem;display:flex}.lH1fGa_skillGrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr));gap:2.25rem 2rem;display:grid}.lH1fGa_skillGroup{grid-template-columns:minmax(0,1fr);align-content:start;gap:.875rem;display:grid}.lH1fGa_skillName{font-size:1rem;font-weight:650}.lH1fGa_chipsLarge{gap:.5rem}.lH1fGa_chipsLarge li{background:var(--surface);border:1px solid var(--line);color:var(--ink);padding:.375rem .9375rem;font-size:.875rem}.lH1fGa_chipNote{color:var(--muted)}.lH1fGa_quote{text-align:center;max-width:48rem;margin:0 auto}.lH1fGa_quote blockquote{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:clamp(1.1875rem,.8vw + 1rem,1.4375rem);line-height:1.55}.lH1fGa_quote blockquote p:before{content:"“"}.lH1fGa_quote blockquote p:after{content:"”"}.lH1fGa_quote figcaption{color:var(--ink-2);flex-wrap:wrap;justify-content:center;gap:.25rem .75rem;margin-top:1.5rem;font-size:.9375rem;display:flex}.lH1fGa_noteCard{gap:.5rem}.lH1fGa_noteCard>.lH1fGa_muted{font-size:.875rem}.lH1fGa_more{text-align:center;margin-top:2rem}.lH1fGa_root .lH1fGa_moreLink{align-items:center;gap:.375rem;min-height:2.75rem;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.lH1fGa_root .lH1fGa_moreLink:hover{text-decoration:underline}.lH1fGa_contact{max-width:var(--wide);background:var(--accent-soft);text-align:center;border-radius:28px;flex-direction:column;align-items:center;margin-inline:auto;padding:4rem 1.5rem;display:flex}.lH1fGa_contact .lH1fGa_sectionTitle{margin-bottom:.875rem}.lH1fGa_contactLead{color:var(--ink);font-size:1.125rem}.lH1fGa_contactMeta{color:var(--ink-2);flex-wrap:wrap;justify-content:center;gap:.25rem 1.25rem;margin-top:.5rem;font-size:.9375rem;display:flex}.lH1fGa_contactMeta span{display:inline}.lH1fGa_footer{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.25rem 2.5rem;font-size:.875rem;display:flex}.lH1fGa_footerLinks{flex-wrap:wrap;justify-content:center;gap:.25rem;display:flex}.lH1fGa_root .lH1fGa_footerLinks a{width:2.75rem;height:2.75rem;color:var(--ink-2);border-radius:999px;place-items:center;display:inline-grid}.lH1fGa_root .lH1fGa_footerLinks a:hover{background:var(--surface-2);color:var(--ink)}.lH1fGa_pageHead{text-align:center;padding:5rem 0 2.75rem}.lH1fGa_pageTitle{letter-spacing:-.04em;font-size:clamp(2.25rem,4vw + 1rem,3.25rem);font-weight:700}.lH1fGa_pageLead{max-width:36rem;color:var(--ink-2);margin:.75rem auto 0}.lH1fGa_noteList{max-width:var(--col);grid-template-columns:minmax(0,1fr);gap:1rem;margin-inline:auto;display:grid}.lH1fGa_noteList .lH1fGa_chips{margin-top:.25rem}.lH1fGa_empty{text-align:center;color:var(--muted)}.lH1fGa_article{max-width:var(--col);margin-inline:auto;padding-top:3.5rem}.lH1fGa_back{font-size:.9375rem;font-weight:600}.lH1fGa_root .lH1fGa_back a{align-items:center;min-height:2.75rem;text-decoration:none;display:inline-flex}.lH1fGa_articleHead{gap:.875rem;margin:1rem 0 2.5rem;font-size:.9375rem;display:grid}.lH1fGa_articleTitle{letter-spacing:-.035em;font-size:clamp(2rem,3.5vw + 1rem,3rem);font-weight:700;line-height:1.12}.lH1fGa_toc{background:var(--surface);border:1px solid var(--line);border-radius:20px;margin-bottom:2.5rem;padding:1.25rem 1.5rem;font-size:.9375rem}.lH1fGa_tocTitle{margin-bottom:.5rem;font-weight:700}.lH1fGa_toc ol{gap:.25rem;display:grid}.lH1fGa_tocSub{padding-left:1rem}.lH1fGa_prose{max-width:68ch;color:var(--ink);overflow-wrap:break-word}.lH1fGa_prose>.prose>*+*{margin-top:1.25em}.lH1fGa_prose h2{letter-spacing:-.02em;scroll-margin-top:calc(var(--bar-h) + 1rem);margin-top:2.25em;font-size:1.5rem}.lH1fGa_prose h3{scroll-margin-top:calc(var(--bar-h) + 1rem);margin-top:1.75em;font-size:1.1875rem}.lH1fGa_prose ul,.lH1fGa_prose ol{list-style:revert;padding-left:1.375rem}.lH1fGa_prose li+li{margin-top:.375em}.lH1fGa_prose li::marker{color:var(--accent)}.lH1fGa_prose blockquote{border-left:1px solid var(--accent);color:var(--ink-2);margin-left:0;margin-right:0;padding:.25rem 0 .25rem 1.25rem}.lH1fGa_prose code{background:var(--surface-2);border-radius:6px;padding:.125em .375em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.875em}.lH1fGa_prose pre{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem 1.25rem;font-size:.875rem;line-height:1.6;overflow-x:auto}.lH1fGa_prose pre code{background:0 0;padding:0}.lH1fGa_prose img{border-radius:14px;max-width:100%;height:auto}.lH1fGa_prose table{border-collapse:collapse;width:100%;font-size:.9375rem;display:block;overflow-x:auto}.lH1fGa_prose th,.lH1fGa_prose td{border-bottom:1px solid var(--line);text-align:left;padding:.5rem .75rem}.lH1fGa_prose th{font-weight:650}.lH1fGa_prose hr{border:0;border-top:1px solid var(--line)}.lH1fGa_sources{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem;font-size:.9375rem}.lH1fGa_sourcesTitle{margin-bottom:.75rem;font-size:1.125rem}.lH1fGa_sources ol{gap:.5rem;display:grid}.lH1fGa_sources li{scroll-margin-top:calc(var(--bar-h) + 1rem);overflow-wrap:anywhere}.lH1fGa_sources li:target{background:var(--accent-soft);border-radius:6px}.lH1fGa_sourceN{color:var(--muted);font-variant-numeric:tabular-nums}.lH1fGa_pager{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.75rem;margin-top:3rem;display:grid}.lH1fGa_root .lH1fGa_pagerLink{border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:16px;gap:.25rem;padding:1rem 1.25rem;text-decoration:none;transition:border-color .15s;display:grid}.lH1fGa_root .lH1fGa_pagerLink:hover{border-color:var(--accent)}.lH1fGa_pagerLabel{color:var(--muted);font-size:.8125rem}.lH1fGa_pagerTitle{font-weight:650}.lH1fGa_root .lH1fGa_pagerAll{place-self:center start;align-items:center;min-height:2.75rem;font-size:.9375rem;font-weight:600;display:inline-flex}@media (max-width:720px){.lH1fGa_root .lH1fGa_barSocial,.lH1fGa_barCvWord{display:none}.lH1fGa_barInner{gap:.25rem}.lH1fGa_root .lH1fGa_barNav a,.lH1fGa_root .lH1fGa_buttonSmall{min-height:2.75rem}.lH1fGa_bar .lH1fGa_iconButton{width:2.75rem;height:2.75rem}.lH1fGa_hero{padding-top:2.5rem}.lH1fGa_halo{width:9rem;height:9rem;margin-bottom:1.75rem}.lH1fGa_halo:before{background:repeating-radial-gradient(circle, transparent 0 calc(2.5rem - 1px), var(--ring) calc(2.5rem - 1px) 2.5rem);width:34rem;height:34rem}.lH1fGa_root .lH1fGa_pills a{min-height:2.75rem}.lH1fGa_section{padding-top:4.5rem}.lH1fGa_sectionTitle{margin-bottom:1.75rem}.lH1fGa_rail{scroll-snap-type:none;margin:0;padding:0;overflow:visible}.lH1fGa_railList{flex-direction:column;width:auto;padding-inline:0}.lH1fGa_railList>li{flex:none}.lH1fGa_railButtons{display:none}.lH1fGa_cardBody{padding:1.375rem}.lH1fGa_contact{padding:3rem 1.25rem}.lH1fGa_pageHead{padding-top:3.5rem}}@media (prefers-reduced-motion:reduce){.lH1fGa_root *,.lH1fGa_root :before,.lH1fGa_root :after{transition:none!important}.lH1fGa_root .lH1fGa_button:hover{transform:none!important}.lH1fGa_card:has(.lH1fGa_cardLink:hover){transform:none!important}}
@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.YshVoq_className{font-family:Outfit,Outfit Fallback;font-style:normal}.YshVoq_variable{--font-bento:"Outfit", "Outfit Fallback"}
html:has(.LUNerq_root){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f2f2ef)var(--lightningcss-dark,#121211);--tile:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1d1d1b);--tile-line:var(--lightningcss-light,#1b1b190d)var(--lightningcss-dark,#ffffff12);--chip:var(--lightningcss-light,#f1f0eb)var(--lightningcss-dark,#2a2a27);--line:var(--lightningcss-light,#e7e6e0)var(--lightningcss-dark,#2f2f2b);--ink:var(--lightningcss-light,#1b1b19)var(--lightningcss-dark,#f0efe9);--ink-2:var(--lightningcss-light,#42413c)var(--lightningcss-dark,#d0cec6);--muted:var(--lightningcss-light,#63625b)var(--lightningcss-dark,#a4a299);--accent:var(--lightningcss-light,#b93d0b)var(--lightningcss-dark,#ff9d62);--accent-ink:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1f130b);--accent-soft:var(--lightningcss-light,#fbe8dd)var(--lightningcss-dark,#3a2419);--sage:var(--lightningcss-light,#e3eee5)var(--lightningcss-dark,#1c2a22);--sand:var(--lightningcss-light,#f5ecdb)var(--lightningcss-dark,#2a251b);--lilac:var(--lightningcss-light,#ebe8f6)var(--lightningcss-dark,#24223a);--contact-bg:var(--lightningcss-light,#1d1d1b)var(--lightningcss-dark,#2c1e15);--contact-ink:var(--lightningcss-light,#f4f3ee)var(--lightningcss-dark,#f7ece4);--contact-muted:var(--lightningcss-light,#c4c2b9)var(--lightningcss-dark,#d9c7b9);--shadow-soft:var(--lightningcss-light,#1b1b190a)var(--lightningcss-dark,#00000080);--shadow-lift:var(--lightningcss-light,#1b1b1924)var(--lightningcss-dark,#000000b3);--shadow-lift-hover:var(--lightningcss-light,#1b1b1938)var(--lightningcss-dark,#000c);--shadow:0 1px 2px var(--shadow-soft), 0 8px 24px -12px var(--shadow-lift);--shadow-hover:0 2px 4px var(--shadow-soft), 0 16px 36px -14px var(--shadow-lift-hover);background:var(--bg)}@media (prefers-color-scheme:dark){html:has(.LUNerq_root){--lightningcss-light: ;--lightningcss-dark:initial}}html[data-color=light]:has(.LUNerq_root){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-color=dark]:has(.LUNerq_root){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.LUNerq_root{--font:var(--font-bento), ui-sans-serif, system-ui, sans-serif;--wrap:76rem;--gap:1rem;--radius:24px;--pad:1.75rem;background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font);flex-direction:column;font-size:1.0625rem;line-height:1.6;display:flex}.LUNerq_root a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}.LUNerq_root :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}:where(.LUNerq_root) h1,:where(.LUNerq_root) h2,:where(.LUNerq_root) h3{text-wrap:balance;margin:0;line-height:1.2}:where(.LUNerq_root) p{margin:0}:where(.LUNerq_root) ul,:where(.LUNerq_root) ol{margin:0;padding:0;list-style:none}:where(.LUNerq_root) figure,:where(.LUNerq_root) blockquote{margin:0}.LUNerq_muted{color:var(--muted)}.LUNerq_breakAnywhere{overflow-wrap:anywhere;min-width:0}.LUNerq_tile{background:var(--tile);border:1px solid var(--tile-line);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--pad);min-width:0}.LUNerq_tintSage{background:var(--sage)}.LUNerq_tintSand{background:var(--sand)}.LUNerq_tintLilac{background:var(--lilac)}.LUNerq_tileLabel{color:var(--muted);letter-spacing:0;margin-bottom:1rem;font-size:.9375rem;font-weight:500}.LUNerq_tileNote{color:var(--muted);margin-top:.75rem;font-size:.9375rem}.LUNerq_root .LUNerq_moreLink{min-height:2.75rem;color:var(--ink);align-items:center;gap:.375rem;margin-top:1.25rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.LUNerq_root .LUNerq_moreLink svg{transition:transform .2s cubic-bezier(.22,1,.36,1)}.LUNerq_root .LUNerq_moreLink:hover svg{transform:translate(3px)}.LUNerq_header{z-index:10;width:calc(100% - 3rem);max-width:var(--wrap);background:color-mix(in srgb, var(--tile) 92%, transparent);-webkit-backdrop-filter:saturate(1.3)blur(12px);backdrop-filter:saturate(1.3)blur(12px);border:1px solid var(--tile-line);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:1rem;margin:.75rem auto 0;padding:.5rem .5rem .5rem 1.5rem;display:flex;position:sticky;top:.75rem}.LUNerq_root .LUNerq_brand{color:var(--ink);letter-spacing:-.01em;white-space:nowrap;font-size:1.0625rem;font-weight:600;text-decoration:none}.LUNerq_nav{min-width:0;margin-left:auto}.LUNerq_nav ul{gap:.125rem;display:flex}.LUNerq_root .LUNerq_nav a{min-height:2.5rem;color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;padding:0 .875rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.LUNerq_root .LUNerq_nav a:hover{background:var(--chip);color:var(--ink)}.LUNerq_root .LUNerq_nav a[aria-current=page]{background:var(--ink);color:var(--tile)}.LUNerq_headerTools{align-items:center;gap:.375rem;display:flex}.LUNerq_root .LUNerq_button{border:1px solid var(--accent);background:var(--accent);min-height:3rem;color:var(--accent-ink);border-radius:999px;align-items:center;gap:.5rem;padding:0 1.375rem;font-size:1rem;font-weight:500;text-decoration:none;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s,background-color .15s;display:inline-flex}.LUNerq_root .LUNerq_button:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.LUNerq_root .LUNerq_buttonGhost{color:var(--ink);border-color:var(--line);background:0 0}.LUNerq_root .LUNerq_buttonGhost:hover{background:var(--chip)}.LUNerq_root .LUNerq_buttonSmall{white-space:nowrap;min-height:2.5rem;padding:0 1.125rem;font-size:.9375rem}.LUNerq_root .LUNerq_iconButton{border:1px solid var(--line);width:3rem;height:3rem;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:999px;flex:none;place-items:center;transition:background-color .15s,color .15s;display:inline-grid}.LUNerq_root .LUNerq_iconButton:hover{background:var(--chip);color:var(--ink)}.LUNerq_header .LUNerq_iconButton{width:2.5rem;height:2.5rem}.LUNerq_main{width:100%;max-width:calc(var(--wrap) + 3rem);flex:1;margin:0 auto;padding:0 1.5rem 2rem}.LUNerq_bento{gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));padding-top:1.75rem;display:grid}.LUNerq_span12{grid-column:1/-1}.LUNerq_span8{grid-column:span 8}.LUNerq_span7{grid-column:span 7}.LUNerq_span5{grid-column:span 5}.LUNerq_span4{grid-column:span 4}.LUNerq_stack{gap:var(--gap);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.LUNerq_stackRow{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}.LUNerq_intro{--pad:2.75rem;flex-direction:column;grid-column:span 8;justify-content:center;display:flex}.LUNerq_name{letter-spacing:-.035em;font-size:clamp(2.5rem,3vw + 1.25rem,4rem);font-weight:600;line-height:1.02}.LUNerq_title{color:var(--ink-2);margin-top:.875rem;font-size:1.25rem;font-weight:500;line-height:1.4}.LUNerq_lead{max-width:42ch;color:var(--ink);margin-top:1.25rem;font-size:1.1875rem;line-height:1.55}.LUNerq_actions{flex-wrap:wrap;align-items:center;gap:.625rem;margin-top:2rem;display:flex}.LUNerq_portraitTile{grid-column:span 4;min-height:22rem;padding:0;position:relative;overflow:hidden}.LUNerq_portrait{object-fit:cover;object-position:50% 30%;width:100%;height:100%;position:absolute;inset:0}.LUNerq_aboutText{max-width:64ch;color:var(--ink-2);gap:1rem;display:grid}.LUNerq_aboutText p:first-child{color:var(--ink);font-size:1.1875rem;line-height:1.55}.LUNerq_roleTile{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem;display:grid}.LUNerq_roleText{gap:.125rem;display:grid}.LUNerq_roleTitle{font-size:1.1875rem;font-weight:600;line-height:1.3}.LUNerq_roleOrg{color:var(--ink-2)}.LUNerq_roleDates{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:.375rem;font-size:.9375rem}.LUNerq_place{color:var(--ink);grid-template-columns:auto minmax(0,1fr);gap:.625rem;font-size:1.125rem;line-height:1.45;display:grid}.LUNerq_place svg{color:var(--accent);margin-top:.125rem}.LUNerq_skillGroups{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:1.5rem 2rem;display:grid}.LUNerq_skillName{margin-bottom:.625rem;font-size:1rem;font-weight:600}.LUNerq_chipsFlush{margin-top:0}.LUNerq_langs{gap:.75rem;display:grid}.LUNerq_langs li{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 1rem;display:flex}.LUNerq_langName{font-weight:600}.LUNerq_langLevel{color:var(--muted);font-size:.9375rem}.LUNerq_noteTile{flex-direction:column;display:flex}.LUNerq_root .LUNerq_noteTile .LUNerq_moreLink{margin-top:auto;padding-top:1rem}.LUNerq_noteRows{grid-template-columns:minmax(0,1fr);display:grid}.LUNerq_noteRows li{border-top:1px solid color-mix(in srgb, var(--ink) 12%, transparent);padding:.875rem 0}.LUNerq_noteRows li:first-child{border-top:0;padding-top:0}.LUNerq_root .LUNerq_noteTileLink{color:var(--ink);font-size:1.1875rem;font-weight:600;line-height:1.35;text-decoration:none}.LUNerq_root .LUNerq_noteTileLink:hover{text-decoration:underline}.LUNerq_noteRowMeta{color:var(--muted);margin-top:.25rem;font-size:.9375rem}.LUNerq_contact{background:var(--contact-bg);color:var(--contact-ink);border-color:#0000;flex-direction:column;align-items:flex-start;display:flex}.LUNerq_contactTitle{letter-spacing:-.02em;font-size:1.5rem;font-weight:600}.LUNerq_contactLead{color:var(--contact-muted);margin-top:.5rem}.LUNerq_contactActions{flex-direction:column;align-items:flex-start;gap:.875rem;max-width:100%;margin-top:1.25rem;display:flex}.LUNerq_contactWide{flex-flow:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:1.25rem 2rem}.LUNerq_contactWide .LUNerq_contactActions{flex-flow:wrap;align-items:center;margin-top:0}.LUNerq_root .LUNerq_contactButton{max-width:100%;height:auto;padding-top:.625rem;padding-bottom:.625rem;line-height:1.3}.LUNerq_root .LUNerq_contactButton svg{flex:none}.LUNerq_contactIcons{gap:.375rem;display:flex}.LUNerq_root .LUNerq_contact .LUNerq_iconButton{color:var(--contact-ink);border-color:color-mix(in srgb, var(--contact-ink) 22%, transparent)}.LUNerq_root .LUNerq_contact .LUNerq_iconButton:hover{background:color-mix(in srgb, var(--contact-ink) 12%, transparent);color:var(--contact-ink)}.LUNerq_mark{background:var(--tile);border:1px solid var(--line);color:var(--ink-2);letter-spacing:.02em;border-radius:14px;flex:none;place-items:center;font-size:.875rem;font-weight:600;display:grid;overflow:hidden}.LUNerq_chips{flex-wrap:wrap;gap:.375rem;margin-top:1rem;display:flex}.LUNerq_chips li{background:var(--chip);color:var(--ink-2);border-radius:999px;padding:.25rem .75rem;font-size:.875rem;line-height:1.45}.LUNerq_section{padding-top:4.5rem;scroll-margin-top:4.5rem}.LUNerq_bento>[id]{scroll-margin-top:6rem}.LUNerq_sectionHead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;margin-bottom:1.25rem;padding:0 .25rem;display:flex}.LUNerq_root .LUNerq_sectionHead .LUNerq_moreLink{margin-top:0}.LUNerq_sectionTitle{letter-spacing:-.025em;font-size:clamp(1.75rem,1.5vw + 1.25rem,2.25rem);font-weight:600}.LUNerq_entries{grid-template-columns:minmax(0,1fr);display:grid}.LUNerq_entries>.LUNerq_entry:first-child{padding-top:.25rem}.LUNerq_entries>.LUNerq_entry:last-child{padding-bottom:0}.LUNerq_entry{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);gap:1.25rem;padding:1.5rem 0;display:grid}.LUNerq_entry:first-child{border-top:0}.LUNerq_entryTile{padding:var(--pad);border-top:1px solid var(--tile-line)}.LUNerq_entryTile:first-child{border-top:1px solid var(--tile-line)}.LUNerq_entryHead{justify-content:space-between;align-items:flex-start;gap:.5rem 1.5rem;display:flex}.LUNerq_entryTitle{font-size:1.1875rem;font-weight:600;line-height:1.3}.LUNerq_entryOrg{color:var(--ink-2);margin-top:.125rem}.LUNerq_entryDates{color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;justify-items:end;font-size:.9375rem;display:grid}.LUNerq_entrySummary{color:var(--ink-2);margin-top:.75rem}.LUNerq_bullets{max-width:72ch;color:var(--ink-2);gap:.5rem;margin-top:.875rem;display:grid}.LUNerq_bullets li{padding-left:1.25rem;position:relative}.LUNerq_bullets li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.66em;left:.25rem}.LUNerq_eduGrid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));display:grid}.LUNerq_quote{--pad:clamp(1.75rem, 3vw, 3rem);background:var(--accent-soft);border-color:#0000}.LUNerq_quoteBody{gap:1.5rem;display:grid}.LUNerq_quoteBody blockquote p{max-width:62ch;color:var(--ink);font-size:clamp(1.1875rem,.6vw + 1rem,1.4375rem);line-height:1.55}.LUNerq_quoteBody blockquote p:before{content:"“";height:2.25rem;color:var(--accent);font-size:4rem;font-weight:600;line-height:1;display:block}.LUNerq_quoteBody figcaption{color:var(--ink-2);flex-wrap:wrap;gap:.25rem 1rem;font-size:.9375rem;display:flex}.LUNerq_quoteBody figcaption strong{color:var(--ink);font-weight:600}.LUNerq_projects{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr));display:grid}.LUNerq_project{flex-direction:column;transition:box-shadow .25s,transform .25s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden}.LUNerq_project:has(a:hover){box-shadow:var(--shadow-hover);transform:translateY(-3px)}.LUNerq_projectImage{width:calc(100% + 2 * var(--pad));aspect-ratio:16/9;max-width:none;height:auto;margin:calc(-1 * var(--pad)) calc(-1 * var(--pad)) 1.5rem;object-fit:cover;background:var(--chip);display:block}.LUNerq_projectTitle{letter-spacing:-.01em;font-size:1.25rem;font-weight:600}.LUNerq_projectText{color:var(--ink-2);margin-top:.625rem}.LUNerq_project .LUNerq_chips{margin-top:auto;padding-top:1.25rem}.LUNerq_projectCols{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:2rem 2.5rem;display:grid}.LUNerq_projectCol{flex-direction:column;min-width:0;display:flex;position:relative}.LUNerq_projectColImage{aspect-ratio:16/9;object-fit:cover;background:var(--chip);border-radius:14px;width:100%;height:auto;margin-bottom:1rem;display:block}.LUNerq_projectCol .LUNerq_chips{margin-top:auto;padding-top:1rem}.LUNerq_projectCol:has(a:hover) .LUNerq_projectTitle{color:var(--accent)}.LUNerq_root .LUNerq_cardLink{color:inherit;align-items:flex-start;gap:.375rem;text-decoration:none;display:inline-flex}.LUNerq_root .LUNerq_cardLink svg{color:var(--accent);flex:none;margin-top:.2em}.LUNerq_root .LUNerq_cardLink:after{content:"";border-radius:var(--radius);position:absolute;inset:0}.LUNerq_pubs{grid-template-columns:minmax(0,1fr);display:grid}.LUNerq_pub:first-child{padding-top:.25rem}.LUNerq_pub:last-child{padding-bottom:0}.LUNerq_pub{border-top:1px solid var(--line);overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);gap:.25rem;padding:1.375rem 0;display:grid}.LUNerq_pub:first-child{border-top:0}.LUNerq_pubMeta{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:.625rem;font-size:.9375rem;display:flex}.LUNerq_badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.0625rem .625rem;font-size:.875rem;font-weight:500}.LUNerq_pubTitle{margin-top:.25rem;font-size:1.125rem;font-weight:600;line-height:1.4}.LUNerq_pubLine{color:var(--ink-2)}.LUNerq_idents{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.125rem 1rem;font-size:.9375rem;display:flex}.LUNerq_footer{width:calc(100% - 3rem);max-width:var(--wrap);border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:3rem auto 0;padding:1.5rem 0 2.5rem;font-size:.9375rem;display:flex}.LUNerq_footerLinks{flex-wrap:wrap;align-items:center;gap:.375rem;min-width:0;display:flex}.LUNerq_root .LUNerq_footerMail{min-height:3rem;color:var(--ink-2);overflow-wrap:anywhere;align-items:center;gap:.5rem;margin-right:.5rem;text-decoration:none;display:inline-flex}.LUNerq_root .LUNerq_footerMail:hover{color:var(--ink);text-decoration:underline}.LUNerq_pageHead{padding:4rem .25rem 2rem}.LUNerq_pageTitle{letter-spacing:-.035em;font-size:clamp(2.25rem,3vw + 1.25rem,3.5rem);font-weight:600}.LUNerq_pageLead{color:var(--ink-2);max-width:40rem;margin-top:.75rem}.LUNerq_empty{color:var(--muted)}.LUNerq_noteGrid{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,24rem),1fr));display:grid}.LUNerq_noteCard{flex-direction:column;transition:box-shadow .25s,transform .25s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.LUNerq_noteCard:has(a:hover){box-shadow:var(--shadow-hover);transform:translateY(-3px)}.LUNerq_noteCardTitle{letter-spacing:-.01em;font-size:1.3125rem;font-weight:600}.LUNerq_noteExcerpt{color:var(--ink-2);margin-top:.625rem}.LUNerq_noteCard .LUNerq_chips{margin-top:.875rem}.LUNerq_noteWrap{width:100%;max-width:50rem;margin:0 auto}.LUNerq_noteWrapToc{max-width:calc(50rem + 17rem + var(--gap))}.LUNerq_noteWrap .LUNerq_pager{max-width:50rem}.LUNerq_noteLayout{gap:1.25rem var(--gap);grid-template-columns:minmax(0,1fr);padding-top:2.5rem;display:grid}.LUNerq_articleHead{gap:.75rem;max-width:52rem;padding:0 .25rem .5rem;display:grid}.LUNerq_articleHead .LUNerq_chips{margin-top:0}.LUNerq_back{font-size:.9375rem;font-weight:500}.LUNerq_root .LUNerq_back a{align-items:center;min-height:2.75rem;text-decoration:none;display:inline-flex}.LUNerq_root .LUNerq_back a:hover{text-decoration:underline}.LUNerq_articleTitle{letter-spacing:-.03em;font-size:clamp(2rem,2.5vw + 1.25rem,3rem);font-weight:600;line-height:1.1}.LUNerq_articleBody{--pad:clamp(1.5rem, 4vw, 3.5rem)}.LUNerq_toc{--pad:1.5rem;font-size:.9375rem}.LUNerq_tocTitle{margin-bottom:.625rem;font-weight:600}.LUNerq_toc ol{gap:.125rem;display:grid}.LUNerq_root .LUNerq_toc a{color:var(--ink-2);padding:.25rem 0;text-decoration:none;display:block}.LUNerq_root .LUNerq_toc a:hover{color:var(--accent)}.LUNerq_tocSub{padding-left:1rem}.LUNerq_prose{max-width:68ch;color:var(--ink);overflow-wrap:break-word}.LUNerq_prose>*+*{margin-top:1.25em}.LUNerq_prose>.prose>*+*{margin-top:1.25em}.LUNerq_prose>:first-child{margin-top:0}.LUNerq_prose>.prose>:first-child{margin-top:0}.LUNerq_prose h2{letter-spacing:-.02em;margin-top:2.25em;scroll-margin-top:6rem;font-size:1.5rem;font-weight:600}.LUNerq_prose h3{margin-top:1.75em;scroll-margin-top:6rem;font-size:1.1875rem;font-weight:600}.LUNerq_prose ul,.LUNerq_prose ol{list-style:revert;padding-left:1.375rem}.LUNerq_prose li+li{margin-top:.375em}.LUNerq_prose li::marker{color:var(--accent)}.LUNerq_prose blockquote{background:var(--sand);color:var(--ink-2);border-radius:14px;padding:1rem 1.25rem}.LUNerq_prose code{background:var(--chip);border-radius:6px;padding:.125em .375em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.875em}.LUNerq_prose pre{background:var(--chip);border-radius:16px;padding:1.125rem 1.25rem;font-size:.875rem;line-height:1.6;overflow-x:auto}.LUNerq_prose pre code{background:0 0;padding:0}.LUNerq_prose img{border-radius:16px;max-width:100%;height:auto}.LUNerq_prose table{border-collapse:collapse;width:100%;font-size:.9375rem;display:block;overflow-x:auto}.LUNerq_prose th,.LUNerq_prose td{border-bottom:1px solid var(--line);text-align:left;padding:.5rem .75rem}.LUNerq_prose th{font-weight:600}.LUNerq_prose hr{border:0;border-top:1px solid var(--line)}.LUNerq_sources{border-top:1px solid var(--line);max-width:68ch;margin-top:3rem;padding-top:1.5rem;font-size:.9375rem}.LUNerq_sourcesTitle{margin-bottom:.75rem;font-size:1.1875rem;font-weight:600}.LUNerq_sources ol{gap:.5rem;display:grid}.LUNerq_sources li{overflow-wrap:anywhere;scroll-margin-top:6rem}.LUNerq_sources li:target{background:var(--accent-soft);border-radius:8px}.LUNerq_sourceN{color:var(--muted);font-variant-numeric:tabular-nums}.LUNerq_pager{margin-top:var(--gap);gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.LUNerq_root .LUNerq_pagerLink{--pad:1.25rem 1.5rem;color:inherit;gap:.25rem;text-decoration:none;transition:box-shadow .25s;display:grid}.LUNerq_root .LUNerq_pagerLink:hover{box-shadow:var(--shadow-hover)}.LUNerq_pagerLabel{color:var(--muted);font-size:.875rem}.LUNerq_pagerTitle{font-weight:600}.LUNerq_root .LUNerq_pagerAll{place-self:center start;align-items:center;min-height:2.75rem;padding:0 .25rem;font-weight:500;display:inline-flex}@media (min-width:1080px){.LUNerq_noteLayoutToc{grid-template-columns:minmax(0,1fr) 17rem}.LUNerq_noteLayoutToc .LUNerq_articleHead{grid-area:1/1}.LUNerq_noteLayoutToc .LUNerq_tocAside{grid-area:1/2/span 2;align-self:stretch}.LUNerq_noteLayoutToc .LUNerq_toc{position:sticky;top:6rem}.LUNerq_noteLayoutToc .LUNerq_articleBody{grid-area:2/1}}@media (max-width:1080px){.LUNerq_intro{grid-column:span 7}.LUNerq_portraitTile{grid-column:span 5}.LUNerq_span7,.LUNerq_span8,.LUNerq_span4{grid-column:1/-1}.LUNerq_span5{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}.LUNerq_contact{flex-flow:wrap;justify-content:space-between;align-items:center;gap:1.25rem 2rem}.LUNerq_contact .LUNerq_contactActions{flex-flow:wrap;align-items:center;margin-top:0}}@media (max-width:1100px){.LUNerq_header{border-radius:20px;flex-wrap:wrap;gap:.25rem .5rem}.LUNerq_headerTools{margin-left:auto}.LUNerq_nav{scrollbar-width:none;border-top:1px solid var(--line);flex:1 0 100%;order:3;margin:0 -.5rem 0 -1.5rem;padding-top:.25rem;overflow-x:auto}.LUNerq_nav ul{padding:0 .5rem}}@media (max-width:680px){.LUNerq_root{--pad:1.375rem;--radius:20px;--gap:.75rem;font-size:1rem}.LUNerq_header{width:calc(100% - 1.5rem);padding:.5rem .5rem .5rem 1rem;position:static}.LUNerq_nav{margin-left:-1rem}.LUNerq_nav ul{padding:0 .25rem}.LUNerq_root .LUNerq_nav a{min-height:2.75rem;padding:0 .75rem}.LUNerq_header .LUNerq_iconButton{width:2.75rem;height:2.75rem}.LUNerq_root .LUNerq_buttonSmall{min-height:2.75rem}.LUNerq_main{padding:0 .75rem 1.5rem}.LUNerq_bento{padding-top:.75rem}.LUNerq_intro,.LUNerq_portraitTile{grid-column:1/-1}.LUNerq_intro{--pad:1.5rem}.LUNerq_portraitTile{aspect-ratio:5/4;order:-1;min-height:0}.LUNerq_name{font-size:2.5rem}.LUNerq_title{font-size:1.125rem}.LUNerq_lead{font-size:1.0625rem}.LUNerq_actions .LUNerq_button{flex:auto;justify-content:center}.LUNerq_aboutText p:first-child{font-size:1.0625rem}.LUNerq_section{padding-top:3rem}.LUNerq_sectionTitle{margin-bottom:1rem}.LUNerq_entry{grid-template-columns:minmax(0,1fr);gap:.875rem}.LUNerq_entryHead{flex-direction:column}.LUNerq_entryDates{grid-auto-flow:column;justify-items:start;gap:.75rem}.LUNerq_footer{flex-direction:column-reverse;align-items:flex-start;width:calc(100% - 1.5rem)}.LUNerq_footerLinks li:first-child{flex-basis:100%}.LUNerq_pageHead{padding-top:2.5rem}.LUNerq_noteLayout{padding-top:1.25rem}}@media (prefers-reduced-motion:reduce){.LUNerq_root *,.LUNerq_root :before,.LUNerq_root :after{transition:none!important}}
@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/952f0fd261157ce3-s.1h5ghcc0-68q4.woff2)format("woff2");unicode-range:U+460-52F,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:100 700;font-stretch:100%;font-display:swap;src:url(../media/69169fb36b2bd6d2-s.3hqmiedoxdxj3.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/fce1204c21d111e2-s.1m6najulsiwn1.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/7a0633ae85d274ff-s.2vlsmdp06a-1a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/d9e1577adfc6a783-s.2gzr86v_z86ti.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/37a1c0476297a605-s.1h8-jjotlc3p8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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:100 700;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,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:100 700;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}._QXCRq_className{font-family:IBM Plex Sans,IBM Plex Sans Fallback}._QXCRq_variable{--font-resume:"IBM Plex Sans", "IBM Plex Sans Fallback"}
html:has(._2mAIXG_root){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--backdrop:var(--lightningcss-light,#eceef0)var(--lightningcss-dark,#0f1113);--sheet:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1a1d20);--sheet-edge:var(--lightningcss-light,#14191e0f)var(--lightningcss-dark,#2a2f34);--surface-2:var(--lightningcss-light,#f1f3f4)var(--lightningcss-dark,#24282c);--line:var(--lightningcss-light,#e1e4e7)var(--lightningcss-dark,#30353a);--line-strong:var(--lightningcss-light,#cdd2d6)var(--lightningcss-dark,#3d434a);--ink:var(--lightningcss-light,#15191c)var(--lightningcss-dark,#e9ecee);--ink-2:var(--lightningcss-light,#3a4249)var(--lightningcss-dark,#c3c9ce);--muted:var(--lightningcss-light,#5b646c)var(--lightningcss-dark,#9ba3aa);--accent:var(--lightningcss-light,#0c6362)var(--lightningcss-dark,#6cc6bf);--accent-hover:var(--lightningcss-light,#094e4d)var(--lightningcss-dark,#8ad6d0);--accent-ink:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0b1918);--accent-soft:var(--lightningcss-light,#e3f0ef)var(--lightningcss-dark,#17302f);--shadow-near:var(--lightningcss-light,#14191e0f)var(--lightningcss-dark,#00000080);--shadow-far:var(--lightningcss-light,#14191e33)var(--lightningcss-dark,#000000bf);--shadow:0 1px 2px var(--shadow-near), 0 14px 36px -18px var(--shadow-far);background:var(--backdrop)}@media (prefers-color-scheme:dark){html:has(._2mAIXG_root){--lightningcss-light: ;--lightningcss-dark:initial}}html[data-color=light]:has(._2mAIXG_root){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-color=dark]:has(._2mAIXG_root){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}._2mAIXG_root{--font:var(--font-resume), ui-sans-serif, system-ui, sans-serif;--page:60rem;background:var(--backdrop);min-height:100dvh;color:var(--ink);font-family:var(--font);flex-direction:column;font-size:1rem;line-height:1.6;display:flex}._2mAIXG_root a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}._2mAIXG_root a:hover{color:var(--accent-hover)}._2mAIXG_root :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:where(._2mAIXG_root) h1,:where(._2mAIXG_root) h2,:where(._2mAIXG_root) h3{text-wrap:balance;margin:0;line-height:1.25}:where(._2mAIXG_root) p{margin:0}:where(._2mAIXG_root) ul,:where(._2mAIXG_root) ol{margin:0;padding:0;list-style:none}:where(._2mAIXG_root) button{font:inherit}._2mAIXG_muted{color:var(--muted)}._2mAIXG_bar{width:100%;max-width:calc(var(--page) + 2.5rem);align-items:center;gap:.75rem;margin:0 auto;padding:.75rem 1.25rem;display:flex}._2mAIXG_root ._2mAIXG_brand{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:600;text-decoration:none;overflow:hidden}._2mAIXG_barNav{margin-left:auto}._2mAIXG_root ._2mAIXG_barNav a{min-height:2.5rem;color:var(--ink-2);border-radius:6px;align-items:center;padding:0 .75rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}._2mAIXG_root ._2mAIXG_barNav a:hover,._2mAIXG_root ._2mAIXG_barNav a[aria-current=page]{background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink)}._2mAIXG_barTools{align-items:center;gap:.375rem;display:flex}._2mAIXG_root ._2mAIXG_barButton{border:1px solid var(--line-strong);background:var(--sheet);min-height:2.5rem;color:var(--ink);white-space:nowrap;cursor:pointer;border-radius:6px;align-items:center;gap:.4375rem;padding:0 .875rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}._2mAIXG_root ._2mAIXG_barButton:hover{border-color:var(--accent);color:var(--ink)}._2mAIXG_root ._2mAIXG_button{background:var(--accent);max-width:100%;min-height:2.75rem;color:var(--accent-ink);border-radius:6px;align-items:center;gap:.5rem;padding:0 1.125rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background-color .15s;display:inline-flex}._2mAIXG_root ._2mAIXG_button:hover{background:var(--accent-hover);color:var(--accent-ink)}._2mAIXG_root ._2mAIXG_iconButton{border:1px solid var(--line-strong);width:2.75rem;height:2.75rem;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:6px;place-items:center;transition:background-color .15s,color .15s;display:inline-grid}._2mAIXG_root ._2mAIXG_iconButton:hover{background:var(--surface-2);color:var(--ink)}._2mAIXG_bar ._2mAIXG_iconButton{background:var(--sheet);width:2.5rem;height:2.5rem}._2mAIXG_main{width:100%;max-width:calc(var(--page) + 2.5rem);flex:1;margin:0 auto;padding:.25rem 1.25rem 2.5rem}._2mAIXG_sheet{background:var(--sheet);box-shadow:0 0 0 1px var(--sheet-edge), var(--shadow);border-radius:6px;padding:3.25rem 3.75rem 3.5rem}._2mAIXG_sheetHead{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2.25rem;margin-bottom:2.25rem;padding-bottom:2.25rem;display:grid}._2mAIXG_portrait{object-fit:cover;background:var(--surface-2);border-radius:50%;width:7.5rem;height:7.5rem}._2mAIXG_headText{min-width:0}._2mAIXG_name{letter-spacing:-.025em;font-size:clamp(2rem,1.5vw + 1.5rem,2.625rem);font-weight:700;line-height:1.1}._2mAIXG_title{color:var(--ink-2);margin-top:.375rem;font-size:1.125rem;font-weight:500}._2mAIXG_positioning{max-width:40rem;margin-top:.875rem;font-size:1.0625rem;line-height:1.55}._2mAIXG_actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.375rem;display:flex}._2mAIXG_columns{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:3rem;display:grid}._2mAIXG_colMain,._2mAIXG_colSide,._2mAIXG_single{grid-template-columns:minmax(0,1fr);align-content:start;gap:2.5rem;display:grid;container:col/inline-size}._2mAIXG_colMain,._2mAIXG_colSide{grid-row:1}._2mAIXG_colMain{grid-column:2}._2mAIXG_colSide{grid-column:1}._2mAIXG_section{scroll-margin-top:1rem}._2mAIXG_sectionTitle{letter-spacing:-.01em;border-bottom:1px solid var(--accent);margin-bottom:1.125rem;padding-bottom:.5rem;font-size:1.125rem;font-weight:650}._2mAIXG_titleRow{border-bottom:1px solid var(--accent);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.125rem;padding-bottom:.5rem;display:flex}._2mAIXG_titleRow ._2mAIXG_sectionTitle{border:0;margin:0;padding:0}._2mAIXG_text{color:var(--ink-2);font-size:.9375rem}._2mAIXG_small{color:var(--ink-2);font-size:.875rem}._2mAIXG_bio{color:var(--ink-2);gap:.875rem;display:grid}._2mAIXG_roles{grid-template-columns:minmax(0,1fr);display:grid}._2mAIXG_role{border-top:1px solid var(--line);grid-template-columns:2.25rem minmax(0,1fr);gap:.875rem;padding:1.375rem 0;display:grid}._2mAIXG_role:first-child{border-top:0;padding-top:.25rem}._2mAIXG_role:last-child{padding-bottom:0}._2mAIXG_mark{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);letter-spacing:.02em;border-radius:6px;place-items:center;font-size:.75rem;font-weight:700;display:grid;overflow:hidden}._2mAIXG_roleBody{min-width:0}._2mAIXG_roleHead{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.125rem 1rem;display:grid}._2mAIXG_entryTitle{font-size:1rem;font-weight:650;line-height:1.35}._2mAIXG_roleOrg{color:var(--ink-2);font-size:.9375rem}._2mAIXG_dates{color:var(--ink-2);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.875rem}._2mAIXG_duration{color:var(--muted)}._2mAIXG_roleBody>._2mAIXG_text{margin-top:.625rem}._2mAIXG_bullets{color:var(--ink-2);gap:.3125rem;margin-top:.625rem;font-size:.9375rem;display:grid}._2mAIXG_bullets li{padding-left:1rem;position:relative}._2mAIXG_bullets li:before{content:"–";color:var(--muted);position:absolute;left:0}._2mAIXG_bulletsSmall{gap:.25rem;margin-top:.375rem;font-size:.8125rem}._2mAIXG_chips{flex-wrap:wrap;gap:.3125rem;margin-top:.75rem;display:flex}._2mAIXG_chips li{background:var(--surface-2);color:var(--ink-2);border:1px solid #0000;border-radius:4px;padding:.0625rem .5rem;font-size:.8125rem;line-height:1.6}._2mAIXG_pubs{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}._2mAIXG_pub{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);gap:.1875rem;display:grid}._2mAIXG_pubMeta{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:.5rem;font-size:.8125rem;display:flex}._2mAIXG_badge{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:0 .4375rem;font-size:.75rem;font-weight:600;line-height:1.6}._2mAIXG_pubTitle{margin-top:.125rem;font-size:.9375rem;font-weight:650;line-height:1.4}._2mAIXG_ident{white-space:nowrap;margin-right:.875rem}._2mAIXG_projects{grid-template-columns:minmax(0,1fr);gap:1.375rem;display:grid}._2mAIXG_project{align-items:flex-start;gap:1rem;display:flex}._2mAIXG_projectImage{aspect-ratio:16/10;object-fit:cover;border:1px solid var(--line);border-radius:4px;flex:none;width:7.5rem;height:auto}._2mAIXG_projectBody{flex:1;gap:.375rem;min-width:0;display:grid}._2mAIXG_projectBody ._2mAIXG_chips{margin-top:.25rem}._2mAIXG_root ._2mAIXG_titleLink{color:var(--ink);align-items:center;gap:.25rem;text-decoration:none;display:inline-flex}._2mAIXG_root ._2mAIXG_titleLink:hover{color:var(--accent);text-decoration:underline}._2mAIXG_root ._2mAIXG_titleLink svg{color:var(--accent);flex:none}._2mAIXG_quote{border-left:1px solid var(--accent);margin:0;padding-left:1.125rem}._2mAIXG_quote blockquote{color:var(--ink);margin:0;font-style:italic;line-height:1.65}._2mAIXG_quote figcaption{color:var(--ink-2);flex-wrap:wrap;gap:.125rem .625rem;margin-top:.75rem;font-size:.875rem;display:flex}._2mAIXG_details{color:var(--ink-2);gap:.5rem;font-size:.9375rem;display:grid}._2mAIXG_details li{overflow-wrap:anywhere;grid-template-columns:1rem minmax(0,1fr);align-items:start;gap:.625rem;display:grid}._2mAIXG_details svg{color:var(--muted);margin-top:.25rem}._2mAIXG_skillGroups{gap:1.125rem;display:grid}._2mAIXG_groupTitle{font-size:.875rem;font-weight:600}._2mAIXG_skillGroups ._2mAIXG_chips{margin-top:.4375rem}._2mAIXG_langs{gap:.25rem;margin-top:.375rem;font-size:.9375rem;display:grid}._2mAIXG_langs strong{font-weight:600}._2mAIXG_edu{gap:1.375rem;display:grid}._2mAIXG_eduItem{gap:.125rem;display:grid}._2mAIXG_eduTitle{font-size:.9375rem;font-weight:650;line-height:1.35}._2mAIXG_eduOrg{color:var(--ink-2);font-size:.875rem}._2mAIXG_eduDates{color:var(--muted)}._2mAIXG_eduText{color:var(--ink-2);margin-top:.25rem;font-size:.875rem}._2mAIXG_tagLine{color:var(--muted);margin-top:.375rem;font-size:.8125rem}._2mAIXG_after{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1.5rem;margin-top:1.5rem;display:grid}._2mAIXG_afterBlock{background:var(--sheet);box-shadow:0 0 0 1px var(--sheet-edge), var(--shadow);border-radius:6px;padding:2rem 2.25rem;scroll-margin-top:1rem}._2mAIXG_afterTitle{letter-spacing:-.015em;margin-bottom:.75rem;font-size:1.25rem;font-weight:650}._2mAIXG_root ._2mAIXG_moreLink{white-space:nowrap;align-items:center;gap:.25rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}._2mAIXG_root ._2mAIXG_moreLink:hover{text-decoration:underline}._2mAIXG_afterBlock:has(._2mAIXG_contactInner){container-type:inline-size}._2mAIXG_contactInner{grid-template-columns:minmax(0,1fr);justify-items:start;gap:1.125rem;display:grid}@container (min-width:36rem){._2mAIXG_contactInner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem}}._2mAIXG_root ._2mAIXG_emailButton{overflow-wrap:anywhere}._2mAIXG_noteList{border-top:1px solid var(--line);display:grid}._2mAIXG_notesSection ._2mAIXG_noteList{border-top:0}._2mAIXG_notesSection ._2mAIXG_noteList li:last-child{border-bottom:0}._2mAIXG_noteList li{border-bottom:1px solid var(--line)}._2mAIXG_root ._2mAIXG_noteRow{color:inherit;border-radius:4px;gap:.1875rem;margin:0 -.5rem;padding:.875rem .5rem;text-decoration:none;transition:background-color .15s;display:grid}._2mAIXG_root ._2mAIXG_noteRow:hover{background:var(--surface-2)}._2mAIXG_noteTitle{color:var(--ink);font-weight:600;line-height:1.4}._2mAIXG_root ._2mAIXG_noteRow:hover ._2mAIXG_noteTitle{color:var(--accent)}._2mAIXG_noteExcerpt{color:var(--ink-2);font-size:.9375rem}._2mAIXG_noteMeta{color:var(--muted);font-size:.875rem}._2mAIXG_empty{color:var(--muted)}._2mAIXG_footer{width:100%;max-width:calc(var(--page) + 2.5rem);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin:0 auto;padding:0 1.25rem 2rem;font-size:.875rem;display:flex}._2mAIXG_footerLinks{gap:.125rem;margin-left:-.625rem;display:flex}._2mAIXG_root ._2mAIXG_footerLinks a{width:2.75rem;height:2.75rem;color:var(--ink-2);border-radius:6px;place-items:center;display:inline-grid}._2mAIXG_root ._2mAIXG_footerLinks a:hover{background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink)}._2mAIXG_sheetText>*{max-width:46rem;margin-inline:auto}._2mAIXG_pageHead{padding-bottom:1.75rem}._2mAIXG_pageTitle{letter-spacing:-.025em;font-size:clamp(2rem,2vw + 1.25rem,2.5rem);font-weight:700}._2mAIXG_pageLead{color:var(--ink-2);margin-top:.625rem}._2mAIXG_back{font-size:.9375rem;font-weight:600}._2mAIXG_root ._2mAIXG_back a{text-decoration:none}._2mAIXG_root ._2mAIXG_back a:hover{text-decoration:underline}._2mAIXG_articleHead{border-bottom:1px solid var(--line);gap:.75rem;margin-top:1.25rem;margin-bottom:2rem;padding-bottom:1.5rem;display:grid}._2mAIXG_articleTitle{letter-spacing:-.025em;font-size:clamp(1.875rem,2.5vw + 1rem,2.5rem);font-weight:700;line-height:1.15}._2mAIXG_toc{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;margin-bottom:2rem;padding:1rem 1.25rem;font-size:.9375rem}._2mAIXG_tocTitle{margin-bottom:.375rem;font-weight:650}._2mAIXG_toc ol{gap:.25rem;display:grid}._2mAIXG_tocSub{padding-left:1rem}._2mAIXG_prose{color:var(--ink);font-size:1.0625rem;line-height:1.7}._2mAIXG_prose>.prose>*+*{margin-top:1.2em}._2mAIXG_prose>.prose>h2{margin-top:2.2em}._2mAIXG_prose>.prose>h3{margin-top:1.75em}:is(._2mAIXG_prose>.prose>h2+*,._2mAIXG_prose>.prose>h3+*){margin-top:.6em}._2mAIXG_prose>.prose>:first-child{margin-top:0}._2mAIXG_prose h2{letter-spacing:-.015em;scroll-margin-top:1rem;font-size:1.4375rem}._2mAIXG_prose h3{scroll-margin-top:1rem;font-size:1.1875rem}._2mAIXG_prose ul,._2mAIXG_prose ol{list-style:revert;padding-left:1.375rem}._2mAIXG_prose li+li{margin-top:.375em}._2mAIXG_prose blockquote{border-left:1px solid var(--accent);color:var(--ink-2);margin-left:0;margin-right:0;padding:.25rem 0 .25rem 1.125rem}._2mAIXG_prose code{background:var(--surface-2);border-radius:4px;padding:.125em .375em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.875em}._2mAIXG_prose pre{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;padding:1rem 1.25rem;font-size:.875rem;line-height:1.6;overflow-x:auto}._2mAIXG_prose pre code{background:0 0;padding:0}._2mAIXG_prose img{border-radius:6px;max-width:100%;height:auto}._2mAIXG_prose .table-scroll{overflow-x:auto}._2mAIXG_prose table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9375rem}._2mAIXG_prose th,._2mAIXG_prose td{border-bottom:1px solid var(--line);text-align:left;padding:.5rem .75rem}._2mAIXG_prose th{border-bottom-color:var(--line-strong);font-weight:600}._2mAIXG_prose hr{border:0;border-top:1px solid var(--line)}._2mAIXG_sources{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem;font-size:.9375rem}._2mAIXG_sourcesTitle{margin-bottom:.75rem;font-size:1.125rem}._2mAIXG_sources ol{gap:.5rem;display:grid}._2mAIXG_sources li{overflow-wrap:anywhere;scroll-margin-top:1rem}._2mAIXG_sources li:target{background:var(--accent-soft);border-radius:4px}._2mAIXG_sourceN{color:var(--muted);font-variant-numeric:tabular-nums}._2mAIXG_pager{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.75rem;margin-top:2.5rem;display:grid}._2mAIXG_root ._2mAIXG_pagerLink{border:1px solid var(--line);color:inherit;border-radius:6px;gap:.25rem;padding:.875rem 1.125rem;text-decoration:none;transition:border-color .15s;display:grid}._2mAIXG_root ._2mAIXG_pagerLink:hover{border-color:var(--accent)}._2mAIXG_pagerLabel{color:var(--muted);font-size:.8125rem}._2mAIXG_pagerTitle{font-weight:600}._2mAIXG_root ._2mAIXG_pagerAll{place-self:center start;align-items:center;min-height:2.75rem;font-size:.9375rem;font-weight:600;display:inline-flex}@container col (max-width:26rem){._2mAIXG_roleHead{grid-template-columns:auto minmax(0,1fr);column-gap:.25rem}._2mAIXG_roleHead>:first-child,._2mAIXG_roleHead>:nth-child(3){grid-column:1/-1}._2mAIXG_roleHead ._2mAIXG_dates{text-align:left;white-space:normal;margin-top:.125rem}._2mAIXG_roleHead>:nth-child(2){order:3}._2mAIXG_roleHead>:nth-child(3){order:2}._2mAIXG_roleHead>:nth-child(4){order:4}._2mAIXG_duration:before{content:"· "}._2mAIXG_role{grid-template-columns:2rem minmax(0,1fr);gap:.75rem}._2mAIXG_project{flex-direction:column}._2mAIXG_projectImage{width:100%}}@container col (min-width:31rem){._2mAIXG_skillGroup{grid-template-columns:9.5rem minmax(0,1fr);align-items:start;gap:1rem;display:grid}._2mAIXG_skillGroup ._2mAIXG_groupTitle{padding-top:.125rem}._2mAIXG_skillGroups ._2mAIXG_chips,._2mAIXG_skillGroup ._2mAIXG_langs{margin-top:0}._2mAIXG_skillGroup ._2mAIXG_langs{flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}._2mAIXG_details{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.5rem 1.5rem}}@media screen and (max-width:820px){._2mAIXG_columns{grid-template-columns:minmax(0,1fr);gap:2.5rem}._2mAIXG_colMain,._2mAIXG_colSide{grid-area:auto/1}}@media screen and (max-width:720px){._2mAIXG_bar{gap:.25rem;padding:.5rem .625rem .5rem 1rem}._2mAIXG_root ._2mAIXG_barNav a,._2mAIXG_root ._2mAIXG_barButton{min-height:2.75rem}._2mAIXG_bar ._2mAIXG_iconButton{width:2.75rem;height:2.75rem}._2mAIXG_root ._2mAIXG_printButton{display:none}._2mAIXG_main{padding:0 .5rem 2rem}._2mAIXG_sheet{padding:1.75rem 1.25rem 2.25rem}._2mAIXG_sheetHead{grid-template-columns:minmax(0,1fr);gap:1.25rem;margin-bottom:1.75rem;padding-bottom:1.75rem}._2mAIXG_portrait{width:5.5rem;height:5.5rem}._2mAIXG_longLabel{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}._2mAIXG_after{gap:.75rem;margin-top:.75rem}._2mAIXG_afterBlock{padding:1.5rem 1.25rem}._2mAIXG_footer{padding:0 1rem 1.5rem}}@media print{html:has(._2mAIXG_root){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;font-size:12.5px}html[data-color]:has(._2mAIXG_root){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;font-size:12.5px}._2mAIXG_root{--ink:#000;--ink-2:#1c1c1c;--muted:#4a4a4a;--line:#d4d4d4;--accent:#0c5554;--accent-soft:#fff;--surface-2:#fff;--sheet:#fff;color:#000;background:#fff;min-height:0}._2mAIXG_bar,._2mAIXG_after,._2mAIXG_notesSection,._2mAIXG_footer,._2mAIXG_actions,._2mAIXG_back,._2mAIXG_pager{display:none}._2mAIXG_main{max-width:none;padding:0}._2mAIXG_sheet{box-shadow:none;border-radius:0;padding:0}._2mAIXG_sheetHead{gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.25rem}._2mAIXG_portrait{width:5.5rem;height:5.5rem}._2mAIXG_columns{gap:2rem}._2mAIXG_colMain,._2mAIXG_colSide,._2mAIXG_single{gap:1.75rem}._2mAIXG_root a{color:inherit;text-decoration:none}._2mAIXG_chips{color:var(--muted);margin-top:.375rem;display:block}._2mAIXG_chips li{color:inherit;background:0 0;border:0;padding:0;display:inline}._2mAIXG_chips li+li:before{content:" · "}._2mAIXG_badge{color:var(--accent);padding:0}._2mAIXG_role,._2mAIXG_pub,._2mAIXG_project,._2mAIXG_eduItem,._2mAIXG_quote,._2mAIXG_skillGroup{break-inside:avoid}._2mAIXG_sectionTitle,._2mAIXG_titleRow,._2mAIXG_groupTitle,._2mAIXG_prose h2,._2mAIXG_prose h3{break-after:avoid}._2mAIXG_sheetText>*{max-width:none}}@media (prefers-reduced-motion:reduce){._2mAIXG_root *,._2mAIXG_root :before{transition:none!important}}
@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/224e262ef877bfa4-s.1zkvd_innyig_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/7f11d98043fdedc9-s.2c8-7nzo1jf9r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1vcas2uk12q5a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.2demiz2t05dx4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/07454f8ad8aaac57-s.2kjei9psvcorz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.Foa_Qq_className{font-family:Nunito,Nunito Fallback;font-style:normal}.Foa_Qq_variable{--font-soft:"Nunito", "Nunito Fallback"}
html:has(.zF2S1q_root){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f8f6fb)var(--lightningcss-dark,#1b1322);--blend-1:var(--lightningcss-light,#e6ddfb)var(--lightningcss-dark,#331d47);--blend-2:var(--lightningcss-light,#fde1d3)var(--lightningcss-dark,#36192f);--blend-3:var(--lightningcss-light,#d9f2e6)var(--lightningcss-dark,#15302b);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#241a2e);--surface-2:var(--lightningcss-light,#f5f2fc)var(--lightningcss-dark,#2f2439);--surface-3:var(--lightningcss-light,#ece6fa)var(--lightningcss-dark,#3a2d48);--line:var(--lightningcss-light,#ebe6f3)var(--lightningcss-dark,#392d46);--ink:var(--lightningcss-light,#1f1a2e)var(--lightningcss-dark,#f4eff9);--ink-2:var(--lightningcss-light,#463f5a)var(--lightningcss-dark,#d5cbe1);--muted:var(--lightningcss-light,#665e7b)var(--lightningcss-dark,#ab9fbb);--accent:var(--lightningcss-light,#6a4bd6)var(--lightningcss-dark,#bba5ff);--accent-strong:var(--lightningcss-light,#5a3cc2)var(--lightningcss-dark,#cdbcff);--accent-ink:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1c1230);--accent-soft:var(--lightningcss-light,#efeafd)var(--lightningcss-dark,#352650);--shadow-c:var(--lightningcss-light,#34246029)var(--lightningcss-dark,#0000008c);--shadow-hover-c:var(--lightningcss-light,#5a3cc259)var(--lightningcss-dark,#0009);--shadow-tab-c:var(--lightningcss-light,#5a3cc28c)var(--lightningcss-dark,#00000080);--shadow-panel:0 12px 32px -16px var(--shadow-c), 0 1px 2px var(--shadow-c);--shadow-hover:0 10px 24px -10px var(--shadow-hover-c);background:var(--bg)}@media (prefers-color-scheme:dark){html:has(.zF2S1q_root){--lightningcss-light: ;--lightningcss-dark:initial}}html[data-color=light]:has(.zF2S1q_root){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-color=dark]:has(.zF2S1q_root){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.zF2S1q_root{--font:var(--font-soft), ui-rounded, ui-sans-serif, system-ui, sans-serif;--col:58rem;--radius:20px;--pad:clamp(1.375rem, 3vw + .5rem, 2.5rem);isolation:isolate;min-height:100dvh;color:var(--ink);font-family:var(--font);flex-direction:column;font-size:1.0625rem;line-height:1.65;display:flex;position:relative}.zF2S1q_root:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60rem 42rem at 8% -6%, var(--blend-1), transparent 70%), radial-gradient(52rem 40rem at 100% 8%, var(--blend-2), transparent 70%), radial-gradient(64rem 44rem at 40% 108%, var(--blend-3), transparent 70%), var(--bg);position:fixed;inset:0}.zF2S1q_root a{color:var(--accent-strong);text-underline-offset:.18em;text-decoration-thickness:1px}.zF2S1q_root :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:10px}:where(.zF2S1q_root) h1,:where(.zF2S1q_root) h2,:where(.zF2S1q_root) h3{text-wrap:balance;margin:0;line-height:1.2}:where(.zF2S1q_root) p{margin:0}:where(.zF2S1q_root) ul,:where(.zF2S1q_root) ol{margin:0;padding:0;list-style:none}:where(.zF2S1q_root) dl,:where(.zF2S1q_root) dd,:where(.zF2S1q_root) figure,:where(.zF2S1q_root) blockquote{margin:0}.zF2S1q_muted{color:var(--muted)}.zF2S1q_header{z-index:10;margin-top:.75rem;padding:0 1rem;position:sticky;top:.75rem}.zF2S1q_headerInner{max-width:var(--col);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);border-radius:999px;align-items:center;gap:1rem;margin:0 auto;padding:.375rem .375rem .375rem 1.25rem;display:flex}.zF2S1q_root .zF2S1q_brand{color:var(--ink);letter-spacing:-.01em;white-space:nowrap;font-weight:800;text-decoration:none}.zF2S1q_nav{margin-left:auto}.zF2S1q_nav ul{gap:.125rem;display:flex}.zF2S1q_root .zF2S1q_nav a{color:var(--ink-2);border-radius:999px;padding:.4375rem .8125rem;font-size:.9375rem;font-weight:650;text-decoration:none;transition:background-color .15s,color .15s;display:block}.zF2S1q_root .zF2S1q_nav a:hover,.zF2S1q_root .zF2S1q_nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-strong)}.zF2S1q_headerTools{align-items:center;gap:.375rem;display:flex}.zF2S1q_root .zF2S1q_button{background:var(--accent);min-height:2.875rem;color:var(--accent-ink);border:0;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:0 1.375rem;font-size:.9375rem;font-weight:700;text-decoration:none;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s,background-color .15s;display:inline-flex}.zF2S1q_root .zF2S1q_button:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.zF2S1q_root .zF2S1q_buttonSoft{background:var(--accent-soft);color:var(--accent-strong)}.zF2S1q_root .zF2S1q_buttonSoft:hover{background:var(--surface-3);box-shadow:none}.zF2S1q_root .zF2S1q_buttonSmall{min-height:2.5rem;padding:0 1.125rem;font-size:.875rem}.zF2S1q_root .zF2S1q_buttonWrap{overflow-wrap:anywhere;text-align:left}.zF2S1q_root .zF2S1q_iconButton{background:var(--surface-2);width:2.875rem;height:2.875rem;color:var(--ink-2);cursor:pointer;border:0;border-radius:999px;flex:none;place-items:center;transition:background-color .15s,color .15s;display:inline-grid}.zF2S1q_root .zF2S1q_iconButton:hover{background:var(--accent-soft);color:var(--accent-strong)}.zF2S1q_header .zF2S1q_iconButton{width:2.5rem;height:2.5rem}.zF2S1q_main{width:100%;max-width:calc(var(--col) + 2rem);flex:1;grid-template-columns:minmax(0,1fr);align-content:start;gap:1.25rem;margin:0 auto;padding:2rem 1rem 3rem;display:grid}.zF2S1q_panel{padding:var(--pad);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);scroll-margin-top:5.5rem}.zF2S1q_panelTitle{letter-spacing:-.02em;margin-bottom:1.5rem;font-size:1.5rem;font-weight:800}.zF2S1q_root .zF2S1q_moreLink{align-items:center;gap:.25rem;min-height:2.75rem;font-size:.9375rem;font-weight:700;text-decoration:none;display:inline-flex}.zF2S1q_root .zF2S1q_moreLink:hover{text-decoration:underline}.zF2S1q_intro{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2.5rem;padding:clamp(1.75rem,4vw + .5rem,3.25rem);display:grid}.zF2S1q_portrait{object-fit:cover;background:var(--surface-2);border:6px solid var(--accent-soft);border-radius:50%;width:11rem;height:11rem}.zF2S1q_introText{grid-template-columns:minmax(0,1fr);justify-items:start;display:grid}.zF2S1q_name{letter-spacing:-.03em;font-size:clamp(2.125rem,3vw + 1.25rem,3.25rem);font-weight:800;line-height:1.08}.zF2S1q_title{color:var(--accent-strong);margin-top:.5rem;font-size:1.125rem;font-weight:700}.zF2S1q_lead{color:var(--ink-2);max-width:40rem;margin-top:1rem;font-size:1.1875rem;line-height:1.55}.zF2S1q_meta{color:var(--muted);flex-wrap:wrap;gap:.375rem 1.25rem;margin-top:1rem;font-size:.9375rem;display:flex}.zF2S1q_meta li{align-items:flex-start;gap:.375rem;display:inline-flex}.zF2S1q_meta svg{flex:none;margin-top:.25em}.zF2S1q_actions{flex-wrap:wrap;align-items:center;gap:.625rem;margin-top:1.75rem;display:flex}.zF2S1q_about{color:var(--ink-2);gap:1rem;max-width:68ch;display:grid}.zF2S1q_tabs{scroll-margin-top:5.5rem}.zF2S1q_tabList{background:var(--surface-2);border-radius:1.6875rem;flex-wrap:wrap;gap:.25rem;width:fit-content;max-width:100%;margin-bottom:1.75rem;padding:.3125rem;display:flex}.zF2S1q_root .zF2S1q_tab{min-height:2.75rem;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:0 1.125rem;font-size:.9375rem;font-weight:700;transition:background-color .2s,color .2s,box-shadow .2s;display:inline-flex}.zF2S1q_root .zF2S1q_tab:hover{color:var(--ink);background:var(--surface-3)}.zF2S1q_root .zF2S1q_tab[aria-selected=true]{background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 14px -8px var(--shadow-tab-c)}.zF2S1q_tabCount{background:var(--surface);min-width:1.5rem;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;padding:0 .375rem;font-size:.75rem;line-height:1.5rem}.zF2S1q_root .zF2S1q_tab[aria-selected=true] .zF2S1q_tabCount{background:var(--accent-strong);color:var(--accent-ink)}.zF2S1q_tabPanel{scroll-margin-top:5.5rem}.zF2S1q_tabPanel:focus-visible{outline-offset:8px}.zF2S1q_tabs:not([data-tabbed]) .zF2S1q_tabPanel+.zF2S1q_tabPanel{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:2.5rem}.zF2S1q_entries{grid-template-columns:minmax(0,1fr);display:grid}.zF2S1q_entry{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);gap:1.125rem;padding:1.5rem 0;display:grid}.zF2S1q_entry:first-child{border-top:0;padding-top:0}.zF2S1q_entry:last-child{padding-bottom:0}.zF2S1q_mark{background:var(--accent-soft);color:var(--accent-strong);letter-spacing:.02em;border-radius:14px;flex:none;place-items:center;font-size:.875rem;font-weight:800;display:grid;overflow:hidden}.zF2S1q_mark:has(img){border:1px solid var(--line);background:#fff}.zF2S1q_entryHead{justify-content:space-between;align-items:flex-start;gap:.25rem 1.5rem;display:flex}.zF2S1q_entryTitle{font-size:1.125rem;font-weight:750}.zF2S1q_entryOrg{color:var(--ink-2);margin-top:.125rem;font-size:.9375rem;font-weight:600}.zF2S1q_entryDates{color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;justify-items:end;font-size:.875rem;display:grid}.zF2S1q_entrySummary{color:var(--ink-2);margin-top:.75rem;font-size:.9375rem}.zF2S1q_bullets{color:var(--ink-2);gap:.375rem;margin-top:.75rem;font-size:.9375rem;display:grid}.zF2S1q_bullets li{padding-left:1.125rem;position:relative}.zF2S1q_bullets li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.66em;left:.125rem}.zF2S1q_chips{flex-wrap:wrap;gap:.375rem;margin-top:.875rem;display:flex}.zF2S1q_chips li{background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:.1875rem .6875rem;font-size:.8125rem;font-weight:650;line-height:1.5}.zF2S1q_chipsOnTint li{background:var(--surface)}.zF2S1q_projects{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:1rem;display:grid}.zF2S1q_project{background:var(--surface-2);border-radius:16px;flex-direction:column;transition:background-color .2s,transform .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.zF2S1q_project:has(a:hover){background:var(--surface-3);transform:translateY(-2px)}.zF2S1q_projectImage{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto}.zF2S1q_projectBody{color:var(--ink-2);grid-template-columns:minmax(0,1fr);align-content:start;gap:.5rem;padding:1.375rem;font-size:.9375rem;display:grid}.zF2S1q_projectTitle{color:var(--ink);font-size:1.125rem;font-weight:750}.zF2S1q_projectBody .zF2S1q_chips{margin-top:.5rem}.zF2S1q_root .zF2S1q_cardLink{color:inherit;text-decoration:none;display:inline}.zF2S1q_root .zF2S1q_cardLink svg{vertical-align:-.125em;color:var(--accent);margin-left:.25rem;display:inline}.zF2S1q_root .zF2S1q_cardLink:after{content:"";border-radius:16px;position:absolute;inset:0}.zF2S1q_pubs{grid-template-columns:minmax(0,1fr);display:grid}.zF2S1q_pub{border-top:1px solid var(--line);overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);gap:.25rem;padding:1.25rem 0;font-size:.9375rem;display:grid}.zF2S1q_pub:first-child{border-top:0;padding-top:0}.zF2S1q_pub:last-child{padding-bottom:0}.zF2S1q_pubMeta{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:.625rem;margin-bottom:.25rem;font-size:.875rem;font-weight:600;display:flex}.zF2S1q_badge{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;padding:.0625rem .625rem;font-size:.8125rem;font-weight:750}.zF2S1q_pubTitle{font-size:1.0625rem;font-weight:750;line-height:1.4}.zF2S1q_pubLine{color:var(--ink-2)}.zF2S1q_idents{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.125rem 1rem;font-size:.875rem;display:flex}.zF2S1q_skills{grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:1.5rem 2rem;display:grid}.zF2S1q_skillGroup{grid-template-columns:minmax(0,1fr);align-content:start;gap:.625rem;display:grid}.zF2S1q_skillGroup dt{font-size:.9375rem;font-weight:750}.zF2S1q_skillGroup .zF2S1q_chips{margin-top:0}.zF2S1q_langs{flex-wrap:wrap;gap:.375rem 1.25rem;font-size:.9375rem;display:flex}.zF2S1q_quotePanel{background:var(--accent-soft);border-color:#0000}.zF2S1q_quote blockquote{color:var(--ink);max-width:62ch;font-size:clamp(1.125rem,.5vw + 1rem,1.3125rem);font-weight:500;line-height:1.6}.zF2S1q_quote figcaption{color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin-top:1.25rem;font-size:.9375rem;display:flex}.zF2S1q_quote figcaption strong{color:var(--accent-strong)}.zF2S1q_tabPanel .zF2S1q_quote{background:var(--accent-soft);border-radius:16px;padding:clamp(1.25rem,2vw + .75rem,2rem)}.zF2S1q_quoteSource{color:var(--ink-2);opacity:.85}.zF2S1q_notesMore{margin-top:.75rem}.zF2S1q_noteList{grid-template-columns:minmax(0,1fr);gap:.25rem;display:grid}.zF2S1q_root .zF2S1q_noteRow{color:inherit;border-radius:14px;grid-template-columns:minmax(0,1fr);gap:.25rem;margin:0 -1.125rem;padding:1rem 3rem 1rem 1.125rem;font-size:.9375rem;text-decoration:none;transition:background-color .15s;display:grid;position:relative}.zF2S1q_root .zF2S1q_noteRow:hover{background:var(--surface-2)}.zF2S1q_noteTitle{color:var(--ink);font-size:1.125rem;font-weight:750}.zF2S1q_root .zF2S1q_noteRow:hover .zF2S1q_noteTitle{color:var(--accent-strong)}.zF2S1q_noteExcerpt{color:var(--ink-2)}.zF2S1q_noteMeta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.25rem .375rem;font-size:.9375rem;display:flex}.zF2S1q_noteTags{flex-wrap:wrap;gap:.375rem;display:inline-flex}.zF2S1q_noteTags span{background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:0 .5rem;font-size:.8125rem;font-weight:650}.zF2S1q_noteArrow{color:var(--muted);transition:transform .25s cubic-bezier(.16,1,.3,1),color .15s;position:absolute;top:1.25rem;right:1.125rem}.zF2S1q_root .zF2S1q_noteRow:hover .zF2S1q_noteArrow{color:var(--accent);transform:translate(3px)}.zF2S1q_empty{color:var(--muted)}.zF2S1q_contact{text-align:center;justify-items:center;padding-block:clamp(2.25rem,4vw + 1rem,3.5rem);display:grid}.zF2S1q_contactTitle{letter-spacing:-.025em;font-size:clamp(1.75rem,2vw + 1rem,2.25rem);font-weight:800}.zF2S1q_contactLead{color:var(--ink-2);max-width:36rem;margin-top:.625rem}.zF2S1q_contact .zF2S1q_actions{justify-content:center}.zF2S1q_contactLinks{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.75rem;display:flex}.zF2S1q_footer{max-width:calc(var(--col) + 2rem);width:100%;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin:0 auto;padding:.5rem 1rem 2rem;font-size:.875rem;display:flex}.zF2S1q_footerLinks{gap:.25rem;display:flex}.zF2S1q_root .zF2S1q_footerLinks a{width:2.75rem;height:2.75rem;color:var(--ink-2);border-radius:999px;place-items:center;transition:background-color .15s,color .15s;display:inline-grid}.zF2S1q_root .zF2S1q_footerLinks a:hover{background:var(--surface);color:var(--accent-strong)}.zF2S1q_pageHead{margin-bottom:1.5rem}.zF2S1q_pageTitle{letter-spacing:-.03em;font-size:clamp(2rem,3vw + 1rem,2.75rem);font-weight:800}.zF2S1q_pageLead{color:var(--ink-2);max-width:40rem;margin-top:.5rem}.zF2S1q_article{grid-template-columns:minmax(0,1fr);justify-items:start;padding:clamp(1.375rem,4vw + .5rem,3.25rem);display:grid}.zF2S1q_article>*{justify-self:center;width:100%;max-width:42rem}.zF2S1q_back{font-size:.9375rem;font-weight:700}.zF2S1q_root .zF2S1q_back a{align-items:center;min-height:2.75rem;text-decoration:none;display:inline-flex}.zF2S1q_articleHead{gap:.875rem;margin:.5rem 0 2rem;display:grid}.zF2S1q_articleTitle{letter-spacing:-.03em;font-size:clamp(2rem,3vw + 1rem,2.75rem);font-weight:800;line-height:1.12}.zF2S1q_toc{background:var(--surface-2);border-radius:16px;margin-bottom:2.25rem;padding:1.25rem 1.5rem;font-size:.9375rem}.zF2S1q_tocTitle{margin-bottom:.5rem;font-weight:800}.zF2S1q_toc ol{gap:.25rem;display:grid}.zF2S1q_tocSub{padding-left:1rem}.zF2S1q_prose{color:var(--ink);overflow-wrap:break-word}.zF2S1q_prose>*+*{margin-top:1.25em}.zF2S1q_prose>.prose>*+*{margin-top:1.25em}.zF2S1q_prose h2{letter-spacing:-.02em;margin-top:2.25em;scroll-margin-top:6rem;font-size:1.5rem;font-weight:800}.zF2S1q_prose h3{margin-top:1.75em;scroll-margin-top:6rem;font-size:1.1875rem;font-weight:750}.zF2S1q_prose ul,.zF2S1q_prose ol{list-style:revert;padding-left:1.375rem}.zF2S1q_prose li+li{margin-top:.375em}.zF2S1q_prose li::marker{color:var(--accent)}.zF2S1q_prose blockquote{background:var(--accent-soft);color:var(--ink-2);border-radius:14px;padding:1rem 1.25rem}.zF2S1q_prose code{background:var(--surface-2);border-radius:6px;padding:.125em .375em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.875em}.zF2S1q_prose pre{background:var(--surface-2);border-radius:14px;padding:1rem 1.25rem;font-size:.875rem;line-height:1.6;overflow-x:auto}.zF2S1q_prose pre code{background:0 0;padding:0}.zF2S1q_prose img{border-radius:14px;max-width:100%;height:auto}.zF2S1q_prose table{border-collapse:collapse;width:100%;font-size:.9375rem;display:block;overflow-x:auto}.zF2S1q_prose th,.zF2S1q_prose td{border-bottom:1px solid var(--line);text-align:left;padding:.5rem .75rem}.zF2S1q_prose th{background:var(--surface-2);font-weight:750}.zF2S1q_prose th:first-child{border-top-left-radius:10px}.zF2S1q_prose th:last-child{border-top-right-radius:10px}.zF2S1q_prose hr{border:0;border-top:1px solid var(--line)}.zF2S1q_sources{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem;font-size:.9375rem}.zF2S1q_sourcesTitle{margin-bottom:.75rem;font-size:1.125rem;font-weight:800}.zF2S1q_sources ol{gap:.5rem;display:grid}.zF2S1q_sources li{overflow-wrap:anywhere;scroll-margin-top:6rem}.zF2S1q_sources li:target{background:var(--accent-soft);border-radius:8px}.zF2S1q_sourceN{color:var(--muted);font-variant-numeric:tabular-nums}.zF2S1q_pager{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;display:grid}.zF2S1q_root .zF2S1q_pagerLink{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-panel);color:inherit;border-radius:18px;gap:.25rem;padding:1.125rem 1.375rem;text-decoration:none;transition:transform .25s cubic-bezier(.16,1,.3,1);display:grid}.zF2S1q_root .zF2S1q_pagerLink:hover{transform:translateY(-2px)}.zF2S1q_pagerLabel{color:var(--muted);font-size:.8125rem;font-weight:650}.zF2S1q_pagerTitle{overflow-wrap:anywhere;font-weight:750}.zF2S1q_root .zF2S1q_pagerAll{background:var(--surface);border:1px solid var(--line);border-radius:999px;place-self:center start;align-items:center;min-height:2.75rem;padding:0 1.25rem;font-size:.9375rem;font-weight:700;text-decoration:none;display:inline-flex}@media (max-width:860px){.zF2S1q_nav{display:none}.zF2S1q_headerTools{margin-left:auto}}@media (max-width:720px){.zF2S1q_header{margin-top:.5rem;padding:0 .625rem;top:.5rem}.zF2S1q_headerInner{gap:.5rem;padding-left:1rem}.zF2S1q_root .zF2S1q_brand{text-overflow:ellipsis;overflow:hidden}.zF2S1q_header .zF2S1q_iconButton{width:2.75rem;height:2.75rem}.zF2S1q_root .zF2S1q_buttonSmall{min-height:2.75rem;padding:0 .875rem}.zF2S1q_main{gap:.875rem;padding:1.25rem .625rem 2rem}.zF2S1q_intro{grid-template-columns:minmax(0,1fr);gap:1.5rem}.zF2S1q_portrait{border-width:5px;width:7.5rem;height:7.5rem}.zF2S1q_lead{font-size:1.125rem}.zF2S1q_actions .zF2S1q_button{flex:auto}.zF2S1q_tabList{border-radius:22px;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));width:auto;display:grid}.zF2S1q_entry{gap:.875rem}.zF2S1q_entryHead{flex-direction:column}.zF2S1q_entryDates{white-space:normal;grid-auto-flow:column;justify-items:start;gap:.75rem}.zF2S1q_contact .zF2S1q_actions{grid-template-columns:minmax(0,1fr);width:100%;display:grid}.zF2S1q_contactLinks{width:100%}.zF2S1q_root .zF2S1q_contactLinks .zF2S1q_button{white-space:nowrap;flex:auto;padding:0 .875rem}.zF2S1q_footer{text-align:center;flex-direction:column;justify-content:center}}@media (prefers-reduced-motion:reduce){.zF2S1q_root *,.zF2S1q_root :before,.zF2S1q_root :after{transition:none!important}.zF2S1q_root .zF2S1q_button:hover,.zF2S1q_root .zF2S1q_pagerLink:hover{transform:none!important}.zF2S1q_project:has(a:hover){transform:none!important}}
html:has(.AYEpAq_root){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#fff)var(--lightningcss-dark,#191919);--surface:var(--lightningcss-light,#f7f6f3)var(--lightningcss-dark,#202020);--hover:var(--lightningcss-light,#f1f1ef)var(--lightningcss-dark,#2a2a2a);--line:var(--lightningcss-light,#e9e9e7)var(--lightningcss-dark,#2f2f2f);--line-strong:var(--lightningcss-light,#d3d2ce)var(--lightningcss-dark,#474747);--ink:var(--lightningcss-light,#37352f)var(--lightningcss-dark,#d4d4d4);--ink-2:var(--lightningcss-light,#4b4a45)var(--lightningcss-dark,#bdbdbd);--muted:var(--lightningcss-light,#6f6e69)var(--lightningcss-dark,#9b9b9b);--accent:var(--lightningcss-light,#1a6dc4)var(--lightningcss-dark,#5aa4e6);--accent-hover:var(--lightningcss-light,#165ca8)var(--lightningcss-dark,#7bb6ec);--accent-ink:var(--lightningcss-light,#fff)var(--lightningcss-dark,#191919);--accent-soft:var(--lightningcss-light,#eef4fa)var(--lightningcss-dark,#1b2733);--cover:var(--lightningcss-light,#d7e3ee)var(--lightningcss-dark,#22303c);--code-bg:var(--lightningcss-light,#efeeec)var(--lightningcss-dark,#2c2c2c);--code-ink:var(--lightningcss-light,#b7362f)var(--lightningcss-dark,#ff8f87);--shadow:0 1px 2px var(--lightningcss-light,#0f0f0f0f)var(--lightningcss-dark,#00000080);--shadow-icon:0 2px 8px var(--lightningcss-light,#0f0f0f1f)var(--lightningcss-dark,#00000080);--t0-bg:var(--lightningcss-light,#e9e8e5)var(--lightningcss-dark,#373737);--t0-ink:var(--lightningcss-light,#32302c)var(--lightningcss-dark,#d4d4d4);--t1-bg:var(--lightningcss-light,#eee0da)var(--lightningcss-dark,#4a3228);--t1-ink:var(--lightningcss-light,#442a1e)var(--lightningcss-dark,#ecd3c7);--t2-bg:var(--lightningcss-light,#fadec9)var(--lightningcss-dark,#5c3b23);--t2-ink:var(--lightningcss-light,#49290e)var(--lightningcss-dark,#f5d0b0);--t3-bg:var(--lightningcss-light,#fdecc8)var(--lightningcss-dark,#564328);--t3-ink:var(--lightningcss-light,#402c1b)var(--lightningcss-dark,#f3dfb0);--t4-bg:var(--lightningcss-light,#dbeddb)var(--lightningcss-dark,#243d30);--t4-ink:var(--lightningcss-light,#1c3829)var(--lightningcss-dark,#c3e2c9);--t5-bg:var(--lightningcss-light,#d3e5ef)var(--lightningcss-dark,#143a4e);--t5-ink:var(--lightningcss-light,#183347)var(--lightningcss-dark,#b9dcf0);--t6-bg:var(--lightningcss-light,#e8deee)var(--lightningcss-dark,#3c2d49);--t6-ink:var(--lightningcss-light,#412454)var(--lightningcss-dark,#dccbea);--t7-bg:var(--lightningcss-light,#f5e0e9)var(--lightningcss-dark,#4e2c3c);--t7-ink:var(--lightningcss-light,#4c2337)var(--lightningcss-dark,#f0c9da);--t8-bg:var(--lightningcss-light,#ffe2dd)var(--lightningcss-dark,#522e2a);--t8-ink:var(--lightningcss-light,#5d1715)var(--lightningcss-dark,#f6c9c2);background:var(--bg)}@media (prefers-color-scheme:dark){html:has(.AYEpAq_root){--lightningcss-light: ;--lightningcss-dark:initial}}html[data-color=light]:has(.AYEpAq_root){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-color=dark]:has(.AYEpAq_root){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.AYEpAq_root{--font:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--col:44rem;--pad:3rem;background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font);flex-direction:column;font-size:1rem;line-height:1.55;display:flex}.AYEpAq_root a{color:inherit;text-decoration-line:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:.2em;text-decoration-thickness:1px;transition:text-decoration-color .15s,background-color .15s,color .15s}.AYEpAq_root a:hover{text-decoration-color:currentColor}.AYEpAq_root :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}:where(.AYEpAq_root) h1,:where(.AYEpAq_root) h2,:where(.AYEpAq_root) h3{margin:0;line-height:1.25}:where(.AYEpAq_root) p{margin:0}:where(.AYEpAq_root) ul,:where(.AYEpAq_root) ol{margin:0;padding:0;list-style:none}:where(.AYEpAq_root) dl,:where(.AYEpAq_root) dd,:where(.AYEpAq_root) figure{margin:0}.AYEpAq_muted{color:var(--muted)}.AYEpAq_topbar{z-index:10;background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:.75rem;min-height:2.875rem;padding:.375rem .75rem .375rem 1rem;font-size:.875rem;display:flex;position:sticky;top:0}.AYEpAq_crumbs{flex:0 auto;min-width:0}.AYEpAq_crumbs ol,.AYEpAq_crumbs li{align-items:center;min-width:0;display:flex}.AYEpAq_crumbs li:not(:last-child){flex:none}.AYEpAq_crumbs li+li:before{content:"/";color:var(--muted);padding:0 .125rem}.AYEpAq_root .AYEpAq_crumbs a{max-width:18rem;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:.25rem .375rem;text-decoration:none;display:block;overflow:hidden}.AYEpAq_root .AYEpAq_crumbs a:hover{background:var(--hover);color:var(--ink)}.AYEpAq_root .AYEpAq_crumbs a[aria-current=page]{color:var(--ink);font-weight:500}.AYEpAq_nav{margin-left:auto}.AYEpAq_nav ul{gap:.125rem;display:flex}.AYEpAq_root .AYEpAq_nav a{color:var(--muted);border-radius:4px;align-items:center;padding:.25rem .625rem;text-decoration:none;display:flex}.AYEpAq_root .AYEpAq_nav a:hover,.AYEpAq_root .AYEpAq_nav a[aria-current=page]{background:var(--hover);color:var(--ink)}.AYEpAq_tools{align-items:center;gap:.375rem;display:flex}.AYEpAq_root .AYEpAq_iconButton{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-grid}.AYEpAq_root .AYEpAq_iconButton:hover{background:var(--hover);color:var(--ink)}.AYEpAq_root .AYEpAq_topCv{background:var(--accent);height:2rem;color:var(--accent-ink);white-space:nowrap;border-radius:4px;align-items:center;gap:.375rem;padding:0 .75rem;font-weight:500;text-decoration:none;display:inline-flex}.AYEpAq_root .AYEpAq_topCv:hover{background:var(--accent-hover)}.AYEpAq_main{flex:1;width:100%}.AYEpAq_cover{background:var(--cover);height:clamp(8.5rem,30vh,17rem)}.AYEpAq_page{max-width:calc(var(--col) + 2 * var(--pad));padding:0 var(--pad) 5rem;margin:0 auto}.AYEpAq_subpage{padding-top:4.5rem}.AYEpAq_pageHead{margin-top:-4.375rem;position:relative}.AYEpAq_pageIcon{object-fit:cover;background:var(--surface);width:8.75rem;height:8.75rem;box-shadow:0 0 0 4px var(--bg), var(--shadow-icon);border-radius:18px;display:block}.AYEpAq_pageIconInitials{color:var(--muted);place-items:center;font-size:2.75rem;font-weight:600;display:grid}.AYEpAq_title{letter-spacing:-.02em;margin-top:1.5rem;font-size:clamp(2rem,1.5rem + 2vw,2.625rem);font-weight:700;line-height:1.2}.AYEpAq_subHead .AYEpAq_title{margin-top:0}.AYEpAq_indexHead{margin-bottom:1.75rem}.AYEpAq_lead{color:var(--muted);margin-top:.75rem}.AYEpAq_props{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr);margin-top:1.25rem;padding-bottom:1rem;font-size:.9375rem;display:grid}.AYEpAq_prop{grid-template-columns:10rem minmax(0,1fr);align-items:start;gap:.5rem;display:grid}.AYEpAq_prop dt{color:var(--muted);align-items:center;gap:.5rem;padding:.375rem 0;display:flex}.AYEpAq_prop dt svg{flex:none}.AYEpAq_prop dd{overflow-wrap:anywhere;padding:.375rem 0}.AYEpAq_status{background:var(--t4-bg);color:var(--t4-ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:.125rem .5rem}.AYEpAq_status:before{content:"";opacity:.6;vertical-align:.0625rem;background:currentColor;border-radius:50%;width:.5rem;height:.5rem;margin-right:.4375rem;display:inline-block}.AYEpAq_callout{background:var(--accent-soft);border-radius:6px;grid-template-columns:auto minmax(0,1fr);gap:.75rem;margin-top:1.5rem;padding:1rem 1.25rem;font-size:1.0625rem;line-height:1.55;display:grid}.AYEpAq_calloutIcon{color:var(--accent);padding-top:.125rem}.AYEpAq_actions{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;display:flex}.AYEpAq_root .AYEpAq_button{background:var(--accent);max-width:100%;min-height:2.5rem;color:var(--accent-ink);overflow-wrap:anywhere;border-radius:6px;align-items:center;gap:.5rem;padding:0 1rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.AYEpAq_root .AYEpAq_button:hover{background:var(--accent-hover)}.AYEpAq_root .AYEpAq_buttonQuiet{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.AYEpAq_root .AYEpAq_buttonQuiet:hover{background:var(--hover)}.AYEpAq_section{margin-top:3.25rem;scroll-margin-top:4rem}.AYEpAq_h2{letter-spacing:-.01em;margin-bottom:.75rem;font-size:1.5rem;font-weight:650}.AYEpAq_sectionHead{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.AYEpAq_sectionHead .AYEpAq_h2{margin-bottom:0}.AYEpAq_root .AYEpAq_more{color:var(--muted);white-space:nowrap;align-items:center;gap:.25rem;font-size:.875rem;text-decoration:none;display:inline-flex}.AYEpAq_root .AYEpAq_more:hover{color:var(--ink)}.AYEpAq_text{gap:.75rem;max-width:70ch;display:grid}.AYEpAq_toggles{grid-template-columns:minmax(0,1fr);gap:.125rem;display:grid}.AYEpAq_toggleHead{cursor:pointer;border-radius:6px;grid-template-columns:1.5rem 1.75rem minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:2.75rem;margin:0 -.375rem;padding:.375rem;list-style:none;transition:background-color .15s;display:grid}.AYEpAq_toggleHead::-webkit-details-marker{display:none}.AYEpAq_toggleHead:hover{background:var(--hover)}.AYEpAq_chevron{width:1.5rem;height:1.5rem;color:var(--muted);place-items:center;transition:transform .15s;display:grid}.AYEpAq_toggle[open] .AYEpAq_chevron{transform:rotate(90deg)}.AYEpAq_mark{border:1px solid var(--line);background:var(--surface);color:var(--muted);letter-spacing:.02em;border-radius:6px;flex:none;place-items:center;font-size:.625rem;font-weight:650;display:grid;overflow:hidden}.AYEpAq_toggleTitle{font-size:1rem;font-weight:400;line-height:1.4}.AYEpAq_roleTitle{font-weight:600}.AYEpAq_roleOrg{color:var(--ink-2)}.AYEpAq_dates{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.875rem}.AYEpAq_toggleBody{grid-template-columns:minmax(0,1fr);gap:.625rem;padding:.25rem 0 1.25rem 4.25rem;font-size:.9375rem;display:grid}.AYEpAq_toggleBody>.AYEpAq_muted{font-size:.875rem}.AYEpAq_bullets{gap:.3125rem;padding-left:1.25rem;list-style:outside;display:grid}.AYEpAq_bullets li::marker{color:var(--muted)}.AYEpAq_tags{flex-wrap:wrap;gap:.375rem;display:flex}.AYEpAq_tag{overflow-wrap:anywhere;border-radius:4px;max-width:100%;padding:.0625rem .5rem;font-size:.8125rem;line-height:1.5;display:inline-block}.AYEpAq_tag strong{font-weight:600}.AYEpAq_t0{background:var(--t0-bg);color:var(--t0-ink)}.AYEpAq_t1{background:var(--t1-bg);color:var(--t1-ink)}.AYEpAq_t2{background:var(--t2-bg);color:var(--t2-ink)}.AYEpAq_t3{background:var(--t3-bg);color:var(--t3-ink)}.AYEpAq_t4{background:var(--t4-bg);color:var(--t4-ink)}.AYEpAq_t5{background:var(--t5-bg);color:var(--t5-ink)}.AYEpAq_t6{background:var(--t6-bg);color:var(--t6-ink)}.AYEpAq_t7{background:var(--t7-bg);color:var(--t7-ink)}.AYEpAq_t8{background:var(--t8-bg);color:var(--t8-ink)}.AYEpAq_gallery{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.75rem;display:grid}.AYEpAq_card{border:1px solid var(--line);background:var(--bg);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;transition:background-color .15s;display:flex;position:relative;overflow:hidden}.AYEpAq_card:has(a:hover){background:var(--hover)}.AYEpAq_cardImage{aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--line);width:100%;height:auto}.AYEpAq_cardBody{color:var(--ink-2);grid-template-columns:minmax(0,1fr);align-content:start;gap:.5rem;padding:.875rem 1rem 1rem;font-size:.875rem;display:grid}.AYEpAq_cardTitle{color:var(--ink);font-size:.9375rem;font-weight:600;line-height:1.35}.AYEpAq_root .AYEpAq_cardLink{align-items:center;gap:.25rem;text-decoration:none;display:inline-flex}.AYEpAq_root .AYEpAq_cardLink:after{content:"";position:absolute;inset:0}.AYEpAq_root .AYEpAq_cardLink svg{color:var(--muted);flex:none}.AYEpAq_tableWrap{border-top:1px solid var(--line);overflow-x:auto}.AYEpAq_table{border-collapse:collapse;width:100%;min-width:38rem;font-size:.875rem}.AYEpAq_table th,.AYEpAq_table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.625rem}.AYEpAq_table th+th,.AYEpAq_table td+td{border-left:1px solid var(--line)}.AYEpAq_table th:first-child,.AYEpAq_table td:first-child{padding-left:0}.AYEpAq_table th{color:var(--muted);white-space:nowrap;padding-top:.5rem;padding-bottom:.5rem;font-weight:400}.AYEpAq_table td:first-child,.AYEpAq_num{white-space:nowrap;width:1%}.AYEpAq_num{font-variant-numeric:tabular-nums}.AYEpAq_venue{width:32%;color:var(--ink-2)}.AYEpAq_table td{overflow-wrap:anywhere}.AYEpAq_pubTitle{color:var(--ink);font-weight:500;display:block}.AYEpAq_pubMore{color:var(--muted);margin-top:.25rem;font-size:.8125rem;display:block}.AYEpAq_ident{margin-right:.75rem}.AYEpAq_skills{grid-template-columns:minmax(0,1fr);display:grid}.AYEpAq_skillRow{border-top:1px solid var(--line);grid-template-columns:11rem minmax(0,1fr);gap:.5rem 1rem;padding:.625rem 0;display:grid}.AYEpAq_skillRow:first-child{border-top:0;padding-top:.25rem}.AYEpAq_skillRow dt{color:var(--ink-2);padding-top:.0625rem;font-size:.9375rem;font-weight:500}.AYEpAq_quote{border-left:3px solid var(--ink);padding:.125rem 0 .125rem 1.125rem}.AYEpAq_quote blockquote{max-width:70ch;margin:0;font-size:1.125rem;line-height:1.6}.AYEpAq_quote figcaption{color:var(--ink-2);flex-wrap:wrap;gap:.25rem .75rem;margin-top:.75rem;font-size:.875rem;display:flex}.AYEpAq_pages{grid-template-columns:minmax(0,1fr);display:grid}.AYEpAq_root .AYEpAq_pageRow{border-radius:6px;grid-template-columns:1.25rem minmax(0,1fr) auto;align-items:center;gap:.25rem .625rem;min-height:2.75rem;margin:0 -.375rem;padding:.375rem;text-decoration:none;display:grid}.AYEpAq_root .AYEpAq_pageRow:hover{background:var(--hover)}.AYEpAq_pageRow>svg{color:var(--muted)}.AYEpAq_pageRowTitle{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:.2em;font-weight:500}.AYEpAq_pageRowMeta{color:var(--muted);white-space:nowrap;font-size:.8125rem}.AYEpAq_root .AYEpAq_pageRowLong{grid-template-columns:1.25rem minmax(0,1fr);align-items:start;padding-block:.75rem}.AYEpAq_pageRowLong>svg{margin-top:.125rem}.AYEpAq_pageRowLong>span{grid-column:2}.AYEpAq_pageRowExcerpt{color:var(--ink-2);font-size:.9375rem}.AYEpAq_pageRowLong .AYEpAq_pageRowMeta{white-space:normal}.AYEpAq_footer{border-top:1px solid var(--line)}.AYEpAq_footerInner{max-width:calc(var(--col) + 2 * var(--pad));padding:1rem var(--pad);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 auto;font-size:.8125rem;display:flex}.AYEpAq_footerLinks{gap:.125rem;margin-right:-.5rem;display:flex}.AYEpAq_root .AYEpAq_footerLinks a{width:2.5rem;height:2.5rem;color:var(--muted);border-radius:6px;place-items:center;display:inline-grid}.AYEpAq_root .AYEpAq_footerLinks a:hover{background:var(--hover);color:var(--ink)}.AYEpAq_toc{border-bottom:1px solid var(--line);margin-top:1.5rem;padding-bottom:1rem;font-size:.9375rem}.AYEpAq_tocTitle{color:var(--muted);margin-bottom:.25rem;font-size:.875rem;font-weight:600}.AYEpAq_toc ol{display:grid}.AYEpAq_root .AYEpAq_toc a{color:var(--ink-2);border-radius:4px;margin:0 -.375rem;padding:.25rem .375rem;display:block}.AYEpAq_root .AYEpAq_toc a:hover{background:var(--hover);color:var(--ink)}.AYEpAq_tocSub{padding-left:1.25rem}.AYEpAq_prose{max-width:70ch;margin-top:2rem;line-height:1.65}.AYEpAq_prose :where(.prose)>*+*{margin-top:1em}.AYEpAq_prose h2{letter-spacing:-.01em;margin-top:2em;scroll-margin-top:4rem;font-size:1.5rem;font-weight:650}.AYEpAq_prose h3{margin-top:1.6em;scroll-margin-top:4rem;font-size:1.1875rem;font-weight:600}.AYEpAq_root .AYEpAq_prose a:hover{color:var(--accent)}.AYEpAq_prose ul,.AYEpAq_prose ol{list-style:revert;padding-left:1.5rem}.AYEpAq_prose li+li{margin-top:.3em}.AYEpAq_prose li::marker{color:var(--muted)}.AYEpAq_prose blockquote{border-left:3px solid var(--ink);margin-left:0;margin-right:0;padding:.125rem 0 .125rem 1.125rem;font-size:1.0625rem}.AYEpAq_prose code{font-family:var(--mono);background:var(--code-bg);color:var(--code-ink);overflow-wrap:anywhere;border-radius:4px;padding:.15em .35em;font-size:.85em}.AYEpAq_prose pre{background:var(--surface);border-radius:6px;padding:1rem 1.25rem;font-size:.875rem;line-height:1.6;overflow-x:auto}.AYEpAq_prose pre code{color:var(--ink);font-size:inherit;overflow-wrap:normal;background:0 0;padding:0}.AYEpAq_prose img{border-radius:6px;height:auto}.AYEpAq_prose table{border-collapse:collapse;max-width:100%;font-size:.875rem;line-height:1.5;display:block;overflow-x:auto}.AYEpAq_prose th,.AYEpAq_prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:.5rem .75rem}.AYEpAq_prose th{background:var(--surface);font-weight:600}.AYEpAq_prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}.AYEpAq_sources{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.25rem;font-size:.875rem}.AYEpAq_sourcesTitle{margin-bottom:.625rem;font-size:1.125rem;font-weight:600}.AYEpAq_sources ol{gap:.375rem;display:grid}.AYEpAq_sources li{overflow-wrap:anywhere;scroll-margin-top:4rem}.AYEpAq_sources li:target{background:var(--accent-soft);border-radius:4px}.AYEpAq_sourceN{color:var(--muted);font-variant-numeric:tabular-nums}.AYEpAq_pager{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.5rem;margin-top:2.5rem;display:grid}.AYEpAq_root .AYEpAq_pagerLink{border:1px solid var(--line);border-radius:6px;gap:.125rem;padding:.75rem 1rem;text-decoration:none;display:grid}.AYEpAq_root .AYEpAq_pagerLink:hover{background:var(--hover)}.AYEpAq_pagerLabel{color:var(--muted);font-size:.8125rem}.AYEpAq_pagerTitle{font-weight:500}.AYEpAq_root .AYEpAq_pagerAll{place-self:center start;align-items:center;min-height:2.75rem;font-size:.9375rem;display:inline-flex}@media (max-width:720px){.AYEpAq_root{--pad:1.25rem}.AYEpAq_topbar{gap:.25rem;padding:0 .5rem 0 .75rem}.AYEpAq_nav li:not(.AYEpAq_navPage),.AYEpAq_root .AYEpAq_topCv{display:none}.AYEpAq_root .AYEpAq_nav a{min-height:2.75rem}.AYEpAq_root .AYEpAq_crumbs a{line-height:2.25rem}.AYEpAq_crumbs li:nth-child(3){display:none}.AYEpAq_root .AYEpAq_iconButton{width:2.75rem;height:2.75rem}.AYEpAq_pageHead{margin-top:-3rem}.AYEpAq_pageIcon{border-radius:14px;width:6rem;height:6rem}.AYEpAq_pageIconInitials{font-size:2rem}.AYEpAq_title{margin-top:1.125rem}.AYEpAq_subpage{padding-top:3rem}.AYEpAq_prop{grid-template-columns:7.25rem minmax(0,1fr)}.AYEpAq_prop dt,.AYEpAq_prop dd{padding:.625rem 0}.AYEpAq_prop dd a{margin:-.625rem 0;padding:.625rem 0;display:inline-block}.AYEpAq_root .AYEpAq_button{min-height:2.75rem}.AYEpAq_section{margin-top:2.75rem}.AYEpAq_toggleHead{grid-template-columns:1.5rem 1.75rem minmax(0,1fr);align-items:start}.AYEpAq_toggleHead .AYEpAq_chevron,.AYEpAq_toggleHead .AYEpAq_mark{margin-top:.125rem}.AYEpAq_dates{grid-column:3;margin-top:-.25rem}.AYEpAq_toggleBody{padding-left:2rem}.AYEpAq_skillRow{grid-template-columns:minmax(0,1fr)}.AYEpAq_root .AYEpAq_pageRow{grid-template-columns:1.25rem minmax(0,1fr);align-items:start}.AYEpAq_pageRow>svg{margin-top:.125rem}.AYEpAq_pageRowMeta{grid-column:2}.AYEpAq_root .AYEpAq_footerLinks a{width:2.75rem;height:2.75rem}}@media (prefers-reduced-motion:reduce){.AYEpAq_root *,.AYEpAq_root :before,.AYEpAq_root :after{transition:none!important}}
