.container-about {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-size: 100%;
    line-height: 1.6;
}

/* Banner: intentionally NOT overriding .home-page-banner here.
   styles.css provides the gradient banner used across all pages. */
/* About Section */
.about p {
    margin-bottom: 1.2em;
}

/* Team Sections */
.team-section {
    margin-top: 60px;
}
.team-section h2 {
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
    margin-bottom: 30px;
    font-size: 2rem;
}

/* === Responsive team grid === */
.team-members {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 20px;
  align-items: stretch;
}
/* Individual card */
.member-card {
  background-color: #fafafa;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
.member-card img {
  width: clamp(72px, 12vw, 100px);
  height: clamp(72px, 12vw, 100px);
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 12px;
}
.member-card h3 {
  margin: 8px 0 4px;
  font-size: 1.1rem;
}
.member-card .role {
  font-weight: 600;
  color: #555;
  margin-bottom: 6px;
}
.member-card p {
  font-size: 0.95rem;
  color: #666;
}

/* Contact Us */
.contact-us {
    margin-top: 60px;
}

/* Responsive Breakpoints */
@media (max-width: 768px) {
    .member-card {
    flex: 1 1 calc(50% - 20px);
    }
    .team-members { gap: 16px; }
    /* banner handled by styles.css */
}
@media (max-width: 480px) {
    .member-card {
    flex: 1 1 100%;
    }
    .team-members { gap: 14px; }
}

