@font-face {
  font-family: Avenir;
  src: url('fonts/avenir-book.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Avenir;
  src: url('fonts/avenir-book-oblique.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: Avenir;
  src: url('fonts/avenir-heavy.woff2') format('woff2');
  font-weight: 600 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Avenir;
  src: url('fonts/avenir-black.woff2') format('woff2');
  font-weight: 800 900;
  font-style: normal;
  font-display: swap;
}
/* Font and resource buttons only. Original page layout is retained. */
body, h1 { font-family: Avenir, "Avenir Next", sans-serif; }
a.resource:link, a.resource:visited {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  vertical-align: middle;
  margin: 0 3px;
  padding: 9px 18px;
  border-radius: 25px;
  background: #30343b;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}
a.resource:hover { background: #136c94; color: #fff; text-decoration: none; }
a.resource:focus-visible { outline: 3px solid #136c94; outline-offset: 5px; }
a.resource svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Match ExpertEdit title and section heading typography. */
.paper-title {
  font-size: clamp(18px, 2.35vw, 36px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.7px;
}
.section-title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.6px;
}
@media (max-width: 700px) {
  .paper-title { font-size: 29px; letter-spacing: -.6px; }
  .section-title { font-size: 27px; letter-spacing: -.4px; }
}

/* Match ExpertEdit author, affiliation, and venue font sizes. */
.authors { font-size: 21px; }
.affiliation { font-size: 18px; }
.venue {
  font-size: clamp(18px, 2.35vw, 36px);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -.7px;
}
@media (max-width: 700px) {
  .authors { font-size: 18px; }
  .affiliation { font-size: 16px; }
  .venue { font-size: 29px; letter-spacing: -.6px; }
}
