@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--paper:#f8f8f2;--ink:#1d3531;--muted:#606b63;--green:#153d38;--line:#d9ded3;--lime:#d7e7b8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #92802e;outline-offset:6px}a:hover{color:#587247}p,h1,h2,h3{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h2{font-size:clamp(30px,3.3vw,44px);font-weight:500;line-height:1.22;letter-spacing:-1.7px;margin-bottom:24px}h3{line-height:1.4;font-weight:600}p{margin-bottom:22px}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:106px;border-bottom:1px solid var(--line)}.brand{font-family:Manrope,sans-serif;font-size:38px;font-weight:800;letter-spacing:-3px;line-height:1}.brand span{color:#7b965d}.site-header nav{display:flex;align-items:center;gap:34px;font-size:14px}.nav-contact{border:1px solid #b6c0b0;padding:10px 19px;border-radius:4px}.nav-contact span{margin-left:18px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;padding-block:76px 70px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin-bottom:28px;display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;border-radius:50%;background:#789a59}.hero h1{font-size:clamp(44px,4.9vw,68px);line-height:1.12;letter-spacing:-3.7px;font-weight:500;margin-bottom:28px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#52734f;letter-spacing:-3px}.hero-name{font-size:23px;font-weight:600;margin-bottom:12px;letter-spacing:-.5px}.hero-name span{font-size:17px;color:var(--muted);font-weight:400}.hero-description{max-width:440px;color:var(--muted);font-size:17px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.button{background:var(--green);color:white;padding:15px 23px;border-radius:4px;font-size:13px;font-weight:500;display:inline-flex;gap:35px;align-items:center;transition:background .2s,transform .2s}.button:hover{background:#2a5147;color:white;transform:translateY(-2px)}.text-link{font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:15px;border-bottom:1px solid #a9b6a0;padding-bottom:4px}.location{font-size:11px;color:var(--muted);margin:30px 0 0}.location span{font-size:17px;vertical-align:middle;margin-right:6px}.hero-art{position:relative;background:var(--green);min-height:510px;overflow:hidden;border-radius:5px;color:#e1e9d3}.hero-art svg{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.art-top,.art-bottom{position:absolute;left:27px;right:27px;display:flex;justify-content:space-between;z-index:1;font-size:9px;letter-spacing:1.5px}.art-top{top:25px}.art-bottom{bottom:24px;align-items:center}.art-bottom span:last-child{font-family:Georgia,serif;font-style:italic;font-size:16px;letter-spacing:0}.affiliations{padding:27px 0 34px;border-block:1px solid var(--line)}.affiliations>p{font-size:9px;letter-spacing:1.7px;color:var(--muted);margin-bottom:18px}.affiliations>div{display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:Manrope,sans-serif;font-size:18px;font-weight:650;letter-spacing:-.6px;color:#69746a}.section{padding-block:100px}.about{display:grid;grid-template-columns:1fr 1.15fr;gap:95px}.about-copy p{color:var(--muted);font-size:15px}.about-copy .lead{font-size:21px;color:var(--ink);line-height:1.65}.expertise-section{background:#eef1e7}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:42px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);font-size:14px;margin:0 0 4px}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.expertise-card{padding:27px;background:var(--paper);border:1px solid #dce2d3;border-radius:5px;position:relative}.card-number{font-size:11px;color:#657660}.discipline-icon{font-size:41px;margin:18px 0 23px;color:#5b7956;line-height:1}.expertise-card h3{font-size:19px;letter-spacing:-.6px;margin-bottom:13px}.expertise-card p{font-size:14px;color:var(--muted);min-height:95px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tags span,.topic{font-size:10px;color:#4e634a}.tags span{border:1px solid #d7dece;padding:4px 7px;border-radius:3px}.research-filters{display:flex;gap:9px;margin-bottom:30px;flex-wrap:wrap}.research-filters button{border:1px solid var(--line);background:transparent;padding:7px 15px;color:var(--muted);font-size:12px;border-radius:30px;cursor:pointer}.research-filters button:hover,.research-filters button.active{background:var(--green);color:white;border-color:var(--green)}.publication{display:grid;grid-template-columns:115px 1fr;gap:30px;padding:30px 24px;border-bottom:1px solid var(--line)}.publication.featured{background:#edf1e5;border-radius:4px;border-bottom:0}.publication-year{font-family:Manrope,sans-serif;font-size:25px;font-weight:500;letter-spacing:-.8px}.publication-year span{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:1px;margin-top:12px;color:#61764d}.publication-journal{font-size:9px;letter-spacing:1.3px;color:#62735d;margin-bottom:8px}.publication h3{font-size:19px;letter-spacing:-.3px;margin-bottom:10px;max-width:850px}.publication h3 a span{white-space:nowrap;font-size:20px}.publication h3 a:hover{text-decoration:underline;text-underline-offset:4px}.publication h3+p{font-size:12px;color:var(--muted);margin-bottom:12px}.topic{background:#e6ecdf;padding:4px 8px;border-radius:3px}.journey-section{background:#eef1e7}.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.journey-intro{color:var(--muted);font-size:15px;max-width:360px}.education-list article{border-left:1px solid #b9c7ad;padding:0 0 30px 27px;position:relative}.education-list article:last-child{padding-bottom:0}.education-list article:before{content:'';width:7px;height:7px;background:#597650;border:4px solid #eef1e7;box-sizing:content-box;border-radius:50%;position:absolute;left:-8px;top:5px}.education-place{font-size:9px;letter-spacing:1.5px;color:#5c7353}.education-list h3{font-size:22px;letter-spacing:-.6px;margin:7px 0 4px}.education-list p{font-size:14px;margin-bottom:9px}.education-list .education-detail{font-size:12px;color:var(--muted);max-width:375px}.service-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:45px}.service h2{font-size:34px}.service h3{font-size:16px;margin-bottom:12px}.service p:not(.eyebrow){font-size:14px;color:var(--muted)}.contact-section{background:var(--green);color:var(--paper);position:relative;overflow:hidden}.contact-inner{padding-block:80px;text-align:center}.contact-inner .eyebrow{justify-content:center;color:#bfcea9;margin-bottom:24px}.contact-inner h2{font-size:clamp(38px,4.6vw,58px);letter-spacing:-2px}.contact-inner>p:not(.eyebrow){font-size:15px;color:#c1cfc3}.button-light{background:var(--lime);color:var(--green);margin-top:9px}.button-light:hover{background:#e7f2d0;color:var(--green)}.social-links{display:flex;justify-content:center;gap:28px;margin-top:32px;font-size:12px;color:#d3dfcd}.social-links a:hover{color:white;text-decoration:underline}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:25px;font-size:10px;color:var(--muted)}footer p{margin:0}.skip-link{position:fixed;top:-80px;left:12px;background:white;padding:12px;z-index:20}.skip-link:focus{top:12px}.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}[hidden]{display:none!important}
@media(min-width:1500px){.hero{padding-block:90px}.hero-art{min-height:540px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero{gap:30px}.hero h1{font-size:50px}.hero-art{min-height:470px}.site-header nav{gap:20px}.about{gap:50px}.expertise-card{padding:22px}.expertise-card p{min-height:140px}.journey-grid{gap:50px}.service-grid{gap:25px}.affiliations>div{font-size:15px}.hero-actions{gap:18px}.button{gap:20px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{min-height:80px;position:relative;flex-wrap:wrap;padding-block:20px}.brand{font-size:32px}.js .menu-toggle{display:flex;align-items:center;gap:15px;background:none;border:0;font-size:13px;color:var(--ink);padding:6px}.site-header nav{width:100%;flex-wrap:wrap;padding-top:20px;font-size:13px;gap:18px}.js .site-header nav{display:none}.js .site-header nav.open{display:flex;flex-direction:column;align-items:stretch;padding-bottom:10px}.js .site-header nav a{padding:8px}.hero{grid-template-columns:1fr;padding-block:45px;gap:35px}.hero h1{font-size:clamp(43px,9vw,64px);letter-spacing:-2.7px}.eyebrow{font-size:9px;letter-spacing:1.5px}.hero-name{font-size:22px}.hero-description{font-size:16px;max-width:490px}.hero-art{min-height:380px}.hero-art svg{height:120%;top:-12%}.hero-actions{gap:24px}.affiliations>div{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:14px}.section{padding-block:65px}.about,.journey-grid{grid-template-columns:1fr;gap:24px}.about-copy .lead{font-size:19px}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>.text-link{margin-top:22px}.expertise-grid{grid-template-columns:1fr;gap:15px}.expertise-card{padding:26px}.expertise-card p{min-height:0;max-width:500px}.discipline-icon{position:absolute;top:24px;right:28px;margin:0}.expertise-card h3{margin-top:25px}.publication{grid-template-columns:1fr;gap:12px;padding:25px 12px}.publication-year{font-size:20px;display:flex;gap:18px;align-items:center}.publication-year span{margin:0}.publication h3{font-size:18px}.publication-journal{font-size:8px}.journey-grid{gap:38px}.service-grid{grid-template-columns:1fr;gap:16px}.service h2{margin-bottom:10px}.contact-inner{padding-block:65px}.social-links{gap:20px}footer{flex-wrap:wrap;justify-content:center;text-align:center;gap:8px 20px}footer p:first-child{width:100%}h2{letter-spacing:-1px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header,.hero-art,.hero-actions,.research-filters,.contact-section,footer,.skip-link{display:none}.wrap{width:100%}.hero,.section{padding-block:20px}.hero,.about,.journey-grid{display:block}.expertise-grid{display:block}.expertise-card{break-inside:avoid}.publication{break-inside:avoid}.publication[hidden]{display:grid!important}body{font-size:11pt;background:white;color:black}a{color:black}.affiliations{display:none}}

/* Industry profile, selected solutions, and technical toolkit. */
.credentials{list-style:none;padding:0;margin:26px 0;display:flex;flex-wrap:wrap;gap:8px}.credentials li{font-size:11px;background:#edf1e5;border:1px solid var(--line);border-radius:3px;padding:7px 10px}.solutions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.solution-card{border-top:2px solid #789a59;background:#eef1e7;padding:28px;display:flex;flex-direction:column;border-radius:0 0 5px 5px}.solution-card .eyebrow{font-size:8px;letter-spacing:1.2px;min-height:28px;margin-bottom:15px}.solution-card h3{font-size:23px;letter-spacing:-.7px;margin-bottom:16px}.solution-card>p:not(.eyebrow){font-size:14px;color:var(--muted)}.solution-detail{margin-top:auto;padding-top:20px;border-top:1px solid #d3dcc9}.solution-detail>span{font-size:8px;letter-spacing:1.4px;color:var(--muted)}.solution-detail p{font-size:12px;margin:6px 0 0}.toolkit{margin-top:65px;padding-top:45px;border-top:1px solid var(--line)}.toolkit h2{font-size:30px;letter-spacing:-1px}.toolkit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.toolkit-grid h3{font-size:14px;margin-bottom:15px}.toolkit-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:7px}.toolkit-grid li{font-size:11px;border:1px solid var(--line);border-radius:3px;padding:4px 8px}.hero h1{font-size:clamp(40px,4.2vw,59px);letter-spacing:-2.8px}.hero h1 em{letter-spacing:-2px}
@media(max-width:1000px){.solutions-grid{gap:15px}.solution-card{padding:22px}.toolkit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.site-header nav{gap:15px}}
@media(max-width:760px){.solutions-grid{grid-template-columns:1fr}.solution-card .eyebrow{min-height:0}.toolkit{margin-top:45px}.toolkit-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(37px,8.8vw,58px);letter-spacing:-2px}.solution-card{padding:26px}}
@media print{.solutions-grid,.toolkit-grid{display:block}.solution-card,.toolkit-grid>div{break-inside:avoid}.toolkit-grid>div{margin-bottom:16px}}

/* Career chronology preserves overlapping research and teaching appointments. */
.experience-section{background:#eef1e7}.career-role{display:grid;grid-template-columns:185px minmax(0,1fr);gap:40px;padding:32px 0;border-top:1px solid #ced8c5}.career-date{font-size:12px;font-weight:600;color:#52694a;padding-top:3px}.career-organization{font-size:11px;font-weight:600;color:#52694a;margin-bottom:8px}.career-content h3{font-size:24px;letter-spacing:-.6px;margin-bottom:7px}.career-content p{font-size:14px;max-width:800px}.career-content .career-location{font-size:11px;color:var(--muted);margin-bottom:16px}.career-content>p:last-child{margin-bottom:0}.career-content details{font-size:13px;color:var(--muted)}.career-content summary{cursor:pointer;color:var(--ink);font-size:12px;font-weight:600;padding:6px 0;width:fit-content}.career-content summary:hover{color:#52734f}.career-content summary:focus-visible{outline:3px solid #92802e;outline-offset:4px}.career-content ul{padding-left:18px;margin:14px 0 0;max-width:800px}.career-content li{padding-left:4px;margin-bottom:9px}.site-header nav{gap:22px}
@media(min-width:761px) and (max-width:1100px){.site-header{flex-wrap:wrap;padding-block:22px;gap:20px}.site-header nav{flex-wrap:wrap;gap:17px;font-size:12px}}
@media(max-width:760px){.career-role{grid-template-columns:1fr;gap:12px;padding-block:26px}.career-content h3{font-size:21px}.site-header nav{gap:18px}}
@media print{.career-role{display:block;break-inside:avoid}.career-content details::details-content{content-visibility:visible}.career-content details>summary{display:none}.career-content details>*{display:block}}

/* Generated geological cutaway: preserve the full system at every viewport. */
.hero-art.subsurface-figure{margin:0;min-height:0;background:#12343b;align-self:center}.subsurface-figure img{display:block;width:100%;height:auto}.subsurface-figure figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;padding:13px 18px;color:#e1e9d3;font-size:11px}.subsurface-figure figcaption span{font-size:9px;color:#bdcfc7}
@media(max-width:760px){.hero-art.subsurface-figure{width:100%;max-width:480px;justify-self:center}}
