html > body > #grid .blocks {
  /** Required arguments with purportedly ridiculous defaults */
  --element-background: red;
  --element-gap: 200px;
  --element-gap-inner: 200px;
  --element-padding: 200px;

  /** Optional arguments with sensible defaults */
  --element-clip-path: none;
  --element-border-radius: none;

  display: grid;
  gap: var(--element-gap);
  width: 100%;
  grid-template-columns: repeat(auto-fill, minmax(20rem, auto));
  align-items: start;

  > figure {
    background: var(--element-background);
    padding: var(--element-padding);
    clip-path: var(--element-clip-path);
    border-radius: var(--element-border-radius);
    display: flex;
    flex-direction: column;
    gap: var(--element-gap-inner);
    word-break: break-word;

    > h3 {
      font-size: x-large;
    }

    > ul {
      font-size: smaller;
      font-style: italic;
    }

    > ul {
      display: flex;
      flex-wrap: wrap;
      gap: var(--element-gap-inner);
    }
  }
}
