/* ==========================================================================
   Team – „Menschen hinter GLE" (50/50) mit CTA zum Formular
   ========================================================================== */

.section--team{ background:#fff; color:var(--ci-dark); }

/* Grid: mobil 1 Spalte (Bild zuerst), ab 980px 50/50 */
.team-grid{
  display:grid; grid-template-columns:1fr;
  gap:clamp(1.75rem,4vw,3rem); align-items:center;
}
@media (min-width:980px){
  .team-grid{ grid-template-columns:0.95fr 1.05fr; }
}

/* ---- Bild ---------------------------------------------------------------- */
.team-figure{ position:relative; margin:0; max-width:520px; width:100%; justify-self:center; }
@media (min-width:980px){ .team-figure{ justify-self:start; } }

/* Dezenter grüner Glow hinter dem Bild */
.team-figure::before{
  content:""; position:absolute; z-index:0;
  left:-7%; top:-7%; width:60%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--ci-primary) 38%, transparent) 0%, transparent 70%);
  filter:blur(8px); pointer-events:none;
}

.team-figure__frame{
  position:relative; z-index:1;
  aspect-ratio:1/1; border-radius:var(--radius-xl); overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.team-figure__frame img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; display:block;
}

/* Badge „Inhabergeführt" */
.team-figure__badge{
  position:absolute; z-index:2;
  left:clamp(.7rem,2vw,1rem); bottom:clamp(.7rem,2vw,1rem);
  display:inline-flex; align-items:center; gap:.45rem;
  background:linear-gradient(135deg, var(--ci-primary) 0%, var(--ci-primary-700) 100%);
  color:#fff; font-weight:700; font-size:.82rem; line-height:1;
  padding:.55rem .85rem; border-radius:999px;
  box-shadow:var(--shadow-md);
}
.team-figure__badge i{ font-size:.85rem; }

.team-figure__caption{
  margin-top:.7rem; text-align:center; font-size:.88rem; font-weight:600;
  color:color-mix(in srgb, var(--ci-dark) 62%, transparent);
}
@media (min-width:980px){ .team-figure__caption{ text-align:left; } }

/* ---- Inhalt -------------------------------------------------------------- */
.team-eyebrow{
  display:inline-flex; align-items:center; gap:.5rem;
  margin:0 0 .65rem; color:var(--ci-primary-700);
  font-family:var(--font-accent); font-weight:700;
  text-transform:uppercase; letter-spacing:.05em; font-size:.8rem;
}
.team-title{
  font-family:var(--font-accent); font-weight:800;
  font-size:clamp(1.5rem,3.4vw,2.25rem); line-height:1.15;
  margin:0 0 var(--space-4);
}
.team-lead{
  margin:0 0 var(--space-6); line-height:1.65; max-width:60ch;
  color:color-mix(in srgb, var(--ci-dark) 85%, transparent);
}

.team-points{ list-style:none; margin:0 0 var(--space-6); padding:0; display:grid; gap:.75rem; }
.team-points li{
  display:grid; grid-template-columns:auto 1fr; align-items:center; gap:.8rem;
  font-weight:600; line-height:1.45;
}
.team-points__icon{
  width:2.4rem; height:2.4rem; flex:0 0 auto;
  display:grid; place-items:center; border-radius:50%;
  background:color-mix(in srgb, var(--ci-primary) 14%, #fff);
  color:var(--ci-primary-700); font-size:1rem;
}

.team-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 1.1rem; }
.team-cta__hint{
  font-size:.9rem; line-height:1.4;
  color:color-mix(in srgb, var(--ci-dark) 62%, transparent);
}

/* Reduced motion: keine Skalierung/Glow-Bewegung (Glow ist statisch, hier nur Absicherung) */
@media (prefers-reduced-motion: reduce){
  .team-figure::before{ filter:none; }
}
