.sem.cards > .rows {
  --sem-cards-gap: 1rem;
  --sem-cards-count: 3;
  --sem-cards-height: 180px;
  min-height: 2rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-auto-rows: max-content;
  gap: var(--sem-cards-gap);
}
.sem.cards > .rows > .sem.layout.item {
  position: relative;
  background: #fff;
  height: var(--sem-cards-height);
  display: inline-grid;
  grid-template-areas: "image" "header" "main" "footer";
  grid-template-columns: 1fr;
  grid-template-rows: 1fr max-content max-content max-content;
}
.sem.cards > .rows > .sem.layout.item > .sem.region.meta {
  display: contents;
}
.sem.cards > .rows > .sem.layout.item > .sem.region.meta > .entity-self-link {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
}
.sem.cards > .rows > .sem.layout.item > .sem.region.header {
  padding: 0.5em 1em;
}
.sem.cards > .rows > .sem.layout.item > .sem.region.footer {
  padding: 0.5em 1em;
}
.sem.cards > .rows > .sem.layout.item > .sem.region.main {
  padding: 0.5em 1em;
}
.sem.cards > .rows > .sem.layout.item > .sem.region.image {
  position: relative;
}
.sem.cards > .rows > .sem.layout.item > .sem.region.image img {
  position: absolute;
  object-fit: cover;
  object-position: center top;
  width: 100%;
  height: 100%;
}