:root{color-scheme:light;--ink:#293a35;--body:#53615b;--accent:#31594b;--muted:#76817b;--line:#e1e7e2;--paper:#fff;--wash:#f6f8f5}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--body);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:17px;font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{color:#152f25}
a:focus-visible,summary:focus-visible,.paper-links button:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:1px}
.skip-link{position:absolute;left:20px;top:-70px;background:#fff;padding:10px 18px;z-index:10}
.skip-link:focus{top:10px}
.site-header{text-align:center;padding:49px 24px 0}
.site-name{font-size:29px;line-height:1.3;letter-spacing:.005em;font-weight:400;color:var(--ink);text-decoration:none;display:inline-block}
.affiliation{margin:8px 0 0;font-size:14px;letter-spacing:.025em;color:var(--muted)}
.site-nav{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;margin-top:25px;font-size:15px}
.site-nav a{text-decoration:none;padding:4px 0;border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a[aria-current=page]{border-bottom-color:var(--accent)}
.container{max-width:1130px;margin:0 auto;padding:0 36px}
.home{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:88px;align-items:start;margin-top:77px;min-height:370px}
.bio p{margin:0 0 21px}
.bio p:last-child{margin-bottom:0}
.bio .columbia-profile{color:#2b648e}
.bio .columbia-profile:hover{color:#1d4f74}
.portrait{display:block;width:310px;height:350px;object-fit:cover;object-position:50% 43%;background:var(--wash)}
.personal{font-size:16px;color:var(--muted)}
.site-footer{margin-top:86px;margin-bottom:40px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:28px;align-items:flex-start;font-size:14px;line-height:1.8}
.site-footer p{margin:0}
.footer-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.footer-links a{text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.footer-links .footer-icon-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border:1.4px solid #718277;border-radius:50%;color:#000;text-decoration:none}
.footer-links .footer-icon-link:hover{background:var(--wash);border-color:var(--accent);text-decoration:none}
.footer-icon-link svg{display:block;width:23px;height:23px}
.footer-icon-link img{display:block;width:32px;height:32px}
.footer-links .email-contact{position:relative;margin:0;flex:0 0 44px}
.footer-links .email-contact>summary::before{content:none}
.email-card{position:absolute;right:0;bottom:calc(100% + 10px);padding:12px 16px;background:var(--paper);border:1px solid var(--line);border-radius:3px;box-shadow:0 4px 16px #293a3514;white-space:nowrap;font-size:15px;line-height:1.5;z-index:2}
.page{max-width:850px;margin-top:64px}
h1,h2,h3{color:var(--ink);font-weight:400}
.page h1{font-size:28px;margin:0 0 38px;line-height:1.3}
.page h2{font-size:15px;text-transform:uppercase;letter-spacing:.11em;margin:0 0 23px;color:var(--muted)}
.page section+section{margin-top:52px}
.paper{margin:0 0 33px}
.paper:last-child{margin-bottom:0}
.paper h3{font-size:19px;font-weight:400;line-height:1.5;margin:0 0 5px}
.paper h3 a{text-decoration:none}
.paper h3 a:hover{text-decoration:underline}
.paper p{font-size:15px;margin:3px 0;line-height:1.7}
.paper .venue{color:var(--muted)}
.paper .presented-at{color:var(--muted);margin-top:5px}
.paper-links{display:flex;flex-wrap:wrap;gap:19px;margin-top:9px;font-size:14px}
.paper-links a{text-decoration:none;border-bottom:1px solid var(--line)}
.paper-links a:hover{border-bottom-color:var(--accent)}
.paper-links button{appearance:none;background:none;border:0;border-bottom:1px solid var(--line);padding:0;color:var(--accent);font:inherit;line-height:inherit;cursor:pointer;text-align:left}
.paper-links button:hover,.paper-links button[aria-expanded=true]{color:#152f25;border-bottom-color:var(--accent)}
details{margin-top:10px;font-size:14px}
summary{color:var(--accent);cursor:pointer;width:fit-content;list-style:none}
summary::-webkit-details-marker{display:none}
summary::before{content:"+";display:inline-block;width:17px}
details[open] summary::before{content:"−"}
details p{padding:8px 0 0 17px;max-width:730px}
.press-coverage{margin-top:18px;padding-left:16px;border-left:2px solid var(--line)}
.press-coverage ul{list-style:none;margin:0;padding:0}
.press-coverage li+li{margin-top:10px}
.press-coverage a{font-size:15px;line-height:1.6}
.press-coverage span{display:block;font-size:13px;color:var(--muted);line-height:1.6;margin-top:2px}
.teaching-intro{margin-top:-16px;margin-bottom:34px;font-size:16px}
.course-list{margin:0;padding:0;list-style:none}
.course{display:grid;grid-template-columns:1fr auto;column-gap:30px;padding:17px 0;border-bottom:1px solid var(--line)}
.course:first-child{padding-top:0}
.course h3{font-size:18px;line-height:1.5;margin:0}
.course p{font-size:15px;margin:3px 0 0;color:var(--muted)}
.course time{font-size:15px;white-space:nowrap;padding-top:2px}
.cv-note{margin-top:30px;font-size:14px;color:var(--muted)}
@media(min-width:1500px){.site-header{padding-top:66px}.home{margin-top:90px}.site-footer{margin-top:104px}}
@media(max-width:800px){.container{padding:0 28px}.home{grid-template-columns:minmax(0,1fr) 235px;gap:35px;margin-top:60px}.portrait{width:235px;height:290px}.bio{font-size:16px}.site-footer{margin-top:60px}}
@media(max-width:600px){body{font-size:16px}.site-header{padding-top:31px}.site-name{font-size:25px}.affiliation{font-size:13px}.site-nav{gap:27px;margin-top:19px;font-size:14px}.container{padding:0 24px}.home{display:flex;flex-direction:column;gap:30px;margin-top:42px;min-height:0}.portrait{order:-1;width:230px;height:250px;align-self:center}.bio p{margin-bottom:19px}.personal{font-size:15px}.site-footer{margin-top:46px;margin-bottom:28px;flex-direction:column;gap:14px;font-size:13px}.footer-links{justify-content:flex-start;gap:22px}.page{margin-top:42px}.page h1{font-size:25px;margin-bottom:31px}.page h2{font-size:13px}.paper h3{font-size:18px}.paper p{font-size:14px}.paper{margin-bottom:30px}.page section+section{margin-top:40px}.course{column-gap:15px}.course h3{font-size:16px}.course p,.course time{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:600px){.email-card{left:0;right:auto}}
