.team-placeholder {
  display: grid;
  min-height: 28rem;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 16%, rgba(223, 183, 116, .42), transparent 24%),
    radial-gradient(circle at 20% 82%, rgba(154, 61, 82, .52), transparent 33%),
    linear-gradient(140deg, #2e2026, #6e3545 58%, #bd8a57);
}

.team-placeholder::before {
  position: absolute;
  inset: 1rem;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: inherit;
  content: '';
}

.team-placeholder .placeholder-content {
  z-index: 1;
  display: grid;
  gap: .75rem;
  place-items: center;
  color: #fff9f0;
  text-align: center;
}

.team-placeholder .placeholder-content b {
  display: grid;
  width: 5.5rem;
  height: 5.5rem;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 50%;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 2.6rem;
  font-weight: 400;
}

.team-placeholder .placeholder-content small {
  letter-spacing: .14em;
  text-transform: uppercase;
}

.team-photo .team-number {
  position: absolute;
  right: 1.2rem;
  bottom: 1.1rem;
  z-index: 2;
  color: #fff;
  font-size: .75rem;
  letter-spacing: .16em;
}

.team-hero .wrap {
  max-width: 780px;
  text-align: center;
}

.team-hero h1 { margin-inline: auto; }

.home-team-full { padding-top: 9rem; background: #f6f1e9; }
.home-team-full-copy { max-width: 760px; padding-bottom: 3.6rem; text-align: center; }
.home-team-full-copy h2 { margin: 0 auto 1rem; color: var(--wine-v2); font-size: clamp(3.3rem, 6vw, 6.8rem); letter-spacing: -.06em; }
.home-team-full-copy > p:not(.eyebrow) { margin: 0 auto 1.5rem; color: #706365; font-size: 1.06rem; }
.home-team-full-media { position: relative; overflow: hidden; background: #4e1025; }
.home-team-full-media img { display: block; width: 100%; min-height: 28rem; object-fit: cover; object-position: center 30%; will-change: transform; }

.team-page .team-grid { grid-template-columns: repeat(3, 1fr); gap: 4.5rem 1.4rem; padding-bottom: 5.5rem; }
.team-page .team-photo { height: 31rem; }
.team-opening { background: repeating-linear-gradient(90deg, #5a0713 0, #8e0b1c 8%, #c51728 16%, #850816 26%, #4d0610 34%, #a50e20 45%, #690712 56%); }
.team-opening::before { border-color: rgba(255, 235, 220, .28); background: linear-gradient(90deg, rgba(20,0,5,.5), transparent 45%, rgba(20,0,5,.45)); }
.candidate-icon { display: grid; width: 12rem; height: 15rem; place-items: center; }
.candidate-icon svg { width: 11rem; height: 14rem; fill: rgba(9, 5, 7, .92); stroke: rgba(0, 0, 0, .8); stroke-width: 1.5; filter: drop-shadow(0 15px 16px rgba(0,0,0,.45)); }
.team-apply { display: inline-flex; gap: .5rem; margin-top: 1.05rem; padding-bottom: .2rem; border-bottom: 1px solid var(--gold-v2); color: var(--wine-v2); font-size: .82rem; font-weight: 800; }
.team-join, .team-cta { margin-bottom: 2rem; padding: clamp(2.2rem, 5vw, 4.5rem); background: #4e1025; color: #fff; text-align: center; }
.team-join h2, .team-cta h2 { margin: .5rem auto 1.15rem; max-width: 760px; font-size: clamp(2.25rem, 4.6vw, 4.8rem); }
.team-join > p:not(.eyebrow) { max-width: 590px; margin: 0 auto 1.7rem; color: #eadde0; }
.button-primary { background: var(--gold-v2); color: #25130c; }

/* Das Gruppenfoto wird vollständig gezeigt, ohne Teammitglieder abzuschneiden. */
.home-team-images .team-group-photo {
  display: block;
  height: auto;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: #4e1025;
}

.home-team-images:has(.team-group-photo:only-child) {
  display: block;
}

@media (max-width: 720px) {
  .home-team-full { padding-top: 5.7rem; }
  .home-team-full-copy { padding-bottom: 2.6rem; }
  .home-team-full-media img { min-height: 0; }
  .home-team-images .team-group-photo {
    height: auto;
  }

  .team-page .team-grid { grid-template-columns: 1fr; gap: 3rem; padding-bottom: 4rem; }
  .team-page .team-photo { height: 29rem; }
  .team-join, .team-cta { margin-bottom: 1rem; padding: 2.7rem 1.5rem; }
}

@media (min-width: 721px) and (max-width: 980px) {
  .team-page .team-grid { grid-template-columns: repeat(2, 1fr); }
}
