/* Gibson remains the festival headline font; operational text uses the device's native UI font. */
:root {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
h1 {
  font-family: Gibson, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-weight: 700;
}
button, input, select { font-family: inherit; }
.field label, .field-label { font-size: 13px; font-weight: 600; }
.fact-card h2 { font-size: 14px; font-weight: 600; line-height: 1.4; }
.athlete-name { font-size: 16px; font-weight: 400; }
.athlete-name strong { font-weight: 600; }
.athlete-meta { font-size: 12px; }
.venue { font-size: 12px; color: #536b7a; letter-spacing: 0; }
.quiet, .medal-list, .result-row, .result-list { font-size: 13px; }
.result-row strong { font-size: 13px; font-weight: 600; }
.season-list li { font-size: 13px; }
.best-note { font-size: 12px; color: #5d7281; }
.podium-list li { font-size: 13px; line-height: 1.5; }
.results-details > summary { font-size: 13px; font-weight: 600; line-height: 1.5; }
.profile-label { font-size: 12px; font-weight: 600; letter-spacing: .8px; }
.profile-foot { font-size: 12px; line-height: 1.5; color: #617382; }
.fiction-tag, .demo-badge { font-size: 11px; }
.demo-badge { font-weight: 600; }
.count { font-size: 12px; }
.table-head { font-size: 11px; font-weight: 600; letter-spacing: .6px; }
.extra, .race-hint { font-size: 13px; }
.sort-wrap, .sort-wrap select, footer { font-size: 12px; }
.official-ibu-logo span { font-size: 12px; font-weight: 600; }
.stat { font-weight: 700; }
.segmented button[aria-pressed=true], .view-switch button[aria-pressed=true] { font-weight: 600; }
@media (max-width: 560px) {
  .athlete-name { font-size: 15px; }
  .fact-card h2 { font-size: 13px; }
  .venue, .best-note, .profile-foot { font-size: 12px; }
  .medal-list, .quiet, .result-row, .result-row strong, .season-list li { font-size: 13px; }
  .profile-label { font-size: 11px; letter-spacing: .6px; }
  .fiction-tag { font-size: 11px; }
  .age-cell { font-size: 13px; }
}

@media (max-width: 560px) {
  .facts-grid .loopone-card { grid-column: 1 / -1; }
}
