:root {
  --white: #ffffff;
  --mild-gray: #48556a;
  --purple: #733fc8;
  --mild-purple: #a775f1;
  --bg-color: #ecf2f8;
  --navy-blue: #19202d;
  --mild-white: #cfcfcf;
}

body {
  margin: 0;
  padding-inline: 1.5rem;
  padding-block: clamp(4rem, 14.3vw, 10.25rem);
  background-color: var(--bg-color);
  font-family: "Barlow Semi Condensed", sans-serif;
  font-style: normal;
}

p,
blockquote {
  font-weight: 500;
}

h2 {
  font-weight: 600;
  font-size: 1.25rem;
  margin-block: 1.125rem 1rem;
}

blockquote {
  font-size: 0.8125rem;
  line-height: 1.125rem;
  margin-block: 0;
  margin-inline: 0;
}

.name {
  color: var(--white);
  font-size: 0.8125rem;
  line-height: 0.8125rem;
  margin-block: 0 0.25rem;
}

.job {
  color: var(--white);
  opacity: 50%;
  font-size: 0.6875rem;
  line-height: 0.6875rem;
  margin-block: 0;
}

.name.gray {
  color: var(--mild-gray);
}

.job.gray {
  color: var(--mild-gray);
}

.item1 {
  background-color: var(--purple);
  background-image: url(images/bg-pattern-quotation.svg);
  background-repeat: no-repeat;
  background-position: top 0px right clamp(24px, 6.4vw, 80px);
}

.item2 {
  background-color: var(--mild-gray);
}

.item4 {
  background-color: var(--navy-blue);
}

.white-bg {
  background-color: var(--white);
}

.white-heading {
  color: var(--white);
}

.gray-heading {
  color: var(--mild-gray);
}

.white-p {
  color: var(--mild-white);
  opacity: 70%;
}

.gray-p {
  color: var(--mild-gray);
  opacity: 70%;
}

.card {
  border-radius: 0.5rem;
  box-shadow: 40px 60px 50px -47px rgba(72, 85, 106, 0.2474);
  padding-inline: 2rem;
  padding-block: 1.625rem 2rem;
}

.profile {
  margin: 0;
  display: flex;
  gap: 1rem;
  align-items: center;
}

.profile-pic {
  border-radius: 50%;
  inline-size: 1.75rem;
  block-size: 1.75rem;
}

.purple-border {
  border: 2px solid var(--mild-purple);
}

.grid-wrapper {
  margin: auto;
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1.5rem;
  column-gap: 1.875rem;
}

/* 33.25rem = 532px assuming 1rem = 16px */
@media (min-width: 33.25rem) {
  .grid-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }

  .item1,
  .item4,
  .item5 {
    grid-column: 1 / 3;
  }
}

/* 48rem = 768px assuming 1rem = 16px */
@media (min-width: 48rem) {
  .grid-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }

  .item4 {
    grid-column: 2/4;
  }
  .item5 {
    grid-column: 1/4;
  }
}

/* 65.5rem = 1048px assuming 1rem=16px */
@media (min-width: 65.5rem) {
  .grid-wrapper {
    grid-template-columns: repeat(4, 1fr);
    max-inline-size: 69.375rem;
  }

  .item5 {
    grid-row: 1/3;
    grid-column: 4/5;
  }
}
