.vcard {
  background-color: var(--background);
  max-width: var(--max-width);
  margin: 0 auto;
  padding: var(--offset-y) var(--offset-x);
  box-sizing: border-box;
}

.vcard__title {
  font: var(--venti);
  margin-bottom: 65px;
}

.vcard__item {
  background-color: var(--neutral);
  border-radius: 4px;
  display: flex;
  color: var(--paper);
  margin: 30px 0;
}

.vcard__item__content h3 {
  font: var(--venti);
  margin-bottom: 30px;
}

.vcard__item__content p {
  font: var(--tall);
}

.vcard__item__content p + p {
  margin-top: 25px;
}

@media (max-width: 650px) {
  .vcard__item {
    flex-direction: column;
    gap: 30px;
    padding: 30px;
  }
}

@media (min-width: 651px) {
  .vcard__item {
    gap: 60px;
    padding: 45px;
  }

  .vcard__item__media {
    width: 27.25%;
    flex-shrink: 0;
  }

  .vcard__item__content {
    margin-top: -5px;
  }
}

@media (min-width: 651px) and (max-width: 1024px) {
  .vcard__item {
    flex-wrap: wrap;
  }

  .vcard__item__media {
    width: 40%;
  }

  .vcard__item__content {
    width: calc(60% - 60px);
  }

  .vcard__item__button {
    width: calc(60% - 60px);
    margin-left: auto;
  }
}

@media (min-width: 1025px) {
  .vcard__item__content {
    margin-right: 70px;
  }

  .vcard__item__button {
    flex-shrink: 0;
    align-self: center;
    margin-left: auto;
  }
}