/* Focused v2.29 staging corrections. Excludes Home, CEL-FI and IBC/DAS. */

/* One balanced hero scale across Services, content pages, Blog and case studies. */
.dsc-v229-correction.services-hub-page .hub-hero .elementor-widget-heading h1.elementor-heading-title,
.dsc-v229-correction.dsc-content-page .dsc-content-hero h1.elementor-heading-title,
.dsc-v229-correction.dsc-content-page .dsc-content-hero .elementor-widget-heading h1.elementor-heading-title,
.dsc-v229-correction.dsc-content-page .dsc-case-hero__copy h1.elementor-heading-title,
.dsc-v229-correction.dsc-content-page .dsc-case-hero__copy .elementor-widget-heading h1.elementor-heading-title {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-family: var(--font);
  font-size: clamp(42px, 3.8vw, 58px) !important;
  font-weight: 800;
  line-height: 1.04 !important;
  letter-spacing: -0.038em;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  white-space: normal;
}

.dsc-v229-correction.services-hub-page .hub-hero .elementor-widget-heading,
.dsc-v229-correction.dsc-content-page :is(.dsc-content-hero__copy,.dsc-case-hero__copy) .elementor-widget-heading {
  min-width: 0;
  width: 100%;
}

/* Elementor imported image widgets keep their intended dimensions after fallback. */
.dsc-v229-correction img[data-dsc-restored-image="true"] {
  display: block;
  max-width: 100%;
}

.dsc-v229-correction.services-hub-page .hub-service-card__icon img[data-dsc-restored-image="true"] {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

/* Terms already uses semantic H2 widgets; strengthen the visible hierarchy. */
.dsc-v229-correction.dsc-content-page .dsc-legal > .elementor-element.elementor-widget-heading {
  margin-top: 46px;
  margin-bottom: 12px;
}

.dsc-v229-correction.dsc-content-page .dsc-legal > .elementor-element.elementor-widget-heading:first-of-type {
  margin-top: 34px;
}

.dsc-v229-correction.dsc-content-page .dsc-legal .elementor-widget-heading h2.elementor-heading-title {
  margin: 0;
  color: var(--ink);
  font-size: clamp(25px, 2.4vw, 32px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.022em;
  overflow-wrap: normal;
  word-break: normal;
}

.dsc-v229-correction.dsc-content-page .dsc-legal .elementor-widget-heading + .elementor-widget-text-editor p {
  margin-top: 0;
}

@media (max-width: 767px) {
  .dsc-v229-correction.services-hub-page .hub-hero .elementor-widget-heading h1.elementor-heading-title,
  .dsc-v229-correction.dsc-content-page .dsc-content-hero h1.elementor-heading-title,
  .dsc-v229-correction.dsc-content-page .dsc-content-hero .elementor-widget-heading h1.elementor-heading-title,
  .dsc-v229-correction.dsc-content-page .dsc-case-hero__copy h1.elementor-heading-title,
  .dsc-v229-correction.dsc-content-page .dsc-case-hero__copy .elementor-widget-heading h1.elementor-heading-title {
    font-size: clamp(32px, 8.5vw, 40px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em;
  }

  .dsc-v229-correction.dsc-content-page .dsc-legal > .elementor-element.elementor-widget-heading {
    margin-top: 38px;
    margin-bottom: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dsc-v229-correction img[data-dsc-restored-image="true"] {
    transition: none !important;
  }
}
