/* ============================================================
   who-we-are.css — WHO WE ARE page-specific styles.
   Shared chrome + hero + two-col + ready + our-loc + primitives in /site.css.
   ============================================================ */

.hero { height: 880px; }

/* ---- INTRO + LEADERSHIP TEAM ---- */
.intro { padding: 96px 0 0; text-align: center; }
.intro p { color: var(--ink-soft); font-size: 17px; line-height: 27px; max-width: 900px; margin: 0 auto; }

.team { padding: 60px 0 64px; }
.team .serif-title { text-align: center; margin-bottom: 48px; }
.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px 28px; }
.tcard .tname { font-size: 18px; font-weight: 700; letter-spacing: -0.02em; color: var(--ink); }
.tcard .trole { font-size: 16px; color: var(--ink-soft); margin-bottom: 14px; }
.tcard img { width: 100%; aspect-ratio: 286 / 220; object-fit: cover; margin-bottom: 14px; }
.tmeta { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; font-size: 12px; line-height: 17px; }
.tmeta .k { color: var(--cap); }
.tmeta .v { color: var(--ink); font-weight: 600; }

/* ---- TEAM STORY (group photo + heading + text) ---- */
.story2 { padding: 30px 0 96px; }
.story2-grid { gap: 56px; align-items: center; }
.story2-media img { aspect-ratio: 612 / 446; }
.story2-text .serif-title { font-size: 40px; line-height: 50px; margin-bottom: 26px; }
.story2-text p { color: var(--ink-soft); font-size: 15px; line-height: 24px; margin-bottom: 20px; max-width: 560px; }

/* ---- PARTNERS / AWARDS ---- */
.partners { padding: 92px 0 70px; text-align: center; }
.partners .serif-title { margin-bottom: 44px; }
.partner-logos { width: 100%; max-width: 1272px; margin: 0 auto 40px; display: block; }
.partners .p-lead { font-weight: 600; font-size: 16px; color: var(--ink); margin-bottom: 16px; }
.partners .p-body { color: var(--ink-soft); font-size: 16px; line-height: 25px; max-width: 880px; margin: 0 auto 34px; }

.awards { padding: 40px 0 80px; text-align: center; }
.awards .serif-title { margin-bottom: 48px; }
.awards-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; }
.award-ph { aspect-ratio: 1 / 1; background: #ededed; border-radius: 4px; }

/* ---- GOLDMAN STORY ---- */
.goldman { padding: 70px 0 30px; text-align: center; }
.goldman .serif-title { margin-bottom: 44px; line-height: 80px; }
.goldman-grid { gap: 56px; align-items: center; text-align: left; }
.goldman-text p { color: var(--ink-soft); font-size: 15px; line-height: 24px; margin-bottom: 22px; max-width: 540px; }
.goldman-links { display: flex; flex-direction: column; gap: 10px; }
.goldman-links a { font-size: 14px; color: var(--navy); display: inline-flex; align-items: center; gap: 6px; }
.goldman-media img { aspect-ratio: 596 / 360; object-fit: cover; }
.recognised { padding: 40px 0 80px; text-align: center; }
.recognised .r-lead { font-weight: 600; font-size: 16px; color: var(--ink); margin-bottom: 16px; }
.recognised .r-body { color: var(--ink-soft); font-size: 15px; line-height: 24px; max-width: 980px; margin: 0 auto 30px; }

/* ---- RESPONSIVE ---- */
@media (max-width: 1024px) {
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .awards-grid { grid-template-columns: repeat(3, 1fr); }
  .story2-grid, .goldman-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .team-grid { grid-template-columns: 1fr; }
  .awards-grid { grid-template-columns: repeat(2, 1fr); }
}
