:root{--ink:#242a26;--muted:#606760;--green:#2c613b;--line:#d6e1d6;--wash:#f1f6eb}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:var(--green);text-underline-offset:3px}a:hover{color:#153c20}a:focus-visible{outline:3px solid #5b8354;outline-offset:5px}p{margin:0 0 18px}h1,h2,h3{line-height:1.35}h1{font-size:30px;margin:0 0 9px;font-weight:700}h2{font-size:21px;margin:30px 0 14px;padding-bottom:9px;border-bottom:1px solid var(--line)}h3{font-size:18px;margin:0 0 7px}strong{font-weight:600}.shell{max-width:1000px;padding:0 32px;margin:0 auto}header{border-bottom:1px solid #a9c7ad;padding:20px 0 0}.wordmark{display:inline-block;font-size:20px;font-weight:700;text-decoration:none;color:#202820;margin-bottom:14px}nav{display:flex;flex-wrap:wrap;gap:27px}nav a{font-size:16px;text-decoration:none;color:#303930;padding:0 0 12px;border-bottom:3px solid transparent}nav a.active{color:var(--green);border-color:var(--green);font-weight:600}nav a:hover{color:var(--green)}.profile{display:grid;grid-template-columns:142px 1fr;gap:30px;align-items:center;padding:32px 0 28px;border-bottom:1px solid var(--line)}.portrait-placeholder{height:168px;background:#f1f2ef;border:1px solid #dde2da;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#7a8778}.portrait-placeholder span{font-size:40px;font-weight:400;letter-spacing:2px}.portrait-placeholder small{font-size:11px;color:#697667;margin-top:9px}.affiliation{line-height:1.6;margin:0;color:#424c42}.research-line{color:var(--green);margin:12px 0 0;font-size:15px}.quick-links{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin:22px 0 26px;padding:13px 18px;background:var(--wash);border:1px solid #dce8d0;border-radius:4px}.quick-links a{font-weight:600}.quick-links>span{color:#646c60;font-size:14px}.quick-links small{font-size:10px;text-transform:uppercase;margin-left:3px;color:#626b5b}.tab-panel{min-height:230px;padding:0 0 25px}.tab-panel>h2:first-child{margin-top:0}.education-list,.selected-list{padding:0;list-style:none}.education-list li,.selected-list li{margin:0 0 14px}.education-list span,.selected-list span{display:block;font-size:14px;color:var(--muted);margin-top:2px}.selected-list a{font-weight:600}.lead{color:var(--muted);font-size:16px}.meta{color:var(--muted);font-size:13px}.entry{padding:21px 0;border-bottom:1px solid #e0e6de}.entry:last-child{border:0}.entry p{margin:8px 0;font-size:15px}.entry .meta{font-size:13px}.label{font-size:11px;color:var(--green);font-weight:600;text-transform:uppercase;letter-spacing:.65px;margin-bottom:6px}.entry-bottom{display:flex;align-items:center;gap:16px;margin-top:12px}.text-link{font-size:14px}.tag{font-size:11px;color:#626e60;background:#f2f5ef;padding:3px 7px;border-radius:3px}.experience{padding:17px 0;border-bottom:1px solid #e0e6de}.experience p{font-size:15px;margin:8px 0}.experience h3{font-size:17px}.experience>div p{font-size:13px;color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:20px;padding:21px 0 28px;font-size:12px;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:14px}.contact-list>div{display:grid;grid-template-columns:100px 1fr;margin-bottom:14px}.contact-list dt{font-weight:600}.contact-list dd{margin:0;color:var(--muted)}.skip{position:absolute;left:20px;top:-100px;background:#fff;padding:10px;z-index:10}.skip:focus{top:8px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.project-hero{padding:30px 0 10px}.breadcrumb{font-size:13px}.project-hero .label{margin-top:25px!important}.project-hero h1{font-size:32px;max-width:800px}.project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0 0}.project-facts dt{color:var(--muted);font-size:11px;text-transform:uppercase}.project-facts dd{margin:5px 0 0;font-size:13px}.section{padding:10px 0}.section h2{margin-top:18px}.prose{max-width:820px}.notice{border-left:3px solid #7c9c70;background:#f4f7f0;padding:15px 18px;font-size:14px;margin:18px 0}.diagram{margin:22px 0;padding:22px;background:#f4f7f0;border:1px solid #dde6d7}.diagram figcaption{font-size:12px;color:var(--muted);margin-top:15px}.flow{display:grid;grid-template-columns:1fr 20px 1fr 20px 1fr;align-items:center;gap:8px}.flow-step{background:white;border:1px solid #cbd8c6;padding:16px 12px;font-size:14px}.flow-step small{display:block;color:var(--muted);font-size:12px}.flow-arrow{transform:rotate(-90deg);text-align:center;color:var(--green)}.research-table{width:100%;border-collapse:collapse;font-size:14px;margin:20px 0}.research-table th,.research-table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.research-table th{color:var(--green);background:#f4f7f0}.next-page{margin:25px 0 40px;padding-top:20px;border-top:1px solid var(--line)}[hidden]{display:none!important}
@media(max-width:600px){.shell{padding:0 20px}header{padding-top:16px}nav{gap:18px;row-gap:0}nav a{font-size:14px;padding-bottom:9px;margin-bottom:5px}.profile{grid-template-columns:104px 1fr;gap:19px;padding:24px 0}.portrait-placeholder{height:142px}.portrait-placeholder span{font-size:30px}.portrait-placeholder small{font-size:9px}h1{font-size:25px}.affiliation{font-size:13px}.research-line{font-size:13px}.quick-links{gap:18px;padding:12px 14px;margin:18px 0 24px}body{font-size:15px}h2{font-size:20px}.entry-bottom{flex-wrap:wrap}.project-hero h1{font-size:27px}.project-facts{grid-template-columns:1fr;gap:12px}.flow{grid-template-columns:1fr}.flow-arrow{transform:none}.footer-inner{flex-direction:column;gap:4px}.diagram{padding:14px}.research-table td,.research-table th{padding:10px 6px}.contact-list>div{grid-template-columns:80px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{header,.quick-links,.next-page,.portrait-placeholder{display:none}.profile{display:block}.tab-panel[hidden]{display:block!important}.shell{max-width:none}body{font-size:11pt}.tab-panel{min-height:0}.entry,.experience{break-inside:avoid}footer{margin-top:10px}}

/* Visual refinement: warm paper, botanical color, and quiet technical motifs. */
:root{--ink:#22342f;--muted:#607069;--green:#24654e;--line:#dbe4dc;--wash:#edf4ea}
body{background:radial-gradient(ellipse at 95% 0%,#e9f0e7 0,transparent 430px),#fcfcf8;font-family:"Segoe UI",Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
header{border-top:4px solid #24654e;border-bottom:1px solid var(--line);background:#ffffffb8;padding-top:19px}.wordmark{font-size:19px;letter-spacing:-.4px}.wordmark:after{content:" / academic profile";font-size:11px;letter-spacing:.6px;color:var(--muted);font-weight:400;margin-left:12px}nav{gap:28px}nav a{font-size:14px;transition:color .18s,border-color .18s}.shell{max-width:1030px}
.profile{margin-top:25px;padding:30px;grid-template-columns:155px 1fr;gap:32px;border:1px solid #dbe5dc;border-radius:12px;background:linear-gradient(115deg,#eef4e9,#f8faf5 62%,#f1f5ee);position:relative;overflow:hidden}.profile:after{content:"";position:absolute;right:-85px;top:-150px;width:320px;height:320px;border:1px solid #a6bba72e;border-radius:50%;box-shadow:0 0 0 25px #b5c8b516,0 0 0 50px #b5c8b511;pointer-events:none}.profile>div{position:relative;z-index:1}.profile h1{font-size:36px;letter-spacing:-1.1px;margin-bottom:9px}.name-dot{color:#a88142}.profile-kicker{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#426c57;margin-bottom:8px;font-weight:600}.affiliation{font-size:14px;line-height:1.7}.research-line{font-size:15px;font-weight:500;margin-top:13px;max-width:530px}
.portrait-placeholder{height:155px;border-radius:50%;background:#e1eadb;border:1px solid #b7c9b2;box-shadow:inset 0 0 0 7px #edf3e7,0 7px 18px #334c3410;position:relative;color:#3c664d}.portrait-placeholder span{font-family:Georgia,serif;font-size:46px;letter-spacing:-2px}.portrait-placeholder small{font-size:9px;color:#50684f;margin-top:2px}.orbit{position:absolute;inset:-9px;border:1px dashed #9db49670;border-radius:50%}
.quick-links{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 19px;gap:24px;margin:22px 0 27px}.quick-links>a:first-child{background:var(--green);color:white;text-decoration:none;padding:8px 16px;border-radius:5px;font-size:13px;box-shadow:0 3px 8px #245b3617}.quick-links>a:first-child small{color:#e0eddd}.quick-links>a:first-child:hover{background:#194e39}.quick-links>span{font-size:13px}.quick-links small{font-size:9px}
h2{font-size:21px;letter-spacing:-.3px;border-bottom:0;padding-bottom:0;margin-top:34px;display:flex;align-items:center;gap:13px}h2:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,#ccdacf,transparent)}h3{letter-spacing:-.2px}.tab-panel{animation:panel-in .25s ease-out}.tab-panel>p{max-width:870px}.education-list{border-left:2px solid #d7e2d3;padding-left:20px;margin-left:4px}.education-list li{position:relative;padding:1px 0 3px 4px;margin-bottom:16px}.education-list li:before{content:"";position:absolute;left:-26px;top:9px;width:8px;height:8px;background:#7a9976;border:2px solid #fcfcf8;border-radius:50%;box-sizing:content-box}.education-list strong{font-size:15px}.education-list span{font-size:13px}
.selected-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:19px}.selected-list li{margin:0;min-width:0}.project-card{display:block;height:100%;overflow:hidden;border:1px solid #d9e3d7;border-radius:9px;background:#fff;text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s,border-color .2s}.project-card:hover,.project-card:focus-visible{transform:translateY(-3px);box-shadow:0 8px 25px #24443412;border-color:#adc3a6;color:var(--ink)}.card-art{height:113px;position:relative;overflow:hidden;background:#edf4eb;color:#789c7b}.card-art svg{width:100%;height:100%;display:block;opacity:.72}.forest-art{background:#edf0e5;color:#85916b}.art-caption{position:absolute;left:17px;bottom:10px!important;font-size:9px!important;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;color:#315c43!important;background:#f5f8f0e8;padding:3px 7px;border-radius:3px}.card-body{padding:19px 20px}.card-kind{font-size:10px!important;color:#59775e!important;margin:0 0 8px!important;text-transform:uppercase;letter-spacing:.5px}.card-body h3{font-size:18px;font-weight:600;line-height:1.35;max-width:310px}.card-body p{font-size:14px;line-height:1.6;font-weight:400;color:var(--muted);margin:10px 0 16px}.card-cta{font-size:12px!important;color:var(--green)!important;font-weight:600;display:flex!important;justify-content:space-between}.card-cta span{font-size:17px!important;color:var(--green)!important;line-height:1}
.entry{border:1px solid #dde5da;border-radius:8px;padding:23px;margin:17px 0;background:#ffffffb5}.entry:last-child{border:1px solid #dde5da}.entry h3{font-size:19px;font-weight:600}.tag{border:1px solid #d9e4d2;border-radius:20px;padding:3px 10px;font-size:10px}.experience{position:relative;padding-left:19px;border-left:2px solid #dbe5d7;margin-left:4px}.experience:before{content:"";position:absolute;left:-5px;top:24px;width:8px;height:8px;background:#7e9c76;border-radius:50%}.project-hero{padding-top:34px}.project-hero h1{font-size:34px;letter-spacing:-.7px}.project-facts{background:#f0f5ed;padding:18px 20px;border-radius:7px;border:1px solid var(--line)}.notice,.diagram{border-radius:6px}.next-page a{font-weight:500}footer{font-size:11px;margin-top:27px}.footer-inner>span:first-child{font-weight:600;color:#4a6755}
@keyframes panel-in{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.wordmark:after{font-size:9px;margin-left:9px}nav{gap:18px}.profile{margin-top:19px;padding:22px 18px;grid-template-columns:90px 1fr;gap:22px;border-radius:9px}.portrait-placeholder{height:90px}.portrait-placeholder span{font-size:31px}.portrait-placeholder small{font-size:7px}.orbit{inset:-6px}.profile h1{font-size:27px;letter-spacing:-.6px}.profile-kicker{font-size:8px;line-height:1.6;letter-spacing:.7px}.affiliation{font-size:12px}.research-line{font-size:12px;line-height:1.6;margin-top:10px}.quick-links{gap:16px;margin-top:18px}.quick-links>span{font-size:11px}.selected-list{grid-template-columns:1fr;gap:16px}.card-art{height:95px}.card-body{padding:17px 18px}.entry{padding:19px}.project-hero h1{font-size:28px}}
@media(max-width:360px){.profile{grid-template-columns:1fr}.portrait-placeholder{width:90px}.profile h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){.tab-panel{animation:none}nav a,.project-card{transition:none}.project-card:hover,.project-card:focus-visible{transform:none}}
@media print{body{background:white}.profile{background:white;padding:0;border:0}.profile:after{display:none}.profile h1{font-size:27pt}.selected-list{display:block}.project-card{border:0}.card-art{display:none}.entry{background:white;border:0}.profile-kicker{display:none}.tab-panel{animation:none}}
.profile-photo {
  display: block;
  width: 100%;
  max-width: 155px;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border: 1px solid #b7c9b2;
  border-radius: 50%;
}
