.node-teaser--project.node-teaser--horizontal .node-teaser__heading {
  font-size: var(--heading--font-size);
  color: var(--heading--color, var(--body--color, inherit));
  line-height: var(--heading--line-height, 1);
  font-weight: var(--heading--font-weight);
  text-transform: var(--heading--text-transform);
  transition: var(--heading--transition, all 200ms ease-in-out);
  margin-top: var(--heading--margin-top);
  margin-bottom: var(--heading--margin-bottom);
}

.node-teaser--project.node-teaser--horizontal .node-teaser__heading {
  --heading--font-size: var(--h2--font-size, clamp(1.5625rem, 1.26953125rem + 1.6276041667vw, 2.44140625rem));
  --heading--font-weight: var(--h2--font-weight);
}

.node-teaser--project.node-teaser--horizontal {
  position: relative;
}
.node-teaser--project.node-teaser--horizontal a {
  --a--color: var(--color);
  --a--color--active: var(--color);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.node-teaser--project.node-teaser--horizontal a::before, .node-teaser--project.node-teaser--horizontal a::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  transition: all 200ms ease-in-out;
}
.node-teaser--project.node-teaser--horizontal a::after {
  border-radius: var(--node-teaser--border-radius);
  opacity: 0.8;
  overflow: hidden;
  background-color: var(--node-teaser--bg-color, var(--bg-color));
}
.node-teaser--project.node-teaser--horizontal a::before {
  opacity: 0;
  background-color: var(--node-teaser--accent-bg-color);
}
.node-teaser--project.node-teaser--horizontal a:hover::before, .node-teaser--project.node-teaser--horizontal a:hover::after, .node-teaser--project.node-teaser--horizontal a:focus-visible::before, .node-teaser--project.node-teaser--horizontal a:focus-visible::after {
  opacity: 1;
}
.node-teaser--project.node-teaser--horizontal .node-teaser__header {
  grid-column: 2/-2;
  grid-row: 1/-1;
  align-self: center;
}
.node-teaser--project.node-teaser--horizontal .node-teaser__heading {
  text-indent: 2ch;
  position: relative;
  z-index: 1;
}
.node-teaser--project.node-teaser--horizontal .node-teaser__content {
  --img--width: 100%;
  grid-column: 1/-1;
  grid-row: 1/-1;
}
