/* Shared editorial hierarchy; embedded interfaces retain their own type sizes. */
:root {
  --site-type-slogan: 44px;
  --site-type-title: 32px;
  --site-type-subtitle: 24px;
  --site-type-metric: 36px;
  --site-type-metric-sm: 28px;
  --site-type-body: 18px;
}

@media (max-width: 1100px) {
  :root {
    --site-type-slogan: 36px;
    --site-type-title: 28px;
    --site-type-subtitle: 22px;
    --site-type-metric: 30px;
    --site-type-metric-sm: 25px;
  }
}

@media (max-width: 600px) {
  :root {
    --site-type-slogan: 29px;
    --site-type-title: 24px;
    --site-type-subtitle: 20px;
    --site-type-metric: 26px;
    --site-type-metric-sm: 22px;
    --site-type-body: 17px;
  }
}

#hero.lean-opening .hero-content h1 {
  font-size: var(--site-type-slogan);
  line-height: 1.5;
  letter-spacing: 0;
  max-width: 650px;
  text-wrap: initial;
}

#hero.lean-opening h1 > span {
  display: block;
}

html[lang="zh-CN"] #hero.lean-opening .hero-content h1 {
  font-size: calc(var(--site-type-slogan) + 5px);
}

body main h2,
body .pd-hero h1 {
  font-size: var(--site-type-title) !important;
  line-height: 1.5;
  letter-spacing: 0;
}

#customers .impact-heading h2 > span {
  display: block;
  margin-block-start: 24px;
  font-size: var(--site-type-subtitle);
}

#customers .impact-heading h2 strong,
#customers .impact-facts strong {
  font-size: var(--site-type-metric-sm);
}

#customers .impact-heading h2 strong span {
  font-size: var(--site-type-body);
}

/* Give the introduction and metrics equal space instead of separating fixed-width blocks. */
#customers #hospital-cases .impact-heading {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 48px;
}

#customers #hospital-cases .impact-heading > div {
  min-width: 0;
}

/* Nudge the introduction block inward so the two sides read as one group. */
#customers #hospital-cases .impact-heading > div:first-child {
  padding-inline-start: clamp(0px, 6vw, 88px);
}

#customers #hospital-cases .impact-facts {
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 32px;
}

#customers #hospital-cases .impact-facts p {
  min-width: 0;
}

@media (max-width: 1100px) {
  #customers #hospital-cases .impact-heading {
    gap: 32px;
  }

  #customers #hospital-cases .impact-facts {
    gap: 24px;
  }
}

@media (max-width: 760px) {
  #customers #hospital-cases .impact-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  #customers #hospital-cases .impact-heading > div:first-child {
    padding-inline-start: 0;
  }

  #customers #hospital-cases .impact-facts {
    gap: 24px 20px;
  }
}

#workflow #flow-title,
#product-platform-transition h3,
#model-evidence-heading,
#model-usage-cost-heading,
#model-customization-heading,
#deployment h3,
#contact h3,
#platform #pm-modules-heading,
#platform .pm-flow-heading,
#products #product-title,
#products .clinmate-function-copy h3,
body .pd-hero h1 span {
  font-size: var(--site-type-subtitle) !important;
  line-height: 1.55;
  letter-spacing: 0;
}

#workflow #flow-description,
#products #product-description,
#platform .platform-heading > p:last-child,
body .pd-hero p.pd-lede {
  font-size: var(--site-type-body);
}

@media (max-width: 360px) {
  :root {
    --site-type-slogan: 27.5px;
  }

  html[lang="zh-CN"] #hero.lean-opening .hero-content {
    width: calc(100% - 16px);
  }
}

/* Free-trial menu: product names match the trigger size; other tiers step down. */
.workspace-menu strong {
  font-size: 11.875px;
  font-weight: 500;
  line-height: 1.35;
}

.workspace-menu .experience-group-label > span {
  font-size: 11px;
  font-weight: 550;
}

.workspace-menu a span,
.workspace-menu button span,
.workspace-menu .experience-group-label > small {
  font-size: 10.5px;
  font-weight: 400;
  line-height: 1.4;
}

.workspace-menu a small,
.workspace-menu button small {
  font-size: 10px;
  font-weight: 400;
  line-height: 1.4;
}
