:root {
  --type-body: "Inter", Aptos, "Segoe UI", Arial, sans-serif;
  --type-display: "Manrope", "Inter", Aptos, "Segoe UI", Arial, sans-serif;
  --type-hero: clamp(2.5rem, 4.5vw, 3.625rem);
  --type-section: clamp(1.75rem, 2.7vw, 2rem);
  --type-card-title: 1rem;
  --type-body-copy: 0.9375rem;
  --type-card-copy: 0.8125rem;
  --type-label: 0.75rem;
  --type-control: 0.875rem;
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--type-body) !important;
}

.font-black,
.press-logo.bold {
  font-weight: 800 !important;
}

main h1,
main h2,
main h3,
main h4 {
  font-family: var(--type-display) !important;
  color: inherit;
  font-style: normal;
}

main h1 {
  font-size: var(--type-hero) !important;
  font-weight: 800 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.035em !important;
  text-transform: none !important;
}

main h2 {
  font-size: var(--type-section) !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;
  letter-spacing: -0.025em !important;
  text-transform: none !important;
}

main h3 {
  font-size: var(--type-card-title) !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}

main h4 {
  font-size: var(--type-body-copy) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

main p,
main li {
  font-family: var(--type-body) !important;
  font-size: var(--type-body-copy) !important;
  line-height: 1.62 !important;
}

main article p,
main .step p,
main .service-item p,
main .benefit-grid p {
  font-size: var(--type-card-copy) !important;
  line-height: 1.55 !important;
}

main .eyebrow,
main .uppercase[class*="tracking-"] {
  font-family: var(--type-body) !important;
  font-size: var(--type-label) !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

main a.inline-flex,
main .btn,
main button[type="submit"],
main input,
main select,
main textarea,
main label {
  font-family: var(--type-body) !important;
  font-size: var(--type-control) !important;
}

.site-header nav,
.site-header button,
body > div > header nav,
body > div > header button {
  font-family: var(--type-body) !important;
}

footer,
footer a,
footer p,
footer h3 {
  font-family: var(--type-body) !important;
}

footer h3 {
  font-size: var(--type-label) !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.04em !important;
}

.legal-content h2 {
  font-size: 1.375rem !important;
  line-height: 1.3 !important;
  letter-spacing: -0.015em !important;
}

.legal-content h3 {
  font-size: 1.0625rem !important;
}

.legal-content h4 {
  font-size: 0.9375rem !important;
}

main .ki-matching-hero-title {
  max-width: 760px;
  font-size: clamp(3.25rem, 4.6vw, 4.25rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;
  text-transform: none !important;
}

@media (max-width: 639px) {
  :root {
    --type-hero: clamp(2.125rem, 9vw, 2.5rem);
    --type-section: 1.75rem;
    --type-body-copy: 0.875rem;
    --type-card-copy: 0.8125rem;
  }

  main h1 {
    line-height: 1.08 !important;
  }

  main h2 {
    line-height: 1.2 !important;
  }

  main .ki-matching-hero-title {
    font-size: clamp(2.35rem, 10vw, 3rem) !important;
    line-height: 1.08 !important;
  }
}
