/* Sitewide type scale, based on the homepage Company Overview section.
   Size overrides intentionally take precedence over legacy page-specific rules. */
:root {
  --site-heading-size: clamp(1.875rem, 3.2vw, 2.75rem);
  --site-card-heading-size: 1.125rem;
  --site-subheading-size: 1rem;
  --site-body-size: .9375rem;
}
body {
  font-size: var(--site-body-size);
  line-height: 1.75;
}
/* Video player titles retain their original component typography. */
body :is(h1, h2):not(.product-video-float h2, .product-video-dialog h2) {
  font-size: var(--site-heading-size) !important;
  line-height: 1.15 !important;
  letter-spacing: -.035em !important;
  font-weight: 700;
  text-wrap: balance;
}
body h3 {
  font-size: var(--site-card-heading-size) !important;
  line-height: 1.4 !important;
  letter-spacing: -.015em !important;
}
body :is(h4, h5, h6) {
  font-size: var(--site-subheading-size) !important;
  line-height: 1.4 !important;
}
body :is(h1, h2, h3, h4, h5, h6) :is(a, span, em, strong) {
  font-size: inherit !important;
  line-height: inherit !important;
}
body p,
main :is(li, dd, dt, blockquote) {
  font-size: var(--site-body-size) !important;
  line-height: 1.75 !important;
}
/* Keep existing homepage components on the same shared scale. */
.final-home.modern-industrial-home {
  --home-section-title: var(--site-heading-size);
  --home-card-title: var(--site-card-heading-size);
  --home-body: var(--site-body-size);
}

/* Slightly more compact catalogue page title. */
body.products-page .client-hero h1 {
  font-size: clamp(1.75rem, 2.8vw, 2.25rem) !important;
}
