.title.svelte-30jd1s{color:var(--ink);margin:0;font-size:clamp(30px,4.4vw,44px)}.bio.svelte-30jd1s{max-width:600px;margin-top:26px}.bio.svelte-30jd1s p:where(.svelte-30jd1s){color:var(--ink-2);font-size:18px;line-height:1.72}.bio.svelte-30jd1s p:where(.svelte-30jd1s)+p:where(.svelte-30jd1s){margin-top:16px}.bio-muted.svelte-30jd1s{color:var(--muted)!important}.bio.svelte-30jd1s a:where(.svelte-30jd1s){color:var(--ink-2);border-bottom:1px solid var(--line-strong);transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease)}.bio.svelte-30jd1s a:where(.svelte-30jd1s):hover,.bio.svelte-30jd1s a:where(.svelte-30jd1s):focus-visible{color:var(--accent);border-color:var(--accent)}.publications.svelte-30jd1s{border-top:1px solid var(--line);margin-top:58px;padding-top:28px}.pub-grid.svelte-30jd1s{grid-template-columns:repeat(2,1fr);gap:48px 40px;margin-top:30px;display:grid}.pub-card.svelte-30jd1s{flex-direction:column;min-width:0;display:flex}.pub-cover.svelte-30jd1s{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin:0 0 18px;overflow:clip}.pub-cover.svelte-30jd1s img:where(.svelte-30jd1s){aspect-ratio:3/4;object-fit:cover;object-position:top center;width:100%;transition:transform var(--dur) var(--ease);display:block}.pub-card.svelte-30jd1s:hover .pub-cover:where(.svelte-30jd1s) img:where(.svelte-30jd1s){transform:scale(1.02)}.pub-title.svelte-30jd1s{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:19px;font-weight:400;line-height:1.4}.pub-meta.svelte-30jd1s{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted-2);margin:8px 0 0;font-size:12px;line-height:1.5}@media (width<=560px){.pub-grid.svelte-30jd1s{grid-template-columns:1fr;gap:40px;max-width:460px}}.cv-cta.svelte-30jd1s{margin-top:52px}.cv-cta.svelte-30jd1s a:where(.svelte-30jd1s){font-family:var(--font-mono);letter-spacing:.05em;color:var(--bg);background:var(--accent);border-radius:var(--radius);transition:background var(--dur) var(--ease);align-items:center;gap:9px;padding:12px 18px;font-size:12px;display:inline-flex}.cv-cta.svelte-30jd1s a:where(.svelte-30jd1s):hover,.cv-cta.svelte-30jd1s a:where(.svelte-30jd1s):focus-visible{background:var(--accent-hover)}
