.staff { padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(3rem, 7vw, 5rem); }
.staff h2 { margin-bottom: 0.75rem; }
.staff__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 3rem; }
.person { display: grid; grid-template-columns: minmax(12rem, 18rem) minmax(0, 1fr); gap: 1.5rem clamp(1.5rem, 5vw, 3rem); align-items: start; border-top: 3px solid var(--shallows); padding-top: 1.5rem; }
.person__photo { margin: 0; }
.person__photo img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius); }
.person__photo .ph__box { display: grid; place-items: center; align-content: center; gap: 0.35rem; aspect-ratio: 4 / 5; border: 2px dashed var(--shallows); border-radius: var(--radius); background: var(--foam); color: var(--tide); font-size: 0.9rem; font-weight: 700; }
.person__name { margin: 0 0 0.15em; font-size: clamp(1.6rem, 3vw, 2.2rem); }
.person__title { margin: 0 0 1rem; font-weight: 700; color: var(--tide); }
.person__bio { margin: 0; max-width: 42rem; }
@media (max-width: 44rem) {
  .person { grid-template-columns: 1fr; }
  .person__photo { max-width: 16rem; }
}.person__more { margin: 1rem 0 0; font-weight: 700; }
.person__more a { color: var(--tide); }
.staff__intro { max-width: 46rem; font-size: 1.2rem; margin: 0 0 2.5rem; }
.person__photo img { object-position: 50% 30%; }

.person--nophoto {
  grid-template-columns: 1fr;
}

.staff__list--board .person { grid-template-columns: 9rem 1fr; gap: 1.5rem; }
.staff__list--board .person--nophoto { grid-template-columns: 1fr; }
@media (max-width: 44rem) {
  .staff__list--board .person { grid-template-columns: 1fr; }
  .staff__list--board .person__photo { max-width: 9rem; }
}

.about-links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.about-links a { display: block; padding: 1.25rem 1.5rem; border-top: 3px solid var(--shallows); background: var(--foam); color: var(--tide); font-family: var(--font-display); font-size: 1.3rem; text-decoration: none; }
.about-links a:hover { color: var(--deep); }

.programs__title { margin: 0 0 1.5rem; }
.programs__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1.5rem; }
.program { border-top: 3px solid var(--shallows); padding: 1.25rem 0 0; }
.program__name { margin: 0 0 0.5rem; font-size: clamp(1.5rem, 2.5vw, 1.9rem); }
.program__name a { color: var(--deep); text-decoration: none; }
.program__text { margin: 0 0 1rem; max-width: 34rem; }
.program__more { margin: 0; font-weight: 700; }
.program__more a { color: var(--tide); }

.strategy { background: var(--foam); padding: clamp(2.5rem, 6vw, 4rem) 0; }
.strategy__title { margin: 0 0 1.5rem; }
.strategy__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 2rem 1.5rem; }
.strategy__photo { margin: 0 0 1rem; aspect-ratio: 3 / 2; }
.strategy__photo img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius); }
.strategy__photo .ph__box { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.4rem; width: 100%; height: 100%; border: 2px dashed var(--shallows); border-radius: var(--radius); color: var(--tide); font-size: 0.9rem; font-weight: 700; background: #fff; }
.strategy__name { margin: 0 0 0.5rem; font-size: clamp(1.3rem, 2.2vw, 1.6rem); }

.program__photo { margin: 0 0 1rem; aspect-ratio: 3 / 2; overflow: hidden; border-radius: var(--radius); }
.program__photo a { display: block; width: 100%; height: 100%; }
.program__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }

@media (min-width: 45rem) {
  .page-head--tall { min-height: clamp(30rem, 48vw, 44rem); }
}

.strategy__intro { margin: 0 0 2rem; max-width: 42rem; font-size: 1.15rem; }
