/* Text-media blocks */
.text-media-block {
  margin: 120px 0;
  color: #fff;
}

.text-media-block__inner {
  display: flex;
  flex-direction: column;
}

.text-media-block__content {
  display: flex;
  align-items: flex-start;
  gap: 64px;
}

.text-media-block__content figure,
.text-media-block__copy {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.text-media-block__copy p {
  margin-top: 0;
}

.text-media-block__content figure {
  margin: 0;
  max-width: 672px;
  flex-basis: 672px;
}

.text-media-block__content img {
  width: 100%;
  height: auto;
  aspect-ratio: 672 / 480;
  display: block;
  object-fit: cover;
  box-shadow: 0 25px 40px rgba(0, 0, 0, 0.45);
}

.text-media-block__heading {
  position: relative;
  max-width: 624px;
  padding-left: 48px;
}

.text-media-block--text-first .text-media-block__heading {
  max-width: 370px;
  margin-bottom: 30px;
}
.text-media-block__heading--media {
  margin-bottom: 60px;
}

.text-media-block__copy p {
  color: #FFF;
  font-family: "IBM Plex Sans";
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 32px; /* 160% */
  max-width: 458px;
}

.text-media-block__copy p:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 1280px) {
  .text-media-block {
    margin: 100px 0;
  }

  .text-media-block__content {
    gap: 48px;
  }

  .text-media-block__content figure {
    max-width: 55%;
    flex-basis: 55%;
  }
}

@media screen and (max-width: 1023px) {
  .text-media-block {
    margin: 80px 0;
  }

  .text-media-block__content {
    flex-direction: column;
    gap: 40px;
  }

  .text-media-block__content figure,
  .text-media-block__copy,
  .text-media-block__copy p {
    max-width: 100%;
    flex-basis: auto;
  }

  .text-media-block__heading {
    padding-left: 36px;
    max-width: 100%;
  }

  .text-media-block--text-first .text-media-block__heading {
    max-width: 100%;
  }

  .text-media-block__heading--media {
    margin-bottom: 32px;
  }
}

@media screen and (max-width: 600px) {
  .text-media-block {
    margin: 60px 0;
    padding: 0 16px;
  }

  .text-media-block__inner {
    gap: 0;
  }

  .text-media-block__content {
    gap: 32px;
  }

  .text-media-block__heading {
    padding-left: 24px;
    font-size: 32px;
    line-height: 40px;
  }

  .text-media-block__copy p {
    font-size: 18px;
    line-height: 28px;
  }
}
