/* Shared type scale for the seven editorial site pages. */
:root {
  --type-h1: clamp(38px, 3.4vw, 48px);
  --type-h2: clamp(28px, 2.6vw, 38px);
  --type-h3: clamp(22px, 2.3vw, 30px);
  --type-body: 15.5px;
}

h1,
h2,
h3 {
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  text-wrap: balance;
}

h1,
.se-h1 {
  font-size: var(--type-h1) !important;
  line-height: 1.03 !important;
  max-width: 26ch;
}

h2 {
  font-size: var(--type-h2) !important;
  line-height: 1.06 !important;
  max-width: 24ch;
}

h3 {
  font-size: var(--type-h3) !important;
  line-height: 1.12 !important;
  max-width: 26ch;
}

p {
  font-size: var(--type-body) !important;
  line-height: 1.7 !important;
}

/* Deliberate display-text and utility exceptions. */
.se-ch-flow p,
.se-proc-prose p,
.se-out-copy p {
  font-size: clamp(16px, 2vw, 28px) !important;
  line-height: 1.55 !important;
}

.se-col p,
.se-col-mark + p {
  font-size: 12.5px !important;
  line-height: 1.6 !important;
}

.se-news-external {
  width: 100%;
  justify-content: space-between;
}

.se-news-footer-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 12px;
  border: 2px solid var(--ink);
  background: var(--paper);
  color: var(--ink);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  text-decoration: none;
}

.se-news-footer-link:hover {
  background: var(--ink);
  color: var(--paper);
}

@media (max-width: 760px) {
  :root { --type-h1: clamp(36px, 10vw, 48px); }
  h1, .se-h1 { max-width: 18ch; }
  h2 { max-width: 20ch; }
  h3 { max-width: 22ch; }
}
