:root {
  --color-white-100: hsl(206, 0%, 100%);
  --color-white-200: hsl(206, 0%, 90%);
  --color-white-300: hsl(206, 0%, 80%);
  --color-white-400: hsl(206, 0%, 65%);
  --color-white-500: hsl(206, 0%, 50%);

  --color-black-100: hsl(217, 30%, 18%);
  --color-black-200: hsl(217, 27%, 15%);
  --color-black-300: hsl(217, 27%, 12%);
  --color-black-400: hsl(217, 52%, 9%);

  --color-blue-100: hsl(215, 97%, 87%);
  --color-blue-200: hsl(215, 96%, 78%);
  --color-blue-300: hsl(215, 94%, 68%);
  --color-blue-400: hsl(215, 91%, 60%);
  --color-blue-500: hsl(215, 83%, 53%);
  --color-blue-600: hsl(215, 76%, 48%);

  --shadow-small: 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --shadow-medium: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-large: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

p {
  text-wrap: balance;
}


.sectionx {
  margin: 0 auto;
  padding: 5rem 0 2rem;
}

.containerx {
  max-width: 75rem;
  height: auto;
  margin: 0 auto;
  padding: 0 1.25rem;
}

.paragraphx {
  font-family: inherit;
  text-wrap: balance;
  color: inherit;
}

.btnx {
  display: inline-block;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  user-select: none;
  outline: none;
  border: none;
  border-radius: 0.25rem;
  text-transform: unset;
  transition: all 0.3s ease-in-out;

  &-inline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    column-gap: 0.5rem;
  }

  &-darken {
    padding: 0.75rem 2rem;
    color: var(--color-white-100);
    background-color: var(--color-black-200);
    box-shadow: var(--shadow-medium);

    .darkmode & {
      background-color: var(--color-blue-500);
    }
  }
}

.banner {
  &-column {
    position: relative;
    display: grid;
    align-items: center;
    row-gap: 2rem;

    @media only screen and (min-width: 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      justify-content: center;
      margin-top: 4rem;
    }

    @media only screen and (min-width: 64rem) {
      grid-template-columns: 1fr max-content;
      column-gap: 2rem;
    }
  }



    @media only screen and (min-width: 48rem) {
      order: 1;
      max-width: 28rem;
      height: auto;
    }

    @media only screen and (min-width: 64rem) {
      max-width: 33rem;
      height: auto;
    }
  }



.banner-image {
    display: block;
    max-width: 25rem;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    justify-self: center;
}
.banner-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    row-gap: 1.5rem;
  }
.banner-column {
    position: relative;
    display: grid;
    align-items: center;
    row-gap: 2rem;
}
