:root {
  /* Layout */
  --mobile-width: 375px;
  --desktop-width: 1440px;

  /* Colors - Primary */
  --purple-50: hsl(260, 100%, 95%);
  --purple-300: hsl(264, 82%, 80%);
  --purple-500: hsl(263, 55%, 52%);

  /* Colors - Neutral */
  --white: hsl(0, 0%, 100%);
  --grey-100: hsl(214, 17%, 92%);
  --grey-200: hsl(0, 0%, 81%);
  --grey-400: hsl(224, 10%, 45%);
  --grey-500: hsl(217, 19%, 35%);
  --dark-blue: hsl(219, 29%, 14%);
  --black: hsl(0, 0%, 7%);

  /* Typography */
  --body-font-size: 13px;
  --font-family: "Barlow Semi Condensed", sans-serif;
  --font-weight-regular: 500;
  --font-weight-semibold: 600;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-size: var(--body-font-size);
  min-height: 100vh;
  font-family: var(--font-family);
  background-color: var(--grey-100);
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

.main-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  max-width: var(--desktop-width);
  width: 100%;
  gap: 2rem;

  & .card:nth-of-type(1) {
    grid-column: 1/3;
  }
  & .card:nth-of-type(2) {
    grid-column: 3/4;
  }
  & .card:nth-of-type(3) {
    grid-column: 1;
    grid-row: 2/3;
  }
  & .card:nth-of-type(4) {
    grid-column: 2/4;
  }
  & .card:nth-of-type(5) {
    grid-column: 4/5;
    grid-row: 1/3;
  }
}

.header {
  display: flex;
  gap: 10px;
  align-items: center;

  & img {
    display: block;
    height: 40px;
    width: 40px;
    max-width: 100%;
    border: 3px solid var(--purple-300);
    border-radius: 50%;
  }
}

.name-section p {
  opacity: 70%;
}

.description-content {
  h3 {
    margin-bottom: 10px;
  }

  p {
    opacity: 70%;
  }
}

.card {
  background-color: var(--white);
  padding: 1.5rem;
  border: none;
  border-radius: 10px;
  box-shadow: rgb(38, 57, 77) 0px 10px 20px -10px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.bg-purple {
  background: url(/images/bg-pattern-quotation.svg);
  background-repeat: no-repeat;
  background-color: var(--purple-500);
  background-position: top right 3rem;
  color: var(--white);
}

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

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

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

@media (max-width: 768px) {
  .main-container {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(9, 1fr);
    width: 100%;

    & .card:nth-of-type(1) {
      grid-column: 1;
      grid-row: 1/3;
    }
    & .card:nth-of-type(2) {
      grid-column: 1;
      grid-row: 3/4;
    }
    & .card:nth-of-type(3) {
      grid-column: 1;
      grid-row: 4/5;
    }
    & .card:nth-of-type(4) {
      grid-column: 1;
      grid-row: 5/7;
    }
    & .card:nth-of-type(5) {
      grid-column: 1;
      grid-row: 7/9;
    }
  }
}
