:root{--bg:#f8f7f3;--ink:#29282b;--muted:#74716e;--accent:#7b303c;--line:#e2dfd8;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#e8d4d6}.skip-link{position:fixed;top:-80px;left:20px;padding:10px 18px;background:var(--ink);color:white;z-index:10}.skip-link:focus{top:10px}.topbar{height:91px;max-width:1260px;margin:auto;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.wordmark{font-family:var(--serif);font-weight:bold;font-size:30px;letter-spacing:-2px}.wordmark span{color:var(--accent)}.top-note{font-size:10px;letter-spacing:2.7px;color:var(--muted)}.top-contact{font-size:12px}.top-contact span{margin-left:14px}.layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:85px;max-width:1192px;margin:0 auto;padding:64px 28px 0}.sidebar{position:sticky;top:40px;align-self:start}.monogram{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;position:relative;overflow:hidden;background:#ece8e2;border:1px solid #ded7cd;margin-bottom:26px}.monogram:before,.monogram:after{content:'';position:absolute;border:1px solid #d5cbc2;border-radius:50%;width:136px;height:136px;left:26px;top:9px}.monogram:after{left:-71px;top:-62px}.monogram span{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:52px;z-index:1;line-height:1}.monogram i{position:absolute;right:20px;top:24px;width:6px;height:6px;background:var(--accent);border-radius:50%}.profile-name{font-family:var(--serif);font-size:25px;letter-spacing:-.6px}.profile-role{font-size:12px;margin:8px 0;color:var(--accent)}.profile-school{font-size:12px;color:var(--muted);line-height:1.8;margin:12px 0}.location{font-size:12px;color:var(--muted);margin-top:20px}.location span{font-size:19px;margin-right:6px}nav{border-top:1px solid var(--line);margin-top:29px;padding-top:19px}nav a{display:flex;justify-content:space-between;font-size:12px;padding:8px 12px;margin:3px -12px;transition:background .2s}nav a span{font-size:10px;color:#9b9690}nav a.active{background:#ede7e4;color:var(--accent);border-radius:3px}nav a:hover{background:#f0ede8}.profile-links{display:flex;gap:25px;margin-top:25px;font-size:12px}.sidebar-note{font-family:var(--serif);font-style:italic;font-size:15px;color:#91877f;line-height:1.6;margin-top:36px}main{min-width:0}section{padding-bottom:52px;margin-bottom:48px;border-bottom:1px solid var(--line);scroll-margin-top:24px}.eyebrow,.tiny-label{font-size:9px;letter-spacing:1.7px;font-weight:600;color:var(--muted)}.eyebrow{display:flex;align-items:center;gap:9px;margin:3px 0 20px}.eyebrow span{width:6px;height:6px;border-radius:50%;background:var(--accent)}h1{font-family:var(--serif);font-weight:normal;font-size:70px;line-height:1.13;letter-spacing:-3px;margin:0 0 24px}.name-dot{color:var(--accent)}.hero-line{font-family:var(--serif);font-size:27px;line-height:1.45;letter-spacing:-.5px;margin:0 0 27px}.hero-line em{color:var(--accent)}.bio{font-size:14px;line-height:1.9;color:#5d5a59;margin:0 0 16px}.bio strong{font-weight:500;color:var(--ink)}.bio a,.advisors a{border-bottom:1px solid #c6a8aa}.intro-actions{display:flex;align-items:center;gap:28px;margin:28px 0 35px}.button{display:inline-flex;align-items:center;gap:35px;border-radius:3px;background:var(--accent);color:white;padding:11px 18px;font-size:12px}.button:hover{background:#612431;color:white}.text-link{font-size:12px}.text-link span{margin-left:10px}.interests{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;border-top:1px solid var(--line);padding-top:23px}.interests p{font-size:12px;margin:7px 0 0}.interests b{padding:0 5px;color:#b3a49a;font-weight:normal}.intro{padding-bottom:30px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}h2{font-family:var(--serif);font-size:28px;letter-spacing:-.65px;font-weight:normal;line-height:1.3;margin:0}.section-heading>span{font-size:8px;letter-spacing:1.4px;color:#8d8781;white-space:nowrap}h3{font-size:16px;line-height:1.5;font-weight:500;margin:8px 0}.research-card{background:#f0ede7;border:1px solid #e2dcd3;border-radius:4px;padding:25px 27px}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:15px}.pill{color:var(--accent);font-size:8px;letter-spacing:1.5px;border:1px solid #cdb9b6;padding:2px 8px;border-radius:2px}time{font-size:11px;color:var(--muted);white-space:nowrap}.research-card h3{font-family:var(--serif);font-size:24px;line-height:1.4;margin:17px 0 13px}.advisors{color:var(--muted);font-size:12px}.paper-link{display:inline-block;font-size:12px;color:var(--accent);margin-top:8px}.paper-link span{margin-left:13px}.doi{font-size:9px;color:#827871;margin-left:20px}.experience-row{display:flex;align-items:center;gap:18px;padding-top:29px}.company-mark{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;border:1px solid var(--line);font-family:var(--serif);font-size:26px;color:var(--accent)}.experience-row h3{margin:2px 0;font-size:16px}.experience-row p{font-size:11px;margin:0;color:var(--muted)}.experience-row .tiny-label{font-size:8px}.experience-row time{margin-left:auto;font-size:10px}.timeline{margin-left:5px;border-left:1px solid #d8cec6;padding-left:26px}.timeline article{position:relative;padding-bottom:29px}.timeline article:last-child{padding-bottom:0}.timeline article:before{content:'';width:7px;height:7px;border:1px solid #aa8a88;background:var(--bg);border-radius:50%;position:absolute;left:-31px;top:7px}.timeline article:first-child:before{background:var(--accent);border-color:var(--accent)}.timeline-meta{display:flex;justify-content:space-between;align-items:center;gap:15px}.timeline h3{margin:7px 0 4px}.timeline p{font-size:12px;margin:2px 0}.muted{color:var(--muted)}.awards>div{display:flex;justify-content:space-between;gap:22px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}.awards p{font-size:13px;margin:0}.awards p span{display:block;font-size:10px;color:var(--muted)}.subheading{font-family:var(--serif);font-size:21px;font-weight:normal;margin:33px 0 12px}.project-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}.project-row h4{font-weight:normal;font-size:12px;line-height:1.5;margin:0}.project-row p{font-size:11px;color:var(--muted);margin:2px 0}.project-row>span{color:var(--accent);font-size:19px}.skills-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.tags span{font-size:11px;border:1px solid var(--line);border-radius:3px;padding:4px 9px}.test-score{font-size:12px;margin:13px 0 5px}.test-score strong{font-weight:500}.test-score>span{margin-left:17px}.small{font-size:10px;line-height:1.8;margin:0}#more{border-bottom:0;padding-bottom:0;margin-bottom:45px}.contact-panel{padding:29px 32px;background:#eee7e3;border-radius:3px}.contact-panel .tiny-label{color:var(--accent)}.contact-panel h2{font-size:27px;margin:10px 0}.contact-panel>a{font-size:12px;color:var(--accent);display:flex;justify-content:space-between;gap:10px;overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:28px 0 32px}
@media(min-width:1400px){.layout{gap:105px;max-width:1230px}.topbar{max-width:1300px}}
@media(max-width:1000px){.layout{gap:42px;grid-template-columns:215px minmax(0,1fr)}h1{font-size:58px}.hero-line{font-size:24px}.section-heading>span{font-size:7px;letter-spacing:.7px}.experience-row{flex-wrap:wrap}.experience-row time{margin-left:61px}.interests{grid-template-columns:1fr}.doi{display:block;margin:8px 0 0}.skills-grid{gap:20px}}
@media(max-width:700px){.topbar{height:70px;padding:0 23px;margin:0 21px}.top-note{display:none}.layout{display:block;padding:30px 25px 0;max-width:560px}.sidebar{position:static;display:grid;grid-template-columns:65px 1fr;column-gap:16px;border-bottom:1px solid var(--line);margin-bottom:33px;padding-bottom:18px}.monogram{width:65px;height:65px;grid-row:1/4;margin:0}.monogram span{font-size:32px}.monogram i{right:11px;top:15px;width:4px;height:4px}.profile-name{font-size:23px;line-height:1.2}.profile-role{font-size:10px;margin:5px 0 0}.profile-school{font-size:10px;line-height:1.4;margin:5px 0 0}.location,.sidebar-note,.profile-links{display:none}nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:3px 16px;margin-top:19px;padding:13px 0 0}nav a{font-size:10px;padding:5px 0;margin:0}nav a.active{background:none;font-weight:bold}nav a span{display:none}h1{font-size:52px;letter-spacing:-2px}.hero-line{font-size:24px}.eyebrow{font-size:8px}.bio{font-size:13px}.interests{grid-template-columns:1fr;gap:13px}section{margin-bottom:32px;padding-bottom:32px}h2{font-size:25px}.section-heading>span{display:none}.research-card{padding:20px}.research-card h3{font-size:22px}.timeline-meta{flex-wrap:wrap;gap:2px 12px}.timeline-meta time{font-size:10px}.timeline h3{font-size:15px}.awards p{font-size:12px}.awards time{font-size:10px}.skills-grid{grid-template-columns:1fr;gap:23px}.contact-panel{padding:23px}.contact-panel h2{font-size:24px}.contact-panel>a{font-size:11px}.intro-actions{gap:22px}.button{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.topbar,.sidebar,.intro-actions,footer,.contact-panel{display:none}.layout{display:block;padding:0;max-width:none}body{background:white;font-size:11px}section{margin-bottom:20px;padding-bottom:20px;break-inside:avoid}h1{font-size:40px}.hero-line{font-size:22px}a{color:inherit}.research-card{background:white}#more{margin-bottom:0}}

/* Uniform research and internship entries. */
.experience-row{display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:start;padding:24px 0;gap:18px;border-bottom:1px solid var(--line)}
.experience-row:last-child{border-bottom:0;padding-bottom:0}
.experience-row time{margin:3px 0 0;font-size:10px}
.experience-row .company-mark{margin-top:4px}
.experience-row .paper-link{margin-top:7px;font-size:11px}
.conference-presentation{padding:3px 0 0}
.conference-link{margin-top:0}
.conference-presentation h4{font-family:var(--serif);font-size:18px;font-weight:normal;line-height:1.5;margin:12px 0 10px}
.coauthors{font-size:12px;color:var(--muted);margin:0 0 15px}
.presented-at{font-size:12px;color:var(--muted);line-height:1.9;margin:0}
.languages h3{font-family:var(--serif);font-size:21px;font-weight:normal;margin:0 0 12px}
.languages p{font-size:13px;margin:5px 0;color:var(--muted)}
@media(max-width:1000px){.experience-row{grid-template-columns:43px minmax(0,1fr);gap:6px 18px}.experience-row time{grid-column:2;margin:0}.experience-row .company-mark{grid-row:1/3}}

/* Frame the supplied portrait around the face without altering the photo. */
.portrait:before,.portrait:after{display:none}
.portrait{width:180px;height:210px;border-radius:8px}
.portrait img{position:absolute;width:155%;height:auto;max-width:none;left:-22%;top:-39%}
@media(max-width:700px){.sidebar{grid-template-columns:100px 1fr}.portrait{width:100px;height:120px}}

.conference-heading{margin:60px 0 24px}
.conference-presentation + .conference-presentation{margin-top:28px}
