.services-intro {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  position: relative;
  margin-bottom: 140px;
}

.services-intro__img {
  position: absolute;
  right: calc(var(--margin) * -1);
  top: 0;
  height: 100%;
  width: calc(35% + var(--margin));
}

.services-intro__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

.services-intro h1,
.services-intro p {
  max-width: 813px;
  width: 100%;
}

@media (max-width: 1280px) {
  .services-intro__img {
    right: 0;
  }
}

@media (max-width: 1080px) {
  .services-intro__img {
    opacity: 0.3;
    width: 100%;
  }

  .services-intro {
    padding: 40px;
    margin-bottom: 40px;
  }
}

@media (max-width: 768px) {
  .services-intro__img {
    width: calc(100% + 20px);
    right: -10px;
  }
}

.services-vectors {
  display: flex;
  flex-direction: column;
  gap: 60px;
  margin-bottom: 140px;
}

.services-vector {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.services-vector__img {
  width: 100%;
  height: 258px;
}

.services-vector__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.services-vectors__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}

.services-vector__content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background-color: var(--primary);
  height: 100%;
}

.services-vector__content * {
  color: var(--neutral);
}

.services-block {
  display: flex;
  flex-direction: column;
  gap: 60px;
  margin-bottom: 140px;
}

.services-block__content {
  display: flex;
  flex-direction: column;
  gap: 40px;
  position: relative;
}

.services-block__img {
  position: absolute;
  right: calc(var(--margin) * -1);
  top: 0;
  height: 100%;
  width: calc(70% + var(--margin));
}

.services-block__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

.services-block__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.services-block__list ul {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.services-block__content > * {
  max-width: 590px;
  width: 100%;
}

.services-block__content > .btn {
  max-width: 285px;
}

@media (max-width: 768px) {
  .services-block__content > *:nth-last-child(2) {
    position: relative;
  }

  .services-vectors {
    margin-bottom: 40px;
  }

  .services-block__content > * {
  max-width: 100%;
  width: 100%;
}

.services-block__img {
  width: calc(100% + 20px);
  right: -10px;
}

.services-block__content > .btn {
  max-width: 100%;
}
}

.services {
  display: flex;
  flex-direction: column;
  gap: 60px;
  margin-bottom: 140px;
}

.services__cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.services-card {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
  background-color: var(--primary);
  position: relative;
  width: 100%;
  max-width: calc(50% - 10px);
  padding: 20px;
  height: 318px;
}

.services-card > p {
  max-width: 308px;
  width: 100%;
  color: var(--neutral);
}

.services-card .title-4 {
  padding-bottom: 10px;
  border-bottom: 1px solid var(--sand);
}

.services-card__img {
  position: absolute;
  right: 0;
  top: 0;
  width: 50%;
  height: 100%;
}

.services-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

.services > .btn {
  margin: 0 auto;
}

@media (max-width: 1080px) {
  .services-card {
    height: 220px;
  }
}

@media (max-width: 768px) {
  .services-card {
    width: 100%;
    max-width: 100%;
    padding: 10px;
    height: auto;
  }

  .services-card__img {
    width: 45%;
    -webkit-mask-image: linear-gradient(to left,  black 80%, transparent 100%);
  mask-image: linear-gradient(to left, black 80%, transparent 100%);
  }

  .services {
    margin-bottom: 40px;
    gap: 20px;
  }

  .services-block {
    margin-bottom: 40px;
  }

  .services-card > p {
  max-width: 195px;
}

.services > .btn {
  max-width: 100%;
}

}

.services-text-block {
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: flex-end;
  position: relative;
  margin-bottom: 140px;
}

.services-text-block__content {
  width: 100%;
  padding-left: 300px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  position: relative;
}

.services-text-block__img {
  position: absolute;
  left: calc(var(--margin) * -1);
  width: calc(30% + var(--margin));
  height: 100%;
  top: 0;
}

.services-text-block__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
}

.services-text-block__content .text-l {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

@media (max-width: 1280px) {
  .services-text-block__content {
    padding-left: 40%;
  }

  .services-text-block__img {
    width: 40%;
  }
}

@media (max-width: 768px) {
  .services-text-block__content {
    padding-left: 0;
    padding-top: 40px;
  }

  .services-text-block__content .text-l {
    position: relative;
    z-index: 2;
  }

  .services-text-block__content .btn {
    position: relative;
    z-index: 2;
    max-width: 100%;
  }

  .services-text-block__img {
    width: calc(100% + 20px);
    left: -10px;
    height: calc(100% - 20px);
    opacity: 0.3;
  }

  .services-text-block {
    margin-bottom: 40px;
  }

  
}

.when {
  display: flex;
  flex-direction: column;
  gap: 60px;
  position: relative;
  margin: 140px 0;
}

.when__img {
  position: absolute;
  width: calc(75% + var(--margin));
  right: calc(var(--margin) * -1);
  top: 0;
  height: 100%;
}

.when__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

.when__list {
  list-style: disc;
  list-style-position: inside;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  z-index: 2;
}

.when__list li {
  list-style: disc;
  list-style-position: inside;
}

@media (max-width: 1080px) {
  .when__img  {
    width: 50%;
  }
}

@media (max-width: 768px) {
  .when__img {
    opacity: 0.3;
    width: calc(100% + 20px);
    right: -10px;
  }

  .when {
    padding: 40px 0;
    gap: 20px;
    margin: 40px 0;
  }
}