/* Approved Platform hero: the supplied control-centre artwork on a single
   borderless white canvas, with the full composition preserved at every size. */
.rev-platform .platform-hero {
  width: 100% !important;
  max-width: none;
  min-height: 640px;
  height: clamp(640px, 46vw, 790px);
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  grid-template-columns: minmax(0, 50%) minmax(0, 50%) !important;
  align-items: stretch;
  display: grid;
  overflow: hidden;
  contain: paint;
}

.rev-platform .platform-hero-copy {
  z-index: 2;
  min-width: 0;
  min-height: 0;
  padding: 58px 20px 58px max(5vw, 48px) !important;
  background: #fff !important;
  align-items: center;
  display: flex;
}

.rev-platform .platform-hero-copy .hero-copy-inner {
  width: 100%;
  max-width: 820px;
}

.rev-platform .platform-hero-copy h1 {
  max-width: 820px;
  margin: 30px 0 28px;
  font-size: clamp(44px, 3.5vw, 68px) !important;
  line-height: 1.03;
}

.rev-platform .platform-hero-copy h1 > span,
.rev-platform .platform-hero-copy h1 em {
  display: block;
  white-space: nowrap;
}

.rev-platform .platform-hero-copy h1 em {
  color: var(--brass) !important;
  font-style: italic !important;
}

.rev-platform .platform-hero-copy p {
  max-width: 700px;
  font-size: 16px;
  line-height: 1.72;
}

.rev-platform .platform-hero-copy .hero-actions {
  gap: 42px;
  margin-top: 30px;
}

.rev-platform .platform-control-visual {
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  aspect-ratio: auto;
  background: #fff !important;
  background-image: none !important;
  position: relative;
  overflow: hidden;
}

.rev-platform .platform-control-visual::after {
  display: none !important;
}

.rev-platform .platform-control-visual > img {
  display: block !important;
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  padding: 0;
  object-fit: contain;
  object-position: center;
  content: url("platform-control-original-white.png") !important;
  background: #fff;
  filter: none;
  transform: none;
}

@media (max-width: 1200px) {
  .rev-platform .platform-hero {
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: block;
  }

  .rev-platform .platform-hero-copy {
    height: auto;
    padding: 52px 40px 34px;
    align-items: flex-start;
  }

  .rev-platform .platform-hero-copy .hero-copy-inner {
    max-width: 820px;
  }

  .rev-platform .platform-hero-copy h1 {
    max-width: 820px;
    font-size: clamp(50px, 7vw, 66px) !important;
  }

  .rev-platform .platform-hero-copy p {
    max-width: 700px;
  }

  .rev-platform .platform-control-visual {
    width: 100%;
    height: auto;
    aspect-ratio: 1397 / 1126;
  }
}

@media (max-width: 700px) {
  .rev-platform .platform-hero-copy {
    padding: 38px 24px 26px;
  }

  .rev-platform .platform-hero-copy h1 {
    margin: 25px 0 24px;
    font-size: clamp(42px, 11vw, 52px) !important;
  }

  .rev-platform .platform-hero-copy h1 > span,
  .rev-platform .platform-hero-copy h1 em {
    white-space: normal;
  }

  .rev-platform .platform-hero-copy p {
    font-size: 14px;
    line-height: 1.68;
  }

  .rev-platform .platform-hero-copy .hero-actions {
    gap: 14px;
    margin-top: 27px;
  }

  .rev-platform .platform-control-visual {
    aspect-ratio: 1397 / 1126;
  }
}

@media (max-width: 420px) {
  .rev-platform .platform-hero-copy {
    padding-inline: 20px;
  }

  .rev-platform .platform-hero-copy h1 {
    font-size: clamp(39px, 11.2vw, 47px) !important;
  }

  .rev-platform .platform-hero-copy .hero-actions {
    align-items: flex-start;
    flex-direction: column;
  }
}
