.km-servicesPage{
  padding: 72px 0 88px;
  background: linear-gradient(180deg, #ffffff 0%, #f7f8fb 100%);
}

.km-servicesPage__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}

.km-serviceCard{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  background:#fff;
  border:1px solid rgba(16,24,40,.08);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(16,24,40,.08);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.km-serviceCard:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(16,24,40,.12);
  border-color:rgba(181,31,31,.18);
}

.km-serviceCard__media{
  display:block;
  aspect-ratio: 16 / 10;
  overflow:hidden;
  background:#eef2f6;
}

.km-serviceCard__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s ease;
}

.km-serviceCard:hover .km-serviceCard__media img{
  transform:scale(1.05);
}

.km-serviceCard__body{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  padding:24px;
  flex:1;
}

.km-serviceCard__title{
  margin:0;
  font-size:clamp(1.2rem, 1.8vw, 1.5rem);
  line-height:1.2;
  color:var(--km-secondary);
}

.km-serviceCard__title a{
  color:inherit;
}

.km-serviceCard__text{
  margin:0;
  color:var(--km-text);
  font-size:.98rem;
  line-height:1.75;
}

.km-serviceCard__btn{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 18px;
  border-radius:999px;
  background:var(--km-primary);
  color:#fff;
  font-weight:700;
  line-height:1;
  transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
}

.km-serviceCard__btn:hover{
  transform:translateY(-2px);
  background:var(--km-primary-dark);
  color:#fff;
}

@media (max-width: 1100px){
  .km-servicesPage__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 767px){
  .km-servicesPage{
    padding:56px 0 72px;
  }

  .km-servicesPage__grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .km-serviceCard__body{
    padding:20px;
  }

  .km-serviceCard__btn{
    width:100%;
    justify-content:center;
  }
}