:root{color-scheme:light;--ink:#172d35;--accent:#173f45;--link:#1d6571;--muted:#52636a;--line:#dce2e4;--paper:#fff;--wash:#f3f6f7;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:var(--ink)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bb713b;outline-offset:5px}p{margin:0 0 1.1rem;line-height:1.75}button{font:inherit}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:5;padding:.8rem;background:#fff}.skip-link:focus{top:.6rem}.site-header,main,footer{width:min(1120px,calc(100% - 80px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:106px;border-bottom:1px solid var(--line)}.wordmark{font-family:Georgia,serif;font-size:1.35rem;font-weight:bold;text-decoration:none;color:var(--ink);white-space:nowrap}nav{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap}nav a{color:var(--muted);text-decoration:none;font-size:.9rem;padding:.4rem 0}nav a:hover,nav a[aria-current="page"]{color:var(--accent);text-decoration:underline}nav .nav-cv{color:var(--accent);border:1px solid #b6c8cc;padding:.5rem .8rem;border-radius:3px}.intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:6.5rem;align-items:start;padding:82px 0 88px}.eyebrow{font-size:.8rem;letter-spacing:.11em;text-transform:uppercase;font-weight:600;color:var(--accent);margin:0 0 1.5rem}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(3.5rem,6.2vw,5.1rem);line-height:1.03;letter-spacing:-.045em;margin:0 0 1.6rem}h2{font-size:2.45rem;line-height:1.15;letter-spacing:-.025em;margin:0}h3{font-size:1.3rem;line-height:1.45;margin:0 0 .7rem}.role{font-size:1.02rem;line-height:1.65;color:var(--accent);margin-bottom:1.8rem}#biography{max-width:605px;font-size:1.05rem}.contact-links{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;margin-top:1.6rem;font-size:.9rem}.portrait-block{margin:0}.portrait-block img{display:block;width:100%;height:auto;aspect-ratio:1365/2048;object-fit:cover;object-position:center 34%;border-radius:3px}.portrait-block figcaption{margin-top:1rem;text-align:center}.portrait-block figcaption h1{font-size:1.65rem;line-height:1.3;letter-spacing:-.02em;margin:0}.content-section{display:grid;grid-template-columns:230px minmax(0,1fr);gap:50px;border-top:1px solid var(--line);padding:60px 0 66px}.section-index{color:var(--muted);font-size:.8rem;letter-spacing:.1em;margin-bottom:1rem}.section-intro{font-size:1.075rem;margin-bottom:2rem;max-width:730px}.research-group+.research-group{margin-top:2.5rem}.group-label{font-family:Arial,Helvetica,sans-serif;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:1.4rem}.paper{margin-bottom:1.8rem;padding-bottom:1.6rem;border-bottom:1px solid var(--line)}.paper:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.paper h3{font-family:Georgia,serif;font-size:1.18rem;line-height:1.55;font-weight:400;margin:0 0 .5rem}.paper .authors{font-size:.92rem;line-height:1.6;color:var(--muted);margin:0 0 .3rem}.paper .paper-meta{font-size:.85rem;color:var(--accent);margin:0;line-height:1.5}.current-courses{border-left:3px solid var(--accent);padding:4px 0 4px 1.5rem;margin-bottom:2.6rem}.institution-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1rem;margin-bottom:1rem}.institution-heading h2{margin:0}.term{font-size:.85rem;color:var(--muted)}.course-list{list-style:none;padding:0;margin:0}.course-list li{margin-bottom:1rem;line-height:1.6}.course-list li:last-child{margin-bottom:0}.course-code{color:var(--accent);font-size:.85rem;display:inline-block;margin-right:.5rem}.course-title{font-size:1rem;font-weight:700}.course-meta{display:block;font-size:.875rem;color:var(--muted);line-height:1.6;margin-top:.15rem}.teaching-history summary{font-family:Georgia,serif;font-size:1.4rem;cursor:pointer;padding:.2rem 0 1.4rem}.past-institution{padding:1.6rem 0;border-top:1px solid var(--line)}.past-institution:last-child{padding-bottom:0}.reviews{background:var(--wash);border-top:2px solid var(--accent);padding:1.6rem 1.8rem;margin-top:2.5rem}.reviews-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.reviews-heading button{background:var(--paper);color:var(--accent);border:1px solid #8aa6ae;border-radius:3px;padding:.55rem .7rem;font-size:.875rem;cursor:pointer}.reviews-heading button:hover{background:#e5ecef}.review-context{font-size:.85rem;color:var(--muted)}.reviews figure{margin:0}.reviews blockquote{font-family:Georgia,serif;font-size:1.18rem;line-height:1.75;margin:1.4rem 0 1rem}.reviews figcaption{font-size:.875rem;color:var(--muted)}.interest{display:grid;grid-template-columns:135px minmax(0,1fr);gap:1.5rem;padding:1.5rem 0;border-top:1px solid var(--line)}.interest h2{font-size:1.2rem}.interest p{margin:0;font-size:1rem}.interest:first-child{padding-top:0;border-top:0}.noscript{padding:1.5rem;background:var(--wash)}footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1.5rem;border-top:1px solid var(--line);padding:1.6rem 0 2.5rem;color:var(--muted);font-size:.8rem}footer p{margin:0}footer a{color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1100px){.section-heading{align-self:start;position:sticky;top:2rem}}
@media(max-width:950px){.site-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:1.5rem 0}nav{gap:1.2rem}.intro{gap:3rem;padding:55px 0 60px;grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr)}.content-section{grid-template-columns:180px minmax(0,1fr);gap:30px}.interest{grid-template-columns:1fr;gap:.2rem}}
@media(max-width:640px){.site-header,main,footer{width:calc(100% - 40px)}nav{gap:.45rem 1.05rem}nav a{font-size:.875rem}.intro{display:flex;flex-direction:column;gap:2rem;padding:40px 0 44px}h1{font-size:3.7rem}h1 br{display:none}h1 br:after{content:' '}.portrait-block{order:-1;align-self:flex-start;width:140px;margin:0}.portrait-block img{aspect-ratio:1;object-position:center 20%;border-radius:50%}.portrait-block figcaption{display:block;margin-top:.7rem}.portrait-block figcaption h1{font-size:1.1rem}.eyebrow{font-size:.78rem;line-height:1.6;margin-bottom:1rem}.content-section{display:block;padding:36px 0 40px}.section-heading{margin-bottom:1.8rem;display:flex;align-items:baseline;gap:1rem}.section-index{margin:0}h2{font-size:2rem}h2 br{display:none}h2 br:after{content:' '}.reviews{padding:1.25rem}.section-intro{font-size:1rem}.interest{padding:1.2rem 0}.interest h2{margin-bottom:.45rem}.institution-heading{display:block}.institution-heading .term{display:block;margin-top:.35rem}footer{font-size:.8rem;display:block}footer>*{display:block;margin-bottom:.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Separate pages share a consistent reading width and navigation. */
body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.page-section{max-width:800px;margin:0 auto;padding:60px 0 72px}.page-heading{margin-bottom:2.5rem}.page-heading .eyebrow{margin-bottom:1rem}.page-heading h1{font-size:clamp(2.6rem,5vw,3.6rem);line-height:1.12;letter-spacing:-.035em;margin:0}.page-section .section-intro{max-width:none}.page-section .group-label{font-size:.85rem;line-height:1.5;letter-spacing:.07em}.institution-heading h2{font-size:1.3rem;line-height:1.45;letter-spacing:0}.interest h2{font-size:1.2rem;line-height:1.45;letter-spacing:0}.reviews-heading h2{font-size:1.3rem;line-height:1.45;letter-spacing:0;margin:0 0 .7rem}nav a[aria-current="page"]{font-weight:600;text-decoration:underline;text-underline-offset:7px}
@media(max-width:640px){.page-section{padding:38px 0 44px}.page-heading{margin-bottom:1.8rem}.page-heading h1{font-size:2.6rem}}

/* Selected evaluation comments are grouped for comfortable reading. */
.reviews{margin:0 0 2.5rem}.reviews .review-item{padding:1.1rem 0;border-top:1px solid #d5dfe2}.reviews .review-item:first-child{border-top:0;padding-top:.2rem}.reviews .review-item:last-child{padding-bottom:.2rem}.reviews .review-item blockquote{font-size:1.075rem;line-height:1.7;margin:0 0 .7rem}.reviews .review-item figcaption{font-size:.82rem;line-height:1.6}

/* Course history precedes the optional student feedback. */
.teaching-history{margin-bottom:2.5rem}.teaching-history .group-label{margin-bottom:1rem}
