/* SIL OFL 1.1; copyright and full licenses: ASSET_LICENSES.md and licenses/. */
@font-face { font-family: 'Inter'; src: url('./fonts/inter.woff') format('woff'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Manrope'; src: url('./fonts/manrope.woff') format('woff'); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'IBM Plex Mono'; src: url('./fonts/ibm-plex-mono.woff') format('woff'); font-weight: 400; font-style: normal; font-display: swap; }
:root {
  --paper: #FFFFFF;
  --white: #ffffff;
  --ink: #15171C;
  --soft: #4F5665;
  --muted: #606979;
  --accent: #365BFF;
  --accent-hover: #2745D8;
  --line: #E2E6EF;
  --tint: #EEF0FF;
  --tint-deep: #E2E7FA;
  --surface: #FBFCFF;
  --sans: 'Inter', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif;
  --display: 'Manrope', 'Inter', 'Apple SD Gothic Neo', sans-serif;
  --mono: 'IBM Plex Mono', 'SFMono-Regular', Consolas, monospace;
  --gutter: clamp(20px, 4vw, 64px);
  --header-bg: rgba(255, 255, 255, .97);
  --panel-bg: #F6F8FF;
  --field-bg: #FFFFFF;
  --surface-hover: #F5F7FF;
  --placeholder-bg: #F1F3FA;
  --placeholder-mark: #8290AC;
  --link-line: #BCC7E3;
  --selection-bg: #DDE5FF;
  --focus-wash: #365BFF2B;
  --soft-shadow: #15171C08;
  --button-bg: var(--accent);
  --button-hover: var(--accent-hover);
  --on-accent: #FFFFFF;
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-6: 48px;
  --space-8: 64px;
  --space-10: 80px;
  --space-12: 96px;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 105px; scrollbar-gutter: stable; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.8; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
[hidden] { display: none !important; }
::selection { background: var(--selection-bg); color: var(--ink); }
:where(h1, h2, h3, h4, p) { overflow-wrap: break-word; }
:where(img, svg) { max-width: 100%; }
.container { width: min(1240px, calc(100% - var(--gutter) * 2)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; left: 12px; top: 12px; padding: 12px 20px; background: var(--ink); color: var(--white); font-size: 14px; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; top: 0; z-index: 20; background: var(--header-bg); border-bottom: 1px solid var(--line); }
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 80px; gap: 24px; }
.wordmark { display: flex; align-items: center; gap: 13px; min-width: 0; }
.logo { width: 34px; height: 34px; flex: 0 0 34px; color: var(--accent); }
.wordmark > span { min-width: 0; }
.wordmark strong { display: block; font-family: var(--display); font-size: 18px; font-weight: 650; letter-spacing: -.04em; line-height: 1.4; }
.wordmark small { display: block; margin-top: 3px; color: var(--muted); font-family: var(--mono); font-size: 12px; font-weight: 400; line-height: 1.6; letter-spacing: .035em; }
.header-actions { display: flex; align-items: center; gap: 28px; flex-shrink: 0; }
nav { display: flex; gap: 30px; }
nav a { display: inline-flex; align-items: center; position: relative; min-height: 48px; padding: 11px 0; color: var(--soft); font-size: 13px; font-weight: 500; }
nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 5px; height: 1px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .18s; }
nav a:hover, nav a[aria-current] { color: var(--accent); }
nav a:hover::after, nav a[aria-current]::after { transform: scaleX(1); }
.language-switch { display: inline-flex; align-items: center; min-height: 44px; padding-left: 22px; border-left: 1px solid var(--line); font-family: var(--mono); font-size: 12px; font-weight: 400; white-space: nowrap; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 11px; background: transparent; border: 0; }
.menu-toggle span { display: block; height: 1.5px; margin: 6px 0; background: var(--ink); }

.eyebrow { margin: 0; color: var(--accent); font-family: var(--mono); font-size: 12px; font-weight: 400; line-height: 1.8; letter-spacing: .075em; text-transform: uppercase; }
.hero { display: block; padding-top: 58px; }
.hero-copy { min-width: 0; padding-bottom: 48px; }
.hero-eyebrow { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 29px; }
.hero-leader { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--muted); font-size: 13px; }
.hero-leader:hover { color: var(--accent); }
.hero-leader > span { color: var(--accent); }
.preview-label { display: none; }
h1 { max-width: 100%; margin: 0 0 24px; font-family: var(--display); font-size: clamp(42px, 4.4vw, 56px); font-weight: 600; line-height: 1.13; letter-spacing: -.032em; word-spacing: .035em; }
h1 > span { color: var(--accent); font-size: 1em; font-weight: 600; }
.hero h1 { max-width: 100%; margin-bottom: 36px; font-size: clamp(62px, 7.55vw, 104px); font-weight: 600; line-height: 1.04; letter-spacing: -.055em; word-spacing: 0; }
.hero h1 > span { color: var(--accent); }
.hero-support { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.hero-intro { max-width: 48ch; margin: 0; color: var(--soft); font-size: 18px; line-height: 1.65; letter-spacing: -.014em; }
.hero-buttons { display: flex; align-items: center; flex-wrap: wrap; flex-shrink: 0; gap: 24px; margin: 0; }
.button-primary { display: inline-flex; align-items: center; justify-content: center; gap: 26px; min-height: 48px; padding: 13px 20px; border: 1px solid var(--accent); border-radius: 2px; background: var(--accent); color: var(--white); font-size: 13px; font-weight: 500; line-height: 1.6; transition: background .18s, border-color .18s; }
.button-primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.button-primary .link-number { display: none; }
.button-primary > span:last-child { font-size: 18px; line-height: 1; }
.hero-buttons > .button-primary:nth-child(n+2), .hero-buttons > .button-secondary { padding-inline: 0; border-color: transparent; background: transparent; color: var(--ink); }
.hero-buttons > .button-primary:nth-child(n+2):hover, .hero-buttons > .button-secondary:hover { color: var(--accent); }
.text-link, .research-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: 13px; font-weight: 500; line-height: 1.7; }
.text-link > span, .research-link > span { color: var(--accent); font-size: 18px; transition: transform .18s; }
.text-link:hover, .research-link:hover { color: var(--accent); }
.text-link:hover > span, .research-link:hover > span { transform: translate(2px, -2px); }
.hero-strip { min-width: 0; padding: 24px 0 0; border-top: 1px solid var(--line); }
.strip-label { margin: 0 0 16px; color: var(--muted); font-family: var(--mono); font-size: 12px; font-weight: 400; line-height: 1.8; letter-spacing: .065em; }
.hero-fields { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.hero-fields li { display: flex; align-items: baseline; gap: 14px; min-width: 0; padding: 0 20px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 16px; font-weight: 500; line-height: 1.6; letter-spacing: -.018em; }
.hero-fields li:first-child { padding-left: 0; }
.hero-fields li:last-child { padding-right: 0; border-right: 0; }
.field-index { color: var(--accent); font-family: var(--mono); font-size: 11px; font-weight: 400; letter-spacing: 0; }

.section { padding-block: 96px; }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; margin-bottom: 40px; }
.section-number { margin-bottom: 15px; }
h2 { margin: 0; font-family: var(--display); font-size: clamp(31px, 3vw, 39px); font-weight: 500; line-height: 1.32; letter-spacing: -.045em; }
.section-intro { max-width: 44ch; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.85; }
.research-overview { max-width: 45ch; }
.research-overview .section-intro { max-width: none; }
.research-overview > .text-link { margin-top: 9px; color: var(--accent); font-size: 12px; }
.research-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); }
.research-item { display: flex; flex-direction: column; min-width: 0; padding: 32px; background: var(--surface); border-right: 1px solid var(--line); }
.research-item:last-child { border-right: 0; }
.research-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.research-symbol { display: block; width: 68px; height: 60px; color: var(--accent); fill: none; stroke: var(--accent); stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.item-number { color: var(--muted); font-family: var(--mono); font-size: 12px; font-weight: 400; line-height: 1.8; }
.research-titles { min-width: 0; }
.research-title { min-height: 2.7em; margin: 0 0 13px; color: var(--ink); font-family: var(--display); font-size: 22px; font-weight: 500; line-height: 1.4; letter-spacing: -.03em; }
.research-subtitle { min-height: 3.6em; margin: 0 0 21px; color: var(--accent); font-size: 13px; line-height: 1.8; }
.research-detail { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.research-detail p { margin: 0; color: var(--soft); font-size: 15px; line-height: 1.9; }
.tags { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: auto; padding-top: 16px; }
.tags span { color: var(--muted); font-family: var(--mono); font-size: 12px; line-height: 1.8; }
.research-link { align-self: flex-start; margin-top: 19px; padding-top: 8px; color: var(--accent); border-top: 1px solid var(--line); font-size: 12px; }
.page-home .research-list { gap: 32px; border: 0; }
.page-home .research-item { padding: 0; border: 0; background: transparent; }
.page-home .research-card-top { min-height: 0; padding-top: 18px; margin-bottom: 22px; border-top: 1px solid var(--line); }
.page-home .research-title { min-height: 2.7em; font-size: 26px; line-height: 1.3; letter-spacing: -.035em; }
.page-home .research-title a { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; min-height: 44px; }
.research-title-arrow { flex: 0 0 auto; color: var(--accent); font-size: 22px; font-weight: 400; transition: transform .18s; }
.research-title a:hover .research-title-arrow { transform: translateX(3px); }
.page-home .research-item:hover, .page-home .research-item:focus-within { background: transparent; box-shadow: none; }
.page-home .research-detail p { max-width: 44ch; line-height: 1.75; }
.page-home .section h2 { font-size: clamp(34px, 3.55vw, 48px); line-height: 1.2; letter-spacing: -.045em; }

.people-section { border-top: 1px solid var(--line); }
.section-aside { color: var(--muted); font-family: var(--mono); font-size: 12px; line-height: 1.9; letter-spacing: .04em; text-align: right; }
.pi-profile { display: grid; grid-template-columns: 174px minmax(0, 1fr); align-items: start; gap: 62px; max-width: 1020px; margin-top: 8px; }
.pi-portrait { width: 174px; max-width: 100%; margin: 0; }
.pi-portrait img { display: block; width: 100%; height: auto; background: #eef1f5; border: 1px solid var(--line); }
.pi-portrait figcaption { margin-top: 11px; color: var(--muted); font-family: var(--mono); font-size: 12px; line-height: 1.8; }
.pi-text { min-width: 0; }
.pi-text > .eyebrow { margin-bottom: 11px; }
.pi-text h3 { margin: 0 0 10px; font-family: var(--display); font-size: 32px; font-weight: 500; line-height: 1.35; letter-spacing: -.04em; }
.pi-text h3 > span { display: inline-block; margin-left: 14px; color: var(--muted); font-family: var(--sans); font-size: 14px; font-weight: 400; letter-spacing: 0; }
.pi-role { margin: 0 0 5px; font-size: 15px; font-weight: 500; }
.pi-department { margin: 0 0 19px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.pi-description { max-width: 69ch; margin: 0 0 18px; color: var(--soft); font-size: 15px; line-height: 1.9; }
.pi-education { max-width: 77ch; margin: 0 0 16px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--soft); font-size: 13px; line-height: 1.9; }
.pi-education > span { display: block; margin-bottom: 5px; color: var(--muted); font-family: var(--mono); font-size: 12px; letter-spacing: .06em; }
.pi-interests { display: flex; flex-wrap: wrap; gap: 7px 11px; margin: 0 0 18px; padding: 0; list-style: none; }
.pi-interests span, .pi-interests li { padding: 3px 9px; border: 1px solid var(--line); color: var(--accent); font-size: 12px; line-height: 1.8; }
.members-heading { margin-top: 54px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.members-heading h3 { margin: 0; color: var(--soft); font-family: var(--mono); font-size: 12px; font-weight: 400; line-height: 1.8; letter-spacing: .075em; }
.member { display: grid; grid-template-columns: 48px minmax(0, 1fr) minmax(230px, .75fr); align-items: center; gap: 27px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.member-avatar { display: grid; place-items: center; width: 48px; height: 48px; background: var(--tint); color: var(--accent); font-family: var(--mono); font-size: 16px; font-weight: 400; line-height: 1; }
.member-name, .member-role { min-width: 0; }
.member-name h4 { margin: 0 0 3px; font-family: var(--display); font-size: 19px; font-weight: 500; line-height: 1.5; letter-spacing: -.025em; }
.member-name > span { color: var(--muted); font-size: 12px; }
.member-role p { margin: 0; font-size: 14px; font-weight: 500; }
.member-role > span { color: var(--muted); font-size: 12px; line-height: 1.8; }
.members-note { max-width: 88ch; margin: 17px 0 0; color: var(--muted); font-size: 12px; line-height: 1.9; }

.publications-section { background: var(--panel-bg); border-top: 1px solid var(--line); }
.publications-section .section-head { margin-bottom: 22px; }
.publications-section h2 br { display: none; }
.publications-intro { max-width: 76ch; margin: 0 0 27px; color: var(--muted); font-size: 15px; line-height: 1.85; }
.publication-tools { display: grid; grid-template-columns: minmax(0, 1fr) 140px; align-items: stretch; gap: 14px; max-width: 650px; margin-bottom: 27px; }
.search-box { display: flex; align-items: center; gap: 11px; min-width: 0; min-height: 48px; padding: 11px 14px; border: 1px solid var(--line); background: var(--field-bg); }
.search-box svg { width: 17px; height: 17px; flex-shrink: 0; fill: none; stroke: var(--muted); stroke-width: 1.4; }
.search-box input { width: 100%; min-width: 0; padding: 0; border: 0; outline: none; background: transparent; color: var(--ink); font-size: 13px; line-height: 1.8; }
.search-box input::placeholder { color: var(--muted); opacity: 1; }
.search-box:focus-within { border-color: var(--accent); outline: 2px solid var(--focus-wash); outline-offset: 2px; }
.search-box input:focus-visible { outline: 0; }
.year-filter { min-width: 0; }
.year-filter select { width: 100%; height: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--line); background: var(--field-bg); color: var(--soft); font-size: 13px; line-height: 1.8; cursor: pointer; }
#publication-list { border-top: 1px solid var(--line); }
.publication { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 30px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.pub-year { padding-top: 3px; color: var(--accent); font-family: var(--mono); font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums; line-height: 1.8; }
.pub-type { display: block; margin-top: 7px; color: var(--muted); font-family: var(--mono); font-size: 12px; font-weight: 400; line-height: 1.7; text-transform: uppercase; }
.pub-body > .pub-type { margin: 0 0 6px; }
.pub-body { min-width: 0; }
.pub-body :is(h2, h3, h4, h5) { max-width: 1040px; margin: 0 0 10px; font-size: 18px; font-weight: 500; line-height: 1.65; letter-spacing: -.012em; }
.pub-body :is(h2, h3, h4, h5) a { display: block; position: relative; padding-right: 37px; }
.pub-body :is(h2, h3, h4, h5) a:hover { color: var(--accent); }
.pub-arrow { position: absolute; right: 0; top: 0; color: var(--accent); font-size: 20px; line-height: 1.6; }
.pub-authors { margin: 0 0 6px; color: var(--soft); font-size: 13px; line-height: 1.85; }
.pub-journal { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.9; }
.pub-journal > span { color: var(--soft); }
.pub-journal .pub-doi { display: inline; color: var(--accent); font-family: var(--mono); font-size: 12px; overflow-wrap: anywhere; }
.pub-doi a { text-decoration: underline; text-decoration-color: var(--link-line); text-underline-offset: 3px; }
a.pub-doi { text-decoration: underline; text-decoration-color: var(--link-line); text-underline-offset: 3px; }
.no-results { margin: 20px 0 0; padding: 18px 0; color: var(--muted); font-size: 15px; }

.contact-section { padding-block: 80px; border-top: 1px solid var(--line); background: var(--tint); color: var(--ink); }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr); gap: 110px; }
.contact-copy, .contact-location { min-width: 0; }
.contact-section h2 { max-width: 16ch; font-size: 37px; }
.contact-copy > p:not(.eyebrow) { max-width: 45ch; margin: 21px 0 25px; color: var(--soft); font-size: 15px; line-height: 1.9; }
.contact-email { display: inline-flex; align-items: center; gap: 27px; max-width: 100%; padding-bottom: 9px; border-bottom: 1px solid var(--link-line); color: var(--accent); font-family: var(--display); font-size: clamp(22px, 2.15vw, 29px); font-weight: 500; line-height: 1.5; letter-spacing: -.03em; overflow-wrap: anywhere; }
.contact-email > span { flex-shrink: 0; color: var(--accent); font-family: var(--sans); font-size: 23px; }
.contact-location { padding-top: 4px; }
.contact-location > p:not(.eyebrow) { margin: 19px 0 11px; color: var(--soft); font-size: 14px; line-height: 1.95; }
.contact-location > svg { display: none; }

.site-footer { background: var(--paper); }
.site-footer > .container { padding-block: 35px 28px; }
.footer-top { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.footer-top strong { display: block; margin-bottom: 5px; font-family: var(--display); font-size: 18px; font-weight: 600; line-height: 1.5; letter-spacing: -.04em; }
.footer-top > div > span { color: var(--muted); font-size: 12px; line-height: 1.8; }
.footer-bottom { display: flex; justify-content: space-between; gap: 35px; margin-top: 19px; color: var(--muted); font-size: 12px; line-height: 1.9; }

.lang-ko h1 { font-size: clamp(37px, 4.1vw, 52px); line-height: 1.35; letter-spacing: -.055em; word-spacing: normal; word-break: keep-all; }
.lang-ko h2 { font-size: clamp(29px, 2.9vw, 37px); line-height: 1.4; letter-spacing: -.04em; word-break: keep-all; }
.lang-ko p { word-break: keep-all; }
.lang-ko .wordmark strong { font-size: 15px; }
.lang-ko .hero-subtitle { font-size: 18px; line-height: 1.75; }
.lang-ko .research-title { font-size: 20px; }

@media (min-width: 1440px) {
  .hero { padding-top: 72px; }
}

@media (max-width: 1100px) {
  .header-actions { gap: 21px; }
  nav { gap: 23px; }
  .hero { padding-top: 48px; }
  .hero-copy { padding-bottom: 40px; }
  h1 { font-size: clamp(42px, 4.65vw, 54px); }
  .hero-support { align-items: flex-start; }
  .hero-intro { max-width: 42ch; font-size: 17px; }
  .hero-buttons { gap: 14px; }
  .hero-fields li { gap: 10px; padding-inline: 14px; font-size: 15px; }
  .section { padding-block: 84px; }
  .section-head { gap: 38px; }
  .research-item { padding: 28px 23px 23px; }
  .research-title { font-size: 20px; }
  .research-subtitle { min-height: 5.4em; }
  .research-detail p { font-size: 15px; }
  .pi-profile { gap: 43px; }
  .contact-layout { gap: 70px; }
}

@media (max-width: 880px) {
  html { scroll-padding-top: 90px; }
  .header-inner { height: 72px; gap: 18px; }
  .header-actions { gap: 12px; }
  .language-switch { padding-left: 16px; }
  .menu-toggle { display: block; }
  nav { display: none; position: absolute; top: 71px; left: 0; right: 0; flex-direction: column; gap: 0; padding: 16px var(--gutter); border-bottom: 1px solid var(--line); background: var(--paper); box-shadow: 0 15px 24px var(--soft-shadow); }
  nav.is-open { display: flex; }
  nav a { align-self: flex-start; min-height: 44px; padding-block: 12px; font-size: 14px; }
  nav a::after { bottom: 7px; }
  .hero { padding-top: 42px; }
  .hero-support { flex-direction: column; gap: 26px; }
  h1 { font-size: clamp(38px, 6.3vw, 53px); }
  .hero-intro { max-width: 50ch; }
  .hero-fields li { flex-direction: column; gap: 8px; padding-inline: 12px; }
  .section-head { align-items: flex-start; flex-direction: column; gap: 19px; }
  .section-intro { max-width: 58ch; }
  .research-overview { max-width: 58ch; }
  .research-list { grid-template-columns: minmax(0, 1fr); }
  .research-item { padding: 29px; border-right: 0; border-bottom: 1px solid var(--line); }
  .research-item:last-child { border-bottom: 0; }
  .page-home .research-list { gap: 38px; }
  .page-home .research-title { min-height: 0; }
  .research-card-top { min-height: 64px; margin-bottom: 20px; }
  .research-symbol { width: 73px; height: 64px; }
  .research-title { min-height: 0; margin-bottom: 11px; font-size: 23px; }
  .research-subtitle { min-height: 0; margin-bottom: 19px; font-size: 14px; }
  .research-detail p { font-size: 15px; max-width: 83ch; }
  .tags { padding-top: 19px; }
  .research-link { margin-top: 17px; }
  .pi-profile { grid-template-columns: 152px minmax(0, 1fr); gap: 35px; }
  .pi-portrait { width: 152px; }
  .pi-text h3 { font-size: 29px; }
  .member { grid-template-columns: 48px minmax(0, 1fr) minmax(0, .8fr); gap: 20px; }
  .publication { grid-template-columns: 62px minmax(0, 1fr); gap: 24px; }
  .contact-layout { gap: 48px; }
  .contact-section { padding-block: 70px; }
  .footer-bottom { gap: 25px; }
}

@media (max-width: 600px) {
  .wordmark small { display: none; }
  .wordmark strong { font-size: 16px; }
  .wordmark { gap: 10px; }
  .logo { width: 29px; height: 29px; flex-basis: 29px; }
  .header-inner { gap: 12px; }
  .header-actions { gap: 8px; }
  .language-switch { padding-left: 12px; }
  .hero { padding-top: 26px; }
  .hero-copy { padding-bottom: 30px; }
  .hero-eyebrow { margin-bottom: 22px; gap: 14px; }
  .hero-eyebrow .eyebrow { font-size: 12px; letter-spacing: .06em; }
  .hero-leader { font-size: 12px; gap: 6px; }
  h1 { font-size: clamp(27px, 7.8vw, 43px); line-height: 1.24; letter-spacing: -.04em; margin-bottom: 24px; }
  .hero h1 { margin-bottom: 27px; font-size: clamp(40px, 10.5vw, 62px); line-height: 1.08; letter-spacing: -.052em; }
  .hero-intro { font-size: 16px; line-height: 1.7; }
  .hero-buttons { gap: 23px; }
  .button-primary { min-height: 48px; padding: 12px 17px; gap: 19px; font-size: 13px; }
  .hero-strip { padding-top: 20px; }
  .strip-label { margin-bottom: 8px; font-size: 11px; }
  .hero-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-fields li { flex-direction: row; gap: 10px; padding: 14px 0; border-right: 0; font-size: 14px; }
  .hero-fields li:nth-child(2n) { padding-left: 14px; }
  .hero-fields li:last-child { grid-column: 1 / -1; }
  .section { padding-block: 65px; }
  .section-head { gap: 17px; margin-bottom: 30px; }
  h2 { font-size: 30px; line-height: 1.4; }
  .research-item { padding: 26px 22px 21px; }
  .research-card-top { margin-bottom: 19px; }
  .research-title { font-size: 22px; }
  .research-subtitle { font-size: 13px; }
  .section-aside { display: none; }
  .pi-profile { grid-template-columns: minmax(0, 1fr); gap: 27px; }
  .pi-portrait { width: 160px; }
  .pi-text h3 { font-size: 29px; }
  .pi-text h3 > span { font-size: 13px; }
  .members-heading { margin-top: 38px; }
  .member { grid-template-columns: 44px minmax(0, 1fr); align-items: start; gap: 11px 17px; padding-block: 24px; }
  .member-avatar { grid-row: 1 / 3; width: 44px; height: 44px; font-size: 15px; }
  .member-name h4 { font-size: 18px; }
  .member-role { grid-column: 2; }
  .member-role p { font-size: 13px; }
  .members-note { margin-top: 16px; }
  .publications-section .section-head { gap: 17px; margin-bottom: 19px; }
  .publications-intro { margin-bottom: 23px; }
  .publication-tools { grid-template-columns: minmax(0, 1fr) 112px; gap: 10px; }
  .search-box { padding-inline: 11px; gap: 8px; }
  .search-box input { font-size: 12px; }
  .year-filter select { padding-inline: 9px; font-size: 12px; }
  .publication { grid-template-columns: 42px minmax(0, 1fr); gap: 16px; padding-block: 25px; }
  .pub-year { font-size: 12px; }
  .pub-type { font-size: 12px; }
  .pub-body :is(h2, h3, h4, h5) { font-size: 17px; line-height: 1.75; }
  .pub-body :is(h2, h3, h4, h5) a { padding-right: 22px; }
  .pub-arrow { font-size: 18px; }
  .pub-authors, .pub-journal { font-size: 12px; }
  .pub-journal .pub-doi { display: block; margin-top: 5px; font-size: 12px; }
  .contact-section { padding-block: 61px; }
  .contact-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .contact-section h2 { font-size: 32px; }
  .contact-copy > p:not(.eyebrow) { margin: 18px 0 24px; }
  .contact-email { font-size: clamp(21px, 5.65vw, 25px); gap: 19px; }
  .contact-location { padding-top: 26px; border-top: 1px solid var(--line); }
  .contact-location > p:not(.eyebrow) { margin-top: 14px; font-size: 13px; }
  .footer-top { align-items: flex-start; gap: 16px; }
  .footer-top > div { min-width: 0; }
  .footer-top > div > span { display: block; max-width: 34ch; }
  .footer-top > .text-link { flex-shrink: 0; gap: 8px; font-size: 12px; }
  .footer-top strong { font-size: 17px; }
  .footer-bottom { flex-direction: column; gap: 10px; }
  .lang-ko h1 { font-size: clamp(30px, 7.6vw, 43px); line-height: 1.35; }
  .lang-ko h2 { font-size: 29px; }
  .lang-ko .hero-subtitle { font-size: 16px; }
  .lang-ko .wordmark strong { font-size: 13px; line-height: 1.4; }
  .lang-ko .research-title { font-size: 21px; }
}

@media (max-width: 360px) {
  .wordmark strong { font-size: 15px; }
  .language-switch { padding-left: 10px; }
  .hero-buttons { gap: 9px 16px; }
  .hero-buttons > .button-primary { padding-inline: 14px; gap: 15px; font-size: 12px; }
  .button-primary { padding-inline: 14px; }
  .publication-tools { grid-template-columns: minmax(0, 1fr); }
  .year-filter { justify-self: start; min-width: 125px; }
  .year-filter select { min-height: 44px; }
  .research-item { padding-inline: 20px; }
  .footer-top { flex-direction: column; gap: 10px; }
  .lang-ko .wordmark strong { max-width: 126px; white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* Shared detail pages and overview-to-detail paths. */
.page-hero { padding-block: 72px 48px; border-bottom: 1px solid var(--line); }
.page-hero > .eyebrow { margin-bottom: 22px; }
.page-hero h1 { max-width: 22ch; margin-bottom: 23px; font-size: clamp(42px, 4.4vw, 58px); line-height: 1.2; }
.page-intro { max-width: 74ch; margin: 0; color: var(--soft); font-size: 18px; line-height: 1.85; }
.page-content { padding-block: 64px 96px; }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 248px; gap: 64px; align-items: start; }
.content-layout > * { min-width: 0; }
.content-layout > aside { position: sticky; top: 112px; }
.content-layout .content-main { min-width: 0; }
.section-nav { display: flex; flex-direction: column; position: static; gap: 0; padding: 15px 19px; border: 1px solid var(--line); background: var(--surface); box-shadow: none; }
.section-nav h2, .section-nav h3 { margin: 0 0 10px; color: var(--muted); font-family: var(--mono); font-size: 12px; line-height: 1.8; letter-spacing: .04em; text-transform: uppercase; }
.section-nav a { display: block; min-height: 44px; padding: 10px 0; color: var(--soft); font-size: 13px; line-height: 1.8; }
.section-nav a + a { border-top: 1px solid var(--line); }
.section-nav a::after { display: none; }
.section-nav a:hover, .section-nav a[aria-current] { color: var(--accent); }
.research-detail-block { scroll-margin-top: 108px; }
.research-detail-block + .research-detail-block { margin-top: 57px; padding-top: 53px; border-top: 1px solid var(--line); }
.research-detail-block h2 { max-width: 28ch; font-size: 31px; line-height: 1.4; }
.research-description { max-width: 76ch; margin: 22px 0 0; color: var(--soft); font-size: 16px; line-height: 1.95; }
.research-description p { margin: 0 0 18px; }
.research-meta { margin-top: 20px; color: var(--muted); font-size: 13px; line-height: 1.9; }
.research-meta a { color: var(--accent); text-decoration: underline; text-decoration-color: var(--link-line); text-underline-offset: 4px; }
.research-meta:is(dl), .research-meta > dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 26px; padding-top: 18px; border-top: 1px solid var(--line); }
.research-meta > dl { margin: 0; }
.research-meta div { min-width: 0; }
.research-meta dt { margin-bottom: 4px; color: var(--muted); font-family: var(--mono); font-size: 12px; line-height: 1.8; letter-spacing: .04em; text-transform: uppercase; }
.research-meta dd { margin: 0; color: var(--soft); font-size: 14px; line-height: 1.9; }
.research-detail-block .tags { margin-top: 0; padding-top: 17px; }
.media-slot { display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; min-width: 0; aspect-ratio: 16 / 9; margin: 29px 0 0; padding: 22px; border: 1px solid var(--line); background: var(--placeholder-bg); color: var(--muted); font-family: var(--mono); font-size: 12px; line-height: 1.8; text-align: center; }
.media-slot--landscape, .media-slot[data-ratio="3:2"] { aspect-ratio: 3 / 2; }
.media-slot--portrait { max-width: 240px; aspect-ratio: 4 / 5; }
.media-slot-mark { margin-bottom: 15px; color: var(--placeholder-mark); font-family: var(--display); font-size: 30px; font-weight: 400; line-height: 1; }
.media-slot figcaption { color: var(--soft); font-family: var(--mono); font-size: 12px; line-height: 1.9; }
.media-slot figcaption > span { display: block; margin-top: 3px; color: var(--muted); font-family: var(--sans); font-size: 12px; line-height: 1.8; }
.media-slot > p { max-width: 40ch; margin: 9px 0 0; font-family: var(--sans); font-size: 13px; }
.media-slot .media-label { color: var(--soft); font-family: var(--mono); font-size: 12px; letter-spacing: .05em; }
.media-slot img { display: block; width: 100%; height: 100%; object-fit: contain; }
.media-slot:has(img) { padding: 0; background: var(--surface); }
.content-callout { margin-top: 34px; padding: 27px 29px; border-left: 2px solid var(--accent); background: var(--tint); }
.content-callout h2, .content-callout h3 { margin: 0 0 12px; font-family: var(--display); font-size: 23px; line-height: 1.5; letter-spacing: -.025em; }
.content-callout p { max-width: 73ch; margin: 0 0 12px; color: var(--soft); font-size: 15px; line-height: 1.9; }
.content-callout p:last-child { margin-bottom: 0; }
.content-callout a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.people-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 285px), 1fr)); gap: 29px; }
.profile-card { min-width: 0; padding: 29px; border: 1px solid var(--line); background: var(--surface); }
.profile-photo { width: 100%; max-width: 190px; margin: 0 0 24px; }
.profile-photo img { display: block; width: 100%; height: auto; border: 1px solid var(--line); }
.portrait-slot { display: flex; flex-direction: column; align-items: center; justify-content: center; width: min(100%, 190px); aspect-ratio: 4 / 5; margin-bottom: 24px; padding: 18px; border: 1px solid var(--line); background: var(--placeholder-bg); color: var(--accent); font-family: var(--mono); font-size: 29px; line-height: 1.5; text-align: center; }
.portrait-slot small, .portrait-slot span { display: block; margin-top: 13px; color: var(--muted); font-family: var(--sans); font-size: 12px; line-height: 1.8; }
.profile-card h2, .profile-card h3 { margin: 0 0 9px; font-family: var(--display); font-size: 25px; line-height: 1.4; letter-spacing: -.035em; }
.profile-card p { margin: 0 0 15px; color: var(--soft); font-size: 14px; line-height: 1.9; }
.profile-card .profile-role { color: var(--accent); font-size: 13px; }
.profile-copy { min-width: 0; }
.portrait-slot--photo { padding: 0; overflow: hidden; }
.portrait-slot--photo img { display: block; object-position: center; }
.profile-interests { margin: 23px 0 20px; }
.profile-interests h4 { margin: 0 0 9px; color: var(--muted); font-family: var(--mono); font-size: 11px; font-weight: 400; line-height: 1.7; text-transform: uppercase; letter-spacing: .035em; }
.profile-interests ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; color: var(--soft); font-size: 14px; line-height: 1.75; }
.profile-links { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.profile-email { max-width: 100%; color: var(--accent); font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.profile-email:hover { text-decoration: underline; text-underline-offset: 4px; }
.profile-card .text-link { margin-top: 2px; }
.join-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.join-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 33px; border: 1px solid var(--line); background: var(--surface); }
.join-card h2, .join-card h3 { margin: 0 0 17px; font-family: var(--display); font-size: 26px; line-height: 1.4; letter-spacing: -.035em; }
.join-card p { margin: 0 0 18px; color: var(--soft); font-size: 15px; line-height: 1.9; }
.join-card ul { margin: 0 0 20px; padding-left: 19px; color: var(--soft); font-size: 15px; line-height: 1.9; }
.join-card li + li { margin-top: 7px; }
.join-card .button-primary, .join-card .text-link { margin-top: auto; }
.join-note { max-width: 86ch; margin: 28px 0 0; padding-left: 18px; border-left: 2px solid var(--line); color: var(--muted); font-size: 14px; line-height: 1.9; }
.contact-details { max-width: 83ch; margin: 0; padding: 0; list-style: none; }
.contact-details > li, .contact-details > div { padding: 24px 0; border-bottom: 1px solid var(--line); }
.contact-details > li:first-child, .contact-details > div:first-child { padding-top: 0; }
.contact-details dt, .contact-details strong { display: block; margin-bottom: 9px; color: var(--muted); font-family: var(--mono); font-size: 12px; font-weight: 400; line-height: 1.8; letter-spacing: .05em; text-transform: uppercase; }
.contact-details dd, .contact-details p, .contact-details address { margin: 0; color: var(--ink); font-size: 16px; font-style: normal; line-height: 1.95; overflow-wrap: anywhere; }
.contact-details a { color: var(--accent); text-decoration: underline; text-decoration-color: var(--link-line); text-underline-offset: 4px; overflow-wrap: anywhere; }
.empty-state { margin: 0; padding: 25px 0; color: var(--muted); font-size: 15px; line-height: 1.9; }
.section-link { display: inline-flex; align-items: center; gap: 13px; min-height: 44px; color: var(--accent); font-size: 13px; font-weight: 500; line-height: 1.8; }
.section-link > span { font-size: 18px; }
.section-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.overview-section { padding-block: 80px; }
.overview-section .section-head { margin-bottom: 36px; }
.overview-section .section-head > .section-link { flex-shrink: 0; }
.research-title a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.page-home .overview-section .content-layout { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: 65px; align-items: center; }
.page-home .overview-section .content-main h2 { max-width: 23ch; margin-bottom: 21px; }
.page-home .overview-section .content-main > p { max-width: 61ch; margin: 0 0 16px; color: var(--soft); font-size: 15px; line-height: 1.9; }
.page-home .overview-section .media-slot { margin: 0; aspect-ratio: 3 / 2; }
.page-join .join-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 1100px) {
  .content-layout { grid-template-columns: minmax(0, 1fr) 220px; gap: 43px; }
  .profile-card, .join-card { padding: 27px; }
}

@media (max-width: 1000px) {
  .site-header .header-inner { height: 72px; gap: 18px; }
  .site-header .header-actions { gap: 12px; }
  .site-header .language-switch { padding-left: 16px; }
  .site-header .menu-toggle { display: block; }
  .site-header nav { display: none; position: absolute; top: 71px; left: 0; right: 0; flex-direction: column; gap: 0; max-height: calc(100svh - 72px); overflow-y: auto; padding: 16px var(--gutter); border-bottom: 1px solid var(--line); background: var(--paper); box-shadow: 0 15px 24px var(--soft-shadow); }
  .site-header nav.is-open { display: flex; }
  .site-header nav a { align-self: flex-start; min-height: 44px; padding-block: 12px; font-size: 14px; }
  .site-header nav a::after { bottom: 7px; }
}

@media (max-width: 880px) {
  .page-hero { padding-block: 58px 44px; }
  .page-content { padding-block: 57px 77px; }
  .content-layout { grid-template-columns: minmax(0, 1fr); gap: 39px; }
  .content-layout > aside { position: static; }
  .section-nav { max-width: none; }
  .join-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .page-join .join-grid { grid-template-columns: minmax(0, 1fr); }
  .page-home .overview-section .content-layout { grid-template-columns: minmax(0, 1fr); gap: 31px; }
  .overview-section { padding-block: 73px; }
}

@media (max-width: 600px) {
  .site-header .header-inner { gap: 12px; }
  .site-header .header-actions { gap: 8px; }
  .site-header .language-switch { padding-left: 12px; }
  .page-hero { padding-block: 43px 36px; }
  .page-hero h1 { margin-bottom: 21px; font-size: 35px; line-height: 1.3; letter-spacing: -.04em; }
  .page-intro { font-size: 16px; line-height: 1.9; }
  .page-content { padding-block: 44px 64px; }
  .research-detail-block h2 { font-size: 27px; }
  .research-detail-block + .research-detail-block { margin-top: 42px; padding-top: 38px; }
  .research-description { margin-top: 18px; font-size: 15px; }
  .research-meta:is(dl), .research-meta > dl { grid-template-columns: minmax(0, 1fr); gap: 13px; }
  .media-slot { margin-top: 23px; padding: 17px; }
  .content-callout { margin-top: 27px; padding: 23px 21px; }
  .content-callout h2, .content-callout h3 { font-size: 22px; }
  .people-grid { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .profile-card, .join-card { padding: 25px; }
  .profile-card h2, .profile-card h3 { font-size: 24px; }
  .join-card h2, .join-card h3 { font-size: 24px; }
  .join-note { font-size: 13px; }
  .contact-details dd, .contact-details p, .contact-details address { font-size: 15px; }
  .overview-section { padding-block: 64px; }
  .overview-section .section-head { margin-bottom: 29px; }
  .section-link { min-height: 44px; }
  .lang-ko .page-hero h1 { font-size: 31px; }
}

/* Bibliographic tools and media supplied after the initial content pass. */
.bibliography-links { display: flex; flex-wrap: wrap; gap: 8px 30px; margin-bottom: 29px; }
.bibtex-entry { margin-top: 15px; color: var(--soft); font-size: 12px; }
.bibtex-entry summary { display: inline-block; padding: 3px 0; cursor: pointer; color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.bibtex-entry summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.bibtex-entry pre { max-width: 100%; margin: 12px 0 0; padding: 18px; overflow-x: auto; border: 1px solid var(--line); background: var(--paper); font: 12px/1.85 var(--mono); }
.section-nav { position: static; padding: 0; background: transparent; box-shadow: none; max-height: none; overflow: visible; }
.section-nav a { min-height: 44px; align-self: stretch; }
.group-image { max-width: 840px; margin-top: 58px; }
.join-details { margin-top: 53px; }
.enquiry-list { padding-left: 21px; margin: 25px 0 29px; color: var(--soft); font-size: 15px; line-height: 1.95; }
.enquiry-list li + li { margin-top: 8px; }
.portrait-slot img { width: 100%; height: 100%; object-fit: cover; }
.media-slot--filled { display: block; aspect-ratio: auto; }
.media-slot--filled img { height: auto; }
.media-slot--filled figcaption { padding: 12px 16px; }
@media (max-width: 600px) {
  .group-image { margin-top: 39px; }
  .join-details { margin-top: 37px; }
}

/* Final hierarchy, thematic surfaces, and directly useful controls. */
body { transition: background-color .2s, color .2s; }
h2 { letter-spacing: -.035em; }
.hero-intro, .research-description, .page-intro { text-wrap: pretty; }
.button-primary { background: var(--button-bg); border-color: var(--button-bg); color: var(--on-accent); }
.button-primary:hover { background: var(--button-hover); border-color: var(--button-hover); }
.skip-link { background: var(--button-bg); color: var(--on-accent); }
.header-actions { gap: 20px; }
.site-header nav { gap: 24px; }
.site-header nav a[aria-current="page"] { font-weight: 600; }
.site-header nav a[aria-current="page"]::after { height: 2px; }
.research-item, .profile-card, .join-card { transition: background-color .18s, box-shadow .18s, border-color .18s; }
.research-item:focus-within, .profile-card:focus-within { box-shadow: inset 0 2px 0 var(--accent); }
.tags span { font-size: 12px; }
.profile-card p { font-size: 15px; }
.page-home .overview-section .content-main { padding-block: 8px; }
.page-home .overview-section .content-main h2 { font-size: clamp(30px, 3vw, 40px); }
.pub-type { font-size: 12px; letter-spacing: .025em; }
.pub-body :is(h2, h3, h4, h5) { font-weight: 550; }
.pub-doi { display: inline; margin-top: 8px; color: var(--accent); font-family: var(--mono); font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.pub-doi > span { margin-left: 8px; font-family: var(--sans); }
.publication-filters, .topic-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.filter-chip { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 13px; border: 1px solid var(--line); border-radius: 4px; background: var(--field-bg); color: var(--soft); font-size: 12px; line-height: 1.7; cursor: pointer; }
.filter-chip:hover { border-color: var(--link-line); color: var(--ink); }
.filter-chip[aria-pressed="true"] { border-color: var(--accent); background: var(--tint); color: var(--accent); }
.bibtex-entry summary { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; }
.bibtex-entry summary::after { content: "+"; margin-left: 12px; font-family: var(--mono); }
.bibtex-entry[open] summary::after { content: "−"; }
.bibtex-entry pre { padding: 16px; border-radius: 3px; background: var(--field-bg); font-size: 12px; line-height: 1.8; }
.copy-citation { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin: 0 8px 0 0; padding: 9px 12px; border: 1px solid var(--line); border-radius: 4px; background: var(--field-bg); color: var(--accent); font-size: 12px; line-height: 1.7; cursor: pointer; }
.copy-citation:hover { background: var(--surface-hover); border-color: var(--link-line); }
.copy-status { color: var(--muted); font-size: 12px; line-height: 1.8; }
.footer-navigation { display: flex; flex-wrap: wrap; position: static; gap: 8px 24px; margin: 24px 0 0; padding: 0; border: 0; background: transparent; box-shadow: none; max-height: none; overflow: visible; }
.footer-navigation a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; color: var(--soft); font-size: 13px; }
.footer-navigation a::after { display: none; }
.footer-navigation a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.footer-navigation .footer-email { color: var(--accent); overflow-wrap: anywhere; }
.footer-bottom { font-size: 12px; }
.font-license-link { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }

@media (hover: hover) and (pointer: fine) {
  .research-item:hover { background: var(--surface-hover); box-shadow: inset 0 2px 0 var(--accent); }
  .profile-card:hover, .join-card:hover { border-color: var(--link-line); background: var(--surface-hover); }
}
@media (max-width: 1000px) {
  .site-header nav { gap: 0; }
  .header-actions { gap: 12px; }
}

@media (max-width: 600px) {
  .site-header .header-inner { gap: 8px; }
  .site-header .header-actions { gap: 6px; }
  .site-header .language-switch { padding-left: 0; border-left: 0; }
  .wordmark { gap: 8px; }
  .wordmark strong { font-size: 15px; }
  .logo { width: 28px; height: 28px; flex-basis: 28px; }
  .research-item { padding: 24px; }
  .publication-filters { margin-bottom: 20px; }
  .pub-type { font-size: 12px; }
  .copy-status { display: block; margin-top: 8px; }
  .footer-navigation { gap: 0 20px; margin-top: 16px; }
  .footer-navigation a { font-size: 12px; }
}


/* Known group information replaces unfilled media on the home overview. */
.group-summary { min-width: 0; padding: 32px; border: 1px solid var(--line); background: var(--panel-bg); }
.group-summary > .eyebrow { margin-bottom: 16px; }
.group-summary h3 { max-width: 22ch; margin: 0 0 16px; color: var(--ink); font-family: var(--display); font-size: 27px; font-weight: 500; line-height: 1.4; letter-spacing: -.03em; }
.group-facts { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 16px 24px; margin: 24px 0 16px; padding-top: 24px; border-top: 1px solid var(--line); }
.group-facts > div { min-width: 0; }
.group-facts dt { margin-bottom: 8px; color: var(--muted); font-family: var(--mono); font-size: 12px; line-height: 1.8; }
.group-facts dd { margin: 0; color: var(--soft); font-size: 15px; line-height: 1.8; }
.group-summary .text-link { margin-right: 16px; }
.publication-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; margin: 16px 0 24px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.search-clear { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 13px; border: 1px solid var(--line); border-radius: 4px; background: var(--field-bg); color: var(--soft); font-size: 13px; line-height: 1.8; cursor: pointer; }
.search-clear:hover { border-color: var(--link-line); color: var(--ink); }
.search-clear:disabled { opacity: .5; cursor: default; }
.search-box input, .year-filter select { font-size: 16px; }
.pub-authors, .pub-journal { font-size: 14px; line-height: 1.85; }
@media (max-width: 600px) {
  .group-summary { padding: 24px; }
  .group-summary h3 { font-size: 24px; }
  .group-facts { grid-template-columns: minmax(0, 1fr); gap: 16px; padding-top: 16px; margin-top: 16px; }
  .group-facts dt { margin-bottom: 4px; }
  .search-box input, .year-filter select { font-size: 16px; }
  .pub-authors, .pub-journal { font-size: 14px; }
}

/* Complete control states and progressive navigation. */
.language-switch { min-width: 44px; justify-content: center; }
.site-header nav a, .footer-navigation a { min-width: 44px; }
.citation-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0; }
.copy-citation:disabled { opacity: .65; cursor: wait; }
.filter-chip[aria-pressed="true"] { font-weight: 600; box-shadow: inset 0 -2px 0 var(--accent); }
.text-link[data-link-kind="internal"]:hover > span { transform: translateX(3px); }
#main:focus { outline: none; }
:root:not(.navigation-ready) .menu-toggle { display: none; }
@media (max-width: 1000px) {
  :root:not(.navigation-ready) .header-inner { height: auto; min-height: 72px; flex-wrap: wrap; padding-block: 16px; }
  :root:not(.navigation-ready) .header-actions { width: 100%; flex-wrap: wrap; }
  :root:not(.navigation-ready) .site-header nav { display: flex; position: static; flex-direction: row; flex-wrap: wrap; flex: 1; gap: 0 16px; padding: 0; border: 0; max-height: none; box-shadow: none; overflow: visible; background: transparent; }
}

/* Research role, methods, and published numerical foundations. */
.research-connections { margin: 0 0 64px; padding: 0 0 36px; border-bottom: 1px solid var(--line); }
.research-connections h2 { margin: 0 0 23px; font-family: var(--display); font-size: 27px; font-weight: 500; line-height: 1.4; letter-spacing: -.03em; }
.research-connections ul { display: flex; flex-wrap: wrap; gap: 12px 32px; margin: 0 0 23px; padding: 0; list-style: none; color: var(--accent); font-size: 17px; font-weight: 500; line-height: 1.7; }
.research-connections p { max-width: 78ch; margin: 0; color: var(--soft); font-size: 15px; line-height: 1.9; }
.research-axis-detail { max-width: 70ch; margin: 20px 0 0; color: var(--soft); font-size: 15px; line-height: 1.9; }
.numerical-foundations { margin-top: 48px; }
.research-foundation { margin-top: 34px; padding-top: 26px; border-top: 1px solid var(--line); scroll-margin-top: 120px; }
.research-foundation > h3 { margin: 0 0 18px; font-family: var(--display); font-size: 25px; font-weight: 500; line-height: 1.45; letter-spacing: -.025em; }
.research-foundation > p { max-width: 70ch; margin: 0; color: var(--soft); font-size: 15px; line-height: 1.9; }
.research-foundation > h4 { margin: 32px 0 10px; color: var(--muted); font-family: var(--mono); font-size: 12px; font-weight: 400; line-height: 1.8; }
.pub-body h5 { margin: 0 0 12px; color: var(--ink); font-family: var(--display); font-size: 22px; font-weight: 550; line-height: 1.5; letter-spacing: -.025em; }
@media (max-width: 600px) {
  .research-connections { margin-bottom: 42px; }
  .research-connections h2 { font-size: 24px; }
  .research-connections ul { gap: 10px 24px; font-size: 15px; }
  .research-foundation > h3 { font-size: 23px; }
  .pub-body h5 { font-size: 21px; }
}

/* Original research examples retain their axes, legends, and proportions. */
.research-preview, .research-figure { min-width: 0; margin: 0; }
.research-preview { margin-top: 26px; }
.research-image { background: #FFFFFF; }
.research-image img { display: block; width: 100%; height: auto; }
.research-preview .research-image { display: block; height: 205px; padding: 8px; border: 1px solid var(--line); }
.research-preview .research-image img { width: 100%; height: 100%; min-width: 0; min-height: 0; max-height: 100%; object-fit: contain; }
.research-preview figcaption, .research-figure figcaption { padding-top: 14px; }
.research-preview figcaption p, .research-figure figcaption p { margin: 0 0 6px; color: var(--soft); font-size: 13px; line-height: 1.8; }
.figure-source { display: block; color: var(--muted); font-size: 12px; line-height: 1.8; }
.figure-view { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; color: var(--accent); font-size: 12px; line-height: 1.8; }
.figure-view:hover { text-decoration: underline; text-underline-offset: 4px; }
.research-figure { margin-top: 28px; }
.research-figure .research-image { max-width: 760px; padding: 12px; border: 1px solid var(--line); }
.research-figure figcaption { max-width: 62ch; }
.axis-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 28px; margin: 28px 0; }
.axis-summary > div { min-width: 0; padding-top: 15px; border-top: 1px solid var(--line); }
.axis-summary dt { margin-bottom: 12px; color: var(--muted); font-family: var(--mono); font-size: 12px; line-height: 1.8; text-transform: uppercase; }
.axis-summary dd { margin: 0; }
.axis-summary ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; color: var(--soft); font-size: 14px; line-height: 1.8; }
.lab-overview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: start; gap: 64px; }
.overview-copy h2 { margin: 22px 0; font-family: var(--display); font-size: clamp(30px, 3vw, 40px); font-weight: 500; line-height: 1.35; letter-spacing: -.035em; }
.overview-copy > p { max-width: 55ch; color: var(--soft); font-size: 15px; line-height: 1.9; }
.overview-copy > .lab-name-note { margin-top: 23px; color: var(--muted); font-size: 13px; }
.foundation-map { min-width: 0; margin: 0; }
.foundation-map > figcaption { margin-bottom: 20px; }
.foundation-core { padding: 24px; border: 1px solid var(--link-line); background: var(--surface); text-align: center; }
.foundation-core h3 { margin: 0 0 20px; color: var(--ink); font-family: var(--display); font-size: 22px; font-weight: 500; line-height: 1.45; letter-spacing: -.025em; }
.foundation-methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 16px; margin: 0; padding: 0; list-style: none; }
.foundation-methods li { color: var(--soft); font-size: 13px; line-height: 1.7; }
.foundation-branches { position: relative; width: calc(80% + 8px); height: 35px; margin: 0 auto; border-bottom: 1px solid var(--link-line); }
.foundation-branches::before { content: ''; position: absolute; left: 50%; top: 0; height: 35px; border-left: 1px solid var(--link-line); }
.foundation-areas { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.foundation-areas li { position: relative; min-width: 0; padding: 17px 4px 0; color: var(--accent); font-size: 13px; font-weight: 500; line-height: 1.7; text-align: center; }
.foundation-areas li::before { content: ''; position: absolute; left: 50%; top: 0; height: 11px; border-left: 1px solid var(--link-line); }
.research-connections .foundation-map { max-width: 980px; margin: 30px 0; }
.research-connections .foundation-methods { display: grid; gap: 16px; margin: 0; }
.research-connections .foundation-methods li { color: var(--soft); font-size: 14px; font-weight: 400; }
.research-connections .foundation-areas { display: grid; margin: 0; gap: 10px; }
.research-connections .foundation-areas li { font-size: 15px; }
.research-foundation { margin-top: 0; padding-top: 0; }
.research-foundation:last-child { border-bottom: 1px solid var(--line); }
.research-foundation summary { padding: 19px 0; cursor: pointer; list-style: none; }
.research-foundation summary::-webkit-details-marker { display: none; }
.research-foundation summary h3 { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0; color: var(--ink); font-family: var(--display); font-size: 22px; font-weight: 500; line-height: 1.5; letter-spacing: -.025em; }
.foundation-toggle::before { content: '+'; color: var(--accent); font-family: var(--mono); font-size: 21px; }
.research-foundation[open] .foundation-toggle::before { content: '−'; }
.research-foundation summary:hover h3 { color: var(--accent); }
.research-foundation summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.foundation-content { padding: 3px 0 26px; }
.foundation-content > p { max-width: 60ch; margin: 0; color: var(--soft); font-size: 15px; line-height: 1.9; }
.foundation-content > h4 { margin: 28px 0 10px; color: var(--muted); font-family: var(--mono); font-size: 12px; font-weight: 400; line-height: 1.8; }
.button-primary:active { background: var(--accent-hover); }
.figure-view:active { color: var(--accent-hover); }
@media (max-width: 1000px) {
  .lab-overview { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .foundation-map { max-width: 760px; }
}
@media (max-width: 600px) {
  .research-preview .research-image { height: 230px; }
  .axis-summary { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .foundation-core { padding: 22px 18px; }
  .foundation-core h3 { font-size: 21px; }
  .foundation-methods { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .foundation-branches { width: calc(50% + 9px); }
  .foundation-areas, .research-connections .foundation-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
  .foundation-areas li:nth-child(5) { grid-column: 1 / -1; }
  .foundation-areas li:nth-child(n+3)::before { display: none; }
  .research-figure .research-image { padding: 6px; }
  .research-foundation summary h3 { font-size: 21px; }
}

.research-title a { display: inline-flex; align-items: center; min-height: 44px; }
.profile-email { display: inline-flex; align-items: center; min-height: 44px; }
.button-primary:active { background: #243ED0; border-color: #243ED0; }

.research-description { max-width: 60ch; }

.portrait-slot--photo.portrait-slot--contain img { object-fit: contain; }
/* Purposeful detail-page layouts and conceptual research graphics. */
.page-hero { padding-block: 60px 46px; }
.page-hero-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 64px; align-items: end; }
.page-hero-layout h1 { max-width: 20ch; margin: 0; font-size: clamp(44px, 4.45vw, 62px); line-height: 1.08; letter-spacing: -.048em; }
.page-hero-layout .page-intro { max-width: 45ch; margin: 0 0 5px; font-size: 17px; line-height: 1.75; }
.concept-figure { margin: 26px 0 0; }
.concept-figure img { display: block; width: 100%; height: auto; border: 1px solid var(--line); }
.concept-figure figcaption { display: flex; align-items: baseline; gap: 10px; margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.concept-figure figcaption > span { color: var(--accent); font-family: var(--mono); font-size: 10px; letter-spacing: .06em; }
.people-preview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 8px 0 0; list-style: none; }
.people-peek { display: block; min-width: 0; }
.peek-portrait { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 4/5; overflow: hidden; background: var(--placeholder-bg); color: var(--accent); font-family: var(--mono); font-size: 32px; }
.peek-portrait img { width: 100%; height: 100%; object-fit: cover; }
.people-peek--contain img { object-fit: contain; }
.people-peek > span { display: block; padding-block: 13px; font-size: 13px; font-weight: 500; line-height: 1.6; }
.people-peek:hover > span { color: var(--accent); }
.research-chapters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-bottom: 64px; }
.research-chapters a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 15px; min-height: 118px; padding-block: 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--ink); font-family: var(--display); font-size: 20px; line-height: 1.35; letter-spacing: -.025em; }
.research-chapters .eyebrow { grid-column: 1/-1; font-size: 11px; }
.research-chapters .chapter-number { grid-column: 1/-1; color: var(--accent); font-family: var(--mono); font-size: 12px; letter-spacing: .04em; }
.research-chapters a > span:last-child { color: var(--accent); }
.research-chapters a::after { display: none; }
.research-chapters a:hover { color: var(--accent); }
.page-research .research-detail-block { padding-block: 48px; margin: 0; border-top: 1px solid var(--line); }
.research-spread { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.research-spread-copy > .eyebrow { margin-bottom: 16px; }
.research-spread h2 { max-width: 23ch; font-size: 36px; line-height: 1.22; letter-spacing: -.04em; }
.research-question { max-width: 42ch; margin: 25px 0 0; font-size: 21px; font-weight: 500; line-height: 1.55; letter-spacing: -.025em; }
.research-spread .research-description { max-width: 52ch; margin-top: 17px; font-size: 15px; line-height: 1.8; }
.research-example { min-width: 0; }
.research-spread--wide .research-spread-copy { grid-column: 1/-1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 64px; }
.research-spread--wide .research-spread-copy > :not(.axis-summary) { grid-column: 1; }
.research-spread--wide .axis-summary { grid-column: 2; grid-row: 2/5; align-self: start; margin: 0; }
.research-spread--wide .research-example { grid-column: 1/-1; }
.research-example > .eyebrow { margin-bottom: 18px; }
.research-example .research-figure { margin: 0; }
.research-example .research-image { display: flex; align-items: center; justify-content: center; width: 100%; max-width: none; height: 330px; padding: 14px; background: var(--surface); }
.research-example .research-image img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.example-reading { margin: 18px 0 0; padding-top: 18px; border-top: 1px solid var(--line); color: var(--soft); font-size: 14px; line-height: 1.8; }
.research-spread--wide .research-image { height: auto; aspect-ratio: 2399/1005; }
.page-research .numerical-foundations { margin-top: 40px; }
.page-research .research-connections { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 64px; align-items: start; margin: 24px 0 0; padding: 48px 0 0; border-top: 1px solid var(--line); border-bottom: 0; }
.page-research .research-connections h2 { margin-top: 16px; font-size: 34px; line-height: 1.25; }
.page-research .research-connections .foundation-map { margin: 0; }
.page-research .axis-summary { margin-bottom: 0; gap: 20px; }
.page-research .axis-summary li { font-size: 13px; line-height: 1.7; }
.directory-nav { display: flex; flex-wrap: wrap; gap: 28px; margin: -20px 0 36px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.research-chapters, .directory-nav { position: static; top: auto; left: auto; right: auto; max-height: none; overflow: visible; padding-inline: 0; padding-top: 0; background: transparent; box-shadow: none; }
.directory-nav a { padding-block: 10px; }
.page-people .pi-profile { grid-template-columns: 250px minmax(0, 1fr); max-width: none; gap: 64px; padding-bottom: 60px; }
.page-people .pi-portrait { width: 250px; }
.page-people .pi-text h3 { font-size: 40px; line-height: 1.2; }
.page-people .pi-description { max-width: 62ch; }
.faculty-links { display: flex; flex-wrap: wrap; gap: 12px 30px; }
.page-people .members-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-top: 0; margin-bottom: 28px; }
.page-people .members-heading h2 { margin-top: 10px; font-size: 36px; line-height: 1.25; }
.page-people .people-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
.page-people .profile-card { display: grid; grid-template-columns: 136px minmax(0, 1fr); gap: 26px; align-items: start; padding: 26px 0; border: 0; border-top: 1px solid var(--line); background: transparent; }
.page-people .profile-card:hover, .page-people .profile-card:focus-within { background: transparent; border-color: var(--accent); box-shadow: none; }
.page-people .portrait-slot { width: 136px; margin: 0; }
.page-people .profile-card h3 { font-size: 24px; }
.page-people .profile-card p { margin-bottom: 12px; font-size: 13px; line-height: 1.75; }
.page-people .profile-interests { margin-top: 20px; margin-bottom: 16px; }
.page-people .profile-interests li { font-size: 13px; line-height: 1.75; }
.collection-heading { display: flex; align-items: start; justify-content: space-between; gap: 32px; margin-bottom: 28px; }
.collection-heading > p { margin: 0; }
.collection-heading strong { display: block; font-size: 17px; font-weight: 500; }
.collection-heading > p > span { display: block; margin-top: 6px; color: var(--muted); font-size: 13px; }
.collection-heading .bibliography-links { display: flex; flex-wrap: wrap; gap: 20px; margin: 0; }
.catalog-controls { margin-bottom: 40px; padding-block: 26px 10px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.page-publications .publication-tools { display: grid; grid-template-columns: minmax(0, 1fr) 185px; gap: 24px; margin: 0 0 22px; }
.page-publications .search-box, .page-publications .year-filter { display: flex; flex-direction: column; align-items: stretch; gap: 8px; padding: 0; border: 0; background: transparent; }
.page-publications .search-box > span, .page-publications .year-filter > span { color: var(--muted); font-family: var(--mono); font-size: 11px; letter-spacing: .03em; }
.page-publications .search-box input, .page-publications .year-filter select { width: 100%; min-height: 50px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 0; background: var(--paper); color: var(--ink); }
.catalog-filter-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: start; gap: 12px 24px; }
.catalog-filter-row .publication-filters { margin: 0 0 14px; }
.catalog-filter-row .publication-summary { gap: 15px; min-height: 44px; margin: 0 0 14px; }
.publication-year-group { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 40px; padding-block: 28px 36px; border-top: 1px solid var(--line); }
.publication-year-group:first-child { border-top: 0; padding-top: 0; }
.publication-year-group > h2 { color: var(--accent); font-size: 35px; line-height: 1.35; letter-spacing: -.03em; }
.publication-year-group .publication { grid-template-columns: minmax(0, 1fr); padding-block: 25px; }
.publication-year-group .publication:first-child { padding-top: 0; border-top: 0; }
.publication-year-group .pub-year { display: none; }
.publication-year-group .pub-body h3 { font-size: 24px; line-height: 1.45; }
.publication-year-group .pub-doi { display: inline-flex; align-items: center; min-height: 44px; gap: 8px; }
.page-join .join-grid { gap: 30px; }
.page-join .join-card { padding: 22px 0 26px; border: 0; border-top: 1px solid var(--line); background: transparent; }
.page-join .join-card:hover { background: transparent; box-shadow: none; }
.page-join .join-card h2 { font-size: 28px; line-height: 1.3; }
.page-join .join-card .eyebrow { margin-bottom: 18px; color: var(--accent); }
.page-join .join-card .text-link { font-size: 12px; }
.enquiry-preparation { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 80px; margin-top: 50px; padding-top: 48px; border-top: 1px solid var(--line); }
.enquiry-preparation h2 { margin-top: 15px; font-size: 36px; line-height: 1.25; }
.enquiry-process { display: grid; gap: 25px; margin: 32px 0; padding: 0; list-style: none; }
.enquiry-process li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 17px; }
.enquiry-process h3 { margin: 0 0 7px; font-family: var(--display); font-size: 21px; font-weight: 500; line-height: 1.4; letter-spacing: -.025em; }
.enquiry-process p { max-width: 48ch; margin: 0; color: var(--soft); font-size: 14px; line-height: 1.8; }
.enquiry-aside { min-width: 0; padding: 28px; background: var(--surface); border: 1px solid var(--line); }
.enquiry-aside h3 { margin: 0 0 20px; font-family: var(--display); font-size: 24px; font-weight: 500; letter-spacing: -.035em; }
.enquiry-aside .enquiry-list { margin: 0; }
.enquiry-aside .enquiry-list li { padding-block: 11px; font-size: 14px; }
.enquiry-aside .join-note { margin-top: 26px; }
.contact-spread { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); gap: 80px; }
.contact-primary { min-width: 0; }
.contact-primary h2 { margin: 20px 0 24px; font-size: clamp(28px, 3vw, 41px); line-height: 1.3; letter-spacing: -.04em; overflow-wrap: anywhere; }
.contact-primary h2 a { color: var(--accent); }
.contact-primary h2 a:hover { text-decoration: underline; text-underline-offset: 8px; }
.contact-primary h2 span { margin-left: 15px; font-size: 23px; }
.contact-primary > p:not(.eyebrow) { max-width: 52ch; margin: 0; color: var(--soft); font-size: 16px; line-height: 1.8; }
.contact-routes { margin-top: 38px; }
.contact-routes article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 28px; padding-block: 21px; border-top: 1px solid var(--line); }
.contact-routes h3 { margin: 0; font-family: var(--display); font-size: 21px; font-weight: 500; line-height: 1.5; letter-spacing: -.025em; }
.contact-routes p { grid-column: 1; margin: 0; color: var(--soft); font-size: 13px; line-height: 1.8; }
.contact-routes a { grid-column: 2; grid-row: 1/3; align-self: center; font-size: 12px; }
.campus-card { min-width: 0; padding: 32px; border: 1px solid var(--line); background: var(--surface); }
.campus-card h2 { margin: 24px 0 0; color: var(--accent); font-size: 68px; font-weight: 500; line-height: 1.15; letter-spacing: -.065em; }
.campus-institution { margin: 22px 0; font-family: var(--display); font-size: 24px; line-height: 1.4; letter-spacing: -.03em; }
.campus-card address { padding-top: 24px; border-top: 1px solid var(--line); color: var(--soft); font-size: 14px; font-style: normal; line-height: 1.8; }
.visit-information { margin-top: 24px; color: var(--muted); font-size: 13px; line-height: 1.8; }
@media (max-width: 1100px) {
  .page-hero-layout, .research-spread, .contact-spread { gap: 40px; }
  .page-people .people-grid { gap: 28px; }
  .page-people .profile-card { grid-template-columns: 105px minmax(0, 1fr); gap: 20px; }
  .page-people .portrait-slot { width: 105px; }
  .enquiry-preparation { gap: 48px; }
}
@media (min-width: 1101px) {
  .page-home .research-title { min-height: 0; }
}
@media (max-width: 880px) {
  .page-hero-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .page-hero-layout h1 { font-size: 48px; }
  .page-hero-layout .page-intro { max-width: 58ch; }
  .research-spread { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .research-spread--wide .research-spread-copy { display: block; }
  .research-spread--wide .axis-summary { margin-top: 28px; }
  .research-example .research-image { height: 380px; }
  .page-research .research-connections { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .page-people .pi-profile { grid-template-columns: 190px minmax(0, 1fr); gap: 36px; }
  .page-people .pi-portrait { width: 190px; }
  .page-people .people-grid { grid-template-columns: minmax(0, 1fr); }
  .page-people .profile-card { grid-template-columns: 136px minmax(0, 1fr); }
  .page-people .portrait-slot { width: 136px; }
  .collection-heading { flex-direction: column; gap: 20px; }
  .collection-heading .bibliography-links { gap: 10px 24px; }
  .publication-year-group { grid-template-columns: 84px minmax(0, 1fr); gap: 24px; }
  .enquiry-preparation, .contact-spread { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .contact-routes { margin-bottom: 10px; }
}
@media (max-width: 600px) {
  .page-hero { padding-block: 38px 32px; }
  .page-hero-layout h1 { font-size: 38px; }
  .page-hero-layout .page-intro { font-size: 16px; line-height: 1.75; }
  .page-content { padding-block: 40px 64px; }
  .concept-figure figcaption { gap: 8px; font-size: 11px; }
  .concept-figure figcaption > span { font-size: 9px; }
  .people-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; max-width: 430px; padding: 0; }
  .people-peek > span { font-size: 14px; }
  .research-chapters { grid-template-columns: minmax(0, 1fr); gap: 0; margin-bottom: 28px; }
  .research-chapters a { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 12px; min-height: 66px; padding-block: 18px; border-bottom: 0; font-size: 18px; }
  .research-chapters .chapter-number { grid-column: auto; font-size: 12px; }
  .research-chapters a:last-child { border-bottom: 1px solid var(--line); }
  .page-research .research-detail-block { padding-block: 32px; }
  .research-spread h2 { font-size: 30px; }
  .research-question { font-size: 19px; margin-top: 21px; }
  .research-example .research-image { height: 270px; padding: 8px; }
  .research-example .figure-source, .research-example .figure-view { font-size: 12px; }
  .page-research .research-connections { padding-top: 32px; }
  .page-research .research-connections h2 { font-size: 30px; }
  .page-people .pi-profile { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-bottom: 42px; }
  .page-people .pi-portrait { width: 205px; }
  .page-people .pi-text h3 { font-size: 34px; }
  .page-people .members-heading { align-items: start; flex-direction: column; gap: 10px; }
  .page-people .members-heading h2 { font-size: 31px; }
  .page-people .profile-card { grid-template-columns: 95px minmax(0, 1fr); gap: 20px; }
  .page-people .portrait-slot { width: 95px; }
  .page-people .profile-card h3 { font-size: 22px; }
  .page-publications .publication-tools { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .catalog-controls { margin-bottom: 32px; padding-top: 22px; }
  .publication-year-group { grid-template-columns: minmax(0, 1fr); gap: 22px; padding-block: 28px; }
  .publication-year-group > h2 { font-size: 29px; }
  .publication-year-group .pub-body h3 { font-size: 21px; line-height: 1.5; }
  .catalog-filter-row { gap: 0; }
  .page-join .join-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .page-join .join-card h2 { font-size: 27px; }
  .enquiry-preparation { margin-top: 30px; padding-top: 32px; }
  .enquiry-preparation h2 { font-size: 30px; }
  .enquiry-aside { padding: 24px; }
  .contact-primary h2 { font-size: clamp(24px, 6.1vw, 35px); }
  .contact-routes article { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .contact-routes a { grid-column: 1; grid-row: auto; margin-top: 5px; }
  .campus-card { padding: 26px; }
  .campus-card h2 { font-size: 59px; }
}
@media (max-width: 360px) {
  .page-hero-layout h1 { font-size: 34px; }
  .page-people .profile-card { grid-template-columns: 76px minmax(0, 1fr); gap: 16px; }
  .page-people .portrait-slot { width: 76px; }
  .page-people .profile-card h3 { font-size: 20px; }
}
.page-publications .page-hero { padding-block: 48px 34px; }
.page-publications .page-content { padding-top: 40px; }
.page-publications .collection-heading { margin-bottom: 20px; }
.page-publications .catalog-controls { padding-top: 20px; margin-bottom: 28px; }
