:root {
  --page-bg: #f7f8fc;
  --text-primary: #1b2130;
  --text-muted: #6e7380;
  --accent: #4c68aa;
  --accent-strong: #2f4fa3;
  --card-text: #1b2130;
  --card-muted: #525a6f;
  --card-gradient: linear-gradient(110deg, #3c4151 0%, #2f3341 45%, #252833 100%);
  --card-border: rgba(255, 255, 255, 0.08);
  --card-shadow: 0 18px 38px rgba(0, 0, 0, 0.22);
  --timeline-line: #d0d4e1;
  --timeline-dot: #9ea4b8;
  --timeline-dot-ring: rgba(102, 109, 132, 0.35);
  --meta-pill-bg: rgba(110, 116, 132, 0.18);
  --meta-pill-border: rgba(110, 116, 132, 0.32);
  --summary-border: #dfe3ef;
  --summary-bg: transparent;
  /* Bootstrap variable bridge */
  --bs-body-bg: var(--page-bg);
  --bs-body-color: var(--text-primary);
  --bs-heading-color: var(--text-primary);
  --bs-link-color: var(--accent);
  --bs-link-hover-color: var(--accent-strong);
  --bs-link-decoration: none;
  --bs-link-hover-decoration: underline;
  --bs-border-color: var(--summary-border);
  --bs-navbar-color: var(--text-muted);
  --bs-navbar-hover-color: var(--accent-strong);
  --bs-navbar-brand-color: var(--accent-strong);
  --bs-navbar-brand-hover-color: var(--accent);
}

.theme-dark {
  --page-bg: #0f121a;
  --text-primary: #e5e8f1;
  --text-muted: #b9bdcb;
  --accent: #8cb6ff;
  --accent-strong: #b7d2ff;
  --card-text: #ffffff;
  --card-muted: #dce3f9;
  --card-gradient: linear-gradient(120deg, #191d2a 0%, #141824 55%, #0f121a 100%);
  --card-border: rgba(255, 255, 255, 0.08);
  --card-shadow: 0 18px 40px rgba(0, 0, 0, 0.38);
  --timeline-line: #3b4258;
  --timeline-dot: #c7ccdc;
  --timeline-dot-ring: rgba(99, 118, 160, 0.4);
  --meta-pill-bg: rgba(120, 134, 164, 0.26);
  --meta-pill-border: rgba(120, 134, 164, 0.44);
  --summary-border: #2d3240;
  --summary-bg: rgba(255, 255, 255, 0.02);
  /* Bootstrap variable bridge */
  --bs-body-bg: var(--page-bg);
  --bs-body-color: var(--text-primary);
  --bs-heading-color: var(--text-primary);
  --bs-link-color: var(--accent);
  --bs-link-hover-color: var(--accent-strong);
  --bs-link-decoration: none;
  --bs-link-hover-decoration: underline;
  --bs-border-color: var(--summary-border);
  --bs-navbar-color: var(--text-muted);
  --bs-navbar-hover-color: var(--accent-strong);
  --bs-navbar-brand-color: var(--accent-strong);
  --bs-navbar-brand-hover-color: var(--accent);
}

.people {
  color: var(--text-primary);
  line-height: 1.6;
  background: transparent;
  border: 0;
  padding: clamp(0.5rem, 1vw + 0.35rem, 1rem);
}
.people .heading {
  color: var(--accent);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin: 0 0 1.1rem;
}
.people .heading::after {
  content: "";
  display: block;
  height: 3px;
  width: 56px;
  border-radius: 999px;
  background: var(--summary-border);
}
.people .position {
  background: transparent;
  border: 0;
  border-radius: var(--bs-border-radius-lg, 1rem);
  padding: 0.4rem 0.25rem 0.25rem 0.25rem;
  margin-bottom: 0.5rem;
  box-shadow: none;
  color: var(--card-text);
}
.people .position-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.5rem;
  color: var(--card-text);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.people .position-title::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--accent);
}
.people .team {
  list-style: none;
  padding: 0.25rem 0 0 0.75rem;
  margin: 0;
  display: grid;
  gap: 0.3rem;
}
.people .compact-team {
  gap: 0.25rem;
}
.people .team-item {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.08rem 0;
  border-bottom: 1px solid var(--card-border);
}
.people .team-item:last-child {
  border-bottom: 0;
}
.people .member-link {
  color: var(--card-text);
  text-decoration: none;
  font-weight: 600;
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.people .member-link:visited {
  color: var(--card-text);
}
.people .member-link:hover,
.people .member-link:focus {
  color: var(--accent-strong);
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 2px;
  outline: none;
}
.people .member-name {
  font-weight: 600;
}
.people .member-surname {
  font-weight: 700;
  letter-spacing: 0.02em;
}
.people .member-extras,
.people .member-hdr {
  font-size: 0.85rem;
  color: var(--card-text);
  background: var(--meta-pill-bg);
  border: 1px solid var(--meta-pill-border);
  border-radius: 999px;
  padding: 0.05rem 0.4rem;
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  line-height: 1.2;
  margin-left: 0.55rem;
}
.people .member-extras {
  color: var(--card-muted);
}
.people .member-hdr {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 650;
}
.people .member-bullet {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.65rem;
  height: 0.65rem;
  margin-top: 0.25rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(76, 104, 170, 0.65), rgba(76, 104, 170, 0.3));
  box-shadow: 0 0 0 2px rgba(76, 104, 170, 0.12);
  border: 1px solid rgba(76, 104, 170, 0.4);
}
.people .member-affiliation {
  color: var(--text-muted);
  font-size: 0.9rem;
  margin-left: 0.35rem;
}

@media (max-width: 991.98px) {
  .people {
    margin-top: 1rem;
  }
  .people .position {
    padding: 1rem;
  }
}
@media (max-width: 575.98px) {
  .people {
    padding: 0.75rem;
  }
  .people .team {
    gap: 0.85rem;
  }
  .people .team-item {
    flex-direction: column;
    align-items: flex-start;
  }
  .people .member-link {
    font-size: 1.02rem;
  }
}

/*# sourceMappingURL=members.css.map */
