.text-2col {
  padding-inline: 20px;
}
.text-2col p + p {
  margin-top: 8px;
}
.text-2col p + ul {
  margin-top: 8px;
}
.text-2col ul + p {
  margin-top: 16px;
}
.text-2col h2 + p {
  margin-top: 24px;
}
.text-2col h3 {
  margin-bottom: 16px;
}
.text-2col h2 + h3 {
  margin-top: 16px;
}
.text-2col ul {
  list-style: disc;
  padding-left: 30px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.text-2col--container {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 992px) {
  .text-2col--container {
    gap: 24px;
  }
}
.text-2col--header .uptitle {
  margin-bottom: 8px;
}
.text-2col--header h2 {
  color: var(--rose);
}
.text-2col--content-col {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .text-2col--content-col {
    flex-direction: row;
    justify-content: space-between;
  }
}
.text-2col--content-col.mixte {
  align-items: center;
}
@media screen and (min-width: 768px) {
  .text-2col--content-col.mixte .col-text {
    padding: 40px 0;
  }
}
@media screen and (min-width: 768px) {
  .text-2col--content-col .col-text {
    flex: 0 1 600px;
  }
}
.text-2col--content-col .col-text .text-2col--btn {
  margin: 40px 0 20px 0;
}
.text-2col--content-col .col-image {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .text-2col--content-col .col-image {
    flex: 0 1 600px;
  }
}
.text-2col--content-col .col-image img {
  max-height: 250px;
  border-radius: 20px;
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .text-2col--content-col .col-image img {
    max-height: unset;
  }
}
@media screen and (min-width: 768px) {
  .text-2col.reverse .text-2col--content-col {
    flex-direction: row-reverse;
  }
}
.text-2col.hp .text-2col--header {
  text-align: center;
}
.text-2col.hp .col-image img {
  max-height: 400px;
  object-position: top;
}
@media screen and (min-width: 768px) {
  .text-2col.hp .col-image img {
    max-height: unset;
  }
}
