@font-face {
  font-family: 'Onest';
  src: url('assets/fonts/Onest-Variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
}

:root {
  --display: 'Onest', Arial, sans-serif;
  --body: 'Onest', Arial, sans-serif;
}

body, body * {
  font-family: 'Onest', Arial, sans-serif !important;
  font-synthesis: none;
}

body {
  font-weight: 400;
  font-optical-sizing: auto;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body :is(p, a, button, label, small, span, dt, dd, input, select, textarea, summary, blockquote) {
  letter-spacing: 0 !important;
}

body :is(h1, h2, h3, h4) {
  font-weight: 600 !important;
  letter-spacing: -.018em !important;
  line-height: 1.14;
}

body :is(.hero-stage h1, .ground-hero h1, .portal-welcome h1) {
  font-weight: 630 !important;
  letter-spacing: -.022em !important;
  line-height: 1.06;
}

body :is(b, strong) { font-weight: 600 !important; letter-spacing: -.01em !important; }
body :is(button, .pill-button, .site-nav a, .header-login, .text-arrow, .portal-side__nav button, .filter-bar button, .theme-toggle) { font-weight: 600 !important; }
body :is(.eyebrow, .kicker, .section-intro__label, .teacher-card__speciality, .teacher-card__head span, .story-review__topic, .photo-placeholder > span) { font-weight: 500 !important; }
body :is(.story-review blockquote, .latest-reviews blockquote p) { font-weight: 500 !important; letter-spacing: -.008em !important; }
body :is(small, dt, dd, .hero-stage__intro, .exam-section__small, .autodrome-section__heading > p, .site-cta p, .breadcrumb, .catalog-topline > span, .portal-side__home, .portal-main__bar small, .booking-stage__heading > span, .sync-status__text) { font-weight: 500 !important; }
body :is(.hero-stage__rail span, .format-feature__tag, .person-teaser__content small) { font-weight: 600 !important; }

@media (max-width: 620px) {
  body :is(.hero-stage h1, .ground-hero h1) { line-height: 1.08; }
}
