:root {
  --ink: #071522;
  --ink-soft: #0d2435;
  --paper: #f4f7f7;
  --paper-deep: #e8eeee;
  --teal: #2dd4bf;
  --teal-dark: #159b8b;
  --blue: #4aa3ff;
  --nkua-blue: #4a90d3;
  --muted: #667987;
  --line: rgba(7, 21, 34, 0.14);
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Arial, system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.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;
  top: 1rem;
  left: 1rem;
  transform: translateY(-150%);
  padding: 0.75rem 1rem;
  background: white;
  color: var(--ink);
  font-weight: 700;
  border-radius: 0.25rem;
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  width: 100%;
  height: 84px;
  padding: 0 4vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--ink);
  background: #fff;
  box-shadow: 0 1px 0 rgba(7, 21, 34, 0.12);
  transition: background 180ms ease, height 180ms ease, box-shadow 180ms ease;
}
.site-header.is-scrolled {
  height: 70px;
  background: #fff;
  backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 rgba(7, 21, 34, 0.14), 0 10px 30px rgba(7, 21, 34, 0.08);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  text-decoration: none;
  line-height: 1;
}
.brand > span:last-child { display: grid; gap: 0.3rem; }
.brand strong {
  font: 700 1.05rem/1 Arial, sans-serif;
  letter-spacing: 0.14em;
}
.brand small {
  color: rgba(7, 21, 34, 0.58);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.brand-mark {
  position: relative;
  width: 39px;
  height: 39px;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.brand-mark::before,
.brand-mark::after,
.brand-mark i {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--teal);
}
.brand-mark::before { transform: translate(-8px, 4px); }
.brand-mark::after { transform: translate(8px, 4px); }
.brand-mark i:nth-child(1) { transform: translateY(-8px); }
.brand-mark i:nth-child(2) {
  width: 18px;
  height: 1px;
  border-radius: 0;
  transform: rotate(29deg) translateY(2px);
}
.brand-mark i:nth-child(3) {
  width: 18px;
  height: 1px;
  border-radius: 0;
  transform: rotate(-29deg) translateY(2px);
}
.site-header .brand-mark {
  flex: 0 0 auto;
  width: 313px;
  height: 58px;
  border: 0;
  border-radius: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  background: none;
  box-shadow: none;
}
.site-header .brand-mark::before,
.site-header .brand-mark::after {
  content: "";
  position: static;
  flex: 0 0 auto;
  transform: none;
  border-radius: 0;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.site-header .brand-mark::before {
  width: 242px;
  height: 48px;
  background-image: url("assets/brand/nkua-centenary-1927-2027.png");
}
.site-header .brand-mark::after {
  width: 61px;
  height: 56px;
  background-image: url("assets/brand/aerospace-department-symbol.png");
}
.site-header .brand-mark i { display: none; }
.site-header .brand > span:last-child {
  min-height: 42px;
  padding-left: 1rem;
  border-left: 1px solid rgba(7,21,34,.18);
  align-content: center;
}
.site-header .brand small { max-width: 190px; line-height: 1.25; }

@media (max-width: 1180px) and (min-width: 981px) {
  .site-header .brand-mark { width: 255px; height: 48px; }
  .site-header .brand-mark::before { width: 197px; height: 39px; }
  .site-header .brand-mark::after { width: 48px; height: 46px; }
  .site-header .brand > span:last-child { min-height: 36px; padding-left: .75rem; }
  .site-header .brand small { display: none; }
}
.site-nav { display: flex; align-items: center; gap: clamp(.8rem, 1.45vw, 1.65rem); }
.site-nav a {
  color: rgba(7, 21, 34, 0.7);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 600;
  transition: color 160ms ease;
}
.site-nav a:hover, .site-nav a:focus-visible { color: var(--ink); }
.site-nav a[aria-current="page"] { color: var(--nkua-blue); }
.site-nav .nav-contact {
  padding: 0.62rem 1rem;
  color: white;
  background: var(--nkua-blue);
  border-radius: 999px;
}
.site-nav .nav-contact[aria-current="page"] { color: white; box-shadow: inset 0 0 0 2px rgba(7,21,34,.12); }
.menu-toggle { display: none; }

.hero {
  position: relative;
  min-height: 790px;
  height: min(900px, 100svh);
  padding: 9.5rem max(5vw, calc((100vw - var(--max)) / 2)) 5rem;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(400px, 0.9fr);
  align-items: center;
  gap: 4rem;
  color: white;
  background:
    radial-gradient(circle at 80% 45%, rgba(45, 212, 191, 0.14), transparent 32%),
    radial-gradient(circle at 18% 82%, rgba(74, 163, 255, 0.09), transparent 30%),
    var(--ink);
}
.hero-grid {
  position: absolute;
  inset: 0;
  opacity: 0.1;
  background-image:
    linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to right, black, transparent 80%);
}
.hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--teal) 0 34%, rgba(255,255,255,.12) 34%);
}
.hero-copy { position: relative; z-index: 2; max-width: 740px; }
.eyebrow, .section-label {
  margin: 0 0 1.5rem;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.eyebrow { color: rgba(255, 255, 255, 0.58); }
.eyebrow span {
  display: inline-block;
  width: 26px;
  height: 2px;
  margin-right: 0.75rem;
  vertical-align: middle;
  background: var(--teal);
}
.hero h1 {
  max-width: 760px;
  margin: 0;
  font: 600 clamp(4rem, 7vw, 7.2rem)/0.92 Arial, sans-serif;
  letter-spacing: -0.06em;
}
.hero h1 em { color: var(--teal); font-style: normal; }
.hero-lede {
  max-width: 660px;
  margin: 2rem 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
}
.hero-actions { display: flex; align-items: center; gap: 2rem; margin-top: 2.5rem; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0.7rem 1.25rem;
  border-radius: 2px;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.9rem;
  transition: transform 160ms ease, background 160ms ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--ink); background: var(--teal); }
.button-primary:hover { background: #5be3d2; }
.text-link {
  color: white;
  text-decoration-color: rgba(45, 212, 191, 0.65);
  text-underline-offset: 0.35rem;
  font-size: 0.9rem;
  font-weight: 700;
}
.inline-link {
  display: inline-block;
  margin-top: 1rem;
  color: var(--ink);
  font-size: .88rem;
  font-weight: 700;
  text-decoration-color: var(--teal-dark);
  text-underline-offset: .35rem;
}
.hero-model {
  position: relative;
  z-index: 2;
  width: min(35vw, 500px);
  aspect-ratio: 1;
  margin-inline: auto;
  display: grid;
  place-items: center;
}
.model-core {
  position: relative;
  z-index: 4;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  background: rgba(7, 21, 34, 0.82);
  border: 1px solid rgba(45, 212, 191, 0.8);
  box-shadow: 0 0 60px rgba(45, 212, 191, 0.16), inset 0 0 30px rgba(45, 212, 191, 0.08);
}
.model-core span { font: 700 1.3rem Arial, sans-serif; letter-spacing: 0.18em; }
.model-core small { margin-top: 0.35rem; color: rgba(255,255,255,.46); font-size: .65rem; }
.orbit {
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
}
.orbit::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -4px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--teal);
  box-shadow: 0 0 18px var(--teal);
}
.orbit span {
  position: absolute;
  padding: .25rem .5rem;
  color: rgba(255,255,255,.6);
  background: var(--ink);
  font-size: .64rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.orbit-one { inset: 16%; transform: rotate(14deg); }
.orbit-one span { top: 2%; left: 58%; transform: rotate(-14deg); }
.orbit-two { inset: 7%; transform: rotate(-41deg); }
.orbit-two span { right: 0; bottom: 25%; transform: rotate(41deg); }
.orbit-three { inset: 0; transform: rotate(73deg); border-color: rgba(74,163,255,.22); }
.orbit-three span { left: 6%; bottom: 27%; transform: rotate(-73deg); }
.hero-index {
  position: absolute;
  right: 2.2rem;
  bottom: 3rem;
  display: grid;
  gap: .5rem;
  color: rgba(255,255,255,.35);
  font: 600 .65rem Arial, sans-serif;
  text-align: center;
}
.hero-index i { width: 1px; height: 70px; margin: auto; background: rgba(255,255,255,.22); }

.section {
  max-width: var(--max);
  margin-inline: auto;
  padding: clamp(5rem, 9vw, 9rem) 2rem;
}
.section-label { color: var(--teal-dark); }
.intro {
  display: grid;
  grid-template-columns: .65fr 2fr .75fr;
  gap: clamp(2rem, 5vw, 6rem);
  align-items: start;
}
.intro h2, .section-heading h2, .services h2, .contact h2 {
  margin: 0;
  font: 600 clamp(2.5rem, 4.3vw, 4.7rem)/1.04 Arial, sans-serif;
  letter-spacing: -0.045em;
}
.intro-copy > p { max-width: 720px; color: var(--muted); font-size: 1.06rem; }
.intro-copy h2 + p { margin-top: 2rem; }
.intro-note { padding-top: 1rem; border-top: 1px solid var(--line); }
.note-number { color: var(--teal-dark); font: 600 4.2rem/1 Arial, sans-serif; }
.intro-note p { margin-top: 1rem; color: var(--muted); font-size: .9rem; }
.home-paths { padding-top: 0; display: grid; grid-template-columns: repeat(4,1fr); }
.home-path { min-height: 280px; padding: 2rem; border-top: 1px solid var(--line); border-right: 1px solid var(--line); display: flex; flex-direction: column; color: inherit; text-decoration: none; transition: background 180ms ease, transform 180ms ease; }
.home-path:first-child { padding-left: 0; }.home-path:last-child { padding-right: 0; border-right: 0; }
.home-path:hover { background: rgba(255,255,255,.7); transform: translateY(-4px); }
.home-path>span { color: var(--teal-dark); font: 600 .7rem Arial,sans-serif; }.home-path h2 { margin: auto 0 1rem; font: 600 1.65rem Arial,sans-serif; }.home-path p { margin: 0; color: var(--muted); font-size: .88rem; }

.research { max-width: none; background: var(--paper-deep); }
.research > * { max-width: var(--max); margin-inline: auto; }
.section-heading {
  display: grid;
  grid-template-columns: 1.6fr .7fr;
  gap: 4rem;
  align-items: end;
}
.section-heading > p { color: var(--muted); }
.research-list {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.research-card {
  min-height: 480px;
  padding: 2rem clamp(1.5rem, 3vw, 3rem) 2.5rem;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  transition: background 200ms ease, transform 200ms ease;
}
.research-card:first-child { padding-left: 0; }
.research-card:last-child { border-right: 0; padding-right: 0; }
.research-card:hover { background: rgba(255,255,255,.5); }
.card-code { color: var(--teal-dark); font: 600 .72rem Arial, sans-serif; letter-spacing: .15em; }
.research-card h3 { margin: 2rem 0 1rem; font: 600 1.8rem/1.1 Arial, sans-serif; }
.research-card > p { color: var(--muted); }
.research-card ul { margin: auto 0 0; padding: 1.5rem 0 0; list-style: none; border-top: 1px solid var(--line); }
.research-card li { padding: .45rem 0; font-size: .86rem; }
.research-card li::before { content: "+"; margin-right: .65rem; color: var(--teal-dark); }

.services { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 7vw, 8rem); }
.services-lead { position: sticky; top: 120px; align-self: start; }
.service-stack { border-top: 1px solid var(--line); }
.service-row {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 1rem;
  padding: 2.2rem 0;
  border-bottom: 1px solid var(--line);
}
.service-row > span { color: var(--teal-dark); font: 600 .72rem Arial, sans-serif; }
.service-row h3 { margin: 0 0 .65rem; font: 600 1.4rem Arial, sans-serif; }
.service-row p { margin: 0; max-width: 600px; color: var(--muted); }

.news { max-width: none; color: white; background: var(--ink-soft); }
.news > * { max-width: var(--max); margin-inline: auto; }
.news .section-heading { display: block; }
.news .section-label { color: var(--teal); }
.news-grid { margin-top: 3.5rem; display: grid; grid-template-columns: 1.35fr 1fr 1fr; border-top: 1px solid rgba(255,255,255,.14); }
.news-card {
  min-height: 390px;
  padding: 2rem;
  border-right: 1px solid rgba(255,255,255,.14);
  display: flex;
  flex-direction: column;
}
.news-card:last-child { border-right: 0; }
.news-card time { color: rgba(255,255,255,.48); font-size: .76rem; }
.news-tag { margin: 2.5rem 0 1rem; color: var(--teal); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.news-card h3 { margin: 0; font: 600 clamp(1.45rem, 2vw, 2.1rem)/1.15 Arial, sans-serif; }
.news-card > p:not(.news-tag) { color: rgba(255,255,255,.56); }
.news-card a { margin-top: auto; color: white; font-size: .86rem; font-weight: 700; text-underline-offset: .35rem; text-decoration-color: var(--teal); }
.news-featured { padding-left: 0; }

.contact {
  max-width: none;
  padding-inline: max(2rem, calc((100vw - var(--max)) / 2));
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 3rem;
  background: var(--teal);
}
.contact .section-label { color: rgba(7,21,34,.64); }
.contact h2 { max-width: 850px; }
.button-light { flex: 0 0 auto; color: white; background: var(--ink); }
.button-light:hover { background: var(--ink-soft); }

.site-footer {
  padding: 3.5rem max(2rem, calc((100vw - var(--max)) / 2));
  display: grid;
  grid-template-columns: 1.35fr 1fr .85fr auto;
  align-items: center;
  gap: 2rem;
  color: white;
  background: #040e17;
}
.site-footer p { margin: 0; color: rgba(255,255,255,.46); font-size: .75rem; }
.footer-brand small { max-width: 360px; line-height: 1.4; text-transform: none; }
.footer-links { display: grid; gap: .45rem; }
.footer-links a { color: rgba(255,255,255,.68); font-size: .72rem; text-decoration: none; transition: color .2s ease; }
.footer-links a:hover { color: var(--teal); }

.institution-band { padding: 2.5rem max(2rem, calc((100vw - var(--max)) / 2)); background: white; border-top: 1px solid var(--line); }
.institution-band-inner { display: grid; grid-template-columns: 86px 1fr auto; gap: 2rem; align-items: center; }
.institution-band img { width: 76px; height: 92px; object-fit: contain; }
.institution-band h2 { margin: .3rem 0; font: 600 clamp(1.4rem,2.2vw,2rem) Arial,sans-serif; }
.institution-band p { margin: 0; color: var(--muted); }

/* Interior pages */
.page-shell { width: min(calc(100% - 4rem), var(--max)); margin-inline: auto; }
.page-header { background: #fff; backdrop-filter: blur(14px); }
.page-hero {
  position: relative;
  min-height: 640px;
  padding: 10rem 0 6rem;
  overflow: hidden;
  display: flex;
  align-items: end;
  color: white;
  background: var(--ink);
}
.page-hero-grid {
  position: absolute;
  inset: 0;
  opacity: .11;
  background-image: linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg, black 0 55%, transparent 92%);
}
.page-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: linear-gradient(90deg, var(--teal) 0 24%, rgba(255,255,255,.12) 24%); }
.page-hero-inner { position: relative; z-index: 2; }
.breadcrumb { display: flex; gap: .65rem; margin: 0 0 4.2rem; color: rgba(255,255,255,.45); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.breadcrumb a { color: rgba(255,255,255,.72); text-decoration: none; }
.page-kicker { margin: 0 0 1.4rem; color: var(--teal); font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.page-hero h1 { max-width: 980px; margin: 0; font: 600 clamp(4rem, 7.2vw, 7.3rem)/.94 Arial, sans-serif; letter-spacing: -.06em; }
.page-summary { max-width: 720px; margin: 2rem 0 0; color: rgba(255,255,255,.64); font-size: clamp(1.05rem, 1.6vw, 1.3rem); }
.page-hero-about { background: radial-gradient(circle at 82% 50%, rgba(45,212,191,.16), transparent 27%), var(--ink); }
.page-hero-research { background: radial-gradient(circle at 78% 42%, rgba(74,163,255,.16), transparent 28%), var(--ink); }
.page-hero-capabilities { background: linear-gradient(135deg, var(--ink) 0 66%, #0b2c36 66%); }
.page-hero-news { background: radial-gradient(circle at 80% 42%, rgba(45,212,191,.12), transparent 30%), var(--ink); }
.page-hero-contact { background: linear-gradient(120deg, var(--ink) 0 72%, #123443 72%); }
.page-hero-people { background: radial-gradient(circle at 82% 45%, rgba(45,212,191,.16), transparent 27%), var(--ink); }
.page-hero-projects { background: radial-gradient(circle at 82% 50%, rgba(74,163,255,.16), transparent 29%), var(--ink); }
.page-hero-publications { background: linear-gradient(125deg, var(--ink) 0 70%, #112b38 70%); }
.page-hero-facilities { background: radial-gradient(circle at 80% 40%, rgba(45,212,191,.13), transparent 31%), var(--ink); }

.page-signal { position: absolute; right: 8vw; bottom: 6rem; width: min(25vw, 340px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.page-signal span { position: absolute; inset: 20%; border: 1px solid rgba(45,212,191,.28); border-radius: 50%; }
.page-signal span:nth-child(2) { inset: 40%; background: rgba(45,212,191,.08); }
.page-signal span:nth-child(3) { inset: 49%; background: var(--teal); box-shadow: 0 0 25px var(--teal); }
.research-axis { position: absolute; right: 6vw; top: 34%; width: min(31vw, 420px); display: grid; grid-template-columns: repeat(4,1fr); gap: .25rem; color: rgba(255,255,255,.35); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; }
.research-axis i { grid-column: 1/-1; height: 1px; background: linear-gradient(90deg, var(--teal), rgba(255,255,255,.1)); }
.capability-glyph { position: absolute; right: 8vw; bottom: 5rem; width: 300px; height: 300px; transform: rotate(45deg); border: 1px solid rgba(255,255,255,.13); }
.capability-glyph i { position: absolute; inset: 15%; border: 1px solid rgba(45,212,191,.35); }
.capability-glyph i:nth-child(2) { inset: 30%; }.capability-glyph i:nth-child(3) { inset: 45%; background: var(--teal); }.capability-glyph i:nth-child(4) { inset: 0; transform: rotate(45deg); }
.news-pulse { position: absolute; right: 7vw; bottom: 5rem; display: flex; align-items: end; gap: 12px; height: 250px; }
.news-pulse i { width: 18px; background: rgba(45,212,191,.25); }.news-pulse i:nth-child(1){height:25%}.news-pulse i:nth-child(2){height:55%}.news-pulse i:nth-child(3){height:100%;background:var(--teal)}.news-pulse i:nth-child(4){height:68%}.news-pulse i:nth-child(5){height:38%}
.contact-rings { position:absolute; right:6vw; bottom:-100px; width:430px; aspect-ratio:1; border:1px solid rgba(45,212,191,.3); border-radius:50%; }
.contact-rings i { position:absolute; inset:17%; border:1px solid rgba(255,255,255,.12); border-radius:50%; }.contact-rings i:nth-child(2){inset:34%}.contact-rings i:nth-child(3){inset:49%;background:var(--teal);box-shadow:0 0 35px var(--teal)}
.people-constellation,.project-network,.publication-lines,.facility-matrix { position:absolute; right:7vw; bottom:5rem; width:min(28vw,380px); height:280px; opacity:.8; }
.people-constellation i { position:absolute; width:12px; height:12px; border:2px solid var(--teal); border-radius:50%; box-shadow:0 0 18px rgba(45,212,191,.3); }.people-constellation i:nth-child(1){left:10%;top:55%}.people-constellation i:nth-child(2){left:44%;top:10%}.people-constellation i:nth-child(3){right:10%;top:42%}.people-constellation i:nth-child(4){left:48%;bottom:8%}.people-constellation i:nth-child(5){inset:0;width:auto;height:auto;border:1px solid rgba(255,255,255,.16);border-radius:45% 55% 48% 52%;box-shadow:none;transform:rotate(18deg)}
.project-network { background: linear-gradient(28deg,transparent 49.7%,rgba(45,212,191,.28) 50%,transparent 50.3%),linear-gradient(-25deg,transparent 49.7%,rgba(74,163,255,.24) 50%,transparent 50.3%); }.project-network i{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--teal);box-shadow:0 0 18px rgba(45,212,191,.5)}.project-network i:nth-child(1){left:8%;top:22%}.project-network i:nth-child(2){left:32%;top:65%}.project-network i:nth-child(3){left:50%;top:12%}.project-network i:nth-child(4){right:16%;top:52%}.project-network i:nth-child(5){right:2%;top:18%}.project-network i:nth-child(6){left:60%;bottom:2%}
.publication-lines{display:grid;gap:14px;align-content:center}.publication-lines i{display:block;height:1px;background:linear-gradient(90deg,rgba(45,212,191,.8),rgba(255,255,255,.08))}.publication-lines i:nth-child(2){width:82%}.publication-lines i:nth-child(3){width:66%}.publication-lines i:nth-child(4){width:90%}.publication-lines i:nth-child(5){width:54%}
.facility-matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;transform:rotate(7deg)}.facility-matrix i{border:1px solid rgba(255,255,255,.16);background:rgba(45,212,191,.04)}.facility-matrix i:nth-child(5){background:var(--teal);box-shadow:0 0 35px rgba(45,212,191,.28)}

.editorial-section { padding-block: clamp(5rem, 9vw, 9rem); display: grid; grid-template-columns: .55fr 2.2fr; gap: clamp(3rem, 8vw, 9rem); }
.editorial-section + .editorial-section { border-top: 1px solid var(--line); }
.section-rail { color: var(--muted); }.section-rail span { display: block; color: var(--teal-dark); font: 600 .72rem Arial,sans-serif; }.section-rail p { margin-top: 1rem; font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.prose-large p { margin: 0 0 1.5rem; font: 500 clamp(1.5rem, 2.4vw, 2.3rem)/1.35 Arial,sans-serif; letter-spacing: -.025em; }.prose-large p + p { color: var(--muted); font-size: clamp(1.1rem,1.7vw,1.4rem); }
.principles-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.principle { min-height:330px; padding:2rem; border-right:1px solid var(--line); }.principle:first-child{padding-left:0}.principle:last-child{border-right:0}.principle>span{color:var(--teal-dark);font-size:.72rem}.principle h2{margin:4rem 0 1rem;font:600 1.65rem Arial,sans-serif}.principle p{color:var(--muted)}
.statement-band { padding: clamp(5rem,9vw,8rem) 0; color:white; background:var(--ink-soft); }.statement-inner blockquote{max-width:1050px;margin:0;font:500 clamp(2.2rem,4.2vw,4.5rem)/1.15 Arial,sans-serif;letter-spacing:-.04em}.statement-inner .section-label{color:var(--teal)}
.campus-feature{display:grid;grid-template-columns:1.45fr .55fr;gap:1.5rem;padding-bottom:clamp(5rem,9vw,9rem)}.campus-visual{margin:0;min-width:0}.campus-visual img{display:block;width:100%;height:100%;min-height:480px;object-fit:cover}.campus-visual figcaption{padding:.8rem 0;color:var(--muted);font-size:.72rem}.campus-visual figcaption a{color:inherit}.institution-card{padding:2.5rem;display:grid;align-content:center;gap:2rem;background:var(--paper-deep)}.institution-card>img{width:112px;height:145px;object-fit:contain}.institution-card h2{margin:.6rem 0 1rem;font:600 clamp(1.8rem,3vw,2.8rem)/1.06 Arial,sans-serif;letter-spacing:-.04em}.institution-card p:not(.section-label){color:var(--muted)}
.next-page { padding-block:4rem 6rem; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:2rem; }.next-page>p{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.next-page>a{display:grid;gap:.35rem;text-decoration:none;text-align:right}.next-page a span{font:600 clamp(1.7rem,3vw,2.8rem) Arial,sans-serif}.next-page a small{color:var(--teal-dark)}

.domain-section { padding-block: clamp(5rem,9vw,8rem); }.domain-header { display:grid;grid-template-columns:.35fr 1.25fr .7fr;gap:3rem;align-items:start;margin-bottom:4rem}.domain-header>span{color:var(--teal-dark);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.domain-header h2{margin:0;font:600 clamp(2.5rem,4vw,4rem)/1.05 Arial,sans-serif;letter-spacing:-.04em}.domain-header p{margin:0;color:var(--muted)}
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.topic{min-height:380px;padding:2rem;border-right:1px solid var(--line)}.topic:first-child{padding-left:0}.topic:last-child{border-right:0}.topic>span{color:var(--teal-dark);font:.7rem Arial,sans-serif}.topic h3{margin:4rem 0 1.2rem;font:600 1.55rem/1.2 Arial,sans-serif}.topic p{color:var(--muted)}
.domain-dark{max-width:none;color:white;background:var(--ink-soft)}.domain-dark .domain-header>span{color:var(--teal)}.domain-dark .domain-header p,.domain-dark .topic p{color:rgba(255,255,255,.55)}.domain-dark .topic-grid{border-color:rgba(255,255,255,.14)}.domain-dark .topic{border-color:rgba(255,255,255,.14)}.domain-dark .topic>span{color:var(--teal)}

.capability-list{padding-block:clamp(5rem,9vw,8rem)}.capability-detail{display:grid;grid-template-columns:.4fr 1.6fr;gap:3rem;padding:4rem 0;border-bottom:1px solid var(--line)}.capability-detail:first-child{padding-top:0}.capability-number{font:600 clamp(3.5rem,7vw,7rem)/1 Arial,sans-serif;color:rgba(7,21,34,.1)}.capability-detail h2{margin:0;font:600 clamp(2.4rem,4.2vw,4.2rem)/1.05 Arial,sans-serif;letter-spacing:-.045em}.capability-lede{max-width:700px;color:var(--muted);font-size:1.1rem}.method-list{margin:2.5rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;list-style:none;border-top:1px solid var(--line)}.method-list li{padding:1rem 0;border-bottom:1px solid var(--line);font-size:.88rem}.method-list li::before{content:"+";margin-right:.7rem;color:var(--teal-dark)}
.collaboration-band{padding:5rem 0;color:white;background:var(--ink-soft)}.collaboration-inner{display:flex;justify-content:space-between;align-items:end;gap:3rem}.collaboration-inner .section-label{color:var(--teal)}.collaboration-inner h2{max-width:750px;margin:0;font:600 clamp(2.3rem,4vw,4rem)/1.05 Arial,sans-serif;letter-spacing:-.04em}

.news-index{padding-block:clamp(5rem,9vw,8rem)}.news-index article{display:grid;grid-template-columns:.45fr 1.55fr;gap:3rem;padding:3.5rem 0;border-bottom:1px solid var(--line)}.news-index-feature{padding-top:0!important}.news-meta{display:grid;align-content:start;gap:.7rem}.news-meta time{font:600 .75rem Arial,sans-serif}.news-meta span{color:var(--teal-dark);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.news-index h2{max-width:900px;margin:0;font:600 clamp(2rem,3.6vw,3.7rem)/1.08 Arial,sans-serif;letter-spacing:-.04em}.news-index p{max-width:760px;color:var(--muted)}

.contact-layout{padding-block:clamp(5rem,9vw,9rem);display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(3rem,9vw,10rem)}.contact-main h2{max-width:760px;margin:0;font:600 clamp(2.3rem,4vw,4.1rem)/1.08 Arial,sans-serif;letter-spacing:-.04em}.contact-main>p{margin-top:2rem;color:var(--muted);font-size:1.05rem}.contact-address{display:grid;gap:.35rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line);color:var(--ink);font-style:normal}.contact-action{padding:2rem;border-top:3px solid var(--teal);background:var(--paper-deep)}.contact-action>span{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.contact-details{display:grid;gap:0;margin:1.5rem 0 2rem}.contact-details div{padding:1rem 0;border-bottom:1px solid var(--line)}.contact-details dt{margin-bottom:.35rem;color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.contact-details dd{margin:0;font-weight:600}.contact-details a,.contact-source{color:var(--ink);text-underline-offset:.25rem}.contact-source{display:block;margin-top:1.25rem;font-size:.78rem}.contact-topics{padding:2rem 0;background:var(--ink-soft);color:white}.topic-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.topic-strip span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.topic-strip span::before{content:"+";margin-right:.7rem;color:var(--teal)}

/* People */
.leader-section{padding-block:clamp(5rem,9vw,9rem);display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(3rem,8vw,9rem);align-items:start}.leader-photo{position:relative}.leader-photo::before{content:"";position:absolute;inset:-1.2rem 1.2rem 1.2rem -1.2rem;border:1px solid var(--teal-dark);z-index:-1}.leader-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.8) contrast(1.03)}.leader-copy h2{margin:0;font:600 clamp(2.8rem,5vw,5rem)/.98 Arial,sans-serif;letter-spacing:-.05em}.role{color:var(--teal-dark)!important;font-size:.82rem!important;font-weight:700;letter-spacing:.05em}.leader-copy>p{max-width:700px;color:var(--muted);font-size:1.03rem}.profile-links{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2rem}.profile-links a{color:var(--ink);font-size:.8rem;font-weight:700;text-underline-offset:.3rem;text-decoration-color:var(--teal-dark)}.researchers-band{padding:clamp(5rem,8vw,8rem) 0;background:var(--paper-deep)}.researchers-heading{display:grid;grid-template-columns:.55fr 1.45fr;gap:3rem;margin-bottom:3rem}.researchers-heading h2{margin:0;font:600 clamp(2.4rem,4vw,4rem) Arial,sans-serif;letter-spacing:-.04em}.people-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.person-card{min-height:300px;padding:2rem;display:grid;grid-template-columns:100px 1fr;gap:2rem;border-right:1px solid var(--line)}.person-card:first-child{padding-left:0}.person-card:last-child{border-right:0}.person-initials{width:84px;height:84px;display:grid;place-items:center;border:1px solid var(--teal-dark);border-radius:50%;color:var(--teal-dark);font:600 1.3rem Arial,sans-serif}.person-card h3{margin:0 0 .4rem;font:600 1.55rem Arial,sans-serif}.person-card p:last-child{color:var(--muted)}.source-note{padding-block:2rem;color:var(--muted);font-size:.78rem;border-bottom:1px solid var(--line)}

/* Projects */
.flagship-project{padding-block:clamp(5rem,9vw,9rem)}.project-title{display:flex;justify-content:space-between;align-items:end;gap:3rem;padding-bottom:3rem;border-bottom:1px solid var(--line)}.project-title h2{margin:0;font:600 clamp(4rem,8vw,8rem)/.9 Arial,sans-serif;letter-spacing:-.07em}.project-title>div>p:last-child{max-width:700px;color:var(--muted)}.project-status{padding:.55rem 1rem;border:1px solid var(--teal-dark);border-radius:999px;color:var(--teal-dark);font-size:.78rem;font-weight:700}.project-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(3rem,8vw,8rem);padding:4rem 0}.project-summary>p{max-width:720px;color:var(--muted);font-size:1.08rem}.project-summary .button{margin-top:1.5rem}.project-facts{margin:0;border-top:1px solid var(--line)}.project-facts div{padding:1rem 0;border-bottom:1px solid var(--line)}.project-facts dt{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.project-facts dd{margin:.25rem 0 0;font-weight:700}.project-themes{display:flex;flex-wrap:wrap;gap:.65rem}.project-themes span{padding:.55rem .85rem;border:1px solid var(--line);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}.case-study-band{padding:clamp(5rem,8vw,8rem) 0;color:white;background:var(--ink-soft)}.case-study{display:grid;grid-template-columns:.45fr 1.55fr;gap:clamp(3rem,8vw,8rem)}.case-code{color:var(--teal);font:.72rem Arial,sans-serif}.case-study h2{max-width:900px;margin:0;font:600 clamp(2.6rem,4.7vw,4.7rem)/1.03 Arial,sans-serif;letter-spacing:-.045em}.case-study p:not(.section-label){max-width:800px;color:rgba(255,255,255,.6)}.case-study .section-label{color:var(--teal)}.inline-link-light{color:white;text-decoration-color:var(--teal)}

/* Publications */
.publication-index{padding-block:clamp(5rem,9vw,8rem)}.publication{display:grid;grid-template-columns:.35fr 1.65fr;gap:3rem;padding:3.5rem 0;border-bottom:1px solid var(--line)}.publication:first-child{padding-top:0}.publication-year{color:var(--teal-dark);font:600 clamp(2rem,4vw,4rem) Arial,sans-serif}.publication-journal{margin:0 0 1rem!important;color:var(--teal-dark)!important;font-size:.7rem!important;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.publication h2{max-width:950px;margin:0;font:600 clamp(1.7rem,3vw,3rem)/1.12 Arial,sans-serif;letter-spacing:-.035em}.publication p{max-width:800px;color:var(--muted)}.publication .authors{color:var(--ink);font-weight:600}.publication a{font-size:.78rem;font-weight:700;text-underline-offset:.3rem;text-decoration-color:var(--teal-dark)}.scholar-band{padding:5rem 0;color:white;background:var(--ink-soft)}.scholar-inner{display:flex;align-items:end;justify-content:space-between;gap:3rem}.scholar-inner .section-label{color:var(--teal)}.scholar-inner h2{max-width:800px;margin:0;font:600 clamp(2.3rem,4vw,4rem)/1.05 Arial,sans-serif;letter-spacing:-.04em}

/* Facilities */
.facility-grid{padding-block:clamp(5rem,9vw,8rem);display:grid;grid-template-columns:1fr 1fr}.facility-card{min-height:390px;padding:2.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.facility-card:nth-child(odd){padding-left:0}.facility-card:nth-child(even){border-right:0}.facility-card>span{color:var(--teal-dark);font:.7rem Arial,sans-serif}.facility-card h2{margin:5rem 0 1.3rem;font:600 clamp(1.8rem,3vw,2.8rem)/1.08 Arial,sans-serif;letter-spacing:-.035em}.facility-card p{max-width:520px;color:var(--muted)}.education-band{padding:clamp(5rem,8vw,8rem) 0;color:white;background:var(--ink-soft)}.education-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,8vw,8rem)}.education-layout .section-label{color:var(--teal)}.education-layout h2{margin:0;font:600 clamp(2.4rem,4vw,4rem)/1.05 Arial,sans-serif;letter-spacing:-.04em}.education-layout>div:last-child>p{color:rgba(255,255,255,.6)}.education-layout ul{margin:2rem 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.14)}.education-layout li{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.14)}.education-layout li::before{content:"+";margin-right:.7rem;color:var(--teal)}

/* Sources */
.source-register{padding-block:clamp(5rem,9vw,9rem)}.source-register-intro{display:grid;grid-template-columns:.45fr 1.1fr .65fr;gap:3rem;align-items:start;margin-bottom:5rem}.source-register-intro h2{margin:0;font:600 clamp(2.5rem,4.4vw,4.4rem)/1.04 Arial,sans-serif;letter-spacing:-.045em}.source-register-intro>p:last-child{margin:0;color:var(--muted)}.source-list{border-top:1px solid var(--line)}.source-item{display:grid;grid-template-columns:.38fr 1.62fr;gap:3rem;padding:3rem 0;border-bottom:1px solid var(--line)}.source-item>span{color:var(--teal-dark);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.source-item h3{margin:0;font:600 clamp(1.6rem,2.8vw,2.7rem) Arial,sans-serif}.source-item p{max-width:760px;color:var(--muted)}.source-item a{font-size:.82rem;font-weight:700;text-underline-offset:.3rem;text-decoration-color:var(--teal-dark)}.license-line{color:var(--ink)!important}.source-band{padding:clamp(5rem,8vw,8rem) 0;color:white;background:var(--ink-soft)}.source-band-inner{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,8rem)}.source-band .section-label{color:var(--teal)}.source-band h2{margin:0;font:600 clamp(2.3rem,4vw,4rem)/1.05 Arial,sans-serif;letter-spacing:-.04em}.source-links{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.14)}.source-links li{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.14)}.source-links a{color:white;text-decoration-color:var(--teal);text-underline-offset:.3rem}

.reveal { opacity: 0; transform: translateY(18px); transition: opacity 600ms ease, transform 600ms ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 980px) {
  .site-header { height: 70px; }
  .menu-toggle {
    position: relative;
    z-index: 3;
    width: 46px;
    height: 46px;
    padding: 12px;
    border: 0;
    border-radius: 50%;
    display: grid;
    align-content: center;
    gap: 5px;
    color: var(--ink);
    background: rgba(7,21,34,.06);
  }
  .menu-toggle[aria-expanded="true"] { color: white; background: rgba(255,255,255,.08); }
  .menu-toggle span:not(.sr-only) { height: 1px; background: currentColor; transition: transform 160ms ease, opacity 160ms ease; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .site-nav {
    position: fixed;
    inset: 0;
    padding: 8rem 2rem 3rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.3rem;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-12px);
    background: var(--ink);
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
  }
  .site-nav.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
  .site-nav a { color: rgba(255,255,255,.78); font: 600 2rem Arial, sans-serif; }
  .site-nav a:hover, .site-nav a:focus-visible { color: white; }
  .site-nav a[aria-current="page"] { color: var(--blue); }
  .site-nav .nav-contact { color: white; }
  .site-nav .nav-contact { margin-top: 1rem; font-size: 1.1rem; }
  .hero { grid-template-columns: 1fr; min-height: 820px; height: auto; padding-top: 10rem; }
  .hero-model { position: absolute; width: 430px; right: -145px; bottom: -80px; opacity: .48; }
  .hero-copy { max-width: 670px; }
  .intro { grid-template-columns: 1fr 2.2fr; }
  .intro-note { grid-column: 2; }
  .section-heading { grid-template-columns: 1fr; gap: 1.5rem; }
  .research-list { grid-template-columns: 1fr; }
  .research-card, .research-card:first-child, .research-card:last-child { min-height: 0; padding: 2rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .research-card:last-child { border-bottom: 0; }
  .research-card ul { margin-top: 2rem; }
  .services { grid-template-columns: 1fr; }
  .services-lead { position: static; }
  .news-grid { grid-template-columns: 1fr 1fr; }
  .news-card { min-height: 350px; border-bottom: 1px solid rgba(255,255,255,.14); }
  .news-featured { grid-column: 1 / -1; padding-left: 2rem; }
  .contact { align-items: flex-start; flex-direction: column; }
  .site-footer { grid-template-columns: 1fr 1fr; }
  .site-footer > p:last-child { grid-column: 2; }
  .home-paths{grid-template-columns:1fr 1fr}.home-path,.home-path:first-child,.home-path:last-child{padding:2rem;border-right:1px solid var(--line)}.home-path:nth-child(2n){border-right:0}.page-hero{min-height:580px}.page-signal,.research-axis,.capability-glyph,.news-pulse,.contact-rings,.people-constellation,.project-network,.publication-lines,.facility-matrix{opacity:.32;right:-80px}.editorial-section{grid-template-columns:1fr}.campus-feature{grid-template-columns:1fr}.campus-visual img{min-height:360px}.institution-card{grid-template-columns:120px 1fr;align-items:center}.principles-grid{grid-template-columns:1fr}.principle,.principle:first-child{min-height:0;padding:2rem 0;border-right:0;border-bottom:1px solid var(--line)}.domain-header{grid-template-columns:1fr;gap:1.5rem}.topic-grid{grid-template-columns:1fr}.topic,.topic:first-child{min-height:0;padding:2rem 0;border-right:0;border-bottom:1px solid var(--line)}.topic:last-child{border-bottom:0}.capability-detail{grid-template-columns:.3fr 1.7fr}.news-index article{grid-template-columns:.4fr 1.6fr}.contact-layout{grid-template-columns:1fr}.topic-strip{grid-template-columns:1fr 1fr;gap:1.5rem}.leader-section{grid-template-columns:.8fr 1.2fr;gap:3rem}.researchers-heading{grid-template-columns:1fr}.people-grid{grid-template-columns:1fr}.person-card,.person-card:first-child{padding:2rem 0;border-right:0;border-bottom:1px solid var(--line)}.project-layout{grid-template-columns:1fr}.case-study{grid-template-columns:1fr}.education-layout{grid-template-columns:1fr}
}

@media (max-width: 640px) {
  .site-header { padding-inline: 1rem; }
  .site-header .brand { gap: .65rem; }
  .site-header .brand-mark { width: 202px; height: 40px; gap: 7px; }
  .site-header .brand-mark::before { width: 156px; height: 31px; }
  .site-header .brand-mark::after { width: 39px; height: 38px; }
  .site-header .brand > span:last-child { display: none; }
  .brand small { display: none; }
  .hero { min-height: 760px; padding: 8.5rem 1.25rem 4rem; align-items: start; }
  .hero h1 { font-size: clamp(3.3rem, 17vw, 5.2rem); }
  .hero-lede { margin-top: 1.5rem; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 1.25rem; }
  .hero-model { width: 330px; right: -145px; bottom: -65px; }
  .model-core { width: 110px; height: 110px; }
  .hero-index { display: none; }
  .section { padding: 5rem 1.25rem; }
  .intro { grid-template-columns: 1fr; }
  .intro-note { grid-column: 1; }
  .section-heading h2, .intro h2, .services h2, .contact h2 { font-size: clamp(2.35rem, 12vw, 3.4rem); }
  .news-grid { grid-template-columns: 1fr; }
  .news-featured { grid-column: auto; }
  .news-card, .news-featured { min-height: 320px; padding-inline: 0; border-right: 0; }
  .service-row { grid-template-columns: 40px 1fr; }
  .contact { padding-inline: 1.25rem; }
  .site-footer { padding: 3rem 1.25rem; grid-template-columns: 1fr; }
  .site-footer > p:last-child { grid-column: 1; }
  .institution-band{padding-inline:1.25rem}.institution-band-inner{grid-template-columns:66px 1fr}.institution-band img{width:58px;height:74px}.institution-band .inline-link{grid-column:2}.home-paths{grid-template-columns:1fr}.home-path,.home-path:first-child,.home-path:last-child{min-height:220px;padding:2rem 0;border-right:0}.page-shell{width:min(calc(100% - 2.5rem),var(--max))}.page-hero{min-height:580px;padding:8rem 0 4rem}.breadcrumb{margin-bottom:3rem}.page-hero h1{font-size:clamp(3.2rem,16vw,5rem)}.page-signal,.research-axis,.capability-glyph,.news-pulse,.contact-rings,.people-constellation,.project-network,.publication-lines,.facility-matrix{display:none}.editorial-section{padding-block:5rem;gap:2rem}.campus-visual img{min-height:240px}.institution-card{grid-template-columns:1fr;padding:2rem}.statement-band{padding-block:5rem}.next-page{align-items:flex-start;flex-direction:column}.next-page>a{text-align:left}.domain-section{padding-block:5rem}.capability-detail{grid-template-columns:1fr;gap:1rem}.capability-number{font-size:3rem}.method-list{grid-template-columns:1fr}.collaboration-inner{align-items:flex-start;flex-direction:column}.news-index article{grid-template-columns:1fr;gap:1.5rem}.contact-layout{padding-block:5rem}.topic-strip{grid-template-columns:1fr}.leader-section{grid-template-columns:1fr}.leader-photo{max-width:420px}.person-card{grid-template-columns:72px 1fr;gap:1.2rem}.person-initials{width:62px;height:62px}.project-title{align-items:flex-start;flex-direction:column}.project-title h2{font-size:4rem}.publication{grid-template-columns:1fr;gap:1rem}.scholar-inner{align-items:flex-start;flex-direction:column}.facility-grid{grid-template-columns:1fr}.facility-card,.facility-card:nth-child(odd){min-height:0;padding:2rem 0;border-right:0}.facility-card h2{margin-top:3rem}
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Error page */
.error-page { min-height: 100vh; color: white; background: var(--ink); }
.error-shell { position: relative; min-height: 100vh; padding: 2rem max(1.25rem, calc((100vw - var(--max)) / 2)); overflow: hidden; display: grid; align-content: space-between; background: radial-gradient(circle at 78% 48%, rgba(45,212,191,.12), transparent 27%); }
.error-brand { position: relative; z-index: 2; width: fit-content; }
.error-content { position: relative; z-index: 2; max-width: 760px; padding: 5rem 0 8rem; }
.error-code { margin: 0 0 2rem; color: rgba(255,255,255,.28); font: 600 1rem/1 Arial,sans-serif; letter-spacing: .2em; }
.error-content h1 { margin: 0; font: 600 clamp(3.4rem,8vw,7rem)/.95 Arial,sans-serif; letter-spacing: -.06em; }
.error-content>p:not(.page-kicker):not(.error-code) { max-width: 620px; margin: 2rem 0 0; color: rgba(255,255,255,.62); font-size: 1.1rem; }
.error-content .text-link { color: white; }
.error-orbit { position: absolute; right: -10vw; bottom: -18vw; width: min(62vw,800px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.error-orbit span { position: absolute; inset: 18%; border: 1px solid rgba(45,212,191,.28); border-radius: 50%; }
.error-orbit i { position: absolute; left: 49%; top: -5px; width: 10px; height: 10px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 24px var(--teal); }

@media (max-width: 980px) {
  .source-register-intro { grid-template-columns: 1fr; }
  .source-band-inner { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .source-item { grid-template-columns: 1fr; gap: 1rem; }
}
