/* CGPR typography: Lora for editorial titles, Manrope for reading and results. */
:root {
  --font-display: 'Lora', Georgia, 'Times New Roman', serif;
  --font-body: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
html { font-family: var(--font-body); line-height: 1.75; font-synthesis: none; }
body { font-weight: 400; }
button, input, select, textarea { font-family: var(--font-body); }
body h1, body h2, body h3 { font-family: var(--font-display); font-weight: 500 !important; letter-spacing: -.02em; }
.brand-name, .footer-brand-title, .brand-text-block::after { font-family: var(--font-body); font-weight: 700; letter-spacing: -.025em; }
.brand-tagline { font-weight: 500; letter-spacing: .17em; }
.nav-tab-link { font-size: .82rem; font-weight: 500; letter-spacing: 0; }
.btn-nav-fund, .btn-hero-primary, .btn-hero-secondary, .btn-hero-accent, .filter-pill-btn, .cvcg-download, .icu-download { font-family: var(--font-body); font-weight: 600; letter-spacing: .005em; }
.hero-main-title { font-weight: 500; line-height: 1.12; letter-spacing: -.035em; }
.hero-main-title mark { box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.hero-desc { font-weight: 400; line-height: 1.85; }
.section-main-heading { font-size: clamp(1.7rem, 1.25rem + 1.4vw, 2.35rem); line-height: 1.3; letter-spacing: -.025em; }
.section-link-more { font-weight: 500; font-size: .82rem; }
.metric-card-num, .bib-clock-time, .cvcg-stats strong, .podium-metric-val,
.athlete-record-time, .athlete-key-stats strong, .athlete-longest-number,
.icu-summary strong, .icu-run-stats strong, #fund-total-money {
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: -.045em;
  line-height: 1.25;
}
.metric-card-num { font-size: 2.8rem; }
.metric-card-label { font-weight: 500; font-size: .78rem; letter-spacing: .04em; }
.metric-card-sub { font-weight: 400; font-size: .8rem; line-height: 1.75; }
.bib-distance-title { font-family: var(--font-body); font-weight: 500; font-size: .76rem; letter-spacing: .09em; }
.bib-clock-time { font-size: 2.1rem; margin: 18px 0 16px; }
.bib-sub-details { font-family: var(--font-body); font-weight: 400; font-size: .74rem; line-height: 1.7; }
.member-display-name, .podium-name, .icu-run h3 { font-family: var(--font-body); font-weight: 600 !important; letter-spacing: -.025em; }
.member-id-tag { font-weight: 500; letter-spacing: .025em; }
.leaderboard-table th { font-weight: 500; font-size: .72rem; letter-spacing: .04em; }
.leaderboard-table td { font-weight: 400; font-variant-numeric: tabular-nums; }
.athlete-cell strong { font-weight: 600 !important; }
.podium-code, .podium-metric-label, .podium-trophy-badge { font-family: var(--font-body); font-weight: 500; }
.cvcg-copy h3 { line-height: 1.3; letter-spacing: -.03em; }
.cvcg-tagline, .athlete-section-label, .athlete-overline, .athlete-discipline, .icu-kicker { font-weight: 500; letter-spacing: .13em; }
.athlete-page .athlete-intro-copy h1 { font-family: var(--font-display); line-height: 1.08; letter-spacing: -.06em; }
.athlete-page .athlete-intro-copy blockquote { font-weight: 400; line-height: 1.45; letter-spacing: -.02em; }
.athlete-page .athlete-page-content h2, .intervals-page .icu-heading h1 { line-height: 1.26; letter-spacing: -.025em; }
.athlete-page .athlete-record-card h3 { font-family: var(--font-body); font-weight: 400 !important; }
.athlete-record-top, .athlete-record-kind, .athlete-role-list span, .athlete-fact-list dd { font-weight: 500; }
.athlete-social-grid strong { font-weight: 500; }
.icu-account-card h2, .icu-info-grid h2 { font-weight: 500; }
.footer-links-title { font-family: var(--font-body); font-weight: 500; letter-spacing: .1em; font-size: .7rem; }
.footer-links-menu a, .footer-brand-desc { font-weight: 400; }
@media (max-width: 768px) {
  .hero-main-title { font-size: clamp(1.85rem, 7.8vw, 3rem); line-height: 1.18; }
  .section-main-heading { font-size: 1.7rem; line-height: 1.35; }
  .metric-card-num { font-size: clamp(1.8rem, 6.5vw, 2.35rem); letter-spacing: -.045em; }
  .metric-card-label { font-size: .67rem; line-height: 1.65; }
  .metric-card-sub { font-size: .7rem; }
  .bib-clock-time { font-size: 2rem; }
  .mobile-app-nav a, .mobile-app-nav button { font-family: var(--font-body); font-weight: 500; }
  .cvcg-copy h3 { font-size: 1.65rem; }
  .athlete-page .athlete-intro-copy h1 { font-size: clamp(3.1rem, 15.5vw, 5.5rem); letter-spacing: -.055em; }
  .athlete-page .athlete-page-content h2 { font-size: 2rem; }
  .athlete-page .athlete-intro-copy blockquote { font-size: 1.5rem; }
  .athlete-key-stats strong { font-size: 1.7rem; }
  .icu-heading h1 { font-size: 2.2rem; }
}
