.books {
  display: grid;
  gap: var(--space-x-large);
  margin-left: var(--space-medium);
  margin-right: var(--space-medium);
  position: relative;
}

.books section {
  display: grid;
  gap: var(--space-neutral);
}

.books section figure {
  max-width: 16em;
}

.books section figure a img {
  border-radius: 0.2em;
  box-shadow:
    0 0 0 1px rgba(var(--rgb-black), 0.1),
    0 0 0.1em 0.02em rgba(var(--rgb-black), 0.05)
  ;
  overflow: hidden;
}

.books section article {
  align-content: center;
  display: grid;
  gap: var(--space-neutral);
}

.books section article h2 {
  font-size: var(--font-size-medium);
  font-weight: 700;
  letter-spacing: var(--letter-spacing-tight);
  line-height: 1.15;
  margin-bottom: -0.1875em;
  margin-top: -0.4375em;
}

.books section article h2 a {
  font-weight: inherit;
}

.books section article p {
  font-size: var(--font-size-x-small);
  letter-spacing: var(--letter-spacing);
  margin-bottom: -0.325em;
  margin-top: -0.5625em;
}

.books section article ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4em;
}

.books section article ul li a {
  background: var(--color-white);
  border-radius: 0.25em;
  box-shadow:
    0 0 0 1px rgba(var(--rgb-black), 0.1),
    0 0 0.1em 0.02em rgba(var(--rgb-black), 0.05)
  ;
  color: var(--color-black);
  display: flex;
  font-size: var(--font-size-xxx-small);
  font-weight: 600;
  letter-spacing: var(--letter-spacing);
  line-height: 1.4em;
  padding: 0.5625em 0.95em 0.65em 0.95em;
  text-decoration: none;
  user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  white-space: nowrap;
}



@media(hover: hover) {

  .books section figure a img {
    outline: 0.1em solid transparent;
    outline-offset: 0.24em;
    transition:
      outline-color var(--transition-slow),
      outline-offset var(--transition-slow)
    ;
  }

  .books section figure a:focus img,
  .books section figure a:hover img {
    outline-color: var(--color-black);
    outline-offset: 0.12em;
  }

  .books section article ul li a {
    transition: box-shadow var(--transition);
  }

  .books section article ul li a:focus,
  .books section article ul li a:hover {
    box-shadow:
      0 0 0 1px rgba(var(--rgb-black), 0.85),
      0 0 0.1em 0.02em rgba(var(--rgb-black), 0.05)
    ;
  }

}



@media(min-width: 64em) {

  .books {
    gap: var(--space-large);
    margin-left: var(--space-neutral);
    margin-right: var(--space-neutral);
  }

  .books section {
    grid-template-columns: repeat(12, 1fr);
  }

  .books section figure {
    grid-column: span 3;
    max-width: none;
  }

  .books section article {
    grid-column: span 8;
  }

  .books section article ul {
    gap: 0.6em;
  }

}
