/* V41 homepage core engineering value. Loaded after the shared refinement layer. */
body.v41-core-value .xhero.home .v41-core-promise {
  width: min(520px, 100%);
  margin-top: 24px;
  padding: 13px 0 13px 17px;
  border-left: 3px solid #f2a53a;
}

body.v41-core-value .xhero.home .v41-core-promise strong,
body.v41-core-value .xhero.home .v41-core-promise span {
  display: block;
  letter-spacing: 0;
}

body.v41-core-value .xhero.home .v41-core-promise strong {
  color: #fff;
  font-size: 22px;
  font-weight: 850;
  line-height: 1.28;
}

body.v41-core-value .xhero.home .v41-core-promise span {
  max-width: 500px;
  margin-top: 8px;
  color: #c6d2e2;
  font-size: 13px;
  line-height: 1.65;
}

@media (min-width: 1024px) {
  body.v41-core-value .xhero.home .hx {
    padding-top: 44px !important;
  }

  body.v41-core-value .xhero.home .herofeats {
    margin-top: 20px !important;
  }

  body.v41-core-value .xhero.home .cta {
    margin-top: 22px !important;
  }

  html[lang="en"] body.v41-core-value .xhero.home .v41-core-promise {
    width: 580px;
  }

  html[lang="en"] body.v41-core-value .xhero.home .v41-core-promise span {
    max-width: 550px;
  }
}

/* Keep the absolute bottom metrics clear of the CTA on short desktop
   viewports. V25 fixed the metrics to the hero bottom; V41 added one more
   copy block, so height-aware spacing is required instead of overlap. */
@media (min-width: 1024px) and (max-height: 800px) {
  html[lang="en"] body.v41-core-value.v22.v20-page-home .xhero.home .hx {
    padding-top: 28px !important;
  }

  html[lang="en"] body.v41-core-value.v22.v20-page-home .xhero.home .v41-core-promise {
    margin-top: 16px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  html[lang="en"] body.v41-core-value.v22.v20-page-home .xhero.home .v41-core-promise strong {
    font-size: 20px;
  }

  html[lang="en"] body.v41-core-value.v22.v20-page-home .xhero.home .v41-core-promise span {
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.5;
  }

  html[lang="en"] body.v41-core-value.v22.v20-page-home .xhero.home .herofeats,
  html[lang="en"] body.v41-core-value.v22.v20-page-home .xhero.home .cta {
    margin-top: 14px !important;
  }

  html[lang="en"] body.v41-core-value.v22.v20-page-home .xhero.home .cta .btn {
    min-height: 48px !important;
  }

  html[lang="en"] body.v41-core-value.v22.v20-page-home .xhero.home .xstats {
    bottom: 24px !important;
    height: 72px !important;
  }
}

@media (min-width: 1024px) and (max-height: 720px) {
  body.v41-core-value.v22.v20-page-home .xhero.home .hx {
    padding-top: 26px !important;
  }

  body.v41-core-value.v22.v20-page-home .xhero.home .v41-core-promise {
    margin-top: 14px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  body.v41-core-value.v22.v20-page-home .xhero.home .v41-core-promise strong {
    font-size: 20px;
  }

  body.v41-core-value.v22.v20-page-home .xhero.home .v41-core-promise span {
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.5;
  }

  body.v41-core-value.v22.v20-page-home .xhero.home .herofeats,
  body.v41-core-value.v22.v20-page-home .xhero.home .cta {
    margin-top: 14px !important;
  }

  body.v41-core-value.v22.v20-page-home .xhero.home .cta .btn {
    min-height: 48px !important;
  }

  body.v41-core-value.v22.v20-page-home .xhero.home .xstats {
    bottom: 24px !important;
    height: 72px !important;
  }
}

@media (min-width: 1024px) and (max-height: 680px) {
  html[lang="en"] body.v41-core-value.v22.v20-page-home .xhero.home h1 {
    font-size: 50px !important;
    line-height: 1 !important;
  }

  html[lang="en"] body.v41-core-value.v22.v20-page-home .xhero.home .v41-core-promise strong {
    font-size: 18px;
  }

  html[lang="en"] body.v41-core-value.v22.v20-page-home .xhero.home .v41-core-promise span {
    font-size: 11px;
    line-height: 1.42;
  }
}

@media (min-width: 1024px) and (max-height: 660px) {
  body.v41-core-value.v22.v20-page-home .xhero.home {
    height: 560px !important;
    min-height: 560px !important;
  }
}

@media (max-width: 820px) {
  body.v41-core-value.v20-page-home .home-about-v29 {
    order: 9;
  }

  body.v41-core-value .xhero.home .v41-core-promise {
    width: 100%;
    margin-top: 16px;
    padding: 10px 0 10px 13px;
  }

  body.v41-core-value .xhero.home .v41-core-promise strong {
    max-width: 350px;
    font-size: 19px;
    line-height: 1.25;
  }

  body.v41-core-value .xhero.home .v41-core-promise span {
    max-width: 350px;
    margin-top: 6px;
    font-size: 11px;
    line-height: 1.5;
  }

  body.v41-core-value .xhero.home .cta {
    margin-top: 12px !important;
  }
}

@media (max-width: 360px) {
  body.v41-core-value .xhero.home .v41-core-promise strong {
    font-size: 17px;
  }

  body.v41-core-value .xhero.home .v41-core-promise span {
    font-size: 10.5px;
  }
}
