/* Extracted from people.html — block 1. */
body {
      font-family: Georgia, "Times New Roman", Times, serif;
      color: #222;
      line-height: 1.6;
    }

    h1, h2, h3 {
      color: #1f2a44;
      font-weight: 600;
    }

    a {
      color: #1f2a44;
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
    }

    .gray-line {
      border-top: 1px solid #dddddd;
      margin-top: 6px;
      margin-bottom: 14px;
    }

    .justified-text {
      text-align: justify;
    }

    .social-row {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
    }

    /* ===== Right-side People styles (NEW) ===== */

    section {
      margin-left: 260px; /* 与现有 sidebar 精确对齐 */
    }

    .people-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: 18px;
      margin-top: 10px;
    }

    .person-card {
      border: 1px solid #dddddd;
      background: #fafafa;
      padding: 14px 16px;
      border-radius: 4px;
      transition: transform 0.15s ease, box-shadow 0.15s ease;
    }

    .person-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 10px rgba(0,0,0,0.06);
    }

    .person-name {
      font-size: 1.05em;
      font-weight: 600;
      color: #1f2a44;
    }

    .person-role {
      font-size: 0.95em;
      font-style: italic;
      margin-bottom: 6px;
      color: #444;
    }

    .person-desc {
      font-size: 0.9em;
      color: #444;
    }

    .person-links {
      margin-top: 8px;
      font-size: 0.9em;
    }

    .person-links a {
      margin-right: 12px;
      white-space: nowrap;
    }

    /* ===== Former members ===== */

    .former-list {
      margin-top: 6px;
    }

    .former-item {
      padding: 8px 0;
      border-bottom: 1px dashed #cccccc;
      font-size: 0.95em;
    }

    .former-item:last-child {
      border-bottom: none;
    }

    .former-name {
      font-weight: 600;
      color: #1f2a44;
    }

    .former-item-with-photo {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
    }

    .former-item-info {
      flex: 1;
      min-width: 0;
    }

    .former-photo-link {
      flex: 0 0 auto;
      line-height: 0;
    }

    .former-photo {
      width: 72px;
      height: 72px;
      object-fit: cover;
      border: 1px solid #d4d8d5;
      border-radius: 50%;
      box-shadow: 0 2px 7px rgba(31, 42, 68, 0.1);
    }


/* ===== photo on the right ===== */
.person-with-photo {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.person-with-photo .person-info {
  flex: 1;
}

.person-with-photo .person-photo {
  width: 110px;
  height: 110px;
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid #dddddd;
}

/* Soften pure-white portrait backgrounds without noticeably shifting skin tones. */
.person-with-photo .portrait-soft-bg {
  filter: brightness(0.975) saturate(0.96) sepia(0.025);
  border-color: #d4d8d5;
}

/* Keep the top of Xinzhou's hair inside the circular crop. */
.person-with-photo .portrait-xinzhou {
  object-position: center 12%;
}
