.archive-masthead {
  background: var(--page);
  border-bottom: 1px solid var(--line);
}
.archive-masthead__inner { padding-block: clamp(40px, 7vw, 87px) clamp(35px, 5vw, 65px); }
.archive-masthead .eyebrow { display: flex; align-items: center; gap: 12px; }
.archive-masthead .eyebrow::before { width: 23px; height: 1px; background: currentColor; content: ""; }
.archive-masthead h1 {
  margin-top: 14px;
  max-width: 21ch;
  font-size: clamp(2.45rem, 5.7vw, 5rem);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -.06em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.archive-masthead p:not(.eyebrow) {
  max-width: 64ch;
  margin-top: 17px;
  color: var(--body-muted);
  font-size: clamp(.96rem, 1.55vw, 1.12rem);
}
.archive-content { max-width: 810px; min-width: 0; padding-block: clamp(32px, 5.5vw, 76px); }
.archive-content--wide { max-width: var(--shell); }
.archive-prose { min-width: 0; max-width: 74ch; color: var(--ink); line-height: 1.78; overflow-wrap: anywhere; }
.archive-prose > :first-child { margin-top: 0; }
.archive-prose h2, .archive-prose h3, .archive-prose h4, .archive-prose h5, .archive-prose h6 {
  margin-block: 1.7em .58em;
  color: var(--navy);
  line-height: 1.26;
  font-weight: 600;
  letter-spacing: -.027em;
}
.archive-prose h2 { font-size: clamp(1.43rem, 3vw, 2rem); }
.archive-prose h3 { font-size: clamp(1.11rem, 2vw, 1.38rem); }
.archive-prose h4, .archive-prose h5, .archive-prose h6 { font-size: 1.05rem; }
.archive-prose p, .archive-prose ul, .archive-prose ol, .archive-prose dl, .archive-prose blockquote { margin-block: 0 1em; }
.archive-prose li + li { margin-top: .37em; }
.archive-prose ol, .archive-prose ul { padding-inline-start: 1.5em; }
.archive-prose li::marker { color: var(--deep); }
.archive-prose a + a { margin-inline-start: .55em; }
.archive-prose img { display: block; max-width: 100%; height: auto; margin-block: 1rem; border-radius: 12px; }
.archive-prose figure { margin-block: 1.6em; }
.archive-prose figcaption { margin-top: 8px; color: var(--gray); font-size: .8rem; }
.archive-prose blockquote { padding: 12px 18px; border-left: 2px solid var(--deep); background: var(--mint); }
.archive-prose hr { margin-block: 2em; border: 0; border-top: 1px solid var(--line); }
.archive-prose .archive-action { margin-block: 1.5em; }
.archive-prose .archive-capture-note { padding: 10px 15px; border-left: 2px solid var(--deep); background: var(--mint); color: var(--body-muted); font-size: .82rem; }
.archive-source { padding-top: 20px; margin-top: 32px; border-top: 1px solid var(--line); font-size: .83rem; }
.archive-table { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; margin-block: 1.3em; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.archive-table table { width: 100%; border-collapse: collapse; font-size: .87rem; line-height: 1.55; }
.archive-table th, .archive-table td { min-width: 95px; padding: 11px 15px; border-bottom: 1px solid var(--line); text-align: start; vertical-align: top; }
.archive-table th { background: var(--paper); color: var(--navy); font-weight: 600; }
.archive-table tr:last-child > * { border-bottom: 0; }
.archive-question { border-top: 1px solid var(--line); }
.archive-question:last-of-type { border-bottom: 1px solid var(--line); }
.archive-question summary { padding-block: 11px; }
.archive-question > div { padding: 0 16px 10px 0; color: var(--body-muted); }
.archive-media-link a { font-weight: 600; }
.archive-source a { min-height: 44px; }
.archive-link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(24px, 5vw, 66px);
  row-gap: clamp(34px, 5vw, 62px);
}
.archive-link-group { min-width: 0; }
.archive-link-group h2, .archive-related h2 {
  margin-bottom: 11px;
  font-size: clamp(1.3rem, 2.8vw, 1.9rem);
  font-weight: 600;
  letter-spacing: -.035em;
}
.archive-link-list { list-style: none; padding: 0; margin: 0; }
.archive-link-list a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 50px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: .91rem;
  font-weight: 600;
  text-decoration: none;
}
.archive-link-list a > span:last-child { color: var(--deep); }
.archive-link-list a:focus-visible { outline-offset: 2px; }
.archive-link-list a:active { background: var(--mint); }
.archive-link-list a small { font-size: .73rem; color: var(--gray); font-weight: 400; white-space: nowrap; }
.archive-author { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 19px; padding-block: 19px; border-top: 1px solid var(--line); }
.archive-author__portrait { display: grid; place-items: center; width: 84px; height: 84px; position: relative; overflow: hidden; border-radius: 50%; background: var(--mint); color: var(--deep); font-weight: 600; }
.archive-author__portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.archive-author h2 { font-size: 1.32rem; font-weight: 600; letter-spacing: -.025em; }
.archive-author h2 a { color: var(--navy); }
.archive-author p { margin-block: 7px 0; color: var(--body-muted); font-size: .89rem; }
.archive-author__role { font-size: .78rem; }
.archive-related { margin-top: 36px; }
.archive-authors-intro { margin-bottom: 28px; }
.archive-back { display: inline-flex; min-height: 44px; align-items: center; margin-bottom: 11px; font-size: .84rem; }
.archive-author-links { display: flex; gap: 20px; flex-wrap: wrap; }
.archive-index { margin-bottom: 30px; border: 1px solid var(--line); border-radius: 12px; padding-inline: 18px; background: var(--white); }
.archive-index summary { padding-block: 14px; }
.archive-index .archive-link-list { padding-bottom: 12px; }
.archive-index li:last-child a { border-bottom: 0; }
#preipo-topics { padding-block: 12px; border-block: 1px solid var(--line); }
#preipo-topics a { display: inline-flex; min-height: 44px; align-items: center; padding-inline: 10px; font-weight: 600; }
@media (hover: hover) and (pointer: fine) {
  .archive-link-list a:hover { color: var(--deep); }
}
@media (max-width: 620px) {
  .archive-masthead__inner { padding-block: 34px 29px; }
  .archive-masthead h1 { margin-top: 11px; font-size: clamp(2.05rem, 8.8vw, 2.85rem); line-height: 1.1; letter-spacing: -.045em; }
  .archive-prose { line-height: 1.72; }
  .archive-prose .archive-capture-note { border-left: 0; border-radius: 10px; padding: 12px 14px; }
  .archive-prose h2 { margin-top: 1.5em; }
  .archive-content { padding-top: 26px; }
  .archive-link-grid { grid-template-columns: 1fr; }
  .archive-author { grid-template-columns: 62px minmax(0, 1fr); gap: 13px; }
  .archive-author__portrait { width: 62px; height: 62px; }
}
