.features {
  --img-ratio: 4/3;
  --hcard-media-w: min(560px, 44vw);
  background: var(--bg-page, #292929);
  font-family: var(--font-ui);
  padding: var(--padding-block);
  text-align: center;
}

.features__wrap {
  max-width: 800px;
  margin: 0 auto;
}

.features__grid {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
}

.card.horizont {
  display: grid;
  align-items: center;
  grid-template-columns: min(560px, 44vw) 1fr;
}

.features-card .features-item__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.features-card .icon {
  --icon-size: clamp(60px, 10cqw, 80px);

  width: var(--icon-size);
  height: var(--icon-size);

  max-width: none;
  color: var(--color-h2, #ddd);
}

.features-card .icon--stroke-info {
  margin: -26px;
}

.features-card {
  padding: var(--pad-card);
  border: none;
}

.features-item {
  display: grid;

  grid-template-columns: 1fr;
  gap: clamp(22px, 1vw, 30px);
  align-items: start;

  text-align: center;
  padding: 10px;
}

@media (max-width: 840px) {
  .features-item {
    gap: 18px;
    grid-template-columns: 1fr;
    text-align: center;
    padding: 4px;
  }

  .features-card .features-item__icon {
    margin: 0 auto;
  }

  .features-card .icon {
    height: var(--icon-size);
  }
}

.features-demo {
  margin: 0px 0px 20px 0;
}

.features-demo__btn {
  background: color-mix(in srgb, var(--color-primary) 18%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-primary) 28%, transparent);
  color: var(--color-primary);
  padding: 12px 12px;
  border-radius: 10px;
  cursor: pointer;

  font: 600 clamp(14px, 2vw, 18px) / 1 var(--font-ui);

  min-width: 140px;
  text-decoration: none;
  margin-top: 26px;
}

@media (max-width: 1200px) {
  .card.horizont {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .features {
    --img-radius: 10px;
    --img-pad: 10px;
    --pad-card: 14px;
    --card-radius: 16px;
  }
}
