/* Shared editorial type scale. Loaded after theme and page styles. */
:root {
  --font-display: "Source Serif 4", Georgia, "Times New Roman", serif;
  --type-hero: clamp(28px, 2.7vw, 36px);
  --type-section: clamp(24px, 2.15vw, 28px);
  --type-card: clamp(20px, 1.72vw, 22px);
  --type-stat: clamp(24px, 2.2vw, 28px);
}

body { font-optical-sizing: auto; }

h1, h2, h3, h4,
.hero__title, .section-head__title, .featured-player__name, .module__title,
.money-list__title, .schedule-band__title, .founders__quote,
.hero__card-headline, .records__title, .archive-card__year,
.founder-card__name, .final-four__title {
  font-weight: 400;
  letter-spacing: -0.01em;
}

.hero__title,
.page-hero__title,
.page-hero--money .page-hero__title,
.match-hero .page-hero__title,
.profile-hero__name,
.final-four__title {
  font-size: var(--type-hero);
  line-height: 1.12;
}

/* The Match Play subtitle remains a readable secondary headline. */
.match-hero .page-hero__title em {
  font-size: var(--type-card);
  font-weight: 400;
  line-height: 1.2;
}

.section-head__title,
#players .section-head__title,
.section--leaderboards .section-head__title,
.schedule-band__title,
.founders__quote,
.bracket-intro__title,
.match-play-teaser__title,
.finale-heading,
.handoff-panel__title,
.prose h2 {
  font-size: var(--type-section);
  font-weight: 400;
  line-height: 1.2;
}

.featured-player__name,
.player-card__name,
.module__title,
.archive-card__year,
.archive-card__title,
.records__title,
.founder-card__name,
.hof-col__name,
.payout-card__title,
.course-card__name,
.watch-card__name,
.region-card__title,
.finale-card h3,
.oracle-pick h3,
.oracle-duel h3 {
  font-size: var(--type-card);
  font-weight: 400;
  line-height: 1.2;
}

.money-list__title { font-size: var(--type-card); line-height: 1.2; }
.hero__card-headline { font-size: 20px; line-height: 1.2; }
.oracle-duel__result { font-size: 20px; font-weight: 500; }
.sponsor__name { font-size: var(--type-section); line-height: 1.2; }
.brand__name { font-weight: 700; }

/* Compact the oversized display figures without shrinking dense tables. */
.stat-strip__num,
.stat-strip--compact .stat-strip__num,
.finale-hero + .stat-strip .stat-strip__num,
.stat-grid__cell-num,
.recap__score-num,
.match-hero__status-num,
.oracle-percent {
  font-size: var(--type-stat);
  line-height: 1.1;
  font-weight: 500;
}
.featured-player__rank { font-size: 40px; }

/* Reading copy follows the reference site's comfortable 16px scale. */
.hero__lede,
.page-hero__lede,
.page-hero--money .page-hero__lede,
.match-hero .page-hero__lede,
.finale-intro,
.event-story {
  font-size: 16px;
  line-height: 1.6;
}
.event-story > p:first-child { font-size: 17px; line-height: 1.6; }
