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-border-radius: none;

  display: flex;
  flex-wrap: wrap;
  flex: 0 1 100%;
  gap: var(--element-gap);
  width: 100%;

  > figure {
    align-self: baseline;
    background: var(--element-background);
    padding: var(--element-padding);
    border-radius: var(--element-border-radius);
    display: flex;
    flex-direction: column;
    gap: var(--element-gap-inner);
    width: fit-content;
    max-width: 38ch;
    word-break: break-word;
    position: relative;
    overflow: hidden;

    &[data-icon]:not([data-icon = '']) {
      &:before {
        content: attr(data-icon);
        position: absolute;
        background: var(--element-background);
        background-clip: text;
        filter: contrast(110%);
        color: transparent;
        top: .35ex;
        right: 0;
        font-size: 3.2em;
      }

      > h3 {
        padding-right: 2em;
      }
    }

    > * {
      position: relative;
    }

    &:nth-child(4n + 1) > h3 {
      font-stretch: ultra-condensed;
      font-size: 240%;
    }

    &:nth-child(4n + 2) > h3 {
      font-stretch: semi-expanded;
      font-weight: bold;
      font-size: 160%;
    }

    &:nth-child(4n + 3) > h3 {
      font-stretch: ultra-expanded;
      font-size: 160%;
    }

    &:nth-child(4n + 4) > h3 {
      font-stretch: condensed;
      font-size: 200%;
    }

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

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