  /* Directory layout */
  .people-directory {
    margin-top: 2rem;
  }
  .people-grid {
    display: grid;
    gap: 2.25rem;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    align-items: start;
  }

  /* Card: fixed height with sticky header/footer and scrollable middle */
.person-card{
  display:flex;
  flex-direction:column;
  text-align:center;
  background:#fff;
  border-radius:16px;
  padding:1.25rem;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.06);

  /* set your fixed height here */
  height: 540px;              /* ← change to what you want */
  max-height: 540px;
}

/* Header (photo always visible) */
.person-header{ flex:0 0 auto; }
.person-photo{
  width:160px; height:160px; object-fit:cover; border-radius:50%;
  display:block; margin:0 auto .5rem; border:6px solid #eef3f6;
}

/* Scrollable middle */
.person-scroll{
  flex:1 1 auto;
  overflow:auto;              /* ← makes the middle scroll */
  padding: .25rem .25rem 0;
  margin: .25rem 0 .75rem;
}

/* Footer (button always visible) */
.person-footer{ flex:0 0 auto; }

/* (Optional) small-screen tweaks */
@media (max-width:420px){
  .person-photo{ width:140px; height:140px; }
  .person-card{ height:480px; max-height:480px; }
}

  /* Text */
  .person-name {
    font-size: 1.125rem;
    margin: 0.25rem 0 0.35rem;
    font-weight: 700;
    color: #1b1f23;
  }
  .person-affil {
    margin: 0 0 0.9rem;
    color: #5f6b7a;
    font-weight: 800;
    font-size: 0.9rem;
  }
  .person-field-heading {
    margin: 0.25rem 0 0.25rem;
    color: #475263;
    font-weight: 600;
    font-size: 0.95rem;
  }

    /* Button */
  .btn-profile {
    display: inline-block;
    padding: 0.45rem 1rem;      /* smaller height and width */
    font-size: 0.9rem;          /* slightly smaller text */
    border-radius: 6px;         /* less rounded corners */
    background: var(--crest-primary-color);
    color: #fff !important;
    font-weight: 600;
    text-decoration: none;
    box-shadow: none;
    transition: background 0.2s ease;
  }
  .btn-profile:hover,
  .btn-profile:focus {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(3,185,241,0.38);
  }

  /* Small screens */
  @media (max-width: 420px) {
    .person-photo { width: 140px; height: 140px; }
  }

 /* Any list */
.person-card ul,
.person-card ol {
  list-style: none !important;
  padding: 0 !important;
  margin: 0.25rem 0 !important;
}
.person-card ul > li,
.person-card ol > li {
  font-size: 0.9rem;
  margin: 0.125rem 0 !important;
  line-height: 1.25 !important;
}

.person-card p { margin: 0.35rem 0 !important; }

