/* One family; a shared hierarchy for editorial content, tools and navigation. */
body.ccc {
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.65;
  font-kerning: normal;
}
.ccc :is(button, input, select, textarea) { font-family: var(--sans); }
.ccc :is(h1, h2, h3, h4, h5, h6),
.ccc :is(.ccc-h2, .ccc-h2--section, .ccc-h3) {
  font-family: var(--sans);
  font-weight: 700;
  font-style: normal;
  letter-spacing: -.02em;
  overflow-wrap: break-word;
}
.ccc main h1 { font-weight: 800; }
.ccc main h2 { font-weight: 750; font-size: clamp(1.6rem, 1.25rem + 1vw, 2rem); line-height: 1.25; }
.ccc main h3 { font-size: 1.375rem; line-height: 1.32; }
.ccc .ccc-home h2 { font-size: clamp(1.75rem, 1.25rem + 1.4vw, 2.5rem); line-height: 1.25; }
.ccc :is(.ccc-pagehero, .page-hero, .rev-hero) h1 {
  max-width: 30ch;
  font-size: clamp(2rem, 1.3rem + 2.2vw, 3.125rem);
  line-height: 1.15;
  letter-spacing: -.03em;
}
.ccc .home-hero h1 {
  font-size: clamp(2.25rem, 1.5rem + 2.2vw, 3.25rem);
  line-height: 1.13;
  letter-spacing: -.035em;
}
.ccc .home-hero h1 .serif-i {
  font-style: normal;
  font-weight: 800;
  line-height: inherit;
  letter-spacing: inherit;
  margin-top: .18em;
}
.ccc :is(.section-head h2, .band__h2, .ccc-h2--section) {
  font-size: clamp(1.75rem, 1.25rem + 1.4vw, 2.5rem);
  line-height: 1.22;
}
.ccc :is(.entry-content, .prose) {
  font-size: 1.0625rem;
  line-height: 1.75;
}
.ccc .entry-content > :is(p, ul, ol, blockquote),
.ccc .prose > :is(p, ul, ol, blockquote) { max-width: 70ch; }
.ccc .rev-main .entry-content > p { font-size: inherit; line-height: inherit; }
.ccc :is(.entry-content, .prose) h2 {
  font-size: clamp(1.6rem, 1.25rem + 1vw, 2rem);
  line-height: 1.25;
  margin-top: 2.5rem;
  letter-spacing: -.025em;
}
.ccc :is(.entry-content, .prose) h3 {
  font-size: 1.375rem;
  line-height: 1.32;
  letter-spacing: -.015em;
}
.ccc :is(.entry-content, .prose) :is(h4, h5, h6) {
  font-size: 1.125rem;
  line-height: 1.4;
  letter-spacing: -.01em;
}
.ccc :is(.entry-content, .prose) blockquote p {
  font-family: var(--sans);
  font-size: 1.1875rem;
  line-height: 1.65;
}
.ccc :is(.lede, .ccc-pagehero__lede) { font-size: 1.125rem; line-height: 1.65; }
.ccc :is(.lcard__t, .rcard__name, .ccc-authorbox__name, .qlist__name) {
  font-family: var(--sans);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.01em;
}
.ccc .brand__name { font-size: 1.25rem; line-height: 1.1; letter-spacing: -.04em; }
.ccc .brand__name span {
  font-family: var(--sans);
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: .01em;
  text-transform: none;
  font-weight: 500;
}
.ccc :is(.nav__links a, .btn) { font-weight: 600; letter-spacing: 0; }
.ccc .btn { line-height: 1.35; }
.ccc :is(.side-title, .side-sub, .rt__lbl, .res__lbl, .fact__lbl,
  .ccc-authorbox__link, .team-card__role, .calc__field > label) {
  font-family: var(--sans);
  font-size: .875rem;
  line-height: 1.45;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}
.ccc .byline__meta { font-family: var(--sans); font-size: .8125rem; line-height: 1.5; }
.ccc .byline__role { font-size: .8125rem; line-height: 1.45; }
.ccc .byline__avatar { font-family: var(--sans); font-size: .8125rem; }
.ccc :is(.ccc-crumbs, .breadcrumbs) { font-family: var(--sans); font-size: .8125rem; line-height: 1.5; letter-spacing: 0; }
.ccc .source-cite { font-size: .875rem; line-height: 1.6; }
.ccc .entry-content thead th,
.ccc .entry-content tr:first-child th:not([scope="row"]),
.ccc .tbl thead th {
  font-family: var(--sans);
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.45;
  text-transform: none;
  letter-spacing: 0;
}
.ccc :is(.ccc-payment-matrix, .ccc-reading-table, .tbl,
  .ledger, .cost-ledger, .stake-input input, .stat, .rt, .res) {
  font-variant-numeric: tabular-nums lining-nums;
}
.ccc .learn-toc a::before,
.ccc .toc-grid a::before {
  font-family: var(--sans);
  font-size: .8125rem;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
.ccc .ccc-authorbox__link { font-size: .9375rem; }
.ccc :is(code, pre, kbd, samp) { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }

@container (max-width: 920px) {
  .ccc .byline--compact .byline__meta { font-size: .8125rem; }
}
@media (max-width: 640px) {
  .ccc main h2, .ccc .ccc-home h2 { font-size: 1.625rem; line-height: 1.28; }
  .ccc main h3 { font-size: 1.3125rem; line-height: 1.35; }
  .ccc :is(.ccc-pagehero, .page-hero, .rev-hero) h1,
  .ccc .home-hero h1 {
    font-size: clamp(1.875rem, 1.2rem + 3vw, 2.25rem);
    line-height: 1.2;
    letter-spacing: -.025em;
    max-width: none;
  }
  .ccc :is(.entry-content, .prose),
  .ccc .ccc-article .entry-content { font-size: 1.0625rem; line-height: 1.75; }
  .ccc :is(.entry-content, .prose) h2,
  .ccc :is(.section-head h2, .band__h2, .ccc-h2--section) { font-size: 1.625rem; line-height: 1.28; }
  .ccc :is(.entry-content, .prose) h3 { font-size: 1.3125rem; line-height: 1.35; }
  .ccc :is(.lede, .ccc-pagehero__lede),
  .ccc .ccc-pagehero .ccc-pagehero__lede,
  .ccc .home-hero .lede { font-size: 1.0625rem; line-height: 1.65; }
  .ccc .brand { gap: 8px; }
  .ccc .brand__name { font-size: 1.125rem; letter-spacing: -.04em; }
  .ccc .nav .brand .ccc-emblem { width: 34px; height: 34px; }
  .ccc .brand__name span,
  .ccc .drawer .brand__name span { font-size: 10px; line-height: 1.4; letter-spacing: 0; }
  .ccc .byline-wrap .byline__meta { font-size: .8125rem; }
  .ccc .tabbar a { font-size: 11px; line-height: 1.25; }
  .ccc .ccc-reading-table [data-label]::before { font-size: .875rem; line-height: 1.5; }
  .ccc :is(input, select, textarea) { font-size: max(16px, 1em); }
}
@media (max-width: 360px) {
  .ccc :is(.ccc-pagehero, .page-hero, .rev-hero) h1,
  .ccc .home-hero h1 { font-size: 1.75rem; }
  .ccc .nav .brand__name { font-size: 1.0625rem; }
  .ccc .nav .brand__name span { display: none; }
}
