.people-hero { padding-block: clamp(64px, 9vw, 112px) 65px; background: var(--off-white); }
.people-hero h1 { max-width: 850px; margin: 0; font: 400 clamp(48px, 7vw, 82px)/1.05 var(--sans); letter-spacing: -.045em; text-wrap: balance; }
.people-hero p { max-width: 690px; margin: 23px 0 0; color: var(--muted); font: 400 18px/1.7 var(--sans); }
.people-directory { padding-block: 68px 100px; }
.people-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 34px; align-items: start; }
/* Card: small portrait on the left, name + role beside it, CV across the full width below */
.person { display: grid; grid-template-columns: 120px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 20px; min-width: 0; }
.person-photo { grid-row: 1 / span 2; display: block; width: 120px; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 22%; background: var(--off-white); filter: saturate(.78); }
.person h2 { grid-column: 2; align-self: end; margin: 0; font: 500 21px/1.25 var(--sans); letter-spacing: -.02em; }
.person-role { grid-column: 2; align-self: start; margin: 6px 0 0; color: var(--muted); font: 14px/1.55 var(--sans); }
.profile-cv { grid-column: 1 / -1; margin-top: 16px; padding-top: 4px; border-top: 1px solid var(--line); }
.profile-cv summary { display: flex; min-height: 51px; align-items: center; justify-content: space-between; gap: 12px; color: var(--green-dark); cursor: pointer; font: 700 13px/1.5 var(--sans); letter-spacing: .04em; list-style: none; text-transform: uppercase; }
.profile-cv summary::-webkit-details-marker { display: none; }
.profile-cv summary::after { width: 10px; height: 10px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ""; transform: rotate(45deg) translateY(-2px); transition: transform .18s; }
.profile-cv[open] summary::after { transform: rotate(225deg) translate(-2px, -1px); }
.cv-section + .cv-section { margin-top: 20px; }
.cv-section h3 { margin: 0 0 7px; font: 700 12px/1.5 var(--sans); letter-spacing: .07em; text-transform: uppercase; }
.cv-section ul { display: grid; gap: 7px; margin: 0; padding-left: 18px; color: var(--muted); font: 14px/1.65 var(--sans); }
.cv-section li::marker { color: var(--green-dark); }
.cv-note { margin: 0; color: var(--muted); font: 14px/1.65 var(--sans); }
.source-note { margin: 40px 0 0; padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted); font: 13px/1.6 var(--sans); }
@media (max-width: 850px) {
  .people-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 28px;}
}
@media (max-width: 640px) {
  .people-hero {padding-block: 58px 48px;}
  .people-hero h1 {font-size: clamp(43px, 12vw, 62px);}
  .people-hero p {margin-top: 18px; font-size: 16px;}
  .people-directory {padding-block: 48px 72px;}
  .people-grid {grid-template-columns: 1fr; gap: 32px;}
  .person {grid-template-columns: 96px minmax(0, 1fr); column-gap: 16px;}
  .person-photo {width: 96px;}
  .person h2 {font-size: 20px;}
}
