.osis-grid,
.alumni-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 1.5rem;
}

.osis-card,
.alumni-card {
  background: var(--putih);
  border-radius: 16px;
  border: 1px solid rgba(0, 0, 0, .04);
  padding: 2rem;
  text-align: center;
}

.osis-avatar,
.alumni-avatar {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 1rem;
}

.osis-avatar img,
.alumni-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.osis-avatar-placeholder,
.alumni-avatar-placeholder {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: var(--biru, #1D4E89);
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
}

.osis-nama,
.alumni-nama {
  font-size: 1.125rem;
  color: var(--biru);
  margin-bottom: .25rem;
}

.osis-jabatan,
.alumni-keterangan {
  color: #475569;
  font-size: .875rem;
}

/* OSIS card hover */
.osis-card {
  transition: transform .35s cubic-bezier(.34, 1.56, .64, 1), box-shadow .35s ease;
}

.osis-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 36px rgba(0, 0, 0, .08);
}

@media (max-width: 768px) {
  .osis-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: .75rem;
  }

  .osis-card {
    padding: 1rem;
  }

  .osis-avatar,
  .osis-avatar-placeholder {
    width: 72px;
    height: 72px;
    font-size: 1.5rem;
    margin-bottom: .5rem;
  }

  .osis-nama {
    font-size: .875rem;
  }

  .osis-jabatan {
    font-size: .75rem;
  }
}

@media (max-width: 480px) {
  .osis-grid {
    gap: .5rem;
  }

  .osis-card {
    padding: .75rem .5rem;
  }

  .osis-avatar,
  .osis-avatar-placeholder {
    width: 56px;
    height: 56px;
    font-size: 1.15rem;
  }
}
