/* Approved pairing: rounded storybook headings and a warm, clear reading voice. */
:root {
  --serif: 'Bree Serif', Georgia, serif;
  --sans: 'Nunito', Arial, sans-serif;
}
body { font-synthesis: none; }
h1, h2, h3 { letter-spacing: -.018em; }
h1, h2,
.hero h1,
.board-content h3,
.learning-heading h3,
.mistake-page h3,
.age-copy h3 {
  font-weight: 400;
}
.hero h1 { line-height: 1.12; }
.hero h1 > em { line-height: 1.18; }
h1 em, h2 em, h3 em { font-style: normal; }

/* Notes retain a real italic, rather than slanting Bree Serif artificially. */
.intro-line p,
.hero-note,
.room-caption,
.letter-margin > span,
.letter-signoff,
.drawing-label,
.age-handnote,
.age-note::before,
.reader-trace em,
.device-brand,
.device-age,
.device-illustration > span,
.showroom-caption,
.notebook-left > p,
.care-caption,
.curriculum-note p,
.agreement-signoff,
.offer-photo-line p,
.offer-doubt-links > span,
.closing-inner > p:last-child,
.mistake-page .mistake-course,
.hero-film figcaption,
.diagram-note {
  font-family: var(--sans);
}
.photo-caption::after { font-family: var(--sans); }
.sample-step > span,
.device-index > span:first-child,
.module-number,
.module-content li::marker,
.index-number,
.learning-number,
.mistake-number { font-style: normal; }
.hero-film video::cue { font-family: 'Nunito', Arial, sans-serif; }
.button, .text-link { font-weight: 600; }

@media (min-width: 1000px) {
  .hero-copy > h1 { letter-spacing: -.025em; }
}
