:root{
  --ask-type-family:Arial,Helvetica,sans-serif;
  --ask-type-size-base:1.125rem;
  --ask-type-size-display:clamp(2rem,3.4vw,2.75rem);
  --ask-type-size-heading:clamp(1.5rem,2.7vw,2.125rem);
  --ask-type-size-title:1.375rem;
  --ask-type-size-copy:1.0625rem;
  --ask-type-size-number-sm:1.25rem;
  --ask-type-size-number-md:1.625rem;
  --ask-type-size-number-lg:clamp(2rem,4vw,3rem);
  --ask-type-size-number-xl:clamp(2.5rem,5vw,4rem);
  --ask-type-line-height:1.6;
  --ask-type-line-height-tight:1.2;
  --ask-type-letter-spacing:0.02em;
  --ask-type-letter-spacing-tight:0.01em;
  --ask-space-sm:0.75rem;
  --ask-space-md:1rem;
}

html{
  font-size:16px;
  -webkit-text-size-adjust:100%;
}

body{
  font-family:var(--ask-type-family) !important;
  font-size:var(--ask-type-size-base) !important;
  line-height:var(--ask-type-line-height) !important;
}

body,
body *{
  font-family:var(--ask-type-family) !important;
}

body :is(
  p,
  a,
  li,
  label,
  input,
  select,
  textarea,
  button,
  td,
  th,
  small,
  figcaption,
  summary,
  legend,
  blockquote
){
  font-size:inherit;
  line-height:inherit;
  letter-spacing:var(--ask-type-letter-spacing) !important;
  word-spacing:normal !important;
}

body :is(h1,h2,h3,h4,h5,h6){
  font-family:var(--ask-type-family) !important;
  line-height:var(--ask-type-line-height-tight) !important;
  letter-spacing:var(--ask-type-letter-spacing-tight) !important;
  margin:0 0 var(--ask-space-md) !important;
}

body h1{
  font-size:var(--ask-type-size-display) !important;
  font-weight:700 !important;
}

body h2{
  font-size:var(--ask-type-size-heading) !important;
  font-weight:700 !important;
}

body :is(h3,h4,h5,h6){
  font-size:var(--ask-type-size-title) !important;
  font-weight:700 !important;
}

body :is(label){
  display:block;
  margin:0 0 var(--ask-space-sm) !important;
  font-weight:700 !important;
}

body :is(
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
){
  font-size:var(--ask-type-size-copy) !important;
  line-height:var(--ask-type-line-height) !important;
  padding:0.875rem 1rem !important;
  margin:0 0 var(--ask-space-md) !important;
}

body :is(
  button,
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-ghost,
  .btn-danger,
  .nav-cta,
  .nc,
  .bg,
  .bb,
  .lang-btn,
  .lb,
  .text-link,
  .filter-btn
){
  font-size:var(--ask-type-size-copy) !important;
  line-height:1.4 !important;
  letter-spacing:var(--ask-type-letter-spacing) !important;
}

body :is(
  .num,
  .stat-num,
  .service-num,
  .hero-stat-num,
  .practice-num,
  .hstat-num,
  .value-num,
  .services-count,
  .wcn
){
  font-size:var(--ask-type-size-number-xl) !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}

body :is(
  .ch-num,
  .nav-num,
  .td-num,
  .pillar-num,
  .si-num,
  .exp-num,
  .method-step-num,
  .step-num,
  .phase-number,
  .milestone-year,
  .snapshot-count,
  .section-count,
  .count-pill,
  .count-badge,
  .nav-index
){
  font-size:var(--ask-type-size-number-md) !important;
  line-height:1.1 !important;
  font-weight:700 !important;
  letter-spacing:0.01em !important;
}

body :is(
  [class*="num"],
  [class*="count"],
  [class*="index"],
  [class*="year"],
  [class*="stat"]
){
  font-weight:700 !important;
}
