/* A shared academic section: quiet bibliography and profile pages within each house style. */
body {
  --academic-paper: #fcfaf9;
  --academic-ink: #302a2d;
  --academic-muted: #70626a;
  --academic-rule: #ded1d6;
  --academic-accent: #59293f;
  --academic-wash: #f4e8e9;
  --academic-serif: 'Lora', Georgia, serif;
  --academic-sans: 'Golos Text', sans-serif;
}
body[data-theme='a'] {
  --academic-paper: #fffefb;
  --academic-ink: #303b2b;
  --academic-muted: #66705e;
  --academic-rule: #d9ddcd;
  --academic-accent: #3b5730;
  --academic-wash: #f3efb7;
}
body[data-theme='b'] {
  --academic-paper: #fcfcf8;
  --academic-ink: #172c43;
  --academic-muted: #596c7b;
  --academic-rule: #ccd2d4;
  --academic-accent: #365e88;
  --academic-wash: #dde6ee;
  --academic-serif: 'Literata', Georgia, serif;
}
body[data-theme='c'] {
  --academic-paper: #fcfaf9;
  --academic-ink: #302a2d;
  --academic-muted: #70626a;
  --academic-rule: #ded1d6;
  --academic-accent: #59293f;
  --academic-wash: #f4e8e9;
}

/* Four durable sections stay visible rather than becoming a hidden menu. */
.site-header { flex-wrap: wrap; }
.site-header .brand { min-width: 0; }
.site-header .brand-name { max-width: 100%; }
.site-header .brand-note { line-height: 1.55; }
.site-header .site-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 22px;
  min-width: 0;
  font: 500 12px/1.5 var(--academic-sans);
}
.site-header .site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding-top: 8px;
  padding-bottom: 8px;
  white-space: nowrap;
}

.academic-page {
  width: min(1120px, calc(100% - 96px));
  margin: 58px auto 110px;
  color: var(--academic-ink);
  font-family: var(--academic-serif);
}
.academic-heading {
  max-width: 740px;
  margin: 0 0 44px 234px;
  padding-bottom: 33px;
  border-bottom: 1px solid var(--academic-rule);
}
.academic-kicker {
  margin: 0 0 18px;
  color: var(--academic-accent);
  font: 500 12px/1.6 var(--academic-sans);
  letter-spacing: .03em;
}
.academic-heading h1,
.academic-name {
  color: var(--academic-accent);
  font-family: var(--academic-serif);
  font-size: clamp(37px, 4.2vw, 54px);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -.035em;
  text-wrap: pretty;
  margin: 0 0 22px;
}
.academic-deck {
  max-width: 52ch;
  margin: 0;
  color: var(--academic-muted);
  font-size: 18px;
  line-height: 1.7;
  text-wrap: pretty;
}
.academic-layout {
  display: grid;
  grid-template-columns: 170px minmax(0, 740px);
  align-items: start;
  column-gap: 64px;
}
.academic-margin {
  position: sticky;
  top: 32px;
  min-width: 0;
  color: var(--academic-muted);
  font: 400 12px/1.75 var(--academic-sans);
}
.academic-margin > p { margin: 0 0 22px; }
.academic-subnav {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin: 0 0 26px;
  padding: 13px 0;
  border-top: 1px solid var(--academic-rule);
  border-bottom: 1px solid var(--academic-rule);
}
.academic-subnav a {
  display: block;
  padding: 8px 0;
  color: var(--academic-muted);
  text-decoration: none;
  font: 400 12px/1.55 var(--academic-sans);
}
.academic-subnav a:hover,
.academic-subnav a[aria-current='page'] {
  color: var(--academic-accent);
}
.academic-subnav a[aria-current='page'] {
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.academic-body { min-width: 0; }
.academic-body > :first-child { margin-top: 0; }
.academic-lede,
.academic-body > p,
.academic-section > p,
.academic-profile-lead > p {
  font-size: 20px;
  line-height: 1.8;
  margin: 0 0 1.25em;
  overflow-wrap: anywhere;
}
.academic-lede { font-size: 22px; line-height: 1.65; }
.academic-profile-lead { margin-bottom: 42px; }
.academic-section { margin-top: 46px; }
.academic-section > h2 {
  color: var(--academic-accent);
  font: 400 28px/1.3 var(--academic-serif);
  letter-spacing: -.025em;
  margin: 0 0 21px;
  text-wrap: pretty;
}
.academic-body a { color: var(--academic-accent); text-underline-offset: 4px; }
.academic-body a:hover { text-decoration-thickness: 2px; }
.academic-body strong { font-weight: 600; }
.academic-body ul:not(.pub-list):not(.affiliation-list) {
  padding-left: 1.25em;
  font-size: 18px;
  line-height: 1.75;
}
.academic-body li { margin-bottom: 10px; }
.academic-links,
.academic-source-links,
.pub-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 22px;
  font: 400 12px/1.7 var(--academic-sans);
}
.academic-links { margin: 24px 0 36px; }
.academic-links a,
.academic-source-links a,
.pub-actions a {
  display: inline-block;
  max-width: 100%;
  padding: 5px 0;
  overflow-wrap: anywhere;
}
.academic-source-links { margin-top: 18px; }
.academic-note {
  margin: 28px 0;
  padding: 17px 0 17px 19px;
  border-left: 2px solid var(--academic-rule);
  color: var(--academic-muted);
  font: 400 13px/1.75 var(--academic-sans);
  overflow-wrap: anywhere;
}
.academic-note p { margin: 0; }
.academic-note p + p { margin-top: 9px; }
.academic-contact {
  margin-top: 40px;
  padding-top: 25px;
  border-top: 1px solid var(--academic-rule);
}

.pub-list,
.affiliation-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pub-entry {
  min-width: 0;
  padding: 27px 0 29px;
  border-bottom: 1px solid var(--academic-rule);
}
.pub-entry:first-child { padding-top: 0; }
.pub-meta {
  color: var(--academic-accent);
  font: 500 12px/1.6 var(--academic-sans);
  margin: 0 0 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 15px;
}
.pub-entry h2,
.pub-entry h3 {
  color: var(--academic-ink);
  font: 400 24px/1.35 var(--academic-serif);
  letter-spacing: -.02em;
  margin: 0 0 14px;
  text-wrap: pretty;
  overflow-wrap: anywhere;
}
.pub-entry h2 a,
.pub-entry h3 a { color: inherit; text-decoration: none; }
.pub-entry h2 a:hover,
.pub-entry h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.pub-authors,
.pub-venue {
  color: var(--academic-muted);
  font: 400 13px/1.8 var(--academic-sans);
  margin: 0 0 8px;
  overflow-wrap: anywhere;
}
.pub-authors strong { color: var(--academic-ink); font-weight: 500; }
.pub-venue { color: var(--academic-ink); }
.pub-actions { margin-top: 12px; }
.affiliation-item {
  position: relative;
  padding: 0 0 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid var(--academic-rule);
  min-width: 0;
}
.affiliation-item h2,
.affiliation-item h3 {
  margin: 0 0 13px;
  color: var(--academic-accent);
  font: 400 27px/1.3 var(--academic-serif);
  letter-spacing: -.02em;
  text-wrap: pretty;
}
.affiliation-item > p {
  font-size: 18px;
  line-height: 1.75;
  margin: 0 0 15px;
  overflow-wrap: anywhere;
}
.affiliation-item .affiliation-date {
  color: var(--academic-muted);
  font: 400 12px/1.7 var(--academic-sans);
  margin: 0 0 15px;
}
.affiliation-item > a {
  font: 400 12px/1.7 var(--academic-sans);
  display: inline-block;
  padding: 5px 0;
  overflow-wrap: anywhere;
}
.academic-page a:focus-visible,
.academic-page button:focus-visible {
  outline: 2px solid var(--academic-accent);
  outline-offset: 5px;
}

@media (max-width: 1120px) {
  .academic-page { width: calc(100% - 64px); }
  .academic-heading { margin-left: 192px; }
  .academic-layout { grid-template-columns: 145px minmax(0, 740px); column-gap: 47px; }
}
@media (max-width: 900px) {
  .site-header { align-items: flex-start; flex-direction: column; gap: 12px; }
  .site-header .brand { gap: 18px; }
  .site-header .site-nav { justify-content: flex-start; width: 100%; gap: 3px 23px; }
  .academic-page { max-width: 740px; margin-top: 35px; }
  .academic-heading { margin-left: 0; margin-bottom: 27px; }
  .academic-layout { display: block; }
  .academic-margin { display: none; }
  .academic-subnav {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3px 21px;
    padding: 9px 0;
    margin-bottom: 17px;
  }
  .academic-margin > p { margin-bottom: 13px; max-width: 62ch; }
  .academic-profile-lead { margin-bottom: 35px; }
}
@media (max-width: 600px) {
  .site-header {
    min-height: 0;
    padding-top: 23px;
    padding-bottom: 17px;
    align-items: flex-start;
    gap: 9px;
  }
  .site-header .brand { align-items: flex-start; flex-direction: column; gap: 5px; }
  .site-header .brand-name { font-size: 25px; white-space: normal; line-height: 1.2; }
  .site-header .brand-note { display: block; max-width: none; font: 400 11px/1.6 var(--academic-sans); }
  .site-header .site-nav { gap: 0 18px; font-size: 12px; }
  .site-header .site-nav a { min-height: 42px; padding-top: 10px; padding-bottom: 10px; }
  .academic-page { width: calc(100% - 40px); margin: 31px auto 67px; }
  .academic-heading { padding-bottom: 25px; margin-bottom: 20px; }
  .academic-kicker { margin-bottom: 14px; }
  .academic-heading h1,
  .academic-name { font-size: 37px; line-height: 1.18; letter-spacing: -.035em; margin-bottom: 18px; }
  .academic-deck { font-size: 17px; line-height: 1.7; }
  .academic-lede,
  .academic-body > p,
  .academic-section > p,
  .academic-profile-lead > p { font-size: 18px; line-height: 1.8; }
  .academic-lede { font-size: 20px; line-height: 1.7; }
  .academic-section { margin-top: 35px; }
  .academic-section > h2 { font-size: 26px; margin-bottom: 17px; }
  .academic-subnav { gap: 0 18px; }
  .academic-subnav a { min-height: 42px; padding: 11px 0; }
  .academic-margin { margin-bottom: 23px; }
  .academic-margin > p { font-size: 12px; }
  .academic-links { gap: 3px 18px; margin: 19px 0 27px; }
  .academic-links a,
  .academic-source-links a,
  .pub-actions a { min-height: 36px; padding-top: 8px; padding-bottom: 8px; }
  .academic-note { padding: 13px 0 13px 15px; font-size: 12px; margin: 23px 0; }
  .pub-entry { padding: 24px 0; }
  .pub-meta { font-size: 12px; margin-bottom: 10px; }
  .pub-entry h2,
  .pub-entry h3 { font-size: 22px; line-height: 1.4; margin-bottom: 13px; }
  .pub-authors,
  .pub-venue { font-size: 13px; line-height: 1.75; }
  .pub-actions { gap: 2px 18px; margin-top: 7px; }
  .affiliation-item { padding-bottom: 25px; margin-bottom: 25px; }
  .affiliation-item h2,
  .affiliation-item h3 { font-size: 24px; }
  .affiliation-item > p { font-size: 18px; line-height: 1.75; }
  .affiliation-item .affiliation-date { font-size: 12px; }
}
@media (max-width: 370px) {
  .site-header .site-nav { gap: 0 13px; }
  .site-header .brand-name { font-size: 23px; }
  .academic-page { width: calc(100% - 32px); }
  .academic-heading h1,
  .academic-name { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  .academic-page *, .academic-page *::before, .academic-page *::after { transition: none !important; animation: none !important; }
}
