/* ================================================================
   member-page.css
   Styles for individual member and work pages.
   Layered on top of styles.css (which supplies masthead, nav, footer,
   typography variables, and color palette).
   ================================================================ */


/* ================================================================
   PAGE FRAME
   ================================================================ */
.member-page,
.work-page {
  max-width: 940px;
  margin: 0 auto;
  padding: 40px 32px 80px;
  font-family: var(--font-body);
  color: var(--ink);
  line-height: 1.55;
}


/* ================================================================
   BREADCRUMBS
   ================================================================ */
.member-breadcrumbs {
  font-family: var(--font-ui);
  font-size: 13px;
  color: var(--muted);
  margin: 0 0 32px;
  letter-spacing: 0.01em;
}

.member-breadcrumbs a {
  color: var(--col-navy);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s;
}

.member-breadcrumbs a:hover {
  border-bottom-color: var(--col-navy);
}

.member-breadcrumbs span[aria-hidden] {
  margin: 0 8px;
  color: var(--rule-strong);
}

.member-breadcrumbs span[aria-current] {
  color: var(--ink);
  font-weight: 500;
}


/* ================================================================
   MEMBER HEADER
   ================================================================ */
.member-header {
  border-bottom: 1px solid var(--col-blue);
  padding-bottom: 32px;
  margin-bottom: 40px;
}

.member-eyebrow,
.work-eyebrow {
  font-family: var(--font-display-sc);
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin: 0 0 12px;
}

.member-name,
.work-title-h1 {
  font-family: var(--font-display);
  font-size: 56px;
  line-height: 1.05;
  margin: 0 0 16px;
  color: var(--col-navy-2);
  font-weight: 400;
}

.member-meta {
  font-family: var(--font-ui);
  font-size: 14px;
  color: var(--muted);
  margin: 0 0 20px;
  letter-spacing: 0.01em;
}

.member-meta .member-sep {
  margin: 0 10px;
  color: var(--rule-strong);
}

.member-tagline {
  font-family: var(--font-body);
  font-size: 22px;
  font-style: italic;
  color: var(--col-navy);
  margin: 0;
  max-width: 720px;
  line-height: 1.4;
}


/* ================================================================
   FACTS BAND
   ================================================================ */
.member-facts,
.work-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 24px 40px;
  padding: 28px 32px;
  background: var(--ground-2);
  border-top: 1px solid var(--col-blue);
  border-bottom: 1px solid var(--col-blue);
  margin: 0 0 48px;
}

.fact {
  min-width: 0;
}

.fact-label {
  font-family: var(--font-display-sc);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin: 0 0 6px;
  font-weight: 500;
}

.fact-value {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.4;
  margin: 0;
  color: var(--ink);
}

.fact-sub {
  display: block;
  font-size: 13px;
  color: var(--muted);
  margin-top: 2px;
}

.fact-value a {
  color: var(--col-navy);
  text-decoration: none;
  border-bottom: 1px solid var(--col-blue-2);
}

.fact-value a:hover {
  border-bottom-color: var(--col-navy);
}


/* ================================================================
   SECTION HEADERS
   ================================================================ */
.member-page .section-header,
.work-page .section-header {
  margin-bottom: 24px;
}

.member-page section h2,
.work-page section h2 {
  font-family: var(--font-display);
  font-size: 32px;
  color: var(--col-navy-2);
  margin: 0 0 8px;
  font-weight: 400;
}

.section-sub {
  font-family: var(--font-ui);
  font-size: 14px;
  color: var(--muted);
  margin: 0;
  max-width: 640px;
}


/* ================================================================
   NOTABLE-ALUMNI BIO BLOCK
   ================================================================ */
.notable-bio-block {
  padding: 24px 28px;
  background: var(--ground-2);
  border-left: 3px solid var(--oxblood);
  margin: 0 0 40px;
}

.notable-bio-label {
  font-family: var(--font-display-sc);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin: 0 0 8px;
  font-weight: 500;
}

.notable-bio-label a {
  color: var(--oxblood);
  text-decoration: none;
  border-bottom: 1px dotted var(--oxblood);
}

.notable-bio-text {
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--ink);
  line-height: 1.55;
  margin: 0;
  max-width: 720px;
}

/* ================================================================
   FACT LISTS (member and work pages both)
   ================================================================ */
.fact-list {
  margin-bottom: 44px;
}

.fact-list h2 {
  font-family: var(--font-display);
  font-size: 26px;
  color: var(--col-navy-2);
  margin: 0 0 16px;
  font-weight: 400;
  border-bottom: 1px solid var(--col-blue);
  padding-bottom: 8px;
}

.facts {
  margin: 0;
  padding: 0;
}

.fact-row {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 12px 24px;
  padding: 10px 0;
  border-bottom: 1px dotted var(--col-blue);
}

.fact-row:last-child {
  border-bottom: none;
}

.fact-row dt {
  font-family: var(--font-display-sc);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin: 3px 0 0;
  font-weight: 500;
}

.fact-row dd {
  font-family: var(--font-body);
  font-size: 17px;
  color: var(--ink);
  margin: 0;
  line-height: 1.45;
}

.fact-row dd a {
  color: var(--col-navy);
  text-decoration: none;
  border-bottom: 1px solid var(--col-blue-2);
}

.fact-row dd a:hover {
  border-bottom-color: var(--col-navy);
}

.fact-context {
  color: var(--muted);
  font-size: 15px;
  font-style: italic;
}

.fact-cite {
  font-family: var(--font-ui);
  font-size: 12px;
  color: var(--muted);
  margin-left: 6px;
}

.fact-cite a {
  color: var(--muted);
  border-bottom: 1px dotted var(--rule-strong) !important;
}

.fact-cite a:hover {
  color: var(--col-navy);
  border-bottom-color: var(--col-navy) !important;
}

/* Terse works list — for member pages and complete-works on work pages */
.works-list-terse {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: workindex;
}

.works-list-terse li {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 4px 16px;
  padding: 8px 0;
  border-bottom: 1px dotted var(--col-blue);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.5;
}

.works-list-terse li:last-child {
  border-bottom: none;
}

.works-list-terse .wl-year {
  font-family: var(--font-display-sc);
  font-size: 13px;
  color: var(--oxblood);
  letter-spacing: 0.05em;
}

.works-list-terse a {
  color: var(--col-navy);
  text-decoration: none;
  border-bottom: 1px solid var(--col-blue-2);
}

.works-list-terse a:hover {
  border-bottom-color: var(--col-navy);
}

.works-list-terse li.current-work {
  background: var(--ground-2);
  padding: 8px 12px;
  margin: 0 -12px;
}

.works-list-terse .wl-tag {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 8px;
  background: var(--col-navy);
  color: var(--ground);
  font-family: var(--font-display-sc);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  vertical-align: middle;
}

/* Cohort list — plain list on member page */
.cohort-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.cohort-list li {
  padding: 8px 0;
  border-bottom: 1px dotted var(--col-blue);
  font-family: var(--font-body);
  font-size: 16px;
}

.cohort-list li:last-child {
  border-bottom: none;
}

.cohort-list a {
  color: var(--col-navy);
  text-decoration: none;
  border-bottom: 1px solid var(--col-blue-2);
}

.cohort-list a:hover {
  border-bottom-color: var(--col-navy);
}


/* ================================================================
   WORKS LIST
   ================================================================ */
.member-works {
  margin-bottom: 56px;
}

.works-list {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid var(--col-blue);
}

.work-item {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 20px 24px;
  padding: 20px 0;
  border-bottom: 1px solid var(--col-blue);
  position: relative;
}

.work-item .work-year {
  font-family: var(--font-display-sc);
  font-size: 14px;
  color: var(--oxblood);
  margin: 3px 0 0;
  letter-spacing: 0.06em;
  grid-row: 1;
  grid-column: 1;
}

.work-item .work-title {
  font-family: var(--font-body);
  font-size: 20px;
  color: var(--ink);
  margin: 0 0 4px;
  grid-row: 1;
  grid-column: 2;
  font-weight: 500;
}

.work-item .work-title a {
  color: var(--col-navy);
  text-decoration: none;
  border-bottom: 1px solid var(--col-blue-2);
}

.work-item .work-title a:hover {
  border-bottom-color: var(--col-navy);
}

.work-item .work-meta {
  font-family: var(--font-ui);
  font-size: 13px;
  color: var(--muted);
  margin: 0 0 4px;
  grid-column: 2;
  letter-spacing: 0.01em;
}

.work-item .work-note {
  font-family: var(--font-body);
  font-size: 15px;
  font-style: italic;
  color: var(--col-navy);
  margin: 0;
  grid-column: 2;
}

.work-item--laurel::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 24px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
}

.work-item--laurel .work-note strong {
  color: var(--oxblood);
  font-style: normal;
  font-weight: 600;
}


/* ================================================================
   PRIMARY-SOURCE CITATIONS
   ================================================================ */
.member-citations {
  margin-bottom: 56px;
}

.citation-group {
  margin: 24px 0;
}

.citation-group h3 {
  font-family: var(--font-display-sc);
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin: 0 0 12px;
  font-weight: 600;
}

.citation {
  border: 1px solid var(--col-blue);
  border-radius: 2px;
  margin: 0 0 10px;
  background: var(--ground);
}

.citation > summary {
  padding: 14px 20px;
  cursor: pointer;
  list-style: none;
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 4px 20px;
  align-items: baseline;
  font-family: var(--font-ui);
}

.citation > summary::-webkit-details-marker { display: none; }

.citation > summary::before {
  content: "\203A";
  position: absolute;
  right: 20px;
  color: var(--muted);
  font-size: 18px;
  transition: transform 0.15s;
}

.citation {
  position: relative;
}

.citation[open] > summary::before {
  transform: rotate(90deg);
}

.citation-date {
  font-family: var(--font-display-sc);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--oxblood);
  grid-column: 1;
  grid-row: 1;
}

.citation-title {
  font-family: var(--font-body);
  font-size: 17px;
  color: var(--ink);
  font-weight: 500;
  grid-column: 2;
  grid-row: 1;
  padding-right: 32px;
}

.citation-role {
  font-family: var(--font-ui);
  font-size: 13px;
  color: var(--muted);
  grid-column: 2;
  grid-row: 2;
  font-style: italic;
}

.citation-text {
  margin: 0 20px 12px;
  padding: 16px 20px;
  background: var(--ground-2);
  border-left: 3px solid var(--oxblood);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink);
  quotes: none;
}

.citation-text::before,
.citation-text::after { content: none; }

.citation-context {
  padding: 0 20px 12px;
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--col-navy-2);
  line-height: 1.55;
  margin: 0 0 8px;
}

.citation-meta {
  padding: 0 20px 16px;
  font-family: var(--font-ui);
  font-size: 12px;
  color: var(--muted);
  margin: 0;
}

.citation-meta a {
  color: var(--col-navy);
  text-decoration: none;
  border-bottom: 1px solid var(--col-blue-2);
}

.citation-meta a:hover {
  border-bottom-color: var(--col-navy);
}


/* ================================================================
   RELATED CARDS (members and works both)
   ================================================================ */
.member-related,
.work-related {
  margin-bottom: 56px;
}

.related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.related-card {
  display: block;
  padding: 20px;
  border: 1px solid var(--col-blue);
  background: var(--ground);
  text-decoration: none;
  color: var(--ink);
  transition: border-color 0.15s, transform 0.15s;
}

.related-card:hover {
  border-color: var(--col-navy);
  transform: translateY(-1px);
}

.related-name {
  font-family: var(--font-display);
  font-size: 20px;
  color: var(--col-navy-2);
  margin: 0 0 4px;
  font-weight: 400;
}

.related-meta {
  font-family: var(--font-ui);
  font-size: 12px;
  color: var(--oxblood);
  letter-spacing: 0.02em;
  margin: 0 0 8px;
  text-transform: uppercase;
  font-weight: 500;
}

.related-desc {
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--muted);
  margin: 0;
  line-height: 1.5;
}


/* ================================================================
   CORRECTIONS FORM (member page)
   ================================================================ */
.member-corrections {
  margin: 56px 0 0;
  padding: 32px;
  background: var(--ground-2);
  border-top: 3px solid var(--oxblood);
}

.corrections-eyebrow {
  font-family: var(--font-display-sc);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin: 0 0 8px;
}

.member-corrections h3 {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--col-navy-2);
  margin: 0 0 12px;
  font-weight: 400;
}

.member-corrections p {
  font-family: var(--font-body);
  font-size: 16px;
  color: var(--ink);
  margin: 0;
  max-width: 640px;
}

.member-corrections a {
  color: var(--col-navy);
  border-bottom: 1px solid var(--col-blue-2);
  text-decoration: none;
}

.member-corrections a:hover {
  border-bottom-color: var(--col-navy);
}


/* ================================================================
   WORK PAGE SPECIFICS
   ================================================================ */
.work-header {
  border-bottom: 1px solid var(--col-blue);
  padding-bottom: 32px;
  margin-bottom: 40px;
}

.work-byline {
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--col-navy);
  margin: 0 0 12px;
  font-style: italic;
}

.work-byline a {
  color: var(--col-navy);
  text-decoration: none;
  border-bottom: 1px solid var(--col-blue-2);
}

.work-byline a:hover {
  border-bottom-color: var(--col-navy);
}

.work-byline-sep {
  margin: 0 10px;
  color: var(--rule-strong);
  font-style: normal;
}

.work-laurel {
  display: inline-block;
  padding: 8px 16px;
  background: var(--col-navy);
  color: var(--ground);
  font-family: var(--font-display-sc);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 12px 0 0;
}

.work-laurel strong {
  font-weight: 400;
  color: var(--col-blue);
}

.work-description,
.work-context {
  margin-bottom: 48px;
}

.work-description p,
.work-context p {
  font-size: 18px;
  line-height: 1.65;
  margin: 0 0 18px;
  max-width: 720px;
}

.work-context {
  padding: 24px 28px;
  background: var(--ground-2);
  border-left: 3px solid var(--oxblood);
}

.work-context h2 {
  font-size: 24px !important;
}

.work-citation {
  margin: 48px 0;
  padding: 24px 0;
  border-top: 1px solid var(--col-blue);
}

.citation-chicago {
  font-family: var(--font-body);
  font-size: 16px;
  color: var(--ink);
  padding: 12px 16px;
  background: var(--ground-2);
  margin: 0 0 8px;
  border-left: 3px solid var(--col-navy);
}

.citation-note {
  font-family: var(--font-ui);
  font-size: 12px;
  color: var(--muted);
  margin: 0;
}

.citation-note code {
  font-family: 'SF Mono', 'Consolas', monospace;
  font-size: 12px;
  color: var(--col-navy);
  background: var(--ground-2);
  padding: 2px 6px;
  border-radius: 2px;
}


/* ================================================================
   AUTHOR CARD (on work pages)
   ================================================================ */
.work-author-card {
  margin: 40px 0 56px;
  padding: 28px;
  border: 1px solid var(--col-navy);
  background: var(--ground);
}

.author-card-eyebrow {
  font-family: var(--font-display-sc);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin: 0 0 6px;
}

.author-card-name {
  font-family: var(--font-display);
  font-size: 28px;
  color: var(--col-navy-2);
  margin: 0 0 4px;
  font-weight: 400;
}

.author-card-name a {
  color: var(--col-navy-2);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.author-card-name a:hover {
  border-bottom-color: var(--col-navy-2);
}

.author-card-meta {
  font-family: var(--font-ui);
  font-size: 13px;
  color: var(--muted);
  margin: 0 0 12px;
  letter-spacing: 0.02em;
}

.author-card-desc {
  font-family: var(--font-body);
  font-size: 16px;
  color: var(--ink);
  margin: 0 0 12px;
  line-height: 1.55;
}

.author-card-more {
  margin: 0;
  font-family: var(--font-ui);
  font-size: 14px;
}

.author-card-more a {
  color: var(--col-navy);
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.author-card-more a:hover {
  border-bottom: 1px solid var(--col-navy);
}


/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 720px) {
  .member-page,
  .work-page {
    padding: 24px 20px 60px;
  }

  .member-name,
  .work-title-h1 {
    font-size: 40px;
  }

  .member-tagline {
    font-size: 18px;
  }

  .member-page section h2,
  .work-page section h2 {
    font-size: 26px;
  }

  .member-facts,
  .work-facts {
    padding: 20px 24px;
    gap: 16px 24px;
  }

  .work-item {
    grid-template-columns: 56px 1fr;
    gap: 12px 16px;
  }

  .citation > summary {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .citation-title {
    grid-column: 1;
    grid-row: 2;
    padding-right: 24px;
  }

  .citation-role {
    grid-column: 1;
    grid-row: 3;
  }
}
