:root {
  color-scheme: light;
  --ink: #18211f;
  --muted: #5c6763;
  --paper: #ffffff;
  --wash: #f3f5f4;
  --line: #d5dbd8;
  --green: #086a5b;
  --green-dark: #054a41;
  --red: #983b33;
  --gold: #9a711d;
  --blue: #315d7a;
  --header: #15231f;
}

* { box-sizing: border-box; }
html { background: var(--wash); scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--wash); font: 16px/1.55 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
img { max-width: 100%; }
a { color: var(--green-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--red); }
h1, h2, h3 { margin-top: 0; font-family: Georgia, "Times New Roman", serif; letter-spacing: 0; }
.page-width { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }

.site-header { position: relative; z-index: 20; color: #fff; background: var(--header); border-bottom: 3px solid #ba9746; }
.site-header__inner { width: min(1200px, calc(100% - 40px)); min-height: 64px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-identity { display: flex; align-items: center; gap: 10px; color: #fff; font-family: Georgia, "Times New Roman", serif; font-weight: 700; text-decoration: none; white-space: nowrap; }
.site-identity:hover { color: #fff; }
.site-identity__mark { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #cba951; color: #ead79f; font-size: 15px; }
.site-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 22px; }
.site-nav a { color: #dce7e3; font-size: 14px; text-decoration: none; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: #fff; }
.site-nav a[aria-current="page"] { text-decoration: underline; text-decoration-color: #cba951; text-underline-offset: 7px; }

.home-hero { position: relative; min-height: min(680px, calc(100vh - 120px)); display: grid; align-items: end; overflow: hidden; color: #fff; background: #151b19; }
.home-hero__image, .home-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-hero__image { object-fit: cover; object-position: 50% 48%; }
.home-hero__shade { background: rgb(8 15 13 / 58%); }
.home-hero__content { position: relative; width: min(1120px, calc(100% - 40px)); margin-inline: auto; padding: 80px 0 76px; }
.home-hero h1 { max-width: 780px; margin: 0; font-size: 72px; line-height: 1; }
.home-hero__content > p:not(.eyebrow) { max-width: 650px; margin: 22px 0 0; color: #e1e7e4; font-size: 20px; line-height: 1.5; }
.eyebrow { margin: 0 0 9px; color: var(--red); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.eyebrow--light { color: #e1c778; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.button { display: inline-flex; min-height: 44px; align-items: center; padding: 0 18px; border: 1px solid transparent; border-radius: 4px; font-size: 14px; font-weight: 700; text-decoration: none; }
.button--primary { color: #fff; background: var(--green); }
.button--primary:hover { color: #fff; background: var(--green-dark); }
.button--ghost { color: #fff; border-color: rgb(255 255 255 / 55%); background: rgb(0 0 0 / 15%); }
.button--ghost:hover { color: #fff; border-color: #fff; }
.button--outline { color: var(--green-dark); border-color: #8ca59e; background: transparent; }
.button--outline:hover { color: #fff; border-color: var(--green-dark); background: var(--green-dark); }

.band { padding: 76px 0; background: var(--wash); }
.band + .band { border-top: 1px solid var(--line); }
.band--work { background: #fff; }
.work-layout { display: grid; grid-template-columns: minmax(280px, 0.8fr) minmax(420px, 1.2fr); gap: 70px; align-items: start; }
.section-heading h2 { max-width: 620px; margin-bottom: 16px; font-size: 39px; line-height: 1.12; }
.section-heading > p:last-child { max-width: 610px; margin: 0; color: var(--muted); }
.section-heading--row { display: flex; justify-content: space-between; gap: 50px; align-items: end; }
.section-heading--row > p { max-width: 430px; padding-bottom: 5px; }
.work-list { border-top: 1px solid var(--line); }
.work-item { display: grid; grid-template-columns: 42px 1fr auto; gap: 14px; align-items: center; min-height: 94px; padding: 15px 2px; color: inherit; border-bottom: 1px solid var(--line); text-decoration: none; }
.work-item:hover { color: inherit; }
.work-item__index { color: var(--gold); font: 14px Georgia, serif; }
.work-item strong { display: block; font: 700 21px/1.2 Georgia, serif; }
.work-item small { display: block; margin-top: 5px; color: var(--muted); font-size: 13px; }
.arrow { color: var(--green); font-size: 20px; }
.topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 32px; }
.topic { min-height: 230px; padding: 20px; color: inherit; border-top: 4px solid var(--green); background: #fff; text-decoration: none; }
.topic:hover { color: inherit; box-shadow: 0 5px 20px rgb(23 38 34 / 8%); }
.topic--gold { border-top-color: var(--gold); }
.topic--red { border-top-color: var(--red); }
.topic--blue { border-top-color: var(--blue); }
.topic span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.topic h3 { margin: 42px 0 9px; font-size: 26px; }
.topic p { margin: 0; color: var(--muted); font-size: 14px; }
.band--personal { background: #e5e9e7; }
.personal-layout { display: grid; grid-template-columns: minmax(320px, 1fr) minmax(320px, 0.85fr); gap: 56px; align-items: center; }
.personal-photo { display: block; height: 410px; overflow: hidden; }
.personal-photo img { width: 100%; height: 100%; object-fit: cover; }
.personal-layout h2 { margin-bottom: 16px; font-size: 39px; line-height: 1.12; }
.personal-layout p:not(.eyebrow) { color: var(--muted); }
.text-links { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; margin-top: 24px; }
.text-links a { padding: 8px 0; border-bottom: 1px solid #bec7c3; font-weight: 650; text-decoration: none; }

.page-main { min-height: 70vh; padding: 54px 0 78px; }
.page-intro { padding-bottom: 44px; border-bottom: 1px solid var(--line); }
.breadcrumb { margin: 0 0 30px; color: var(--muted); font-size: 13px; }
.breadcrumb a { color: inherit; }
.page-intro h1 { margin: 0; font-size: 62px; line-height: 1.02; }
.lead { max-width: 760px; margin: 20px 0 0; color: #46514e; font-size: 20px; }

.book-list { margin-top: 15px; }
.book-row { display: grid; grid-template-columns: 55px minmax(0, 1fr) 150px; gap: 28px; align-items: start; padding: 34px 0; border-bottom: 1px solid var(--line); }
.book-row__number { padding-top: 5px; color: var(--gold); font: 15px Georgia, serif; }
.book-row__year { margin: 0 0 5px; color: var(--red); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.book-row h2 { max-width: 760px; margin: 0; font-size: 28px; line-height: 1.18; }
.book-row h2 a { color: inherit; text-decoration: none; }
.book-row h2 a:hover { color: var(--green-dark); }
.book-row__authors { margin: 7px 0 14px !important; color: #3f4946 !important; font-weight: 650; }
.book-row__body > p { max-width: 730px; margin: 0; color: var(--muted); }
.inline-links { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 15px; }
.inline-links a { font-size: 13px; font-weight: 750; }
.book-row__image { width: 150px; height: 145px; display: grid; place-items: center; overflow: hidden; background: #e4e8e6; }
.book-row__image img { width: 100%; height: 100%; object-fit: cover; }
.archive-callout { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 50px; margin-top: 54px; padding: 27px 0; border-top: 3px solid var(--gold); border-bottom: 1px solid var(--line); }
.archive-callout h2 { margin: 0; font-size: 26px; }
.archive-callout > p { margin: 0; color: var(--muted); }

.talk-browser { margin-top: 30px; }
.talk-tools { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 18px; }
.talk-tools h2 { margin: 0; font-size: 27px; }
.talk-tools p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.talk-controls { display: flex; gap: 10px; align-items: end; }
.search-control, .select-control { display: grid; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.search-control input, .select-control select { height: 42px; border: 1px solid #b9c2be; border-radius: 4px; color: var(--ink); background: #fff; font: 14px system-ui, sans-serif; }
.search-control input { width: 285px; padding: 0 12px; }
.select-control select { min-width: 140px; padding: 0 30px 0 10px; }
.talk-list { border-top: 1px solid var(--line); }
.talk-row { display: grid; grid-template-columns: 105px minmax(0, 1fr) 130px 20px; gap: 18px; align-items: center; min-height: 72px; padding: 12px 3px; color: inherit; border-bottom: 1px solid var(--line); text-decoration: none; }
.talk-row:hover { color: inherit; background: #fff; }
.talk-row[hidden] { display: none; }
.talk-row__date { color: var(--muted); font: 13px Georgia, serif; }
.talk-row__title { min-width: 0; }
.talk-row__title strong { display: block; font: 700 17px/1.25 Georgia, serif; }
.talk-row__title small { display: block; overflow: hidden; margin-top: 3px; color: #79817e; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.talk-row__formats { color: var(--muted); font-size: 11px; font-weight: 750; text-align: right; text-transform: uppercase; }
.empty-state { padding: 50px 0; color: var(--muted); text-align: center; }

.catalog-summary { display: grid; grid-template-columns: 145px 145px 145px minmax(0, 1fr); gap: 24px; align-items: center; padding: 27px 0; border-bottom: 1px solid var(--line); }
.catalog-summary div { min-width: 0; }
.catalog-summary strong { display: block; font: 700 28px/1 Georgia, serif; }
.catalog-summary span { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.catalog-summary p { margin: 0; padding-left: 24px; color: var(--muted); border-left: 1px solid var(--line); font-size: 13px; }
.catalog-browser { margin-top: 34px; }
.catalog-tools { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 18px; }
.catalog-tools h2 { margin: 0; font-size: 27px; }
.catalog-tools p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.catalog-controls { display: flex; gap: 10px; align-items: end; }
.catalog-controls .search-control input { width: 300px; }
.publication-list, .course-list { border-top: 1px solid var(--line); }
.publication-row { display: grid; grid-template-columns: 72px minmax(0, 1fr) 150px 170px; gap: 18px; align-items: center; min-height: 104px; padding: 17px 3px; color: inherit; border-bottom: 1px solid var(--line); }
.publication-row:hover, .course-row[href]:hover { color: inherit; background: #fff; }
.publication-row[hidden], .course-row[hidden] { display: none; }
.publication-row__year, .course-row__year { color: var(--gold); font: 14px Georgia, serif; }
.publication-row__body, .course-row__body { min-width: 0; }
.publication-row__body strong, .course-row__body strong { display: block; font: 700 17px/1.28 Georgia, serif; }
.publication-row__body strong a { color: inherit; text-decoration-color: #a8b7b1; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.publication-row__body strong a:hover { color: var(--green-dark); text-decoration-color: var(--green-dark); }
.publication-row__body small, .course-row__body small { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.publication-row__meta { display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 700; text-align: right; text-transform: uppercase; }
.publication-row__meta b, .publication-row__meta span { display: block; }
.publication-row__meta b { color: var(--green-dark); font-size: 11px; }
.publication-row__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.publication-row__links a { padding: 5px 7px; color: var(--green-dark); border: 1px solid #b8c9c3; border-radius: 3px; background: #f7faf9; font-size: 10px; font-weight: 800; line-height: 1; text-decoration: none; text-transform: uppercase; }
.publication-row__links a:hover { color: #fff; border-color: var(--green-dark); background: var(--green-dark); }
.course-row { display: grid; grid-template-columns: 72px minmax(0, 1fr) 105px 20px; gap: 18px; align-items: center; min-height: 74px; padding: 12px 3px; color: inherit; border-bottom: 1px solid var(--line); text-decoration: none; }
.course-row--record { color: #4f5956; }
.record-status { justify-self: end; padding: 3px 7px; color: var(--green-dark); border: 1px solid #b8cec7; border-radius: 3px; background: #edf5f2; font-size: 10px; font-weight: 750; text-transform: uppercase; white-space: nowrap; }
.record-status--github { color: #315d7a; border-color: #b8cad5; background: #edf3f6; }
.record-status--retired { color: #7e3c36; border-color: #d8bbb8; background: #f8efee; }

.project-list, .grant-list { border-top: 1px solid var(--line); }
.project-row, .grant-row { display: grid; gap: 18px; align-items: center; min-height: 82px; padding: 13px 3px; color: inherit; border-bottom: 1px solid var(--line); text-decoration: none; }
.project-row { grid-template-columns: 72px minmax(0, 1fr) 150px 20px; }
.grant-row { grid-template-columns: 72px minmax(0, 1fr) 118px 20px; }
.project-row:hover, .grant-row:hover { color: inherit; background: #fff; }
.project-row[hidden], .grant-row[hidden] { display: none; }
.project-row--record, .grant-row--record { color: #4f5956; }
.project-row__period, .grant-row__year { color: var(--gold); font: 14px Georgia, serif; }
.project-row__body, .grant-row__body { min-width: 0; }
.project-row__body strong, .grant-row__body strong { display: block; font: 700 17px/1.28 Georgia, serif; }
.project-row__body small, .grant-row__body small { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.project-row__type { color: var(--muted); font-size: 11px; font-weight: 750; text-align: right; text-transform: uppercase; }
.grant-status { justify-self: end; padding: 4px 8px; color: #5f5540; border: 1px solid #cfc5ad; border-radius: 3px; background: #f5f2ea; font-size: 10px; font-weight: 800; text-align: center; text-transform: uppercase; }
.grant-status--funded { color: var(--green-dark); border-color: #b8cec7; background: #edf5f2; }
.grant-status--denied { color: #7e3c36; border-color: #d8bbb8; background: #f8efee; }

.data-status-key { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 44px; padding: 34px 0; border-bottom: 1px solid var(--line); }
.data-status-key h2 { margin: 0; font-size: 27px; }
.data-status-key dl { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 26px; margin: 0; }
.data-status-key dl div { min-width: 0; }
.data-status-key dd { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.data-status { display: inline-flex; width: max-content; max-width: 100%; align-items: center; padding: 4px 7px; border: 1px solid; border-radius: 3px; font-size: 9px; font-weight: 800; line-height: 1.2; text-transform: uppercase; }
.data-status--static { color: var(--green-dark); border-color: #b8cec7; background: #edf5f2; }
.data-status--download { color: #315d7a; border-color: #b8cad5; background: #edf3f6; }
.data-status--historical { color: #6d5828; border-color: #d2c59e; background: #f7f3e7; }
.data-status--retired { color: #7e3c36; border-color: #d8bbb8; background: #f8efee; }
.data-collection-list { border-top: 1px solid var(--line); }
.data-collection-row { display: grid; grid-template-columns: 150px minmax(0, 1fr) 140px 70px; gap: 18px; align-items: center; min-height: 108px; padding: 16px 3px; border-bottom: 1px solid var(--line); }
.data-collection-row[hidden] { display: none; }
.data-collection-row__body { min-width: 0; }
.data-collection-row__body strong { display: block; font: 700 17px/1.28 Georgia, serif; }
.data-collection-row__body strong a { color: inherit; text-decoration-color: #a8b7b1; text-underline-offset: 3px; }
.data-collection-row__body small { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.42; }
.data-collection-row__body code { display: block; overflow: hidden; margin-top: 6px; color: #7a8581; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.data-collection-row__area, .data-collection-row__size { color: var(--muted); font-size: 10px; font-weight: 750; text-align: right; text-transform: uppercase; }
.data-collection-row__size { color: var(--gold); font: 13px Georgia, serif; text-transform: none; }

.sga-visual { display: grid; grid-template-columns: 0.8fr 1.4fr 0.8fr; gap: 12px; height: 245px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.sga-visual figure { position: relative; min-width: 0; margin: 0; overflow: hidden; background: #dfe4e1; }
.sga-visual img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(15%); }
.sga-visual__document img { object-fit: contain; padding: 18px; background: #e5e8e6; }
.sga-visual figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 20px 10px 8px; color: #fff; background: linear-gradient(transparent, rgb(13 24 21 / 82%)); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.sga-provenance { display: grid; grid-template-columns: minmax(230px, 0.55fr) minmax(0, 1.45fr); gap: 60px; padding: 44px 0; border-bottom: 1px solid var(--line); }
.sga-provenance h2 { max-width: 360px; margin: 0; font-size: 33px; line-height: 1.15; }
.sga-provenance__text p { margin: 0; color: var(--muted); }
.sga-provenance__text p + p { margin-top: 13px; }
.sga-volumes { padding-top: 58px; }
.sga-volume-list { margin-top: 28px; border-top: 1px solid var(--line); }
.sga-volume-row { display: grid; grid-template-columns: 90px minmax(0, 1fr) 230px; gap: 20px; align-items: center; min-height: 86px; padding: 13px 3px; border-bottom: 1px solid var(--line); }
.sga-volume-row__number { color: var(--gold); font: 15px Georgia, serif; }
.sga-volume-row__body { min-width: 0; }
.sga-volume-row__body strong { display: block; font: 700 17px/1.28 Georgia, serif; }
.sga-volume-row__body strong a { color: inherit; text-decoration-color: #a8b7b1; text-underline-offset: 3px; }
.sga-volume-row__body small { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; }
.sga-volume-row__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.sga-volume-row__links a { min-width: 42px; padding: 5px 7px; color: var(--green-dark); border: 1px solid #b8c9c3; border-radius: 3px; background: #f7faf9; font-size: 10px; font-weight: 800; text-align: center; text-decoration: none; text-transform: uppercase; }
.sga-related { margin-top: 70px; }
.sga-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 30px; }
.sga-related-grid a { min-height: 180px; padding: 18px; color: inherit; border-top: 3px solid var(--green); background: var(--wash); text-decoration: none; }
.sga-related-grid a:nth-child(4n+2) { border-top-color: var(--blue); }
.sga-related-grid a:nth-child(4n+3) { border-top-color: var(--gold); }
.sga-related-grid a:nth-child(4n+4) { border-top-color: var(--red); }
.sga-related-grid span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.sga-related-grid h3 { margin: 31px 0 8px; font-size: 20px; }
.sga-related-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.sga-preservation-note { margin-top: 0; }

.research-page { padding-bottom: 78px; }
.current-research { margin-top: 0; padding: 58px 0 62px; color: #fff; background: var(--header); border-bottom: 3px solid #ba9746; }
.current-research__layout { display: grid; grid-template-columns: minmax(300px, 0.8fr) minmax(440px, 1.2fr); gap: 72px; align-items: start; }
.current-research h2 { max-width: 520px; margin: 0; font-size: 42px; line-height: 1.08; }
.current-research__body > p { max-width: 690px; margin: 0 0 15px; color: #cbd7d3; }
.current-research__body > p:first-child { color: #fff; font-size: 19px; }
.current-research .button--primary { background: #b58b31; }
.current-research .button--primary:hover { background: #8d691f; }
.research-themes { padding-top: 58px; }
.research-theme-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 32px; }
.research-theme-card { display: flex; min-height: 330px; flex-direction: column; padding: 24px; color: inherit; border-top: 4px solid var(--green); background: #fff; text-decoration: none; }
.research-theme-card--2 { border-top-color: var(--gold); }
.research-theme-card--3 { border-top-color: var(--blue); }
.research-theme-card:hover { color: inherit; box-shadow: 0 5px 20px rgb(23 38 34 / 8%); }
.research-theme-card > span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.research-theme-card h3 { margin: 45px 0 12px; font-size: 27px; line-height: 1.15; }
.research-theme-card p { margin: 0; color: var(--muted); font-size: 14px; }
.research-theme-card > strong { margin-top: auto; padding-top: 26px; color: var(--green-dark); font-size: 13px; }
.research-theme-card > strong span { float: right; color: var(--green); font-size: 19px; }
.research-record-layout { display: grid; grid-template-columns: minmax(280px, 0.75fr) minmax(420px, 1.25fr); gap: 70px; align-items: start; }
.research-link-list { border-top: 1px solid var(--line); }
.research-link-list a { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 3px; color: inherit; border-bottom: 1px solid var(--line); text-decoration: none; }
.research-link-list a:hover { color: inherit; background: var(--wash); }
.research-link-list strong { display: block; font: 700 18px/1.2 Georgia, serif; }
.research-link-list small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
.research-link-list a > span:last-child { color: var(--green); font-size: 19px; }
.research-archive-callout { margin-bottom: 0; }
.research-resource-layout { display: grid; grid-template-columns: minmax(420px, 1.35fr) minmax(280px, 0.65fr); gap: 72px; align-items: start; margin-top: 52px; }
.research-resource-layout h2 { margin-bottom: 20px; font-size: 30px; }
.research-work-list { border-top: 1px solid var(--line); }
.research-work-list a { display: grid; grid-template-columns: 34px minmax(0, 1fr) 20px; gap: 14px; align-items: center; min-height: 86px; padding: 12px 3px; color: inherit; border-bottom: 1px solid var(--line); text-decoration: none; }
.research-work-list a:hover { color: inherit; background: #fff; }
.research-work-list a > span:first-child { color: var(--gold); font: 13px Georgia, serif; }
.research-work-list strong { display: block; font: 700 17px/1.25 Georgia, serif; }
.research-work-list small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.research-work-list a > span:last-child { color: var(--green); font-size: 19px; }
.research-archive-panel { padding: 25px 0; border-top: 3px solid var(--blue); border-bottom: 1px solid var(--line); }
.research-archive-panel > p:not(.eyebrow) { color: var(--muted); font-size: 13px; }
.research-archive-links { margin-top: 20px; border-top: 1px solid var(--line); }
.research-archive-links a { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 18px; color: inherit; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 700; text-decoration: none; }
.research-archive-links a:hover { color: var(--green-dark); }
.research-archive-links a span:last-child { color: var(--green); font-size: 18px; }
.theme-pagination { display: flex; flex-wrap: wrap; gap: 11px 24px; margin-top: 58px; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.theme-pagination span { margin-right: auto; color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.theme-pagination a { font-size: 13px; font-weight: 700; }

.sagejs-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 27px; }
.sagejs-thesis { display: grid; grid-template-columns: minmax(300px, 0.8fr) minmax(440px, 1.2fr); gap: 72px; padding-top: 56px; padding-bottom: 64px; }
.sagejs-thesis h2 { max-width: 480px; margin: 0; font-size: 37px; line-height: 1.12; }
.sagejs-thesis > div:last-child p { max-width: 700px; margin: 0 0 16px; color: var(--muted); font-size: 17px; }
.sagejs-principles { background: #e5e9e7; }
.sagejs-principle-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 34px; border-top: 1px solid #b9c4c0; border-left: 1px solid #b9c4c0; }
.sagejs-principle-grid article { min-height: 280px; padding: 22px; border-right: 1px solid #b9c4c0; border-bottom: 1px solid #b9c4c0; }
.sagejs-principle-grid article > span { color: var(--red); font: 14px Georgia, serif; }
.sagejs-principle-grid h3 { margin: 42px 0 11px; font-size: 22px; line-height: 1.18; }
.sagejs-principle-grid p { margin: 0; color: var(--muted); font-size: 13px; }
.continuity-layout { display: grid; grid-template-columns: minmax(280px, 0.75fr) minmax(440px, 1.25fr); gap: 72px; align-items: start; }
.continuity-list { border-top: 1px solid var(--line); }
.continuity-list a { display: flex; min-height: 89px; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 3px; color: inherit; border-bottom: 1px solid var(--line); text-decoration: none; }
.continuity-list a:hover { color: inherit; background: var(--wash); }
.continuity-list strong { display: block; font: 700 18px/1.2 Georgia, serif; }
.continuity-list small { display: block; max-width: 640px; margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.continuity-list a > span:last-child { color: var(--green); font-size: 19px; }
.sagejs-closing { margin-bottom: 0; }

.profile-layout { display: grid; grid-template-columns: minmax(270px, 0.65fr) minmax(480px, 1.35fr); gap: 70px; align-items: center; padding-top: 58px; padding-bottom: 68px; }
.profile-photo { height: 440px; margin: 0; overflow: hidden; background: #dfe4e1; }
.profile-photo img { width: 100%; height: 100%; object-fit: cover; }
.profile-layout h2 { max-width: 650px; margin-bottom: 18px; font-size: 38px; line-height: 1.12; }
.profile-layout > div > p:not(.eyebrow) { max-width: 720px; color: var(--muted); }
.profile-links { margin-top: 25px; }
.about-timeline, .software-principles { background: #e5e9e7; }
.timeline-list { margin-top: 34px; border-top: 1px solid #bcc6c2; }
.timeline-row { display: grid; grid-template-columns: 120px minmax(220px, 0.7fr) minmax(320px, 1.3fr); gap: 26px; align-items: center; min-height: 76px; padding: 12px 2px; border-bottom: 1px solid #bcc6c2; }
.timeline-row > span { color: var(--red); font: 14px Georgia, serif; }
.timeline-row strong { font: 700 18px/1.25 Georgia, serif; }
.timeline-row small { color: var(--muted); font-size: 13px; }
.about-archive-layout { padding-top: 0; padding-bottom: 0; }

.software-current { margin-top: 0; }
.software-history { padding-top: 62px; padding-bottom: 72px; }
.system-list { margin-top: 35px; border-top: 1px solid var(--line); }
.system-row { display: grid; grid-template-columns: 115px minmax(0, 1fr) 150px 20px; gap: 20px; align-items: center; min-height: 120px; padding: 17px 3px; color: inherit; border-bottom: 1px solid var(--line); text-decoration: none; }
.system-row:hover { color: inherit; background: #fff; }
.system-row__year { color: var(--gold); font: 14px Georgia, serif; }
.system-row strong { display: block; font: 700 21px/1.2 Georgia, serif; }
.system-row small { display: block; max-width: 720px; margin-top: 7px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.system-row__status { color: var(--muted); font-size: 11px; font-weight: 800; text-align: right; text-transform: uppercase; }

.photo-page { padding-bottom: 0; }
.photo-mosaic { display: grid; grid-template-columns: 1.65fr 0.7fr; grid-template-rows: 220px 220px; gap: 8px; margin-top: 32px; margin-bottom: 70px; }
.photo-mosaic a { position: relative; display: block; min-width: 0; min-height: 0; overflow: hidden; color: #fff; background: #202725; }
.photo-mosaic__large { grid-row: 1 / 3; }
.photo-mosaic img { width: 100%; height: 100%; object-fit: cover; transition: transform 180ms ease; }
.photo-mosaic a:hover img { transform: scale(1.015); }
.photo-mosaic span { position: absolute; left: 14px; bottom: 12px; padding: 4px 7px; color: #fff; background: rgb(10 18 16 / 78%); font-size: 12px; font-weight: 700; }
.photo-chronology { background: #e5e9e7; }
.period-list { margin-top: 28px; border-top: 1px solid #bcc6c2; }
.period-row { display: grid; grid-template-columns: 120px 0.7fr 1.3fr 20px; gap: 20px; align-items: center; min-height: 92px; padding: 15px 2px; color: inherit; border-bottom: 1px solid #bcc6c2; text-decoration: none; }
.period-row:hover { color: inherit; background: rgb(255 255 255 / 45%); }
.period-row > span:first-child { color: var(--red); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.period-row strong { font: 700 19px/1.25 Georgia, serif; }
.period-row small { color: var(--muted); font-size: 13px; }
.photo-collections-layout { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 70px; align-items: start; }
.collection-links { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.collection-links a { display: flex; min-height: 57px; align-items: center; justify-content: space-between; gap: 15px; padding: 10px 12px 10px 2px; color: inherit; border-bottom: 1px solid var(--line); text-decoration: none; }
.collection-links a:nth-child(odd) { margin-right: 18px; }
.collection-links a:hover { color: var(--green-dark); }
.collection-links a span:last-child { color: var(--green); }
.photo-closing { display: grid; grid-template-columns: 1fr 1fr; min-height: 360px; align-items: center; gap: 60px; padding: 62px 0; }
.photo-closing img { width: 100%; height: 300px; object-fit: cover; }
.photo-closing h2 { margin-bottom: 13px; font-size: 34px; }
.photo-closing p:not(.eyebrow) { margin: 0; color: var(--muted); }

.site-footer { color: #dce5e2; background: var(--header); }
.site-footer__inner { width: min(1120px, calc(100% - 40px)); min-height: 150px; margin-inline: auto; padding: 36px 0; display: flex; justify-content: space-between; align-items: start; gap: 40px; }
.site-footer strong { color: #fff; font-family: Georgia, serif; }
.site-footer p { max-width: 510px; margin: 6px 0 0; color: #aebbb6; font-size: 13px; }
.site-footer__links { display: flex; gap: 18px; }
.site-footer a { color: #dce5e2; font-size: 13px; }

@media (max-width: 850px) {
  .site-header__inner { align-items: flex-start; padding: 15px 0; }
  .site-nav { gap: 11px 17px; }
  .home-hero h1 { font-size: 54px; }
  .work-layout, .personal-layout, .research-record-layout, .research-resource-layout, .current-research__layout, .sagejs-thesis, .continuity-layout, .profile-layout { grid-template-columns: 1fr; gap: 36px; }
  .section-heading--row { display: block; }
  .section-heading--row > p { margin-top: 12px; }
  .topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .research-theme-grid { grid-template-columns: 1fr; }
  .research-theme-card { min-height: 250px; }
  .research-theme-card h3 { margin-top: 28px; }
  .sagejs-principle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .personal-photo { height: 360px; }
  .talk-tools { align-items: stretch; flex-direction: column; gap: 18px; }
  .talk-controls { width: 100%; }
  .search-control { flex: 1; }
  .search-control input { width: 100%; }
  .catalog-summary { grid-template-columns: repeat(3, 1fr); }
  .catalog-summary p { grid-column: 1 / -1; padding: 16px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .catalog-tools { align-items: stretch; flex-direction: column; gap: 18px; }
  .catalog-controls { width: 100%; }
  .catalog-controls .search-control { flex: 1; }
  .catalog-controls .search-control input { width: 100%; }
  .photo-collections-layout { grid-template-columns: 1fr; gap: 34px; }
  .profile-photo { width: min(100%, 520px); }
  .data-status-key { grid-template-columns: 1fr; gap: 22px; }
  .sga-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .page-width, .site-header__inner, .site-footer__inner, .home-hero__content { width: min(100% - 28px, 1120px); }
  .site-header__inner { display: block; }
  .site-nav { justify-content: flex-start; margin-top: 13px; }
  .home-hero { min-height: 620px; }
  .home-hero__image { object-position: 57% 50%; }
  .home-hero__shade { background: rgb(8 15 13 / 62%); }
  .home-hero__content { padding: 48px 0; }
  .home-hero h1 { font-size: 44px; }
  .home-hero__content > p:not(.eyebrow), .lead { font-size: 18px; }
  .band { padding: 55px 0; }
  .section-heading h2, .personal-layout h2 { font-size: 32px; }
  .topic-grid { grid-template-columns: 1fr; }
  .topic { min-height: 180px; }
  .topic h3 { margin-top: 27px; }
  .personal-photo { height: 280px; }
  .text-links { grid-template-columns: 1fr; }
  .page-main { padding-top: 36px; }
  .page-intro h1 { font-size: 46px; }
  .book-row { grid-template-columns: 34px minmax(0, 1fr); gap: 10px; }
  .book-row__image { display: none; }
  .book-row h2 { font-size: 23px; }
  .archive-callout { grid-template-columns: 1fr; gap: 16px; }
  .talk-controls { display: grid; grid-template-columns: 1fr; }
  .talk-row { grid-template-columns: 78px minmax(0, 1fr) 18px; gap: 10px; }
  .talk-row__formats { display: none; }
  .talk-row__title strong { font-size: 15px; }
  .catalog-summary { grid-template-columns: 1fr 1fr; gap: 18px; }
  .catalog-summary div:nth-child(3) { grid-column: 1 / -1; }
  .catalog-controls { display: grid; grid-template-columns: 1fr; }
  .publication-row { grid-template-columns: 48px minmax(0, 1fr); gap: 8px 10px; padding: 17px 2px; }
  .publication-row__meta { grid-column: 2; display: flex; flex-wrap: wrap; gap: 4px 10px; text-align: left; }
  .publication-row__links { grid-column: 2; justify-content: flex-start; }
  .publication-row__body strong { font-size: 15px; }
  .course-row { grid-template-columns: 44px minmax(0, 1fr); gap: 9px; padding: 15px 2px; }
  .course-row .record-status { grid-column: 2; justify-self: start; }
  .course-row .arrow, .course-row > span:last-child:empty { display: none; }
  .project-row { grid-template-columns: 54px minmax(0, 1fr) 18px; gap: 9px; }
  .project-row__type { display: none; }
  .project-row .record-status { grid-column: 2; justify-self: start; }
  .project-row > span:last-child:empty { display: none; }
  .grant-row { grid-template-columns: 46px minmax(0, 1fr); gap: 9px; padding: 16px 2px; }
  .grant-status { grid-column: 2; justify-self: start; }
  .grant-row .arrow { display: none; }
  .data-status-key dl { grid-template-columns: 1fr; }
  .data-collection-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; padding: 18px 2px; }
  .data-collection-row > .data-status { grid-column: 1; grid-row: 1; }
  .data-collection-row__body { grid-column: 1 / -1; grid-row: 2; }
  .data-collection-row__area { grid-column: 1; grid-row: 3; text-align: left; }
  .data-collection-row__size { grid-column: 2; grid-row: 1; }
  .sga-visual { grid-template-columns: 1fr 1fr; height: 290px; }
  .sga-visual figure:last-child { display: none; }
  .sga-provenance { grid-template-columns: 1fr; gap: 22px; }
  .sga-volume-row { grid-template-columns: 58px minmax(0, 1fr); gap: 9px; padding: 16px 2px; }
  .sga-volume-row__links { grid-column: 2; justify-content: flex-start; }
  .sga-related-grid { grid-template-columns: 1fr; }
  .research-work-list a { grid-template-columns: 28px minmax(0, 1fr) 16px; gap: 8px; }
  .theme-pagination span { width: 100%; }
  .current-research { padding: 46px 0 50px; }
  .current-research h2 { font-size: 34px; }
  .current-research__body > p:first-child { font-size: 17px; }
  .sagejs-thesis h2 { font-size: 31px; }
  .sagejs-principle-grid { grid-template-columns: 1fr; }
  .sagejs-principle-grid article { min-height: 220px; }
  .sagejs-principle-grid h3 { margin-top: 28px; }
  .profile-photo { height: 360px; }
  .profile-layout h2 { font-size: 31px; }
  .timeline-row { grid-template-columns: 78px minmax(0, 1fr); gap: 9px 14px; padding: 16px 2px; }
  .timeline-row small { grid-column: 2; }
  .system-row { grid-template-columns: 70px minmax(0, 1fr) 18px; gap: 10px; }
  .system-row__status { display: none; }
  .system-row strong { font-size: 18px; }
  .photo-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: 270px 150px; margin-bottom: 55px; }
  .photo-mosaic__large { grid-column: 1 / -1; grid-row: auto; }
  .period-row { grid-template-columns: 80px minmax(0, 1fr) 18px; gap: 10px; }
  .period-row small { display: none; }
  .period-row strong { font-size: 16px; }
  .collection-links { grid-template-columns: 1fr; }
  .collection-links a:nth-child(odd) { margin-right: 0; }
  .photo-closing { grid-template-columns: 1fr; gap: 28px; }
  .photo-closing img { height: 240px; }
  .site-footer__inner { min-height: 0; flex-direction: column; }
}
