:root{--navy:#101d35;--navy-2:#162844;--ink:#17243c;--muted:#536174;--paper:#f6f8f9;--white:#fff;--line:#dce4e9;--teal:#b7e1de;--teal-deep:#146d72;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Segoe UI',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.62}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h2{font-size:clamp(2.65rem,5vw,4.9rem);font-weight:540;letter-spacing:-.055em;margin-bottom:0}h2 em,h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}h3{font-size:1.55rem;letter-spacing:-.035em}.container{width:min(1180px,calc(100% - 4rem));margin-inline:auto}.skip-link{position:absolute;z-index:100;top:-5rem;left:1rem;padding:.65rem 1rem;background:#fff;color:#111}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid #48b8c0;outline-offset:4px}.eyebrow{font-size:.78rem;font-weight:750;letter-spacing:.16em;line-height:1.4;text-transform:uppercase;color:var(--teal-deep);margin:0 0 1.7rem}.section{padding:7rem 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3.2rem}.section-heading>p{max-width:355px;margin:0 0 .4rem;color:var(--muted);font-size:1.08rem}.inline-link{display:inline-flex;align-items:center;gap:1.3rem;padding-bottom:.35rem;border-bottom:1px solid currentColor;color:var(--teal-deep);font-size:.98rem;font-weight:700;transition:gap .2s ease,color .2s ease}.inline-link:hover{gap:1.75rem;color:#104d53}

.site-header{position:relative;z-index:30;background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.15)}.nav-shell{width:min(1330px,calc(100% - 4rem));margin:auto;min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.9rem;min-width:220px}.brand-mark{font-size:2.05rem;font-weight:760;letter-spacing:-.1em;line-height:1}.brand-dot{color:var(--teal);letter-spacing:0}.brand-copy{font-size:.91rem;font-weight:700;line-height:1.25;letter-spacing:.015em}.brand-copy small{display:block;margin-top:.25rem;font-size:.56rem;letter-spacing:.16em;color:#a8b8c8;white-space:nowrap}.main-nav{display:flex;align-items:center;gap:clamp(.8rem,2vw,2rem)}.main-nav>a{font-size:.88rem;font-weight:600;color:#cbd7e4;transition:color .2s}.main-nav>a:hover,.main-nav>a:focus-visible{color:#fff}.main-nav .nav-contact{padding:.67rem 1rem;border:1px solid rgba(255,255,255,.35);color:#fff;white-space:nowrap}.nav-contact span{margin-left:.55rem;color:var(--teal)}.menu-toggle{display:none}

.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 50%,rgba(56,139,149,.18),transparent 38%),linear-gradient(135deg,transparent 60%,rgba(255,255,255,.025) 60%);pointer-events:none}.hero-inner{position:relative;display:grid;grid-template-columns:1.07fr .93fr;min-height:640px;align-items:center;gap:2.5rem;padding-block:5.2rem 3rem}.hero-copy{position:relative;z-index:2;padding-bottom:1rem}.hero-eyebrow{color:#c7e4e3;display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;letter-spacing:.13em}.hero-eyebrow .line{display:block;width:24px;height:1px;background:var(--teal)}.hero h1{max-width:740px;font-size:clamp(3.8rem,6.2vw,6.8rem);font-weight:520;letter-spacing:-.066em;line-height:1.01;margin:0 0 1.7rem}.hero h1 em{display:block;color:var(--teal)}.hero-lede{max-width:525px;color:#c1cfdb;font-size:1.13rem;line-height:1.75;margin-bottom:2rem}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;padding:.9rem 1.15rem;min-height:48px;font-size:.94rem;font-weight:720;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--teal);color:#092c34}.button-primary:hover{background:#d1f0ed}.button-quiet{color:#eaf3f5}.button-quiet:hover{color:var(--teal)}.hero-affiliation{display:flex;align-items:center;gap:1rem;margin-top:3.7rem;color:#a8b9c9;font-size:.86rem;line-height:1.45}.affiliation-rule{width:26px;height:1px;background:var(--teal)}.hero-visual{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center}.portrait-frame{position:relative;z-index:1;width:min(76%,370px);aspect-ratio: .83;border:1px solid rgba(255,255,255,.28);padding:.65rem;background:#19304d;box-shadow:30px 35px 75px rgba(0,0,0,.25)}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(.72) contrast(1.06)}.portrait-accent{position:absolute;right:-1.05rem;top:-1.05rem;width:38%;height:37%;border-top:1px solid var(--teal);border-right:1px solid var(--teal);pointer-events:none}.portrait-label{position:absolute;z-index:2;right:0;bottom:1.7rem;background:#fff;color:var(--ink);width:217px;padding:1.1rem 1.2rem 1.2rem;box-shadow:15px 18px 35px rgba(0,0,0,.15)}.label-index{display:block;font-size:.68rem;font-weight:780;letter-spacing:.16em;color:var(--teal-deep);margin-bottom:.6rem}.portrait-label strong{font-size:1.06rem;line-height:1.36}.orbit{position:absolute;border:1px solid rgba(183,225,222,.14);border-radius:50%;aspect-ratio:1;pointer-events:none}.orbit-one{width:465px;transform:translate(13%,-1%)}.orbit-two{width:570px;transform:translate(14%,-1%);opacity:.55}.hero-bottom{position:relative;display:flex;justify-content:space-between;gap:1rem;padding-block:1.1rem 1.55rem;border-top:1px solid rgba(255,255,255,.12);color:#9aafc2;font-size:.68rem;letter-spacing:.14em;font-weight:750}.hero-bottom a:hover{color:#fff}.hero-bottom a span{margin-left:.65rem;font-size:1rem;color:var(--teal)}

.intro-section{background:var(--white)}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;}.intro-body{max-width:650px;padding-top:1rem}.intro-large{font-size:1.42rem;line-height:1.58;letter-spacing:-.025em;color:#25374c;margin-bottom:1.35rem}.intro-body>p:not(.intro-large){color:var(--muted);margin-bottom:1.15rem}.intro-body .inline-link{margin-top:.75rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:5.7rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{display:flex;flex-direction:column;gap:.45rem;min-height:155px;padding:1.65rem 1.6rem 1.7rem 0}.stat+.stat{border-left:1px solid var(--line);padding-left:1.6rem}.stat strong{font-size:clamp(2.25rem,4vw,3.5rem);font-weight:560;letter-spacing:-.06em;line-height:1;color:var(--navy)}.stat strong span{font-size:.53em;color:var(--teal-deep)}.stat>span{color:var(--muted);font-size:.88rem;line-height:1.45}

.research-section{background:var(--paper)}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.research-card{background:#fff;min-height:360px;padding:2rem;display:flex;flex-direction:column;border:1px solid #e7ecef;transition:transform .25s,box-shadow .25s}.research-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px rgba(14,40,65,.07)}.research-card-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:3rem;color:var(--teal-deep);font-weight:750;font-size:.78rem}.research-icon{font-family:var(--serif);font-size:2.6rem;font-weight:400;line-height:1;color:#6b9b9f}.research-card h3{margin-bottom:1rem}.research-card p{color:var(--muted);font-size:.99rem;margin-bottom:1.75rem}.topic-tag{margin-top:auto;color:var(--teal-deep);font-size:.69rem;font-weight:780;letter-spacing:.11em}

.projects-section{background:#fff}.project-heading{margin-bottom:2.3rem}.filter-bar{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.55rem}.filter-button{border:1px solid #cfdae1;background:transparent;color:#536174;padding:.55rem .9rem;min-height:42px;cursor:pointer;font-size:.86rem;font-weight:650;transition:background .2s,color .2s,border-color .2s}.filter-button:hover{border-color:var(--navy);color:var(--navy)}.filter-button.active{background:var(--navy);border-color:var(--navy);color:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.project-card{min-height:275px;background:#f8fafb;border:1px solid #e3eaed;transition:box-shadow .25s,transform .25s}.project-card:hover{transform:translateY(-3px);box-shadow:0 16px 28px rgba(23,47,76,.08)}.project-card[hidden]{display:none}.project-card-body{height:100%;display:flex;flex-direction:column;padding:1.55rem}.project-feature{grid-column:span 2;display:grid;grid-template-columns:.84fr 1.16fr;min-height:320px;background:var(--navy);color:#fff;border-color:var(--navy)}.project-graphic{position:relative;overflow:hidden;background:#1b3450;display:flex;flex-direction:column;justify-content:space-between;padding:1.7rem;border-right:1px solid rgba(255,255,255,.15)}.project-graphic::before{content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(183,225,222,.25);border-radius:50%;top:50%;left:55%;transform:translate(-50%,-50%)}.project-graphic::after{content:"";position:absolute;width:270px;height:270px;border:1px solid rgba(183,225,222,.2);border-radius:50%;top:50%;left:55%;transform:translate(-50%,-50%)}.graphic-number,.graphic-caption{position:relative;z-index:1;color:#aacbd2;font-size:.65rem;letter-spacing:.15em;font-weight:700}.project-graphic strong{position:relative;z-index:1;font-size:clamp(2.2rem,4vw,3.4rem);letter-spacing:-.08em;line-height:1;color:#fff}.project-graphic strong span{color:var(--teal)}.project-feature .project-card-body{padding:2rem}.project-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;color:var(--teal-deep);font-size:.67rem;font-weight:780;letter-spacing:.1em;line-height:1.35;margin-bottom:2.3rem}.project-feature .project-meta{color:var(--teal)}.project-card h3{font-size:1.43rem;line-height:1.2;margin-bottom:.8rem}.project-card p{font-size:.94rem;color:var(--muted);line-height:1.6;margin:0 0 1.5rem}.project-feature p{color:#bfd0de}.project-foot{display:flex;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid #dce5e9;font-size:.77rem;font-weight:700;color:var(--teal-deep)}.project-feature .project-foot{border-color:rgba(255,255,255,.23);color:var(--teal)}.project-foot span{font-size:1.1rem}.section-end-link{margin:2rem 0 0;text-align:right}

.publications-section{background:var(--paper)}.publication-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:8%}.publication-intro>p:not(.eyebrow){max-width:335px;color:var(--muted);margin:1.55rem 0 2rem}.publication-list{border-top:1px solid #cbd7de}.paper{display:grid;grid-template-columns:55px 1fr 22px;gap:1.2rem;align-items:start;padding:1.38rem 0;border-bottom:1px solid #cbd7de;transition:padding .2s,color .2s}.paper:hover{padding-left:.45rem;color:var(--teal-deep)}.paper-year{font-size:.79rem;color:var(--teal-deep);font-weight:750;margin-top:.25rem}.paper-info strong{display:block;font-size:1.04rem;line-height:1.4;font-weight:640}.paper-info small{display:block;margin-top:.55rem;color:#647386;font-size:.8rem}.paper-arrow{color:var(--teal-deep);font-size:1.2rem}

.teaching-section{background:#fff}.teaching-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:8%}.teaching-copy{color:var(--muted);max-width:440px;margin-top:2rem}.teaching-stamp{display:inline-flex;flex-direction:column;margin-top:2.4rem;color:var(--teal-deep);font-size:2.6rem;line-height:1;font-weight:660;letter-spacing:-.06em}.teaching-stamp span{margin-top:.5rem;font-size:.7rem;letter-spacing:.12em}.teaching-items{border-top:1px solid var(--line)}.teaching-item{display:grid;grid-template-columns:35px 1fr;gap:1.2rem;padding:1.6rem 0;border-bottom:1px solid var(--line)}.item-number{color:var(--teal-deep);font-size:.77rem;font-weight:750}.teaching-item h3{font-size:1.18rem;line-height:1.35;margin:0 0 .55rem}.teaching-item p{color:var(--muted);font-size:.94rem;margin:0}

.team-section{background:var(--paper);padding:0 0 6rem}.team-image{height:460px;overflow:hidden;background:#dde6e9}.team-image img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.team-caption{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-top:2.2rem}.team-caption .eyebrow{margin-bottom:.8rem}.team-caption h2{font-size:clamp(2.5rem,4vw,4rem)}.team-caption>p{max-width:350px;margin:0;color:var(--muted)}.contact-section{background:var(--navy-2);color:#fff;padding:6rem 0}.contact-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:end}.contact-section .eyebrow{color:var(--teal)}.contact-section h2{font-size:clamp(3rem,5vw,5rem)}.contact-section h2 em{color:var(--teal)}.contact-inner>div:first-child>p:not(.eyebrow){color:#bdcbd8;margin:1.5rem 0 2rem}.button-contact{min-width:205px}.contact-details{border-top:1px solid rgba(255,255,255,.22)}.contact-details>div{padding:1.15rem 0 1.3rem;border-bottom:1px solid rgba(255,255,255,.22)}.contact-details span{display:block;margin-bottom:.48rem;font-size:.68rem;font-weight:780;letter-spacing:.14em;color:var(--teal)}.contact-details a,.contact-details p{font-size:.98rem;margin:0;color:#f1f6f7;overflow-wrap:anywhere}.contact-details a:hover{color:var(--teal)}.social-links{display:flex;gap:1.6rem}.footer{background:#0b1629;color:#aebfce}.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-block:1.45rem;font-size:.75rem}.footer a{color:#dce8ee}.footer a:hover{color:var(--teal)}

@media(max-width:1050px){.main-nav{gap:.9rem}.main-nav>a{font-size:.78rem}.brand{min-width:auto}.hero h1{font-size:clamp(3.3rem,6vw,5.4rem)}.portrait-label{right:-.5rem}.research-card{padding:1.55rem}.project-feature{grid-column:span 2}}
@media(max-width:800px){.container,.nav-shell{width:min(100% - 2.5rem,680px)}.nav-shell{min-height:72px}.menu-toggle{display:flex;z-index:32;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;padding:10px}.menu-toggle span{display:block;height:2px;width:100%;background:currentColor}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#142641;padding:1rem 1.25rem 1.45rem;box-shadow:0 20px 30px rgba(0,0,0,.25)}.main-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.main-nav>a{padding:.75rem .4rem;font-size:1rem;border-bottom:1px solid rgba(255,255,255,.13)}.main-nav .nav-contact{margin-top:1rem;text-align:center}.hero-inner{grid-template-columns:1fr;padding-block:4.4rem 2rem;min-height:0;gap:1rem}.hero h1{max-width:660px;font-size:clamp(3.7rem,11vw,5.6rem)}.hero-visual{min-height:440px}.portrait-frame{width:min(62%,315px);aspect-ratio:.9}.orbit-one{width:370px}.orbit-two{width:465px}.portrait-label{right:8%;bottom:0}.hero-affiliation{margin-top:2.3rem}.hero-bottom{margin-top:1rem}.section{padding:5.1rem 0}.intro-grid,.publication-grid,.teaching-grid,.contact-inner{grid-template-columns:1fr;gap:2.5rem}.intro-body{padding-top:0}.stats-grid{grid-template-columns:repeat(2,1fr);margin-top:3.5rem}.stat:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.stat:nth-child(4){border-top:1px solid var(--line)}.section-heading{display:block}.section-heading>p{margin-top:1.5rem}.research-grid{grid-template-columns:1fr}.research-card{min-height:260px}.research-card-head{margin-bottom:2rem}.project-grid{grid-template-columns:repeat(2,1fr)}.project-feature{grid-column:span 2}.publication-intro>p:not(.eyebrow){max-width:540px}.teaching-stamp{margin-top:.5rem}.team-image{height:330px}.team-caption{display:block}.team-caption>p{margin-top:1.2rem;max-width:540px}.contact-inner{align-items:start}}
@media(max-width:560px){.container,.nav-shell{width:calc(100% - 2rem)}.brand-copy{font-size:.81rem}.brand-copy small{font-size:.5rem}.hero-inner{padding-top:3.6rem}.hero-eyebrow{font-size:.66rem;letter-spacing:.1em}.hero h1{font-size:clamp(3.45rem,14vw,4.5rem)}.hero-lede{font-size:1.04rem}.hero-visual{min-height:385px;overflow:hidden}.portrait-frame{width:68%;max-width:275px;transform:translateX(-7%)}.portrait-label{right:1%;width:180px;bottom:0;padding:.8rem}.portrait-label strong{font-size:.9rem}.orbit-one{width:320px}.orbit-two{width:405px}.hero-bottom{font-size:.59rem;letter-spacing:.08em}.hero-bottom>span{max-width:185px}.section{padding:4.3rem 0}h2{font-size:clamp(2.6rem,11vw,3.7rem)}.intro-large{font-size:1.22rem}.stats-grid{margin-top:3rem}.stat{padding:1.25rem .7rem 1.25rem 0;min-height:135px}.stat+.stat{padding-left:.9rem}.stat:nth-child(3){padding-left:0}.stat strong{font-size:2.7rem}.stat>span{font-size:.8rem}.research-card{min-height:0}.project-grid{grid-template-columns:1fr}.project-feature{grid-column:auto;grid-template-columns:1fr}.project-graphic{height:180px}.project-card{min-height:245px}.project-feature .project-card-body{padding:1.55rem}.project-meta{margin-bottom:1.7rem}.paper{grid-template-columns:40px 1fr 18px;gap:.65rem}.paper-info strong{font-size:.94rem}.paper-info small{font-size:.77rem}.team-section{padding-bottom:4.3rem}.team-image{height:230px}.contact-section{padding:4.3rem 0}.contact-section h2{font-size:clamp(2.8rem,12vw,4rem)}.footer-inner{display:block}.footer-inner>*{display:block;margin-bottom:.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Expanded profile and patent archive */
.hero-inner{grid-template-columns:1.18fr .82fr;min-height:760px;padding-block:4.3rem 3.6rem;align-items:center}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(3.15rem,5vw,5.35rem);margin-bottom:1rem}.hero h1 em{white-space:nowrap}.hero-lede{font-size:1.18rem;color:var(--teal);font-weight:650;margin-bottom:1.6rem;line-height:1.45}.hero-roles{list-style:none;padding:0;margin:0 0 1.8rem;max-width:640px;border-top:1px solid rgba(255,255,255,.16)}.hero-roles li{position:relative;padding:.48rem 0 .48rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.14);color:#d2dfe8;font-size:.86rem;line-height:1.35}.hero-roles li::before{content:"";position:absolute;left:0;top:1.08rem;width:5px;height:5px;border-radius:50%;background:var(--teal)}.hero-visual{min-height:615px}.portrait-frame{width:min(78%,370px);aspect-ratio:.78;transform:translateY(-3rem)}.hero-quote{position:absolute;z-index:3;right:-1rem;bottom:.2rem;width:min(86%,370px);margin:0;padding:1.25rem 1.45rem 1.3rem;background:#e7f2f0;color:var(--navy);box-shadow:18px 24px 45px rgba(0,0,0,.2);border-left:3px solid var(--teal-deep)}.hero-quote p{margin:0;font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.28;letter-spacing:-.025em}.hero-quote em{font-weight:400}.hero-quote::before{content:'“';position:absolute;top:-1.35rem;left:.8rem;color:var(--teal);font-family:var(--serif);font-size:4rem;line-height:1}.figures-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:5.5rem}.figures-heading h3{margin:0;font-size:1.6rem}.figures-heading span{font-size:.68rem;font-weight:750;letter-spacing:.13em;color:var(--teal-deep)}.stats-grid{grid-template-columns:repeat(3,1fr);margin-top:1.25rem}.stat{min-height:145px}.stat:nth-child(3n+1){border-left:0;padding-left:0}.stat:nth-child(n+4){border-top:1px solid var(--line)}.stat strong{font-size:clamp(2.2rem,3.2vw,3.2rem)}.intro-large{font-size:1.18rem;line-height:1.65}.intro-body>p:not(.intro-large){line-height:1.7}
.patents-section{background:#eef3f5}.patent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.patent-card{background:#fff;border:1px solid #dce6eb;transition:transform .2s,box-shadow .2s}.patent-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(17,44,66,.09)}.patent-card[hidden]{display:none}.patent-card>a{display:flex;flex-direction:column;height:100%}.patent-image{height:200px;display:flex;align-items:center;justify-content:center;padding:1rem;background:#f8fafb;border-bottom:1px solid var(--line);overflow:hidden}.patent-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.patent-content{min-height:190px;padding:1.1rem 1.25rem 1.25rem;display:flex;flex-direction:column}.patent-content>span:first-child{font-size:.72rem;font-weight:740;letter-spacing:.08em;color:var(--teal-deep)}.patent-content h3{font-size:1.14rem;line-height:1.35;letter-spacing:-.02em;margin:.65rem 0 1.25rem}.patent-link{font-size:.82rem;font-weight:700;color:var(--teal-deep);margin-top:auto}.patent-actions{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:1.9rem}.patent-toggle{padding:.75rem 1rem;background:var(--navy);color:white;border:1px solid var(--navy);font-size:.9rem;font-weight:700;cursor:pointer}.patent-toggle:hover{background:#233b5a}.patent-toggle span{margin-left:.7rem}
@media(max-width:1100px){.menu-toggle{display:flex;z-index:32;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;padding:10px}.menu-toggle span{display:block;height:2px;width:100%;background:currentColor}.main-nav{display:none;position:absolute;top:86px;left:0;right:0;background:#142641;padding:1rem 2rem 1.45rem;box-shadow:0 20px 30px rgba(0,0,0,.25)}.main-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.main-nav>a{padding:.75rem .4rem;font-size:1rem;border-bottom:1px solid rgba(255,255,255,.13)}.main-nav .nav-contact{margin-top:1rem;text-align:center}.hero h1 em{white-space:normal}}
@media(max-width:800px){.main-nav{top:72px}.hero-inner{grid-template-columns:1fr;min-height:0;padding-block:4rem 2rem}.hero h1{font-size:clamp(3.5rem,9vw,5rem)}.hero-visual{min-height:500px}.portrait-frame{width:min(55%,330px);transform:translate(-8%,-2rem)}.hero-quote{right:10%;bottom:0}.figures-heading{margin-top:3.8rem}.stat:nth-child(3n+1){border-left:1px solid var(--line);padding-left:1.6rem}.stat:nth-child(odd){border-left:0;padding-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}.stats-grid{grid-template-columns:repeat(2,1fr)}.patent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.main-nav{padding-inline:1rem}.hero h1{font-size:clamp(3rem,12vw,4rem)}.hero-lede{font-size:1.02rem}.hero-roles li{font-size:.83rem;line-height:1.38}.hero-visual{min-height:420px}.portrait-frame{width:67%;max-width:285px;transform:translate(-5%,-1.5rem)}.hero-quote{width:85%;right:1%;bottom:0;padding:1rem 1.2rem}.hero-quote p{font-size:1.34rem}.figures-heading{display:block}.figures-heading span{display:block;margin-top:.4rem}.stat{min-height:125px}.stat strong{font-size:2.3rem}.patent-grid{grid-template-columns:1fr}.patent-image{height:190px}.patent-content{min-height:0}.patent-actions{align-items:flex-start;flex-direction:column}.patent-toggle{width:100%}}

/* Editorial layout */
.site-header{position:sticky;top:0;z-index:40}.section{padding:6.5rem 0}.section-heading{margin-bottom:2.5rem}.section-heading h2{max-width:740px}.section-heading>p{font-size:1rem;line-height:1.65}.hero{background:#101e34}.hero::before{background:linear-gradient(120deg,rgba(255,255,255,.024),transparent 47%),radial-gradient(circle at 72% 46%,rgba(121,187,188,.12),transparent 36%)}.hero-inner{grid-template-columns:1.05fr .95fr;gap:3.5rem;min-height:580px;padding-block:3.8rem 3rem}.hero-copy{padding:0 0 .25rem}.hero-eyebrow{font-size:.76rem;color:var(--teal);margin:0 0 2.4rem}.hero h1{font-size:clamp(3.8rem,5.4vw,6.1rem);font-weight:560;line-height:1.01;letter-spacing:-.062em;margin:0 0 1.35rem;max-width:710px}.hero h1 span{display:block;font-family:var(--sans);color:#adbdcb;font-size:clamp(1.15rem,1.6vw,1.55rem);font-weight:600;letter-spacing:-.018em;line-height:1.3;margin-bottom:.45rem}.hero-lede{max-width:500px;font-size:1.26rem;font-weight:580;line-height:1.35;color:var(--teal);margin-bottom:1.3rem}.hero-summary{max-width:490px;color:#b8c9d6;font-size:1rem;line-height:1.7;margin:0 0 2.2rem}.hero-actions{gap:.45rem}.hero-visual{min-height:510px;display:flex;align-items:center;justify-content:center}.portrait-frame{width:min(78%,390px);aspect-ratio:.88;transform:translate(-.5rem,-1.1rem);border:0;padding:0;background:#24384d;box-shadow:20px 25px 70px rgba(0,0,0,.25)}.portrait-frame img{filter:saturate(.82) contrast(1.04);object-position:center 20%}.hero-quote{width:min(82%,365px);right:-.7rem;bottom:0;padding:1.15rem 1.45rem 1.25rem;background:#e9f2f0;border-left:0;box-shadow:0 16px 35px rgba(0,0,0,.17)}.hero-quote::before{display:none}.hero-quote p{font-size:clamp(1.4rem,2vw,1.86rem);font-style:italic;line-height:1.27;letter-spacing:-.03em}.hero-bottom{padding-block:1rem 1.25rem;font-size:.67rem;letter-spacing:.13em}.hero-bottom span:last-child{color:#c3d8da}
.roles-section{background:#f4f7f7;border-bottom:1px solid #e0e7e9;padding:4.3rem 0 4.7rem}.roles-inner{display:grid;grid-template-columns:270px minmax(0,1fr);gap:5.5rem}.roles-intro .eyebrow{margin:0 0 1.15rem}.roles-intro h2{font-size:2.25rem;letter-spacing:-.05em;line-height:1.13}.roles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem}.role{min-height:116px;border-top:1px solid #cbd8dc;padding:1.1rem 0 1.4rem}.role:nth-last-child(-n+2){border-bottom:1px solid #cbd8dc}.role>span{display:block;margin:0 0 .65rem;color:var(--teal-deep);font-size:.72rem;font-weight:760;letter-spacing:.12em}.role p{max-width:430px;margin:0;color:var(--ink);font-size:1.03rem;font-weight:570;line-height:1.4;letter-spacing:-.012em}
.intro-section{background:white}.bio-heading .eyebrow{margin-bottom:1rem}.bio-heading h2{max-width:790px}.bio-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:7%;margin-top:3.5rem}.bio-lead{font-family:var(--serif);font-size:clamp(1.5rem,2.25vw,2.1rem);line-height:1.4;color:#1a4451;letter-spacing:-.03em;margin:0}.bio-chapters{border-top:1px solid var(--line)}.bio-chapter{display:grid;grid-template-columns:155px 1fr;gap:1.8rem;padding:1.45rem 0 1.6rem;border-bottom:1px solid var(--line)}.bio-chapter h3{font-size:.91rem;font-weight:720;line-height:1.4;letter-spacing:0;color:var(--teal-deep);margin:.12rem 0 0}.bio-chapter p{grid-column:2;color:var(--muted);font-size:.95rem;line-height:1.72;margin:0 0 .7rem}.bio-chapter p:last-child{margin-bottom:0}.bio-chapter h3+p{grid-row:1}.bio-chapter h3+p+p{grid-row:2}.figures-heading{display:block;margin-top:6rem;margin-bottom:1.45rem}.figures-heading .eyebrow{margin-bottom:.65rem}.figures-heading h3{font-size:2.3rem;font-weight:570;letter-spacing:-.05em}.metric-groups{display:grid;grid-template-columns:repeat(3,1fr);background:var(--navy);color:#fff}.metric-group{padding:1.7rem 2rem 2rem}.metric-group+.metric-group{border-left:1px solid rgba(255,255,255,.18)}.metric-group h4{margin:0 0 1.4rem;min-height:25px;font-size:.75rem;color:var(--teal);font-weight:750;letter-spacing:.13em;text-transform:uppercase}.metric{display:flex;align-items:center;gap:1.05rem;min-height:73px;padding:.75rem 0;border-top:1px solid rgba(255,255,255,.17)}.metric strong{min-width:90px;font-size:2rem;font-weight:580;line-height:1;letter-spacing:-.06em;white-space:nowrap}.metric strong span{color:var(--teal);font-size:.65em}.metric>span{color:#c3d1dd;font-size:.84rem;line-height:1.34}
.research-section{background:#f3f6f7}.research-card{min-height:305px;padding:1.8rem 1.65rem;border:1px solid #dce5e8;box-shadow:none}.research-card-head{margin-bottom:2.2rem;font-size:.78rem}.research-icon{display:none}.research-card h3{font-size:1.5rem}.research-card p{font-size:.94rem}.research-card:hover{box-shadow:0 14px 30px rgba(14,40,65,.06)}
.projects-section{background:#fff}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.project-card,.project-feature{grid-column:auto;display:block;min-height:300px;background:#f8fafb;color:var(--ink);border:1px solid #dfe8eb}.project-card-body,.project-feature .project-card-body{padding:1.6rem;height:100%}.project-graphic{display:none}.project-feature{background:#173149;color:#fff;border-color:#173149}.project-feature .project-meta,.project-feature .project-foot{color:var(--teal)}.project-feature p{color:#c2d2dc}.project-card h3{font-size:1.37rem}.project-meta{margin-bottom:2.1rem}.project-foot{font-size:.75rem}.section-end-link{margin-top:1.6rem}
.patents-section{background:#eef3f5}.patent-grid{gap:1.1rem}.patent-card{box-shadow:0 2px 0 rgba(23,47,76,.02)}.patent-image{height:195px;background:#fff}.patent-content{min-height:180px}.patent-card h3{font-weight:620}
.publications-section{background:#f6f8f9}.paper{padding:1.5rem 0}.paper-info strong{font-weight:620}.teaching-section{background:#fff}.teaching-items{border-top-color:#cdd9de}.teaching-item{padding:1.5rem 0}.teaching-stamp{color:var(--teal-deep)}.team-section{background:#f3f6f7}.team-image{height:415px}.team-caption h2{font-size:clamp(2.5rem,4vw,4rem)}.contact-section{background:#14273e}
@media(max-width:1100px){.hero-inner{gap:2rem}.roles-inner{grid-template-columns:230px minmax(0,1fr);gap:3rem}.bio-chapter{grid-template-columns:115px 1fr;gap:1.2rem}.metric-group{padding-inline:1.35rem}.metric{gap:.7rem}.metric strong{min-width:78px}}
@media(max-width:800px){.hero-inner{grid-template-columns:1fr;gap:1.2rem;padding-block:4rem 2rem}.hero h1{font-size:clamp(3.6rem,10vw,5.6rem)}.hero-visual{min-height:470px}.portrait-frame{width:min(65%,340px);transform:translate(-8%,-1rem)}.hero-quote{right:8%;bottom:0}.roles-inner{grid-template-columns:1fr;gap:2rem}.roles-intro h2{font-size:2.2rem}.roles-grid{gap:0 1.2rem}.bio-layout{grid-template-columns:1fr;gap:2rem}.bio-lead{max-width:620px}.bio-chapter{grid-template-columns:130px 1fr}.metric-groups{grid-template-columns:1fr}.metric-group{padding:1.4rem 1.8rem}.metric-group+.metric-group{border-left:0;border-top:1px solid rgba(255,255,255,.18)}.metric-group h4{margin-bottom:.7rem;min-height:0}.metric{display:inline-flex;width:49%;vertical-align:top}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card,.project-feature{min-height:270px}.patent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.section{padding:4.5rem 0}.hero-inner{padding-top:3rem}.hero-eyebrow{margin-bottom:1.7rem}.hero h1{font-size:clamp(3.2rem,12vw,4.2rem)}.hero h1 span{font-size:1.05rem}.hero-lede{font-size:1.12rem}.hero-summary{font-size:.96rem;margin-bottom:1.65rem}.hero-actions{align-items:stretch}.hero-actions .button{min-width:0}.hero-visual{min-height:385px;overflow:visible}.portrait-frame{width:69%;max-width:285px;transform:translate(-7%,-1.5rem)}.hero-quote{right:0;width:84%;bottom:0;padding:.95rem 1.15rem}.hero-quote p{font-size:1.26rem}.hero-bottom{font-size:.58rem;gap:.6rem}.roles-section{padding:3.8rem 0}.roles-grid{grid-template-columns:1fr}.role{min-height:0;padding:1rem 0 1.15rem}.role:nth-last-child(2){border-bottom:0}.role:last-child{border-bottom:1px solid #cbd8dc}.role p{font-size:.97rem}.bio-layout{margin-top:2.3rem}.bio-chapter{display:block;padding:1.25rem 0}.bio-chapter h3{margin:0 0 .6rem}.bio-chapter p{font-size:.95rem}.figures-heading{margin-top:4rem}.metric-group{padding:1.2rem 1.4rem}.metric{display:flex;width:100%;min-height:65px}.metric strong{font-size:1.9rem;min-width:84px}.project-grid,.patent-grid{grid-template-columns:1fr}.project-card,.project-feature{min-height:240px}.patent-content{min-height:0}.team-image{height:240px}}

/* Refinement: lighter midnight palette, editorial copy and research archive */
:root{--navy:#1b3853;--navy-2:#23445f}
.hero{background:#1b3853}.hero::before{background:linear-gradient(120deg,rgba(255,255,255,.035),transparent 47%),radial-gradient(circle at 72% 46%,rgba(121,187,188,.16),transparent 36%)}
.site-header{background:#1b3853}.main-nav{gap:clamp(.75rem,1.3vw,1.35rem)}.main-nav>a{font-size:.82rem}.main-nav .nav-contact{padding-inline:.8rem}.contact-section{background:#203e59}.footer{background:#173149}.project-feature{background:#23465f;border-color:#23465f}
.bio-chapter p,.section-heading>p,.research-card p,.project-card p,.publication-intro>p:not(.eyebrow),.teaching-copy,.teaching-item p,.team-caption>p,.contact-inner>div:first-child>p:not(.eyebrow){text-align:justify;text-justify:inter-word;hyphens:auto}
.metric-groups{background:#1e3d59;box-shadow:0 24px 55px rgba(26,55,80,.11)}.metric-group{padding:2rem 2rem 2.25rem}.metric-group h4{margin-bottom:1.65rem;color:#bce2df}.metric{min-height:79px;gap:1.25rem;border-top-color:rgba(255,255,255,.19)}.metric strong{min-width:106px;font-size:2.15rem;font-variant-numeric:tabular-nums;color:#fff}.metric strong span{color:#bce2df;font-size:.5em;letter-spacing:0}.metric>span{color:#d6e4ec;font-size:.86rem}
.research-card-head{display:none}.research-card{position:relative;padding-top:2.3rem}.research-card::before{content:"";position:absolute;top:0;left:1.65rem;width:45px;height:3px;background:var(--teal-deep)}
.teaching-item{display:block;padding-left:1.4rem;border-left:2px solid #b8d3d4}.teaching-item:first-child{margin-top:1.2rem}.teaching-item p{max-width:620px}
.media-section{background:#f6f9fa}.media-subheading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin:3.1rem 0 1.2rem;border-bottom:1px solid #cbd9df;padding-bottom:.8rem}.media-subheading h3{font-size:1.7rem;letter-spacing:-.04em;margin:0}.media-subheading p{color:var(--muted);margin:0;font-size:.9rem}.media-subheading .inline-link{font-size:.86rem}.media-section .section-heading{margin-bottom:0}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.video-card{background:#182f46;border:1px solid #d9e4e9;box-shadow:0 8px 24px rgba(25,56,83,.08)}.video-card iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.media-more{margin-top:1.3rem}.media-more summary{list-style:none;display:inline-flex;align-items:center;gap:1.25rem;cursor:pointer;color:var(--teal-deep);font-weight:700;border-bottom:1px solid currentColor;padding:.45rem 0}.media-more summary::-webkit-details-marker{display:none}.media-more summary span{transition:transform .2s}.media-more[open] summary span{transform:rotate(180deg)}.media-more .video-grid{margin-top:1.4rem}.poster-heading{margin-top:5rem}.poster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}.poster-card{display:flex;flex-direction:column;background:white;border:1px solid #dce6ea;transition:transform .2s,box-shadow .2s}.poster-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(25,56,83,.12)}.poster-image{height:285px;overflow:hidden;background:#e7eef1;padding:.7rem}.poster-image img{width:100%;height:100%;object-fit:contain;object-position:center top}.poster-caption{position:relative;display:flex;flex-direction:column;gap:.5rem;min-height:115px;padding:1rem 2.1rem 1rem 1rem}.poster-caption>span:first-child{font-size:.72rem;color:var(--teal-deep);font-weight:730;letter-spacing:.06em}.poster-caption strong{font-size:.98rem;line-height:1.3;letter-spacing:-.02em}.poster-arrow{position:absolute;right:1rem;bottom:1rem;color:var(--teal-deep)}
.supervision-section{background:white}.supervision-section .section-heading h2{max-width:810px}.student-group-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:1px solid #cad8dd;padding-bottom:.75rem;margin:3rem 0 0}.student-group-heading h3{font-size:1.5rem;margin:0}.student-group-heading>span{color:var(--teal-deep);font-size:.73rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.alumni-heading{margin-top:3.8rem}.student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem}.student-card{display:flex;flex-direction:column;position:relative;padding:1.05rem .15rem 1.1rem;border-bottom:1px solid #dbe5e9;min-height:100px;transition:background .2s,padding .2s}.student-card:hover{background:#f2f7f8;padding-inline:.55rem}.student-name{display:flex;justify-content:space-between;gap:1rem;font-size:1.05rem;font-weight:680;color:var(--ink)}.student-name span{font-weight:400;color:var(--teal-deep)}.student-topic{font-size:.85rem;color:var(--muted);line-height:1.5;margin-top:.35rem}.student-source{font-size:.73rem;font-weight:690;color:var(--teal-deep);margin-top:auto;padding-top:.35rem}.alumni-students .student-card{min-height:75px}.alumni-students .student-source{padding-top:.25rem}
@media(max-width:1100px){.main-nav{background:#203e59}.metric-group{padding-inline:1.35rem}.metric strong{min-width:94px;font-size:1.95rem}}
@media(max-width:800px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-group{padding:1.5rem 1.8rem}.metric{width:49%}.student-grid{gap:0 1.3rem}}
@media(max-width:560px){.section-heading>p{max-width:100%}.video-grid,.poster-grid,.student-grid{grid-template-columns:1fr}.media-subheading{align-items:start;flex-direction:column;gap:.5rem}.media-subheading h3{font-size:1.5rem}.poster-image{height:310px}.poster-heading{margin-top:4rem}.metric{width:100%}.metric strong{min-width:105px}.student-group-heading{margin-top:2rem}.alumni-heading{margin-top:3rem}.student-group-heading h3{font-size:1.2rem}.student-card{min-height:0}.bio-chapter p{hyphens:auto}}

/* Complete research archive */
.project-card[hidden]{display:none}.project-card,.project-feature{min-height:345px}.project-card-body{display:flex;flex-direction:column;min-height:100%}.project-meta{margin-bottom:1.3rem}.project-card h3{font-size:1.25rem;line-height:1.3}.project-card p{font-size:1rem;line-height:1.6;margin-bottom:1.6rem}.project-foot{margin-top:auto;align-items:baseline;font-size:.82rem}.project-foot span:last-child{white-space:nowrap}
.gallery-heading{margin:5rem 0 1.4rem}.gallery-heading .eyebrow{margin-bottom:.5rem}.gallery-heading h3{font-size:2rem;letter-spacing:-.04em;margin:0}.research-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.gallery-card{background:#f8fafb;border:1px solid #dbe5e9;transition:transform .2s,box-shadow .2s}.gallery-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(24,52,78,.1)}.gallery-card img{width:100%;height:215px;object-fit:contain;background:#e8eff2}.gallery-card span{display:block;padding:.9rem 1rem;min-height:65px;font-size:.88rem;font-weight:650;line-height:1.35}
.patent-card{display:flex;flex-direction:column}.patent-content{min-height:0;flex:1;padding:1.3rem}.patent-content h3{font-size:1.11rem;line-height:1.35;margin:0 0 .95rem;letter-spacing:-.01em;text-transform:none}.patent-details{padding-top:.85rem;border-top:1px solid #dce6eb}.patent-details p{color:#536174;font-size:.86rem;line-height:1.55;overflow-wrap:anywhere;margin:0 0 .7rem;text-align:justify;hyphens:auto}.patent-link{display:inline-block;margin-top:auto;padding-top:1rem;font-size:.88rem}.patent-grid{align-items:stretch}
.supervision-section .section-heading{margin-bottom:1.5rem}.student-card{min-height:130px}.student-topic{font-size:.92rem;line-height:1.5;margin:.5rem 0 .7rem;color:#465970}.alumni-students .student-card{min-height:130px}.student-group-heading>span{display:none}
.team-section{padding:5.8rem 0}.team-caption{padding:0 0 2rem}.team-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.team-gallery a{display:block;overflow:hidden;background:#dae4e8}.team-gallery img{width:100%;height:290px;object-fit:cover;transition:transform .3s}.team-gallery a:hover img{transform:scale(1.035)}
@media(max-width:800px){.research-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.team-gallery{grid-template-columns:1fr 1fr}.team-gallery a:first-child{grid-column:span 2}.team-gallery img{height:270px}}
@media(max-width:560px){.project-card,.project-feature{min-height:0}.project-card p{font-size:1rem}.gallery-heading{margin-top:3.8rem}.research-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.gallery-card img{height:155px}.gallery-card span{font-size:.79rem;padding:.7rem;min-height:72px}.patent-content h3{font-size:1.1rem}.student-card,.alumni-students .student-card{min-height:0}.team-section{padding:4rem 0}.team-gallery{grid-template-columns:1fr}.team-gallery a:first-child{grid-column:auto}.team-gallery img{height:235px}}

/* Compact research collections */
.bio-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5%;margin-top:0;align-items:start}.bio-intro{padding-top:.05rem}.bio-intro .eyebrow{margin:0 0 1.1rem}.bio-intro h2{font-size:clamp(2.7rem,3.8vw,4.5rem);line-height:1.07;max-width:480px}.bio-intro .bio-lead{max-width:430px;margin:2rem 0 0;padding-top:1.5rem;border-top:1px solid #cbd8dd;font-size:clamp(1.25rem,1.8vw,1.55rem);line-height:1.45}.bio-chapters{margin-top:.15rem}
.expand-block{margin:1.15rem 0 0}.expand-block summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;list-style:none;min-height:58px;padding:.85rem 1.15rem;border:1px solid #ccdce1;background:#f0f6f7;color:var(--navy);font-size:.96rem;font-weight:720;cursor:pointer;transition:background .2s,border-color .2s}.expand-block summary::-webkit-details-marker{display:none}.expand-block summary:hover,.expand-block[open] summary{background:#e4f0f1;border-color:#9fc4c8}.expand-block .when-open{display:none}.expand-block[open] .when-open{display:inline}.expand-block[open] .when-closed{display:none}.expand-symbol{color:var(--teal-deep);font-size:1.4rem;line-height:1;transition:transform .2s}.expand-block[open] .expand-symbol{transform:rotate(180deg)}.expanded-grid{margin-top:1rem}
.poster-section{background:#f2f6f7}.poster-section .section-heading{margin-bottom:2rem}.poster-preview{grid-template-columns:1fr}.poster-preview .poster-card{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:300px}.poster-preview .poster-image{height:100%;min-height:300px}.poster-preview .poster-caption{justify-content:center;min-height:0;padding:2rem 3rem}.poster-preview .poster-caption strong{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,2.2rem);font-weight:500;max-width:440px}.poster-section .expanded-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.patents-section .patent-grid{grid-template-columns:1fr;gap:.85rem}.patents-section .patent-card{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:230px}.patents-section .patent-image{height:100%;min-height:230px;border-bottom:0;border-right:1px solid var(--line)}.patents-section .patent-content{min-height:230px;padding:1.3rem 1.55rem}.patents-section .patent-content h3{font-size:1.25rem;max-width:700px}.patents-section .patent-details{max-width:780px}.patents-section .patent-details p{font-size:.94rem}.patents-section .patent-link{padding-top:.45rem}.patents-section .patent-more summary{background:#e2edef}.patents-section .patent-more summary:hover,.patents-section .patent-more[open] summary{background:#d7e9eb}
.gallery-more{margin-top:1rem}.video-more{margin-top:1.4rem}.students-more{margin-top:1.15rem}.poster-more{margin-top:1.1rem}
@media(max-width:800px){.bio-layout{grid-template-columns:1fr;gap:2.3rem}.bio-intro h2{max-width:600px}.bio-intro .bio-lead{max-width:650px;margin-top:1.6rem}.bio-chapters{margin-top:0}.patents-section .patent-card{grid-template-columns:190px minmax(0,1fr)}.patents-section .patent-image{min-height:210px}.poster-section .expanded-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.bio-intro h2{font-size:clamp(2.75rem,11vw,3.65rem)}.bio-intro .bio-lead{font-size:1.3rem}.poster-preview .poster-card{display:block}.poster-preview .poster-image{height:280px;min-height:0}.poster-preview .poster-caption{padding:1.25rem 2.5rem 1.35rem 1.25rem}.poster-preview .poster-caption strong{font-size:1.4rem}.poster-section .expanded-grid{grid-template-columns:1fr}.patents-section .patent-card{display:block;min-height:0}.patents-section .patent-image{height:190px;min-height:0;border-right:0;border-bottom:1px solid var(--line)}.patents-section .patent-content{min-height:0}.patents-section .patent-content h3{font-size:1.13rem}.expand-block summary{min-height:54px;font-size:.9rem}.research-gallery.expanded-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Inline archive controls and unified visual gallery */
.expand-block{margin:1.5rem 0 0}
.expand-block summary{display:inline-flex;justify-content:flex-start;align-items:center;gap:1.25rem;width:auto;min-height:0;padding:.25rem 0 .35rem;background:transparent;border:0;border-bottom:1px solid #166c75;color:#176970;font-size:.9rem;font-weight:750;line-height:1.45}
.expand-block summary:hover,.expand-block[open] summary,.patents-section .patent-more summary:hover,.patents-section .patent-more[open] summary{background:transparent;border-color:#104d53;color:#104d53}
.patents-section .patent-more summary{background:transparent}
.expand-symbol{color:inherit;font-size:1rem;line-height:1;transform:none}
.expand-block[open] .expand-symbol{transform:none}
.gallery-section{background:#f2f6f7}
.gallery-section .section-heading{margin-bottom:2rem}
.archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.archive-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dce6ea;transition:transform .2s,box-shadow .2s}
.archive-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(25,56,83,.12)}
.archive-card img{width:100%;height:245px;object-fit:contain;background:#e8eff2;padding:.55rem}
.archive-caption{position:relative;display:flex;flex-direction:column;gap:.5rem;min-height:112px;padding:1rem 2.1rem 1rem 1rem}
.archive-kind{font-size:.72rem;color:var(--teal-deep);font-weight:730;letter-spacing:.06em}
.archive-caption strong{font-size:.98rem;line-height:1.3;letter-spacing:-.02em}
.archive-arrow{position:absolute;right:1rem;bottom:1rem;color:var(--teal-deep)}
.patents-section .patent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.patents-section .patent-card{display:flex;flex-direction:column;min-height:0}
.patents-section .patent-image{height:180px;min-height:0;border-right:0;border-bottom:1px solid var(--line)}
.patents-section .patent-content{display:flex;flex-direction:column;min-height:0;flex:1;padding:1.1rem}
.patents-section .patent-content h3{font-size:1.04rem;line-height:1.35;margin:0 0 .85rem}
.patents-section .patent-details p{font-size:.875rem;line-height:1.48;text-align:left;overflow-wrap:anywhere}
.patents-section .patent-link{margin-top:auto;padding-top:.85rem;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1050px){.patents-section .patent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.archive-grid,.patents-section .patent-grid{grid-template-columns:1fr}.archive-card img{height:290px}.patents-section .patent-card{display:flex}.expand-block summary{min-height:0}}

/* Balance five research areas across two rows. */
.research-section .research-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.research-section .research-card{grid-column:span 2}
.research-section .research-card:nth-child(n+4){grid-column:span 3}
@media(max-width:800px){.research-section .research-grid{grid-template-columns:1fr}.research-section .research-card,.research-section .research-card:nth-child(n+4){grid-column:auto}}

.contact-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.contact-actions .button-contact{min-width:0}
.button-outline{border:1px solid rgba(183,225,222,.62);color:#eaf3f5}
.button-outline:hover{background:rgba(183,225,222,.1);color:#fff}
.email-list{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}
