@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Serif:ital,wght@0,400;0,500;1,400&family=Nunito:wght@300;400;500&display=swap";:root{--bg: #ffffff;--text: #111111;--text-secondary: #555555;--accent: #1a56db;--border: #e5e5e5;--max-w: 1060px;--nav-h: 56px;--font-sans: "Nunito", system-ui, sans-serif;--font-serif: "Nunito", system-ui, serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 2rem)}body{font-family:var(--font-sans);font-weight:400;background:var(--bg);color:var(--text);font-size:1rem;-webkit-font-smoothing:antialiased}img,video{max-width:100%;display:block}nav{position:sticky;top:0;z-index:100;height:var(--nav-h);background:var(--bg);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 2rem}.nav-inner{max-width:var(--max-w);margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between}.nav-name{font-weight:500;font-size:1.25rem;color:var(--text);text-decoration:none;letter-spacing:-.01em}.nav-links{display:flex;gap:1.75rem;list-style:none}.nav-links a{font-size:.875rem;color:var(--text-secondary);text-decoration:none;font-weight:400;transition:color .15s}.nav-links a:hover{color:var(--text)}main{max-width:var(--max-w);margin:0 auto;padding:4rem 2rem 6rem}.section{margin-top:2rem}.section:first-child{margin-top:3rem}h2{font-family:var(--font-serif);font-size:1.75rem;font-weight:400;letter-spacing:-.02em;margin-bottom:.5rem;color:var(--text)}.section-sub{font-size:.875rem;color:var(--text-secondary);margin-bottom:2rem}.section-sub a{color:var(--accent);text-decoration:none}.section-sub a:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center;margin-bottom:0}.hero-text h1{font-family:var(--font-serif);font-size:2.5rem;font-weight:500;letter-spacing:-.02em;line-height:1;margin-bottom:1rem}h2{font-weight:500}.hero-text .role{font-size:.95rem;color:var(--text-secondary);margin-bottom:1.5rem;font-weight:300}.hero-text p{font-size:1rem;line-height:1.6;max-width:100%px;color:var(--text);margin-bottom:1.5rem}.hero-text p a{color:var(--accent);text-decoration:none}.hero-text p a:hover{text-decoration:underline}.hero-links{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none}.hero-links a{font-size:.875rem;color:var(--text-secondary);text-decoration:none;font-weight:400;border:1px solid var(--border);padding:.25rem .75rem;border-radius:4px;transition:border-color .15s,color .15s}.hero-links a:hover{color:var(--text);border-color:#aaa}.hero-photo{width:360px;flex-shrink:0}.hero-photo img{width:100%;border-radius:5%;object-fit:cover}.publications{display:flex;flex-direction:column;gap:2rem}.pub{display:grid;grid-template-columns:180px 1fr;gap:1.5rem;align-items:start}.pub-media{width:180px;border-radius:6px;overflow:hidden;background:#f4f4f4;aspect-ratio:16/10;flex-shrink:0}.pub-media img,.pub-media video{width:100%;height:100%;object-fit:cover}.pub-content h3{font-family:var(--font-serif);font-size:1.1rem;font-weight:500;line-height:1.5;margin-bottom:.3rem;color:var(--text)}.pub-authors{font-size:.875rem;color:var(--text-secondary);margin-bottom:.3rem;line-height:1.5}.pub-authors strong{color:var(--text);font-weight:500}.pub-venue{font-size:.875rem;font-weight:400;margin-bottom:.5rem}.pub-venue .venue-name{font-weight:500}.pub-award{display:inline-block;font-size:.75rem;font-weight:500;background:#fef9c3;color:#713f12;padding:.1rem .5rem;border-radius:3px;margin-left:.5rem;vertical-align:middle}.pub-links{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none}.pub-links a{font-size:.8rem;color:var(--accent);text-decoration:none;font-weight:400}.pub-links a:hover{text-decoration:underline}.pub-links span.sep{color:var(--border)}.blog-list{display:flex;flex-direction:column;gap:0}.blog-card{display:grid;grid-template-columns:100px 1fr;gap:1.5rem;align-items:baseline;padding:1.25rem 0;border-bottom:1px solid var(--border);text-decoration:none;color:inherit}.blog-card:first-child{border-top:1px solid var(--border)}.blog-card:hover .blog-card-title{color:var(--accent)}.blog-card-date{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.blog-card-title{font-family:var(--font-serif);font-size:1.05rem;font-weight:400;margin-bottom:.25rem;transition:color .15s;line-height:1.4}.blog-card-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.5}.talks-list{display:flex;flex-direction:column;gap:0}.talk{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border)}.talk:first-child{border-top:1px solid var(--border)}.talk-title{font-size:.95rem;font-weight:400;margin-bottom:.15rem}.talk-venue{font-size:.8rem;color:var(--text-secondary)}.talk a{font-size:.8rem;color:var(--accent);text-decoration:none;white-space:nowrap}.talk a:hover{text-decoration:underline}.teaching-list{display:flex;flex-direction:column;gap:0}.course{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border)}.course:first-child{border-top:1px solid var(--border)}.course-title{font-size:.95rem;font-weight:400;margin-bottom:.15rem}.course-info{font-size:.8rem;color:var(--text-secondary)}.course a{font-size:.8rem;color:var(--accent);text-decoration:none;white-space:nowrap}.course a:hover{text-decoration:underline}.bio p{font-size:.975rem;line-height:1.6;color:var(--text)}.bio p+p{margin-top:1rem}.bio a{color:var(--accent);text-decoration:none}.bio a:hover{text-decoration:underline}.prose{max-width:var(--max-w);margin:0 auto;padding:4rem 2rem 6rem}.prose-header{margin-bottom:3rem}.prose-header h1{font-family:var(--font-serif);font-size:2.25rem;font-weight:400;letter-spacing:-.025em;line-height:1.25;margin-bottom:.75rem}.prose-date{font-size:.875rem;color:var(--text-secondary)}.prose-body{font-size:1.0625rem;line-height:1.8;font-family:var(--font-serif)}.prose-body h2{font-size:1.4rem;font-weight:400;margin:2.5rem 0 .75rem}.prose-body h3{font-size:1.15rem;font-weight:500;margin:2rem 0 .5rem}.prose-body p{margin-bottom:1.25rem}.prose-body a{color:var(--accent)}.prose-body code{font-family:SFMono-Regular,Consolas,monospace;font-size:.875em;background:#f5f5f5;padding:.1em .3em;border-radius:3px}.prose-body pre{background:#f5f5f5;padding:1rem 1.25rem;border-radius:6px;overflow-x:auto;margin:1.5rem 0;font-size:.875rem;line-height:1.6}.prose-body pre code{background:none;padding:0}.prose-back{margin-bottom:2rem}.prose-back a{font-size:.875rem;color:var(--text-secondary);text-decoration:none}.prose-back a:hover{color:var(--text)}footer{max-width:var(--max-w);margin:0 auto;padding:2rem 2rem 3rem;border-top:1px solid var(--border);font-size:.8rem;color:var(--text-secondary)}@media(max-width:640px){.hero{grid-template-columns:1fr}.hero-photo{width:75%;margin:0 auto}.pub{grid-template-columns:1fr}.pub-media{width:100%;aspect-ratio:16/9}.blog-card{grid-template-columns:1fr;gap:.25rem}.nav-links{gap:1rem}main{padding:2rem 1.25rem 4rem}}
