/* ==========================================================================
   Leadership & Advisory Team — page-specific styles.
   Alternating asymmetric editorial rows + duotone initial portraits.
   Mobile-first; reduced-motion safe.
   ========================================================================== */

.leader {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-6);
  padding-block: var(--sp-7);
  border-top: 1px solid var(--border);
  align-items: center;
}
.leader:first-of-type { border-top: 0; padding-top: 0; }

/* Duotone portrait placeholder = styled block with initials (TODO: real photos). */
.leader__portrait {
  position: relative;
  aspect-ratio: 3 / 4;
  max-width: 22rem;
  border-radius: var(--radius);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(150deg, color-mix(in srgb, var(--surface-inverse) 92%, #000) 0%, var(--accent-deep) 100%);
}
.leader__portrait::before { /* fine diagonal line-grid, brand-tinted */
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, transparent) 0 1px, transparent 1px 22px);
}
.leader__portrait::after { /* grain + tone veil */
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 90% at 30% 20%, rgba(159, 232, 112, 0.14), transparent 60%);
  mix-blend-mode: overlay;
}
.leader__initials {
  position: relative;
  z-index: 1;
  font-family: var(--font-display);
  font-size: clamp(3rem, 2rem + 5vw, 5rem);
  font-weight: 560;
  letter-spacing: -0.02em;
  color: var(--text-on-dark);
  opacity: 0.92;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.3);
}
.leader__portrait--photo { background: var(--surface); }
.leader__portrait--photo::before,
.leader__portrait--photo::after { display: none; }
.leader__portrait--photo img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(0.35) contrast(1.05);
  transition: filter var(--dur-component) ease-out;
}
.leader__portrait--photo:hover img { filter: grayscale(0) contrast(1); }
.leader__name { margin: var(--sp-2) 0 var(--sp-4); }
.leader__bio { color: var(--text-2); max-width: var(--measure); }
.leader__link { margin-top: var(--sp-4); }
.leader__link a { font-weight: 600; }
.leader__link .small { color: var(--text-2); }

.team-photo-note {
  margin-top: var(--sp-7);
  padding-top: var(--sp-5);
  border-top: 1px solid var(--border);
  color: var(--text-2);
  font-style: italic;
}

/* Desktop: asymmetric two-column rows with alternating sides + baseline offset. */
@media (min-width: 820px) {
  .leader {
    grid-template-columns: 5fr 7fr;
    gap: var(--sp-8);
    padding-block: var(--sp-8);
  }
  .leader__body { padding-top: var(--sp-7); } /* offset so baselines never align */
  .leader--flip .leader__portrait { order: 2; margin-left: auto; }
  .leader--flip .leader__body { order: 1; padding-top: 0; padding-bottom: var(--sp-7); }
}

/* --- Consulting network (dark) --------------------------------------------- */
.team-network { display: grid; grid-template-columns: 1fr; gap: var(--sp-6); }
@media (min-width: 880px) {
  .team-network {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sp-7) var(--sp-8);
    align-items: start;
  }
  .team-network__cta { grid-column: 1 / -1; }
}
.team-network__cta {
  margin-top: var(--sp-4);
  padding-top: var(--sp-7);
  border-top: 1px solid var(--border-dark);
}
.team-network__cta-title { margin: var(--sp-2) 0 var(--sp-4); }
.team-network__cta p { color: var(--text-2-on-dark); }
