/* PDF text-to-font mapping. Keep after responsive rules so mobile uses the same faces. */
.main-nav, .interest-list, .motto, .project-number,
.project-timeline p, .thinking-english {
  font-family: var(--font-serif);
  font-weight: 400;
}
.hero h1, .hero-subtitle, .project-heading h2, .project-timeline h3,
.experience-years h2, .career-copy h2, .career-date,
.thinking h2, .thinking-subtitle strong {
  font-family: var(--font-display);
  font-weight: 400;
}
.hero-caption, .career-quote {
  font-family: var(--font-script);
  font-weight: 400;
  font-style: normal;
}
/* PDF text matrices: 38.5px / 24.75px at a 1920px canvas. */
.hero-caption { font-size: 2.005vw; }
.career-quote { font-size: 1.289vw; }
@media (max-width: 760px) {
  .hero-caption { font-size: 18px; }
  .career-quote { font-size: 16px; }
}
.project-description, .project-link, .project-quote, .project-quote-en,
.experience-years p, .profile-grid dt, .profile-summary,
.career-footer > div > p:first-child, .thinking-note > p:first-child,
.thinking-note > span {
  font-family: var(--font-sans);
  font-weight: 400;
}
.project-heading p, .career-details {
  font-family: 'Dream Han W8', sans-serif;
  font-weight: 400;
}
.project-tags, .career-labels, .career-labels li, .thinking-subtitle p {
  font-family: 'Dream Han W10', sans-serif;
  font-weight: 400;
}
.career-copy header p { font-family: 'Dream Han W12', sans-serif; font-weight: 400; }
.profile-grid dd { font-family: 'Dream Han W16', sans-serif; font-weight: 400; }
.experience-title h2, .experience-title p, .experience-title > strong,
.experience-years > strong, .career-copy header > span {
  font-family: var(--font-impact);
  font-weight: 700;
}
