:root{--bg:#f3efe8;--surface:#fffdf9;--surface-strong:#fffaf3;--text:#4b4c4f;--text-strong:#191817;--text-soft:#6d6861;--border:#2c27211f;--accent:#8b5e3c;--selection:#8b5e3c2e;--sans:"Open Sans", "Segoe UI", sans-serif;--display:"Avenir Next", "Segoe UI", sans-serif;color:var(--text);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#ad7f5c17,#0000 28%),linear-gradient(#f6f2eb 0%,#f3efe8 42%,#efe9e0 100%);font-size:17px;font-weight:400;line-height:1.7}*{box-sizing:border-box}html{scroll-behavior:smooth;overscroll-behavior:none}body{min-width:320px;min-height:100vh;color:var(--text);overscroll-behavior:none;background:0 0;margin:0}::selection{background:var(--selection)}a{color:inherit}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#root{min-height:100vh}h1,h2,h3{color:var(--text-strong);font-family:var(--display);font-weight:600}h1{letter-spacing:-.05em;font-size:clamp(2.8rem,5vw,4.6rem);line-height:.95}h2{letter-spacing:-.04em;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1}h3{font-size:1.2rem}p,ol{margin:0}@media (width<=640px){:root{font-size:16px}}.page-shell{grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:64px;width:min(1180px,100% - 48px);margin:0 auto;padding:56px 0 72px;display:grid}.sidebar{position:relative}.sidebar__inner{gap:18px;display:grid;position:sticky;top:40px}.sidebar__eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:.76rem;line-height:1.2}.sidebar h1{white-space:nowrap;max-width:none;margin:0}.sidebar__location{color:var(--text-soft);margin:0}.sidebar__email{color:var(--text-soft);word-break:break-word;margin:-8px 0 0;font-size:.95rem}.sidebar__links{gap:12px;margin-top:10px;display:flex}.icon-link{z-index:0;width:48px;height:48px;color:var(--text-strong);background:radial-gradient(circle at top, #ad7f5c1f, transparent 70%), var(--surface);border:1px solid var(--border);border-radius:999px;justify-content:center;align-items:center;transition:transform .16s,border-color .16s,box-shadow .16s,background-color .16s;display:inline-flex;position:relative;box-shadow:0 14px 24px #11182714}.icon-link:hover,.icon-link:focus-visible{z-index:2;border-color:var(--accent);transform:translateY(-1px);box-shadow:0 18px 28px #1118271f}.icon-link svg{width:1.2rem;height:1.2rem}.icon-link__label{background:var(--text-strong);color:var(--surface-strong);letter-spacing:.02em;white-space:nowrap;opacity:0;z-index:3;pointer-events:none;border-radius:999px;padding:8px 10px;font-size:.82rem;line-height:1;transition:opacity .16s;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.icon-link:hover .icon-link__label,.icon-link:focus-visible .icon-link__label{opacity:1}.content{gap:48px;display:grid}.content-section{border:1px solid var(--border);background:linear-gradient(180deg, #ffffffc7, #ffffffeb), var(--surface);border-radius:28px;padding:34px 36px 38px;box-shadow:0 18px 40px #1118270f}.content-section--publications{padding-bottom:20px}.content-section h2{margin:0 0 22px}.prose{gap:18px;display:grid}.prose p{margin:0}.prose a{color:var(--text-strong);text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:1px}.prose a:hover,.prose a:focus-visible{color:var(--accent)}.publication-list{margin:0;padding:0;list-style:none;display:grid}.publication-card{border-top:1px solid var(--border);padding:22px 0}.publication-list li:first-child .publication-card{border-top:0;padding-top:0}.publication-card h3{letter-spacing:-.03em;margin:0 0 10px;font-size:1.35rem;line-height:1.25}.publication-card h3 a{color:inherit;border-bottom:1px solid #0000;text-decoration:none;transition:border-color .16s}.publication-card h3 a:hover,.publication-card h3 a:focus-visible{border-color:currentColor}.publication-card__authors{color:var(--text-strong);margin:0}.publication-card__venue{color:var(--text-soft);margin:6px 0 0}@media (width<=960px){.page-shell{grid-template-columns:1fr;gap:28px;width:min(100% - 32px,760px);padding:24px 0 48px}.sidebar__inner{border:1px solid var(--border);background:var(--surface);border-radius:28px;padding:28px;position:static;box-shadow:0 18px 40px #1118270d}.icon-link__label{top:calc(100% + 10px);left:50%;transform:translate(-50%)}}@media (width<=640px){.page-shell{gap:20px;width:min(100% - 24px,100%)}.content-section,.sidebar__inner{border-radius:22px;padding:24px 22px}.sidebar__links{gap:10px}.icon-link{width:44px;height:44px}.publication-card h3{font-size:1.15rem}}
