:root{--paper:#fafbf9;--ink:#1c2c35;--muted:#5a6871;--link:#275f86;--line:#dce3e5;--soft:#eef3f5;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none;text-underline-offset:4px}a:hover{text-decoration:underline}button,a{touch-action:manipulation}button{font:inherit}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid var(--link);outline-offset:5px}img,video{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}strong{font-weight:600}[hidden]{display:none!important}.shell{width:min(1060px,calc(100% - 80px));margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.nav{min-height:77px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-size:17px;color:var(--ink);letter-spacing:-.035em;font-weight:600;white-space:nowrap}.wordmark span{color:var(--link)}.nav-links{display:flex;flex-wrap:wrap;gap:28px;font-size:13px}.nav-links a{color:var(--muted);padding-block:10px}.skip-link{position:absolute;left:20px;top:10px;transform:translateY(-200%);padding:10px 16px;background:var(--ink);color:white;z-index:100}.skip-link:focus{transform:translateY(0)}.hero{padding:68px 0 58px;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:56px;align-items:center}.hero.without-portrait{grid-template-columns:minmax(0,820px)}.eyebrow{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}h1{font-family:var(--serif);font-size:clamp(40px,5.8vw,62px);line-height:1.1;font-weight:400;letter-spacing:-.045em;margin-bottom:14px}.role{color:var(--muted);font-size:15px;margin-bottom:14px}.intro{font-size:18px;line-height:1.7;max-width:720px}.bio{color:var(--muted);font-size:14px;line-height:1.8;margin-top:16px;max-width:700px}.profile-links{display:flex;gap:21px;flex-wrap:wrap;margin-top:26px;font-size:13px;font-weight:500}.profile-links span,.paper-links span[aria-hidden]{font-size:12px;margin-left:2px}.portrait img{width:240px;aspect-ratio:4/5;object-fit:cover;object-position:center;border-radius:5px}.portrait figcaption{color:var(--muted);font-size:11px;margin-top:12px;text-align:center}.section{border-top:1px solid var(--line);padding:38px 0 44px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:30px}h2{font-family:var(--serif);font-size:31px;font-weight:400;letter-spacing:-.035em;line-height:1.25}.publication-filters{display:flex;gap:5px;padding:4px;background:var(--soft);border-radius:6px}.publication-filters button{border:0;border-radius:4px;padding:7px 14px;font-size:12px;color:var(--muted);background:transparent;cursor:pointer}.publication-filters button[aria-pressed=true]{background:var(--white);color:var(--ink);box-shadow:0 1px 3px #142c3b12}.publication-filters span{margin-left:4px;font-size:11px;opacity:.8}.paper{display:grid;grid-template-columns:235px minmax(0,1fr);gap:30px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}.paper:first-child{padding-top:0}.paper.text-only{grid-template-columns:minmax(0,1fr)}.paper-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:8px;font-size:12px}.venue{color:var(--link);font-weight:650;letter-spacing:.015em;text-transform:none}.paper-topic{color:var(--muted);font-weight:500}h3{font-size:17px;font-weight:600;line-height:1.45;letter-spacing:-.02em}.paper h3 a{color:var(--ink)}.paper h3 a:hover{color:var(--link)}.authors{font-size:12px;line-height:1.7;color:var(--muted);margin-top:8px}.authors strong{color:var(--ink)}.paper-summary{font-size:14px;color:var(--muted);line-height:1.7;margin-top:10px}.paper-links{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;font-weight:600;margin-top:12px}.paper-note{color:var(--muted);font-size:11px;margin-top:7px;font-style:italic}.paper-media{border-radius:5px;background:white;overflow:hidden;align-self:center}.paper-media img{width:100%;max-height:190px;object-fit:contain}.paper-media video{width:100%;max-height:190px;object-fit:contain;background:#10151b}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:3px}.image-pair>div{min-width:0;position:relative}.image-pair img{aspect-ratio:1;object-fit:cover}.image-pair span{position:absolute;bottom:6px;left:6px;padding:1px 5px;background:#fffdf5e8;color:#253c4b;font-size:9px;border-radius:2px}.research-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-top:24px;font-size:13px}.text-button{border:0;padding:0;background:transparent;color:var(--link);cursor:pointer;font-size:13px}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.career-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.career-list{margin-top:27px;display:grid;gap:24px}.career-item .period{font-size:11px;color:var(--muted);margin-bottom:5px;letter-spacing:.025em}.career-item h3{font-size:15px;margin-bottom:3px}.career-item>p:last-child{font-size:12px;color:var(--muted)}.awards{display:grid;grid-template-columns:1fr 1fr;gap:60px}.award-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}.award-list li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:20px;align-items:baseline}.award-year{font-size:11px;color:var(--muted)}.award-list strong{display:block;font-size:14px}.award-list div span{font-size:12px;color:var(--muted)}.contact{border-top:1px solid var(--line);padding:43px 0 47px;display:flex;justify-content:space-between;align-items:center;gap:30px}.contact p:not(.eyebrow){margin-top:13px;font-size:13px;color:var(--muted)}.contact-email{font-size:15px;overflow-wrap:anywhere}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:20px 0 28px;font-size:11px;color:var(--muted)}.footer a{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1400px){.hero{padding-block:78px 66px}}
@media(max-width:900px){.shell{width:calc(100% - 56px)}.hero{gap:30px;grid-template-columns:minmax(0,1fr) 190px}.portrait img{width:190px}.intro{font-size:16px}.paper{grid-template-columns:200px minmax(0,1fr);gap:24px}.career-grid,.awards{gap:36px}.nav-links{gap:20px}.contact-email{font-size:13px}}
@media(max-width:650px){html{scroll-padding-top:24px}.shell{width:calc(100% - 40px)}.nav{padding-block:16px;gap:10px;align-items:flex-start;flex-direction:column}.nav-links{gap:22px;font-size:12px}.nav-links a{padding-block:6px}.hero{padding:35px 0;grid-template-columns:1fr;gap:26px}.hero.with-portrait .portrait{grid-row:1}.portrait{display:flex;align-items:center;gap:16px}.portrait img{width:104px;height:130px}.portrait figcaption{text-align:left;max-width:100px;margin:0}.eyebrow{font-size:10px;letter-spacing:.12em}.role{font-size:13px;margin-bottom:12px}.intro{font-size:16px}.bio{font-size:13px}.profile-links{gap:17px;row-gap:8px;margin-top:18px}.profile-links a{padding-block:8px}.section{padding:30px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:26px}h2{font-size:28px}.publication-filters button{min-height:38px;padding-inline:18px}.paper{grid-template-columns:1fr;gap:18px;padding:25px 0}.paper-media{width:100%;max-width:360px;background:var(--white)}.paper-media img{max-height:200px}.paper-media video{max-height:220px}.image-pair{max-width:270px}.paper-meta{gap:10px}.paper h3{font-size:17px}.paper-links a{padding-block:6px}.paper-links{margin-top:7px;gap:23px}.career-grid{grid-template-columns:1fr;gap:0}.awards{grid-template-columns:1fr;gap:24px}.contact{flex-direction:column;align-items:flex-start;padding:32px 0;gap:22px}.contact-email{font-size:14px}.text-button,.research-bottom>a{padding-block:8px}.footer{padding-top:18px}.without-portrait .hero-copy{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{font-size:12px;background:white}.site-header,.publication-filters,.research-bottom,.footer,.paper-media video{display:none!important}.shell{width:100%}.hero{padding:20px 0}.paper[hidden]{display:grid!important}.paper{break-inside:avoid}.section{padding:22px 0}.hero-copy{max-width:none}.profile-links{margin-top:10px}}

/* Current CV and media features, styled to match the original Academic layout. */
.availability{font-size:14px;line-height:1.65;font-weight:600;color:var(--link);margin-bottom:24px}
.media-frame{position:relative;display:block;background:#fff;overflow:hidden;border-radius:5px}
.media-frame img,.media-frame video{width:100%;object-fit:contain}
.expand-icon{position:absolute;top:7px;right:7px;background:#ffffffed;border:1px solid var(--line);border-radius:3px;width:22px;height:22px;font-size:12px;text-align:center;line-height:20px}
.paper-media{overflow:visible;background:transparent}
.paper-media figcaption{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:var(--muted);padding-top:5px}
.video-play{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:4px;padding:5px 8px;background:#ffffffed;color:var(--ink);font-size:10px;cursor:pointer;line-height:1.3}
.play-symbol{font-size:9px}
.position{font-size:12px;color:var(--ink);margin-bottom:5px}
.position span{color:var(--muted)}
.career-description{font-size:12px;color:var(--muted);line-height:1.8}
.recognition-grid .award-list,.service-list{margin-top:27px}
.service-item+.service-item{margin-top:20px}
.service-item h3{font-size:14px;font-weight:500;margin-bottom:6px}
.service-item p{font-size:12px;color:var(--muted);line-height:1.9}
#media-dialog { width: min(1180px,94vw); max-height: 92vh; border: 1px solid var(--line); border-radius: 9px; padding: 22px 25px; background: #fff; color: var(--ink); }
#media-dialog::backdrop { background: rgb(18 25 31 / 75%); backdrop-filter: blur(3px); }
.dialog-heading { display: flex; gap: 25px; align-items: start; justify-content: space-between; margin-bottom: 18px; }
.dialog-heading h2 { font: 500 14px/1.6 var(--sans); max-width: 850px; letter-spacing: 0; }
.dialog-close { background: none; border: 1px solid #cbd3d6; border-radius: 4px; padding: 4px 10px; font-size: 12px; white-space: nowrap; }
.dialog-close span { font-size: 18px; margin-left: 6px; }
#media-content img, #media-content video { max-width: 100%; max-height: 74vh; width: auto; margin: auto; object-fit: contain; }
body.dialog-open { overflow: hidden; }
@media(max-width:650px){#media-dialog{padding:15px}.dialog-heading{gap:12px}.dialog-heading h2{font-size:12px}.paper-media figcaption{font-size:10px}.availability{font-size:13px;margin-bottom:20px}}

/* Keep the two latest announcements close to the publications. */
.news{display:grid;grid-template-columns:150px minmax(0,1fr);gap:30px;padding-block:30px}
.news-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.news-item{display:grid;grid-template-columns:115px minmax(0,1fr);gap:18px;font-size:14px;line-height:1.7;align-items:baseline}
.news-venue{color:var(--link);font-size:12px;font-weight:650;white-space:nowrap}
.news-item strong{font-weight:600}
.news-item a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line)}
.news-item a:hover{color:var(--link);text-decoration-color:currentColor}
@media(max-width:900px){.news{grid-template-columns:120px minmax(0,1fr);gap:24px}.news-item{grid-template-columns:105px minmax(0,1fr);gap:12px}}
@media(max-width:650px){.news{grid-template-columns:1fr;gap:22px}.news-list{gap:18px}.news-item{grid-template-columns:1fr;gap:3px;font-size:13px}.nav-links{column-gap:18px;row-gap:2px}}
