main{ max-width:1080px; }
  h2{ font-size:clamp(1.6rem, 3.5vw, 2rem); margin:0 0 1rem; }
  h3{
    font-family:"Work Sans", sans-serif; font-weight:700;
    color:var(--heading); line-height:1.15;
  }
  .eyebrow{
    display:block; font-size:.85rem; font-weight:700; letter-spacing:.12em;
    text-transform:uppercase; color:var(--text); opacity:.7; margin-bottom:.4rem;
  }

  /* ── Team ── */
  .team-section{ margin-bottom:1rem; }
  .team-intro{ max-width:720px; margin:0 0 2rem; }
  .team-bereich{ margin-bottom:3rem; }
  .team-bereich h3{ font-size:1.4rem; margin-bottom:1.25rem; }
  .team-grid{
    display:grid; gap:1.5rem;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  }
  .person-card{
    background:var(--card); border-radius:14px;
    padding:1.75rem 1.25rem; text-align:center;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
  }
  .person-photo, .person-avatar{
    width:88px; height:88px; border-radius:50%;
    margin:0 auto 1rem;
    display:flex; align-items:center; justify-content:center;
    overflow:hidden; flex:none;
  }
  .person-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .person-avatar{
    background:var(--heading); color:#fff;
    font-family:"Work Sans", sans-serif; font-size:1.6rem; font-weight:700;
  }
  .person-card h3{ font-size:1.1rem; margin-bottom:.3rem; }
  .person-position{
    font-size:.85rem; font-weight:600;
    color:var(--heading); opacity:.85;
    margin-bottom:.5rem;
  }
  .person-card a{
    display:block; font-size:.9rem; margin-top:.25rem;
    word-break:break-word;
  }
  .person-card .kontakt-icon{
    width:1em; height:1em; margin-right:.45em; vertical-align:-.12em;
    fill:none; stroke:currentColor; stroke-width:2;
    stroke-linecap:round; stroke-linejoin:round;
  }
  .team-empty{
    text-align:center; opacity:.75;
    max-width:520px; margin:0 auto;
  }
