:root{--paper:#f6f7f2;--ink:#203b34;--muted:#52675f;--green:#1e5647;--line:#d6dfd5;--soft:#e9eee3;--white:#fff;--accent:#cae6a0}
@view-transition{navigation:auto}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.8;text-align:left!important;padding-top:110px!important;-webkit-font-smoothing:antialiased}
.main-container{max-width:1180px!important;padding:30px 32px 64px;min-height:65vh}
h1,h2,h3,h4{color:var(--ink);line-height:1.18;letter-spacing:-.035em;font-weight:500}
h1,h2{font-family:Georgia,"Times New Roman",serif}h1{font-size:clamp(38px,5vw,64px);margin:15px 0 30px}h2{font-size:34px;margin:46px 0 22px}h3{font-size:25px;margin:30px 0 18px}h4{font-size:20px;margin:26px 0 16px}
h1.title{display:block;font-size:clamp(40px,5vw,64px);margin-bottom:34px}strong{font-weight:650}h2 strong{font-weight:500}p{margin-bottom:22px}a{color:var(--green);text-decoration:underline;text-decoration-color:#a1b7a8;text-underline-offset:4px;transition:color .18s,background .18s,box-shadow .18s}a:hover{color:#122f27;text-decoration-color:currentColor}a:focus-visible,button:focus-visible{outline:3px solid #376c9e!important;outline-offset:5px}img{max-width:100%;height:auto;border-radius:16px}pre{border:1px solid var(--line);border-radius:12px}code{color:var(--green)}
.navbar-default{background:rgba(246,247,242,.97);border:0;border-bottom:1px solid var(--line);box-shadow:none;backdrop-filter:blur(12px)}.navbar>.container{width:100%;max-width:1244px;padding:16px 32px}.navbar-brand{font-size:17px;font-weight:700;letter-spacing:-.5px;text-transform:none;color:var(--ink)!important;padding-left:0;text-decoration:none}.navbar-nav>li>a{font-size:12px!important;font-weight:650;text-transform:none!important;letter-spacing:0;padding:12px 13px;margin:3px 2px;border-radius:9px;color:var(--muted)!important;text-decoration:none}.navbar-nav>li>a .fa{display:none}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:white!important;background:var(--green)}.navbar-default .navbar-nav>li>a:hover{background:var(--soft);color:var(--ink)!important}.navbar-toggle{border:1px solid var(--line)!important;border-radius:8px}.navbar-default .navbar-toggle .icon-bar{background:var(--ink)}
.profile-hero{display:grid;grid-template-columns:1.35fr 1fr;gap:60px;align-items:center;padding:24px 0 48px}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:750;color:var(--green);margin:0 0 24px}.profile-hero h1{font-size:clamp(42px,4.7vw,62px);line-height:1.08;letter-spacing:-2.7px;margin:0 0 28px}.profile-hero h1 em{font-weight:400;color:#537650}.hero-summary{font-size:18px;color:var(--muted);max-width:510px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;align-items:center}.button-primary,.button-secondary{display:inline-flex;gap:18px;align-items:center;padding:13px 18px;border-radius:8px;font-size:13px;font-weight:650;text-decoration:none}.button-primary{background:var(--green);color:white}.button-primary:hover{background:#143c31;color:white}.button-secondary{border:1px solid var(--line)}.button-secondary:hover{background:var(--soft)}.hero-portrait{background:var(--soft);border-radius:120px 120px 20px 20px;padding:45px 22px 24px;text-align:center}.hero-portrait img{width:100%;height:auto;max-width:365px;mix-blend-mode:multiply}.hero-portrait p{font-weight:650;margin:24px 0 0;font-size:16px}.hero-portrait p span{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:4px}.research-topics{display:flex;gap:24px;flex-wrap:wrap;border-block:1px solid var(--line);padding:22px 0;margin-bottom:40px;font-size:12px;color:var(--muted)}.research-topics span:before{content:'↗';color:var(--green);margin-right:10px}body[data-page=index] #header{display:none}body[data-page=index] .section{max-width:850px}.contact-panel{margin-top:52px;background:var(--ink);color:white;padding:32px;border-radius:16px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}.contact-panel h2{color:white;margin:0;font-size:30px}.contact-panel .eyebrow{color:var(--accent);margin:0 0 8px}.contact-panel a{color:white;font-size:14px}.contact-panel>div{margin-right:auto}
.page-intro{font-size:19px;color:var(--muted);max-width:730px;margin-bottom:36px}.teaching-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.teaching-grid>.section{background:white;border:1px solid var(--line);border-radius:14px;padding:28px;transition:border-color .2s,box-shadow .2s}.teaching-grid>.section:hover,.teaching-grid>.section:focus-within{border-color:#87a18b;box-shadow:0 8px 24px #203b3409}.course-number{font-size:10px;letter-spacing:1.7px;color:var(--muted);font-weight:650}.teaching-grid h1{font-family:system-ui,sans-serif;font-size:23px;line-height:1.3;letter-spacing:-.6px;margin:18px 0}.teaching-grid p{font-size:14px;margin:0}.teaching-grid a{display:inline-block}.publication-banner{width:100%;height:230px;object-fit:cover;margin-bottom:28px}#refs .csl-entry{padding:22px 0;border-bottom:1px solid var(--line);line-height:1.8}body[data-page=research] .level4{background:white;padding:10px 28px 20px;border:1px solid var(--line);border-radius:14px;margin:22px 0}body[data-page=outreach] center{text-align:left;margin:24px 0 40px}.site-footer{max-width:1116px;margin:0 auto;padding:30px 0 38px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:12px;color:var(--muted)}.site-footer strong{display:block;color:var(--ink);font-size:14px}.site-footer span{display:block;margin-top:3px}.skip-link{position:fixed;top:-100px;left:20px;z-index:2000;background:var(--ink);color:white;padding:12px 18px}.skip-link:focus{top:12px}
@media(min-width:768px) and (max-width:1050px){.navbar-header{float:none}.navbar-right{float:left!important;margin-left:-12px}.navbar>.container{padding-block:8px}body{padding-top:140px!important}.profile-hero{gap:24px}}
@media(max-width:767px){body{padding-top:85px!important;font-size:15px}.main-container{padding:18px 22px 40px}.navbar>.container{padding:12px 22px}.navbar-brand{font-size:15px;padding-left:15px}.navbar-nav>li>a{padding:13px 16px}.navbar-collapse{border-top:1px solid var(--line)!important}.profile-hero{grid-template-columns:1fr;gap:32px;padding-top:14px}.profile-hero h1{font-size:46px;letter-spacing:-2px}.hero-portrait{max-width:400px;width:100%;justify-self:center;padding-top:26px}.hero-summary{font-size:17px}.hero-actions{gap:10px}.research-topics{gap:12px 20px}.teaching-grid{grid-template-columns:1fr}.contact-panel{padding:25px;gap:20px}.site-footer{margin:0 22px;align-items:flex-start;flex-direction:column}h2{font-size:29px}.publication-banner{height:160px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}

/* Academic profiles, funding history and publication catalogue. */
.profile-links{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.profile-links .button-secondary{background:#fff;font-size:12px;padding:9px 14px}.profile-icon{display:inline-grid;place-items:center;background:#447521;color:white;width:22px;height:22px;border-radius:50%;font-size:12px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{background:white;border:1px solid var(--line);border-radius:14px;padding:26px}.project-card .eyebrow{letter-spacing:1px;font-size:10px;margin:0 0 18px}.project-card h3{margin:0 0 16px;font-size:23px}.project-card p{font-size:14px}.project-card .project-meta{font-size:12px;color:var(--muted);margin-bottom:8px;overflow-wrap:anywhere}.publication-entry{border-bottom:1px solid var(--line);padding:22px 0}.publication-entry h3{font-size:21px;line-height:1.45;margin:0 0 12px;letter-spacing:-.3px}.publication-entry h3 a{text-decoration:none}.publication-entry h3 a:hover{text-decoration:underline}.publication-entry p{margin:6px 0;font-size:13px;line-height:1.7}.publication-meta{color:var(--muted)}.profile-hero h1{font-size:clamp(39px,4.3vw,58px)}@media(max-width:767px){.project-grid{grid-template-columns:1fr}.profile-hero h1{font-size:42px}.publication-entry h3{font-size:20px}}
