:root{--paper:#faf9f5;--ink:#223b33;--muted:#616b64;--green:#173f35;--line:#d9ddd3;--tint:#f0f2eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #bd8142;outline-offset:5px}.wrap,.nav-wrap{width:min(1140px,calc(100% - 96px));margin:auto}header{position:sticky;top:0;z-index:10;background:rgba(250,249,245,.97);border-bottom:1px solid var(--line)}.nav-wrap{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:32px}.wordmark{font-family:Georgia,serif;font-size:22px;line-height:1.3}.wordmark span{display:block;font-family:Arial,sans-serif;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;margin-top:6px;color:var(--muted)}nav{display:flex;gap:29px;align-items:center;font-size:13px}nav .cv-nav{border:1px solid var(--line);padding:6px 16px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:90px;padding-top:96px;padding-bottom:106px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.9px;line-height:1.8;margin:0 0 28px;color:var(--muted)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-1.8px;line-height:1.1;margin:0}h1{font-size:64px}.degree{font-family:Arial,sans-serif;font-size:15px;letter-spacing:0;display:inline-block;margin-left:14px;color:var(--muted)}.lead{font-size:23px;line-height:1.5;margin:30px 0 19px}.intro{max-width:655px;color:var(--muted);font-size:15px;line-height:1.9}.hero-links{display:flex;align-items:center;gap:28px;margin-top:32px;font-size:12px}.button{background:var(--green);color:white;padding:13px 20px}.button span{margin-left:16px}.text-link{display:inline-block;border-bottom:1px solid #8a968a;padding-bottom:3px;font-size:12px}.hero-aside{border-left:1px solid var(--line);padding-left:36px;padding-top:5px}.initials{font-family:Georgia,serif;font-size:55px;position:relative;width:116px;height:116px;display:grid;place-items:center;border:1px solid #bcc9b7;border-radius:50%;margin-bottom:32px;background:#eff1e8}.initials span{width:10px;height:10px;background:#83967b;border:3px solid var(--paper);border-radius:50%;position:absolute;right:5px;bottom:12px}.aside-label{font-size:10px;letter-spacing:1.8px;color:var(--muted)}dl{font-size:13px}dt{font-size:10px;color:var(--muted);margin:21px 0 5px}dd{margin:0;line-height:1.7}.section{padding-top:78px;padding-bottom:82px;border-top:1px solid var(--line)}.section-heading{margin-bottom:44px}.section-heading .eyebrow{margin-bottom:20px}h2{font-size:43px}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px}.topic-number{display:block;color:#8a978a;font-family:Georgia,serif;font-size:24px;margin-bottom:22px}h3{font-size:17px;line-height:1.5;font-weight:500;margin:0 0 13px}.research-grid h3{font-size:19px}.research-grid p{font-size:14px;color:var(--muted);line-height:1.85}.research-grid .keywords{font-size:11px;line-height:1.8;margin-top:23px;color:var(--green)}.project-note{border-top:1px solid var(--line);margin-top:42px;padding-top:28px;display:grid;grid-template-columns:170px 1fr;gap:20px}.project-note .eyebrow{margin-top:5px}.project-note h3{font-size:15px;margin-bottom:7px}.project-note p{font-size:13px;color:var(--muted);margin:0}.publication-section{background:var(--tint)}.publication-section .section{border:none}.horizontal{display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.filter-bar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.filter{border:1px solid transparent;background:transparent;font:inherit;font-size:12px;color:var(--muted);padding:8px 15px;cursor:pointer}.filter.active{background:var(--green);color:white}.filter:hover:not(.active){border-color:#b8c0b2}.publication{display:grid;grid-template-columns:108px 1fr;gap:20px;padding:27px 0;border-bottom:1px solid #d4dacc}.publication[hidden]{display:none}.publication h3{font-family:Georgia,serif;font-size:21px;line-height:1.45;margin:0 0 8px}.publication h3 a span{font-family:Arial,sans-serif;font-size:14px;color:#687e6c}.pub-year{font-family:Georgia,serif;font-size:24px}.pub-year span{display:block;font-family:Arial,sans-serif;font-size:10px;color:var(--green);margin-top:5px;letter-spacing:.4px}.status-year{font-family:Arial,sans-serif;font-size:11px;padding-top:7px}.authors,.venue{font-size:12px;line-height:1.8;margin:4px 0;color:var(--muted)}.authors strong{font-weight:500;color:var(--ink)}.venue{font-style:italic}.background-grid,.teaching-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px}.small-heading{font-size:12px;letter-spacing:1.3px;text-transform:uppercase;margin-bottom:28px}.timeline-item{padding:0 0 26px 60px;position:relative}.timeline-item>span{position:absolute;left:0;top:1px;font-size:12px;color:var(--muted)}.timeline-item h3{font-size:16px;margin-bottom:4px}.timeline-item p{font-size:13px;margin:0}.timeline-item .detail{font-size:12px;color:var(--muted);margin-top:8px}.recognition{list-style:none;padding:0;margin:0}.recognition li{display:grid;grid-template-columns:42px 1fr;gap:18px;font-size:14px;margin-bottom:24px;line-height:1.6}.recognition li>span{font-size:12px;color:var(--muted)}small{font-size:12px;display:block;color:var(--muted);margin-top:4px}.course{margin-bottom:27px}.course .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:9px}.course h3{font-family:Georgia,serif;font-size:19px;margin-bottom:7px}.course p,.teaching-grid>div>p{font-size:14px;color:var(--muted)}.teaching-grid>div>p{line-height:1.9}.contact{background:var(--green);color:#faf9f5;padding:66px 0}.contact-inner{display:flex;justify-content:space-between;gap:40px;align-items:center}.contact .eyebrow{color:#c1d0bf;margin-bottom:20px}.contact h2{font-size:47px}.contact p:not(.eyebrow){font-size:13px;color:#d1dbcf}.email{font-family:Georgia,serif;font-size:26px;border-bottom:1px solid #97ae98;padding-bottom:6px;display:inline-block;margin-top:12px}.email span{font-family:Arial,sans-serif;font-size:19px;margin-left:20px}address{font-style:normal;font-size:13px;line-height:1.9;color:#d1dbcf}footer{padding-top:24px;padding-bottom:24px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}footer p{margin:0}.skip{position:fixed;left:15px;top:-100px;background:white;padding:12px;z-index:50}.skip:focus{top:15px}.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:1500px){.hero{padding-top:115px;padding-bottom:125px}}@media(max-width:1000px){.wrap,.nav-wrap{width:calc(100% - 56px)}.hero{gap:35px;grid-template-columns:minmax(0,1fr) 210px}h1{font-size:50px}.hero-aside{padding-left:25px}.hero-links{gap:16px;flex-wrap:wrap}.research-grid{gap:26px}.background-grid,.teaching-grid{gap:45px}nav{gap:18px}}@media(max-width:720px){html{scroll-padding-top:135px}.wrap,.nav-wrap{width:calc(100% - 40px)}.nav-wrap{flex-direction:column;align-items:flex-start;gap:15px;padding:17px 0;min-height:0}.wordmark{font-size:20px}.wordmark span{display:none}nav{width:100%;gap:0;justify-content:space-between;font-size:11px}nav .cv-nav{padding:3px 12px}.hero{display:block;padding-top:54px;padding-bottom:52px}.hero .eyebrow{font-size:9px;letter-spacing:1.1px}h1{font-size:clamp(39px,8.6vw,56px);letter-spacing:-1.3px}.degree{font-size:12px;margin-left:8px}.lead{font-size:20px}.intro{font-size:14px}.hero-aside{display:none}.section{padding-top:50px;padding-bottom:50px}h2{font-size:34px;letter-spacing:-1px}.section-heading{margin-bottom:32px}.research-grid,.background-grid,.teaching-grid{grid-template-columns:1fr;gap:30px}.research-grid article{border-bottom:1px solid var(--line);padding-bottom:16px}.topic-number{margin-bottom:10px}.research-grid .keywords{margin-top:12px}.project-note{grid-template-columns:1fr;gap:0;margin-top:25px}.project-note .eyebrow{margin-bottom:12px}.horizontal{display:block}.horizontal .text-link{margin-top:22px}.publication{grid-template-columns:1fr;gap:7px;padding:23px 0}.pub-year{font-family:Arial,sans-serif;font-size:11px;display:flex;gap:10px;align-items:center}.pub-year span{margin:0}.publication h3{font-size:20px}.status-year{padding:0}.filter{padding:7px 12px;font-size:11px}.contact-inner{display:block}.contact{padding:48px 0}.contact h2{font-size:39px}.contact address{margin-top:36px}.email{font-size:23px}.teaching-grid{gap:20px}footer{gap:15px;font-size:9px}.background-grid{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.portrait{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;margin-bottom:28px}.hero{grid-template-columns:minmax(0,1fr) 280px;gap:65px}@media(max-width:1000px){.hero{grid-template-columns:minmax(0,1fr) 230px;gap:32px}}@media(max-width:720px){.hero{display:flex;flex-direction:column;gap:34px}.hero-aside{display:block;border-left:0;padding:0}.portrait{width:180px;margin:0}.hero-aside dl,.hero-aside .aside-label{display:none}}

.degree{font-size:30px;margin-left:14px}.recognition li{grid-template-columns:70px 1fr}.recognition li>span{line-height:1.6}@media(max-width:1000px){.degree{font-size:26px}}@media(max-width:720px){.degree{font-size:23px;margin-left:10px}}

.hero-copy .intro{margin-top:30px}.publication-group+.publication-group{margin-top:48px}.publication-group-title{font-size:20px;font-weight:600;margin:0 0 8px}.publication h4{font-family:Georgia,serif;font-size:21px;line-height:1.45;font-weight:500;margin:0 0 8px}.publication h4 a span{font-family:Arial,sans-serif;font-size:14px;color:#687e6c}@media(max-width:720px){.publication h4{font-size:20px}}
.teaching-grid{grid-template-columns:1fr;max-width:780px}

/* Dark blue theme */
:root{--paper:#101f35;--ink:#edf2f8;--muted:#b8c6d8;--green:#b7d3ef;--line:#34465e;--tint:#152840}
header{background:rgba(16,31,53,.97)}
.button{background:#b7d3ef;color:#101f35}
.text-link{border-bottom-color:#8ca8c6}
.hero-aside{border-color:var(--line)}
.publication{border-bottom-color:var(--line)}
.publication h3 a span,.publication h4 a span{color:#b7d3ef}
.contact{background:#0b1729;color:var(--ink)}
.contact p:not(.eyebrow),address{color:var(--muted)}
.email{border-bottom-color:#8ca8c6}
.skip{background:#edf2f8;color:#101f35}


.connect-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:25px 0 12px}.connect-links a{display:block;border-radius:8px;transition:transform .15s ease}.connect-links a:hover{transform:translateY(-3px)}.connect-links img{display:block;width:72px;height:72px}@media(max-width:720px){.connect-links{gap:14px}.connect-links img{width:60px;height:60px}}@media(prefers-reduced-motion:reduce){.connect-links a{transition:none}}
.authors strong{font-weight:700}
.degree{font-family:inherit;color:inherit}
.name-comma{font-size:28px;letter-spacing:0}.degree{font-size:40px;margin-left:10px}@media(max-width:1000px){.degree{font-size:34px}.name-comma{font-size:24px}}@media(max-width:720px){.degree{font-size:30px;margin-left:8px}.name-comma{font-size:20px}}
.appointment-line{white-space:nowrap;font-size:10px;letter-spacing:-.2px}@media(min-width:1001px){.appointment-line{font-size:10.5px}}
.glance-education span{display:block;white-space:nowrap;font-size:10px;letter-spacing:-.2px;margin-bottom:7px}@media(min-width:1001px){.glance-education span{font-size:10.5px}}

.glance-overview{grid-column:1/-1;border-top:1px solid var(--line);padding-top:26px;margin-top:-25px}.glance-overview .aside-label{margin:0 0 22px}.glance-heading{font-family:Arial,Helvetica,sans-serif;font-size:21px;font-weight:400;letter-spacing:0;line-height:1.5;margin:22px 0 12px}.glance-entry{font-size:16px;line-height:1.7;margin:0 0 9px;color:var(--ink)}@media(max-width:720px){.glance-overview{margin-top:0}.glance-entry{font-size:14px}.glance-heading{font-size:20px}}
.education-details,.honors-details{max-width:900px}.honors-details .recognition li{grid-template-columns:100px 1fr;gap:24px}@media(max-width:720px){.honors-details .recognition li{grid-template-columns:70px 1fr;gap:18px}}

/* Captioned, swipeable photo gallery */
.photo-gallery{max-width:950px;margin:auto}.photo-stage{position:relative}.photo-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}.photo-track::-webkit-scrollbar{display:none}.photo-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;margin:0}.photo-slide img{display:block;width:100%;height:550px;object-fit:contain;background:#0b1729;border-radius:8px}.photo-slide figcaption{text-align:center;font-size:15px;padding:17px 50px;color:var(--ink)}.photo-arrow{position:absolute;top:245px;width:42px;height:42px;border:0;border-radius:50%;background:#edf2f8;color:#101f35;font-size:32px;line-height:1;cursor:pointer}.photo-prev{left:14px}.photo-next{right:14px}.photo-arrow:disabled{display:none}.photo-dots{display:flex;gap:9px;justify-content:center;margin-top:8px}.photo-dot{border:0;border-radius:50%;height:10px;width:10px;padding:0;background:#667b96;cursor:pointer}.photo-dot[aria-current=true]{background:#c5dff6}.photo-dot:focus-visible,.photo-arrow:focus-visible,.photo-track:focus-visible{outline:3px solid #bd8142;outline-offset:5px}@media(max-width:720px){nav{flex-wrap:wrap;gap:12px 18px;justify-content:flex-start}.photo-slide img{height:380px}.photo-arrow{top:170px}.photo-slide figcaption{font-size:13px;padding:16px 10px}}@media(prefers-reduced-motion:reduce){.photo-track{scroll-behavior:auto}}

.grant-entry{max-width:900px}.grant-entry h3{font-family:Georgia,serif;font-size:24px;line-height:1.45;margin:16px 0}.grant-entry p{font-size:15px;color:var(--muted)}.grant-investigators strong{font-weight:700;color:var(--ink)}.grant-details{display:grid;grid-template-columns:140px 1fr;gap:10px 20px;font-size:14px;margin-top:26px}.grant-details dt{font-size:14px;margin:0}.grant-details dd{margin:0}nav{flex-wrap:wrap;justify-content:flex-end;gap:12px 22px}@media(max-width:1000px){.nav-wrap{gap:22px}nav{gap:10px 16px}}@media(max-width:720px){nav{justify-content:flex-start}.grant-entry h3{font-size:21px}.grant-details{grid-template-columns:1fr;gap:4px}.grant-details dd{margin-bottom:12px}}


