/* Вводная секция направления: спокойный переход от фото-героя к содержанию страницы. */
.service-intro {
  padding: clamp(82px, 7vw, 108px) 0 clamp(104px, 8vw, 132px);
  background: var(--background);
}

.service-intro__grid {
  display: grid;
  grid-template-columns: minmax(320px, .72fr) minmax(520px, 1.28fr);
  align-items: center;
  gap: clamp(56px, 7vw, 112px);
}

.service-intro__content {
  max-width: 470px;
}

.service-intro h2 {
  margin: 0;
  color: var(--heading);
  font-size: clamp(2rem, 3vw, 2.75rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.service-intro__content p {
  max-width: 440px;
  margin: 29px 0 0;
  color: #000;
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.75;
}

.service-intro__media {
  width: 100%;
  aspect-ratio: 3 / 2;
  justify-self: end;
  margin: 0;
}

.service-intro__media picture,
.service-intro__media img {
  display: block;
  width: 100%;
  height: 100%;
}

.service-intro__media img {
  object-fit: contain;
}

@media (min-width: 961px) {
  .service-intro {
    padding-top: clamp(40px, 3vw, 48px);
    padding-bottom: clamp(48px, 3.5vw, 56px);
  }
}

@media (max-width: 960px) {
  .service-intro {
    padding-top: 76px;
    padding-bottom: 64px;
  }

  .service-intro__grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .service-intro__content {
    max-width: 660px;
  }

  .service-intro__media {
    width: min(100%, 760px);
    justify-self: center;
  }
}

@media (max-width: 600px) {
  .service-intro {
    padding-top: 64px;
    padding-bottom: 48px;
  }

  .service-intro__grid {
    gap: 36px;
  }

  .service-intro h2 {
    font-size: 2rem;
  }

  .service-intro__content p {
    margin-top: 22px;
    font-size: 1rem;
    line-height: 1.7;
  }
}
