:root {
  --bg: #fff;
  --ink: #121316;
  --muted: #5e626b;
  --line: #dedfe4;
  --wash: #f5f6f8;
  --blue: #304de2;
  --max: 1240px;
  --sans: 'Helvetica Neue', Arial, 'PingFang SC', 'Noto Sans SC', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 108px; }
body { margin: 0; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; background: var(--bg); color: var(--ink); font: 16px/1.75 var(--sans); -webkit-font-smoothing: antialiased; }
main { flex: 1; min-width: 0; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button { cursor: pointer; color: inherit; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, p, figure, ul, dl { margin: 0; }
h1, h2, h3, h4 { line-height: 1.3; text-wrap: balance; }
p { text-wrap: pretty; }
img { display: block; max-width: 100%; height: auto; }
a:hover { color: var(--blue); }
button:disabled { cursor: not-allowed; }
:where(button, a, input, select, textarea, summary):focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
main:focus { outline: none; }
[hidden] { display: none !important; }
[id] { scroll-margin-top: 16px; }
.shell { width: min(var(--max), calc(100% - 96px)); margin-inline: auto; }
.skip { position: fixed; left: 20px; top: -60px; background: var(--ink); color: white; padding: 12px 20px; z-index: 50; }
.skip:focus { top: 12px; }
.icon { width: 16px; height: 16px; display: inline-block; flex-shrink: 0; vertical-align: -.16em; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.site-header { background: var(--bg); position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--line); }
.header-inner { height: 80px; display: flex; align-items: center; gap: 36px; }
.logo { font-size: 31px; font-weight: 700; letter-spacing: -.06em; white-space: nowrap; line-height: 1.2; }
.logo span { font-weight: 400; letter-spacing: -.045em; }
.brand-lockup { display: inline-flex; align-items: baseline; gap: 14px; min-width: 0; }
.brand-cn { color: var(--muted); font-size: 13px; letter-spacing: .02em; white-space: nowrap; }
.header-inner nav { display: flex; align-items: center; gap: 28px; margin-inline: auto; font-size: 14px; }
.header-inner nav a { display: flex; align-items: center; min-height: 48px; position: relative; }
.header-inner [aria-current=page] { color: var(--blue); }
.header-inner nav a[aria-current=page]::after { content: ''; height: 2px; background: var(--blue); position: absolute; bottom: 0; left: 0; right: 0; }
.contact-link { font-size: 13px; min-height: 42px; display: inline-flex; gap: 26px; align-items: center; }
.link-arrow { display: inline-flex; align-items: center; gap: 24px; min-height: 44px; border-bottom: 1px solid var(--ink); font-size: 14px; }
.link-arrow:hover { border-color: var(--blue); }
.link-arrow > .icon { width: 20px; height: 20px; }
.quiet-link { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; color: var(--muted); }
.inline-link { display: inline-flex; align-items: center; color: var(--blue); min-height: 40px; font-size: 14px; gap: 12px; }
.small-note { font-size: 12px; color: var(--muted); margin-top: 23px; line-height: 1.8; }
.hero-kicker { font-size: 12px; color: var(--muted); margin-bottom: 18px; letter-spacing: .02em; }
.hero-actions { display: flex; gap: 24px; align-items: center; margin-top: 20px; flex-wrap: wrap; }
.home-introduction { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 360px; margin-block: 16px 28px; }
.home-introduction::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, transparent 40%, rgba(255,255,255,.18) 58%, rgba(255,255,255,.88) 76%, rgba(255,255,255,.98) 90%, #fff 100%); pointer-events: none; }
.home-introduction-copy { min-width: 0; width: 45%; margin-left: auto; padding-block: 32px; text-align: right; }
.home-visual { position: absolute; inset: 0 auto 0 0; z-index: -2; display: block; width: 78%; height: 100%; object-fit: cover; object-position: center 54%; }
.home-introduction h1 { font-size: 56px; font-weight: 500; line-height: 1.2; letter-spacing: -.04em; }
.home-introduction p { text-wrap: balance; max-width: 38em; margin-top: 22px; font-size: 21px; line-height: 1.9; }
.home-introduction .home-lab-name { margin-top: 12px; font-size: clamp(18px, 1.8vw, 24px); line-height: 1.5; font-weight: 500; }
.home-identity { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 12px 20px; }
.home-affiliation { font-size: 16px; font-weight: 400; letter-spacing: 0; color: var(--muted); }
.project-card { min-width: 0; }
.project-card:focus, .work-row:focus, .portfolio-entry:focus { outline: none; }
.project-card:focus-visible :is(h2, h3), .work-row:focus-visible :is(h2, h3) { outline: 2px solid var(--blue); outline-offset: 6px; }
.project-card-category { color: var(--muted); font-size: 12px; margin-bottom: 10px; }
.project-card h3 { font-weight: 500; letter-spacing: -.025em; font-size: 29px; }
.project-card-summary { font-size: 16px; color: var(--muted); margin-top: 12px; line-height: 1.9; max-width: 40em; }
.project-card-action { display: inline-flex; align-items: center; gap: 10px; color: var(--blue); font-size: 13px; min-height: 40px; margin-top: 14px; }
.section-title { font-size: 32px; font-weight: 500; letter-spacing: -.025em; margin-bottom: 16px; }
.section-subtitle { color: var(--muted); font-size: 16px; line-height: 1.9; max-width: 46em; }
.section-topline { display: flex; gap: 24px; justify-content: space-between; align-items: baseline; margin-bottom: 30px; }
.section-topline .section-title { margin-bottom: 0; }
.selected-section { padding-bottom: 40px; }
.selected-work { padding-block: 30px; border-top: 1px solid var(--line); }
.selected-work-link { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) minmax(0, 1.1fr); gap: 32px; align-items: start; }
.selected-work-heading, .selected-work-copy { min-width: 0; }
.selected-work .project-card-summary { margin-top: 0; }
.selected-work .project-card-action { margin-top: 12px; }
.selected-work:not(.selected-work-with-media) .selected-work-copy { grid-column: 2 / 4; max-width: 40em; }
.selected-work .project-figure img { width: 100%; height: auto; }
.selected-work .selected-atlas { position: relative; aspect-ratio: 12799 / 1080; overflow: hidden; }
.selected-work .selected-atlas img { position: absolute; width: 8.438%; max-width: none; max-height: none; height: auto; transform-origin: top left; transform: rotate(-90deg) translateX(-100%); }
.selected-work-panorama .selected-work-link { row-gap: 24px; }
.selected-work-panorama .project-figure { grid-column: 1 / -1; }
.selected-work-panorama .project-figure img { max-height: none; }
.selected-work-panorama .selected-work-copy { grid-column: 2 / -1; max-width: 40em; }
.selected-work-link:hover h3 { color: var(--blue); }
.more-research { padding-top: 24px; border-top: 1px solid var(--line); font-size: 14px; }
.more-research .inline-link { gap: 8px; }
.research-interface { max-width: 900px; margin-bottom: 32px; }
.work-row { display: grid; grid-template-columns: 170px minmax(0, 1fr); align-items: center; gap: 30px; padding: 32px 0; border-top: 1px solid var(--line); }
.work-year { font-size: 14px; }
.work-year span { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; }
.work-row h2, .work-row h3 { font-size: 28px; font-weight: 500; letter-spacing: -.025em; margin-bottom: 9px; }
.work-row p { color: var(--muted); font-size: 15px; line-height: 1.85; max-width: 640px; }
.work-row > .inline-link { justify-self: end; white-space: nowrap; }
.research-page { padding-bottom: 56px; }
.page-heading { padding-block: 42px 38px; }
.breadcrumbs { font-size: 12px; color: var(--muted); display: flex; gap: 12px; align-items: center; margin-bottom: 24px; flex-wrap: wrap; }
.breadcrumbs a { min-height: 30px; display: inline-flex; align-items: center; }
.page-heading h1 { font-size: 48px; font-weight: 500; letter-spacing: -.035em; max-width: 18em; }
.page-heading > p { font-size: 17px; line-height: 1.9; max-width: 46em; margin-top: 19px; color: var(--muted); }
.page-heading > .hero-kicker { font-size: 12px; margin-top: 0; }
.page-section { padding-block: 38px 48px; border-top: 1px solid var(--line); }
.page-section h2 { font-size: 28px; font-weight: 500; margin-bottom: 19px; }
.research-detail .page-heading, .project-body { max-width: 900px; }
.project-body { padding-bottom: 34px; }
.project-body section { padding-block: 28px 36px; border-top: 1px solid var(--line); }
.project-body h2 { font-size: 26px; font-weight: 500; margin-bottom: 19px; }
.project-body p { font-size: 16px; line-height: 1.95; color: var(--muted); max-width: 43em; }
.project-body .research-statement { font-size: 23px; color: var(--ink); line-height: 1.7; }
.paper-citation > span { color: var(--muted); font-size: 13px; }
.paper-citation h3 { font-size: 22px; font-weight: 500; line-height: 1.5; margin-top: 14px; }
.paper-citation .inline-link + .inline-link { margin-left: 24px; }
.about-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 50px; }
.about-grid h2 { font-size: 26px; }
.about-grid p a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.about-grid p { font-size: 16px; line-height: 1.95; color: var(--muted); }
.resource-row { padding-block: 22px; border-bottom: 1px solid var(--line); font-size: 20px; }
.resource-row:first-child { padding-top: 0; }
.resource-row a { font-size: 12px; color: var(--muted); float: right; min-height: 32px; padding-top: 4px; }
.contact-channel { margin-top: 10px; border-top: 1px solid var(--line); padding: 24px 0 64px; }
.contact-channel .label, .contact-channel small { font-size: 12px; color: var(--muted); }
.contact-channel small { display: block; margin-top: 10px; }
.contact-email { margin: 18px 0; }
.contact-email img { width: 244px; height: auto; }
.contact-channel > .inline-link { margin-top: 24px; }
.not-found { padding-bottom: 64px; }
.not-found .hero-actions { margin-top: 0; }
.people-page .page-heading { padding-bottom: 48px; }
.roster-section { padding-bottom: 48px; }
.roster-section > h2 { font-size: 16px; font-weight: 400; color: var(--muted); margin-bottom: 18px; }
.people-roster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 64px; }
.person-card { min-width: 0; border-top: 1px solid var(--line); }
.person-card:focus { outline: 2px solid var(--blue); outline-offset: 4px; }
.person-card-link { display: grid; grid-template-columns: minmax(0, 1fr) 16px; column-gap: 22px; align-items: center; min-height: 106px; padding: 24px 0; }
.person-card-heading { display: flex; align-items: baseline; gap: 25px; min-width: 0; }
.person-card h3 { font-size: 25px; font-weight: 500; letter-spacing: -.02em; white-space: nowrap; }
.person-title { font-size: 14px; font-weight: 400; color: var(--muted); line-height: 1.75; overflow-wrap: anywhere; }
.person-navigation { color: var(--muted); display: flex; align-items: center; }
.person-card-link:hover .person-navigation { color: var(--blue); }
.person-english { font-size: 13px; color: var(--muted); }
.member-heading { padding-bottom: 28px; max-width: 900px; }
.person-heading-line { display: flex; align-items: baseline; gap: 28px; flex-wrap: wrap; }
.person-heading-line .person-title { font-size: 16px; }
.member-reading { max-width: 900px; padding-bottom: 64px; }
.member-introduction { padding: 12px 0 40px; max-width: 820px; }
.member-statement { font-size: 25px; line-height: 1.75; margin-bottom: 22px; }
.member-background-copy, .member-overview { font-size: 17px; line-height: 1.95; color: var(--muted); }
.member-background-copy + .member-background-copy { margin-top: 16px; }
.member-background-copy + .member-overview { margin-top: 18px; }
.profile-links { display: flex; gap: 28px; flex-wrap: wrap; margin-top: 20px; }
.member-publications > h2, .member-honors > h2, .member-projects > h2 { font-size: 22px; font-weight: 500; margin-bottom: 20px; }
.member-publications > h2 span { color: var(--muted); font-size: 14px; white-space: nowrap; }
.member-projects { margin-bottom: 40px; }
.member-projects ul { list-style: none; padding: 0; border-top: 1px solid var(--line); }
.member-projects li { display: flex; gap: 24px; justify-content: space-between; padding-block: 15px; border-bottom: 1px solid var(--line); }
.member-projects li a { color: var(--blue); }
.member-projects li span { flex-shrink: 0; color: var(--muted); font-size: 13px; }
.member-honors { margin-top: 42px; }
.member-honors p { color: var(--muted); font-size: 15px; margin-top: 8px; }
.paper-list { border-top: 1px solid var(--line); }
.paper-row { display: grid; grid-template-columns: 175px minmax(0, 1fr); gap: 35px; padding: 27px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.paper-reference { display: flex; flex-direction: column; gap: 3px; font-size: 12px; line-height: 1.8; color: var(--muted); }
.paper-reference > span:first-child { font-size: 14px; color: var(--ink); font-variant-numeric: tabular-nums; }
.paper-reference .paper-award { color: var(--blue); }
.paper-content { min-width: 0; }
.paper-content h2, .paper-content h3 { font-size: 21px; font-weight: 500; line-height: 1.6; letter-spacing: -.015em; text-wrap: pretty; overflow-wrap: anywhere; }
.paper-content > p { font-size: 14px; color: var(--muted); margin-top: 12px; }
/* Reserve scrollbar space so expanding years cannot shift the page sideways. */
html:has(.bibliography-page) { scrollbar-gutter: stable; }
.bibliography-page { padding-bottom: 64px; }
.publication-year { border-top: 1px solid var(--line); }
.publication-year > summary { display: flex; align-items: center; justify-content: flex-start; gap: 14px; padding-block: 22px; cursor: pointer; list-style: none; }
.publication-year > summary::-webkit-details-marker { display: none; }
.publication-year > summary::before { content: ""; width: 8px; height: 8px; flex: 0 0 8px; border-right: 1.5px solid var(--muted); border-bottom: 1.5px solid var(--muted); transform: rotate(-45deg); }
.publication-year[open] > summary::before { transform: rotate(45deg); }
.publication-year[open] { padding-bottom: 24px; }
.publication-year > summary h2 { font-size: 30px; font-weight: 500; }
.member-index { display: flex; flex-wrap: wrap; gap: 6px 26px; border-block: 1px solid var(--line); padding-block: 12px; font-size: 13px; }
.member-index a { display: inline-flex; align-items: center; min-height: 36px; }
.member-index { margin-bottom: 24px; }
.portfolio-entry { padding-bottom: 48px; margin-bottom: 48px; border-bottom: 1px solid var(--line); }
.portfolio-entry:last-child { border-bottom: 0; margin-bottom: 0; }
.portfolio-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 28px; margin-bottom: 26px; }
.portfolio-heading .hero-kicker { margin-bottom: 10px; }
.portfolio-heading h2 { font-size: 34px; font-weight: 500; letter-spacing: -.025em; }
.portfolio-heading h2:focus-visible { outline: 2px solid var(--blue); outline-offset: 6px; }
.portfolio-period { color: var(--muted); font-size: 13px; flex-shrink: 0; }
.portfolio-body { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 38px; align-items: start; }
.portfolio-copy { min-width: 0; }
.portfolio-description p { color: var(--muted); font-size: 16px; line-height: 1.95; }
.portfolio-description p + p { margin-top: 16px; }
.portfolio-details { margin-top: 24px; }
.portfolio-details section + section { margin-top: 24px; }
.portfolio-details h3 { font-size: 18px; font-weight: 500; margin-bottom: 8px; }
.portfolio-details p { color: var(--muted); font-size: 16px; line-height: 1.95; }
.portfolio-details p + p { margin-top: 12px; }
.project-figure { min-width: 0; }
.project-figure img { width: 100%; height: auto; }
.project-figure figcaption, .atlas-figure figcaption { font-size: 12px; color: var(--muted); line-height: 1.75; margin-top: 10px; }
.project-credits { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 13px; }
.project-credits > div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 12px; margin-bottom: 8px; }
.project-credits dt { color: var(--muted); }
.project-credits dd { margin: 0; }
.project-credits a { color: var(--blue); }
.project-source-links { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-top: 12px; }
.portfolio-entry-wide .portfolio-body { display: block; }
.portfolio-entry-wide .portfolio-copy { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; margin-top: 28px; }
.portfolio-entry-wide .project-credits { margin-top: 0; padding-top: 0; border-top: 0; }
.atlas-figure { min-width: 0; }
.atlas-scroll { --atlas-height: 390px; width: 100%; height: var(--atlas-height); overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; background: #f5f2ec; }
.atlas-scroll:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
.atlas-track { height: var(--atlas-height); width: calc(var(--atlas-height) * 12799 / 1080); position: relative; }
.atlas-track img { position: absolute; max-width: none; width: var(--atlas-height); height: calc(var(--atlas-height) * 12799 / 1080); transform-origin: top left; transform: translateY(var(--atlas-height)) rotate(-90deg); }
.atlas-figure figcaption span { display: block; }
.project-capabilities { padding-bottom: 46px; }
.capability-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 38px; margin-top: 30px; }
.capability-grid h3 { font-size: 23px; font-weight: 500; margin-bottom: 14px; }
.capability-grid p { color: var(--muted); font-size: 15px; line-height: 1.9; }
.capability-grid > article > div { display: flex; flex-wrap: wrap; column-gap: 20px; margin-top: 13px; }
.project-partners { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 32px; align-items: center; padding-block: 36px 44px; border-top: 1px solid var(--line); }
.project-partners .section-title { margin: 0; font-size: 18px; font-weight: 400; line-height: 1.5; letter-spacing: .04em; color: var(--muted); }
.partner-logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px; align-items: center; list-style: none; padding: 0; margin: 0; }
.partner-logos li { min-height: 86px; display: flex; justify-content: center; align-items: center; min-width: 0; }
.partner-logo { width: auto; height: auto; object-fit: contain; max-width: 100%; }
.partner-logo-bytedance { width: 168px; filter: brightness(0); }
.partner-logo-geely { width: 183px; }
.partner-logo-alibaba { width: 168px; }
.partner-logo-dji { width: 65px; }
.site-footer { border-top: 1px solid var(--ink); padding-block: 32px; }
.footer-main { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 25px; align-items: center; }
.footer-main .logo { font-size: 32px; }
.footer-main p { font-size: 13px; }
.footer-main p span { color: var(--muted); font-size: 12px; }
.footer-main > div { display: flex; justify-content: flex-end; font-size: 13px; }
.footer-main a:not(.logo) { min-height: 38px; display: inline-flex; align-items: center; gap: 12px; }
/* Retained optional catalogue controls follow the six presentation switches. */
.chip-group, .participant-links, .paper-actions { display: flex; flex-wrap: wrap; gap: 9px 24px; }
.chip { border: 1px solid var(--line); background: var(--bg); padding: 8px 15px; min-height: 40px; font-size: 13px; }
.chip[aria-pressed=true] { background: var(--ink); color: white; }
.publication-people { margin-top: 14px; }
.publication-people > span { font-size: 11px; color: var(--muted); }
.participant-links a { display: inline-flex; align-items: center; min-height: 40px; font-size: 13px; color: var(--blue); }
.research-participants { padding-top: 25px; }
.research-participants h3 { font-size: 17px; font-weight: 500; }
@media (max-width: 1000px) {
  .shell { width: calc(100% - 64px); }
  .header-inner { gap: 25px; }
  .header-inner nav { gap: 22px; }
  .hero-actions { gap: 14px; }
  .link-arrow { gap: 14px; }
  .work-row { grid-template-columns: 140px minmax(0, 1fr) 100px; gap: 24px; }
  .people-roster { column-gap: 34px; }
  .person-card-heading { gap: 18px; }
  .portfolio-body { gap: 28px; }
}
@media (max-width: 760px) {
  .home-introduction { min-height: 400px; align-items: flex-start; margin-block: 12px 26px; }
  .home-introduction-copy { width: 100%; padding-block: 24px; }
  .home-introduction::after { background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,.96) 32%, rgba(255,255,255,.15) 66%, transparent 100%); }
  .home-visual { width: 100%; height: 260px; top: auto; bottom: 0; }
  .selected-work-link { grid-template-columns: 1fr; gap: 14px; }
  .selected-work:not(.selected-work-with-media) .selected-work-copy, .selected-work-panorama .selected-work-copy { grid-column: auto; }

  .home-introduction h1 { font-size: 44px; }
  .home-introduction p { font-size: 18px; }
  .selected-work .project-figure { margin-top: 4px; }
  html { scroll-padding-top: 132px; }
  .shell { width: calc(100% - 40px); }
  .header-inner { height: auto; min-height: 72px; gap: 14px; flex-wrap: wrap; padding-block: 15px 0; }
  .logo { font-size: 28px; }
  .brand-lockup { gap: 10px; }
  .brand-cn { font-size: 12px; }
  .header-inner nav { order: 3; width: 100%; justify-content: space-between; gap: 12px; margin: 0; }
  .header-inner nav a { min-height: 44px; }
  .contact-link { margin-left: auto; font-size: 12px; gap: 18px; min-height: 40px; }
  .hero-actions { margin-top: 10px; gap: 24px; }
  .section-title { font-size: 28px; }
  .section-topline { gap: 16px; margin-bottom: 24px; }
  .section-topline .inline-link { font-size: 12px; flex-shrink: 0; }
  .project-card h3 { font-size: 26px; }
  .work-row { grid-template-columns: 1fr; gap: 12px; padding: 25px 0; }
  .work-year span { display: inline; margin-left: 12px; }
  .work-row > .inline-link { justify-self: start; }
  .work-row h2, .work-row h3 { font-size: 26px; }
  .page-heading { padding-block: 30px; }
  .page-heading h1 { font-size: 39px; }
  .page-heading > p { font-size: 16px; }
  .breadcrumbs { margin-bottom: 18px; }
  .page-section { padding-block: 30px 36px; }
  .page-section h2, .project-body h2 { font-size: 25px; }
  .project-body section { padding-block: 24px 30px; }
  .project-body .research-statement { font-size: 21px; }
  .paper-citation h3 { font-size: 20px; }
  .about-grid { grid-template-columns: 1fr; gap: 20px; }
  .resource-row { font-size: 17px; }
  .resource-row a { float: none; display: block; }
  .contact-email img { width: 214.72px; }
  .people-page .page-heading { padding-bottom: 32px; }
  .people-roster { grid-template-columns: 1fr; }
  .roster-section { padding-bottom: 34px; }
  .person-card-link { min-height: 90px; padding-block: 21px; }
  .person-card-heading { gap: 24px; }
  .person-card h3 { font-size: 24px; }
  .member-heading { padding-bottom: 22px; }
  .person-heading-line { gap: 20px; }
  .person-heading-line .person-title { font-size: 14px; }
  .member-reading { padding-bottom: 42px; }
  .member-introduction { padding-bottom: 30px; }
  .member-statement { font-size: 22px; }
  .member-background-copy, .member-overview { font-size: 16px; }
  .member-projects { margin-bottom: 30px; }
  .member-projects li { gap: 16px; align-items: baseline; }
  .member-projects li a { font-size: 15px; }
  .paper-row { grid-template-columns: 1fr; gap: 11px; padding: 23px 0; }
  .paper-reference { flex-direction: row; flex-wrap: wrap; gap: 5px 12px; align-items: baseline; }
  .paper-content h2, .paper-content h3 { font-size: 19px; }
  .member-index { gap: 5px 22px; padding-block: 10px; }
  .publication-year > summary h2 { font-size: 27px; }
  .portfolio-entry { padding-bottom: 32px; margin-bottom: 32px; }
  .portfolio-heading { gap: 18px; margin-bottom: 22px; }
  .portfolio-heading h2 { font-size: 27px; }
  .portfolio-body, .portfolio-entry-wide .portfolio-copy { grid-template-columns: 1fr; gap: 23px; }
  .portfolio-entry-wide .portfolio-copy { margin-top: 23px; }
  .portfolio-description p { font-size: 15px; }
  .project-credits { margin-top: 21px; }
  .atlas-scroll { --atlas-height: 320px; }
  .capability-grid { grid-template-columns: 1fr; gap: 28px; margin-top: 24px; }
  .capability-grid h3 { font-size: 22px; }
  .project-capabilities { padding-bottom: 33px; }
  .project-partners { grid-template-columns: 1fr; gap: 16px; padding-block: 28px 32px; }
  .partner-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; margin: 0; }
  .partner-logos li { min-height: 78px; }
  .partner-logo-bytedance { width: 140px; }
  .partner-logo-geely { width: 146px; }
  .partner-logo-alibaba { width: 140px; }
  .partner-logo-dji { width: 58px; }
  .site-footer { padding-block: 26px; }
  .footer-main { grid-template-columns: 1fr 1.5fr; gap: 20px; }
  .footer-main > div { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (max-width: 380px) {
  .header-inner nav { font-size: 13px; }
  .hero-actions { gap: 20px; }
  .page-heading h1 { font-size: 34px; }
  .section-title { font-size: 26px; }
  .footer-main { grid-template-columns: 1fr; gap: 15px; }
  .person-card-heading { gap: 16px; }
  .person-title { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

.about-grid p + p { margin-top: 18px; }
.bibliography-page .paper-content h3 a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 4px; }
