svg.background polygon {
  stroke-width: 1;
}
svg.background polygon.geode {
  fill: var(--geode);
}
svg.background polygon.gem {
  fill: var(--gem);
}
svg.background polygon.gold {
  fill: var(--gold);
}
svg.background polygon.ivory {
  fill: var(--ivory);
}
.gallery {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2rem;
}
.gallery .piece {
  width: 300px;
  height: 300px;
  overflow: hidden;
  position: relative;
  clip-path: var(--bevel);
  padding: 1rem;
  background: var(--ivory);
  color: var(--noir);
}
.gallery .piece img {
  position: absolute;
  object-fit: cover;
  opacity: 0.75;
  top: 0;
  left: 0;
  min-height: 100%;
  transition: 0.2s;
  z-index: 1;
}
.gallery .piece .info {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.gallery .piece .info p a {
  color: var(--gem);
}
.gallery .piece .info p a:hover {
  color: var(--geode);
}
.gallery .piece .info .btn-link {
  position: absolute;
  bottom: 1rem;
}
.gallery .piece .piece-link {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}
.gallery .piece:hover img {
  opacity: 0.25;
  transition: 0.2s;
  z-index: -1;
}
.gallery .piece:hover .info p a {
  position: relative;
  z-index: 2;
  transition: 0.5s;
}
