/* ==========================================================================
   Aufwind – Team: Haltung, Personen mit gestalteten Platzhalter-Porträts
   ========================================================================== */

.wind__a { stroke: var(--farbe-mint-300); stroke-width: 22; }
.wind__b { stroke: var(--farbe-salbei-200); stroke-width: 14; }
.wind__weiss { stroke: var(--farbe-weiss); stroke-width: 12; opacity: 0.55; }

.seitenkopf__bild {
  width: min(100%, 28rem);
  aspect-ratio: 4 / 3;
  justify-self: center;
  box-shadow: var(--schatten-l);
}

@container seite (min-width: 56rem) {
  .seitenkopf__bild {
    justify-self: end;
  }
}

/* --- Haltung als große Typo ------------------------------------------------- */
.haltung__liste {
  display: grid;
  gap: var(--abstand-3);
  padding: 0;
  list-style: none;
}

.haltung__liste li {
  display: flex;
  align-items: baseline;
  gap: var(--abstand-4);
  padding-block: var(--abstand-4);
  border-bottom: 2px dashed var(--farbe-salbei-200);
  color: var(--farbe-petrol-900);
  font-family: var(--schrift-titel);
  font-size: var(--text-2xl);
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.haltung__liste span {
  flex: none;
  color: var(--farbe-koralle-700);
  font-size: var(--text-m);
  font-variant-numeric: tabular-nums;
}

/* --- Team-Raster ----------------------------------------------------------- */
.team {
  display: grid;
  gap: var(--abstand-5);
  padding: 0;
  list-style: none;
}

.person {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--abstand-5);
  align-items: start;
  padding: var(--abstand-5);
  border-radius: var(--radius-l);
  background: var(--farbe-flaeche);
  box-shadow: var(--schatten-s);
}

.person__text {
  display: grid;
  gap: var(--abstand-3);
  min-width: 0;
}

.person h3 {
  font-size: var(--text-xl);
}

.person__rolle {
  color: var(--farbe-text-leise);
  font-size: var(--text-s);
  font-weight: 700;
}

.person__satz {
  color: var(--farbe-petrol-900);
  font-size: var(--text-s);
}

.person__sprachen {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--farbe-text-leise);
  font-size: var(--text-s);
}

/* Platzhalter-Porträt: organische Form mit Monogramm (bis echte Teamfotos vorliegen) */
.portraet {
  position: relative;
  display: grid;
  place-items: center;
  width: clamp(5rem, 4rem + 4vw, 7.5rem);
  aspect-ratio: 1;
  border-radius: var(--form-blob);
  background: var(--portraet-grund, var(--farbe-mint-200));
  color: var(--farbe-petrol-900);
  font-family: var(--schrift-titel);
  font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  overflow: hidden;
  isolation: isolate;
}

.portraet::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -20%;
  bottom: -30%;
  width: 90%;
  height: 90%;
  border-radius: var(--form-blob-2);
  background: var(--portraet-akzent, var(--farbe-mint-300));
}

.person:nth-child(even) .portraet {
  border-radius: var(--form-blob-2);
}

.portraet--mint { --portraet-grund: var(--farbe-mint-200); --portraet-akzent: var(--farbe-mint-300); }
.portraet--koralle { --portraet-grund: var(--farbe-koralle-100); --portraet-akzent: var(--farbe-koralle-200); }
.portraet--salbei { --portraet-grund: var(--farbe-salbei-100); --portraet-akzent: var(--farbe-salbei-200); }
.portraet--sand { --portraet-grund: var(--farbe-sand); --portraet-akzent: var(--farbe-sand-200); }
.portraet--petrol { --portraet-grund: var(--farbe-petrol-800); --portraet-akzent: var(--farbe-petrol-700); color: var(--farbe-weiss); }

@container seite (max-width: 26rem) {
  .person {
    grid-template-columns: 1fr;
  }
}

@container seite (min-width: 52rem) {
  .team {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@container seite (min-width: 80rem) {
  .team {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .person {
    grid-template-columns: 1fr;
  }

  .team .person:nth-child(4n + 2),
  .team .person:nth-child(4n + 4) {
    margin-top: var(--abstand-6);
  }
}

.team__empfang {
  max-width: 48rem;
  margin-top: var(--abstand-7);
}

/* --- Mitarbeit ----------------------------------------------------------------- */
.jobs {
  display: grid;
  gap: var(--abstand-5);
  align-items: end;
}

.jobs h2 {
  font-size: var(--text-2xl);
}

.jobs p {
  max-width: 44rem;
  margin-top: var(--abstand-3);
}

.jobs .knopf {
  justify-self: start;
}

.jobs__wind {
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  width: min(60%, 28rem);
  height: auto;
}

@container seite (min-width: 56rem) {
  .jobs {
    grid-template-columns: 1fr auto;
  }
}
