/* A compact editorial scale for discussion, with readable text and quieter headings. */
:root {
  --type-display: 48px;
  --type-page: 44px;
  --type-article: 40px;
  --type-thread: 36px;
  --type-section: 32px;
  --type-forum: 28px;
  --type-topic: 21px;
  --type-body: 16px;
  --type-small: 13px;
}

body { font-size: var(--type-body); }
.site-header { min-height: 80px; }
.wordmark { font-size: 17px; }
#main-nav a { font-size: 14px; }
.header-cta { font-size: var(--type-small); }
.button, .text-link { font-size: 14px; }

.view-forum .protest-head { padding-block: 24px 20px; }
.view-forum .protest-head h1 {
  font-size: var(--type-display);
  line-height: 1.12;
  letter-spacing: -.04em;
  margin-block: 16px;
}
.protest-intro p { font-size: var(--type-body); line-height: 1.65; }
.protest-strip > .wrap { padding-block: 12px; }
.protest-strip strong { font-size: 15px; }
.protest-strip span { font-size: 12px; }
.forum-shell { padding-top: 30px; gap: 40px; }
.forum-sidebar h2 { font-size: 22px; line-height: 1.25; letter-spacing: -.025em; }
.forum-sidebar p, .forum-sidebar nav a, .forum-rules summary { font-size: 14px; }
.forum-list-head h2 { font-size: var(--type-forum); line-height: 1.2; letter-spacing: -.03em; }
.forum-search :is(input, select, button) { font-size: 14px; }
.forum-topic { padding-block: 23px; }
.forum-topic h3 { font-size: var(--type-topic); line-height: 1.35; letter-spacing: -.02em; margin-block: 10px; }
.forum-topic > p { font-size: var(--type-body); line-height: 1.65; }
.forum-topic-bottom { margin-block: 14px 10px; }
.forum-compose h2 { font-size: var(--type-section); line-height: 1.15; letter-spacing: -.035em; }
.forum-compose > div > p { font-size: 15px; line-height: 1.7; }
.forum-form label { font-size: 14px; }

.page-hero { padding-block: 54px 40px; }
.page-hero h1, .product-copy h1 { font-size: var(--type-page); line-height: 1.12; letter-spacing: -.04em; }
.hero h1 { font-size: 52px; line-height: 1.08; }
.lede, .product-copy .lede { font-size: 18px; }
.section-heading h2, .book-pitch h2, .product-details h2,
.newsletter h2, .workbook-faq h2, .board-layout h2, .story-submit h2 {
  font-size: var(--type-section); line-height: 1.2; letter-spacing: -.035em;
}
.book-catalog h2 { font-size: 30px; line-height: 1.2; letter-spacing: -.035em; }
.article-row h3, .topic-grid h3 { font-size: 25px; line-height: 1.3; }
.article-row p { font-size: 15px; }
.article-header h1, .commerce-layout > h1, .commerce-layout .product_title {
  font-size: var(--type-article); line-height: 1.18; letter-spacing: -.035em;
}
.view-story .article-header h1 { font-size: var(--type-thread); line-height: 1.2; letter-spacing: -.025em; }
.view-story .article-body { font-size: var(--type-body); }
.prose h2 { font-size: 28px; line-height: 1.3; }
.prose h3, .prose blockquote { font-size: 22px; line-height: 1.45; }
.manifesto p { font-size: 36px; line-height: 1.3; }
.challenge-banner h2 { font-size: var(--type-section); line-height: 1.2; }

@media (max-width: 760px) {
  :root {
    --type-display: 34px;
    --type-page: 36px;
    --type-article: 32px;
    --type-thread: 29px;
    --type-section: 28px;
    --type-forum: 25px;
    --type-topic: 20px;
  }
  .site-header { min-height: 72px; }
  .wordmark { font-size: 16px; }
  .view-forum .protest-head { padding-block: 20px; }
  .view-forum .protest-head h1 { margin-block: 14px; }
  .protest-intro .button { margin-top: 16px; }
  .protest-strip strong { font-size: 14px; }
  .forum-shell { gap: 22px; padding-top: 20px; }
  .forum-sidebar h2 { font-size: 21px; }
  .forum-sidebar nav a { font-size: 13px; }
  .forum-search input, .forum-form :is(input, textarea, select) { font-size: 16px; }
  .forum-topic { padding-block: 21px; }
  .forum-topic-top { font-size: 12px; }
  .page-hero { padding-block: 36px 28px; }
  .hero h1 { font-size: 42px; }
  .lede, .product-copy .lede { font-size: 17px; }
  .book-catalog h2 { font-size: 28px; }
  .article-row h3, .topic-grid h3 { font-size: 23px; }
  .prose h2 { font-size: 25px; }
  .prose h3, .prose blockquote { font-size: 21px; }
  .manifesto p { font-size: 29px; }
}
