/* Restore the original site's centered circle-card organization.
   Loaded only on Our Team and Board of Directors; shared styling is untouched. */
.people-layout .team,
.people-layout .roster{
  display:grid;
  gap:64px 30px;
  align-items:stretch;
  margin-top:54px;
}
.people-layout .team--staff{grid-template-columns:repeat(4,minmax(0,1fr));}
.people-layout .team--executive{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:24px;}
.people-layout .team--directors,
.people-layout .roster--medical{grid-template-columns:repeat(3,minmax(0,1fr));}
.people-layout .person,
.people-layout .rostercard{
  min-width:0;min-height:0;padding:0;
  border:0;border-radius:0;box-shadow:none;background:transparent;
  text-align:center;
}
.people-layout .person__top{
  display:flex;flex-direction:column;align-items:center;
  gap:16px;padding:0;
}
.people-layout .person__top > div{
  width:100%;min-height:0;display:block;
}
.people-layout .person__shot{
  display:block;width:185px;height:185px;max-width:100%;
  border-radius:50%;object-fit:cover;margin:0 auto;
}
.people-layout .person--exec .person__shot,
.people-layout .person--board .person__shot{width:150px;height:150px;}
.people-layout .person__shot--placeholder{object-fit:contain;border-radius:0;background:transparent;}
.people-layout .person h3{
  font-size:24px;font-weight:500;line-height:1.3;
  margin:0 0 4px;overflow-wrap:break-word;
}
.people-layout .person__role,
.people-layout .person__creds{
  font-family:var(--display);font-size:15px;font-weight:400;
  line-height:1.5;letter-spacing:0;text-transform:none;
  color:var(--magenta-deep);margin:0;
}
.people-layout .person--exec h3,
.people-layout .person--board h3{font-size:16px;font-weight:700;line-height:1.4;}
.people-layout .person--exec .person__role,
.people-layout .person--exec .person__creds,
.people-layout .person--board .person__role,
.people-layout .person--board .person__creds{color:var(--ink-soft);font-size:15px;}
.people-layout .person--exec .person__cap{
  color:var(--blue-deep);font-size:15px;line-height:1.4;
  font-weight:700;letter-spacing:0;text-transform:none;margin:0 0 4px;
}
.people-layout .person{display:flex;flex-direction:column;gap:24px;}
.people-layout .person__bio{
  width:100%;border:0;margin:auto 0 0;padding:0;
}
.people-layout .person__bio summary,
.people-layout .person__read-more{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;max-width:100%;padding:10px 22px;
  margin:auto auto 0;border:2px solid var(--magenta-deep);
  border-radius:999px;background:var(--magenta-deep);color:#fff;
  font-family:var(--display);font-size:14px;font-weight:700;
  line-height:1.35;text-align:center;text-decoration:none;
  cursor:pointer;white-space:normal;
}
.people-layout .person__bio summary::before,
.people-layout .person__bio summary::after{display:none;}
.people-layout .person__bio summary:hover,
.people-layout .person__read-more:hover{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff;}
.people-layout .person__bio summary:focus-visible,
.people-layout .person__read-more:focus-visible{outline:3px solid var(--teal-deep);outline-offset:4px;}
.people-modal-ready details.person__bio[data-people-modal-source]{display:none;}
.people-layout .person__biobody{text-align:left;overflow-wrap:break-word;}
.people-layout .person__biobody p{font-size:15px;line-height:1.65;}
.people-layout .rostercard__link{margin:12px 0 0;padding:0;text-align:center;}
.people-layout .rostercard__link a{
  min-height:44px;padding:8px 12px;justify-content:center;
}
.people-layout .rostercard h3{font-size:16px;line-height:1.4;}
.people-layout .rostercard > p{margin-top:4px;font-size:15px;}
.people-layout--team .pr-band--wash{background:var(--paper);}
@media(max-width:1100px){
  .people-layout .team--executive{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:960px){
  .people-layout .team--staff,
  .people-layout .team--executive,
  .people-layout .team--directors,
  .people-layout .roster--medical{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
  .people-layout .team--staff,
  .people-layout .team--executive,
  .people-layout .team--directors,
  .people-layout .roster--medical{grid-template-columns:minmax(0,1fr);gap:48px;}
  .people-layout .person,
  .people-layout .rostercard{width:100%;max-width:420px;margin:0 auto;}
}

/* Biographies open above the page; native dialog contains keyboard focus. */
.people-modal{
  width:min(860px,calc(100% - 32px));max-width:calc(100% - 32px);
  max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);
  padding:0;border:0;border-radius:12px;margin:auto;
  background:#fff;color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.28);
  overflow:auto;overscroll-behavior:contain;
}
.people-modal::backdrop{background:rgba(0,20,35,.75);}
.people-modal__close{
  position:sticky;top:12px;z-index:1;display:flex;align-items:center;justify-content:center;
  width:max-content;max-width:calc(100% - 24px);min-width:44px;min-height:44px;margin:12px 12px 0 auto;padding:8px 16px;
  border:2px solid var(--blue-deep);border-radius:999px;background:#fff;
  color:var(--blue-deep);font-family:var(--display);font-size:14px;font-weight:700;cursor:pointer;
}
.people-modal__close:hover{background:var(--blue-deep);color:#fff;}
.people-modal__close:focus-visible{outline:3px solid var(--teal-deep);outline-offset:3px;}
.people-modal__content{padding:8px 48px 44px;}
.people-modal__header{text-align:center;margin:0 0 28px;}
.people-modal__photo{display:block;width:170px;height:170px;object-fit:cover;border-radius:50%;margin:0 auto 22px;}
.people-modal__photo.person__shot--placeholder{object-fit:contain;border-radius:0;}
.people-modal__title{font-family:var(--display);font-size:clamp(24px,4vw,32px);line-height:1.3;color:var(--blue-deep);margin:0 0 8px;}
.people-modal__role,.people-modal__creds,.people-modal__cap{font-family:var(--display);font-size:16px;line-height:1.5;margin:3px 0;color:var(--ink-soft);}
.people-modal__cap{font-weight:700;}
.people-modal__body{text-align:left;font-size:17px;line-height:1.7;overflow-wrap:break-word;}
.people-modal__body p{margin:0 0 18px;}
.people-modal__body p:last-child{margin-bottom:0;}
@media(max-width:600px){
  .people-modal{width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);}
  .people-modal__content{padding:8px 22px 28px;}
  .people-modal__photo{width:140px;height:140px;margin-bottom:18px;}
  .people-modal__body{font-size:16px;}
}
