@font-face{font-family:Raleway;font-weight:400;font-display:swap;src:url('assets/fonts/raleway-regular.woff2') format('woff2')}
@font-face{font-family:Raleway;font-weight:800;font-display:swap;src:url('assets/fonts/raleway-extrabold.woff2') format('woff2')}
@font-face{font-family:Raleway;font-weight:900;font-display:swap;src:url('assets/fonts/raleway-black.woff2') format('woff2')}
@font-face{font-family:'Source Sans Pro';font-weight:400;font-display:swap;src:url('assets/fonts/source-sans-regular.woff2') format('woff2')}
@font-face{font-family:'Source Sans Pro';font-weight:700;font-display:swap;src:url('assets/fonts/source-sans-bold.woff2') format('woff2')}
@font-face{font-family:'FA Solid';font-weight:900;font-display:block;src:url('assets/fonts/fa-solid.woff2') format('woff2')}
@font-face{font-family:'FA Regular';font-weight:400;font-display:block;src:url('assets/fonts/fa-regular.woff2') format('woff2')}
@font-face{font-family:'FA Brands';font-weight:400;font-display:block;src:url('assets/fonts/fa-brands.woff2') format('woff2')}
:root{color-scheme:light;--ink:#333;--heading:#3c3b3b;--muted:#777;--line:rgba(160,160,160,.3);--accent:#2ebaae}
*,*::before,*::after{box-sizing:border-box}
html{font-size:16px;line-height:1.4;scroll-padding-top:80px}
body{margin:3.5rem 0 0;background:#f4f4f4;color:var(--ink);font-family:'Source Sans Pro',Helvetica,sans-serif;font-size:1rem;line-height:1.75}
img{display:block;max-width:100%}
h1,h2,h3,h4,h5{color:var(--heading);font-family:Raleway,Helvetica,sans-serif;letter-spacing:.25em;line-height:1.65;text-transform:uppercase;font-weight:800}
h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}p{margin:1em 0}
a{color:inherit;text-decoration:none;border-bottom:1px dotted rgba(160,160,160,.65);transition:color .2s ease,border-color .2s ease}
a:hover{color:var(--accent);border-bottom-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid #258c83;outline-offset:5px}
h1 a,h2 a,h3 a,h4 a{border:0}::selection{background:#2ebaae;color:#fff}
.icon{display:inline-block;font-style:normal;line-height:1;letter-spacing:0;text-transform:none}
.icon.solid{font-family:'FA Solid';font-weight:900}.icon.regular{font-family:'FA Regular';font-weight:400}.icon.brands{font-family:'FA Brands';font-weight:400}
.skip-link{position:fixed;top:-100px;left:16px;z-index:10001;background:white;padding:8px 16px}.skip-link:focus{top:8px}
.site-header{position:fixed;top:0;left:0;width:100%;height:3.5rem;z-index:1000;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 6px rgba(0,0,0,.19),0 3px 6px rgba(0,0,0,.23)}
.header-inner{display:flex;align-items:center;width:100%;height:100%}
nav{display:flex;align-items:center;flex:1;min-width:0;padding:0 1rem;overflow-x:auto;scrollbar-width:thin;white-space:nowrap}
nav a{display:inline-block;border:0;border-left:1px solid var(--line);padding:0 1.5em;font:400 .7em/1.4 Raleway,Helvetica,sans-serif;letter-spacing:.25em;text-transform:uppercase}
nav a:first-child{border-left:0}nav a .icon{margin-right:.35em}nav a[aria-current]{color:var(--heading)}
.menu-toggle{display:none;align-self:stretch;width:61px;background:transparent;border:0;border-left:1px solid var(--line);cursor:pointer;color:var(--heading);font-size:1.5rem}
.page-layout{display:grid;grid-template-columns:22em minmax(0,1fr);align-items:start;margin:0 auto;max-width:90em;min-height:calc(100vh - 3.5rem);padding:0 2.5em}
.profile{min-width:0}.profile-intro{display:flex;align-items:center;flex-direction:column;text-align:center;padding:1em;margin-top:.5em}
.portrait-link{width:100%;border:0}.profile-photo{width:100%;aspect-ratio:1;height:auto;object-fit:cover;object-position:50% 38%;border-radius:50%}
.profile h1{font-size:1.25em;margin-bottom:0}
.profile-email{font-size:.7em;letter-spacing:.25em;line-height:2.5;text-transform:uppercase;color:#858585;margin:1em 0 0;overflow-wrap:anywhere}.profile-email a{border:0}
.social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.1rem;margin:1em 0}.social-links a{color:#888;border:0;min-width:20px}.social-links a:hover{color:var(--accent)}
.social-x{font-family:Arial,sans-serif;font-weight:700;line-height:1}.social-orcid{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border:1px solid currentColor;border-radius:50%;font:700 .65rem/1 Arial,sans-serif;vertical-align:middle}
.mini-bio{margin:0 2em;padding-top:3em;border-top:1px solid var(--line)}.mini-bio h2{font-size:1em;margin:.67em 0 1em}.mini-bio p{color:#777;font-size:.9em;margin:1em 0}
.button{display:block;width:fit-content;margin:1em auto 0;padding:0 2em;height:4.8125em;font:800 .6em/4.8125em Raleway,Helvetica,sans-serif;letter-spacing:.25em;text-transform:uppercase;border:1px solid var(--line);background:transparent;color:var(--heading)}.button:hover{color:var(--accent);border-color:var(--accent)}
.site-footer{margin:3em 2em 0;padding:3em 0 2em;border-top:1px solid var(--line);text-align:center}.copyright{color:#aaa;font-family:Raleway,Helvetica,sans-serif;font-size:.5em;letter-spacing:.25em;text-transform:uppercase}
main{min-width:0}.post{background:#fff;margin:1.5em auto;padding:1em;max-width:55em}
.post>header{display:flex;margin-top:1em;border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere}
.post>header .title{padding:2em 1em;width:100%;font-size:1.1em}.post>header h2{font-size:1.5em}
.content{margin:0 1em;padding-bottom:.5em}.content p{text-align:left}.intro-lead{font-size:1em}
.intro-topics{display:flex;gap:1em;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1.5em;margin-top:2em;font-size:.8em}
.research-directions{margin:2em 0}.research-direction{padding:1em 0;border-top:1px solid var(--line)}
.direction-label{display:flex;align-items:center;gap:1em;font-family:Raleway,Helvetica,sans-serif;font-size:.7em;letter-spacing:.2em;text-transform:uppercase}.direction-label p{margin:0}.direction-label span{color:#888}
.research-direction h3{font-size:1em;margin:1.2em 0}.related-work{font-size:.85em;color:var(--muted)}
.publication-key{font-size:.85em;color:var(--muted)}.publication-year{padding:1em 0 .5em;border-bottom:1px solid var(--line)}.publication-year h3{font-size:1em;margin:0}.publication-year span{color:var(--muted);font-size:.85em}
.publication{padding:1.5em 0;border-bottom:1px solid var(--line)}.publication:last-child{border:0}
.publication-meta{display:flex;gap:1em;align-items:baseline;flex-wrap:wrap;font-size:.8em;color:var(--muted)}.venue{color:var(--heading);font-weight:700}.status{font-style:italic}
.publication h4{font-size:1em;letter-spacing:0;line-height:1.7;text-transform:none;margin:.8em 0}.authors{font-size:.9em;margin:.5em 0;color:var(--muted)}.authors strong{color:var(--ink)}.publication-description{font-size:.95em}.paper-links{display:flex;flex-wrap:wrap;gap:1em;font-size:.85em}
.timeline article{padding:1em 0;border-bottom:1px solid var(--line)}.timeline-date{color:var(--muted);font-size:.85em;margin-bottom:.5em}.timeline h3{font-size:.9em;margin:.5em 0}.timeline article div p{margin:.25em 0}.muted{color:var(--muted)}
.background-columns{margin-top:2em}.background-columns h3{font-size:1em}.contact-email{display:inline-block;font-size:1.1em;margin:1em 0;overflow-wrap:anywhere}.contact-address{color:var(--muted)}
.cv-link{display:block;border:1px solid var(--line);width:fit-content;padding:.8em 1.5em;margin:1.5em 0}.cv-link span{display:block;font-size:.8em;color:var(--muted)}
.about-section{margin-top:2.5em;padding-top:1.5em;border-top:1px solid var(--line)}.about-section h3{font-size:1.1em}.experience-list{padding-left:1.25em}.experience-list li{padding-left:.25em;margin:1.25em 0}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-form-section{margin-top:2.5em}.contact-form-section h4{margin-bottom:2em}
#contact-form input,#contact-form textarea{display:block;width:100%;margin:0 0 .6em;border:1px solid var(--line);border-radius:0;background:rgba(160,160,160,.075);color:var(--ink);font:inherit;padding:.65em 1em;outline:0;appearance:none}
#contact-form input{height:3em}#contact-form textarea{min-height:5.5em;resize:vertical}#contact-form input::placeholder,#contact-form textarea::placeholder{color:#777;opacity:1}
#contact-form input:focus,#contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
#contact-form .button{margin:1.25em 0;cursor:pointer}.form-note{font-size:.85em;color:var(--muted)}

.home-research{margin:1.5em 0 2em}.home-lead{font-size:1.08em;line-height:1.75}.home-research p:last-child{margin-bottom:0}
.research-direction h3{font-size:.95em;letter-spacing:.15em}.direction-number{color:#888;font-weight:400;margin-right:.8em;letter-spacing:.1em}
.research-project{margin:1.2em 0;line-height:1.65}.research-project a strong{font-weight:700}.project-code{font-size:.8em;color:var(--muted);margin-left:.35em}.research-insight{font-size:.9em;color:#666}.research-insight strong{font-weight:400;color:#536b66}
@media(max-width:767px){.home-research{margin:1.5em 0 2em}.research-direction h3{line-height:1.8;letter-spacing:.13em}.direction-number{margin-right:.5em}}


.mini-bio .mini-role{font-size:.9em;font-weight:700;color:var(--heading);margin-bottom:.75em}.mini-affiliation span{display:block;margin:.5em 0}.mini-bio .mini-label{font-size:.9em;font-weight:700;color:#626c69;margin:1.5em 0 .6em}.mini-interests{padding-left:1.15em;color:#777;font-size:.9em;line-height:1.75;margin:.5em 0 1.5em}.mini-interests li{margin:.5em 0}.mini-interests li::marker{color:#769c95;font-size:.75em}
.topic-figure{margin:1.4em 0 1.5em}.topic-figure img{width:100%;height:auto;border:1px solid #e1e7e4}.topic-figure > a{display:block;border:0;cursor:zoom-in}.topic-figure figcaption{font-size:.75em;line-height:1.55;color:#888;margin:.6em 0 0}

@media(min-width:1440px){.content{margin:0 4em}}
@media(max-width:1023px){
 .menu-toggle{display:block;margin-left:auto}
 nav{display:none;position:absolute;right:0;top:3.5rem;width:220px;padding:.75em 0;background:#fff;border:1px solid var(--line);box-shadow:0 3px 6px rgba(0,0,0,.19)}
 nav.is-open{display:flex;flex-direction:column;align-items:stretch}nav a{padding:1em 1.5em;border:0;border-bottom:1px dotted var(--line);font-size:.75em;white-space:normal}nav a:last-child{border-bottom:0}
 .page-layout{grid-template-columns:minmax(0,1fr);padding:0 1.5em}.profile{display:contents}.profile-intro{grid-row:1;padding:1.5em 1em 0}.portrait-link{width:160px}
 .mini-bio{grid-row:3;padding-top:2em;margin:1em 1.5em 0}main{grid-row:2;width:100%}.site-footer{grid-row:4;margin:2em 1.5em 0;padding-top:2em}.content{margin:0 1em}
}
@media(max-width:767px){
 .post>header{display:block;text-align:center}.post>header .title{padding:0 0 1em}.post>header h2{font-size:1.5em}.page-layout{padding:0}.post{margin:1.5em auto;padding:1em}.content{margin:0}.content>p{text-align:left}
 .publication h4{letter-spacing:0}.profile-photo{width:144px;height:144px;margin:auto}.profile-intro{padding-top:1.5em}.profile h1{margin-top:.8em}.intro-topics{display:block}.intro-topics span{display:block;margin:.5em 0}
}
@media(prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto !important}}
@media print{body{margin:0;background:white}.site-header,.skip-link,.profile-intro,.mini-bio,.site-footer{display:none}.page-layout{display:block;padding:0}.post{margin:0;padding:0}.post>header .title{padding:0}.content{margin:0}.publication{break-inside:avoid}}

/* Author credits use distinct symbols for contribution and correspondence. */
.authors sup{font-size:.75em;line-height:0;position:relative;top:-.35em;vertical-align:baseline;margin-left:.08em}.author-notes{font-size:.8em;line-height:1.7;color:var(--muted);margin:.25em 0 .8em}
