.SiteHeader_header__qIri_{max-width:var(--max);margin:0 auto;padding:1.5rem clamp(1.25rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:1rem}.SiteHeader_home__hWqNm{font-weight:700;text-decoration:none;font-size:var(--step-1)}.SiteHeader_header__qIri_ ul{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}.SiteHeader_header__qIri_ nav a{text-decoration:none;color:var(--muted);display:inline-block;padding:.4rem 0}.SiteHeader_header__qIri_ nav a:hover,.SiteHeader_header__qIri_ nav a[aria-current=page]{color:var(--ink)}@media (max-width:560px){.SiteHeader_header__qIri_{flex-direction:column;align-items:flex-start}.SiteHeader_header__qIri_ ul{gap:1rem;flex-wrap:wrap}}.ProjectVisual_pv__MmDCw{margin:0;color:var(--ink);width:100%}.ProjectVisual_pv__MmDCw svg{width:100%}.ProjectVisual_pv__MmDCw figcaption{font-size:var(--step--1);color:var(--muted)}.ProjectVisual_note__y_k3D{margin-top:.75rem}.ProjectVisual_align__jW1Z7{--sub-ink:#8A5000;--sub-bg:#FBE9CC;--del-ink:#A1281F;--del-bg:#F8DEDA;--ins-ink:#0F6A5E;--ins-bg:#D4EEE9}@media (prefers-color-scheme:dark){.ProjectVisual_align__jW1Z7{--sub-ink:#F2C27A;--sub-bg:#3A2C14;--del-ink:#F1A49B;--del-bg:#3D1F1C;--ins-ink:#85D8CB;--ins-bg:#143430}}.ProjectVisual_alignRow__8u30B{display:grid;grid-template-columns:8rem 1fr;grid-gap:.25rem 1rem;gap:.25rem 1rem;align-items:baseline;margin-bottom:.9rem}.ProjectVisual_alignLabel__dIVlV{margin:0;font-size:var(--step--1);color:var(--muted);line-height:1.4}.ProjectVisual_alignLabel__dIVlV b{display:block;color:var(--ink);font-weight:600}.ProjectVisual_alignWords__5W7t0{margin:0;display:flex;flex-wrap:wrap;gap:.1rem .4rem;font-family:var(--font-read);font-size:clamp(1.1rem,2.4vw,1.35rem);line-height:1.8}.ProjectVisual_w__C0CyZ{padding:0 .25rem;border-radius:3px}.ProjectVisual_w__C0CyZ.ProjectVisual_sub__yqMjB{background:var(--sub-bg);color:var(--sub-ink)}.ProjectVisual_w__C0CyZ.ProjectVisual_del__ffkSY{background:var(--del-bg);color:var(--del-ink);text-decoration:line-through;text-decoration-thickness:2px}.ProjectVisual_w__C0CyZ.ProjectVisual_ins__PnSVn{background:var(--ins-bg);color:var(--ins-ink)}.ProjectVisual_legendRow__vkCt7{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin:.5rem 0 .6rem}.ProjectVisual_k__ru2eC:before{content:"";display:inline-block;width:.75rem;height:.75rem;border-radius:2px;margin-right:.4rem;vertical-align:-.05rem}.ProjectVisual_k__ru2eC.ProjectVisual_sub__yqMjB:before{background:var(--sub-bg);outline:1px solid var(--sub-ink)}.ProjectVisual_k__ru2eC.ProjectVisual_del__ffkSY:before{background:var(--del-bg);outline:1px solid var(--del-ink)}.ProjectVisual_k__ru2eC.ProjectVisual_ins__PnSVn:before{background:var(--ins-bg);outline:1px solid var(--ins-ink)}.ProjectVisual_compact___Hn5k .ProjectVisual_alignRow__8u30B{grid-template-columns:1fr;gap:0;margin-bottom:.3rem}.ProjectVisual_compact___Hn5k .ProjectVisual_alignRow__8u30B:first-child{display:none}.ProjectVisual_compact___Hn5k .ProjectVisual_alignLabel__dIVlV{font-size:.6rem}.ProjectVisual_compact___Hn5k .ProjectVisual_alignWords__5W7t0{font-size:.62rem;line-height:1.5;gap:.1rem .2rem}.ProjectVisual_compact___Hn5k .ProjectVisual_w__C0CyZ{padding:0 .1rem}@media (max-width:34rem){.ProjectVisual_alignRow__8u30B{grid-template-columns:1fr;gap:.1rem}}.ProjectVisual_legend__pI_TI{display:flex;gap:1.25rem;margin-top:.75rem}.ProjectVisual_key__0FmSC:before{content:"";display:inline-block;width:.8em;height:.8em;border-radius:50%;margin-right:.4em;vertical-align:-.05em;background:var(--k)}.home_home__kcaw_{max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-gap:4rem;gap:4rem}.home_side__d5qJI{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:6rem 0 4rem;display:flex;flex-direction:column;justify-content:space-between}.home_side__d5qJI h1{font-size:var(--step-4);font-weight:700}.home_side__d5qJI h1 a{text-decoration:none}.home_role__CQbZm{font-size:var(--step-1);font-weight:500;margin:.75rem 0 0}.home_tagline__xrqDn{color:var(--muted);max-width:24rem;margin-top:1rem}.home_toc__dAs2e ul{list-style:none;padding:0;margin:4rem 0 0;display:grid;grid-gap:.9rem;gap:.9rem}.home_toc__dAs2e a{text-decoration:none;color:var(--muted);display:inline-flex;align-items:center;gap:1rem;font-weight:500}.home_toc__dAs2e a:before{content:"";width:2rem;height:1px;background:currentColor;transition:width .2s ease}.home_toc__dAs2e a:hover,.home_toc__dAs2e a[aria-current]{color:var(--ink)}.home_toc__dAs2e a:hover:before,.home_toc__dAs2e a[aria-current]:before{width:4rem}.home_socials__DIF9T{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:var(--step--1)}.home_socials__DIF9T a{color:var(--muted);display:inline-block;padding:.3rem 0}.home_content__LoR4c{padding:6rem 0 2rem}.home_content__LoR4c section{margin-bottom:7rem;scroll-margin-top:4rem}.home_content__LoR4c>section>p{color:var(--muted);max-width:38rem}.home_content__LoR4c em{color:var(--ink)}.home_list__0vrAT{list-style:none;padding:0;margin:0 0 2rem;display:grid;grid-gap:1rem;gap:1rem}.home_item__FCfVP{position:relative;display:grid;grid-template-columns:8rem 1fr;grid-gap:1.5rem;gap:1.5rem;padding:1.25rem;margin:0 -1.25rem;border-radius:var(--radius-l);transition:background .2s ease}.home_item__FCfVP:hover{background:var(--surface)}.home_item__FCfVP h3{font-size:var(--step-0);font-weight:600;margin-bottom:.4rem}.home_item__FCfVP h3 a{text-decoration:none}.home_item__FCfVP h3 a:after{content:"";position:absolute;inset:0}.home_item__FCfVP p{color:var(--muted);font-size:.95rem;margin:0}.home_item__FCfVP ul{position:relative}.home_item__FCfVP h3 span{color:var(--ink)}.home_kicker__NN1p8{font-size:var(--step--1)!important;margin:0 0 .2rem!important}.home_itemLinks__Iammf{position:relative;z-index:1;margin:.6rem 0 0;font-size:var(--step--1)}.home_itemLinks__Iammf a{color:var(--ink)}.home_itemLinks__Iammf a:hover{color:var(--pa-ink)}.home_dates__Ckdq_{font-size:var(--step--1);padding-top:.15rem}.home_thumb__qgd9H{border:1px solid var(--line);border-radius:var(--radius-s);padding:.6rem;background:color-mix(in srgb,var(--pa) 10%,var(--surface));align-self:start;overflow:hidden;aspect-ratio:16/10;display:grid;place-items:center}.home_project__yEhSc:hover h3 a{color:var(--pa-ink)}.home_more__2vvIT{font-weight:500}.home_langs__fvPLB{margin-top:.4rem!important;font-size:var(--step--1)!important;color:var(--ink)!important}.home_langs__fvPLB span{color:var(--muted)}.home_sectionTitle__6Zerm{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.home_pubs__sgd2m{list-style:none;padding:0;margin:0;display:grid;grid-gap:1.75rem;gap:1.75rem}.home_pubs__sgd2m li{display:grid;grid-template-columns:8rem 1fr;grid-gap:1.5rem;gap:1.5rem}.home_pubs__sgd2m h3{font-size:var(--step-0);font-weight:600;margin-bottom:.35rem;line-height:1.35}.home_year__isR_P{font-size:var(--step--1);color:var(--muted);padding-top:.15rem;margin:0}.home_authors__CRWHg,.home_venue__IQ6Bb{font-size:.95rem;color:var(--muted);margin:0}.home_authors__CRWHg strong{color:var(--ink);font-weight:600}.home_venue__IQ6Bb{font-style:italic}.home_doi__kxQgm{font-size:var(--step--1);margin:.2rem 0 0}.home_doi__kxQgm a{color:var(--muted)}.home_subhead__UMOvf{font-size:var(--step-0);font-weight:700;margin:3rem 0 1.5rem}@media (max-width:900px){.home_home__kcaw_{grid-template-columns:1fr;gap:0}.home_side__d5qJI{position:static;height:auto;padding:4rem 0 2rem;gap:2rem}.home_toc__dAs2e{display:none}.home_content__LoR4c{padding-top:2rem}.home_content__LoR4c section{margin-bottom:4.5rem}.home_item__FCfVP{grid-template-columns:1fr;gap:.75rem}.home_pubs__sgd2m li{grid-template-columns:1fr;gap:.25rem}.home_sectionTitle__6Zerm{position:-webkit-sticky;position:sticky;top:0;z-index:2;width:auto;height:auto;clip:auto;overflow:visible;margin:0 -1.25rem 1rem;padding:.9rem 1.25rem;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:var(--step-0);font-weight:700}.home_thumb__qgd9H{max-width:14rem}}.projects_showcase__mTpAj{max-width:var(--max);margin:0 auto;padding:2rem clamp(1.25rem,4vw,3rem) 0}.projects_intro__R3c_g{max-width:42rem;margin:3rem 0 5rem}.projects_intro__R3c_g h1{font-size:var(--step-4);font-weight:700;margin-bottom:1rem}.projects_intro__R3c_g p{font-family:var(--font-read);font-size:var(--step-1);color:var(--muted);line-height:1.5}.projects_piece__D6uK_{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-gap:clamp(2rem,5vw,4.5rem);gap:clamp(2rem,5vw,4.5rem);align-items:center;margin-bottom:clamp(5rem,10vw,8rem)}.projects_flip__PLnFM .projects_stage__g8rtS{order:2}.projects_stage__g8rtS{background:color-mix(in srgb,var(--pa) 9%,var(--surface));border-radius:var(--radius-l);padding:clamp(1.5rem,4vw,3rem);min-height:18rem;display:grid;align-content:center}.projects_category__woVhM{font-size:var(--step--1);color:var(--pa-ink);font-weight:600;margin:0 0 .5rem}.projects_copy__wcs2A h2{font-size:var(--step-3);font-weight:700;margin-bottom:1rem}.projects_copy__wcs2A h2 a{text-decoration:none}.projects_copy__wcs2A h2 a:hover{color:var(--pa-ink)}.projects_summary__O1bVX{font-family:var(--font-read);font-size:var(--step-1);line-height:1.5}.projects_meta__Kl4nk{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin:1.5rem 0 0;font-size:var(--step--1)}.projects_meta__Kl4nk dt{color:var(--muted)}.projects_meta__Kl4nk dd{margin:0}.projects_copy__wcs2A .tags li{background:color-mix(in srgb,var(--pa) 14%,transparent);color:var(--ink)}.projects_actions__QYx6m{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:1.75rem}.projects_primary__ZT9SC{background:var(--pa-ink);color:var(--on-pa);text-decoration:none;font-weight:500;padding:.6rem 1.1rem;border-radius:999px}.projects_primary__ZT9SC:hover{color:var(--on-pa);text-decoration:underline}@media (max-width:860px){.projects_piece__D6uK_{grid-template-columns:1fr}.projects_flip__PLnFM .projects_stage__g8rtS{order:0}.projects_stage__g8rtS{min-height:0}}.ProcessSteps_wrap__su3wR{margin:0 0 3.5rem}.ProcessSteps_wrap__su3wR h2{font-size:var(--step-2);font-weight:700;margin-bottom:1.5rem}.ProcessSteps_steps__cewuM{list-style:none;padding:0;margin:0;position:relative}.ProcessSteps_steps__cewuM:before{content:"";position:absolute;left:.95rem;top:.5rem;bottom:.5rem;width:2px;background:color-mix(in srgb,var(--pa) 30%,var(--line))}.ProcessSteps_step__SRh5Y{position:relative;display:grid;grid-template-columns:2rem 1fr;grid-gap:1.25rem;gap:1.25rem;padding-bottom:1.5rem}.ProcessSteps_step__SRh5Y:last-child{padding-bottom:0}.ProcessSteps_num__AVq2L{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--pa-ink);color:var(--on-pa);font-weight:700;font-size:var(--step--1);position:relative}.ProcessSteps_step__SRh5Y h3{font-size:var(--step-0);font-weight:600;margin:.2rem 0 .25rem}.ProcessSteps_step__SRh5Y p{margin:0;color:var(--muted);max-width:38rem}.case_case__0Tcxi{max-width:52rem;margin:0 auto;padding:2rem clamp(1.25rem,4vw,3rem) 0}.case_back__ZzR_U{font-size:var(--step--1);margin:2rem 0}.case_back__ZzR_U a{color:var(--muted)}.case_title__Qhlto{font-size:var(--step-4);font-weight:700}.case_summary__i8x2d{font-family:var(--font-read);font-size:var(--step-2);line-height:1.35;color:var(--muted);margin:1rem 0 2rem;max-width:40rem}.case_meta__GD5EP{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));grid-gap:1.25rem;gap:1.25rem;margin:0;padding:1.25rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:var(--step--1)}.case_meta__GD5EP dt{color:var(--muted)}.case_meta__GD5EP dd{margin:.2rem 0 0}.case_links___3qiP{margin-top:1.25rem}.case_category__sm5W2{font-size:var(--step--1);color:var(--pa-ink);font-weight:600;margin:0 0 .5rem}.case_stage__oJWxJ{margin:3rem 0;background:color-mix(in srgb,var(--pa) 9%,var(--surface));border-radius:var(--radius-l);padding:clamp(1.5rem,5vw,3.5rem)}.case_tldr__Jtufv{border-left:3px solid var(--pa);padding:.25rem 0 .25rem 1.25rem;margin:0 0 3rem}.case_tldr__Jtufv h2{font-size:var(--step-0);font-weight:600;margin-bottom:.4rem}.case_tldr__Jtufv p{margin:0;font-family:var(--font-read);font-size:1.15rem;line-height:1.6}.case_prose__KVgCA{font-family:var(--font-read);font-size:1.2rem;line-height:1.7;max-width:40rem}.case_prose__KVgCA h2{font-family:var(--font-ui);font-size:var(--step-2);font-weight:700;margin:3rem 0 1rem}.case_prose__KVgCA h3{font-family:var(--font-ui);font-size:var(--step-1);font-weight:600;margin:2rem 0 .75rem}.case_prose__KVgCA ol,.case_prose__KVgCA ul{padding-left:1.25rem}.case_prose__KVgCA li{margin-bottom:.4rem}.case_prose__KVgCA blockquote{margin:1.5rem 0;padding:.75rem 1.25rem;background:var(--surface);border-radius:var(--radius-s);color:var(--muted);font-size:1.05rem}.case_prose__KVgCA blockquote p{margin:0}.case_prose__KVgCA table{width:100%;min-width:30rem;border-collapse:collapse;font-family:var(--font-ui);font-size:var(--step--1)}.case_prose__KVgCA td,.case_prose__KVgCA th{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--line)}.case_prose__KVgCA code{font-size:.85em;background:var(--surface);padding:.1em .35em;border-radius:4px}.case_prose__KVgCA img{border-radius:var(--radius-s);margin:2rem 0;height:auto}.case_prose__KVgCA figure{margin:2.5rem 0}.case_prose__KVgCA figure img{margin:0;width:100%;border:1px solid var(--line);background:var(--surface)}.case_prose__KVgCA figure.narrow{max-width:24rem}.case_prose__KVgCA figcaption{font-size:var(--step--1);line-height:1.5;color:var(--muted);margin-top:.75rem}.case_next__l6AlA{margin:5rem 0 0}.case_next__l6AlA a{display:block;text-decoration:none;padding:1.75rem;border-radius:var(--radius-l);background:var(--surface)}.case_next__l6AlA span{display:block;color:var(--muted);font-size:var(--step--1)}.case_next__l6AlA strong{font-size:var(--step-2)}.case_next__l6AlA a:hover strong{color:var(--accent)}.case_prose__KVgCA img+em,.case_prose__KVgCA p>em:only-child{display:block;font-size:.95rem;color:var(--muted);margin-top:-1.25rem}.case_prose__KVgCA blockquote strong{color:var(--ink)}