/* ── Leadership page ── */
.leadership-body {
  background: #fcfcfb;
  padding: 80px 0 96px;
}

.leadership-section {
  margin-bottom: 72px;
}

.leadership-section:last-child {
  margin-bottom: 0;
}

.leadership-section-heading {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #9a7d4a;
  margin: 0 0 2rem;
}

.staff-section-heading {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* ── Artistic Staff — staggered single-column layout ── */
.staff-grid {
  display: flex;
  flex-direction: column;
  max-width: 720px;
  margin: 0 auto;
  gap: 12px;
}

.leader-card {
  background: #ffffff;
  padding: 2rem 1.75rem;
  border: 1px solid #e8e3db;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.leader-card:first-child {
  border-top: 1px solid #e8e3db;
}

.leader-card:hover {
  box-shadow: 0 2px 8px rgba(26, 26, 26, 0.05);
  border-color: #d9d0bd;
}

.leader-header {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 0.6rem;
}

.leader-portrait-wrap {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  background: #d9d4cc;
  flex-shrink: 0;
}

.leader-portrait {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.leader-content {
  display: flex;
  flex-direction: column;
}

.leader-role {
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #9a7d4a;
  margin: 0 0 0.45rem;
}

.leader-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
  letter-spacing: -0.01em;
}


.leader-bio {
  font-size: 0.9rem;
  line-height: 1.85;
  color: #3d3830;
  margin: 0;
}

/* ── Featured leader card — large image on the left ── */
.leader-card--featured {
  display: flex;
  align-items: stretch;
  gap: 2rem;
  padding: 0;
  overflow: hidden;
}

.leader-featured-portrait-wrap {
  flex: 0 0 260px;
  background: #d9d4cc;
}

.leader-featured-portrait {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.leader-featured-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2rem 1.75rem 2rem 0;
  min-width: 0;
}

.leader-card--featured .leader-header {
  margin-bottom: 0.9rem;
}

@media (max-width: 640px) {
  .leader-card--featured {
    flex-direction: column;
  }

  .leader-featured-portrait-wrap {
    flex: 0 0 auto;
    width: 100%;
    height: 240px;
  }

  .leader-featured-content {
    padding: 1.75rem;
  }
}

/* ── Board of Directors — 3-column compact grid ── */
.board-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.board-card {
  background: #fff;
  padding: 1.25rem;
  border: 1px solid #e9e9e7;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.board-card:hover {
  box-shadow: 0 2px 8px rgba(26, 26, 26, 0.05);
  border-color: #d9d0bd;
}

.board-card-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.9rem;
}

.board-portrait-wrap {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  overflow: hidden;
  background: #d9d4cc;
  flex-shrink: 0;
}

.board-portrait {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.board-name {
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.35rem;
  letter-spacing: -0.01em;
}

.board-role {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: capitalize;
  color: #9a7d4a;
  margin: 0;
}

.board-bio {
  font-size: 0.85rem;
  line-height: 1.75;
  color: #3d3830;
  margin: 0;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .board-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .board-grid {
    grid-template-columns: 1fr;
  }
}
