@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
:root {
  /* Primary Colors */
  --red: hsl(0, 78%, 62%);
  --cyan: hsl(180, 62%, 55%);
  --orange: hsl(34, 97%, 64%);
  --blue: hsl(212, 86%, 64%);

  /* Neutral Colors */
  --very-dark-blue: hsl(234, 12%, 34%);
  --grayish-blue: hsl(229, 6%, 66%);
  --very-light-gray: hsl(0, 0%, 98%);
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: "Poppins", sans-serif;
  background-color: var(--very-light-gray);
  color: var(--grayish-blue);
  height: 100vh;
  padding: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.heading__light {
  font-weight: 200;
  font-size: 2rem;
}
.heading__bold {
  font-weight: 600;
  color: var(--very-dark-blue);
}
.card__heading {
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--very-dark-blue);
}
.heading__details {
  margin-top: 1rem;
  max-width: 55ch;
}
.cards {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.cards__column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.5rem;
}
.card {
  padding: 2rem;
  border-radius: 5px;
  box-shadow: 5px 5px 15px var(--grayish-blue);
  max-width: 20rem;
}
.card__details {
  font-size: 0.8rem;
  margin-top: 0.8rem;
}
.card__photo {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
}
.card__photo img {
  height: 3rem;
}
.cyan__border {
  border-top: 3px solid var(--cyan);
}
.red__border {
  border-top: 3px solid var(--red);
}
.orange__border {
  border-top: 3px solid var(--orange);
}
.blue__border {
  border-top: 3px solid var(--blue);
}
@media only screen and (max-width: 375px) {
  body {
    padding: 3rem 2rem;
    height: auto;
  }
  .heading__light,
  .heading__bold {
    font-size: 1.4rem;
  }
  .heading__details {
    margin-top: 0.6rem;
    font-size: 0.8rem;
  }
  .card__heading {
    font-size: 0.8rem;
  }
  .card__details {
    font-size: 0.6rem;
    margin-top: 0.6rem;
  }
  .cards {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
@media only screen and (max-width: 600px) {
  body {
    padding: 3rem 2rem;
    height: auto;
  }
  .heading__light,
  .heading__bold {
    font-size: 1.6rem;
  }
  .heading__details {
    margin-top: 0.8rem;
    font-size: 0.9rem;
  }
  .card__heading {
    font-size: 0.9rem;
  }
  .card__details {
    font-size: 0.8rem;
    margin-top: 0.8rem;
  }
  .cards {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
}
