/* Hero layout repair — keep the four information zones anchored and independent. */
.hero {
  position: relative !important;
  min-height: 100svh !important;
  overflow: hidden !important;
  isolation: isolate;
}

/* The supplied hero footage is colour. Remove the legacy monochrome treatment. */
.hero video,
.hero__video,
.hero__video video,
.hero__media,
.hero__media video,
.hero__background,
.hero__background video {
  filter: none !important;
  -webkit-filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}

.hero__index,
.hero__intro,
.hero__proof {
  position: absolute !important;
  z-index: 6 !important;
  margin: 0 !important;
  translate: none !important;
  rotate: none !important;
  scale: none !important;
  transform: none !important;
}

.hero__index {
  top: 88px !important;
  left: 24px !important;
  right: auto !important;
  bottom: auto !important;
}

.hero__intro {
  top: auto !important;
  right: auto !important;
  bottom: 24px !important;
  left: 24px !important;
  width: min(620px, 50vw) !important;
  max-width: 50vw !important;
}

.hero__proof {
  top: auto !important;
  right: 24px !important;
  bottom: 24px !important;
  left: auto !important;
  width: min(540px, 43vw) !important;
  max-width: 43vw !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  text-align: right !important;
}

@media (max-width: 767px) {
  .hero__index {
    top: 84px !important;
    left: 16px !important;
  }

  .hero__intro {
    right: 16px !important;
    bottom: 91px !important;
    left: 16px !important;
    width: auto !important;
    max-width: none !important;
  }

  .hero__proof {
    right: 16px !important;
    bottom: 20px !important;
    left: 16px !important;
    width: auto !important;
    max-width: none !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
}
