/* Our People section — About page */

/* ── Shared: avatars, tenure, alumni ── */
.pp-av {
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: #b3ffeb; color: #007a5c;
  font-weight: 600; letter-spacing: .01em;
  flex: 0 0 auto; position: relative; overflow: hidden;
  background-image: linear-gradient(135deg, #e6fff7 0%, #b3ffeb 100%);
}
.pp-av--dim {
  color: #a8a29e;
  background-image: linear-gradient(135deg, #f5f5f4 0%, #e7e5e4 100%);
}
.pp-av__mono { line-height: 1; }
.pp-av__img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }

.pp-tenpill {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11.5px; font-weight: 600; color: #007a5c;
  background: #e6fff7; padding: 3px 9px; border-radius: 999px;
  font-variant-numeric: tabular-nums;
}
.pp-tenpill--past { color: #a8a29e; background: #f5f5f4; }
.pp-dot-past { width: 5px; height: 5px; border-radius: 50%; background: currentColor; opacity: .55; }
.pp-alumni {
  font-size: 9.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em;
  color: #a8a29e; background: #f5f5f4; border-radius: 4px; padding: 2px 5px; line-height: 1;
}

/* ── Refined Roster ── */
.rr-header {
  display: flex; justify-content: space-between; align-items: flex-end;
  gap: 24px; padding-bottom: 26px; border-bottom: 1px solid #e7e5e4;
  margin-bottom: 34px;
}
.rr-header__title { font-size: 34px; font-weight: 700; letter-spacing: -0.025em; margin: 0; color: #1c1917; }
.rr-header__sub { margin: 9px 0 0; font-size: 16px; color: #78716c; }
.rr-header__meta { display: flex; align-items: center; gap: 14px; font-size: 13.5px; color: #78716c; white-space: nowrap; }
.rr-header__meta b { color: #1c1917; font-weight: 700; }
.rr-sep { width: 1px; height: 14px; background: #e7e5e4; display: inline-block; }

.rr-group { margin-top: 34px; }
.rr-group:first-of-type { margin-top: 0; }
.rr-group__head { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.rr-group__title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; color: #00523d; margin: 0; }
.rr-group__count { font-size: 12px; font-weight: 600; color: #007a5c; background: #e6fff7; border-radius: 999px; padding: 2px 9px; min-width: 22px; text-align: center; }
.rr-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }

.rr-card {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 16px 18px; border: 1px solid #e7e5e4; border-radius: 14px;
  background: #fff; transition: box-shadow .16s, border-color .16s, transform .16s;
}
.rr-card:hover { box-shadow: 0 6px 20px rgba(20, 50, 35, .07); border-color: #80ffdf; transform: translateY(-1px); }
.rr-card--past { background: #fafaf9; }
.rr-card--past:hover { border-color: #e7e5e4; transform: none; box-shadow: none; }
.rr-card__body { min-width: 0; flex: 1; }
.rr-card__name {
  font-size: 15.5px; font-weight: 700; color: #1c1917; letter-spacing: -0.01em;
  display: flex; align-items: center; gap: 8px; line-height: 1.2;
}
.rr-card--past .rr-card__name { color: #78716c; font-weight: 600; }
.rr-card__role { font-size: 13px; color: #78716c; margin: 4px 0 9px; line-height: 1.35; }
.rr-card--past .rr-card__role { color: #a8a29e; }

.rr-cta {
  display: flex; gap: 14px; align-items: center; padding: 16px 18px;
  border: 1.5px dashed #80ffdf; border-radius: 14px;
  text-decoration: none; color: inherit; background: #e6fff7;
  transition: border-color .16s, background .16s;
}
.rr-cta:hover { border-color: #00a37a; background: #b3ffeb; }
.rr-cta__plus {
  width: 46px; height: 46px; border-radius: 50%; border: 1.5px dashed #00a37a;
  color: #007a5c; display: flex; align-items: center; justify-content: center;
  font-size: 24px; font-weight: 400; flex: 0 0 auto;
}
.rr-cta__body { display: flex; flex-direction: column; }
.rr-cta__title { font-weight: 700; font-size: 15px; color: #00523d; }
.rr-cta__sub { font-size: 12.5px; color: #007a5c; margin-top: 3px; }

/* ── Volunteer faces wall ── */
.vw-wall {
  margin-top: 14px; border: 1px solid #b3ffeb; background: #e6fff7;
  border-radius: 16px; padding: 24px 26px 22px;
}
.vw-wall__head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 16px; margin-bottom: 18px;
}
.vw-wall__title { font-size: 15px; font-weight: 700; color: #00523d; letter-spacing: -0.005em; }
.vw-wall__title b { font-weight: 800; }

.vw-faces { display: flex; flex-wrap: wrap; padding-left: 9px; }
.vw-face { margin-left: -9px; line-height: 0; }
.vw-face .pp-av { box-shadow: 0 0 0 2.5px #e6fff7; }
.vw-more {
  margin-left: -9px; height: 38px; min-width: 38px; padding: 0 12px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #00523d; color: #fff; font-size: 13px; font-weight: 700;
  box-shadow: 0 0 0 2.5px #e6fff7; font-variant-numeric: tabular-nums; letter-spacing: .01em;
  position: relative; z-index: 1;
}

.vw-wall__sub { font-size: 13px; line-height: 1.5; color: #78716c; margin: 18px 0 0; max-width: 560px; }

@media (max-width: 920px) { .rr-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
  .rr-grid { grid-template-columns: 1fr; }
  .rr-header { flex-direction: column; align-items: flex-start; gap: 14px; }

}
