:root{color-scheme:light;--bg:#fff;--ink:#414747;--muted:#767d7c;--line:#e7eae8;--accent:#427875;--soft:#f5f7f5;--tag:#eaf2ef}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.75}body.dark{color-scheme:dark;--bg:#1c2222;--ink:#e2e8e4;--muted:#a1b0a8;--line:#37423f;--accent:#9bcdc4;--soft:#26302c;--tag:#2d413b}a{color:var(--accent);text-underline-offset:4px}a:hover{color:var(--ink)}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}header{border-bottom:1px solid var(--line)}.header-inner{max-width:1180px;min-height:88px;display:flex;align-items:center;margin:auto;padding:0 32px;gap:32px}.brand{font-size:20px;font-weight:700;color:var(--ink);text-decoration:none;width:265px}.header-inner nav{display:flex;gap:34px;align-self:stretch}.header-inner nav a{font-size:15px;font-weight:500;text-decoration:none;color:var(--muted);display:flex;align-items:center;position:relative}.header-inner nav a[aria-current=page]{color:var(--ink)}.header-inner nav a[aria-current=page]:after{content:"";position:absolute;bottom:20px;height:2px;background:var(--accent);width:100%}.theme{margin-left:auto;background:none;border:0;font-size:24px;line-height:1;padding:10px}.layout{max-width:1180px;margin:58px auto 100px;padding:0 32px;display:grid;grid-template-columns:225px minmax(0,1fr);gap:72px;min-height:calc(100vh - 354px)}.profile{align-self:start;position:sticky;top:40px}.portrait{width:184px;height:184px;border-radius:50%;object-fit:cover;margin-bottom:22px;display:block}.portrait-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid var(--line);background:var(--soft);color:var(--muted);gap:4px}.portrait-placeholder svg{width:62px;height:62px;stroke:#a2b4ac;fill:none;stroke-width:1}.portrait-placeholder span{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.profile h2{font-size:22px;line-height:1.3;margin:0 0 9px;font-weight:650}.role{font-size:14px;line-height:1.7;margin:0 0 22px;color:var(--muted)}.profile-links{display:grid;gap:8px;font-size:13px;line-height:1.55}.profile-links>div,.profile-links>a{display:flex;align-items:center;gap:9px;text-decoration:none}.profile-links svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.5;flex-shrink:0}.profile-rule{width:28px;border:0;border-top:2px solid var(--line);margin:25px 0 18px}.profile-note{font-size:12px;color:var(--muted);line-height:1.7;max-width:190px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:var(--muted);margin:0 0 7px}h1{font-size:34px;line-height:1.25;letter-spacing:-.025em;margin:0 0 27px;font-weight:650}main p{margin:0 0 22px}main h2{font-size:23px;letter-spacing:-.02em;line-height:1.4;margin:36px 0 17px;font-weight:620}.intro{max-width:710px}.text-links{display:flex;gap:24px;font-size:14px;margin:27px 0 38px}.text-links a{text-decoration:none;border-bottom:1px solid var(--accent)}.interests{padding-left:21px;margin:0}.interests li{padding-left:3px;margin:7px 0}.education{display:grid;gap:19px}.education-row{display:flex;justify-content:space-between;gap:24px;font-size:15px}.education-row strong{display:block;font-weight:550}.education-row span,.education-row time{font-size:13px;color:var(--muted)}.education-row time{white-space:nowrap;padding-top:3px}.lower-note{border-top:1px solid var(--line);margin-top:39px;padding-top:24px;font-size:14px;color:var(--muted)}.page-intro{font-size:16px;color:var(--muted);max-width:650px;margin-bottom:32px}.paper{border-top:1px solid var(--line);padding:26px 0 28px}.paper-meta{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);display:flex;justify-content:space-between}.paper h2{margin:12px 0 6px;font-size:22px}.authors{font-size:14px;color:var(--muted);margin-bottom:17px}.paper details{font-size:14px}.paper summary{cursor:pointer;width:fit-content;color:var(--accent)}.paper details p{margin:15px 0 0;max-width:650px}.paper-link{display:inline-block;font-size:14px;margin-top:15px}.draft-label{background:var(--soft);border-left:2px solid var(--line);padding:10px 14px;font-size:12px;color:var(--muted);margin:28px 0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0}.filters button{border:1px solid transparent;background:none;padding:5px 14px;border-radius:3px;color:var(--muted);font-size:13px}.filters button[aria-pressed=true]{color:var(--accent);background:var(--tag)}.gallery{display:grid;align-items:start;grid-template-columns:1fr 1fr;gap:27px 22px}.photo{border:0;background:none;text-align:left;padding:0;display:block;width:100%}.photo-frame{background:var(--soft)}.photo img{width:100%;height:auto;object-fit:contain;display:block}.photo-frame>.placeholder{aspect-ratio:4/3}.placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;color:#788b84;border:1px solid #dce5df;background:#edf1ec}.placeholder.tone-1{background:#e9eef0;color:#7c8e97;border-color:#dbe3e6}.placeholder.tone-2{background:#f1ece5;color:#a49886;border-color:#e8ded0}.placeholder svg{width:43px;height:43px;stroke:currentColor;fill:none;stroke-width:1}.placeholder span{font-size:10px;letter-spacing:.15em;text-transform:uppercase}.photo-title{display:block;font-size:14px;margin-top:10px;font-weight:550}.photo-caption{display:block;font-size:12px;color:var(--muted)}footer{max-width:1116px;border-top:1px solid var(--line);margin:0 auto;padding:24px 0 35px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted);letter-spacing:.02em}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;padding:8px;background:var(--bg);z-index:10}dialog{max-width:1000px;width:calc(100% - 40px);border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:20px 24px}dialog::backdrop{background:#101818d9}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px}.lightbox-top{font-size:12px;margin-bottom:18px}.lightbox button{border:0;background:none;padding:6px 10px}.lightbox-image{height:min(62vh,620px);display:flex;align-items:center;justify-content:center}.lightbox-image img{max-width:100%;max-height:100%;object-fit:contain}.lightbox-caption{text-align:center;font-size:14px;padding-top:12px}.lightbox-caption span{display:block;font-size:12px;color:var(--muted)}.lightbox-bottom>button{font-size:24px}.lightbox-image .placeholder{max-width:800px}body.modal-open{overflow:hidden}
@media(min-width:1450px){.header-inner,.layout{max-width:1280px}.layout{grid-template-columns:245px minmax(0,1fr);gap:85px}.brand{width:298px}footer{max-width:1216px}}
@media(max-width:850px){.layout{gap:40px;grid-template-columns:190px minmax(0,1fr)}.brand{width:198px}.header-inner nav{gap:23px}.portrait{width:155px;height:155px}.gallery{gap:20px 16px}.education-row{display:block}.education-row time{display:block}footer{margin:0 32px}}
@media(max-width:620px){body{font-size:16px}.header-inner{padding:0 22px;gap:12px;min-height:74px;flex-wrap:wrap}.brand{width:auto;flex:1;font-size:18px}.theme{order:1}.header-inner nav{order:2;width:100%;height:44px;gap:29px}.header-inner nav a{font-size:14px}.header-inner nav a[aria-current=page]:after{bottom:0}.layout{display:block;margin-top:30px;padding:0 24px;margin-bottom:60px}.profile{position:static;display:grid;grid-template-columns:84px 1fr;column-gap:20px;margin-bottom:36px;padding-bottom:26px;border-bottom:1px solid var(--line)}.portrait{grid-row:1/4;width:84px;height:84px;margin:0}.portrait-placeholder svg{width:35px;height:35px}.portrait-placeholder span{font-size:7px}.profile h2{font-size:20px;margin:0 0 4px}.role{font-size:12px;margin-bottom:12px}.profile-links{grid-column:2;font-size:12px;gap:5px}.profile-rule,.profile-note{display:none}h1{font-size:30px;margin-bottom:22px}.eyebrow{font-size:10px}.education-row{display:flex}.gallery{gap:24px 14px}.photo-caption{font-size:11px}.placeholder span{font-size:8px;letter-spacing:.07em}.placeholder svg{width:32px;height:32px}.filters{gap:1px}.filters button{padding:5px 11px}footer{margin:0 24px;gap:15px;align-items:start;font-size:10px}.lightbox{padding:12px}.lightbox-image{height:53vh}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Presentation history stays visible even when the abstract is collapsed. */
.presentations{margin-top:22px;padding:17px 19px;background:var(--soft);border-left:2px solid var(--accent)}
.presentations h3{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:var(--muted);margin:0 0 10px}
.presentations ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.presentations li{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;font-size:13px;line-height:1.7}
.presentation-venue{font-weight:500}.presentation-format{color:var(--muted)}
.presentation-status{font-size:10px;letter-spacing:.04em;padding:1px 7px;color:var(--accent);background:var(--tag);border-radius:3px}
@media(max-width:620px){.presentations{padding:14px}.brand{line-height:1.35;padding-top:8px;padding-bottom:8px}.presentations li{gap:4px 8px}}

.profile h2,.brand{word-break:keep-all;overflow-wrap:normal}
