/**
 * ueber-uns.css — Friedrich & Weiß Gebäudedienste GbR
 * Seitenspezifische Styles: /ueber-uns
 * Agent-01 (Website-Developer) + Agent-09 (UI/UX)
 */

/* ─────────────────────────────────────────
   GRÜNDUNGSGESCHICHTE
   ───────────────────────────────────────── */

.ue-gruendung {
  display: grid;
  gap: var(--fw-raum-2xl);
  align-items: start;
}

@media (min-width: 1024px) {
  .ue-gruendung {
    grid-template-columns: 2fr 1fr;
    align-items: center;
  }
}

.ue-gruendung__text h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  color: var(--fw-night);
  margin-block: var(--fw-raum-sm) var(--fw-raum-lg);
}

.ue-gruendung__text p {
  color: var(--fw-ash);
  line-height: 1.8;
  margin-block-end: var(--fw-raum-md);
  font-size: var(--fw-text-lg);
}

.ue-gruendung__fakten {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--fw-raum-md);
}

.ue-fakt {
  padding: var(--fw-raum-lg);
  background: var(--fw-white);
  border-radius: var(--fw-radius-md);
  border: 1px solid var(--fw-off-white);
  border-block-start: 3px solid var(--fw-ice);
  text-align: center;
}

.ue-fakt__zahl {
  display: block;
  font-family: var(--fw-serif);
  font-size: 2.5rem;
  color: var(--fw-ice);
  font-weight: 300;
  line-height: 1;
  margin-block-end: var(--fw-raum-xs);
}

.ue-fakt__label {
  font-size: var(--fw-text-xs);
  color: var(--fw-ash);
  font-family: var(--fw-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* ─────────────────────────────────────────
   PERSONEN
   ───────────────────────────────────────── */

.ue-person {
  display: grid;
  gap: var(--fw-raum-2xl);
  padding: var(--fw-raum-2xl);
  background: var(--fw-navy);
  border-radius: var(--fw-radius-xl);
  margin-block-end: var(--fw-raum-xl);
  border: 1px solid var(--fw-navy-mid);
}

@media (min-width: 768px) {
  .ue-person {
    grid-template-columns: auto 1fr;
    align-items: start;
  }

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

  .ue-person--umgekehrt .ue-person__foto-wrapper {
    order: 2;
  }

  .ue-person--umgekehrt .ue-person__inhalt {
    order: 1;
  }
}

.ue-person__foto-wrapper {
  display: flex;
  justify-content: center;
}

.ue-person__foto-placeholder {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--fw-navy-mid), var(--fw-night));
  border: 3px solid color-mix(in srgb, var(--fw-ice) 30%, transparent);
  color: var(--fw-ice);
  font-family: var(--fw-serif);
  font-size: 2.5rem;
  font-weight: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* Echtes Foto (wenn vorhanden) */
.ue-person__foto {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center top;
  border: 3px solid color-mix(in srgb, var(--fw-ice) 30%, transparent);
  flex-shrink: 0;
  display: block;
}

@media (min-width: 768px) {
  .ue-person__foto-placeholder,
  .ue-person__foto {
    width: 160px;
    height: 160px;
  }
}

.ue-person__kopf {
  margin-block-end: var(--fw-raum-md);
}

.ue-person__kopf h3 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--fw-white);
  margin-block-end: var(--fw-raum-xs);
}

.ue-person__rolle {
  color: var(--fw-ice);
}

.ue-person__einleitung {
  color: var(--fw-mist);
  line-height: 1.7;
  font-size: var(--fw-text-base);
  margin-block-end: var(--fw-raum-lg);
  max-width: 65ch;
}

.ue-person__badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--fw-raum-xs);
  margin-block-end: var(--fw-raum-xl);
}

/* Werdegang */
.ue-person__werdegang {
  border-block-start: 1px solid var(--fw-navy-mid);
  padding-block-start: var(--fw-raum-xl);
}

.ue-person__werdegang-titel {
  color: var(--fw-ash);
  margin-block-end: var(--fw-raum-lg);
}

.ue-werdegang-liste {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding-inline-start: var(--fw-raum-lg);
}

.ue-werdegang-liste::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  inset-block: 0;
  width: 2px;
  background: linear-gradient(to bottom, var(--fw-ice), var(--fw-navy-mid));
}

.ue-werdegang-eintrag {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--fw-raum-xs);
  align-items: start;
  padding-block: var(--fw-raum-md);
  border-block-end: 1px solid var(--fw-navy-mid);
  position: relative;
}

@media (min-width: 641px) {
  .ue-werdegang-eintrag {
    grid-template-columns: 9rem 1fr;
    gap: var(--fw-raum-md);
  }
}

.ue-werdegang-eintrag:last-child {
  border-block-end: none;
}

.ue-werdegang-eintrag::before {
  content: '';
  position: absolute;
  inset-inline-start: calc(-1 * var(--fw-raum-lg) - 4px);
  inset-block-start: calc(var(--fw-raum-md) + 0.4em);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--fw-navy-mid);
  border: 2px solid var(--fw-navy-mid);
}

.ue-werdegang-eintrag--aktuell::before {
  background: var(--fw-ice);
  border-color: var(--fw-ice);
}



.ue-werdegang-eintrag__zeitraum {
  font-family: var(--fw-mono);
  font-size: var(--fw-text-xs);
  color: var(--fw-ice);
  padding-block-start: 0.2em;
  white-space: nowrap;
}

.ue-werdegang-eintrag__stelle {
  display: flex;
  flex-direction: column;
  gap: var(--fw-raum-xs);
}

.ue-werdegang-eintrag__stelle strong {
  color: var(--fw-white);
  font-size: var(--fw-text-sm);
}

.ue-werdegang-eintrag__stelle span {
  color: var(--fw-mist);
  font-size: var(--fw-text-xs);
}

/* Zuständigkeiten Selina */
.ue-person__zustaendigkeit {
  border-block-start: 1px solid var(--fw-navy-mid);
  padding-block-start: var(--fw-raum-xl);
}

/* ─────────────────────────────────────────
   WERTE
   ───────────────────────────────────────── */

.ue-werte {
  display: grid;
  gap: var(--fw-raum-lg);
}

@media (min-width: 640px) {
  .ue-werte {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .ue-werte {
    grid-template-columns: repeat(3, 1fr);
  }
}

.ue-wert {
  padding: var(--fw-raum-xl);
  background: color-mix(in srgb, var(--fw-navy-mid) 30%, var(--fw-navy));
  border-radius: var(--fw-radius-md);
  border-block-start: 2px solid var(--fw-ice);
}

.ue-wert__nummer {
  color: var(--fw-ice);
  display: block;
  margin-block-end: var(--fw-raum-md);
}

.ue-wert h3 {
  font-size: var(--fw-text-lg);
  color: var(--fw-white);
  margin-block-end: var(--fw-raum-sm);
}

.ue-wert p {
  color: var(--fw-mist);
  font-size: var(--fw-text-sm);
  line-height: 1.7;
  margin: 0;
}

/* ─────────────────────────────────────────
   VISION & LEITMOTIV
   ───────────────────────────────────────── */

.ue-vision {
  display: grid;
  gap: var(--fw-raum-2xl);
  align-items: start;
}

@media (min-width: 1024px) {
  .ue-vision {
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }
}

.ue-leitmotiv__zitat {
  margin-block: var(--fw-raum-md);
  padding: var(--fw-raum-xl);
  background: var(--fw-night);
  border-radius: var(--fw-radius-lg);
  border-inline-start: 4px solid var(--fw-ice);
}

.ue-leitmotiv__zitat p {
  font-family: var(--fw-serif);
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  color: var(--fw-crystal);
  font-style: italic;
  font-weight: 300;
  margin-block-end: var(--fw-raum-md);
  line-height: 1.3;
}

.ue-leitmotiv__zitat cite {
  font-style: normal;
  font-size: var(--fw-text-sm);
  color: var(--fw-ash);
  font-family: var(--fw-mono);
}

.ue-leitmotiv__erklaerung {
  color: var(--fw-ash);
  font-size: var(--fw-text-base);
  line-height: 1.7;
  margin: 0;
}

.ue-vision-inhalt h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  color: var(--fw-night);
  margin-block: var(--fw-raum-sm) var(--fw-raum-lg);
}

/* ─────────────────────────────────────────
   CTA
   ───────────────────────────────────────── */

.ue-cta {
  text-align: center;
  max-width: 56rem;
  margin-inline: auto;
  padding: var(--fw-raum-3xl);
  background: var(--fw-navy);
  border-radius: var(--fw-radius-xl);
  border: 1px solid var(--fw-navy-mid);
}

.ue-cta h2 {
  font-size: clamp(1.75rem, 4vw, 3rem);
  color: var(--fw-white);
  margin-block-end: var(--fw-raum-md);
}

.ue-cta > p {
  color: var(--fw-mist);
  font-size: var(--fw-text-lg);
  line-height: 1.7;
  margin-block-end: var(--fw-raum-xl);
  max-width: 55ch;
  margin-inline: auto;
}

.ue-cta__aktionen {
  display: flex;
  flex-wrap: wrap;
  gap: var(--fw-raum-sm);
  justify-content: center;
}
