/* R5: original H2 kit values on the new non-heading Constructum wrapper.
   Per-widget Elementor rules on .constructum-heading remain effective. */
.nt-r5-composite {
  font-family: "DM Sans", Sans-serif;
  font-size: 70px;
  font-weight: 500;
  line-height: 1em;
  letter-spacing: -.05em;
}
.elementor-kit-4 :is(h2,h3).nt-r5-title {
  display: block;
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-align: inherit;
  text-transform: inherit;
}
/* Constructum theme.css:12681 gives nested headings margin-top:50px via
   body .body-container h2/h3:not(:first-child), outranking the kit reset above.
   Scope the original zero margins to our new title only. */
body .body-container .nt-r5-composite :is(h2,h3).nt-r5-title {
  margin: 0;
}
/* The native heading-inner and owl-dots remain direct children of the carousel row. */
.nt-r5-composite .constructum-heading-inner .nt-r5-title { width: 100%; }
/* R5 tag conversions: match the former kit H6/H4/H2 metrics without changing widget colors. */
.elementor-kit-4 .nt-r5-from-h6 .constructum-heading {
  font-family: "DM Sans", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25em;
  letter-spacing: normal;
}
.elementor-kit-4 .nt-r5-from-h4 .constructum-heading,
.elementor-kit-4 .nt-r5-team-name {
  font-family: "DM Sans", Sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.25em;
  letter-spacing: -.03em;
}
.elementor-kit-4 .nt-r5-contact-h3 .constructum-heading {
  font-family: "Manrope", Sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.25em;
  letter-spacing: -.03em;
}
.elementor-kit-4 .nt-r5-footer-plain .constructum-heading {
  font-family: "Manrope", Sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.25em;
  letter-spacing: -.03em;
}
.elementor-kit-4 .nt-r5-price-h3 .constructum-heading {
  font-size: 70px;
  font-weight: 500;
  line-height: 1em;
  letter-spacing: -.05em;
}
@media(max-width:1279px) {
  .nt-r5-composite,
  .elementor-kit-4 .nt-r5-price-h3 .constructum-heading { font-size: 55px; }
}
@media(max-width:991px) {
  .nt-r5-composite,
  .elementor-kit-4 .nt-r5-price-h3 .constructum-heading { font-size: 40px; }
  .elementor-kit-4 .nt-r5-from-h4 .constructum-heading,
  .elementor-kit-4 .nt-r5-team-name,
  .elementor-kit-4 .nt-r5-footer-plain .constructum-heading { font-size: 18px; }
}
@media(max-width:767px) {
  .nt-r5-composite,
  .elementor-kit-4 .nt-r5-price-h3 .constructum-heading { font-size: 35px; }
  .elementor-kit-4 .nt-r5-contact-h3 .constructum-heading {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25em;
  }
}
