/*---------------------- treatment-grid start ----------------------*/
.treat > .block {
  overflow: hidden;
}

.treat .h-text {
  font-size: clamp(3.5rem, 5.7vw, calc(4rem + 4vw));
  line-height: 1.1;
  color: var(--purple-base);
  margin: 1.22rem;
  padding: 0;
  /* max-width: clamp(35.55rem, 66vw, 53.33rem); */
}
.treat .h-text strong {
  color: var(--purple-brite);
}

.treat .b-text .title {
  font-size: clamp(2.8rem, 8vw, 4rem);
  line-height: 0.95;
  font-weight: bold;
  margin-bottom: 1.5rem;
  color: white;
  display: inline-block;
}

.treat .b-text {
  font-size: clamp(1rem, 2vw, 1.11rem);
  color: white;
}

.treat .g-text {
  display: flex;
  flex-flow: column-reverse;
  row-gap: 1.5rem;
  flex-basis: 50%;
}

.treat .g-text .title,
.treat .p-text .title {
  font-size: clamp(3.3rem, 10vw, 4rem);
  line-height: 0.95;
  font-weight: bold;
  margin-bottom: 1.5rem;
  display: inline-block;
}

@supports not (row-gap: auto) {
  .treat .g-text .title {
    margin-top: 1.5rem;
  }
}

.treat .g-text p {
  font-size: var(--ts-h5);
  line-height: 1.2;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  padding-right: 10vw;
}

.treat .g-text .info-graphic img {
  width: 100%;
  margin-right: 1rem;
  margin-left: 1rem;
  max-width: unset !important;
}

.treat .p-text {
  margin: calc(1.22rem + 1rem) 1.22rem;
  margin: calc(var(--inner-margin) + 1rem) var(--inner-margin);
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  row-gap: 30px;
}

.treat .p-text .prod-graphic img {
  width: 7.61rem;
}

.treat .el--1 {
  align-self: center;
}

.treat .block.el--5 .wrapper .text-area,
.treat .block.el--5 .wrapper .info-graphic {
  align-self: center;
}

@media only screen and (min-width: 576px) {
  .treat .el--1 {
    grid-column: span 2;
  }
  .treat .el--5 {
    grid-row: 3;
    grid-column: span 2;
  }
  .treat .el--7 {
    grid-column: 2;
    grid-row: 4 / span 2;
  }

  .treat .g-text {
    flex-flow: row;
    justify-content: space-between;
    flex-basis: 100%;
    align-items: flex-end;
  }
  .treat .g-text p {
    padding-right: 3vw;
  }
  .treat .g-text .text-area {
    flex: 50%;
  }
  .treat .g-text .info-graphic {
    flex: 50%;
  }
  .center-con {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .center-vert {
    display: flex;
    align-items: center;
  }
}

@media only screen and (min-width: 786px) {
  .treat .el--7 {
    grid-column: 1;
  }
}

@media only screen and (min-width: 992px) {
  .treat .el--1 .wrapper {
    margin-left: 4rem;
    margin-right: 4rem;
  }

  .treat .el--1 {
    grid-column: span 3;
  }

  .treat .el--3 {
    grid-column: 2 / span 2;
  }

  .treat .el--4 {
    grid-column: 1;
    grid-row: 2;
  }

  .treat .el--7 {
    grid-column: 4;
    grid-row: 2 / span 2;
  }
  .treat .p-text .title {
    font-size: clamp(2.3rem, 5vw, 4rem);
  }
}

@media only screen and (min-width: 1200px) {
  .treat .b-text {
    max-width: 37rem;
  }
}

/*---------------------- treatment-grid end ----------------------*/
