

:root {
  --title-h1: clamp(2.5rem, 4.6vw, 5.4rem);
  --title-h2: clamp(1.25rem, 1rem + 1vw, 2rem);
  --title-h2-hero: clamp(1.5rem, 1.1rem + 1.6vw, 2.65rem);
  --title-h2-compact: clamp(1rem, 0.88rem + 0.55vw, 1.45rem);
  --title-h3: clamp(1rem, 0.92rem + 0.35vw, 1.28rem);
}

body {
  font-family: var(--font-body);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-display);
}


h2 {
  font-size: var(--title-h2) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
}

h3 {
  font-size: var(--title-h3);
  line-height: 1.08;
  letter-spacing: -0.02em;
}


.internal-heading h1,
.character-hero-copy h1,
.species-hero h1,
.detail-hero-copy h1,
.reader-title h1 {
  font-size: var(--title-h1) !important;
  line-height: 0.9 !important;
  letter-spacing: -0.055em !important;
}


.daily-copy h2,
.hero-copy h2,
.hero-news-copy h2,
.media-hero h2,
.asset-board h2 {
  font-size: var(--title-h2-hero) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.045em !important;
}


.module h2,
.media-module h2,
.broadcast-card h2,
.production-card h2,
.entity-card h2,
.temporal-system-card h2,
.chapter-choice h2,
.chapter-card h2 {
  font-size: var(--title-h2-compact) !important;
  line-height: 1 !important;
  letter-spacing: -0.025em !important;
}


.section-heading h2,
.species-section .section-heading h2,
.species-sector h2,
.detail-section h2,
.detail-sector h2,
.chapter-body h2,
.system-section-intro h2 {
  font-size: var(--title-h2) !important;
}

@media (max-width: 680px) {
  :root {
    --title-h1: clamp(2.35rem, 10vw, 4rem);
    --title-h2: clamp(1.2rem, 5.8vw, 1.8rem);
    --title-h2-hero: clamp(1.45rem, 6.8vw, 2.15rem);
    --title-h2-compact: clamp(1rem, 4.8vw, 1.35rem);
  }
}




h1,
h2,
h3,
h4,
h5,
h6,
.daily-tg-title,
.module-bottom h2,
.chapter-bottom strong,
.ad-slot-copy strong {
  max-inline-size: 100%;
  min-inline-size: 0;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: auto;
}

.module-bottom,
.chapter-bottom,
.ad-slot-copy {
  min-width: 0;
}

.module-bottom h2,
.chapter-bottom strong,
.ad-slot-copy strong {
  flex: 1 1 auto;
}

.module-index,
.chapter-bottom span {
  flex: 0 0 auto;
}


@supports (font-size: 1cqi) {
  .card,
  .module,
  .media-module,
  .broadcast-card,
  .production-card,
  .entity-card,
  .temporal-system-card,
  .chapter-choice {
    container-type: inline-size;
  }

  .module h2,
  .media-module h2,
  .broadcast-card h2,
  .production-card h2,
  .entity-card h2,
  .temporal-system-card h2,
  .chapter-choice h2,
  .chapter-card h2 {
    font-size: clamp(0.95rem, 7cqi, 1.45rem) !important;
  }

  .daily-copy h2,
  .hero-copy h2,
  .hero-news-copy h2,
  .daily-tg-title,
  .media-hero h2,
  .asset-board h2 {
    font-size: clamp(1.35rem, 8cqi, 2.65rem) !important;
  }
}
