/* Local typography consolidation. Keep the site to a few readable title tiers. */
html body {
  --type-display: 60px;
  --type-page-title: 44px;
  --type-section-title: 36px;
  --type-card-title: 22px;
  --type-body-large: 18px;
  --type-body: 16px;
  --type-body-small: 14px;
  --title-measure: 920px;
  --section-title-measure: 880px;
  --copy-measure: 680px;
}

html[lang="en"] body,
html[lang="fr"] body,
html[lang="es"] body,
html[lang="ru"] body {
  --type-display: 56px;
  --type-page-title: 40px;
  --type-section-title: 32px;
  --section-title-measure: 1040px;
  --copy-measure: 720px;
}

html body :where(h1, h2, h3, h4) {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: pretty;
  letter-spacing: 0 !important;
}

html body :where(p, li) {
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: pretty;
}

html body h1,
html body .page-hero h1,
html body .about-visual-hero h1,
html body .cloud-os-hero h1,
html body .case-detail-hero h1,
html body .contact-hero h1,
html body .product-title-lockup {
  max-width: var(--title-measure) !important;
  font-size: var(--type-page-title) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: pretty !important;
  font-weight: 680 !important;
}

html body .hero-copy {
  max-width: min(760px, 72vw) !important;
}

html body .hero-copy h1,
html body .hero-copy h1 span {
  max-width: 760px !important;
  font-size: var(--type-display) !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: pretty !important;
  font-weight: 700 !important;
}

html body h2,
html body .split-head h2,
html body .page-hero h2,
html body .home-system-copy h2,
html body .model-duo-heading h2,
html body .comparison-showcase h2,
html body .global-proof-section .split-head h2,
html body .buyer-action h2,
html body .final-video-card h2,
html body .media-preview h2,
html body .resource-head h2,
html body .case-copy-panel h2,
html body .product-system-suite > .split-head h2,
html body .product-capability-showcase > .split-head h2,
html body .workflow-section > .split-head h2,
html body .visual-faq-section > .split-head h2,
html body .cloud-recipe-page .split-head h2,
html body .cloud-output-copy h2,
html body .ai-loop-section h2,
html body .executable-parameters-section h2,
html body .governance-section h2,
html body .standardized-recipe-section h2 {
  max-width: var(--section-title-measure) !important;
  font-size: var(--type-section-title) !important;
  line-height: 1.14 !important;
  letter-spacing: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: pretty !important;
  font-weight: 660 !important;
}

html body h3,
html body .home-system-models h3,
html body .model-duo-copy h3,
html body .model-duo-pair h3,
html body .case-grid article h3,
html body .case-card-link article h3,
html body .case-brief-grid h3,
html body .case-video-grid h3,
html body .content-card h3,
html body .resource-card h3,
html body .summary-card h2,
html body .product-quick-summary .summary-card h2 {
  font-size: var(--type-card-title) !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: pretty !important;
  font-weight: 660 !important;
}

html body .split-head {
  grid-template-columns: minmax(0, 0.95fr) minmax(280px, 0.42fr) !important;
  column-gap: 42px !important;
}

html body .split-head > div,
html body .page-hero > :not(.page-media),
html body .case-detail-hero-copy,
html body .product-hero-copy,
html body .contact-hero-copy,
html body .about-hero-copy,
html body .home-system-copy {
  min-width: 0 !important;
}

html body .split-head > p,
html body .page-hero p,
html body .case-detail-hero p,
html body .home-system-copy p:not(.eyebrow),
html body .product-system-suite > .split-head > p,
html body .workflow-section > .split-head > p,
html body .visual-faq-section > .split-head > p {
  max-width: var(--copy-measure) !important;
  font-size: var(--type-body-large) !important;
  line-height: 1.7 !important;
}

html body :where(.content-card p, .case-copy-panel p, .home-system-models p, .resource-card p, .summary-card p, .faq-grid p, .product-system-suite .spec-table td strong) {
  font-size: var(--type-body) !important;
  line-height: 1.62 !important;
}

html body :where(.eyebrow, .pill, .section-kicker, .spec-label, .home-system-models article > span) {
  font-size: 12px !important;
  line-height: 1.2 !important;
}

html[lang="en"] body .split-head,
html[lang="fr"] body .split-head,
html[lang="es"] body .split-head,
html[lang="ru"] body .split-head {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.26fr) !important;
  column-gap: 36px !important;
}

html[lang="en"] body .case-detail-hero-copy,
html[lang="fr"] body .case-detail-hero-copy,
html[lang="es"] body .case-detail-hero-copy,
html[lang="ru"] body .case-detail-hero-copy,
html[lang="en"] body .product-hero-copy,
html[lang="fr"] body .product-hero-copy,
html[lang="es"] body .product-hero-copy,
html[lang="ru"] body .product-hero-copy,
html[lang="en"] body .home-system-copy,
html[lang="fr"] body .home-system-copy,
html[lang="es"] body .home-system-copy,
html[lang="ru"] body .home-system-copy {
  max-width: 760px !important;
}

html[lang="en"] body .home-system-copy h2,
html[lang="fr"] body .home-system-copy h2,
html[lang="es"] body .home-system-copy h2,
html[lang="ru"] body .home-system-copy h2 {
  max-width: 700px !important;
}

html[lang="en"] body h1,
html[lang="fr"] body h1,
html[lang="es"] body h1,
html[lang="ru"] body h1,
html[lang="en"] body .page-hero h1,
html[lang="fr"] body .page-hero h1,
html[lang="es"] body .page-hero h1,
html[lang="ru"] body .page-hero h1,
html[lang="en"] body .about-visual-hero h1,
html[lang="fr"] body .about-visual-hero h1,
html[lang="es"] body .about-visual-hero h1,
html[lang="ru"] body .about-visual-hero h1,
html[lang="en"] body .cloud-os-hero h1,
html[lang="fr"] body .cloud-os-hero h1,
html[lang="es"] body .cloud-os-hero h1,
html[lang="ru"] body .cloud-os-hero h1,
html[lang="en"] body .case-video-hero h1,
html[lang="fr"] body .case-video-hero h1,
html[lang="es"] body .case-video-hero h1,
html[lang="ru"] body .case-video-hero h1,
html[lang="en"] body .product-title-lockup,
html[lang="fr"] body .product-title-lockup,
html[lang="es"] body .product-title-lockup,
html[lang="ru"] body .product-title-lockup {
  font-size: var(--type-page-title) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: balance !important;
}

html[lang="en"] body .hero-copy h1,
html[lang="fr"] body .hero-copy h1,
html[lang="es"] body .hero-copy h1,
html[lang="ru"] body .hero-copy h1,
html[lang="en"] body .hero-copy h1 span,
html[lang="fr"] body .hero-copy h1 span,
html[lang="es"] body .hero-copy h1 span,
html[lang="ru"] body .hero-copy h1 span {
  font-size: var(--type-display) !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: balance !important;
}

html[lang="en"] body h2,
html[lang="fr"] body h2,
html[lang="es"] body h2,
html[lang="ru"] body h2,
html[lang="en"] body .split-head h2,
html[lang="fr"] body .split-head h2,
html[lang="es"] body .split-head h2,
html[lang="ru"] body .split-head h2,
html[lang="en"] body .home-system-copy h2,
html[lang="fr"] body .home-system-copy h2,
html[lang="es"] body .home-system-copy h2,
html[lang="ru"] body .home-system-copy h2,
html[lang="en"] body .model-duo-heading h2,
html[lang="fr"] body .model-duo-heading h2,
html[lang="es"] body .model-duo-heading h2,
html[lang="ru"] body .model-duo-heading h2,
html[lang="en"] body .buyer-action h2,
html[lang="fr"] body .buyer-action h2,
html[lang="es"] body .buyer-action h2,
html[lang="ru"] body .buyer-action h2,
html[lang="en"] body .final-video-card h2,
html[lang="fr"] body .final-video-card h2,
html[lang="es"] body .final-video-card h2,
html[lang="ru"] body .final-video-card h2 {
  font-size: var(--type-section-title) !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: balance !important;
}

html[lang="en"] body .button,
html[lang="fr"] body .button,
html[lang="es"] body .button,
html[lang="ru"] body .button {
  white-space: normal !important;
}

@media (min-width: 1081px) {
  html[lang="en"] body .case-detail-hero,
  html[lang="fr"] body .case-detail-hero,
  html[lang="es"] body .case-detail-hero,
  html[lang="ru"] body .case-detail-hero {
    grid-template-columns: minmax(620px, 0.96fr) minmax(520px, 0.78fr) !important;
  }
}

@media (max-width: 1080px) {
  html body {
    --type-display: 54px;
    --type-page-title: 42px;
    --type-section-title: 34px;
    --type-card-title: 22px;
    --type-body-large: 17px;
    --title-measure: 780px;
    --section-title-measure: 780px;
  }

  html[lang="en"] body,
  html[lang="fr"] body,
  html[lang="es"] body,
  html[lang="ru"] body {
    --type-display: 50px;
    --type-page-title: 40px;
    --type-section-title: 33px;
  }

  html body .hero-copy {
    max-width: min(720px, 86vw) !important;
  }

  html body .split-head,
  html[lang="en"] body .split-head,
  html[lang="fr"] body .split-head,
  html[lang="es"] body .split-head,
  html[lang="ru"] body .split-head {
    grid-template-columns: 1fr !important;
    row-gap: 16px !important;
  }
}

@media (max-width: 760px) {
  html body {
    --type-display: 42px;
    --type-page-title: 34px;
    --type-section-title: 28px;
    --type-card-title: 20px;
    --type-body-large: 15px;
    --type-body: 14px;
    --title-measure: 100%;
    --section-title-measure: 100%;
    --copy-measure: 100%;
  }

  html[lang="en"] body,
  html[lang="fr"] body,
  html[lang="es"] body,
  html[lang="ru"] body {
    --type-display: 40px;
    --type-page-title: 32px;
    --type-section-title: 27px;
  }

  html body .hero-copy,
  html body .hero-copy h1,
  html body .hero-copy h1 span {
    max-width: 340px !important;
  }

  html body h1,
  html body .page-hero h1,
  html body .about-visual-hero h1,
  html body .cloud-os-hero h1,
  html body .case-detail-hero h1,
  html body .contact-hero h1,
  html body .product-title-lockup {
    line-height: 1.16 !important;
  }

  html body h2,
  html body .split-head h2,
  html body .home-system-copy h2 {
    line-height: 1.18 !important;
  }

  html body .split-head > p,
  html body .page-hero p,
  html body .case-detail-hero p,
  html body .home-system-copy p:not(.eyebrow) {
    font-size: var(--type-body) !important;
  }
}

@media (max-width: 380px) {
  html body {
    --type-display: 38px;
    --type-page-title: 31px;
    --type-section-title: 26px;
  }

  html[lang="en"] body,
  html[lang="fr"] body,
  html[lang="es"] body,
  html[lang="ru"] body {
    --type-display: 36px;
    --type-page-title: 30px;
    --type-section-title: 25px;
  }
}
