:root {
  --clr-primary-200: #f3eed9;
  --clr-primary-400: red;

  --clr-neutral-100: #fff;
  --clr-neutral-900: #222c2a;

  --ff-primary: "Roboto", sans-serif;
  --ff-accent: "Playfair Display", serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: var(--ff-primary);
  font-weight: 400;
  font-size: 1.3125rem;
  line-height: 1.6;
  background-image: url("abc");
}

body,
h1,
h2,
h3,
p {
  margin: 0;
}

h1,
h2,
h3 {
  color: var(--clr-primary-400);
  font-family: var(--ff-accent);
  font-weight: 900;
  line-height: 1;
}

h2,
h3,
p {
  margin-bottom: 1em;
}

img {
  display: block;
  max-width: 100%;
}

.text-center {
  text-align: center;
}

header,
section {
  padding: 4rem 0;
  @media (min-width: 40em) {
    header,
    section {
      padding: 7rem 0;
    }
  }
}

.container {
  margin-inline: auto;
  width: min(90%, 70.5rem);
}

.split {
  display: flex;
  flex-direction: column;
}

@media (min-width: 40em) {
  .split {
    flex-direction: row;
  }

  .split > * {
    flex-basis: 100%;
  }

  .split > * + * {
    margin-left: 2em;
  }
}

.container--narrow {
  max-width: 34rem;
}

.bg-light {
  background-color: var(--clr-primary-200);
}

.bg-primary {
  color: var(--clr-neutral-100);
  background-color: var(--clr-primary-400);
}

.bg-dark {
  color: var(--clr-neutral-100);
  background-color: var(--clr-neutral-900);
}

.bg-primary h2,
.bg-dark h2 {
  color: var(--clr-primary-200);
}
