.people-teaser {
  background: var(--color-light);

  color: var(--color-black);

  overflow: hidden;

  padding: clamp(4rem, 6vw, 7rem) 0;
}

.people-teaser-container {
  padding-right: clamp(1rem, 1.8vw, 2rem);

  padding-left: clamp(1rem, 1.8vw, 2rem);
}

.people-teaser-content {
  height: 100%;

  padding-right: clamp(0rem, 2vw, 2rem);
}

.people-teaser-subheadline {
  margin: 0 0 0.5rem;

  font-family: var(--font-headline);

  font-size: clamp(0.9rem, 1vw, 1.1rem);

  font-weight: 700;

  line-height: 1.1;

  text-transform: uppercase;

  color: var(--color-black);
}

.people-teaser-headline {
  margin: 0 0 clamp(1.6rem, 2vw, 2.4rem);

  text-transform: uppercase;
}

.people-teaser-text {
  max-width: 39rem;
}

.people-teaser-text p {
  margin-bottom: 1.25em;

  font-size: inherit;

  line-height: inherit;
}

.people-teaser-text p:last-child {
  margin-bottom: 0;
}

.people-teaser-grid {
  display: grid;

  gap: clamp(0.8rem, 1.2vw, 1.25rem);

  height: 100%;

  align-items: stretch;
}

.people-teaser-grid--1 {
  grid-template-columns: minmax(0, 1fr);
}

.people-teaser-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.people-teaser-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.people-teaser-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.people-teaser-card {
  display: flex;

  flex-direction: column;

  min-width: 0;

  height: 100%;
}

/* Klickbarer Bildbereich */

.people-teaser-image-link {
  display: flex;

  flex-direction: column;

  flex: 1 1 auto;

  width: 100%;

  min-height: 0;

  color: inherit;

  text-decoration: none;
}

.people-teaser-image-link:hover,
.people-teaser-image-link:focus-visible {
  color: inherit;

  text-decoration: none;
}

.people-teaser-image-wrap {
  position: relative;

  width: 100%;

  height: 100%;

  min-height: clamp(34rem, 42vw, 50rem);

  margin: 0;

  overflow: hidden;

  background: #ddd;

  flex: 1 1 auto;
}

.people-teaser-grid--3 .people-teaser-image-wrap,
.people-teaser-grid--4 .people-teaser-image-wrap {
  min-height: clamp(28rem, 34vw, 42rem);
}

.people-teaser-image {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  filter: grayscale(1);

  transform: scale(1);

  transition:
    filter 0.55s ease,
    transform 0.7s ease;
}

/* Hover weiterhin auf gesamter Card */

.people-teaser-card:hover .people-teaser-image,
.people-teaser-card:focus-within .people-teaser-image {
  filter: grayscale(0);

  transform: scale(1.04);
}

.people-teaser-card-overlay {
  position: absolute;

  inset: auto 0 0;

  z-index: 2;

  padding: clamp(1rem, 1.7vw, 2rem);

  background: linear-gradient(
    180deg,
    rgba(10, 9, 9, 0) 0%,

    rgba(10, 9, 9, 0.6) 100%
  );

  color: rgba(227, 222, 214, 0.9);

  pointer-events: none;

  text-align: center;
}

.people-teaser-card-title {
  margin: 0 0 0.35rem;

  font-family: var(--font-headline);

  font-size: clamp(3rem, 4.5vw, 6.6rem) !important;

  line-height: 0.9;

  text-transform: uppercase;
}

.people-teaser-grid--3 .people-teaser-card-title,
.people-teaser-grid--4 .people-teaser-card-title {
  font-size: clamp(2.1rem, 3vw, 4rem);
}

.people-teaser-card-role {
  margin: 0;

  color: var(--color-white);

  font-family: var(--font-headline);

  font-size: clamp(0.8rem, 0.9vw, 1.1rem);

  font-weight: 700;

  line-height: 1.1;

  text-transform: uppercase;
}

.people-teaser-card-action {
  display: flex;

  justify-content: center;

  margin-top: 1rem;
}

/* Wichtig:
   Button NICHT auf volle Breite ziehen */

.people-teaser-card-action .button-main {
  width: auto;
}

@media (max-width: 1199.98px) {
  .people-teaser-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .people-teaser-grid--4 .people-teaser-image-wrap {
    min-height: clamp(26rem, 45vw, 38rem);
  }
}

@media (max-width: 991.98px) {
  .people-teaser-grid,
  .people-teaser-grid--1,
  .people-teaser-grid--2,
  .people-teaser-grid--3,
  .people-teaser-grid--4 {
    grid-template-columns: 1fr;
  }

  .people-teaser-content {
    padding-right: 0;
  }

  .people-teaser-card {
    height: auto;
  }

  .people-teaser-image-link {
    height: auto;

    flex: none;
  }

  .people-teaser-image-wrap,
  .people-teaser-grid--3 .people-teaser-image-wrap,
  .people-teaser-grid--4 .people-teaser-image-wrap {
    height: auto;

    min-height: auto;

    aspect-ratio: 4 / 5;

    flex: none;
  }

  .people-teaser-card-title,
  .people-teaser-grid--3 .people-teaser-card-title,
  .people-teaser-grid--4 .people-teaser-card-title {
    font-size: clamp(3rem, 14vw, 5.5rem);
  }
}

@media (max-width: 575.98px) {
  .people-teaser-headline {
    font-size: clamp(3rem, 14vw, 4.9rem);
  }

  .people-teaser-text {
    font-size: 1.05rem;

    line-height: 1.3;
  }

  .people-teaser-card-action .button-main {
    max-width: 20rem;

    width: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .people-teaser-image {
    transition: none;
  }
}
