/* IPRG: quieter typography, contrasting surfaces, and progressive profile detail. */
:root {
  --paper:#ffffff; --white:#ffffff; --cream:#f3eef8;
  --ink:#292331; --green:#43285d; --green2:#725387;
  --lime:#eee3f8; --gold:#ac8446; --line:#dfd8e7; --muted:#625b6b;
  --accent:#17695f; --accent-soft:#eaf4f1; --warm:#faf8f3;
}
body {font-size:17px;line-height:1.75;background:var(--paper);color:var(--ink)}
h1,h2,h3 {color:var(--green)}
h1,h2 {letter-spacing:-.035em}
a,button,summary {transition:color .15s,background-color .15s,border-color .15s}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible {outline:3px solid var(--accent);outline-offset:4px}
.section {padding-block:72px}
.container {width:min(1240px,calc(100% - 96px))}
.eyebrow {color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:16px}
.text-link {font-size:15px;color:var(--accent);border-color:#b7d3cb}
.text-link:hover {color:#0e4a42;border-color:var(--accent)}
.button {font-size:15px;min-height:48px;padding:13px 21px;background:var(--green);color:#fff}
.button:hover {background:#5b387a;color:#fff}
.button-light {background:#fff;border-color:#fff;color:var(--green)}
.button-light:hover {background:var(--lime);color:var(--green)}
.institution-bar {background:var(--green);color:#fff;font-size:10px;line-height:32px}
.site-header {background:#fff;border-color:var(--line);box-shadow:0 3px 16px #31223f05}
.header-inner {height:88px}
.brand-mark {font-size:49px}
.brand-full {font-size:11px;color:var(--ink)}
.site-header nav {gap:22px}
.site-header nav>a,.nav-top>a {font-size:15px}
.submenu {background:#fff;border-top-color:var(--accent);box-shadow:0 14px 30px #2b1a3d12}
.submenu>a {font-size:15px;padding:11px 14px}
.submenu>a:hover,.submenu>a:focus-visible {background:var(--accent-soft);color:var(--accent)}
.page-intro {padding-block:58px 42px;border-bottom:1px solid var(--line)}
.page-intro h1 {font-size:clamp(46px,5vw,68px);line-height:1.12}
.intro-text {font-size:19px;line-height:1.75;color:var(--muted);max-width:70ch}
.section-heading h2 {font-size:39px;line-height:1.18}
.section-description {font-size:17px;color:var(--muted);line-height:1.8}
.hero-photo {min-height:610px;padding-block:52px;gap:50px}
.hero-photo h1 {font-size:clamp(47px,4.4vw,64px);line-height:1.1}
.hero-tagline {font-size:25px;line-height:1.45;color:var(--ink);max-width:32ch}
.hero-photo .hero-description {font-size:17px;color:var(--muted)}
.hero-photo .eyebrow {color:var(--accent);font-size:11px}
.hero-photo-note p {font-size:21px;color:var(--green)}
.hero-group-photo figcaption {color:var(--muted)}
.about-section {background:var(--cream);border-color:#e4daee}
.about-grid {gap:66px}
.about-grid h2 {font-size:40px;line-height:1.18}
.about-grid p:not(.eyebrow) {font-size:17px;color:#51465d;line-height:1.9}
.research-index-row {padding-block:24px;border-color:var(--line)}
.research-index h3 {font-size:29px}
.research-index p {font-size:15px;color:var(--muted)}
.index-num {font-size:18px;color:var(--accent)}
.round-arrow {color:var(--accent);border-color:#b5cec7}
.featured-section {background:var(--warm);border-block:1px solid #ece7dc}
.feature-card {background:#fff;padding:20px;border:1px solid #e8e2d6}
.feature-card h3 {font-size:27px;line-height:1.3}
.feature-card>p:last-child {font-size:16px;line-height:1.8;color:var(--muted)}
.feature-card .eyebrow {color:var(--accent);font-size:11px}
.feature-image {margin-bottom:24px}
.feature-image-label {font-size:11px}
.publication {padding-block:29px;gap:24px}
.publication h3,.publication-compact h3 {font-size:25px;line-height:1.4}
.publication h3 a:hover {color:var(--accent)}
.publication-meta {font-size:13px;color:var(--muted)}
.publication-number {font-size:21px;color:var(--green)}
.authors {font-size:14px;line-height:1.8;color:var(--muted)}
.citation-line {font-size:14px;color:var(--muted)}
.doi-link {font-size:13px;color:var(--accent);overflow-wrap:anywhere}
.badge {background:var(--accent-soft);color:var(--accent);font-size:10px;border-color:#bed8cf}
.people-band {background:var(--green);color:#fff}
.people-band h2 {color:#fff;font-size:44px;line-height:1.15}
.people-band .eyebrow {color:#dfd2ec}
.people-band p:not(.eyebrow) {font-size:17px;color:#eee5f5}
.home-person strong {font-size:23px;line-height:1.3;color:#fff}
.home-person>span {font-size:14px;color:#eee5f5}
.home-person {border-color:#8c739f}
.collaborator-name {background:#fff}
.collaborator-name>strong {font-size:17px}
.collaborator-name>span:first-child {color:var(--accent)}
.activity-preview-note {background:var(--accent-soft);border:1px solid #d1e5dd}
.activity-preview-note p {color:#294c45}
.activity-preview p:not(.eyebrow) {font-size:17px}
.people-quicklinks {gap:12px;padding-block:25px}
.people-quicklinks>a {font-size:14px;background:var(--cream);color:var(--green);border:1px solid #e3d9eb;padding:9px 15px;line-height:1.5}
.people-quicklinks>a:hover {background:#e8dcf3}
.team-section {background:#f6f3f9;border-block:1px solid #e7e0ee;padding-top:40px}
.filter-tabs {gap:9px;margin-bottom:38px}
.filter-tabs>button {background:#fff;color:var(--muted);border:1px solid var(--line);font-size:14px;padding:10px 15px;min-height:44px}
.filter-tabs>button.active {background:var(--green);border-color:var(--green);color:#fff}
.filter-tabs>button:hover:not(.active) {border-color:var(--green);color:var(--green)}
.people-group {margin-bottom:52px}
.people-group>h2 {font-size:30px;padding:0 0 14px;border-color:#d7ccdf;line-height:1.25;margin-bottom:24px}
.people-group>h2>span {color:var(--accent);font-size:13px;background:var(--accent-soft);padding:4px 8px;margin-left:10px}
.group-section-description {font-size:16px;color:var(--muted);margin-bottom:25px;max-width:70ch}
.people-grid {gap:24px;align-items:start}
.person-card {display:block;background:#fff;border:1px solid #e0d8e8;box-shadow:0 4px 16px #35214604;height:auto}
.person-card-pi {border-top:3px solid var(--green)}
.member-portrait,.avatar {aspect-ratio:4/3;height:auto;min-height:0;overflow:hidden}
.member-portrait img {width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.people-group[data-people-group="Core Team"] .member-portrait {aspect-ratio:4/3;height:auto;max-height:none}
.people-group[data-people-group="Core Team"] .member-portrait img {object-fit:cover;object-position:50% 24%}
.people-group[data-people-group="Core Team"] .person-card-pi .member-portrait img {object-position:center top}
.avatar {background:#ede6f3}
.avatar>span:first-child {font-size:62px;color:#79638b}
.avatar-2 {background:#e8f1ee}
.avatar-2>span:first-child {color:#51786b}
.avatar-3 {background:#f2eee5}
.avatar-3>span:first-child {color:#887753}
.avatar-4 {background:#eee9f4}
.avatar-4>span:first-child {color:#79638b}
.person-content {padding:24px}
.people-group[data-people-group="Core Team"] .person-content {min-height:350px;display:flex;flex-direction:column}
.people-group[data-people-group="Core Team"] .member-details {margin-top:auto;padding-top:18px;border-top:0}
.people-group[data-people-group="Core Team"] .member-details>summary {border-top:1px solid var(--line)}
.person-role {font-size:12px;font-weight:600;color:var(--accent);line-height:1.6;margin-bottom:12px}
.study-year {color:var(--muted);font-weight:400;padding-left:8px;margin-left:5px;border-left:1px solid var(--line);white-space:nowrap}
.person-content h3 {font-family:var(--serif);font-size:26px;line-height:1.22;letter-spacing:-.025em;color:var(--green);margin:0}
.person-degree {font-size:13px!important;line-height:1.6;color:var(--muted);margin-top:7px}
.person-topic {font-size:15px;line-height:1.75;color:var(--ink);margin-top:17px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.person-affiliation {font-size:13px;line-height:1.7;color:var(--muted);margin-top:15px}
.member-primary-links {display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:19px}
.member-email,.member-pi-link {font-size:13px;line-height:1.6;font-weight:600;padding:7px 0;color:var(--accent)}
.member-email {display:inline-flex;gap:7px;align-items:center}
.member-email>span {font-size:16px;line-height:1}
.member-primary-links a:hover {color:#0e4a42;text-decoration:underline;text-underline-offset:4px}
.member-details {border-top:1px solid var(--line);margin-top:20px}
.member-details>summary {font-size:14px;font-weight:600;color:var(--green);cursor:pointer;padding:16px 0 0;display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;min-height:44px}
.member-details>summary::-webkit-details-marker {display:none}
.member-details>summary::marker {content:''}
.details-symbol {font-size:23px;line-height:1;font-weight:400;color:var(--accent)}
.member-details[open] .details-symbol {transform:rotate(45deg)}
.member-details-body {padding-top:23px}
.member-details-body>section {margin:0 0 23px}
.member-details-body>section:last-child {margin-bottom:0}
.member-details-body h4 {font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--accent);margin:0 0 11px;line-height:1.6}
.member-details-body p {font-size:15px;line-height:1.85}
.member-details-body .member-keywords ul {display:block;list-style:disc;padding-left:18px}
.member-details-body .member-keywords li {display:list-item;font-size:14px;line-height:1.75;padding:0;margin-bottom:6px;background:none;border:0;overflow-wrap:normal}
.member-details-body .member-profile-links {margin:0;display:flex;flex-direction:column;align-items:start;gap:2px}
.member-details-body .member-profile-links>a {font-size:14px;padding:7px 0;color:var(--accent);border:0;text-decoration:underline;text-decoration-color:#bad5cc;text-underline-offset:4px}
.member-details-body .tags {margin-top:0}
.member-details-body .tag {font-size:12px;background:var(--accent-soft);color:var(--accent);border-color:#c4dcd3;white-space:normal}
.member-details-body .education-list {margin-top:0}
.member-details-body .education-list dt {font-size:14px;line-height:1.7}
.member-details-body .education-list dd {font-size:13px;line-height:1.8}
.education-note {color:var(--muted)}
.pi-bio h2 {font-size:34px;line-height:1.2}
.pi-bio>p:not(.eyebrow),.research-prose>p,.research-overview p:not(.eyebrow) {font-size:17px;line-height:1.9}
.pi-bio .tags {margin-top:28px;background:var(--accent-soft);padding:20px;gap:10px}
.pi-bio .tag {color:var(--accent);background:#fff;border-color:#c5dbd4;font-size:13px;white-space:normal}
.pi-bio .member-profile-links {gap:9px 18px;padding-top:23px}
.pi-bio .member-profile-links>a {font-size:14px;color:var(--accent)}
.pi-bio .education-list dt {font-size:16px}
.pi-bio .education-list dd {font-size:15px}
.education-heading {font-size:26px}
.pi-photo {border:1px solid var(--line);background:#fff}
.pi-photo figcaption {background:var(--cream);color:var(--green)}
.group-gallery figcaption {font-size:25px}
.group-gallery figcaption>span {font-size:13px}
.research-overview h2 {font-size:36px;line-height:1.2}
.area-card {background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);padding:30px}
.area-card h3 {font-size:29px;line-height:1.28}
.area-card p {font-size:16px;color:var(--muted);line-height:1.85}
.area-code {color:var(--accent);font-size:17px}
.tag {background:var(--cream);color:var(--green);border-color:#ded3e8}
.question-box {background:var(--accent-soft);border-left:3px solid var(--accent)}
.question-box h3 {font-size:27px;line-height:1.35;color:#214f46}
.question-box p:last-child {font-size:16px;line-height:1.85}
.research-prose>h2 {font-size:32px;line-height:1.25}
.research-detail-aside>a {font-size:14px}
.partner-row h3 {font-size:28px}
.partner-row p {font-size:16px}
.partners-section {background:var(--warm)}
.alumni-column-headings {background:var(--cream);color:#59456b;padding:16px;font-size:11px}
.alumni-row {padding:28px 16px}
.alumni-row:nth-child(even) {background:#faf8fc}
.alumni-person h3 {font-size:24px}
.alumni-person p {font-size:13px;color:var(--muted)}
.alumni-person .alumni-note {font-size:12px;color:var(--accent)}
.alumni-row dd {font-size:15px;line-height:1.8}
.alumni-avatar {color:#725587;background:#e9def1}
.alumni-date {font-size:14px;color:var(--ink)}
.alumni-degree-label,.alumni-current-role {font-size:13px;color:var(--accent)}
.alumni-sort-note {font-size:14px}
.address-card {background:var(--cream);border-top:3px solid var(--green)}
.contact-grid p:not(.eyebrow),.address-card address {font-size:17px}
.contact-email {color:var(--accent);font-size:28px}
.contact-profiles .text-link {font-size:14px}
.department-note {background:var(--accent-soft);padding:30px;margin-bottom:65px}
.department-note h2 {font-size:31px;line-height:1.25}
.department-note p:not(.eyebrow) {font-size:16px}
.site-footer {background:#291c37;color:#eee8f4;border-color:#291c37}
.site-footer .brand-mark,.site-footer h2 {color:#fff}
.site-footer .brand-mark>span {color:#ccb484}
.footer-top {padding-block:50px;gap:50px}
.footer-top h2 {font-size:12px;letter-spacing:.12em}
.footer-top>div:first-child p,.footer-top>div:not(:first-child) p,.footer-top>div>a:not(.brand-mark) {font-size:14px;line-height:1.85;color:#ded4e7}
.footer-top a:hover {color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-bottom {font-size:12px;color:#d5c7e1;border-color:#594366;padding-block:22px}
@media(max-width:1050px) {
 .container {width:calc(100% - 64px)}
 .site-header nav {top:88px;background:#fff}
 .person-content {padding:21px}
 .person-content h3 {font-size:25px}
 .hero-photo {gap:35px}
 .hero-photo h1 {font-size:50px}
 .hero-tagline {font-size:23px}
 .alumni-row {padding:25px 16px}
 .alumni-row dt {color:var(--accent)}
}
@media(max-width:700px) {
 body {font-size:17px}
 .container {width:calc(100% - 40px)}
 .section {padding-block:52px}
 .header-inner {height:76px}
 .site-header nav {top:76px}
 .institution-bar {font-size:9px}
 .brand-mark {font-size:44px}
 .brand-full {font-size:10px}
 .page-intro {padding-block:38px 30px}
 .page-intro h1 {font-size:45px;line-height:1.14}
 .intro-text {font-size:17px;line-height:1.8}
 .section-heading h2 {font-size:34px}
 .hero-photo {padding-block:35px;gap:30px}
 .hero-photo h1 {font-size:45px}
 .hero-tagline {font-size:24px}
 .hero-photo .hero-description {font-size:17px}
 .hero-photo .eyebrow {font-size:10px}
 .about-grid {gap:25px}
 .about-grid h2 {font-size:35px}
 .about-grid p:not(.eyebrow) {font-size:17px}
 .research-index h3 {font-size:27px}
 .feature-card {padding:17px}
 .feature-card h3 {font-size:26px}
 .feature-card>p:last-child {font-size:16px}
 .publication {gap:14px}
 .publication h3,.publication-compact h3 {font-size:24px}
 .authors {font-size:14px}
 .people-band h2 {font-size:37px}
 .people-band p:not(.eyebrow) {font-size:17px}
 .home-person strong {font-size:22px}
 .home-person>span {font-size:13px}
 .people-quicklinks>a {font-size:14px;padding:9px 12px}
 .people-grid {grid-template-columns:1fr;gap:24px}
 .people-group>h2 {font-size:28px}
 .filter-tabs>button {font-size:13px;padding:10px 13px}
 .person-card,.people-group[data-people-group="Core Team"] .person-card {display:block}
 .member-portrait,.avatar,.people-group[data-people-group="Core Team"] .member-portrait {height:auto;aspect-ratio:4/3;min-height:0;max-height:none}
 .member-portrait img,.people-group[data-people-group="Core Team"] .member-portrait img {height:100%;object-fit:cover;object-position:center 25%}
 .person-content {padding:23px}
 .people-group[data-people-group="Core Team"] .person-content {min-height:0;display:block}
 .person-content h3 {font-size:27px}
 .person-role {font-size:13px}
 .person-topic {font-size:16px}
 .person-affiliation {font-size:14px}
 .member-email,.member-pi-link {font-size:14px;min-height:44px;display:inline-flex;align-items:center}
 .member-details>summary {font-size:15px}
 .member-details-body p {font-size:16px}
 .member-details-body .education-list dt {font-size:15px}
 .member-details-body .education-list dd {font-size:14px}
 .member-details-body .member-keywords li,.member-details-body .member-profile-links>a {font-size:14px}
 .pi-bio h2 {font-size:30px}
 .pi-bio>p:not(.eyebrow) {font-size:17px}
 .pi-bio .education-list dt {font-size:16px}
 .pi-bio .education-list dd {font-size:15px}
 .pi-bio .tags {padding:16px}
 .research-overview h2 {font-size:32px}
 .area-card {padding:25px}
 .area-card h3 {font-size:27px}
 .research-prose>h2 {font-size:30px}
 .partner-row h3 {font-size:26px}
 .alumni-person h3 {font-size:26px}
 .alumni-person p {font-size:14px}
 .alumni-person .alumni-note {font-size:13px}
 .alumni-row dd {font-size:16px}
 .alumni-row dt {font-size:12px}
 .alumni-date {font-size:15px}
 .alumni-degree-label,.alumni-current-role {font-size:14px}
 .contact-email {font-size:25px}
 .address-card {padding:25px}
 .contact-grid h2 {font-size:33px}
 .department-note {padding:25px;width:calc(100% - 40px);margin-bottom:45px}
 .department-note h2 {font-size:29px}
 .footer-top {gap:28px;padding-block:42px}
 .footer-top>div:first-child p,.footer-top>div:not(:first-child) p,.footer-top>div>a:not(.brand-mark) {font-size:14px}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto}
 *,*::before,*::after {transition:none!important;animation:none!important}
}

/* Supplied institutional marks and compact, labelled profile links. */
.institution-ident {display:flex;align-items:center;gap:9px;line-height:1.4;padding-block:4px}
.institution-ident img {width:28px;height:28px;object-fit:contain}
.institution-bar .container {align-items:center;min-height:36px}
.footer-institution-logo {display:inline-block;background:#fff;padding:9px 12px;margin-bottom:12px}
.footer-institution-logo img {width:140px;height:35px;object-fit:contain}
.icon-links.member-profile-links,.pi-bio .icon-links.member-profile-links {display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px;margin:20px 0 0;padding:0}
.member-profile-links.icon-links>a.profile-icon {position:relative;display:inline-flex;justify-content:center;align-items:center;flex:0 0 auto;width:44px;height:44px;padding:5px;background:#fff;border:1px solid #ded6e6;border-radius:6px;color:var(--green);text-decoration:none;overflow:visible;line-height:1}
.member-profile-links.icon-links>a.profile-icon:hover,.member-profile-links.icon-links>a.profile-icon:focus-visible {background:#f3eef8;border-color:#806291;color:var(--green);box-shadow:0 2px 8px #3521460c}
.profile-icon img {display:block;width:32px;height:32px;object-fit:contain}
.profile-icon-linkedin img,.profile-icon-email img {width:40px;height:40px;max-width:none}
.profile-icon-orcid img {width:27px;height:27px}
.member-profile-links.icon-links>a.profile-icon-scholar {width:72px;padding-inline:6px}
.profile-icon-scholar img {width:60px;height:25px}
.member-profile-links.icon-links>a.profile-icon-scopus {width:66px;padding-inline:6px}
.profile-icon-scopus img {width:54px;height:23px}
.icon-tooltip {position:absolute;z-index:5;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);font-size:12px;font-weight:400;line-height:1.4;color:#fff;background:#352146;padding:6px 9px;border-radius:3px;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none}
.profile-icon:hover .icon-tooltip,.profile-icon:focus-visible .icon-tooltip {opacity:1;visibility:visible}
.member-pi-link {display:inline-flex;align-items:center;gap:14px;margin-top:12px}
.person-content>.icon-links {margin-bottom:6px}
.profile-links-label {font-size:13px!important;color:var(--muted);margin-bottom:12px}
.contact-profiles .icon-links {margin-top:0}
.connection-logo {height:74px;display:flex;align-items:center;margin:13px 0 16px;background:#fff}
.connection-logo img {max-width:160px;width:auto;max-height:68px;height:auto;object-fit:contain}
.collaborator-name>strong {display:block}
.collaborator-name {min-width:0;align-items:start;overflow-wrap:anywhere}
.partner-logo {display:flex;align-items:center;width:180px;height:90px;max-width:100%;margin-bottom:22px;background:#fff;padding:8px}
.partner-logo img {width:100%;height:100%;object-fit:contain}
@media(max-width:700px) {
 .institution-ident {font-size:9px;gap:7px}
 .institution-ident img {width:24px;height:24px}
 .icon-links.member-profile-links {gap:6px;margin-top:18px}
 .connection-logo {height:65px}
 .connection-logo img {max-width:140px;max-height:60px}
 .partner-logo {width:160px;height:80px}
}

/* Display-only portrait framing; original photographs remain unchanged. */
.portrait-window {position:relative;display:block;overflow:hidden;isolation:isolate;background:#f3eef8}
.portrait-window>img {position:absolute!important;max-width:none!important;width:var(--frame-width)!important;height:var(--frame-height)!important;left:var(--frame-left);top:var(--frame-top);object-fit:fill!important;object-position:center!important}
.alumni-photo-link,.alumni-photo-link.portrait-window {width:88px;height:110px;flex:0 0 88px;overflow:hidden}
.alumni-photo-link:not(.portrait-window)>img {width:88px;height:110px;object-fit:cover}
.alumni-avatar {width:88px;height:110px;flex:0 0 88px}
.alumni-row {scroll-margin-top:110px}

/* Applications, shared methods, and materials form connected research directions. */
.research-framework {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0}
.research-framework>div {min-width:0;border-top:3px solid var(--accent,#17695f);background:#f3eef8;padding:22px 18px}
.research-framework .eyebrow {display:block;font-size:11px;line-height:1.6;letter-spacing:.08em}
.research-framework h3 {font-size:22px;line-height:1.25;margin:12px 0}
.research-framework p {font-size:15px;line-height:1.65;margin:0}
.alumni-research-links {margin-top:12px;gap:6px}
.alumni-research-links .tag {font-size:11px;line-height:1.5;padding:5px 8px;white-space:normal}
.research-index-row h3 {overflow-wrap:normal}
@media(max-width:700px){.research-framework {grid-template-columns:1fr;gap:12px}.research-framework>div {padding:20px}.research-framework h3 {font-size:23px}.research-framework p {font-size:16px}}

/* Open People directory: photographs and text share one surface. */
.team-section {position:relative;background:#fff;border:0;padding-top:32px}
.team-section::before {content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#e9def1 0%,#e9f3ef 62%,#fff 100%)}
.filter-tabs {gap:0 26px;margin-bottom:52px;border-bottom:1px solid #e5dfe9;padding-bottom:0}
.filter-tabs>button {background:transparent;border:0;border-bottom:3px solid transparent;padding:13px 0;color:#6b6174;font-size:15px;min-height:48px}
.filter-tabs>button.active {background:transparent;border-color:var(--green);color:var(--green);font-weight:700}
.filter-tabs>button:hover:not(.active) {background:transparent;border-color:#b4a3c1;color:var(--green)}
.people-group {margin:0;padding:44px 0 56px;border-top:1px solid #e5dfe9}
.people-group:first-child {padding-top:0;border-top:0}
.people-group>h2 {display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:0;border:0;font-size:32px;line-height:1.2}
.people-group>h2>span {margin:0;background:#f0eaf5;color:#5d426f;border-radius:20px;font-family:var(--sans);font-size:12px;padding:5px 10px;letter-spacing:.04em}
.group-section-description {font-size:16px;line-height:1.8;margin-bottom:34px;color:var(--muted)}
.people-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:52px 32px;align-items:start;margin-top:30px}
.people-group[data-people-group="Core Team"] .people-grid {grid-template-columns:repeat(3,minmax(0,1fr));column-gap:52px}
.person-card,.person-card-pi {display:block;width:100%;max-width:320px;margin:0;background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;height:auto}
.people-group .person-card>.member-portrait,.people-group .person-card>.avatar {
 display:block;width:100%;max-width:none;aspect-ratio:1 / 1;height:auto;min-height:0;max-height:none;margin:0;border:0;border-radius:6px;overflow:hidden;
}
.people-group .person-card>.avatar {display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f0ebf5,#e5dced)}
.people-group .person-card>.avatar-2 {background:linear-gradient(145deg,#f0f5f2,#dcebe4)}
.people-group .person-card>.avatar-3 {background:linear-gradient(145deg,#f8f5ef,#ebe3d3)}
.people-group .person-card>.avatar>span:first-child {font-size:49px;font-weight:400}
.people-group .person-card>.avatar .avatar-rule {display:none}
.person-content,.people-group[data-people-group="Core Team"] .person-content {display:block;min-height:0;padding:23px 0 0}
.person-content h3 {font-family:var(--serif);font-size:26px;line-height:1.24;letter-spacing:-.025em;margin:0;color:var(--green)}
.person-role {font-size:12px;font-weight:600;line-height:1.65;margin:10px 0 0;color:var(--accent)}
.study-year {display:inline-block;margin-left:6px;padding-left:7px}
.person-degree {font-size:13px!important;margin-top:7px;color:#766c7e}
.person-topic {font-size:15px;line-height:1.75;margin-top:16px;color:var(--ink)}
.person-affiliation {font-size:13px;line-height:1.75;margin-top:13px;color:var(--muted)}
.person-content>.icon-links {margin:17px 0 0;gap:7px}
.person-content .member-profile-links.icon-links>a.profile-icon {background:#f6f3f9;border-color:transparent;box-shadow:none}
.person-content .member-profile-links.icon-links>a.profile-icon:hover,.person-content .member-profile-links.icon-links>a.profile-icon:focus-visible {background:#ece4f2;border-color:#cbbbd5}
.member-details,.people-group[data-people-group="Core Team"] .member-details {margin-top:18px;padding-top:0;border-top:1px solid #e6dfe9}
.people-group[data-people-group="Core Team"] .member-details>summary {border-top:0}
.member-details>summary {padding-top:13px;font-size:13px;min-height:46px}
@media(max-width:1100px) {
 .people-grid {grid-template-columns:repeat(3,minmax(0,1fr));column-gap:30px}
 .people-group[data-people-group="Core Team"] .people-grid {column-gap:30px}
 .person-content h3 {font-size:25px}
}
@media(max-width:850px) {
 .people-grid,.people-group[data-people-group="Core Team"] .people-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 32px}
 .person-card {max-width:none}
}
@media(max-width:600px) {
 .team-section {padding-top:22px}
 .filter-tabs {gap:0 20px;margin-bottom:34px}
 .filter-tabs>button {font-size:13px;padding-block:12px}
 .people-group {padding:32px 0 40px}
 .people-group>h2 {font-size:28px}
 .people-grid,.people-group[data-people-group="Core Team"] .people-grid {grid-template-columns:1fr;gap:40px;margin-top:26px}
 .person-card {max-width:320px;margin-inline:auto}
 .person-content h3 {font-size:27px}
 .person-content {padding-top:21px}
 .person-role {font-size:13px}
 .person-topic {font-size:16px}
 .person-affiliation {font-size:14px}
}

/* FIMP Group identity, supplied portraits, and laboratory QR. */
.hero-photo h1.fimp-hero-name {font-size:clamp(39px,4.05vw,59px);line-height:1.13}
.brand-full {max-width:245px;line-height:1.5}
.portrait-placeholder img {object-fit:contain!important;object-position:center!important;background:#e6e7e9}
.alumni-placeholder {overflow:hidden;background:#e6e7e9}
.alumni-placeholder img {width:88px;height:110px;object-fit:contain;display:block}
.lab-qr-section {display:grid;grid-template-columns:1fr 270px;gap:65px;align-items:center;border-top:1px solid var(--line)}
.lab-qr-section h2 {font-family:var(--serif);font-size:40px;line-height:1.2;color:var(--green)}
.lab-qr-section p:not(.eyebrow) {font-size:17px;line-height:1.8;max-width:46ch;margin-top:20px}
.lab-qr {margin:0;width:270px;background:white;padding:12px;border:1px solid var(--line)}
.lab-qr img {width:100%;height:auto;display:block}
.lab-qr figcaption {text-align:center;font-size:13px;color:var(--muted);padding:0 4px 8px}
@media(max-width:850px) {.lab-qr-section {grid-template-columns:1fr;gap:30px}.lab-qr {width:min(270px,100%)}}
@media(max-width:600px) {.hero-photo h1.fimp-hero-name {font-size:clamp(30px,7.7vw,43px)}.lab-qr-section h2 {font-size:32px}}
@media(max-width:600px) {
 .header-inner {gap:12px}
 .brand {flex:1;min-width:0;gap:10px}
 .brand-mark {flex-shrink:0}
 .brand-full {font-size:8px;max-width:155px;min-width:0;padding-left:10px}
 .menu-toggle {flex-shrink:0;gap:8px;padding-left:0}
}

/* Compact profile links and visible current study support. */
.member-profile-links.icon-links>a.profile-icon {width:34px;height:34px;padding:4px;border-radius:4px}
.profile-icon img {width:20px;height:20px}
.profile-icon-linkedin img,.profile-icon-email img {width:28px;height:28px}
.profile-icon-orcid img {width:18px;height:18px}
.profile-icon svg {width:20px;height:20px}
.member-profile-links.icon-links>a.profile-icon-scholar {width:52px;padding-inline:4px}
.profile-icon-scholar img {width:44px;height:18px}
.member-profile-links.icon-links>a.profile-icon-scopus {width:46px;padding-inline:4px}
.profile-icon-scopus img {width:38px;height:17px}
.person-content>.icon-links {gap:5px;margin-top:13px}
.member-highlights {display:grid;gap:7px;padding:0;margin:15px 0 18px;list-style:none}
.member-highlight {display:block;margin:0;padding:9px 11px;border-left:2px solid #7c5a98;background:#f6f2fa;overflow-wrap:anywhere}
.highlight-scholarship {border-color:#4b8a7e;background:#eff6f3}
.highlight-funding {border-color:#aa8548;background:#faf5eb}
.highlight-label {display:block;font-size:10px;line-height:1.5;font-weight:600;letter-spacing:.055em;text-transform:uppercase;color:#655072}
.highlight-scholarship .highlight-label {color:#34675d}
.highlight-funding .highlight-label {color:#795b2d}
.highlight-value {display:block;margin-top:3px;font-size:14px;font-weight:500;line-height:1.5;color:#382843}
.highlight-scholarship .highlight-value {color:#204f44}
.highlight-funding .highlight-value {color:#634a23}
@media(max-width:600px) {.member-highlight {padding:10px 12px}.highlight-value {font-size:15px}}

/* Keep paper titles compact while distinguishing journal and publisher. */
.publication h3,.publication-compact h3,.research-prose .publication h3 {font-size:21px;line-height:1.45}
.publication-meta {gap:8px 14px;align-items:baseline}
.publication-journal {font-weight:500;color:#4d3b5c}
.publication-publisher {display:inline;font-size:12px;line-height:1.6;color:#62566b}
.publication-publisher strong {font-weight:500;color:#51405f}
@media(max-width:600px) {
 .publication h3,.publication-compact h3,.research-prose .publication h3 {font-size:20px;line-height:1.45}
 .publication-meta {gap:5px 11px}
}


/* Compact bibliography: smaller type, tighter rhythm, full citation details. */
.publications-page .page-intro {padding-block:28px 24px}
.publications-page .page-intro .eyebrow {font-size:11px;margin-bottom:10px}
.publications-page .page-intro h1 {font-size:clamp(30px,3.1vw,42px);line-height:1.2;max-width:none}
.publications-page .intro-text {font-size:15px;line-height:1.6;margin-top:12px;max-width:90ch}
.publications-page .publication-controls {padding-top:18px}
.publications-page .search-box input {font-size:16px;padding-block:10px;min-height:44px}
.publications-page .search-box>span {top:0}
.publications-page .filter-row {padding-block:14px;gap:12px 18px}
.publications-page .filter-row>label:not(.selected-checkbox) {font-size:11px;gap:5px}
.publications-page .filter-row select {font-size:13px;min-height:44px;padding:8px 10px}
.publications-page .selected-checkbox,.publications-page .clear-filters {font-size:12px;min-height:44px}
.publications-page .publication-list-section {padding-top:18px;padding-bottom:40px}
.publications-page .results-header {font-size:12px;line-height:1.5;margin-bottom:10px}
.publications-page .year-heading {font-size:29px;line-height:1.2;padding-block:10px 4px;gap:14px}
.publications-page .year-heading>span {font-size:11px}
.publications-page .publication-year {margin-bottom:18px}
.publications-page .publication {grid-template-columns:42px minmax(0,1fr);gap:16px;padding-block:16px}
.publications-page .publication-number {font-size:17px;line-height:1.4}
.publications-page .publication-number>span {font-size:11px;margin-top:2px}
.publications-page .publication-meta {font-size:11.5px;line-height:1.5;gap:4px 12px;margin-bottom:5px}
.publications-page .publication-publisher {font-size:11px;line-height:1.5}
.publications-page .publication .badge {font-size:9px;line-height:1.4;padding:2px 6px}
.publications-page .publication h3 {font-size:18px;line-height:1.4;max-width:none}
.publications-page .authors {font-size:13px;line-height:1.55;margin-top:6px;max-width:none}
.publications-page .publication-details {display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;margin-top:6px}
.publications-page .citation-line,.publications-page .doi-link {font-size:12px;line-height:1.5;margin:0}
.publications-page .doi-link {gap:7px;max-width:100%}
.publications-page .publication-scope {font-size:12px;line-height:1.6;margin-top:24px}
@media(max-width:700px) {
 .publications-page .page-intro {padding-block:24px 20px}
 .publications-page .page-intro h1 {font-size:32px;max-width:22ch}
 .publications-page .intro-text {font-size:14px}
 .publications-page .filter-row {grid-template-columns:1fr 1fr;gap:10px 12px;padding-block:12px}
 .publications-page .filter-row select {max-width:100%;width:100%}
 .publications-page .filter-row .selected-checkbox {align-self:end;margin:0;font-size:12px}
 .publications-page .clear-filters {min-height:32px}
 .publications-page .publication {grid-template-columns:32px minmax(0,1fr);gap:10px;padding-block:14px}
 .publications-page .publication-number {font-size:16px}
 .publications-page .publication h3 {font-size:17px;line-height:1.4}
 .publications-page .publication-meta {gap:4px 9px}
 .publications-page .publication-details {gap:4px 12px}
 .publications-page .year-heading {font-size:26px;flex-wrap:wrap;gap:4px 12px}
}


/* Contact: essentials together, with a compact type hierarchy. */
.contact-page .page-intro {padding-block:28px 24px}
.contact-page .page-intro .eyebrow {font-size:11px;margin-bottom:10px}
.contact-page .page-intro h1 {font-size:clamp(30px,3.1vw,42px);line-height:1.2;max-width:none}
.contact-page .intro-text {font-size:15px;line-height:1.6;margin-top:12px;max-width:none}
.contact-page .contact-layout {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.1fr) minmax(190px,.65fr);align-items:start;gap:28px;padding-block:28px}
.contact-page .eyebrow {font-size:10px;line-height:1.5;margin-bottom:10px}
.contact-page .contact-layout h2 {font-family:var(--serif);font-size:24px;line-height:1.3;letter-spacing:-.025em;margin-bottom:12px;color:var(--green)}
.contact-page .contact-affiliation {font-size:14px;line-height:1.6;color:var(--muted)}
.contact-page .contact-email {font-family:var(--sans);font-size:16px;line-height:1.5;letter-spacing:0;margin-top:12px;padding-bottom:6px;max-width:100%}
.contact-page .pi-contact {padding-top:16px;margin-top:20px}
.contact-page .pi-contact .eyebrow {margin-bottom:6px}
.contact-page .pi-contact h3 {font-size:20px;line-height:1.4}
.contact-page .text-link {font-size:13px;line-height:1.5;gap:8px;padding-block:5px}
.contact-page .pi-contact .text-link {margin-top:4px}
.contact-page .contact-profiles {display:block;margin-top:14px}
.contact-page .profile-links-label {font-size:11px!important;line-height:1.5;margin-bottom:7px}
.contact-page .contact-profiles .icon-links {margin:0;gap:6px}
.contact-page .address-card {padding:20px;border-top-width:2px}
.contact-page .address-card h2 {font-size:23px}
.contact-page .address-card address {font-size:14px;line-height:1.6}
.contact-page .address-card address>strong {display:block;font-weight:600}
.contact-page .address-card address>span {display:block;margin-top:10px}
.contact-page .address-card>.text-link {margin-top:12px}
.contact-page .address-card>.contact-note {font-size:11px!important;line-height:1.55;margin-top:8px;color:var(--muted)}
.contact-page .contact-website {padding-top:2px}
.contact-page .contact-website h2 {font-size:22px;margin-bottom:8px}
.contact-page .contact-website p:not(.eyebrow) {font-size:13px;line-height:1.6;color:var(--muted)}
.contact-page .contact-website .text-link {margin-top:5px}
.contact-page .lab-qr {width:180px;max-width:100%;padding:6px;margin-top:14px;border-color:var(--line)}
.contact-page .lab-qr figcaption {font-size:10px;line-height:1.5;padding:0 2px 4px}
.contact-page .department-note {display:grid;grid-template-columns:220px 1fr auto;gap:24px;align-items:center;padding:16px 20px;margin-bottom:28px;border:0}
.contact-page .department-note .eyebrow {margin-bottom:3px}
.contact-page .department-note h2 {font-size:20px;line-height:1.3}
.contact-page .department-note p:not(.eyebrow) {font-size:13px;line-height:1.6}
.contact-page .department-note .text-link {margin:0;white-space:nowrap}
@media(max-width:1050px) {
 .contact-page .contact-layout {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
 .contact-page .contact-website {grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;border-top:1px solid var(--line)}
 .contact-page .lab-qr {width:150px;margin-top:0;flex-shrink:0}
 .contact-page .department-note {grid-template-columns:1fr auto;gap:12px 24px}
 .contact-page .department-note>div {grid-column:1/-1}
}
@media(max-width:700px) {
 .contact-page .page-intro {padding-block:24px 20px}
 .contact-page .page-intro h1 {font-size:32px;max-width:22ch}
 .contact-page .intro-text {font-size:14px}
 .contact-page .contact-layout {grid-template-columns:1fr;gap:24px;padding-block:24px}
 .contact-page .contact-layout h2 {font-size:23px}
 .contact-page .contact-primary {padding-inline:0}
 .contact-page .contact-email {font-size:15px}
 .contact-page .address-card {padding:18px}
 .contact-page .contact-website {gap:16px}
 .contact-page .contact-website h2 {font-size:21px}
 .contact-page .lab-qr {width:140px}
 .contact-page .department-note {grid-template-columns:1fr;gap:10px;padding:16px 18px;margin-bottom:24px}
 .contact-page .department-note>div {grid-column:auto}
 .contact-page .department-note .text-link {justify-self:start}
}
@media(max-width:360px) {
 .contact-page .contact-website {flex-direction:column;align-items:start}
}


/* Home: compact editorial hierarchy and a quicker overview. */
.home-page {font-size:15px;line-height:1.65}
.home-page .section {padding-block:40px}
.home-page .eyebrow {font-size:10px;line-height:1.5;margin-bottom:10px}
.home-page .text-link {font-size:13px;gap:9px;padding-block:6px}
.home-page .button {font-size:13px;min-height:44px;padding:10px 16px}
.home-page .hero-photo {min-height:0;grid-template-columns:1fr 1fr;gap:36px;padding-block:30px;align-items:center}
.home-page .hero-photo h1.fimp-hero-name {font-size:clamp(30px,3vw,40px);line-height:1.18;max-width:26ch}
.home-page .hero-tagline {font-size:19px;line-height:1.5;margin-top:16px;max-width:42ch}
.home-page .hero-photo .hero-description {font-size:14px;line-height:1.65;margin-top:10px;max-width:58ch}
.home-page .hero-actions {margin-top:18px;gap:16px;flex-direction:row;align-items:center}
.home-page .hero-group-photo {max-width:500px;justify-self:end}
.home-page .hero-group-photo figcaption {font-size:9px;padding-top:8px;line-height:1.5}
.home-page .photo-corner {font-size:9px;padding:5px 8px}
.home-page .hero-photo-note {margin-top:12px;gap:10px}
.home-page .hero-photo-note p {font-size:16px;line-height:1.35}
.home-page .about-grid {grid-template-columns:.8fr 1.2fr;gap:40px}
.home-page .about-grid h2,.home-page .section-heading h2,.home-page .activity-preview h2 {font-size:29px;line-height:1.25}
.home-page .about-grid p:not(.eyebrow) {font-size:14px;line-height:1.75}
.home-page .about-grid .text-link {margin-top:12px}
.home-page .section-heading {margin-bottom:20px;gap:20px}
.home-page .section-description {font-size:14px;line-height:1.65;margin-bottom:14px}
.home-page .research-index-row {grid-template-columns:40px 1fr 1fr 30px;padding-block:15px;gap:18px}
.home-page .research-index h3 {font-size:22px;line-height:1.3}
.home-page .research-index p {font-size:13px;line-height:1.6}
.home-page .index-num {font-size:15px}
.home-page .round-arrow {width:28px;height:28px;line-height:26px;font-size:16px}
.home-page .featured-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start}
.home-page .feature-card {padding:14px}
.home-page .feature-image {margin-bottom:12px}
.home-page .feature-image img {display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;max-height:none}
.home-page .feature-image-label {font-size:9px;padding:4px 6px}
.home-page .feature-card h3 {font-size:20px;line-height:1.35}
.home-page .feature-card>p:last-child {font-size:13px;line-height:1.65;margin-top:10px}
.home-page .feature-card .eyebrow {font-size:9px;margin-bottom:8px}
.home-page .publication {grid-template-columns:38px minmax(0,1fr);padding-block:14px;gap:16px}
.home-page .publication h3 {font-size:18px;line-height:1.4;max-width:none}
.home-page .publication-number {font-size:16px;line-height:1.4}
.home-page .publication-number>span {font-size:10px}
.home-page .publication-meta {font-size:11px;margin-bottom:5px;gap:5px 12px}
.home-page .publication-publisher {font-size:10.5px}
.home-page .publication-details {display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 15px;margin-top:6px}
.home-page .citation-line,.home-page .doi-link {font-size:12px;line-height:1.5;margin:0}
.home-page .people-band {padding-block:36px}
.home-page .people-band-grid {grid-template-columns:1fr 1fr;gap:36px}
.home-page .people-band h2 {font-size:30px;line-height:1.25}
.home-page .people-band p:not(.eyebrow) {font-size:14px;line-height:1.7;margin-top:12px}
.home-page .people-band .button {margin-top:16px}
.home-page .home-people-portraits {gap:22px;max-width:390px;justify-self:end}
.home-page .home-person img {aspect-ratio:1/1}
.home-page .home-person strong {font-size:18px;line-height:1.35;margin-top:10px}
.home-page .home-person>span {font-size:12px}
.home-page .collaborator-grid {gap:22px}
.home-page .collaborator-name {padding-block:18px}
.home-page .collaborator-name>strong {font-size:14px;line-height:1.5}
.home-page .collaborator-name>span:first-child {font-size:10px}
.home-page .collaborators-section>.small {font-size:12px;line-height:1.6}
.home-page .activity-preview {gap:36px}
.home-page .activity-preview h2 {margin-bottom:12px}
.home-page .activity-preview p:not(.eyebrow) {font-size:14px;line-height:1.7}
.home-page .activity-preview-note {padding:20px;min-height:0;gap:10px}

/* People: compact profiles with programme and funding highlights kept visible. */
.people-page .page-intro {padding-block:28px 22px}
.people-page .page-intro .eyebrow {font-size:11px;margin-bottom:10px}
.people-page .page-intro h1 {font-size:clamp(30px,3.1vw,42px);line-height:1.2}
.people-page .intro-text {font-size:15px;line-height:1.6;margin-top:12px;max-width:none}
.people-page .people-quicklinks {padding-block:12px;gap:10px}
.people-page .people-quicklinks>a {font-size:12px;padding:7px 11px}
.people-page .team-section {padding-block:18px 24px}
.people-page .filter-tabs {gap:0 22px;margin-bottom:22px}
.people-page .filter-tabs>button {font-size:13px;min-height:40px;padding-block:9px}
.people-page .people-group {padding-block:28px 32px}
.people-page .people-group:first-child {padding-top:0}
.people-page .people-group>h2 {font-size:25px;gap:10px;margin-bottom:10px}
.people-page .people-group>h2>span {font-size:11px;padding:3px 8px}
.people-page .group-section-description {font-size:13px;line-height:1.6;margin-bottom:18px}
.people-page .people-grid {grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 24px;margin-top:18px}
.people-page .person-card {max-width:none}
.people-page .person-content {padding-top:12px}
.people-page .person-content h3 {font-size:21px;line-height:1.3}
.people-page .person-role {font-size:11px;line-height:1.5;margin-top:5px}
.people-page .person-degree {font-size:11.5px!important;line-height:1.5;margin-top:4px}
.people-page .study-year {margin-left:4px;padding-left:5px}
.people-page .person-topic {font-size:13px;line-height:1.6;margin-top:9px}
.people-page .person-affiliation {font-size:12px;line-height:1.6;margin-top:8px}
.people-page .person-content>.icon-links {margin-top:10px;gap:5px}
.people-page .member-highlights {gap:5px;margin:10px 0}
.people-page .member-highlight {padding:6px 8px}
.people-page .highlight-label {font-size:9px;line-height:1.5}
.people-page .highlight-value {font-size:12px;line-height:1.5;margin-top:2px}
.people-page .member-details {margin-top:10px}
.people-page .member-details>summary {font-size:12px;min-height:36px;padding-top:8px}
.people-page .member-pi-link {font-size:12px;line-height:1.5;padding-block:5px}
.people-page .member-details-body {padding-top:14px}
.people-page .member-details-body>section {margin-bottom:15px}
.people-page .member-details-body h4 {font-size:10px;margin-bottom:7px}
.people-page .member-details-body p {font-size:13px;line-height:1.7}
.people-page .member-details-body .member-keywords li {font-size:12px;line-height:1.6;margin-bottom:4px}
.people-page .member-details-body .education-list dt {font-size:12px;line-height:1.6}
.people-page .member-details-body .education-list dd {font-size:11.5px;line-height:1.6}
.people-page .member-details-body .tag {font-size:10px;padding:4px 7px}
.people-page .people-group[data-people-group="Core Team"] .people-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.people-page .people-group[data-people-group="Core Team"] .person-card {display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:16px;align-items:start}
.people-page .people-group[data-people-group="Core Team"] .member-portrait {grid-column:1;grid-row:1}
.people-page .people-group[data-people-group="Core Team"] .person-content {display:contents}
.people-page .people-group[data-people-group="Core Team"] .person-content>* {grid-column:1/-1}
.people-page .people-group[data-people-group="Core Team"] .person-content>.person-identity {grid-column:2;grid-row:1;align-self:center}
.people-page .group-gallery-section {padding-block:32px}
.people-page .section-heading {margin-bottom:20px}
.people-page .section-heading h2 {font-size:29px;line-height:1.25}
.people-page .section-heading .eyebrow {font-size:10px;margin-bottom:8px}
.people-page .group-gallery {gap:24px}
.people-page .group-gallery img {max-height:320px;object-fit:contain;object-position:left center}
.people-page .group-gallery figure:last-child {padding-top:0}
.people-page .group-gallery figcaption {font-size:19px;line-height:1.4;margin-top:10px}
.people-page .group-gallery figcaption>span {font-size:11px;margin-top:4px}
@media(max-width:1100px) {
 .home-page .featured-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .home-page .hero-photo {gap:28px}
 .people-page .people-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px}
 .people-page .people-group[data-people-group="Core Team"] .person-card {grid-template-columns:84px minmax(0,1fr);column-gap:12px}
 .people-page .person-content h3 {font-size:20px}
}
@media(max-width:900px) {
 .people-page .people-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
 .people-page .people-group[data-people-group="Core Team"] .people-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page .hero-photo h1.fimp-hero-name {font-size:32px}
}
@media(max-width:700px) {
 .home-page .section {padding-block:30px}
 .home-page .hero-photo {grid-template-columns:1fr;gap:22px;padding-block:24px}
 .home-page .hero-photo h1.fimp-hero-name {font-size:32px;max-width:24ch}
 .home-page .hero-photo .eyebrow {font-size:9px}
 .home-page .hero-tagline {font-size:18px;margin-top:12px}
 .home-page .hero-photo .hero-description {font-size:14px}
 .home-page .hero-actions .button {font-size:12px;min-height:44px;padding:10px 13px}
 .home-page .hero-actions .text-link {font-size:12px}
 .home-page .hero-group-photo {width:100%;max-width:none;justify-self:stretch}
 .home-page .hero-group-photo figcaption {font-size:8px}
 .home-page .hero-photo-note {display:none}
 .home-page .about-grid,.home-page .people-band-grid {grid-template-columns:1fr;gap:20px}
 .home-page .about-grid h2,.home-page .section-heading h2,.home-page .activity-preview h2 {font-size:26px}
 .home-page .section-heading {gap:10px;margin-bottom:16px}
 .home-page .research-index-row {grid-template-columns:25px 1fr 28px;gap:10px;padding-block:13px}
 .home-page .research-index h3 {font-size:20px}
 .home-page .research-index p {display:none}
 .home-page .feature-card h3 {font-size:20px}
 .home-page .publication {grid-template-columns:30px minmax(0,1fr);gap:10px}
 .home-page .publication h3 {font-size:17px}
 .home-page .publication-meta {gap:4px 8px}
 .home-page .people-band {padding-block:30px}
 .home-page .people-band h2 {font-size:27px}
 .home-page .home-people-portraits {justify-self:start;max-width:350px;width:100%;gap:20px}
 .home-page .collaborator-grid {gap:0 20px}
 .home-page .activity-preview {grid-template-columns:1fr;gap:18px}
 .people-page .page-intro {padding-block:24px 20px}
 .people-page .page-intro h1 {font-size:32px}
 .people-page .intro-text {font-size:14px}
 .people-page .people-quicklinks {gap:8px}
 .people-page .people-quicklinks>a {font-size:11px;padding:7px 9px}
 .people-page .filter-tabs {gap:0 18px;margin-bottom:18px}
 .people-page .filter-tabs>button {font-size:12px}
 .people-page .people-group>h2 {font-size:24px}
 .people-page .people-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}
}
@media(max-width:600px) {
 .people-page .people-grid,.people-page .people-group[data-people-group="Core Team"] .people-grid {grid-template-columns:1fr;gap:26px}
 .people-page .person-card,.people-page .people-group[data-people-group="Core Team"] .person-card {display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:16px;max-width:none;margin:0;align-items:start}
 .people-page .people-group .person-card>.member-portrait {grid-column:1;grid-row:1}
 .people-page .person-content,.people-page .people-group[data-people-group="Core Team"] .person-content {display:contents}
 .people-page .person-content>* {grid-column:1/-1}
 .people-page .person-content>.person-identity,.people-page .people-group[data-people-group="Core Team"] .person-content>.person-identity {grid-column:2;grid-row:1;align-self:center}
 .people-page .person-content h3 {font-size:21px}
 .people-page .person-role {font-size:12px}
 .people-page .person-topic {font-size:13px}
 .people-page .person-affiliation {font-size:12px}
 .people-page .highlight-value {font-size:13px}
 .people-page .people-group {padding-block:24px 28px}
 .people-page .group-gallery {grid-template-columns:1fr;gap:22px}
 .home-page .featured-grid {grid-template-columns:1fr;gap:20px}
}


/* Core Team portraits remain prominent within the compact profile layout. */
.people-page .people-group[data-people-group="Core Team"] .person-card {grid-template-columns:196px minmax(0,1fr);column-gap:16px}
@media(max-width:1100px) {
 .people-page .people-group[data-people-group="Core Team"] .person-card {grid-template-columns:160px minmax(0,1fr);column-gap:14px}
}
@media(max-width:900px) {
 .people-page .people-group[data-people-group="Core Team"] .person-card {grid-template-columns:176px minmax(0,1fr)}
}
@media(max-width:700px) {
 .people-page .people-group[data-people-group="Core Team"] .people-grid {grid-template-columns:1fr}
}
@media(max-width:600px) {
 .people-page .people-group[data-people-group="Core Team"] .person-card {grid-template-columns:160px minmax(0,1fr);column-gap:16px}
}
@media(max-width:360px) {
 .people-page .people-group[data-people-group="Core Team"] .person-card {grid-template-columns:136px minmax(0,1fr);column-gap:12px}
}


/* Research overview: compact narrative, direction cards, and connections. */
.research-page {font-size:15px;line-height:1.65}
.research-page .section {padding-block:32px}
.research-page .page-intro {padding-block:28px 24px}
.research-page .page-intro .eyebrow {font-size:11px;margin-bottom:10px}
.research-page .page-intro h1 {font-size:clamp(30px,3.1vw,42px);line-height:1.2;max-width:none}
.research-page .intro-text {font-size:15px;line-height:1.6;margin-top:12px;max-width:none}
.research-page .eyebrow {font-size:10px;line-height:1.5;margin-bottom:10px}
.research-page .section-heading {margin-bottom:18px;gap:20px}
.research-page .section-heading h2,.research-page .research-overview h2 {font-size:28px;line-height:1.25;margin-bottom:14px}
.research-page .section-description {font-size:14px;line-height:1.65;margin-bottom:18px;max-width:none}
.research-page .research-overview {display:block}
.research-page .research-overview-copy {display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
.research-page .research-overview-copy>p {font-size:14px;line-height:1.7;max-width:none;margin:0}
.research-page .research-framework {gap:16px;margin:20px 0 16px}
.research-page .research-framework>div {padding:14px 16px;border-top-width:2px}
.research-page .research-framework .eyebrow {font-size:9px;line-height:1.5;margin-bottom:7px}
.research-page .research-framework h3 {font-size:19px;line-height:1.3;margin:0 0 7px}
.research-page .research-framework p {font-size:13px;line-height:1.6;margin:0}
.research-page .approach-steps {font-size:12px;line-height:1.5;gap:10px 20px;margin-top:16px;padding-top:12px;flex-wrap:wrap;justify-content:flex-start}
.research-page .approach-steps i {margin-right:5px}
.research-page .area-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border:0}
.research-page .area-card {padding:18px;border-top-width:2px}
.research-page .area-card:last-child {grid-column:auto}
.research-page .area-code {font-size:13px;line-height:1.5;margin-bottom:9px}
.research-page .area-card h3 {font-size:22px;line-height:1.3;margin-bottom:10px;max-width:none}
.research-page .area-card p {font-size:13px;line-height:1.65;margin-bottom:14px;max-width:none}
.research-page .area-card .tags {gap:5px;margin-bottom:12px}
.research-page .tag {font-size:10px;line-height:1.5;padding:4px 7px;white-space:normal}
.research-page .text-link {font-size:12px;line-height:1.5;gap:8px;padding-block:6px}
.research-page .partner-list {display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
.research-page .partner-row {grid-template-columns:160px minmax(0,1fr);gap:18px;padding-block:20px}
.research-page .partner-logo {width:140px;height:70px;padding:5px;margin-bottom:10px}
.research-page .partner-row .eyebrow {font-size:9px;margin-bottom:6px}
.research-page .partner-row h3 {font-size:19px;line-height:1.35}
.research-page .partner-row p {font-size:13px;line-height:1.65;max-width:none}
.research-page .partner-row .partner-people {font-size:12px;line-height:1.6;margin-bottom:9px}
.research-page .partner-row .tags {margin-top:12px;gap:5px}
.research-page .partner-row .tag {font-size:11px;padding:5px 8px}
@media(max-width:1000px) {
 .research-page .area-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .research-page .partner-list {grid-template-columns:1fr}
 .research-page .partner-row {grid-template-columns:180px minmax(0,1fr);gap:24px}
 .research-page .partner-logo {width:160px;height:80px}
}
@media(max-width:700px) {
 .research-page .section {padding-block:26px}
 .research-page .page-intro {padding-block:24px 20px}
 .research-page .page-intro h1 {font-size:32px}
 .research-page .intro-text {font-size:14px}
 .research-page .section-heading h2,.research-page .research-overview h2 {font-size:25px}
 .research-page .research-overview-copy {grid-template-columns:1fr;gap:12px}
 .research-page .research-framework {grid-template-columns:1fr;gap:10px;margin-block:16px}
 .research-page .research-framework>div {padding:12px 14px}
 .research-page .research-framework h3 {font-size:19px;margin-bottom:5px}
 .research-page .research-framework p {font-size:13px}
 .research-page .approach-steps {font-size:11px;gap:8px 16px}
 .research-page .area-grid {grid-template-columns:1fr;gap:14px}
 .research-page .area-card {padding:16px}
 .research-page .area-card h3 {font-size:21px}
 .research-page .area-card p {font-size:14px}
 .research-page .partner-row {grid-template-columns:1fr;gap:12px;padding-block:18px}
 .research-page .partner-row>div:first-child {display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:16px;align-items:center}
 .research-page .partner-logo {grid-column:1;grid-row:1/span 2;width:110px;height:64px;margin:0}
 .research-page .partner-row .eyebrow {grid-column:2;align-self:end;margin-bottom:5px}
 .research-page .partner-row h3 {grid-column:2;align-self:start;font-size:19px}
}


/* Research directions: people first, compact scientific detail. */
.research-detail-page {font-size:15px;line-height:1.65}
.research-detail-page .breadcrumb {font-size:11px;line-height:1.5;gap:8px;padding-top:18px;flex-wrap:wrap}
.research-detail-page .page-intro {padding-block:18px 24px}
.research-detail-page .page-intro .eyebrow {font-size:10px;line-height:1.5;margin-bottom:10px}
.research-detail-page .page-intro h1 {font-size:clamp(30px,3.1vw,42px);line-height:1.2;max-width:none}
.research-detail-page .intro-text {font-size:14px;line-height:1.7;margin-top:12px;max-width:110ch}
.research-detail-page .research-detail-layout {grid-template-columns:180px minmax(0,1fr);gap:32px;padding-block:28px 36px}
.research-detail-page .research-detail-aside {top:112px}
.research-detail-page .research-detail-aside .eyebrow {font-size:10px;line-height:1.5;margin-bottom:8px}
.research-detail-page .research-detail-aside>a {font-size:12px;line-height:1.6;gap:8px;padding-block:9px}
.research-detail-page .research-prose>h2,.research-detail-page .direction-members h2 {font-size:25px;line-height:1.3;margin-bottom:12px}
.research-detail-page .research-prose>h2:not(:first-child) {margin-top:26px}
.research-detail-page .research-prose>p {font-size:14px;line-height:1.75;max-width:100ch}
.research-detail-page .research-prose>p+p {margin-top:12px}
.research-detail-page .direction-members {margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.research-detail-page .direction-members+h2 {margin-top:0!important}
.research-detail-page .member-links {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}
.research-detail-page .member-links>a {display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:10px;font-size:14px;line-height:1.4;padding-block:9px;min-width:0}
.research-detail-page .member-links>a>.direction-member-identity {display:block;flex:1;min-width:0;margin:0;font-size:14px;line-height:1.4;color:var(--green)}
.research-detail-page .direction-member-identity>strong {font-weight:500}
.research-detail-page .member-links .direction-member-role {display:block;font-size:11px;line-height:1.5;margin:3px 0 0;color:var(--muted)}
.research-detail-page .member-links>a>span[aria-hidden] {flex-shrink:0;color:var(--accent);font-size:15px}
.research-detail-page .question-box {padding:18px;margin-block:20px;border-left-width:2px}
.research-detail-page .question-box .eyebrow {font-size:10px;line-height:1.5;margin-bottom:8px}
.research-detail-page .question-box h3 {font-size:21px;line-height:1.4}
.research-detail-page .question-box p:last-child {font-size:13px;line-height:1.7;margin-top:12px}
.research-detail-page .tags {gap:6px}
.research-detail-page .tag {font-size:11px;line-height:1.5;padding:4px 8px;white-space:normal}
.research-detail-page .publication {grid-template-columns:36px minmax(0,1fr);gap:14px;padding-block:14px}
.research-detail-page .research-prose .publication h3 {font-size:18px;line-height:1.4;max-width:none}
.research-detail-page .publication-number {font-size:16px;line-height:1.4}
.research-detail-page .publication-number>span {font-size:10px}
.research-detail-page .publication-meta {font-size:11px;line-height:1.5;margin-bottom:5px;gap:4px 10px}
.research-detail-page .publication-publisher {font-size:10.5px}
.research-detail-page .publication-details {display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin-top:6px}
.research-detail-page .citation-line,.research-detail-page .doi-link {font-size:12px;line-height:1.5;margin:0}
.research-detail-page .research-prose>.button {font-size:13px;min-height:44px;padding:10px 16px;margin-top:24px}
@media(max-width:900px) {
 .research-detail-page .research-detail-layout {grid-template-columns:1fr;gap:20px}
 .research-detail-page .research-detail-aside {position:static;display:flex;flex-wrap:wrap;gap:5px 16px;align-items:center}
 .research-detail-page .research-detail-aside .eyebrow {width:100%;margin:0}
 .research-detail-page .research-detail-aside>a {font-size:11px;padding-block:5px}
}
@media(max-width:700px) {
 .research-detail-page .breadcrumb {font-size:10px;padding-top:14px}
 .research-detail-page .page-intro {padding-block:16px 20px}
 .research-detail-page .page-intro h1 {font-size:32px}
 .research-detail-page .intro-text {font-size:14px;line-height:1.65}
 .research-detail-page .research-detail-layout {padding-block:22px 28px}
 .research-detail-page .research-prose>h2,.research-detail-page .direction-members h2 {font-size:23px}
 .research-detail-page .research-prose>h2:not(:first-child) {margin-top:22px}
 .research-detail-page .research-prose>p {font-size:14px;line-height:1.7}
 .research-detail-page .member-links {grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}
 .research-detail-page .member-links>a,.research-detail-page .member-links>a>.direction-member-identity {font-size:13px}
 .research-detail-page .question-box {padding:15px;margin-block:18px}
 .research-detail-page .question-box h3 {font-size:20px}
 .research-detail-page .publication {grid-template-columns:30px minmax(0,1fr);gap:10px}
 .research-detail-page .research-prose .publication h3 {font-size:17px}
}
@media(max-width:360px) {
 .research-detail-page .member-links {grid-template-columns:1fr}
}


/* Clickable surfaces: the whole link responds, without moving the layout. */
a[href],button:not(:disabled),summary,select:not(:disabled),input[type="checkbox"]:not(:disabled),input[type="radio"]:not(:disabled),label[for],.selected-checkbox {cursor:pointer}
button:disabled,input:disabled,select:disabled {cursor:not-allowed}
a[href],button,summary {transition:color .2s ease,background-color .2s ease,border-color .2s ease; -webkit-tap-highlight-color:rgba(23,105,95,.22)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible {outline:3px solid var(--accent);outline-offset:4px}
.people-band a:focus-visible,.site-footer a:focus-visible {outline-color:#b9e0d4}
a.area-card,a.feature-card {display:block;color:var(--ink)}

/* One destination per card: imagery, copy and empty space share one link. */
a.area-card:is(:hover,:focus-visible),a.feature-card:is(:hover,:focus-visible),
a.research-index-row:is(:hover,:focus-visible),a.collaborator-name:is(:hover,:focus-visible),
.member-links>a:is(:hover,:focus-visible),a.home-person:is(:hover,:focus-visible) {background:#17695f;border-color:#17695f;color:#fff;text-decoration:none}
a.area-card:is(:hover,:focus-visible) :is(h3,p,.area-code,.text-link),
a.feature-card:is(:hover,:focus-visible)>:is(h3,p),
a.research-index-row:is(:hover,:focus-visible) :is(h3,p,.index-num,.round-arrow),
a.collaborator-name:is(:hover,:focus-visible)>:is(strong,span),
.member-links>a:is(:hover,:focus-visible) :is(.direction-member-identity,.direction-member-role,strong,span[aria-hidden]),
a.home-person:is(:hover,:focus-visible)>:is(strong,span) {color:#fff;text-decoration:none}
a.area-card:is(:hover,:focus-visible) .tag {background:#ffffff18;border-color:#ffffff70;color:#fff}
a.area-card:is(:hover,:focus-visible) .text-link,
a.research-index-row:is(:hover,:focus-visible) .round-arrow {border-color:#ffffff80}
a.feature-card .feature-image-label {color:var(--ink)}
a.research-index-row:is(:hover,:focus-visible) {padding-inline:0}
.feature-image:hover img {transform:none}
.feature-image:hover {outline:none}

/* Independent links and controls get their own filled hit area. */
.site-header nav>a:is(:hover,:focus-visible),.nav-top>a:is(:hover,:focus-visible),
.submenu>a:is(:hover,:focus-visible),.research-detail-aside>a:is(:hover,:focus-visible),
.menu-toggle:is(:hover,:focus-visible),.submenu-toggle:is(:hover,:focus-visible) {background:#d4e9e2;color:#104d43;text-decoration:none}
.people-quicklinks>a:is(:hover,:focus-visible),a.tag:is(:hover,:focus-visible),
.member-details>summary:is(:hover,:focus-visible),.profile-details>summary:is(:hover,:focus-visible),
.member-profile-links.icon-links>a.profile-icon:is(:hover,:focus-visible),
.person-content .member-profile-links.icon-links>a.profile-icon:is(:hover,:focus-visible) {background:#d4e9e2;color:#104d43;border-color:#70a99a;box-shadow:none;text-decoration:none}
a.text-link:is(:hover,:focus-visible),.contact-email:is(:hover,:focus-visible),
.member-email:is(:hover,:focus-visible),.member-pi-link:is(:hover,:focus-visible),
.doi-link:is(:hover,:focus-visible),.publication :is(h2,h3)>a:is(:hover,:focus-visible),
.partner-row h3>a:is(:hover,:focus-visible),.breadcrumb a:is(:hover,:focus-visible),
.site-footer a:is(:hover,:focus-visible) {background:#d4e9e2;color:#104d43;border-color:#70a99a;text-decoration:underline;text-underline-offset:3px}
.publication :is(h2,h3)>a,.partner-row h3>a {display:block}
.alumni-photo-link:is(:hover,:focus-visible) img,.group-gallery a:is(:hover,:focus-visible) img,
.lab-qr a:is(:hover,:focus-visible) img {outline:3px solid #17695f;outline-offset:3px}

/* Active, hover and keyboard focus stay distinct, including filters. */
.button:is(:hover,:focus-visible) {background:#17695f;border-color:#17695f;color:#fff;transform:none;text-decoration:none}
.button-light:is(:hover,:focus-visible) {background:#d4e9e2;border-color:#d4e9e2;color:#104d43}
.button:active {background:#104d43;border-color:#104d43;color:#fff;transform:none}
.filter-tabs>button:is(:hover,:focus-visible):not(.active) {background:#d4e9e2;color:#104d43;border-color:#70a99a}
.filter-tabs>button.active {background:#43285d;color:#fff;border-color:#43285d;font-weight:700}
.publication:target,.partner-row:target {background:#f8fbfa;outline:none;box-shadow:inset 2px 0 0 #a8cbc0}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto}
 a[href],button,summary {transition:none}
}


/* Principal Investigator: a clear portrait, compact biography, balanced columns. */
.pi-page {font-size:15px;line-height:1.65}
.pi-page .page-intro {padding-block:28px 24px}
.pi-page .page-intro .eyebrow {font-size:10px;line-height:1.5;margin-bottom:10px}
.pi-page .page-intro h1 {font-size:clamp(30px,3.1vw,42px);line-height:1.2;max-width:none}
.pi-page .intro-text {font-size:14px;line-height:1.6;margin-top:12px;max-width:none}
.pi-page .pi-section {display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-areas:"portrait bio" "education bio";column-gap:32px;row-gap:20px;align-items:start;padding-block:26px}
.pi-page .pi-profile-aside {grid-area:portrait;min-width:0}
.pi-page .pi-bio {grid-area:bio;min-width:0}
.pi-page .pi-education {grid-area:education;min-width:0;align-self:start}
.pi-page .pi-photo {width:100%;max-width:none;min-height:0;margin:0}
.pi-page .pi-photo img {width:100%;height:auto;object-fit:contain}
.pi-page .pi-photo figcaption {font-size:11px;line-height:1.5;padding:8px 10px}
.pi-page .pi-academic-links {margin-top:14px}
.pi-page .pi-academic-links .eyebrow {font-size:10px;line-height:1.5;margin-bottom:7px}
.pi-page .pi-academic-links .icon-links {margin:0;gap:6px;padding:0}
.pi-page .pi-bio h2 {font-size:26px;line-height:1.3;margin-bottom:12px}
.pi-page .pi-bio>p:not(.eyebrow) {font-size:14px;line-height:1.75;margin-top:12px;max-width:none}
.pi-page .pi-bio .pi-affiliation {font-size:13px!important;line-height:1.6;margin-top:0!important}
.pi-page .pi-bio h3 {font-family:var(--serif);font-size:21px;line-height:1.3;margin:20px 0 10px}
.pi-page .pi-bio .tags {margin:0;padding:0;background:transparent;gap:6px}
.pi-page .pi-bio .tag {font-size:11px;line-height:1.5;padding:4px 8px;background:#f3f8f6;border-color:#d1e2db;white-space:normal}
.pi-page .pi-bio a.tag:hover {background:#eaf3ef;color:#0e4a42;border-color:#a7c9bd}
.pi-page .pi-education h2 {font-size:22px;line-height:1.3;margin-bottom:10px}
.pi-page .pi-education .education-list {margin:0}
.pi-page .pi-education .education-list>div {margin-bottom:12px}
.pi-page .pi-education .education-list>div:last-child {margin-bottom:0}
.pi-page .pi-education .education-list dt {font-size:13px;line-height:1.6}
.pi-page .pi-education .education-list dd {font-size:12px;line-height:1.6;margin-top:3px}
.pi-page .pi-return {padding-block:0 28px}
.pi-page .pi-return .button {font-size:13px;min-height:44px;padding:10px 16px}
@media(max-width:1000px) {
 .pi-page .pi-section {grid-template-columns:240px minmax(0,1fr);column-gap:26px}
}
@media(max-width:700px) {
 .pi-page .page-intro {padding-block:24px 20px}
 .pi-page .page-intro h1 {font-size:32px}
 .pi-page .intro-text {font-size:14px}
 .pi-page .pi-section {grid-template-columns:1fr;grid-template-areas:"portrait" "bio" "education";gap:24px;padding-block:24px}
 .pi-page .pi-profile-aside {width:min(100%,240px);justify-self:center}
 .pi-page .pi-bio h2 {font-size:24px}
 .pi-page .pi-bio>p:not(.eyebrow) {font-size:14px;line-height:1.7}
 .pi-page .pi-bio h3,.pi-page .pi-education h2 {font-size:21px}
 .pi-page .pi-education .education-list dt {font-size:14px}
 .pi-page .pi-education .education-list dd {font-size:13px}
}


/* Senior Researcher profile follows the compact PI profile design. */
.diki-page .pi-section {grid-template-areas:"portrait bio" "education education"}
.diki-page .profile-appointments {display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}
.diki-page .profile-appointments>div {padding:10px 12px;margin:0;background:#f8f6fa;border-left:2px solid #d6c8e2}
.diki-page .profile-appointments dt {font-size:13px;line-height:1.6;font-weight:500}
.diki-page .profile-appointments dd {font-size:12px;line-height:1.6;margin-top:4px}
.diki-page .pi-education .education-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.diki-page .pi-education .education-list>div {margin:0;padding:12px 14px;background:#f8f6fa;border-left:2px solid #d6c8e2}
@media(max-width:700px) {
 .diki-page .pi-section {grid-template-areas:"portrait" "bio" "education"}
 .diki-page .profile-appointments,.diki-page .pi-education .education-list {grid-template-columns:1fr;gap:12px}
 .diki-page .profile-appointments dt {font-size:14px}
 .diki-page .profile-appointments dd {font-size:13px}
}

/* News, facilities and joining: compact pages with room for real photographs. */
.compact-page {font-size:14px;line-height:1.65}
.compact-page .page-intro {padding-block:28px 24px}
.compact-page .page-intro .eyebrow {font-size:10px;margin-bottom:10px}
.compact-page .page-intro h1 {font-size:clamp(30px,3.1vw,42px);line-height:1.2;max-width:1000px}
.compact-page .intro-text {font-size:14px;line-height:1.65;margin-top:12px;max-width:95ch}
.compact-page h2,.home-news .section-heading h2 {font-size:26px;line-height:1.25}
.compact-page h3 {font-family:var(--serif);font-size:21px;line-height:1.3}
.compact-page .section-heading {margin-bottom:18px}
.compact-page .section-heading .eyebrow {font-size:10px;margin-bottom:8px}
.compact-page .button {font-size:12px;min-height:42px;padding:10px 16px;gap:16px}
.compact-page .text-link {font-size:12px;gap:8px;padding-block:5px}
.news-section {padding-block:4px 32px}
.news-controls {display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding:12px 0;border-block:1px solid var(--line)}
.news-categories.filter-tabs {display:flex;gap:6px;flex-wrap:wrap;margin:0;padding:0;border:0}
.news-categories.filter-tabs>button {font-size:12px;line-height:1.4;min-height:36px;padding:8px 11px;border:1px solid var(--line);border-radius:3px}
.news-year-label {display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}
.news-year-label select {padding:7px 26px 7px 10px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:12px;min-height:36px}
.news-results {display:flex;justify-content:space-between;gap:12px;font-size:11px;line-height:1.5;color:var(--muted);margin:14px 0}
.news-results p {margin:0}
.activity-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 20px}
.activity-item {min-width:0;scroll-margin-top:120px}
.activity-card {display:flex;flex-direction:column;min-width:0;height:100%;border:1px solid var(--line);background:#fff;color:var(--ink);overflow:hidden;text-decoration:none}
.activity-thumb {position:relative;aspect-ratio:3/2;overflow:hidden;background:#eee9f1;flex-shrink:0}
.activity-thumb>img {display:block;width:100%;height:100%;object-fit:cover}
.activity-media-label {position:absolute;right:9px;bottom:9px;padding:3px 8px;display:flex;gap:8px;align-items:center;background:#fffffff0;color:#43285d;font-size:10px;line-height:1.5}
.activity-card-copy {padding:13px 14px 16px}
.activity-meta {display:flex;flex-wrap:wrap;gap:3px 10px;font-size:10px;line-height:1.5;color:var(--accent);margin-bottom:8px}
.activity-meta>span {color:var(--muted)}
.activity-card h3 {font-family:var(--serif);font-size:21px;line-height:1.3;max-width:none}
.activity-card .activity-summary {font-size:12px;line-height:1.65;color:var(--muted);margin-top:8px;max-width:none}
.activity-card:is(:hover,:focus-visible) {background:#17695f;border-color:#17695f;color:white;text-decoration:none}
.activity-card:is(:hover,:focus-visible) :is(h3,.activity-summary,.activity-meta,.activity-meta>span) {color:#fff}
.activity-item:target .activity-card {outline:3px solid var(--accent);outline-offset:3px}
.news-empty {padding:24px;background:#f4f0f7}
.news-empty .button {margin-top:12px}
.media-credit {font-size:10px;line-height:1.5;color:var(--muted);margin:16px 0 0;max-width:none}
.home-page .home-news {padding-block:32px 38px}
.home-news .section-heading {margin-bottom:20px}
.home-news .activity-card h3 {font-size:20px}
body.gallery-open {overflow:hidden}
.activity-dialog {padding:0;border:1px solid var(--line);width:min(1100px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow:auto;color:var(--ink);background:#fff;border-radius:4px}
.activity-dialog::backdrop {background:#1d1427bd}
.activity-dialog-header {position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:start;gap:20px;padding:18px 22px;background:#fff;border-bottom:1px solid var(--line)}
.activity-dialog-header .eyebrow {font-size:10px;line-height:1.5;margin-bottom:6px}
.activity-dialog-header h2 {font-size:25px;line-height:1.25}
.gallery-close {display:flex;align-items:center;gap:8px;flex-shrink:0;min-height:36px;padding:6px 10px;background:#f2edf6;color:#43285d;border:1px solid var(--line);border-radius:3px;font-size:12px}
.gallery-close span {font-size:22px;line-height:1}
.gallery-close:is(:hover,:focus-visible) {background:#17695f;border-color:#17695f;color:white}
.activity-dialog-body {padding:16px 22px 20px}
.activity-dialog-body>p:first-child {font-size:13px;line-height:1.6;margin:0 0 14px;max-width:none}
.activity-gallery {display:grid;gap:18px}
.activity-gallery-pair {grid-template-columns:1fr 1fr}
.activity-gallery img {width:100%;height:auto;max-height:68dvh;object-fit:contain;background:#f6f3f8}
.activity-gallery figcaption {font-size:10px;line-height:1.5;margin-top:6px;color:var(--muted)}
.activity-video {border-top:1px solid var(--line);padding-top:16px;margin-top:18px}
.activity-video h3 {font-size:21px;line-height:1.3}
.activity-video p {font-size:12px;margin-top:6px}
.activity-video video {display:block;width:min(100%,340px);max-height:65dvh;margin:12px auto 0;background:#19141f;object-fit:contain}
.facility-location {display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:18px;border-block:1px solid var(--line)}
.facility-location .eyebrow {font-size:10px;margin-bottom:7px}
.facility-location h2 {font-size:23px}
.facility-location p:not(.eyebrow) {font-size:13px;line-height:1.65;margin-top:8px}
.facility-section {padding-block:26px}
.facility-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.facility-card {padding:17px 18px;border:1px solid var(--line);background:#fff}
.facility-card-top {display:flex;justify-content:space-between;align-items:center;color:var(--accent);margin-bottom:10px}
.facility-card-top svg {width:43px;height:43px}
.facility-code {font-family:var(--serif);font-size:16px;color:var(--muted)}
.facility-card .eyebrow {font-size:9px;line-height:1.5;margin-bottom:7px}
.facility-card h3 {font-size:22px;margin-bottom:10px}
.facility-card>p:not(.eyebrow) {font-size:13px;line-height:1.65;color:var(--muted)}
.facility-card .tags {margin:12px 0 0;gap:5px}
.facility-card .tag {white-space:normal;font-size:10px;line-height:1.5;padding:4px 6px}
.facility-enquiry {display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px;padding:22px;background:#f1f7f4;border:1px solid #d2e3dc}
.facility-enquiry .eyebrow {font-size:10px;margin-bottom:7px}
.facility-enquiry h2 {font-size:24px}
.facility-enquiry p:not(.eyebrow) {font-size:13px;line-height:1.65;margin-top:9px;max-width:75ch}
.facility-enquiry .button {flex-shrink:0}
.join-intro {display:flex;gap:30px;justify-content:space-between;align-items:center;border-block:1px solid var(--line);padding-block:18px}
.join-intro p {max-width:82ch}
.join-intro .button {flex-shrink:0}
.join-section {padding-block:24px;border-bottom:1px solid var(--line)}
.join-pathways,.join-support-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.join-pathways article {padding-top:12px;border-top:2px solid var(--accent)}
.join-pathways .eyebrow,.join-support-grid .eyebrow {font-size:10px;line-height:1.5;margin-bottom:8px}
.join-pathways h3,.join-support-grid h3 {font-size:22px;margin-bottom:10px}
.join-pathways p:not(.eyebrow),.join-support-grid p:not(.eyebrow) {font-size:13px;line-height:1.65;color:var(--muted)}
.join-direction-links {display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.join-direction {display:flex;gap:12px;align-items:center;padding:10px 12px;background:#fff;border:1px solid var(--line);font-size:13px;line-height:1.5}
.join-direction>span:first-child {color:var(--accent);font-size:11px}
.join-direction strong {flex:1;font-weight:500}
.join-support-note {font-size:12px;line-height:1.65;color:var(--muted);margin-bottom:16px;max-width:110ch}
.join-support-grid article {padding:17px;background:#f5f1f8;border:1px solid var(--line)}
.join-support-grid .text-link {display:flex;width:fit-content;margin-top:8px}
.join-next {display:grid;grid-template-columns:1.1fr 1fr;gap:36px}
.join-next .eyebrow,.join-faq>.eyebrow {font-size:10px;margin-bottom:8px}
.join-next p:not(.eyebrow) {font-size:13px;line-height:1.65;margin-top:10px;color:var(--muted)}
.join-next ul {padding-left:19px;font-size:13px;margin-block:12px}
.join-next li+li {margin-top:5px}
.join-next aside {padding:20px;background:#eff6f3;border:1px solid #d2e3dc}
.admission-link {display:flex;justify-content:space-between;gap:12px;padding:10px 0;font-size:13px;border-bottom:1px solid #cbded5}
.join-faq {padding-bottom:30px;margin-bottom:15px}
.join-faq h2 {margin-bottom:14px}
.join-faq details {border-bottom:1px solid var(--line)}
.join-faq summary {padding:12px 8px;font-size:14px;color:var(--green)}
.join-faq details p {font-size:13px;line-height:1.65;padding:0 8px 12px;color:var(--muted)}
.join-direction:is(:hover,:focus-visible),.admission-link:is(:hover,:focus-visible) {background:#17695f;border-color:#17695f;color:white;text-decoration:none}
.join-direction:is(:hover,:focus-visible)>span {color:#fff}
.join-faq summary:is(:hover,:focus-visible) {background:#d4e9e2;color:#104d43}
@media(min-width:1001px) {
 .site-header nav {gap:16px}
 .site-header nav>a,.nav-top>a {font-size:13px;white-space:nowrap}
 .header-inner {gap:20px}
 .brand-full {font-size:10px}
}
@media(min-width:1001px) and (max-width:1150px) {.brand-full {display:none}}
@media(max-width:1000px) {
 .activity-grid,.facility-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .join-intro {align-items:start;flex-direction:column;gap:14px}
 .join-pathways,.join-support-grid {gap:14px}
 .facility-enquiry {align-items:start;flex-direction:column;gap:16px}
}
@media(max-width:700px) {
 .compact-page .page-intro {padding-block:24px 20px}
 .compact-page .page-intro h1 {font-size:32px}
 .compact-page .intro-text {font-size:14px}
 .news-results {flex-wrap:wrap;gap:4px}
 .activity-grid,.facility-grid,.join-pathways,.join-support-grid,.join-next,.join-direction-links {grid-template-columns:1fr}
 .activity-grid {gap:18px}
 .news-categories.filter-tabs>button {font-size:11px;padding:8px}
 .activity-card h3 {font-size:22px}
 .activity-card .activity-summary {font-size:13px}
 .activity-dialog {width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
 .activity-dialog-header {padding:14px;gap:12px}
 .activity-dialog-header h2 {font-size:22px}
 .activity-dialog-body {padding:14px}
 .activity-gallery-pair {grid-template-columns:1fr}
 .gallery-close {font-size:11px;padding:5px 7px}
 .activity-video video {max-height:60dvh}
 .facility-location {align-items:start;flex-direction:column;gap:14px}
 .facility-section,.join-section {padding-block:22px}
 .facility-enquiry {padding:18px}
 .join-next {gap:22px}
 .join-intro p {font-size:14px}
 .join-next h2 {font-size:24px}
 .media-credit {font-size:10px}
}

/* Compact institutional directory: full-row links with clear platform labels. */
.official-links-section {padding:20px 22px;margin-bottom:28px;background:#f3f7f5;border:1px solid #d8e5df}
.official-links-heading {margin-bottom:14px}
.official-links-heading .eyebrow {font-size:10px;line-height:1.5;margin-bottom:5px}
.official-links-heading h2 {font-size:23px;line-height:1.3}
.official-links-heading>p:last-child {font-size:12px;line-height:1.6;color:var(--muted);margin-top:6px;max-width:none}
.official-links-grid {display:grid;grid-template-columns:1fr 1.5fr;gap:24px}
.official-links-grid h3 {font-size:12px;line-height:1.5;font-family:var(--sans);font-weight:600;margin-bottom:8px;color:var(--green)}
.official-sites,.official-social {display:grid;gap:6px;align-content:start}
.official-social {grid-template-columns:repeat(2,minmax(0,1fr))}
.official-channel {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;background:white;border:1px solid #dce6e1;min-width:0}
.official-channel-copy {display:block;min-width:0}
.official-channel-copy strong {display:block;font-size:12px;line-height:1.4;font-weight:500}
.official-channel-copy>span {display:block;font-size:10px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere;margin-top:3px}
.official-channel>span[aria-hidden] {font-size:15px;line-height:1;flex-shrink:0;color:var(--accent)}
.official-channel:is(:hover,:focus-visible) {background:#17695f;border-color:#17695f;color:#fff;text-decoration:none}
.official-channel:is(:hover,:focus-visible) :is(strong,.official-channel-copy>span,span[aria-hidden]) {color:#fff}
.join-programme-links {margin-top:16px;padding-top:14px;border-top:1px solid #cbded5}
.join-page .join-programme-links h3 {font-family:var(--sans);font-size:13px;line-height:1.5;font-weight:600;margin:0 0 3px}
.join-programme-links .admission-link {font-size:12px;line-height:1.5;padding-block:8px}
@media(max-width:900px) {.official-links-grid {grid-template-columns:1fr;gap:18px}.official-sites {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px) {.official-links-section {padding:16px 18px;margin-bottom:24px}.official-links-heading h2 {font-size:22px}.official-sites {grid-template-columns:1fr}.official-links-grid {gap:16px}.official-social {grid-template-columns:1fr}.official-channel {padding:8px 10px}}
/* Language is visible in the header on desktop and mobile. */
.language-switch{display:flex;align-items:center;flex-shrink:0;gap:2px;padding:3px;border:1px solid #d8d2df;border-radius:7px;background:#fff}
.language-switch a{display:grid;place-items:center;min-width:40px;min-height:38px;padding:4px 6px;border-radius:4px;font:600 12px/1.2 var(--sans);text-decoration:none;color:#43285d;transition:background-color .18s,color .18s}
.language-switch a[aria-current]{background:#43285d;color:#fff}
.language-switch a:hover,.language-switch a:focus-visible{background:#145d50;color:#fff;text-decoration:none}
.language-switch a:focus-visible{outline:2px solid #43285d;outline-offset:3px}
@media(min-width:1001px){.header-inner{gap:16px}.site-header #main-nav{gap:14px}.site-header #main-nav>a,.nav-top>a{font-size:13px}}
@media(max-width:1000px){.language-switch{margin-left:auto;order:1}.menu-toggle{order:2}.language-switch a{min-width:36px;min-height:38px}.header-inner{gap:14px}}
@media(max-width:500px){.header-inner .brand-full{display:none}.language-switch a{min-width:34px}.header-inner{gap:10px}}
