:root{--ink:#172a2e;--muted:#647477;--cream:#f6f5f0;--paper:#fff;--teal:#1e6865;--teal-dark:#154a49;--gold:#c69252;--line:#d9dfdb;--serif:"Libre Baskerville",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--paper);line-height:1.6}a{color:inherit;text-decoration:none}.container{width:min(1120px,calc(100% - 64px));margin:0 auto}.site-header{position:absolute;z-index:10;top:0;left:0;right:0}.nav{height:92px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:37px;height:37px;color:#fff;background:var(--teal);font:700 13px var(--sans);letter-spacing:.04em}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-size:14px}.brand-copy small{font-size:10px;color:var(--muted);margin-top:4px;letter-spacing:.08em;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:27px;font-size:12px;font-weight:600}.nav-links a{transition:color .2s}.nav-links a:hover,.text-link:hover{color:var(--teal)}.nav-cta{border:1px solid var(--line);padding:10px 15px}.nav-cta span{color:var(--gold);font-size:16px;margin-left:7px}.menu-toggle{display:none;border:0;background:none;padding:5px}.menu-toggle span{display:block;width:23px;height:2px;background:var(--ink);margin:5px}
.hero{min-height:750px;background:var(--cream);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;right:-11vw;top:-24vw;width:54vw;height:54vw;border:1px solid #dce2de;border-radius:50%}.hero:after{content:"";position:absolute;right:6vw;top:11vw;width:24vw;height:24vw;border:1px solid #e2e6e0;border-radius:50%}.hero-grid{min-height:750px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;position:relative;z-index:1}.eyebrow{color:var(--teal);font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;display:flex;gap:10px;align-items:center;margin:0 0 25px}.eyebrow-line{height:1px;width:29px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.14}h1{font-size:clamp(42px,5.5vw,76px);letter-spacing:-.04em;margin-bottom:25px}h1 em,h2 em{color:var(--teal);font-style:italic} .hero-intro{max-width:505px;color:var(--muted);font-size:15px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:33px}.button{display:inline-flex;align-items:center;gap:20px;padding:14px 20px;font-size:11px;font-weight:700;letter-spacing:.03em}.button-primary{background:var(--teal);color:#fff}.button-primary span{font-size:17px;font-weight:400}.button-outline{border:1px solid var(--teal);color:var(--teal);margin-top:20px}.button-outline span{font-size:16px}.text-link{font-size:12px;font-weight:700}.text-link span{color:var(--gold);font-size:18px;margin-left:7px}.hero-meta{display:flex;gap:46px;margin-top:70px}.hero-meta div{display:flex;flex-direction:column;border-left:1px solid var(--gold);padding-left:13px}.hero-meta strong{font-size:12px}.hero-meta span{color:var(--muted);font-size:10px;margin-top:3px}.hero-visual{justify-self:end;position:relative;width:min(390px,100%)}.portrait-frame{height:470px;background:#dfe6e2;padding:15px;position:relative}.portrait-placeholder{height:100%;background:linear-gradient(145deg,#b8cbc4,#e6e8df);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--teal-dark);position:relative;overflow:hidden}.portrait-placeholder:before{content:"";position:absolute;width:235px;height:235px;border:1px solid rgba(255,255,255,.65);border-radius:50%}.portrait-initials{font:700 74px var(--serif);position:relative;letter-spacing:-.08em}.portrait-label{text-transform:uppercase;letter-spacing:.2em;font-size:9px;line-height:1.8;text-align:center;position:relative;margin-top:14px}.portrait-stamp{position:absolute;bottom:-18px;left:-28px;background:var(--teal);color:#fff;border:6px solid var(--cream);width:83px;height:83px;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:9px;line-height:1.3;letter-spacing:.15em;transform:rotate(-14deg)}.hero-note{display:flex;align-items:center;gap:10px;position:absolute;right:-22px;bottom:44px;background:#fff;padding:13px 17px;font:italic 12px var(--serif);line-height:1.4;box-shadow:0 10px 25px #234b4215}.note-dot,.pulse{width:7px;height:7px;border-radius:50%;background:var(--gold);display:inline-block}.hero-scroll{position:absolute;bottom:26px;left:calc(50% - 45px);font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;display:flex;flex-direction:column;gap:10px;align-items:center}.hero-scroll i{height:28px;width:1px;background:var(--gold)}
.section{padding:115px 0}.split-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:100px}.section-heading h2,.section-top h2{font-size:clamp(32px,4vw,50px);margin-bottom:25px}.about-section{background:#fff}.about-copy{padding-top:40px;max-width:550px}.about-copy p{color:var(--muted);font-size:14px;line-height:1.9}.about-copy .lead{color:var(--ink);font:20px/1.7 var(--serif);margin-bottom:23px}.about-copy .lead strong{color:var(--teal)}.signature{font:italic 20px var(--serif);margin-top:35px;color:var(--teal)}.signature span{color:var(--gold);padding:0 8px}.soft-section{background:var(--cream)}.section-top{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:55px}.section-top h2{margin-bottom:0}.section-description{max-width:350px;color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 5px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info-card{background:#fff;min-height:315px;padding:25px;position:relative;transition:transform .25s,box-shadow .25s}.info-card:hover{transform:translateY(-5px);box-shadow:0 16px 30px #234b4210}.card-number{color:var(--gold);font-size:10px;letter-spacing:.12em}.icon-box{font-size:28px;color:var(--teal);margin:30px 0 17px}.info-card h3{font:18px var(--serif);line-height:1.4;margin-bottom:11px}.info-card p{font-size:12px;line-height:1.7;color:var(--muted)}.card-tag{position:absolute;bottom:25px;text-transform:uppercase;color:var(--teal);font-size:9px;letter-spacing:.13em}.placeholder-note,.research-footnote{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;margin-top:34px}.placeholder-note span{color:var(--gold);font-size:20px}.research-section{background:#fff}.research-list{border-top:1px solid var(--line)}.research-row{display:grid;grid-template-columns:75px 1fr 35px;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding:27px 0}.research-index{font-size:10px;color:var(--gold);letter-spacing:.1em}.research-row h3{font:19px var(--serif);margin-bottom:6px}.research-row p{color:var(--muted);font-size:12px;margin:0}.arrow{font-size:20px;color:var(--teal);transition:transform .2s}.research-row:hover .arrow{transform:translate(4px,-4px)}.research-footnote{justify-content:center}.pulse{box-shadow:0 0 0 5px #c6925220}
.publications-section{background:var(--cream)}.publication-layout{align-items:center}.heading-note{color:var(--muted);font-size:13px;line-height:1.8;max-width:290px}.publication-placeholder{background:#fff;padding:55px 50px;min-height:280px;border-top:3px solid var(--teal);position:relative}.document-icon{font-size:28px;color:var(--gold);margin-bottom:17px}.publication-placeholder h3{font:21px var(--serif)}.publication-placeholder p{color:var(--muted);font-size:13px;max-width:390px;line-height:1.8}.placeholder-lines{margin-top:30px}.placeholder-lines i{height:1px;background:var(--line);display:block;margin-top:9px;width:100%}.placeholder-lines i:nth-child(2){width:78%}.placeholder-lines i:nth-child(3){width:54%}.phd-section{background:var(--teal-dark);color:#fff}.phd-card{display:grid;grid-template-columns:1fr 1.8fr .35fr;gap:50px;align-items:center}.phd-section .eyebrow{color:#a8d1c2}.phd-symbol{font:42px var(--serif);color:var(--gold);display:block;margin-top:75px}.phd-content h2{font-size:clamp(28px,3.5vw,45px);margin-bottom:20px}.phd-content h2 em{color:#a8d1c2}.phd-content p{color:#c4d5d0;font-size:13px}.coming-soon{display:inline-block;border:1px solid #759a91;padding:8px 12px;color:#d9ebe3;font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-top:13px}.phd-side{border-left:1px solid #517772;padding-left:20px;display:flex;flex-direction:column;gap:22px;color:#a8d1c2;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.large-mark{font:45px var(--serif);color:var(--gold)}.achievements-section{background:#fff}.centered{text-align:center;max-width:550px;margin:0 auto 60px}.centered .eyebrow{justify-content:center}.centered p:last-child{font-size:13px;color:var(--muted)}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.timeline-item{position:relative;padding:30px 28px 10px 0;border-right:1px solid var(--line)}.timeline-item:not(:first-child){padding-left:28px}.timeline-item:last-child{border:0}.timeline-dot{display:block;width:9px;height:9px;background:var(--gold);border-radius:50%;position:absolute;top:-5px}.timeline-year{font-size:10px;color:var(--teal);font-weight:700;letter-spacing:.1em}.timeline h3{font:17px var(--serif);margin:14px 0 5px}.timeline p{color:var(--muted);font-size:12px}.contact-section{background:var(--cream);padding:105px 0 95px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-intro h2{font-size:clamp(42px,5vw,66px);margin-bottom:23px}.contact-intro>p:last-child{max-width:350px;color:var(--muted);font-size:14px}.contact-details{padding-top:25px}.contact-item{border-bottom:1px solid var(--line);padding:0 0 22px;margin-bottom:25px}.contact-label{display:block;color:var(--teal);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:9px}.contact-item a{font:18px var(--serif)}.contact-item a span,.profile-links a span{color:var(--gold);font-family:var(--sans);font-size:15px;margin-left:6px}.contact-item p{font-size:13px;color:var(--muted);line-height:1.8;margin:0}.profile-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:37px}.profile-links a{border:1px solid var(--line);padding:10px 13px;font-size:11px;font-weight:600;background:#fff}.site-footer{background:var(--teal-dark);color:#bfd1cd;font-size:10px}.footer-inner{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner a{color:#fff}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.container{width:min(100% - 40px,600px)}.nav{height:75px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:20px;right:20px;background:#fff;padding:20px;box-shadow:0 10px 25px #234b4214;flex-direction:column;align-items:flex-start;gap:17px}.nav-links.open{display:flex}.hero{min-height:auto;padding:145px 0 90px}.hero-grid{min-height:auto;display:flex;flex-direction:column;align-items:flex-start;gap:60px}.hero-visual{align-self:center;width:min(380px,90%)}.portrait-frame{height:420px}.hero-note{right:-12px}.hero-meta{margin-top:48px}.hero-scroll{display:none}.section{padding:78px 0}.split-layout,.contact-grid{grid-template-columns:1fr;gap:20px}.about-copy{padding-top:0}.section-top{display:block;margin-bottom:35px}.section-description{margin-top:23px}.card-grid{grid-template-columns:1fr}.info-card{min-height:260px}.research-row{grid-template-columns:35px 1fr 25px;gap:13px}.research-row h3{font-size:16px}.research-row p{font-size:11px}.publication-placeholder{padding:35px 28px;margin-top:25px}.phd-card{grid-template-columns:1fr;gap:10px}.phd-symbol{margin-top:10px}.phd-side{display:none}.timeline{grid-template-columns:1fr;border-top:0}.timeline-item,.timeline-item:not(:first-child){border-right:0;border-bottom:1px solid var(--line);padding:25px 0 12px 25px}.timeline-dot{left:0;top:29px}.contact-details{padding-top:15px}.footer-inner{padding:20px 0;align-items:flex-start;flex-direction:column;gap:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.privacy-note{font-size:11px!important;color:var(--teal)!important;border-left:2px solid var(--gold);padding-left:12px}.experience-section{background:#fff}.qualification-list{border-top:1px solid var(--line)}.qualification-row{display:grid;grid-template-columns:90px 1fr 100px;align-items:center;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}.qualification-year{font-size:10px;color:var(--gold);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.qualification-row h3{font:18px var(--serif);margin:0 0 5px}.qualification-row p{font-size:12px;color:var(--muted);margin:0}.qualification-status,.qualification-score{justify-self:end;color:var(--teal);font-size:11px;font-weight:700}.qualification-score{font-size:16px;font-family:var(--serif)}.research-profile{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:50px}.research-profile h2{font-size:clamp(32px,4vw,50px);margin:0}.research-profile>p{max-width:395px;color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 5px}.patents-section{background:#fff}.patent-placeholder,.placeholder-panel{background:var(--cream);padding:44px 48px;border-left:3px solid var(--gold);min-height:255px}.patent-mark{font:45px var(--serif);color:var(--gold)}.patent-placeholder h3,.placeholder-panel h3{font:20px var(--serif);margin:15px 0 12px}.patent-placeholder p,.placeholder-panel p{color:var(--muted);font-size:13px;line-height:1.8;max-width:480px}.editable-note{color:var(--teal);font-size:9px;font-weight:700;letter-spacing:.12em;line-height:1.6;margin-top:23px}.award-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.award-card{padding:28px 25px;border:1px solid var(--line);min-height:185px;transition:transform .25s,box-shadow .25s}.award-card:hover{transform:translateY(-5px);box-shadow:0 16px 30px #234b4210}.award-year,.lecture-date{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.award-card h3{font:18px/1.4 var(--serif);margin:24px 0 8px}.award-card p,.lecture-card p{font-size:12px;color:var(--muted);margin:0}.lecture-card{border-top:3px solid var(--teal);padding:40px;background:#fff;min-height:230px}.lecture-card h3{font:24px var(--serif);margin:24px 0 7px}.conferences-section{background:#fff}.skills-section{background:var(--cream)}.skill-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:900px;margin:0 auto 52px}.skill-list span{background:#fff;border:1px solid var(--line);padding:11px 15px;color:var(--teal);font-size:11px}.membership-row{border-top:1px solid var(--line);padding-top:25px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.membership-row .contact-label{margin:0 12px 0 0}.membership-row strong{font:14px var(--serif);font-weight:400}
.subsection-title{font:11px var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--teal);margin:0 0 16px}.publication-group{margin-top:42px}.publication-entry{border-top:1px solid var(--line);padding:23px 0}.publication-entry h3{font:19px/1.45 var(--serif);margin:9px 0 6px}.publication-entry p{font-size:13px;color:var(--muted);line-height:1.8;margin:0}.publication-entry em,.patent-entry em{font-style:italic}.publication-type,.patent-number{font-size:10px;color:var(--gold);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.patent-list{border-top:1px solid var(--line)}.patent-entry{padding:27px 0;border-bottom:1px solid var(--line)}.patent-entry h3{font:19px/1.5 var(--serif);margin:11px 0 7px}.patent-entry p{font-size:12px;color:var(--muted);margin:0}
.doi-link{color:var(--teal);font-weight:700;white-space:nowrap}.portrait-placeholder{cursor:default}.cv-button{background:var(--teal)!important;color:#fff!important;border-color:var(--teal)!important}.footer-inner>div{display:flex;flex-direction:column;gap:3px}.footer-inner strong{color:#fff;font-size:13px}.footer-inner>div span{font-size:10px}.footer-inner{min-height:95px}
.portrait-placeholder img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.awards-gallery-heading{margin:65px 0 22px;border-top:1px solid var(--line);padding-top:28px}.awards-gallery-heading p{margin:0}.awards-gallery-heading p:last-child{font-size:13px;color:var(--muted)}.awards-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.awards-gallery .gallery-item{height:260px}
.gallery-section{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-auto-rows:230px;gap:16px}.gallery-item{border:0;padding:0;position:relative;overflow:hidden;background:var(--teal-dark);cursor:pointer;text-align:left}.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,opacity .35s ease}.gallery-item span{position:absolute;left:16px;bottom:14px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(7px);transition:opacity .25s,transform .25s;text-shadow:0 1px 5px #000}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,#102826b8);opacity:0;transition:opacity .3s}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.04);opacity:.88}.gallery-item:hover span,.gallery-item:focus-visible span,.gallery-item:hover:after,.gallery-item:focus-visible:after{opacity:1;transform:none}.gallery-item span{z-index:1}.gallery-item-tall{grid-row:span 2}.gallery-item-wide{grid-column:span 2}.lightbox{display:none;position:fixed;z-index:100;inset:0;background:#102321eF;padding:35px;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(92vw,1000px);max-height:90vh;text-align:center}.lightbox img{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;margin:auto;box-shadow:0 14px 50px #0008}.lightbox figcaption{color:#fff;font:italic 14px var(--serif);margin-top:15px}.lightbox-close{position:absolute;right:25px;top:15px;border:0;background:none;color:#fff;font-size:38px;line-height:1;cursor:pointer}.lightbox-open{overflow:hidden}
@media(max-width:800px){.gallery-grid{grid-template-columns:1fr;grid-auto-rows:270px}.gallery-item-tall,.gallery-item-wide{grid-row:auto;grid-column:auto}.gallery-item span{opacity:1;transform:none}.gallery-item:after{opacity:1}.lightbox{padding:20px}.lightbox-close{right:15px;top:10px}}
@media(max-width:800px){.awards-gallery{grid-template-columns:1fr 1fr}.awards-gallery .gallery-item{height:220px}}
@media(max-width:480px){.awards-gallery{grid-template-columns:1fr}.awards-gallery .gallery-item{height:270px}}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;align-items:start}.gallery-grid .gallery-item,.gallery-grid .gallery-item-tall,.gallery-grid .gallery-item-wide{grid-row:auto;grid-column:auto;height:auto;min-height:0;align-self:start}.gallery-grid .gallery-item img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;transition:opacity .3s ease}.gallery-grid .gallery-item:hover img,.gallery-grid .gallery-item:focus-visible img{transform:none;opacity:.88}.gallery-grid .gallery-item:after{display:none}.gallery-grid .gallery-item span{position:static;display:block;padding:12px 15px;background:#fff;color:var(--teal);text-shadow:none;opacity:1;transform:none;font-size:9px}.gallery-grid .gallery-item:hover span,.gallery-grid .gallery-item:focus-visible span{opacity:1;transform:none}
@media(max-width:800px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.gallery-grid .gallery-item,.gallery-grid .gallery-item-tall,.gallery-grid .gallery-item-wide{grid-row:auto;grid-column:auto}.gallery-grid .gallery-item img{width:100%;height:auto;object-fit:contain}}
@media(max-width:520px){.gallery-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){.qualification-row{grid-template-columns:1fr auto;gap:6px 15px}.qualification-year{grid-column:1}.qualification-status,.qualification-score{grid-column:2;grid-row:1/3}.qualification-row h3{font-size:16px}.qualification-row p{font-size:11px}.research-profile{display:block}.research-profile>p{margin-top:22px}.patent-placeholder,.placeholder-panel{padding:32px 25px}.award-grid{grid-template-columns:1fr}.membership-row{display:block}.membership-row strong{display:block;margin-top:15px}.membership-row .contact-label{margin:0}}
