.image.module {
  margin: var(--128px) auto;
  max-width: var(--max-width);
  padding: 0 var(--inset);
}

.image.module .figure {
  position: relative;
}
.image.module .figure > .item {
  display: block;
  height: var(--600px);
  object-fit: cover;
  width: 100%;
}

.image.module .text {
  border-bottom: var(--2px) solid var(--grey-divider);
  border-top: var(--2px) solid var(--grey-divider);
  font-size: var(--20px);
  font-weight: var(--light);
  line-height: var(--27px);
  padding: var(--90px) var(--100px);
  vertical-align: middle;
  width: 47.4%;
}
.image.module .text > .heading {
  font-size: var(--40px);
  line-height: var(--42px);
  margin: 0 0 var(--30px);
  max-width: var(--370px);
}
.image.module .text p {
  margin: var(--20px) 0;
  max-width: var(--370px);
}
.image.module .text .button {
  margin-top: var(--30px);
  padding: 0 var(--50px);
}

@media (max-width: calc(960px * 0.8)) {
  .image.module {
    margin: var(--50px) auto;
  }

  .image.module,
  .image.module .text,
  .image.module .figure {
    display: block;
  }

  .image.module .figure {
    border-top: var(--2px) solid var(--grey-divider);
    margin-bottom: var(--30px);
    padding-top: var(--30px);
  }
  .image.module .figure > .item {
    height: var(--255px);
  }

  .image.module .text {
    border-bottom: var(--2px) solid var(--grey-divider);
    border-top: none;
    padding: 0;
    padding-bottom: var(--30px);
    width: auto;
  }
  .image.module .text > .heading {
    font-size: var(--30px);
    line-height: var(--34px);
    margin-bottom: var(---10px);
    max-width: none;
  }
  .image.module .text p {
    margin: var(--25px) 0;
    max-width: none;
  }
  .image.module .text .button {
    padding: 0 var(--25px);
    width: 100%;
  }
}
