.site-header { position: sticky; top: 0; border-bottom: 1px solid rgba(75,55,99,.08); }
.header-inner { min-height: 92px; gap: 16px; }
.brand { min-width: 0; gap: 12px; white-space: nowrap; }
.brand-emblem { display: flex; width: 48px; flex: 0 0 48px; align-items: center; flex-direction: column; justify-content: center; }
.brand img.brand-mark { width: 40px; height: 40px; flex: 0 0 40px; }
.brand-acronym { margin-top: -1px; color: var(--lacquer); font-family: var(--serif); font-size: var(--fs-meta); font-weight: var(--fw-heavy); line-height: 1.15; letter-spacing: var(--tracking-brand); }
.brand-name { color: var(--indigo); font-family: var(--sans); font-size: var(--fs-title); font-weight: var(--fw-bold); letter-spacing: var(--tracking-normal); }
.query-link { white-space: nowrap; }

.hero-scroll { overflow: hidden; padding: 62px 0 76px; background: var(--ivory); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); align-items: center; gap: 54px; }
.hero-copy { min-width: 0; padding: 40px 0 20px; }
.hero-copy .eyebrow { margin-bottom: var(--space-4); font-weight: var(--fw-heavy); }
.hero-copy .display-title { margin-bottom: 20px; color: var(--lacquer-deep); font-size: var(--fs-display); line-height: var(--lh-display); white-space: normal; text-wrap: balance; }
.hero-copy .lead { max-width: none; margin: 0; }
.hero-actions { display: flex; gap: var(--gap-button-group); margin-top: 30px; }
.hero-index { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 38px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--indigo); font-family: var(--sans); font-size: var(--fs-support); }
.hero-index a { font-weight: var(--fw-semibold); }
.hero-index a:hover,
.hero-index a:focus-visible { color: var(--lacquer); }
.hero-collage { position: relative; display: grid; height: 550px; min-height: 0; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: var(--space-4); }
.hero-stack { display: grid; min-width: 0; min-height: 0; gap: var(--space-4); }
.hero-stack-left { grid-template-rows: 320px 178px; align-content: start; }
.hero-stack-right { grid-template-rows: 184px 256px; align-content: start; padding-top: 44px; }
.hero-collage figure { position: relative; min-width: 0; min-height: 0; margin: 0; overflow: hidden; background: #ddd; box-shadow: var(--shadow); }
.hero-collage figure img { width: 100%; height: 100%; object-fit: cover; }
.image-culture img { object-position: 54% 50%; }
.image-cross img { object-position: 51% 50%; }
.image-art img { object-position: 50% 52%; }
.image-sport img { object-position: 50% 50%; }

.news-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper); }
.news-grid { display: grid; grid-template-columns: 1.05fr repeat(3, 1.55fr); align-items: stretch; }
.news-grid > * { display: flex; min-height: 92px; flex-direction: column; justify-content: center; gap: 2px; padding: 13px 24px; border-right: 1px solid var(--line); }
.news-grid span { color: var(--muted); font-size: var(--fs-meta); }
.news-grid strong { font-size: var(--fs-support); font-weight: var(--fw-semibold); }
.news-label { background: var(--lacquer); color: #fff; }
.news-label span { color: rgba(255,255,255,.9); }
.news-label { white-space: nowrap; }
.news-label strong { font-size: var(--fs-support); font-weight: var(--fw-bold); }

.fields-section { padding: var(--space-section) 0; }
.field-index { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--indigo); border-bottom: 1px solid var(--line); }
.field-index a { min-height: 250px; padding: 28px; border-right: 1px solid var(--line); transition: background .25s, transform .25s; }
.field-index a:last-child { border-right: 0; }
.field-index a:hover { background: var(--paper); transform: translateY(-5px); }
.field-heading { display: grid; grid-template-columns: 26px minmax(0, auto); align-items: baseline; gap: var(--gap-number-label); white-space: nowrap; }
.field-index span { color: var(--lacquer-deep); font-family: var(--sans); font-size: var(--fs-heading-small); font-weight: var(--fw-heavy); font-variant-numeric: tabular-nums; }
.field-index h3 { margin: 0; color: var(--ink); font-family: var(--sans); font-size: var(--fs-heading-small); font-weight: var(--fw-bold); }
.field-index p { margin: 22px 0 25px; color: var(--muted); font-size: var(--fs-support); }
.field-index b { color: var(--indigo); font-size: var(--fs-support); font-weight: var(--fw-bold); }

.exhibition-section { padding: var(--space-section) 0; background: var(--paper); }
.exhibition-grid { display: grid; grid-template-columns: 7fr 5fr; align-items: stretch; gap: 54px; }
.exhibition-photo { align-self: center; aspect-ratio: 16 / 10; margin: 0; overflow: hidden; box-shadow: var(--shadow); }
.exhibition-photo a { display: block; height: 100%; }
.exhibition-photo img { object-position: 50% 52%; transition: transform .4s ease; }
.exhibition-photo a:hover img,
.exhibition-photo a:focus-visible img { transform: scale(1.02); }
.exhibition-photo a:focus-visible { outline: 3px solid var(--lacquer); outline-offset: -3px; }
.exhibition-copy { display: flex; flex-direction: column; justify-content: center; padding: 34px 0; }
.exhibition-copy .section-title { font-size: var(--fs-title); }
.exhibition-copy .issue { margin: 7px 0 18px; color: var(--indigo); font-family: var(--sans); font-size: var(--fs-support); font-weight: var(--fw-bold); }
.exhibition-copy .display-title { margin-bottom: 20px; color: var(--lacquer-deep); font-size: var(--fs-heading-small); }
.exhibition-scope { margin: 18px 0 0; color: var(--lacquer-deep); font-size: var(--fs-body); font-weight: var(--fw-bold); }
.exhibition-links { display: grid; grid-template-columns: 1fr 1fr; margin: 18px 0 28px; border-top: 1px solid var(--line); }
.exhibition-links a { display: grid; gap: 3px; padding: 14px 12px 14px 0; border-bottom: 1px solid var(--line); color: var(--indigo); }
.exhibition-links a:nth-child(even) { padding-right: 0; padding-left: 18px; border-left: 1px solid var(--line); }
.exhibition-links strong { font-family: var(--sans); font-size: var(--fs-heading-small); font-weight: var(--fw-bold); }
.exhibition-links span { color: var(--muted); font-size: var(--fs-support); line-height: var(--lh-support); }
.exhibition-copy .btn { align-self: flex-start; }

.research-section { padding: var(--space-section) 0; }
.research-grid { display: grid; grid-template-columns: 7fr 5fr; gap: 70px; align-items: center; }
.research-copy .section-deck { margin: 8px 0 0; }
.research-copy .lead { margin-bottom: 30px; }
.research-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.research-list li { border-bottom: 1px solid var(--line); }
.research-list a { display: grid; grid-template-columns: 26px 1fr; gap: var(--gap-number-label); padding: 17px 0; }
.research-list a:hover strong,
.research-list a:focus-visible strong { color: var(--lacquer); }
.research-list span { color: var(--lacquer-deep); font-family: var(--sans); font-size: var(--fs-heading-small); font-weight: var(--fw-heavy); font-variant-numeric: tabular-nums; }
.research-list strong { color: var(--ink); font-family: var(--sans); font-size: var(--fs-heading-small); font-weight: var(--fw-bold); }
.research-list p { margin: 3px 0 0; color: var(--muted); font-size: var(--fs-support); }
.research-photo { position: relative; height: 590px; margin: 0; }
.research-photo img { object-position: 49% center; }

.home-honor-section {
  padding: var(--space-section) 0;
  background:
    radial-gradient(circle at 10% 92%, rgba(203,108,51,.15), transparent 25%),
    linear-gradient(125deg, rgba(156,63,53,.09), transparent 42%),
    var(--paper);
}
.home-honor-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 54px; align-items: center; }
.home-honor-copy .section-title { margin-bottom: var(--space-4); }
.home-honor-copy .lead { margin: 0; }
.home-honor-links { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-5); }
.home-honor-spectrum { display: grid; gap: var(--space-2); }
.home-honor-spectrum a {
  display: grid;
  grid-template-columns: 26px minmax(120px, 1fr) minmax(0, 2fr);
  gap: var(--gap-number-label) var(--space-4);
  align-items: center;
  min-height: 76px;
  padding: var(--space-3) var(--space-5);
  color: var(--ink);
  transition: transform .2s ease;
}
.home-honor-spectrum a:hover,
.home-honor-spectrum a:focus-visible { transform: translateX(-4px); }
.home-honor-spectrum a:nth-child(1) { background: #e4cbc6; }
.home-honor-spectrum a:nth-child(2) { background: #ecd4ce; }
.home-honor-spectrum a:nth-child(3) { background: #f0d8c5; }
.home-honor-spectrum a:nth-child(4) { background: #d9d3e2; }
.home-honor-spectrum a:nth-child(5) { background: #e3d3df; }
.home-honor-spectrum span {
  color: var(--lacquer-deep);
  font-size: var(--fs-heading-small);
  font-weight: var(--fw-heavy);
  font-variant-numeric: tabular-nums;
}
.home-honor-spectrum strong {
  font-size: var(--fs-heading-small);
  font-weight: var(--fw-bold);
  line-height: var(--lh-heading);
}
.home-honor-spectrum small {
  color: var(--muted);
  font-size: var(--fs-support);
  line-height: var(--lh-support);
}
.home-honor-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: var(--space-5);
  align-items: center;
  margin-top: var(--space-7);
  padding: var(--space-5);
  background: rgba(75,55,99,.075);
}
.home-honor-status strong {
  color: var(--indigo);
  font-size: var(--fs-heading-small);
  line-height: var(--lh-heading);
}
.home-honor-status p {
  margin: var(--space-1) 0 0;
  color: var(--muted);
  font-size: var(--fs-support);
  line-height: var(--lh-support);
}
.home-honor-status .btn { white-space: nowrap; }

.mechanism-section {
  padding: var(--space-section) 0;
  background:
    radial-gradient(circle at 86% 18%, rgba(156,63,53,.08), transparent 28%),
    rgba(75,55,99,.065);
}
.mechanism-grid { display: grid; grid-template-columns: .84fr 1.16fr; gap: var(--space-7) var(--space-8); align-items: start; }
.mechanism-intro p:not(.section-deck) { color: #4c4446; }
.home-review-atlas { display: grid; border-top: 1px solid var(--line); }
.home-review-atlas a {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: var(--gap-number-label);
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--line);
}
.home-review-atlas a:hover,
.home-review-atlas a:focus-visible { color: var(--lacquer); }
.home-review-atlas span {
  color: var(--lacquer);
  font-size: var(--fs-heading-small);
  font-weight: var(--fw-heavy);
}
.home-review-atlas strong {
  display: block;
  font-size: var(--fs-heading-small);
  line-height: var(--lh-heading);
}
.home-review-atlas small {
  color: var(--muted);
  font-size: var(--fs-support);
  line-height: var(--lh-support);
}
.stage-gates {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  counter-reset: stage;
  border-top: 1px solid var(--indigo);
  border-left: 1px solid var(--line);
}
.stage-gates span {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: var(--gap-number-label);
  min-height: 112px;
  align-content: center;
  padding: var(--space-4);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-family: var(--sans);
  font-size: var(--fs-heading-small);
  font-weight: var(--fw-bold);
}
.stage-gates span::before { counter-increment: stage; content: "0" counter(stage); color: var(--lacquer-deep); font-family: var(--sans); font-size: var(--fs-heading-small); font-weight: var(--fw-heavy); font-variant-numeric: tabular-nums; }
.home-review-policy {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 300px 1fr auto;
  gap: var(--space-5);
  align-items: center;
  padding: var(--space-6);
  background: var(--indigo);
  color: #fff;
}
.home-review-policy h3 {
  margin: 0;
  color: #fff;
  font-size: var(--fs-heading-small);
  line-height: var(--lh-heading);
}
.home-review-policy p {
  margin: 0;
  color: rgba(255,255,255,.84);
  font-size: var(--fs-body);
  line-height: var(--lh-support);
}
.home-review-policy .text-link { color: #fff; }

.query-section { padding: 70px 0; background: var(--paper); }
.query-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-8); align-items: center; }
.query-copy { display: grid; gap: var(--space-2); }
.query-grid p { margin: 0; color: var(--muted); }
.query-copy .query-description { margin-top: var(--space-2); line-height: var(--lh-support); }
.query-grid .section-title { white-space: nowrap; }

.footer-brand { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-4); color: #fff; font-family: var(--sans); font-size: var(--fs-heading-small); font-weight: var(--fw-bold); white-space: nowrap; }
.footer-emblem { display: flex; width: 44px; flex: 0 0 44px; align-items: center; flex-direction: column; }
.footer-brand img.footer-mark { width: 38px; height: 38px; filter: brightness(0) invert(1); object-fit: contain; }
.footer-emblem small { margin-top: -1px; color: #fff; font-size: var(--fs-meta); font-weight: var(--fw-heavy); line-height: 1; }

@media (max-width: 1050px) {
  .hero-grid, .exhibition-grid, .research-grid { grid-template-columns: 1fr; }
  .hero-collage { height: 600px; }
  .hero-stack-left { grid-template-rows: 350px 190px; }
  .hero-stack-right { grid-template-rows: 205px 280px; padding-top: 48px; }
  .news-grid { grid-template-columns: 1fr 1fr; }
  .news-grid > * { border-bottom: 1px solid var(--line); }
  .news-label { grid-column: 1 / -1; }
  .field-index { grid-template-columns: 1fr 1fr; }
  .field-index a:nth-child(2) { border-right: 0; }
  .field-index a:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .exhibition-copy { padding: 30px 0 0; }
  .mechanism-grid { grid-template-columns: 1fr 1fr; }
  .home-honor-grid { grid-template-columns: 1fr; }
  .home-honor-status { grid-template-columns: 1fr 1fr; }
  .home-review-policy { grid-template-columns: 1fr; }
  .query-grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .query-grid .btn { justify-self: start; }
}

@media (max-width: 1340px) {
  .brand-name { font-size: var(--fs-heading-small); }
}

@media (max-width: 650px) {
  .hero-scroll { padding: 38px 0 55px; }
  .header-inner { min-height: 70px; gap: 12px; }
  .site-nav { inset: 70px 0 0; }
  .brand { gap: 7px; }
  .brand-emblem { width: 32px; flex-basis: 32px; }
  .brand img.brand-mark { width: 28px; height: 28px; flex-basis: 28px; }
  .brand-acronym { margin-top: 0; font-size: var(--fs-meta); }
  .brand-name { font-size: var(--fs-support); }
  .hero-copy .eyebrow { font-size: var(--fs-support); }
  .hero-copy .display-title { font-size: var(--fs-title); }
  .hero-actions { flex-direction: column; }
  .hero-collage { height: 430px; min-height: 0; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: var(--space-3); }
  .hero-stack { gap: var(--space-3); }
  .hero-stack-left { grid-template-rows: 245px 135px; }
  .hero-stack-right { grid-template-rows: 130px 202px; padding-top: 26px; }
  .image-culture img { object-position: 54% 52%; }
  .image-art img { object-position: 50% 56%; }
  .image-cross img { object-position: 52% 50%; }
  .news-grid, .field-index { grid-template-columns: 1fr; }
  .news-label { grid-column: auto; }
  .field-index a { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .exhibition-photo { aspect-ratio: 4 / 3; }
  .exhibition-copy .section-title { font-size: var(--fs-title); }
  .exhibition-copy .display-title { font-size: var(--fs-heading-small); }
  .exhibition-links { grid-template-columns: 1fr; }
  .exhibition-links a:nth-child(even) { padding-left: 0; border-left: 0; }
  .research-photo { height: 430px; }
  .home-honor-spectrum a { grid-template-columns: 26px minmax(0, 1fr); }
  .home-honor-spectrum small { grid-column: 2; }
  .home-honor-status { grid-template-columns: 1fr; }
  .home-honor-status .btn { width: 100%; }
  .mechanism-grid { grid-template-columns: 1fr; }
  .stage-gates,
  .home-review-policy { grid-column: auto; }
  .stage-gates { grid-template-columns: 1fr 1fr; }
  .footer-brand { font-size: var(--fs-support); }
  .footer-emblem { width: 38px; flex-basis: 38px; }
  .footer-brand img.footer-mark { width: 32px; height: 32px; }
}

@media (max-width: 400px) {
  .stage-gates { grid-template-columns: 1fr; }
}
