/* CHEERS Network scientific design system. Loaded after the legacy layout layer. */
:root {
  --ink: #1d3035;
  --green: #203d43;
  --teal: #225f68;
  --mint: #e6eff1;
  --paper: #ffffff;
  --white: #ffffff;
  --muted: #526369;
  --line: #cbd3d6;
  --rust: #875330;
  --serif: Arial, Helvetica, sans-serif;
  --sans: Arial, Helvetica, sans-serif;
  --surface: #f4f6f7;
  --surface-blue: #eef4f6;
  --max: 1360px;
}
body { font-size: 16px; line-height: 1.7; background: #fff; color: var(--ink); }
h1, h2, h3 { font-family: var(--sans); font-weight: 600; letter-spacing: -.022em; line-height: 1.25; }
h1 { font-size: clamp(34px, 3.5vw, 52px); }
h2 { font-size: clamp(25px, 2.5vw, 34px); }
h3 { font-size: 21px; }
a { text-underline-offset: 4px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 3px solid var(--teal); outline-offset: 4px;
}
::selection { background: #dcebee; }
.section { padding: 64px 6%; }
.section-kicker, .eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .07em; line-height: 1.6; }
.section-kicker { margin-bottom: 16px; color: var(--muted); }
.section-heading { margin-bottom: 30px; gap: 36px; align-items: end; }
.section-heading .section-kicker { margin-bottom: 13px; }
.section-deck { font-size: 14px; line-height: 1.7; max-width: 430px; }
.lead { font-size: 19px; line-height: 1.7; letter-spacing: 0; }
.breadcrumb { font-size: 12px; color: var(--muted); line-height: 1.7; }
.breadcrumb a { text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.text-link, .text-button { font-size: 13px; color: var(--teal); line-height: 1.6; }
.button { font-size: 13px; padding: 11px 17px; gap: 20px; border-radius: 0; }
.button.primary { background: var(--teal); border-color: var(--teal); color: #fff; }
.button.secondary { color: var(--teal); border-color: var(--teal); background: #fff; }
.button.secondary:hover { background: var(--surface-blue); color: var(--teal); }
.button.cream { background: var(--teal); color: white; }
.header { height: 84px; background: #fff; padding: 0 4.2%; border-bottom-color: var(--line); }
.brand { font-size: 27px; letter-spacing: .045em; }
.brand-icon { width: 38px; height: 38px; stroke: var(--teal); }
.brand small { font-size: 9px; letter-spacing: .08em; margin-top: 8px; }
.brand-network { font-weight: 400; }
.header nav { gap: 21px; }
.header nav a { font-size: 12px; }
.header .nav-contact { padding: 9px 13px; border-color: var(--line); margin-left: 0; }
.header nav a[aria-current="page"] { color: var(--teal); border-color: var(--teal); }
/* Common article headers and navigation */
.page-intro, .detail-hero { padding: 28px 6% 42px; background: #fff; }
.page-intro .breadcrumb, .detail-hero .breadcrumb { margin-bottom: 26px; }
.page-intro .section-kicker { margin-bottom: 13px; }
.page-intro h1, .detail-hero h1, .researcher-hero h1, .resource-hero-grid h1, .event-hero h1 {
  font-family: var(--sans); font-size: clamp(33px, 3.5vw, 48px); line-height: 1.22; letter-spacing: -.025em; font-weight: 600;
}
.page-intro h1 { max-width: 1000px; }
.page-intro .lead, .detail-lead, .resource-hero-grid .detail-lead, .event-hero .detail-lead {
  font-size: 18px; line-height: 1.75; letter-spacing: 0; margin-top: 22px; max-width: 850px;
}
.detail-hero h1 { margin-top: 14px; }
.detail-hero-grid { gap: 6%; align-items: start; }
.detail-hero .section-kicker { color: var(--muted); margin-bottom: 12px; }
.detail-hero figure img { border: 1px solid var(--line); }
.detail-hero figcaption { font-size: 12px; line-height: 1.65; margin-top: 11px; }
.detail-status, .resource-status { font-size: 12px; color: var(--muted); margin-top: 22px; }
.detail-status i, .status-dot { background: var(--teal); }
.detail-question { background: var(--surface-blue); border: 1px solid var(--line); border-top: 2px solid var(--teal); padding: 26px; }
.detail-question > p { font: 500 21px/1.55 var(--sans); margin-top: 16px; }
.detail-jump { padding: 15px 6%; background: var(--surface); gap: 12px 27px; flex-wrap: wrap; }
.detail-jump a { font-size: 13px; }
.detail-layout { grid-template-columns: minmax(0, 1fr) 290px; gap: 6%; }
.detail-main { min-width: 0; }
.detail-block { padding: 38px 0; border-bottom-color: var(--line); }
.detail-block > .section-kicker { font-size: 10px; margin-bottom: 10px; }
.detail-block h2 { font-size: 27px; line-height: 1.3; font-weight: 600; margin: 10px 0 22px; }
.detail-block > p { font-size: 16px; line-height: 1.85; }
.detail-objectives li { grid-template-columns: 26px 1fr; gap: 16px; font-size: 16px; padding: 17px 0; }
.detail-objectives li::before { font: 600 13px/1.9 var(--sans); color: var(--muted); }
.detail-partners { gap: 16px; }
.detail-partners article { background: var(--surface); border-top: 1px solid var(--line); padding: 20px; }
.detail-partners h3 { font-size: 18px; font-weight: 600; line-height: 1.45; }
.partner-name { color: var(--ink); }
.detail-partners p { font-size: 14px; line-height: 1.75; margin-top: 10px; }
.detail-footnote, .detail-evidence-note { font-size: 13px !important; line-height: 1.8 !important; }
.detail-facts { background: var(--surface-blue); border-left: 2px solid var(--teal); padding: 21px; font-size: 14px !important; }
.detail-sidebar { padding-top: 38px; min-width: 0; }
.detail-sidebar > .section-kicker { font-size: 10px; margin-bottom: 10px; }
.detail-sidebar > h2 { font-size: 23px; line-height: 1.3; margin: 10px 0 22px; }
.detail-contact { padding: 22px 0; }
.detail-contact .eyebrow { font-size: 10px; color: var(--muted); }
.detail-contact h3 { font-family: var(--sans); font-size: 20px; font-weight: 600; margin: 10px 0; }
.detail-contact > p:not(.eyebrow) { font-size: 14px; line-height: 1.8; }
.contact-address, .contact-source { font-size: 12px; line-height: 1.75; overflow-wrap: anywhere; }
.detail-contact-note { font-size: 12px; line-height: 1.8; }
.detail-sources h2 { font-size: 27px; }
.detail-sources li, .detail-sources > p { font-size: 13px; line-height: 1.8; }
.detail-sources .text-link { font-size: 13px; }
.detail-return { padding-top: 27px; padding-bottom: 27px; background: var(--surface); }
.detail-return .text-link { font-size: 13px; }
.detail-related > a, .resource-links > a, .publication-network-links > a { background: #fff; padding: 20px; border-color: var(--line); }
.detail-related > a:hover, .resource-links > a:hover, .publication-network-links > a:hover { background: var(--surface-blue); }
.detail-related strong { font-size: 20px; font-weight: 600; }
.detail-related span { font-size: 12px; }
.resource-subheading { font: 600 21px/1.4 var(--sans); margin: 28px 0 16px; }
.resource-links strong { font-size: 14px; font-weight: 500; line-height: 1.65; }
.connected-resources h2, .home-tools-link h2 { font-size: 30px; }
/* Research-site directory and map */
.network-section { padding-top: 45px; }
.network-map { background: #f0f4f5; }
.map-country { fill: #d7e1e5; stroke: #f0f4f5; }
.map-route { stroke: #71939a; }
.map-label { fill: var(--ink); }
.map-top, .map-key { font-size: 11px; }
.map-caption { font-size: 11px; line-height: 1.7; }
.site-detail { background: #fff; padding: 30px; }
.site-detail h3 { font-size: 31px; font-weight: 600; margin: 18px 0 15px; }
.site-detail .eyebrow { font-size: 10px; }
.site-institution { font-size: 15px; }
.site-detail > p:not(.eyebrow):not(.site-institution) { font-size: 14px; line-height: 1.8; }
.site-detail .site-tags { font-size: 12px; }
.site-selector button { font-size: 12px; padding: 9px 13px; min-height: 40px; }
.site-selector button[aria-pressed="true"] { background: var(--teal); border-color: var(--teal); }
.site-directory h2 { font-size: 30px; margin-top: 12px; }
.site-directory-grid { margin-top: 28px; gap: 22px; }
.site-directory-grid > a { background: #fff; border: 0; border-top: 2px solid var(--teal); border-bottom: 1px solid var(--line); padding: 25px 15px 24px 0; min-height: 250px; }
.site-directory-grid > a:hover { background: var(--surface); }
.site-directory-grid h3 { font-family: var(--sans); font-size: 25px; font-weight: 600; margin: 15px 0; }
.site-directory-grid p { font-size: 14px; line-height: 1.8; }
.site-directory-grid b, .directory-status { font-size: 12px; }
.regional-note { gap: 35px; }
.regional-note p, .regional-note .small { font-size: 14px; line-height: 1.8; }
/* Project catalogue */
.malaysia-context { background: var(--surface); }
.malaysia-grid { gap: 22px; margin-top: 28px; }
.malaysia-grid article { background: #fff; padding: 22px; }
.malaysia-grid h3 { font-family: var(--sans); font-size: 23px; font-weight: 600; line-height: 1.3; margin: 15px 0; }
.malaysia-grid .eyebrow { font-size: 10px; }
.malaysia-grid p:not(.eyebrow) { font-size: 14px; line-height: 1.8; }
.malaysia-grid .text-link, .malaysia-note { font-size: 13px; }
.filter-row button { font-size: 12px; padding: 8px 12px; min-height: 38px; }
.filter-row button[aria-pressed="true"] { background: var(--teal); border-color: var(--teal); }
.project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.project-card, .project-card:first-child { background: #fff; border: 1px solid var(--line); border-top: 2px solid var(--teal); min-height: 0; }
.project-card .card-top { padding: 22px 24px 0; }
.project-card .card-main { padding: 18px 24px 23px; }
.project-card h3 { font-family: var(--sans); font-size: 25px; font-weight: 600; line-height: 1.35; }
.project-category { font-size: 10px; letter-spacing: .05em; max-width: none; }
.project-number { font-size: 11px; }
.project-card .project-place { font-size: 12px; color: var(--muted); margin-bottom: 14px; }
.project-card .card-description { font-size: 14px; line-height: 1.8; }
.card-footer { background: var(--surface); padding: 14px 24px; }
.project-status { font-size: 11px; line-height: 1.7; }
.project-detail-link { font-size: 12px; }
/* Bibliographic records and evidence reviews */
.library-intro { font-size: 14px; line-height: 1.85; max-width: 1000px; }
.evidence-highlights { gap: 22px; }
.evidence-highlights article { background: var(--surface); border-color: var(--line); padding: 23px; }
.evidence-highlights h3 { font-family: var(--sans); font-size: 21px; font-weight: 600; line-height: 1.4; }
.evidence-highlights p:not(.evidence-label) { font-size: 14px; line-height: 1.8; }
.evidence-label { font-size: 11px; }
.evidence-highlights a { font-size: 12px; }
.search-box input, .team-search input { font-size: 15px; padding: 13px 0; }
.select-label { font-size: 10px; letter-spacing: .04em; min-width: 155px; }
.select-label select { font-size: 13px; height: 29px; }
.library-toolbar p, .library-toolbar button { font-size: 12px; }
.publication-row { grid-template-columns: 58px minmax(0, 1fr) 24px; gap: 22px; padding: 26px 0; }
.pub-year { font-family: var(--sans); font-size: 15px; font-weight: 600; line-height: 1.7; padding-top: 2px; }
.pub-title { font-family: var(--sans); font-size: 22px; font-weight: 600; line-height: 1.4; letter-spacing: -.015em; }
.pub-meta { font-size: 13px; line-height: 1.75; margin-top: 10px; }
.pub-summary { font-size: 14px; line-height: 1.85; }
.pub-doi { font-size: 12px; }
.pub-tag { font-size: 10px; padding: 3px 8px; background: #fff; border-color: var(--line); }
.pub-tag.direct { background: var(--surface-blue); color: var(--teal); border-color: #b7cbd0; }
.library-note { background: var(--surface); gap: 40px; padding: 26px; }
.library-note p, .library-note strong { font-size: 13px; line-height: 1.8; }
.publication-hero h1 { font-size: clamp(29px, 3.05vw, 42px); line-height: 1.3; letter-spacing: -.02em; max-width: 1130px; margin-top: 20px; }
.publication-badges { gap: 8px; }
.publication-badges > span, .publication-badges .review-badge { background: var(--surface-blue); border: 1px solid #c3d2d6; color: var(--teal); font-size: 11px; padding: 5px 9px; }
.publication-badges .review-badge.limited { background: #faf3eb; border-color: #d8c2ac; color: #744723; }
.publication-hero-meta { font-size: 16px; line-height: 1.7; margin-top: 22px; }
.publication-hero-doi { font-size: 13px; }
.publication-hero-actions { margin-top: 25px; gap: 18px 25px; }
.publication-hero-actions > .text-link { font-size: 13px; }
.publication-summary { font-size: 18px !important; line-height: 1.85 !important; }
.publication-review-scope { background: var(--surface-blue); border-left: 2px solid var(--teal); padding: 21px; }
.publication-review-scope strong { font-size: 13px; font-weight: 600; }
.publication-review-scope p { font-size: 13px; line-height: 1.85; }
.publication-review-scope > span { font-size: 11px; }
.publication-review-scope.is-limited { background: #faf5ef; border-color: var(--rust); }
.publication-findings > p:last-child { font-size: 16px; border-left-width: 2px; padding-left: 21px; line-height: 1.9; }
.publication-sample { background: var(--surface); border-top: 1px solid var(--line); padding: 22px; }
.publication-sample h3 { font-size: 17px; font-weight: 600; }
.publication-sample p { font-size: 15px; line-height: 1.85; }
.publication-subheading { font-size: 20px; font-weight: 600; margin-top: 28px; }
.publication-limitations > p:last-child { border-left-width: 2px; }
.publication-people strong { font-size: 15px; font-weight: 600; }
.publication-people small { font-size: 11px; }
.publication-people > a:hover { background: var(--surface-blue); }
.publication-people img { background: var(--surface); }
.publication-network-links strong { font-family: var(--sans); font-size: 21px; line-height: 1.4; font-weight: 600; }
.publication-network-links p { font-size: 14px; line-height: 1.8; }
.connection-kind { font-size: 11px; }
.publication-sidebar dl { border-top: 1px solid var(--line); }
.publication-sidebar dt { font-size: 10px; letter-spacing: .05em; margin-top: 18px; }
.publication-sidebar dd { font-size: 14px; padding-bottom: 15px; border-bottom: 1px solid #e2e7e9; }
.publication-sidebar h3 { font-family: var(--sans); font-size: 21px; font-weight: 600; margin-top: 27px; }
.publication-author-list, .publication-author-list p, .publication-sidebar-links a { font-size: 13px; line-height: 1.8; }
.publication-metadata-note { font-size: 12px; }
.detail-paper { padding: 24px 0; }
.detail-paper h3 { font-family: var(--sans); font-size: 22px; font-weight: 600; line-height: 1.45; }
.detail-paper p { font-size: 15px; line-height: 1.85; }
.detail-paper-label { font-size: 11px; line-height: 1.6; color: var(--muted); }
.detail-paper .detail-paper-meta { font-size: 13px; }
.detail-paper > .text-link, .profile-paper-actions a { font-size: 13px; }
.wider-publication-directory { background: var(--surface); }
.wider-paper-grid > a { background: #fff; }
.wider-paper-grid h3 { font-family: var(--sans); font-size: 21px; font-weight: 600; line-height: 1.4; }
.wider-paper-grid p, .wider-paper-grid span, .wider-paper-grid b { font-size: 12px; line-height: 1.8; }
/* People, events and tools use the same article hierarchy. */
.person-card { background: #fff; border-color: var(--line); padding: 24px; }
.person-card h3 { font-family: var(--sans); font-size: 22px; font-weight: 600; }
.person-role, .person-institution { font-size: 14px; }
.person-bio { font-size: 14px; line-height: 1.85; }
.person-focus span, .researcher-interests > span { background: var(--surface-blue); color: var(--ink); font-size: 11px; }
.person-work a, .person-actions a, .portrait-credit { font-size: 12px; }
.team-group-heading h2, .team-directory-heading h2 { font-size: 28px; }
.team-group-heading p, .team-count { font-size: 14px; }
.team-source-note { background: var(--surface); }
.team-source-note h2 { font-size: 28px; }
.team-source-note > p { font-size: 15px; line-height: 1.85; }
.researcher-role { font-size: 19px; line-height: 1.6; margin-top: 21px; }
.researcher-institution { font-size: 15px; line-height: 1.8; }
.researcher-portrait img { background: var(--surface); }
.researcher-projects h3 { font-family: var(--sans); font-size: 22px; font-weight: 600; }
.researcher-projects article > p:not(.eyebrow):not(.researcher-project-role), .researcher-project-role { font-size: 15px; line-height: 1.85; }
.biography-part h3 { font-size: 21px; }
.biography-part p { font-size: 16px; line-height: 1.85; }
.researcher-sidebar > p:not(.section-kicker), .researcher-contact-purpose p { font-size: 14px; }
.researcher-contact-purpose h3 { font-family: var(--sans); font-size: 21px; font-weight: 600; }
.event-hero-date { font: 500 21px/1.5 var(--sans); }
.event-hero .event-location { font-size: 15px; }
.network-event-card h2 { font-size: 27px; line-height: 1.35; }
.network-event-card p:not(.eyebrow) { font-size: 15px; line-height: 1.8; }
.event-gallery figcaption, .tool-detail-image figcaption { font-size: 12px; line-height: 1.75; }
.programme-evidence { background: var(--surface-blue); font-size: 14px !important; }
.event-programme h3 { font: 600 22px/1.4 var(--sans); }
.event-programme li { font-size: 15px; line-height: 1.85; }
.event-people h3 { font: 600 21px/1.4 var(--sans); }
.event-people article p:not(.eyebrow) { font-size: 14px; line-height: 1.8; }
.event-person-institution { font-size: 12px !important; }
.other-contributors { font-size: 14px; line-height: 1.8; }
.tool-group > h2 { font-size: 30px; }
.tool-card { border-color: var(--line); }
.tool-card h3 { font: 600 23px/1.35 var(--sans); }
.tool-card-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.8; }
.tool-card-copy .resource-status { font-size: 12px !important; }
.tools-framework { background: var(--surface); }
.tools-framework > .section-heading h2 { font-size: 32px; }
/* Home, network introduction and participation */
.hero { min-height: 0; border-bottom: 1px solid var(--line); }
.hero-copy { padding: 48px 9% 30px 8%; }
.hero .eyebrow { font-size: 10px; letter-spacing: .05em; margin-bottom: 23px; }
.hero h1 { font-size: clamp(34px, 3.6vw, 52px); line-height: 1.18; font-weight: 600; margin-bottom: 23px; }
.hero-intro { font-size: 18px; line-height: 1.65; letter-spacing: 0; }
.hero-description { font-size: 15px; line-height: 1.85; max-width: 530px; }
.hero-actions { margin-top: 25px; }
.hero-foot { margin-top: 32px; padding-top: 19px; font-size: 11px; gap: 22px; }
.hero-image { min-height: 0; display: flex; flex-direction: column; background: var(--surface); }
.hero-image > img { position: static; width: 100%; height: 100%; min-height: 420px; object-fit: cover; filter: none; flex: 1; }
.hero-image::after { display: none; }
.hero-image figcaption { position: static; color: var(--muted); font-size: 13px; padding: 16px 24px; background: var(--surface); display: block; }
.hero-image figcaption small { font-size: 12px; margin-top: 4px; }
.hero-image .photo-mark, .hero-image .coord { display: none; }
.identity-strip { background: var(--surface); }
.identity-strip > p, .strip-item { font-size: 13px; }
.strip-item span { font-size: 10px; }
.home-welcome-grid h2, .home-feature h2, .home-join h2 { font-size: 32px; line-height: 1.3; }
.home-welcome-grid p:not(.lead), .home-feature p:not(.section-kicker) { font-size: 16px; line-height: 1.85; }
.home-welcome-grid .lead { font-size: 19px; }
.home-feature figcaption { font-size: 12px; line-height: 1.75; }
.home-welcome-grid { gap: 7%; }
.explore-grid h3 { font-family: var(--sans); font-size: 23px; font-weight: 600; line-height: 1.4; }
.explore-grid > a { background: #fff; border-color: var(--line); }
.explore-grid p { font-size: 14px; line-height: 1.8; }
.explore-grid span, .explore-grid b { font-size: 12px; }
.about-section { padding-top: 60px; }
.two-columns > div { font-size: 16px; line-height: 1.85; }
.mission-line p { font-family: var(--sans); font-size: 23px; line-height: 1.55; letter-spacing: 0; }
.approach-section, .collaborate-section, .home-join, .tools-collaboration { background: var(--surface); color: var(--ink); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.approach-section .section-kicker, .collaborate-section .section-kicker, .home-join .section-kicker, .tools-collaboration .section-kicker { color: var(--muted); }
.approach-section .section-deck, .approach-flow p, .approach-note p, .collaborate-section > div > p:not(.section-kicker):not(.lead) { color: var(--muted); font-size: 15px; line-height: 1.85; }
.approach-flow, .approach-flow article + article, .contact-panel { border-color: var(--line); }
.approach-flow h3 { font-family: var(--sans); font-size: 23px; font-weight: 600; line-height: 1.4; }
.step-num { font-family: var(--sans); font-size: 15px; font-weight: 600; color: var(--teal); margin-bottom: 22px; }
.step-tags span { border-color: var(--line); color: var(--muted); font-size: 11px; }
.approach-note > span { color: var(--teal); }
.outlook-section, .team-section { background: var(--surface); }
.outlook-list h3 { font-size: 20px; font-weight: 600; }
.outlook-list p, .outlook-section > div > p:last-child { font-size: 15px; line-height: 1.85; }
.outlook-footnote, .team-footnote { font-size: 12px; line-height: 1.8; }
.offer-grid h3 { font-size: 21px; font-weight: 600; }
.offer-grid p, .participation-grid p { font-size: 15px; line-height: 1.85; }
.offer-grid article > span { font-size: 20px; }
.offer-footnote { font-size: 12px; }
.participation-grid h3 { font-family: var(--sans); font-size: 23px; font-weight: 600; }
.participation-process, .participation-faq { font-size: 15px; line-height: 1.85; }
.collaborate-section h2, .tools-collaboration h2 { font-size: 32px; line-height: 1.3; }
.collaborate-section h2 em { color: var(--teal); font-style: normal; }
.contact-panel .eyebrow { color: var(--muted); font-size: 11px; }
.contact-panel h3 { color: var(--ink); font-size: 25px; }
.contact-panel p, .contact-panel .small { color: var(--muted); font-size: 13px; }
.contact-email { color: var(--teal); font-size: 17px; }
.contact-panel a { color: var(--teal); }
footer { background: #20353b; color: #fff; }
footer .footer-brand { color: #fff; }
footer .footer-brand span, footer > div > p, footer .footer-bottom { color: #d4dfe2; }
footer .footer-links { font-size: 12px; }
footer .footer-links a { color: #fff; }
footer .footer-bottom { font-size: 11px; border-color: #52666d; }
/* Responsive typography and reading order */
@media (max-width: 1150px) {
  .detail-layout { grid-template-columns: minmax(0, 1fr) 250px; gap: 4%; }
  .header nav { gap: 15px; }
  .header nav a { font-size: 11px; }
  .hero h1 { font-size: 40px; }
  .hero-image > img { min-height: 460px; }
  .library-controls { flex-wrap: wrap; }
  .search-box { flex-basis: 100%; }
}
@media (max-width: 1000px) {
  .header { height: 76px; }
  .header nav { top: 75px; background: #fff; padding: 20px 6%; gap: 0; }
  .header nav a { font-size: 15px; }
  .header .nav-contact { padding: 12px 14px; margin-top: 12px; }
  .hero { grid-template-columns: 1fr 1fr; }
  .hero h1 { font-size: 35px; }
  .hero-copy { padding: 38px 8% 30px; }
  .hero .eyebrow { font-size: 9px; }
  .hero-image > img { min-height: 490px; }
  .hero-foot { flex-wrap: wrap; gap: 8px 18px; }
  .malaysia-grid { grid-template-columns: 1fr 1fr; }
  .tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  body { font-size: 15px; }
  .section { padding: 44px 6%; }
  .section-heading { margin-bottom: 25px; }
  .section-kicker { font-size: 10px; margin-bottom: 13px; }
  .section-deck { font-size: 13px; margin-top: 16px; }
  h2 { font-size: 27px; }
  .lead { font-size: 17px; }
  .brand { font-size: 24px; }
  .brand-icon { width: 33px; height: 33px; }
  .brand small { font-size: 8px; }
  .page-intro, .detail-hero { padding: 23px 6% 32px; }
  .page-intro .breadcrumb, .detail-hero .breadcrumb { margin-bottom: 23px; font-size: 11px; }
  .page-intro h1, .detail-hero h1, .researcher-hero h1, .resource-hero-grid h1, .event-hero h1 { font-size: 32px; line-height: 1.25; }
  .page-intro .lead, .detail-lead, .event-hero .detail-lead { font-size: 16px; line-height: 1.8; margin-top: 19px; }
  .detail-question { padding: 22px; }
  .detail-question > p { font-size: 20px; }
  .detail-jump { padding: 13px 6%; gap: 10px 20px; }
  .detail-jump a { font-size: 12px; }
  .detail-layout { grid-template-columns: 1fr; gap: 0; }
  .detail-block { padding: 30px 0; }
  .detail-block h2, .detail-sources h2 { font-size: 25px; line-height: 1.35; margin: 10px 0 19px; }
  .detail-block > p, .detail-objectives li { font-size: 15px; line-height: 1.85; }
  .detail-objectives li { grid-template-columns: 23px 1fr; gap: 11px; }
  .detail-partners { grid-template-columns: 1fr; }
  .detail-partners p { font-size: 14px; }
  .detail-sidebar { padding-top: 30px; }
  .detail-sidebar > h2 { font-size: 24px; }
  .detail-contact { padding: 22px; background: var(--surface); border: 1px solid var(--line); margin-top: 15px; }
  .detail-contact h3 { font-size: 21px; }
  .detail-return { padding-top: 24px; padding-bottom: 24px; flex-wrap: wrap; }
  .detail-related strong, .publication-network-links strong { font-size: 20px; }
  .site-directory-grid { gap: 20px; }
  .site-directory-grid > a { padding: 23px 10px 23px 0; min-height: 0; }
  .site-directory-grid h3 { font-size: 24px; }
  .site-detail { padding: 24px; }
  .site-detail h3 { font-size: 28px; }
  .map-key { gap: 12px; }
  .map-top, .map-key { font-size: 10px; }
  .map-caption { font-size: 10px; }
  .project-grid, .malaysia-grid, .tool-grid { grid-template-columns: 1fr; }
  .project-card h3 { font-size: 23px; }
  .project-card .card-top { padding: 20px 22px 0; }
  .project-card .card-main { padding: 16px 22px 22px; }
  .card-footer { padding: 13px 22px; flex-wrap: wrap; }
  .publication-hero h1 { font-size: 28px; line-height: 1.35; overflow-wrap: break-word; }
  .publication-hero-meta { font-size: 14px; }
  .publication-hero-doi { font-size: 12px; }
  .publication-badges > span { font-size: 10px; }
  .publication-summary { font-size: 17px !important; }
  .publication-findings > p:last-child { font-size: 15px; }
  .publication-review-scope { padding: 19px; }
  .publication-sample { padding: 20px; }
  .publication-sample p { font-size: 14px; }
  .publication-subheading { font-size: 20px; }
  .publication-row { grid-template-columns: 37px minmax(0, 1fr) 14px; gap: 12px; padding: 23px 0; }
  .pub-year { font-size: 12px; }
  .pub-title { font-size: 19px; line-height: 1.5; }
  .pub-meta { font-size: 12px; }
  .pub-summary { font-size: 14px; }
  .pub-doi { font-size: 11px; }
  .search-box input, .team-search input { font-size: 16px; }
  .select-label { min-width: 0; flex: 1 1 130px; }
  .select-label select { max-width: 100%; font-size: 12px; }
  .library-toolbar { flex-wrap: wrap; gap: 12px 18px; }
  .library-toolbar button:last-child { margin-left: 0; }
  .library-note { gap: 22px; padding: 22px; }
  .evidence-highlights article { padding: 22px; }
  .detail-paper h3 { font-size: 21px; line-height: 1.45; }
  .detail-paper p { font-size: 14px; }
  .publication-people > a { padding: 17px; }
  .publication-people strong { font-size: 15px; }
  .publication-network-links > a { padding: 20px; }
  .publication-network-links p { font-size: 14px; }
  .person-card h3 { font-size: 21px; }
  .researcher-projects h3 { font-size: 22px; }
  .biography-part p { font-size: 15px; }
  .researcher-institution { font-size: 14px; }
  .event-hero-date { font-size: 19px; }
  .network-event-card h2 { font-size: 26px; }
  .event-gallery figcaption { font-size: 11px; }
  .event-programme h3 { font-size: 21px; }
  .event-programme li { font-size: 14px; }
  .event-people h3 { font-size: 21px; }
  .event-people article p:not(.eyebrow) { font-size: 13px; }
  .tool-group > h2, .tools-framework > .section-heading h2 { font-size: 27px; }
  .tool-card h3 { font-size: 23px; }
  .connected-resources h2, .home-tools-link h2 { font-size: 27px; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { padding: 36px 6% 28px; }
  .hero h1 { font-size: 35px; }
  .hero-intro { font-size: 17px; }
  .hero-description { font-size: 15px; }
  .hero-image { height: auto; }
  .hero-image > img { min-height: 0; height: 290px; }
  .hero-image figcaption { padding: 16px 6%; }
  .hero-foot { font-size: 10px; justify-content: flex-start; }
  .home-welcome-grid h2, .home-feature h2, .home-join h2 { font-size: 28px; }
  .home-welcome-grid p:not(.lead), .home-feature p:not(.section-kicker) { font-size: 15px; }
  .home-welcome-grid .lead { font-size: 17px; }
  .mission-line p { font-size: 21px; }
  .approach-flow h3 { font-size: 22px; }
  .approach-flow p { font-size: 14px; }
  .participation-grid h3 { font-size: 22px; }
  .collaborate-section h2, .tools-collaboration h2 { font-size: 28px; }
  .collaborate-section .lead { font-size: 17px; }
  .contact-email { font-size: 16px; }
}
@media print {
  .header, .detail-jump, .detail-return, footer, .menu-toggle { display: none !important; }
  body { color: #111; background: #fff; font-size: 11pt; }
  .detail-layout { display: block; }
  .detail-sidebar { border-top: 1px solid #999; }
  .section, .detail-hero, .detail-layout { padding: 16pt 0; }
  .detail-block { break-inside: avoid; padding: 14pt 0; }
}
/* Legacy contact-panel declarations used fixed light text on dark backgrounds. */
.contact-panel .eyebrow,
.contact-panel > p:not(.eyebrow) { color: var(--muted) !important; }
.contact-sub > span { color: var(--muted); font-size: 11px; }
.contact-sub p { font-size: 14px; line-height: 1.8; color: var(--muted); }
.inner-main { max-width: 1120px; padding: 45px 6% 65px; }
.inner-main h1 { font-size: 44px; line-height: 1.25; }
.inner-main h2 { font-size: 27px; line-height: 1.35; margin: 35px 0 18px; }
.inner-main p, .inner-main li { font-size: 16px; line-height: 1.85; }
.inner-main .lead { font-size: 19px; line-height: 1.8; }
.inner-main .review-note { background: var(--surface-blue); }
@media (max-width: 760px) {
  .inner-main { padding: 30px 6% 45px; }
  .inner-main h1 { font-size: 32px; }
  .inner-main h2 { font-size: 25px; }
  .inner-main p, .inner-main li { font-size: 15px; }
  .inner-main .lead { font-size: 17px; }
}
/* Homepage geographic explorer. Geometry reuses the attributed site-directory base map. */
.home-network { background: var(--surface); border-bottom: 1px solid var(--line); scroll-margin-top: 20px; }
.home-network .section-heading { margin-bottom: 19px; }
.home-map-instruction { font-size: 14px; color: var(--muted); margin-bottom: 27px; max-width: 850px; }
.home-network-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); gap: 30px; align-items: start; }
.home-map-column, .home-map-details { min-width: 0; }
.home-map-frame { border: 1px solid var(--line); background: #fff; }
.home-map-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 17px; border-bottom: 1px solid var(--line); }
.home-map-toolbar > span { font-size: 11px; color: var(--muted); line-height: 1.6; }
.home-map-toolbar > div { display: flex; gap: 6px; flex-shrink: 0; }
.home-map-toolbar button { min-width: 35px; min-height: 35px; padding: 5px 10px; border: 1px solid var(--line); background: #fff; color: var(--teal); font-size: 16px; }
.home-map-toolbar button:last-child { font-size: 11px; }
.home-map-toolbar button:hover:not(:disabled) { background: var(--surface-blue); border-color: var(--teal); }
.home-map-toolbar button:disabled { color: #6d7f86; background: #f4f6f7; cursor: default; }
.home-network-svg { display: block; width: 100%; height: auto; aspect-ratio: 760 / 335; background: #f1f5f7; }
.home-map-land .map-country { fill: #d8e3e7; stroke: #f1f5f7; stroke-width: .65; }
.home-map-connections path { fill: none; stroke: #638e98; stroke-width: 1.2; stroke-dasharray: 4 4; opacity: .85; }
.home-map-marker { cursor: pointer; outline: none; }
.home-map-hit { fill: transparent; stroke: none; }
.home-map-halo { opacity: 0; fill: #fff; fill-opacity: .65; stroke: #225f68; stroke-width: 2; }
.home-map-symbol { fill: var(--teal); stroke: #fff; stroke-width: 1.4; }
.home-map-marker[data-map-kind="exchange"] .home-map-symbol { fill: #fff; stroke: #527079; stroke-width: 1.8; }
.home-map-marker[data-map-kind="pilot"] .home-map-symbol { fill: #fff; stroke: #875330; stroke-width: 1.8; }
.home-map-marker[data-map-kind="coordination"] .home-map-symbol { fill: #62667c; stroke: #fff; stroke-width: 1.4; }
.home-map-leader { stroke: #7f979e; stroke-width: .8; fill: none; }
.home-map-label { font: 500 13px Arial, Helvetica, sans-serif; fill: #243e46; paint-order: stroke; stroke: #f1f5f7; stroke-width: 3px; stroke-linejoin: round; }
.home-map-marker.is-selected .home-map-halo, .home-map-marker:hover .home-map-halo, .home-map-marker:focus-visible .home-map-halo { opacity: 1; }
.home-map-marker.is-selected .home-map-label, .home-map-marker:hover .home-map-label, .home-map-marker:focus-visible .home-map-label { font-weight: 700; fill: #173e49; }
.home-map-marker:focus-visible .home-map-halo { stroke-width: 3; }
.home-map-marker:focus-visible .home-map-label { text-decoration: underline; }
.home-map-legend { display: grid; grid-template-columns: 1fr 1fr; gap: 11px 15px; padding: 16px 17px 13px; border-top: 1px solid var(--line); }
.home-map-legend > span { display: flex; align-items: center; gap: 8px; font-size: 10px; color: var(--muted); line-height: 1.6; }
.home-map-legend i { flex-shrink: 0; display: inline-block; width: 9px; height: 9px; }
.home-map-key-research { background: var(--teal); border-radius: 50%; }
.home-map-key-exchange { background: #fff; border: 1.5px solid #527079; }
.home-map-key-coordination { background: #62667c; transform: rotate(45deg); }
.home-map-key-pilot { width: 11px !important; height: 10px !important; background: #875330; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.home-map-footnote { font-size: 10px; color: var(--muted); line-height: 1.8; padding: 0 17px 17px; margin: 0; }
.home-map-locations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 18px; }
.home-map-locations button { display: flex; align-items: center; gap: 8px; padding: 11px 10px; min-height: 45px; text-align: left; font-size: 12px; line-height: 1.5; border: 1px solid var(--line); background: #fff; color: var(--ink); }
.home-map-locations button i { width: 6px; height: 6px; background: var(--teal); border-radius: 50%; flex-shrink: 0; }
.home-map-locations button[data-map-kind="exchange"] i { border-radius: 0; border: 1px solid #527079; background: #fff; }
.home-map-locations button[data-map-kind="coordination"] i { border-radius: 0; background: #62667c; transform: rotate(45deg); }
.home-map-locations button[data-map-kind="pilot"] i { background: #875330; clip-path: polygon(50% 0, 100% 100%, 0 100%); border-radius: 0; }
.home-map-locations button small { margin-left: auto; color: var(--muted); font-size: 10px; }
.home-map-locations button.is-selected { border-color: var(--teal); box-shadow: inset 0 0 0 1px var(--teal); background: var(--surface-blue); }
.home-map-locations button:hover { border-color: var(--teal); background: var(--surface-blue); }
.home-map-all-links { display: flex; flex-wrap: wrap; gap: 15px 25px; margin-top: 24px; }
.home-map-mobile-details { display: none; }
.home-map-details { background: #fff; border-top: 2px solid var(--teal); padding: 25px; scroll-margin-top: 25px; }
.home-map-location .eyebrow { font-size: 10px; margin-bottom: 13px; color: var(--muted); }
.home-map-location h3 { font-size: 27px; line-height: 1.3; }
.home-map-institution { font-size: 14px; font-weight: 600; line-height: 1.7; margin-top: 13px; }
.home-map-description { font-size: 14px; line-height: 1.8; color: var(--muted); margin-top: 17px; }
.home-map-site-link { margin-top: 18px; }
.home-map-location h4 { font-size: 15px; line-height: 1.6; margin: 25px 0 12px; padding-top: 22px; border-top: 1px solid var(--line); font-weight: 600; }
.home-map-location h4 > span { color: var(--muted); font-weight: 400; }
.home-map-projects { margin: 0; padding: 0; list-style: none; }
.home-map-projects li { border-bottom: 1px solid var(--line); }
.home-map-projects li:last-child { border-bottom: 0; }
.home-map-projects a { display: flex; align-items: center; justify-content: space-between; gap: 18px; text-decoration: none; padding: 14px 0; }
.home-map-projects a:hover strong { text-decoration: underline; }
.home-map-projects strong { display: block; font-size: 14px; line-height: 1.55; font-weight: 600; }
.home-map-projects small { display: block; font-size: 11px; color: var(--muted); line-height: 1.7; margin-top: 5px; }
.home-map-projects b { color: var(--teal); font-weight: 400; }
.home-map-no-project, .home-map-scope { font-size: 13px; color: var(--muted); line-height: 1.85; }
.home-map-scope { border-left: 2px solid var(--line); padding-left: 15px; margin-top: 20px; }
.home-map-location .home-map-no-project + .text-link { margin-top: 17px; }
.home-map-fallback { background: #fff; padding: 25px; margin-top: 25px; }
.home-network [hidden] { display: none !important; }
@media (max-width: 1100px) {
  .home-network-layout { grid-template-columns: minmax(0, 1.3fr) minmax(300px, 1fr); gap: 24px; }
  .home-map-locations { grid-template-columns: 1fr 1fr; }
  .home-map-toolbar { flex-wrap: wrap; }
}
@media (max-width: 900px) {
  .home-network-layout { grid-template-columns: 1fr; gap: 27px; }
  .home-map-locations { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-map-details { padding: 25px; }
  .home-map-mobile-details { display: inline-block; font-size: 13px; color: var(--teal); margin-top: 20px; }
}
@media (max-width: 540px) {
  .home-map-instruction { font-size: 13px; }
  .home-map-toolbar { padding: 12px; flex-wrap: nowrap; }
  .home-map-toolbar > span { font-size: 10px; max-width: 135px; }
  .home-map-toolbar button { min-height: 40px; min-width: 35px; padding: 6px 9px; }
  .home-map-toolbar > div { gap: 5px; }
  .home-network-svg { min-height: 210px; }
  .home-map-legend { padding: 14px 12px 12px; gap: 9px 13px; }
  .home-map-legend > span { font-size: 9px; }
  .home-map-footnote { padding: 0 12px 14px; font-size: 10px; }
  .home-map-locations { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .home-map-locations button { min-height: 46px; padding: 10px; font-size: 12px; }
  .home-map-details { padding: 23px; }
  .home-map-location h3 { font-size: 25px; }
  .home-map-all-links { gap: 16px; }
  .home-map-all-links a { font-size: 12px; }
}

@media (max-width: 540px) { .home-map-toolbar button { min-width: 44px; min-height: 44px; } }
/* Combined map filters and documented collaboration entry points. */
.home-map-filters { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(160px, 1.45fr) minmax(160px, 1.25fr) auto; gap: 16px; align-items: end; margin: 0 0 18px; padding: 22px; border: 1px solid var(--line); background: #fff; }
.home-map-filters label { display: flex; flex-direction: column; gap: 8px; min-width: 0; font-size: 12px; font-weight: 600; color: var(--ink); }
.home-map-filters select { display: block; width: 100%; min-width: 0; height: 44px; border: 1px solid #aebfc5; border-radius: 0; padding: 8px 28px 8px 11px; background: #fff; color: var(--ink); font-size: 13px; line-height: 1.4; text-overflow: ellipsis; }
.home-map-filters > button { min-height: 44px; border: 1px solid var(--teal); border-radius: 0; padding: 10px 15px; background: #fff; color: var(--teal); font-size: 12px; }
.home-map-filters > button:hover:not(:disabled) { background: var(--surface-blue); }
.home-map-filters > button:disabled { color: #65777e; border-color: var(--line); cursor: default; }
.home-map-results-line { margin-bottom: 12px; }
.home-map-results { font-size: 14px; font-weight: 600; color: var(--ink); }
.home-map-filter-summary { font-size: 12px; line-height: 1.8; color: var(--teal); margin-top: 8px; overflow-wrap: anywhere; }
.home-map-filter-note { font-size: 12px; color: var(--muted); line-height: 1.8; margin: 0 0 25px; max-width: 940px; }
.home-map-match-context { background: var(--surface-blue); border-left: 2px solid var(--teal); padding: 12px 14px; font-size: 12px; line-height: 1.75; margin-top: 20px; color: var(--ink); }
.home-map-collaboration { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 2px; }
.home-map-collaboration h4 { border: 0; padding-top: 0; margin-top: 20px; }
.home-map-collaboration p { font-size: 13px; line-height: 1.8; color: var(--muted); }
.home-map-collaboration .text-link { display: block; width: fit-content; max-width: 100%; font-size: 12px; line-height: 1.8; margin-top: 15px; overflow-wrap: anywhere; }
.home-map-empty h3 { font-size: 25px; margin-bottom: 17px; }
.home-map-empty p { font-size: 15px; line-height: 1.85; color: var(--muted); }
.home-map-empty > button { margin-top: 22px; }
.home-map-empty > .text-link { margin-top: 25px; display: block; font-size: 13px; }
@media (max-width: 900px) {
  .home-map-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-map-filters > button { grid-column: 1/-1; justify-self: start; }
}
@media (max-width: 600px) {
  .home-map-filters { grid-template-columns: 1fr; padding: 19px; gap: 17px; }
  .home-map-filters select { font-size: 16px; }
  .home-map-filters > button { justify-self: stretch; font-size: 13px; }
  .home-map-results { font-size: 13px; line-height: 1.8; }
  .home-map-filter-note { font-size: 11px; }
}

/* Personal research identity; CHEERS retains a dedicated network area. */
.portfolio-brand { min-width: 175px; }
.portfolio-brand > span { font-size: 22px; font-weight: 600; letter-spacing: -.03em; }
.portfolio-brand small { letter-spacing: .09em; font-size: 9px; }
.header nav { gap: 16px; }
.header nav a { font-size: 11px; white-space: nowrap; }
.portfolio-hero { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(260px,.8fr); gap: 9%; padding: 55px 8% 65px; border-bottom: 1px solid var(--line); align-items: center; }
.portfolio-hero h1 { font: 600 clamp(44px,5vw,68px)/1.12 var(--sans); letter-spacing: -.04em; margin: 22px 0; }
.portfolio-subtitle { font-size: clamp(24px,2.6vw,35px); line-height: 1.35; letter-spacing: -.025em; color: var(--teal); margin-bottom: 28px; }
.portfolio-hero .lead { font-size: 19px; line-height: 1.7; margin-bottom: 16px; }
.portfolio-hero p:not(.section-kicker):not(.portfolio-subtitle):not(.lead) { line-height: 1.9; color: var(--muted); }
.portfolio-affiliation { border-top: 1px solid var(--line); padding-top: 20px; margin-top: 30px; font-size: 13px; }
.portfolio-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px; margin-top: 25px; }
.portfolio-portrait img { width: 100%; max-width: 360px; height: auto; display: block; margin: auto; }
.portfolio-portrait { align-self: center; }
.portfolio-portrait figcaption { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 14px; color: var(--muted); font-size: 11px; line-height: 1.9; }
.portfolio-portrait figcaption a { margin-top: 4px; font-size: 10px; }
.portfolio-pillar-grid, .portfolio-paper-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.portfolio-pillar-grid article { border-top: 2px solid var(--teal); padding: 24px 0 0; }
.portfolio-pillar-grid article > span { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.portfolio-pillar-grid h3 { font-size: 21px; margin: 18px 0 14px; }
.portfolio-pillar-grid p, .portfolio-paper-grid p { font-size: 14px; line-height: 1.85; color: var(--muted); }
.portfolio-projects { background: var(--surface); }
.portfolio-scope-note { font-size: 13px; color: var(--muted); max-width: 900px; line-height: 1.85; margin: 0 0 28px; }
.portfolio-cheers { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 7%; border-top: 1px solid var(--line); }
.portfolio-cheers h2 { margin: 18px 0 20px; }
.portfolio-cheers .lead { font-size: 21px; line-height: 1.65; margin-bottom: 20px; }
.portfolio-cheers p:not(.lead):not(.section-kicker) { font-size: 15px; line-height: 1.9; color: var(--muted); margin-top: 14px; }
.portfolio-cheers img { width: 100%; height: auto; display: block; }
.portfolio-cheers figcaption { font-size: 11px; color: var(--muted); margin-top: 12px; line-height: 1.7; }
.portfolio-paper-grid article { border-top: 1px solid var(--line); padding-top: 22px; min-width: 0; }
.portfolio-paper-grid h3 { font-size: 20px; line-height: 1.5; margin: 16px 0; }
.portfolio-paper-grid .portfolio-paper-title { font: inherit; border: 0; display: inline; }
.portfolio-paper-grid .text-link:not(.portfolio-paper-title) { font-size: 12px; margin-top: 20px; }
.portfolio-contact { display: grid; grid-template-columns: 1.3fr 1fr; gap: 10%; background: var(--surface-blue); border-top: 1px solid var(--line); }
.portfolio-contact h2 { margin: 17px 0; }
.portfolio-contact p:not(.section-kicker) { color: var(--muted); line-height: 1.9; }
.portfolio-contact > div:last-child { align-self: center; display: flex; flex-wrap: wrap; gap: 25px; }
.network-scope > .lead { font-size: 21px; line-height: 1.75; max-width: 1050px; margin-bottom: 20px; }
.network-scope > p:not(.lead) { max-width: 950px; line-height: 1.9; color: var(--muted); }
.network-scope .portfolio-scope-note { margin-top: 30px; }
.about-portrait { display: block; width: 100%; max-width: 220px; height: auto; margin-bottom: 25px; }
.home-map-marker[data-map-kind="planned"] .home-map-symbol { fill: #fff; stroke: #66657c; stroke-width: 1.8; stroke-dasharray: 2 1; }
.home-map-key-planned { border-radius: 50%; border: 1.5px dashed #66657c; background: #fff; }
.home-map-locations button[data-map-kind="planned"] i { border: 1px dashed #66657c; background: #fff; }
.home-network[data-map-scope="portfolio"] .home-map-label { font-size: 20px; }
@media (min-width: 901px) and (max-width: 1150px) {
  .header { height: auto; min-height: 84px; padding-top: 18px; padding-bottom: 18px; flex-wrap: wrap; gap: 18px; }
  .header nav { width: 100%; justify-content: space-between; }
}
@media (max-width: 900px) {
  .portfolio-hero { gap: 6%; padding: 38px 6% 50px; grid-template-columns: minmax(0,1.3fr) minmax(200px,.8fr); }
  .portfolio-subtitle { font-size: 26px; }
  .portfolio-hero .lead { font-size: 17px; }
  .portfolio-pillar-grid, .portfolio-paper-grid { gap: 20px; }
  .portfolio-cheers { gap: 5%; }
  .header nav a { font-size: 14px; }
}
@media (max-width: 600px) {
  .portfolio-hero { grid-template-columns: 1fr; gap: 36px; padding: 30px 6% 40px; }
  .portfolio-hero h1 { font-size: 43px; }
  .portfolio-subtitle { font-size: 26px; }
  .portfolio-portrait { max-width: 270px; }
  .portfolio-portrait figcaption { font-size: 11px; }
  .portfolio-pillar-grid, .portfolio-paper-grid, .portfolio-cheers, .portfolio-contact { grid-template-columns: 1fr; gap: 35px; }
  .portfolio-actions { gap: 20px; }
  .portfolio-actions .button { font-size: 13px; }
  .portfolio-affiliation { font-size: 12px; }
}

.home-map-connection-role { display:block; font-size:11px; font-style:normal; line-height:1.7; color:var(--teal); margin-top:5px; }

/* Independent CHEERS identity and restrained research-contribution links. */
.network-brand { min-width:190px; }
.network-home-hero h1 { font-size:clamp(42px,5vw,68px); }
.network-foundation { display:grid; grid-template-columns:1fr 1.25fr; gap:8%; border-bottom:1px solid var(--line); }
.network-foundation h2 { margin-top:18px; }
.network-foundation p { line-height:1.85; color:var(--muted); }
.network-foundation .lead { font-size:21px; color:var(--ink); margin-bottom:18px; }
.network-foundation-links { display:flex; flex-wrap:wrap; gap:20px 28px; margin-top:24px; }
.network-featured { background:var(--surface); }
.project-network-relation { font-size:11px; color:var(--teal); font-weight:600; line-height:1.7; margin:14px 0 8px; }
.detail-hero .project-network-relation { border-left:2px solid var(--teal); padding-left:12px; }
.responsibility-grid,.contribution-bridge-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:25px; }
.responsibility-grid article { border:1px solid var(--line); padding:20px; min-width:0; }
.responsibility-grid h3 { font-size:18px; line-height:1.5; margin-bottom:12px; }
.responsibility-grid .responsibility-name { font:inherit; border:0; }
.responsibility-grid p { font-size:14px; line-height:1.8; }
.responsibility-grid .text-link:not(.responsibility-name) { font-size:11px; margin-top:16px; }
.network-research-contact { display:grid; grid-template-columns:1fr 1.2fr; gap:8%; background:var(--surface-blue); border-top:1px solid var(--line); }
.network-research-contact h2 { margin:17px 0; }
.network-research-contact p { font-size:15px; line-height:1.9; color:var(--muted); }
.network-contact-person { display:grid; grid-template-columns:88px minmax(0,1fr); gap:22px; }
.network-contact-person img { width:88px; height:auto; }
.network-contact-person h3 { font-size:21px; line-height:1.5; margin-bottom:12px; }
.network-contact-person .text-link { font-size:12px; display:table; margin-top:15px; }
.network-contact-person .network-contact-scope { font-size:12px; margin-top:15px; }
.network-authors { font-size:12px!important; color:var(--teal)!important; margin-bottom:12px; }
.contribution-bridge-grid article { border-top:2px solid var(--teal); padding:25px 0; min-width:0; }
.contribution-bridge-grid h2 { font-size:25px; line-height:1.4; margin:18px 0; }
.contribution-bridge-grid p { font-size:15px; line-height:1.85; color:var(--muted); }
.contribution-bridge-grid .text-link { display:table; margin-top:20px; font-size:12px; }
.profile-portfolio-link { border-top:1px solid var(--line); }
footer .text-link { font-size:11px; margin-top:15px; max-width:240px; }
@media(max-width:760px){.network-foundation,.network-research-contact{grid-template-columns:1fr;gap:32px}.network-foundation .lead{font-size:18px}.responsibility-grid,.contribution-bridge-grid{grid-template-columns:1fr}.network-home-hero h1{font-size:43px}}
@media(max-width:400px){.network-contact-person{grid-template-columns:65px minmax(0,1fr);gap:16px}.network-contact-person img{width:65px}.network-contact-person h3{font-size:18px}.network-home-hero h1{font-size:38px}}
