@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/open-sans-700.ttf') format('truetype')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/open-sans-400.ttf') format('truetype')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/open-sans-500.ttf') format('truetype')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/open-sans-600.ttf') format('truetype')}
:root{--paper:#ffffff;--ink:#000000;--body:#000000;--accent:#009eff;--accent-hover:#007dcc;--muted:#000000;--line:#d8dcd1;--font:'Open Sans',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:40px;font-size:16px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none;transition:color .18s ease}
a:hover{color:var(--accent-hover)}
a:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:2px}
::selection{background:#e3f3ff;color:#000000}
.page-shell{max-width:1200px;margin:0 auto;padding:0 54px 48px}
.intro{display:grid;grid-template-columns:minmax(0,1fr) 266px;gap:76px;padding:73px 0 82px}
h1{font-size:clamp(2.5rem,4.5vw,3.5rem);font-weight:500;letter-spacing:-1.5px;line-height:1.15;margin:0 0 28px}
.biography{font-size:1.125rem;line-height:1.8;color:var(--body)}
.biography p{margin:0 0 20px}
.biography a{text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px}
.biography a:hover{color:var(--accent-hover)}
.profile-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:29px;font-size:1rem;font-weight:600}
.profile-links a{display:inline-flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}
.profile-icon{display:block;flex-shrink:0;width:20px;height:20px;fill:currentColor}
.portrait-email{margin-top:16px;font-size:1rem;line-height:1.7;color:var(--body);overflow-wrap:anywhere}
.portrait{margin:0}
.portrait>a{display:block;overflow:hidden;border-radius:3px}
.portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.publications{padding-top:0;color:var(--ink)}
.publications a,.publications a:hover{color:var(--ink)}
.section-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:30px}
.section-heading h2{font-size:2.25rem;font-weight:500;letter-spacing:-.8px;line-height:1.3;margin:0}
.paper{display:grid;grid-template-columns:240px minmax(0,1fr);gap:35px;border-top:1px solid var(--line);padding:32px 0;align-items:center}
.paper:first-child{border-top:0;padding-top:0}
.paper-figure{background:white;border:1px solid #e5e7de;border-radius:3px;height:156px;display:flex;align-items:center;justify-content:center;padding:12px;overflow:hidden}
.paper-figure img{width:100%;height:100%;object-fit:contain;transition:transform .25s ease}
.paper-figure:hover img{transform:scale(1.04)}
.paper-venue{font-size:1rem;font-weight:700;color:var(--ink);margin:0 0 4px;line-height:1.6}
abbr{text-decoration:none}
h3{font-size:1.25rem;font-weight:700;line-height:1.5;margin:0 0 12px}
h3 sub{font-size:inherit}
.authors{font-size:1rem;line-height:1.75;color:var(--muted);margin:0 0 10px}
.authors strong{color:var(--body);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.paper-links{display:flex;flex-wrap:wrap;align-items:center;gap:0;font-size:1rem;font-weight:500}
.paper-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;color:var(--accent);transition:color .18s ease}
.paper-links a+a::before{content:"·";margin:0 12px;color:#999;pointer-events:none}
.paper-links a:hover{color:var(--accent-hover)}
.skip-link{position:absolute;top:-100px;left:20px;background:var(--ink);color:white;padding:12px 20px;z-index:10}
.skip-link:focus{top:16px;color:white}
@media(min-width:1450px){.page-shell{max-width:1260px}.intro{grid-template-columns:minmax(0,1fr) 290px;gap:100px}}
@media(max-width:900px){.page-shell{padding:0 32px 48px}.intro{gap:36px;grid-template-columns:minmax(0,1fr) 220px;padding-top:56px}.paper{grid-template-columns:190px minmax(0,1fr);gap:25px}.paper-figure{height:142px}}
@media(max-width:650px){.page-shell{padding:0 24px 48px}.intro{grid-template-columns:1fr;gap:30px;padding:40px 0 47px}h1{font-size:2.5rem;letter-spacing:-1px}.portrait{width:100%;max-width:320px;margin:0}.portrait>a{width:180px}.section-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:24px}h2{font-size:2rem}.paper{grid-template-columns:1fr;gap:20px;padding:26px 0}.paper-figure{height:180px;max-width:100%;padding:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
