/* Mercor reference: Inter 300 / 1.18 / -.04em for display headlines;
   Inter 400 / 1.25 / -.025em for section headings. Load after components.
   Match the reference's 64px desktop display scale with responsive steps below.
   Mercor uses Inter 4.001 with the text optical design; our font includes an
   optical-size axis, so disable automatic display-size substitutions. */
body, .metric strong, .develop-main h4 { font-optical-sizing: none; }
h1, h2 {
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.025em;
}
.heading-accent { font-style: normal; font-weight: inherit; }
.hero h1 {
  font-size: clamp(48px, 5vw, 64px);
  font-weight: 300;
  line-height: 1.18;
  letter-spacing: -.04em;
}
.hero-copy { max-width: 680px; }
html[data-visual="rings"] .hero h1 .heading-accent { color: inherit; }
.hero-copy > p { font-size: 16px; line-height: 1.5; margin-top: 22px; }
.hero-actions { margin-top: 24px; }
.introduction h2 { font-size: 49px; }
.product-heading h2 { font-size: 45px; }
.research h2, .access-heading h2 { font-size: 49px; }
.closing h2 { font-size: 64px; font-weight: 300; line-height: 1.18; letter-spacing: -.04em; }
.app-content h3 { font-size: 29px; font-weight: 400; line-height: 1.3; }
.develop-main h4 { font-size: 23px; line-height: 1.25; }
.metric strong { font-size: 65px; font-weight: 400; letter-spacing: -.025em; }
.metric strong > span { font-size: .66em; }
.dialog h2 { font-size: 43px; line-height: 1.15; }

@media (min-width: 541px) {
  .hero-actions .button, .hero-actions .text-link { font-size: 14px; }
}

@media (max-width: 1100px) {
  .hero-copy { max-width: min(680px, calc(100% - 80px)); }
  .introduction h2 { font-size: 44px; }
  .product-heading h2 { font-size: 39px; }
  .research h2, .access-heading h2 { font-size: 43px; }
  .metric strong { font-size: 55px; }
}

@media (max-width: 800px) {
  .hero-copy { max-width: calc(100% - 60px); }
  .closing h2 { font-size: 56px; }
}

@media (max-width: 540px) {
  .hero-copy { max-width: none; }
  .hero h1 { font-size: clamp(34px, 10.4vw, 48px); line-height: 1.18; letter-spacing: -.04em; }
  .hero h1 .heading-accent { display: block; }
  .hero-copy > p { font-size: 15px; line-height: 1.55; }
  .introduction h2, .product-heading h2 { font-size: clamp(29px, 8.6vw, 36px); }
  .research h2, .access-heading h2 { font-size: clamp(29px, 8.8vw, 37px); }
  .app-content h3 { font-size: 26px; }
  .develop-main h4 { font-size: 23px; }
  .metric strong { font-size: 49px; }
  .metric strong > span { font-size: .64em; }
  .closing h2 { font-size: clamp(36px, 10.5vw, 46px); }
  .dialog h2 { font-size: clamp(28px, 8.2vw, 36px); }
}

@media (max-width: 360px) {
  html[data-visual="rings"] .closing h2 { font-size: 35px; }
}

/* Regular-weight headings keep the smaller text open and easy to scan. */
:is(.introduction, .showcase-heading, .research, .access-heading) h2,
html[data-visual="rings"] .dialog h2 {
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.025em;
}
:is(.process, .research-leaderboard-header, .opportunity-result) h3,
.detail-top h2,
#detail-content h3,
#detail-sources h3,
.query-source-dialog h3,
.page-contact h2 {
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -.025em;
}
.process h3,
.access-option strong,
.faq-list summary {
  font-weight: 400;
  letter-spacing: normal;
}
.hero-copy > p,
.query-composer > p {
  font-weight: 400;
  letter-spacing: normal;
}
.desktop-nav a { font-size: 14px; line-height: 1.5; }
.button { font-weight: 400; letter-spacing: normal; }
.page-intro h1 {
  font-weight: 300;
  line-height: 1.18;
  letter-spacing: -.04em;
}
