/* ==========================================================================
   TYPOGRAPHY
   High-End Editorial Type Hierarchy
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.headline-hero {
  font-size: var(--text-hero);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.03em;
  margin-bottom: var(--space-md);
}

.headline-h1 {
  font-size: var(--text-h1);
  font-weight: 800;
  line-height: 1.12;
  margin-bottom: var(--space-sm);
}

.headline-h2 {
  font-size: var(--text-h2);
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: var(--space-sm);
}

.headline-h3 {
  font-size: var(--text-h3);
  font-weight: 700;
  line-height: 1.25;
}

/* Category Kickers */
.kicker {
  display: inline-block;
  font-family: var(--font-sans);
  font-size: var(--text-kicker);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: var(--space-xs);
}

.kicker a:hover {
  text-decoration: underline;
}

/* Subtitles / Editorial Decks */
.deck {
  font-family: var(--font-serif);
  font-size: var(--text-deck);
  font-style: italic;
  font-weight: 400;
  color: var(--color-text-secondary);
  line-height: 1.45;
  margin-bottom: var(--space-lg);
}

/* Byline Metadata */
.byline-text {
  font-family: var(--font-sans);
  font-size: var(--text-body-sm);
  color: var(--color-text-muted);
}

.byline-author {
  font-weight: 600;
  color: var(--color-text);
}

.byline-author:hover {
  color: var(--color-accent);
}

/* Editorial Drop Cap */
.dropcap {
  float: left;
  font-family: var(--font-serif);
  font-size: 4.5rem;
  line-height: 0.8;
  padding-top: 4px;
  padding-right: 12px;
  padding-bottom: 2px;
  color: var(--color-primary);
  font-weight: 800;
}

/* Section Header Dividers */
.section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 2px solid var(--color-primary);
  padding-bottom: var(--space-xs);
  margin-bottom: var(--space-xl);
}

.section-title {
  font-family: var(--font-serif);
  font-size: 1.75rem;
  font-weight: 800;
  text-transform: none;
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.section-title::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: var(--color-accent);
  border-radius: 2px;
}

.section-link {
  font-family: var(--font-sans);
  font-size: var(--text-caption);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-muted);
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
}

.section-link:hover {
  color: var(--color-accent);
}
