
:root {
            --ink: #15191d;
            --muted: #606970;
            --blue: #163b5d;
            --line: #d9dee2;
            --line-dark: #aeb7be;
            --white: #ffffff;
            --font: "Book Antiqua", "Palatino Linotype", "TeX Gyre Pagella", "URW Palladio L", Palatino, serif;
            --font-cjk: "KaiTi", "STKaiti", "Kaiti SC", "DFKai-SB", serif;
            --content: 1080px;
        }

        *, *::before, *::after {
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
            scroll-padding-top: 78px;
        }

        body {
            margin: 0;
            color: var(--ink);
            background: var(--white);
            font-family: var(--font);
            font-size: 17px;
            line-height: 1.55;
            -webkit-font-smoothing: antialiased;
        }

        a {
            color: var(--blue);
        }

        img {
            display: block;
            max-width: 100%;
        }

        button,
        a {
            -webkit-tap-highlight-color: transparent;
        }

        :focus-visible {
            outline: 2px solid var(--blue);
            outline-offset: 3px;
        }

        .skip-link {
            position: fixed;
            top: 8px;
            left: 8px;
            z-index: 100;
            padding: 8px 12px;
            color: var(--white);
            background: var(--blue);
            transform: translateY(-150%);
        }

        .skip-link:focus {
            transform: translateY(0);
        }

        .site-header {
            position: sticky;
            top: 0;
            z-index: 20;
            background: var(--white);
            border-bottom: 1px solid var(--line);
        }

        .nav-wrap {
            width: min(calc(100% - 40px), var(--content));
            min-height: 66px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 28px;
        }

        .brand {
            color: var(--ink);
            font-size: 1.18rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-decoration: none;
            white-space: nowrap;
        }

        .nav-links {
            display: flex;
            align-items: center;
            gap: 25px;
            margin: 0;
            padding: 0;
            list-style: none;
            white-space: nowrap;
        }

        .nav-links a {
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            color: var(--ink);
            font-size: 0.92rem;
            text-decoration: none;
        }

        .nav-links a:hover {
            color: var(--blue);
            text-decoration: underline;
            text-underline-offset: 5px;
        }

        .menu-toggle {
            display: none;
            min-width: 48px;
            min-height: 44px;
            padding: 7px 10px;
            color: var(--ink);
            background: var(--white);
            border: 1px solid var(--line-dark);
            border-radius: 0;
            font: inherit;
            font-size: 0.85rem;
            cursor: pointer;
        }

        .page-width {
            width: min(calc(100% - 40px), var(--content));
            margin: 0 auto;
        }

        .hero { padding-top:88px; padding-bottom:78px; }

        .institution {
            margin: 0 0 15px;
            color: var(--muted);
            font-size: 0.9rem;
        }

        h1,
        h2,
        h3,
        p {
            text-wrap: pretty;
        }

        h1,
        h2,
        h3 {
            color: var(--ink);
            font-family: var(--font);
        }

        h1 {
            max-width: 760px;
            margin: 0 0 18px;
            font-size: clamp(2.55rem, 5.3vw, 4.35rem);
            font-weight: 400;
            line-height: 1.04;
            letter-spacing: -0.035em;
        }

        .acronym {
            color: var(--blue);
            white-space: nowrap;
        }

        .hero-lead {
            max-width: 720px;
            margin: 0;
            color: #363d42;
            font-size: 1.18rem;
            line-height: 1.62;
        }

        .hero-links {
            display: flex;
            flex-wrap: wrap;
            gap: 8px 22px;
            margin-top: 27px;
        }

        .text-link {
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            color: var(--blue);
            font-size: 0.94rem;
            font-weight: 700;
            text-decoration: none;
            border-bottom: 1px solid transparent;
        }

        .text-link:hover {
            border-bottom-color: var(--blue);
        }

        .pi-card {
            margin: 4px 0 0;
        }

        .pi-card img {
            width: 152px;
            height: 164px;
            object-fit: cover;
            object-position: 50% 30%;
            border: 1px solid var(--line-dark);
        }

        .pi-card figcaption {
            margin-top: 10px;
            color: var(--muted);
            font-size: 0.8rem;
            line-height: 1.4;
        }

        .pi-card strong {
            display: block;
            color: var(--ink);
            font-size: 0.94rem;
            font-weight: 700;
        }

        .section {
            padding: 64px 0;
            border-top: 1px solid var(--line);
        }

        .section-grid {
            display: grid;
            grid-template-columns: 145px minmax(0, 1fr);
            gap: 44px;
            align-items: start;
        }

        .section-label {
            margin: 5px 0 0;
            color: var(--blue);
            font-size: 0.79rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .section-content h2 {
            max-width: 720px;
            margin: 0 0 15px;
            font-size: clamp(1.85rem, 3.6vw, 2.55rem);
            font-weight: 400;
            line-height: 1.16;
            letter-spacing: -0.02em;
        }

        .section-intro {
            max-width: 760px;
            margin: 0 0 34px;
            color: var(--muted);
        }

        .research-list {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0 42px;
            margin: 0;
            padding: 0;
            border-top: 1px solid var(--line);
            list-style: none;
        }

        .research-item {
            min-height: 148px;
            display: grid;
            grid-template-columns: 28px minmax(0, 1fr);
            gap: 12px;
            align-content: start;
            padding: 24px 0;
            border-bottom: 1px solid var(--line);
        }

        .research-number {
            padding-top: 3px;
            color: var(--muted);
            font-size: 0.76rem;
        }

        .research-item h3 {
            margin: 0 0 6px;
            font-size: 1.12rem;
            font-weight: 700;
            line-height: 1.35;
        }

        .research-item p {
            margin: 0;
            color: var(--muted);
            font-size: 0.91rem;
        }

        .publication-list {
            margin: 0;
            padding: 0;
            border-top: 1px solid var(--line);
            list-style: none;
        }

        .publication {
            display: grid;
            grid-template-columns: 58px minmax(0, 1fr);
            gap: 20px;
            padding: 23px 0 24px;
            border-bottom: 1px solid var(--line);
        }

        .pub-year {
            color: var(--muted);
            font-size: 0.83rem;
        }

        .publication h3 {
            margin: 0 0 5px;
            font-size: 1.04rem;
            font-weight: 700;
            line-height: 1.4;
        }

        .pub-authors,
        .pub-venue {
            margin: 0;
            color: var(--muted);
            font-size: 0.88rem;
        }

        .pub-venue {
            font-style: italic;
        }

        .pub-links {
            display: flex;
            flex-wrap: wrap;
            gap: 14px;
            margin-top: 7px;
        }

        .pub-links a {
            color: var(--blue);
            font-size: 0.84rem;
            font-weight: 700;
            text-decoration: none;
        }

        .pub-links a:hover {
            text-decoration: underline;
            text-underline-offset: 3px;
        }

        .award {
            margin-left: 8px;
            color: #8b3f16;
            font-style: normal;
            font-weight: 700;
            white-space: nowrap;
        }

        .all-publications {
            margin-top: 18px;
        }

        .pi-summary {
            display: grid;
            grid-template-columns: 155px minmax(0, 1fr);
            gap: 20px;
            padding: 18px 0 25px;
            border-top: 1px solid var(--line);
            border-bottom: 1px solid var(--line);
        }

        .role {
            color: var(--muted);
            font-size: 0.86rem;
        }

        .pi-summary strong {
            display: block;
            margin-bottom: 3px;
            font-size: 1.05rem;
        }

        .pi-summary p {
            margin: 0;
            color: var(--muted);
            font-size: 0.91rem;
        }

        .people-group {
            margin-top: 34px;
        }

        .people-group h3 {
            margin: 0 0 10px;
            font-size: 1.15rem;
            font-weight: 700;
        }

        .people-list {
            margin: 0;
            padding: 0;
            border-top: 1px solid var(--line);
            list-style: none;
        }

        .person {
            display: grid;
            grid-template-columns: minmax(140px, 0.8fr) 125px minmax(220px, 1.35fr);
            gap: 22px;
            padding: 13px 0;
            border-bottom: 1px solid var(--line);
            font-size: 0.91rem;
        }

        .person-name {
            color: var(--ink);
            font-weight: 700;
        }

        .person-status,
        .person-topic {
            color: var(--muted);
        }

        .openings {
            margin: 0;
            padding: 0;
            border-top: 1px solid var(--line);
            list-style: none;
        }

        .opening {
            display: grid;
            grid-template-columns: minmax(180px, 0.75fr) minmax(280px, 1.4fr) 130px;
            gap: 24px;
            align-items: center;
            padding: 21px 0;
            border-bottom: 1px solid var(--line);
        }

        .opening h3 {
            margin: 0;
            font-size: 1rem;
            font-weight: 700;
        }

        .opening p {
            margin: 0;
            color: var(--muted);
            font-size: 0.9rem;
        }

        .apply-link {
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            justify-content: flex-end;
            color: var(--blue);
            font-size: 0.88rem;
            font-weight: 700;
            text-decoration: none;
        }

        .apply-link:hover {
            text-decoration: underline;
            text-underline-offset: 4px;
        }

.application-note {
            max-width: 720px;
            margin: 18px 0 0;
            color: var(--muted);
            font-size: 0.86rem;
        }

        .join-section .section-content { max-width:100%; }
        .join-hero h1 { max-width:none; margin:0 0 15px; font-size:clamp(2.3rem,3.5vw,3.4rem); font-weight:400; line-height:1.08; letter-spacing:-.03em; white-space:nowrap; }
        .join-hero > p { max-width:750px; margin:0; color:#363d42; font-size:1.08rem; }
        .join-statuses { display:flex; flex-wrap:wrap; gap:9px; margin-top:23px; }
        .join-statuses .admissions-badge { min-height:34px; padding:5px 11px; }
        .join-research,
        .join-opportunities,
        .application-guide { margin-top:52px; }
        .join-research h2,
        .join-opportunities h2,
        .application-guide h2 { margin:0 0 14px; font-size:1.35rem; font-weight:400; }
        .join-research ul { margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
        .join-research li { display:grid; grid-template-columns:minmax(210px,.82fr) minmax(0,1.45fr); gap:22px; padding:14px 0; border-bottom:1px solid var(--line); }
        .join-research a { color:var(--ink); font-weight:700; text-decoration:none; }
        .join-research-open { color:var(--ink); font-weight:700; }
        .join-research a:hover { color:var(--blue); text-decoration:underline; text-underline-offset:4px; }
        .join-research span { color:var(--muted); font-size:.91rem; }
        .join-opportunities { border-top:1px solid var(--line); }
        .join-opportunities > h2 { margin:19px 0 2px; }
        .join-opportunity { display:grid; grid-template-columns:minmax(0,1fr) max-content; gap:28px; align-items:center; padding:22px 0; border-bottom:1px solid var(--line); }
        .join-opportunity h3 { display:flex; flex-wrap:wrap; align-items:center; gap:8px 11px; margin:0 0 7px; font-size:1.06rem; }
        .join-opportunity p { max-width:650px; margin:0; color:var(--muted); font-size:.92rem; }
        .join-apply { justify-content:center; min-width:160px; padding:6px 12px; border:1px solid var(--blue); }
        .application-guide { padding:22px 0 2px; border-top:1px solid var(--line); }
        .application-guide ol { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:0; padding:0; list-style:none; counter-reset:application-step; }
        .application-guide li { position:relative; padding:37px 0 0; color:var(--muted); font-size:.9rem; }
        .application-guide li::before { counter-increment:application-step; content:"0" counter(application-step); position:absolute; top:0; left:0; color:var(--blue); font-size:.78rem; font-weight:700; letter-spacing:.08em; }
        .application-guide strong { color:var(--ink); }
        .application-guide > p { margin:20px 0 0; color:var(--muted); font-size:.84rem; }

        .site-footer {
            border-top: 1px solid var(--line);
        }

        .footer-inner {
            width: min(calc(100% - 40px), var(--content));
            min-height: 94px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            color: var(--muted);
            font-size: 0.82rem;
        }

        .footer-links {
            display: flex;
            flex-wrap: wrap;
            gap: 18px;
        }

        .footer-links a {
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            color: var(--ink);
            text-decoration: none;
        }

        .footer-links a:hover {
            color: var(--blue);
            text-decoration: underline;
            text-underline-offset: 4px;
        }

        @media (max-width: 820px) {
            .menu-toggle {
                display: inline-flex;
                align-items: center;
                justify-content: center;
            }

            .nav-wrap {
                position: relative;
            }

            .nav-links {
                position: absolute;
                top: 100%;
                right: -20px;
                left: -20px;
                display: none;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 0 18px;
                padding: 12px 20px 18px;
                background: var(--white);
                border-top: 1px solid var(--line);
                border-bottom: 1px solid var(--line);
            }

            .nav-links.is-open {
                display: grid;
            }

            .nav-links a {
                width: 100%;
            }

            .section-grid {
                grid-template-columns: 110px minmax(0, 1fr);
                gap: 30px;
            }

            .person {
                grid-template-columns: minmax(130px, 0.8fr) 105px minmax(190px, 1.2fr);
                gap: 15px;
            }

            .opening {
                grid-template-columns: minmax(160px, 0.8fr) minmax(240px, 1.3fr);
            }

            .apply-link {
                grid-column: 2;
                justify-content: flex-start;
                min-height: 36px;
            }
        }

        @media (max-width: 620px) {
            html {
                scroll-padding-top: 68px;
            }

            body {
                font-size: 16px;
            }

            .nav-wrap,
            .page-width,
            .footer-inner {
                width: min(calc(100% - 30px), var(--content));
            }

            .nav-wrap {
                min-height: 62px;
            }

            .nav-links {
                right: -15px;
                left: -15px;
                padding-right: 15px;
                padding-left: 15px;
            }

            .hero {
                grid-template-columns: 1fr;
                gap: 34px;
                padding-top: 47px;
                padding-bottom: 48px;
            }

            h1 {
                font-size: clamp(2.35rem, 12vw, 3.25rem);
            }

            .hero-lead {
                font-size: 1.04rem;
            }

            .pi-card {
                display: grid;
                grid-template-columns: 90px minmax(0, 1fr);
                gap: 14px;
                align-items: end;
                margin-top: 0;
            }

            .pi-card img {
                width: 90px;
                height: 98px;
            }

            .pi-card figcaption {
                margin: 0 0 2px;
            }

            .section {
                padding: 48px 0;
            }

            .section-grid {
                grid-template-columns: 1fr;
                gap: 13px;
            }

            .section-label {
                margin: 0;
            }

            .section-content h2 {
                font-size: 1.8rem;
            }

            .section-intro {
                margin-bottom: 25px;
            }

            .research-list {
                grid-template-columns: 1fr;
            }

            .research-item {
                min-height: 0;
                padding: 19px 0;
            }

            .publication {
                grid-template-columns: 46px minmax(0, 1fr);
                gap: 12px;
            }

            .pi-summary {
                grid-template-columns: 1fr;
                gap: 4px;
            }

            .person {
                grid-template-columns: minmax(0, 1fr) auto;
                gap: 2px 12px;
                padding: 14px 0;
            }

            .person-topic {
                grid-column: 1 / -1;
            }

            .opening {
                grid-template-columns: 1fr;
                gap: 6px;
                padding: 18px 0;
            }

            .apply-link {
                grid-column: 1;
                justify-content: flex-start;
                min-height: 42px;
            }

            .footer-inner {
                padding: 20px 0;
                flex-direction: column;
                align-items: flex-start;
                justify-content: center;
                gap: 5px;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            html {
                scroll-behavior: auto;
            }
        }

/* Shared multi-page layout */
body { min-height:100vh; display:flex; flex-direction:column; }
main { flex:1; }
.brand { font-size:1.04rem; letter-spacing:0; white-space:normal; line-height:1.3; max-width:360px; }
.nav-links { gap:20px; }
.nav-links a[aria-current="page"] { color:var(--blue); text-decoration:underline; text-underline-offset:6px; }
main > .section { border-top:0; }
.page-title { font-size:2.55rem; margin-bottom:36px; }
.student-category { margin-top:36px; }
.category-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line-dark); padding-bottom:8px; }
.category-heading h3 { margin:0; font-size:1.25rem; }
.category-title-row { display:flex; align-items:center; flex-wrap:wrap; gap:9px 12px; }
.admissions-badge { display:inline-flex; align-items:center; min-height:28px; padding:3px 9px; color:var(--blue); border:1px solid var(--blue); font-size:.76rem; font-weight:700; letter-spacing:.035em; white-space:nowrap; }
.category-heading .apply-link { min-height:44px; padding:6px 12px; border:1px solid var(--line-dark); white-space:nowrap; }
.student-category h4 { margin:22px 0 8px; font-size:1rem; }
.opening-status { color:var(--blue); font-weight:bold; }
.publication-entry { padding:20px 0; border-bottom:1px solid var(--line); }
.publication-entry h3 { margin:0 0 8px; font-size:1.08rem; line-height:1.4; }
.publication-details { color:var(--muted); font-size:.94rem; }
.publication-links { display:flex; gap:16px; }
.publication-links a { display:inline-flex; align-items:center; min-height:44px; font-size:.9rem; }
.year-heading { margin:36px 0 0; font-size:1.55rem; }
.selected-publications-intro { padding:72px 0 30px; }
.selected-publications-intro .eyebrow { margin:0 0 7px; color:var(--blue); font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.selected-publications-intro .page-title { margin-bottom:12px; }
.selected-publications-intro > p:last-child { max-width:100%; margin:0; color:var(--muted); }
.selected-publications { border-top:1px solid var(--line); }
.selected-publication { display:grid; grid-template-columns:minmax(250px,.92fr) minmax(0,1.35fr); gap:clamp(28px,5vw,68px); align-items:center; padding:40px 0; border-bottom:1px solid var(--line); }
.selected-publication-figure { width:100%; margin:0; padding:12px; border:1px solid var(--line-dark); background:#fff; }
.selected-publication-figure img { width:100%; max-height:230px; object-fit:contain; }
.selected-publication-figure figcaption { margin-top:8px; color:var(--muted); font-size:.78rem; line-height:1.3; }
.selected-publication-figure-tall { width:min(100%,280px); justify-self:center; }
.selected-publication-figure-tall img { max-height:285px; }
.selected-publication-copy { padding:4px 0; }
.publication-venue { margin:0 0 8px; color:var(--blue); font-size:.79rem; font-weight:700; letter-spacing:.045em; line-height:1.4; text-transform:uppercase; }
.publication-venue span { display:inline-block; margin-left:7px; padding-left:8px; border-left:1px solid var(--line-dark); color:#7a5020; }
.selected-publication-copy h2 { margin:0 0 9px; font-size:clamp(1.24rem,2vw,1.62rem); font-weight:400; line-height:1.2; letter-spacing:-.015em; }
.publication-authors { margin:0 0 12px; color:var(--muted); font-size:.92rem; line-height:1.5; }
.selected-publication-copy > p:not(.publication-venue):not(.publication-authors):not(.publication-actions) { max-width:690px; margin:0; color:#363d42; font-size:.96rem; }
.publication-actions { display:flex; flex-wrap:wrap; gap:0 17px; margin:15px 0 0; }
.publication-actions a { min-height:34px; display:inline-flex; align-items:center; color:var(--blue); font-size:.88rem; font-weight:700; text-decoration:none; border-bottom:1px solid transparent; }
.publication-actions a:hover { border-bottom-color:var(--blue); }
.selected-publications-footer { padding:25px 0 72px; color:var(--muted); font-size:.92rem; }
.selected-publications-footer p { margin:0; }
@media (min-width:621px) and (max-width:1000px) {
 .person { grid-template-columns:minmax(130px,1fr) 105px; }
 .person-topic { grid-column:1 / -1; }
 .opening { grid-template-columns:1fr; gap:8px; }
 .apply-link { grid-column:auto; justify-content:flex-start; min-height:44px; }
}

:lang(zh), [lang|="zh"] {
    font-family: var(--font-cjk);
}
@media (max-width:820px) { .brand { max-width:calc(100% - 80px); } }
@media (max-width:620px) {
 .brand { font-size:.94rem; }
 .category-heading { flex-wrap:wrap; gap:8px; }
 .category-title-row { gap:7px 10px; }
 .admissions-badge { min-height:27px; font-size:.72rem; }
 .category-heading .apply-link { justify-content:center; }
 .apply-link { min-height:44px; }
}


/* Home title and navigation buttons */
.group-title { line-height:1.12; margin-bottom:25px; }
.perceptual-word { position:relative; display:inline-block; color:var(--blue); font-weight:400; }
.perceptual-word::after { content:""; position:absolute; left:2%; right:1%; bottom:-.035em; height:.14em; border-bottom:1px solid #8197aa; border-radius:0 0 50% 50%; transform:rotate(-2deg); pointer-events:none; }
.group-actions { justify-content:center; gap:12px; margin-top:30px; }
.group-button { display:inline-flex; align-items:center; justify-content:center; min-width:178px; min-height:48px; padding:10px 18px; border:1px solid var(--blue); color:#fff; background:var(--blue); font-size:.94rem; font-weight:700; text-decoration:none; transition:background-color 160ms ease,box-shadow 160ms ease; }
.group-button:hover { color:#fff; background:#244f73; }
.group-button-apply { animation:application-pulse 2.8s ease-in-out infinite; }
.group-button:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
@keyframes application-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(25,68,103,0); } 50% { box-shadow:0 0 0 5px rgba(25,68,103,.14); } }
@media (max-width:620px) {
 .group-title { font-size:clamp(2rem,10.5vw,3.25rem); }
 .group-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
 .group-button { min-width:0; padding:10px 12px; }
 .group-button:last-child { grid-column:1 / -1; }
}
@media (prefers-reduced-motion:reduce) { .group-button { transition:none; } .group-button-apply { animation:none; } }

/* Group identity and investigator page */
.brand { display:flex; align-items:center; gap:10px; max-width:370px; flex-shrink:0; }
.brand-logo { width:38px; height:38px; flex-shrink:0; }
.nav-links { gap:16px; }
.hero-identity { display:flex; align-items:center; justify-content:center; gap:clamp(28px,4vw,58px); margin:28px 0 34px; }
.group-emblem { display:flex; flex:0 0 auto; flex-direction:column; align-items:center; color:var(--blue); }
.group-emblem img { width:200px; height:200px; }
.group-emblem span { margin:8px 0 0 .18em; font-size:1.14rem; letter-spacing:.18em; }
.group-name-block { display:flex; flex-direction:column; align-items:center; }
.group-title { max-width:none; margin:0; font-size:clamp(2.3rem,3.6vw,3.2rem); line-height:1.05; white-space:nowrap; }
.group-intro { max-width:none; margin:24px 0 0; color:var(--muted); text-align:center; white-space:nowrap; }
.profile-section p { max-width:850px; }
.profile-section h2 { font-size:1.65rem; margin-top:0; font-weight:400; }
.off-duty { width:min(100%, 430px); margin:26px 0 0; }
.off-duty-photos { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.off-duty-photos img { width:100%; height:155px; object-fit:cover; object-position:center; }
.off-duty figcaption { margin-top:8px; color:var(--muted); font-size:.8rem; font-style:italic; }
.profile-list { list-style:none; margin:0; padding:0; }
.profile-list li { display:grid; grid-template-columns:140px 1fr; gap:24px; padding:14px 0; border-bottom:1px solid var(--line); }
.profile-list li > span { color:var(--muted); }

/* Research-area visual summaries */
.research-page-intro { padding-bottom:32px; }
.research-showcase { border-top:1px solid var(--line); }
.research-feature { display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.45fr); gap:clamp(36px,7vw,92px); align-items:center; padding:56px 0; border-bottom:1px solid var(--line); }
.research-feature:nth-child(even) .research-figure { order:2; }
.research-figure { margin:0; padding:18px; border:1px solid var(--line-dark); background:#fff; }
.research-figure svg { display:block; width:100%; height:auto; }
.research-figure-real { padding:0; overflow:hidden; }
.research-figure-real > img { display:block; width:100%; height:auto; }
.research-image-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:12px; }
.research-image-panel { display:grid; gap:8px; }
.research-image-panel img { display:block; width:100%; height:auto; }
.research-image-pair .research-image-panel img { aspect-ratio:1; object-fit:cover; }
.research-image-pair-attention { gap:10px; padding:10px; }
.research-image-pair-attention .research-image-panel { gap:6px; }
.research-image-pair-attention .research-image-panel img { aspect-ratio:2 / 1; }
.research-image-panel p,
.research-figure-real figcaption { margin:0; color:var(--muted); font-size:.73rem; line-height:1.35; }
.research-image-panel strong,
.research-figure-real figcaption strong { display:block; color:var(--blue); font-weight:700; }
.research-figure-real figcaption { display:grid; gap:3px; padding:11px 13px 12px; border-top:1px solid var(--line); }
.research-feature-attention { grid-template-columns:minmax(0,1.28fr) minmax(320px,.95fr); gap:clamp(30px,4vw,56px); }
.research-feature-attention .research-figure { width:min(100%, 430px); justify-self:end; }
.research-copy h2 { margin:0 0 12px; font-size:clamp(1.55rem,3vw,2.2rem); font-weight:400; }
.research-copy > p:not(.research-index):not(.research-methods) { max-width:690px; margin:0; color:#363d42; }
.research-index { margin:0 0 6px; color:var(--blue); font-size:.78rem; font-weight:700; letter-spacing:.08em; }
.research-methods { margin:16px 0 0; color:var(--muted); font-size:.88rem; }
.related-publications { display:grid; gap:8px; margin-top:22px; padding-top:16px; border-top:1px solid var(--line); }
.related-publications p { margin:0 0 1px; color:var(--blue); font-size:.82rem; font-weight:700; }
.related-publications a { color:var(--ink); font-size:.9rem; text-decoration:none; }
.related-publications a:hover { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.svg-frame { fill:none; stroke:var(--blue); stroke-width:2.2; }
.svg-grid { fill:none; stroke:#9aabb9; stroke-width:1.4; }
.svg-soft { fill:#dce7ef; stroke:var(--blue); stroke-width:1.5; }
.svg-dark { fill:#8ba1b2; stroke:var(--blue); stroke-width:1.5; }
.svg-dot { fill:var(--blue); }
.svg-arrow { fill:none; stroke:var(--blue); stroke-width:1.8; marker-end:url(#arrow); }
.svg-axis { fill:none; stroke:#9aabb9; stroke-width:1.4; }
.svg-line { fill:none; stroke:var(--blue); stroke-width:2.4; }
.svg-line-dashed { fill:none; stroke:var(--blue); stroke-width:2.4; stroke-dasharray:5 5; }
.svg-label { fill:var(--blue); font-family:var(--font); font-size:14px; }
@media (min-width:821px) and (max-width:1050px) {
 .brand { max-width:280px; flex-shrink:1; }
 .nav-links { gap:12px; }
 .nav-wrap { gap:16px; }
 .hero-identity { gap:28px; }
 .group-emblem img { width:140px; height:140px; }
 .group-emblem span { margin-top:6px; font-size:1rem; }
 .group-title { font-size:clamp(2.05rem,3.4vw,2.65rem); }
 .group-intro { font-size:.96rem; white-space:normal; }
 .group-actions { gap:10px; margin-top:24px; }
 .group-button { min-width:150px; padding:10px 14px; }
}
@media (max-width:820px) { .brand { max-width:calc(100% - 80px); flex-shrink:1; } }
@media (max-width:620px) {
 .brand-logo { width:30px; height:30px; }
 .hero { padding-top:47px; padding-bottom:48px; }
 .hero-identity { align-items:center; justify-content:flex-start; gap:18px; margin:22px 0 26px; }
 .group-emblem img { width:82px; height:82px; }
 .group-emblem span { display:none; }
 .group-title { font-size:clamp(1.9rem,7.4vw,2.45rem); white-space:normal; }
 .group-intro { margin-top:14px; white-space:normal; }
 .off-duty { max-width:360px; }
 .off-duty-photos img { height:135px; }
 .profile-list li { grid-template-columns:1fr; gap:4px; }
 .research-feature { grid-template-columns:1fr; gap:26px; padding:38px 0; }
 .research-feature:nth-child(even) .research-figure { order:0; }
 .research-figure { max-width:390px; padding:12px; }
 .research-figure-real { padding:0; }
 .research-feature-attention .research-figure { justify-self:start; }
 .selected-publications-intro { padding:46px 0 22px; }
 .selected-publication { grid-template-columns:1fr; gap:20px; padding:30px 0; }
 .selected-publication-figure { max-width:440px; }
 .selected-publication-figure-tall { justify-self:start; }
 .selected-publication-copy h2 { font-size:1.36rem; }
 .selected-publications-footer { padding:20px 0 48px; }
}

@media (min-width:621px) and (max-width:820px) {
 .join-research li { grid-template-columns:minmax(170px,.8fr) minmax(0,1.3fr); }
 .join-hero h1 { white-space:normal; }
}
@media (max-width:620px) {
 .join-hero h1 { font-size:clamp(2.05rem,10vw,3rem); white-space:normal; }
 .join-research,
 .join-opportunities,
 .application-guide { margin-top:38px; }
 .join-research li,
 .join-opportunity { grid-template-columns:1fr; gap:10px; }
 .join-opportunity { padding:19px 0; }
 .join-apply { justify-self:start; }
 .application-guide ol { grid-template-columns:1fr; gap:16px; }
 .application-guide li { padding-top:28px; }
}
