.img-txt {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin: 0 auto;
  position: relative;
}

@media screen and (min-width: 1024px) {
  .img-txt {
    flex-direction: row-reverse;
    align-items: stretch;
    justify-content: space-between;
    gap: 96px;
    margin: 0 auto;
  }

  .img-txt.reverse {
    flex-direction: row;
  }
}

.img-txt.background {
  background: var(--bg);
  box-shadow: 1000px 0 0 var(--bg), -1000px 0 0 var(--bg);
  padding-top: 48px;
  padding-bottom: 48px;
}

@media screen and (min-width: 1024px) {
  .img-txt.background {
    padding-top: 96px;
    padding-bottom: 96px;
  }
}

.img-txt.darken {
  color: var(--white);
  background: var(--green-dark);
  box-shadow: 1000px 0 0 var(--green-dark), -1000px 0 0 var(--green-dark);
}

@media screen and (min-width: 1024px) {
  .img-txt.darken::before {
    content: '';
    background: url("../images/rect.png"), var(--green-dark);
    background-size: cover;
    background-position: center;
    background-blend-mode: darken;
    height: 100%;
    width: 33%;
    opacity: .3;
    position: absolute;
    right: -80px;
    top: 0;
  }
}

.img-txt.mid-bg {
  position: relative;
}

.img-txt.mid-bg::after {
  content: '';
  height: 60%;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.img-txt img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.img-txt .img-txt--img {
  display: flex;
  align-items: center;
  height: 330px;
  overflow: hidden;
  border-radius: 16px;
  z-index: 1;
}

@media screen and (min-width: 1024px) {
  .img-txt .img-txt--img {
    flex-shrink: 0;
    width: calc(50% - 48px);
    height: inherit;
  }
}

.img-txt .img-txt--content {
  z-index: 1;
}

@media screen and (min-width: 1024px) {
  .img-txt .img-txt--content {
    align-self: center;
    padding: 56px 0;
  }
}

.img-txt .title {
  font-size: 1.5rem;
  font-weight: 600;
}

.img-txt h2 {
  margin: 0 0 32px;
}

@media screen and (min-width: 1024px) {
  .img-txt h2 {
    margin-bottom: 0 0 40px;
  }
}

.img-txt h3 {
  font-family: Inter, sans-serif;
  margin-bottom: 24px;
  font-size: 1.25rem;
}

@media screen and (min-width: 1024px) {
  .img-txt h3 {
    font-size: 1.5rem;
  }
}

.img-txt p {
  margin: 0 0 24px;
}

.img-txt p+h2,
.img-txt .title {
  margin-top: 60px;
}

@media screen and (min-width: 1024px) {

  .img-txt p+h2,
  .img-txt .title {
    margin-top: 80px;
  }
}