.downloads {
  display: grid;
  position: relative;
}

.downloads__container {
  display: grid;
  font-size: var(--font-size-small);
  gap: 3.7em;
  margin-bottom: 3.7em;
  margin-top: 3.7em;
}

.downloads__group {
  display: grid;
  gap: var(--line-height);
  grid-template-columns: repeat(auto-fit, minmax(14em, 1fr));
}

.downloads__group h2 {
  grid-column: 1 / -1;
  font-size: var(--font-size-xxx-large);
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.2;
  margin-bottom: -0.3em;
}

.downloads__group a {
  background: var(--color-white);
  border-radius: 0.3em;
  box-shadow:
    0 0 0 1px rgba(var(--rgb-black), 0.03),
    0 0.2em 1.6em -0.8em rgba(var(--rgb-black), 0.1),
    0 0.4em 2.4em -1.2em rgba(var(--rgb-black), 0.1),
    0 0.4em 0.8em -1.2em rgba(var(--rgb-black), 0.2),
    0 0.8em 1.2em -1.6em rgba(var(--rgb-black), 0.2),
    0 1.2em 1.6em -2.0em rgba(var(--rgb-black), 0.3)
  ;
  display: grid;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}

.downloads__group a figure {
  background: rgba(var(--rgb-black), 0.05);
}

.downloads__group a figure figcaption {
  align-items: center;
  background: var(--color-white);
  color: var(--color-black);
  display: flex;
  font-size: 72.5%;
  justify-content: space-between;
  padding: 1em 1em 1em 1.3em;
}

.downloads__group a figure figcaption span {
  background: rgba(var(--rgb-black), 0.05);
  border: 1px solid rgba(var(--rgb-black), 0.1);
  border-radius: 0.275em;
  font-family: var(--font-family-mono);
  font-size: 85%;
  font-weight: 700;
  padding: 0.125em 0.425em;
  text-transform: uppercase;
}

@media(min-width: 64em) and (hover: hover) and (pointer: fine) {

  .downloads {
    margin-left: 2.8ch;
    margin-right: 2.8ch;
  }

  .downloads__group {
    gap: calc(var(--line-height) * 1.5);
    grid-template-columns: repeat(auto-fit, minmax(15em, 1fr));
  }

}
