/* Main-page type families, loaded explicitly to avoid browser fallback fonts. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Inter+Tight:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap');

/* Layered important rules take precedence over legacy unlayered page overrides. */
@layer dex-supporting-typography {
html[data-dex-typography] body {
  -webkit-font-smoothing: auto !important;
  -moz-osx-font-smoothing: auto !important;
  --dex-type-heading: 'Inter Tight', Arial, sans-serif;
  --dex-type-body: 'DM Sans', Arial, sans-serif;
  --dex-type-ui: 'Manrope', Arial, sans-serif;
}
html[data-dex-typography] body :is(article,section,div,span,a,label,summary,td,th,input,textarea,select,strong,b,em):not(:where(dex-header *,dex-footer *,nav *,footer *,dex-contact-form *,pre *,code *,svg *)) {
  font-family: var(--dex-type-body) !important;
}
html[data-dex-typography] body :is(h1,h2,h3,h4,h5,h6):not(:where(dex-header *,dex-footer *,nav *,footer *,dex-contact-form *)) {
  font-family: var(--dex-type-heading) !important;
  font-weight: 600 !important;
}
html[data-dex-typography] body :is(h1,h2):not(:where(dex-header *,dex-footer *,nav *,footer *,dex-contact-form *)) {
  font-weight: 500 !important;
}
html[data-dex-typography] body :is(h1,h2,h3,h4,h5,h6):not(:where(dex-header *,dex-footer *,nav *,footer *,dex-contact-form *)) :is(span,strong,b,em) {
  font-family: inherit !important;
  font-weight: inherit !important;
}
html[data-dex-typography] body h1 {
  font-size: clamp(38px, 4.6vw, 66px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.02em !important;
}
html[data-dex-typography] body h2:not(:where(dex-header *,dex-footer *,nav *,footer *,dex-contact-form *,.fs-answer *)) {
  font-size: clamp(32px, 3.35vw, 48px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em !important;
}
html[data-dex-typography] body :is(.blog-card-title,.card-title,.fs-card h3,.mt-card h3) {
  font-size: clamp(20px, 1.7vw, 24px) !important;
  line-height: 1.25 !important;
  letter-spacing: -.01em !important;
}
html[data-dex-typography] body :is(p,li,dt,dd):not(:where(dex-header *,dex-footer *,nav *,footer *,dex-contact-form *,pre *,code *)) {
  font-family: var(--dex-type-body) !important;
}
html[data-dex-typography] body :is(.mt-hero-copy>p,.mt-case .hero .lede,.unified-hero-description,.section-subtitle,.section-description,.fs-lede,.mt-lede,.mt-hero-lede,.hero-subtitle,.hero-desc,.hero-description,.fs-head p,.mt-heading p,.ck-heading p,.section-head p,.section-header p) {
  font-family: var(--dex-type-body) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  hyphens: none !important;
}
html[data-dex-typography] body .blog-card-description {
  font-size: 16px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  text-align: left !important;
  hyphens: none !important;
}
html[data-dex-typography] body :is(button,.fs-btn,.mt-button,.industry-card-button,.dex-industry-card-cta,[role='tab']):not(:where(dex-header *,dex-footer *,nav *,footer *,dex-contact-form *)) {
  font-family: var(--dex-type-ui) !important;
}
html[data-dex-typography] body :is(.unified-hero-description,.mt-hero-copy>p,.mt-case .hero .lede) {
  text-align: center !important;
  hyphens: none !important;
}
@media (max-width: 600px) {
  html[data-dex-typography] body :is(.mt-hero-copy>p,.mt-case .hero .lede,.unified-hero-description,.section-subtitle,.section-description,.fs-lede,.mt-lede,.mt-hero-lede,.hero-subtitle,.hero-desc,.hero-description,.fs-head p,.mt-heading p,.ck-heading p,.section-head p,.section-header p) {
    font-size: 16px !important;
  }
}
}

/* Give long stage labels enough room at narrow mobile widths. */
@layer dex-supporting-typography {
  @media (max-width: 400px) {
    html[data-dex-typography] body .mt-hero-stages {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
  }
}

/* Shared chrome follows the same families on every page, including the homepage. */
@layer dex-supporting-typography {
  html body :where(dex-header,.rt-top-nav,.dex-site-menu-overlay,#dex-mobile-navigation,.colakin-footer) :not(svg,svg *) {
    font-family: 'DM Sans', Arial, sans-serif !important;
    -webkit-font-smoothing: auto !important;
    -moz-osx-font-smoothing: auto !important;
  }
  html body :where(dex-header,.rt-top-nav,.dex-site-menu-overlay,#dex-mobile-navigation,.colakin-footer) :is(a,button,summary) {
    font-weight: 500 !important;
  }
  html body :is(.colakin-footer-connect,.colakin-footer-connect span) {
    font-family: 'Inter Tight', Arial, sans-serif !important;
    font-weight: 500 !important;
  }
  html body :where(dex-header,.rt-top-nav,.dex-site-menu-overlay,#dex-mobile-navigation) :is(h2,h3,h4) {
    font-family: 'Inter Tight', Arial, sans-serif !important;
    font-weight: 600 !important;
  }
}
