.image {
  display: flex;
  flex-direction: column;
  gap: var(--space-medium);
  margin-inline: auto;
  padding-left: var(--space-medium);
  padding-right: var(--space-medium);
  position: relative;
  width: min(100%, 34em);
}

.image figure {
  display: grid;
  flex: 1;
}

.image figure 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;
}

.image figure figcaption {
  font-size: var(--font-size-xxx-small);
  font-weight: 600;
  letter-spacing: var(--letter-spacing);
  margin-bottom: -0.3em;
  margin-top: 0.625em;
  text-align: center;
}



.image--width-small {
  width: min(100%, 20em);
}



@media(hover: hover) {

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

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

}



@media(min-width: 64em) {

  .image {
    align-items: start;
    flex-direction: row;
    padding-left: var(--space-neutral);
    padding-right: var(--space-neutral);
  }

  .image--width-small {
    width: min(100%, 28em);
  }

}
