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

::selection {
  background-color: #baad8c;
}

html {
  font-size: 62.5%;
}

body {
  background-color: #fae8c7;
  color: #212426;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, system-ui, sans-serif;
  font-size: 1.8rem;
  line-height: 1.6;
  margin: 0 auto;
  width: 95%;
  max-width: 72rem;
  padding: 1rem;
}

a {
  color: #ad3446;
}

a:hover {
  color: #7e2633;
}

h1 {
  font-size: 4rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.025em;
  margin: 0 0 2rem;
}

h2 {
  font-size: 2.5rem;
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.5;
  margin: 0 0 3rem;
}

p {
  margin: 0 0 1.5rem;
}

strong {
  font-weight: 800;
}

section {
  padding: 4rem 0;
}

main > section:first-child {
  padding: 8rem 0 6rem;
}

/* Product cards */
.product {
  background-color: rgba(255, 255, 255, 0.3);
  border: 1px solid rgba(33, 36, 38, 0.08);
  border-radius: 1rem;
  box-shadow: 0 2px 4px rgba(33, 36, 38, 0.06);
  padding: 2.5rem;
  margin-bottom: 2rem;
}

.product h3 {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -.025em;
  margin: 0 0 0.3rem;
}

.product span {
  display: block;
  font-size: 1.4rem;
  color: #888;
  margin-bottom: 0.8rem;
}

.product > a {
  font-size: 1.5rem;
  display: inline-block;
  margin-bottom: 1.2rem;
}

.product p {
  font-size: 1.5rem;
  margin: 0;
}

footer {
  padding: 4rem 0 3rem;
  border-top: 1px solid rgba(33, 36, 38, 0.1);
  text-align: center;
}

footer p {
  font-size: 1.3rem;
  color: #888;
  margin: 0 0 0.5rem;
}

@media (max-width: 600px) {
  h1 {
    font-size: 2.8rem;
  }
}
