/* Editorial portrait gallery. Photo buttons and CMS identities stay intact. */
.about-page .about-people{background:#f8f7f2;padding:112px 0 120px;color:#24464d}
.about-people>.wrap>.about-section-heading{margin-bottom:70px}
.about-people .about-section-heading h2{font:400 clamp(36px,4vw,54px)/1.5 var(--serif);letter-spacing:-2px;color:#24464d}
.about-people .about-section-heading>div>p{max-width:240px;line-height:1.9;color:#718887;font-size:13px}
.about-people .about-kicker{color:#81948e;font-size:10px;letter-spacing:2px}
.about-people .about-kicker>span{color:#38777c}
.about-people .staff-group{display:grid;grid-template-columns:155px minmax(0,1fr);gap:58px;margin-top:80px;padding-top:30px;border-top:1px solid #cfdad4;align-items:start}
.about-people .staff-group-heading{position:sticky;top:180px;display:block;margin:0;padding-top:4px;align-self:start}
.about-people .staff-group-heading .staff-chapter-number{display:block;font:400 40px/1 Georgia,serif;color:#a2b4ad;letter-spacing:-1px;margin-bottom:24px}
.about-people .staff-group-heading h3{font:400 23px/1.65 var(--serif);letter-spacing:-.8px;word-break:keep-all;color:#36595f}
.about-people .staff-group-heading>span:last-child{display:block;font-size:8px;line-height:1.9;letter-spacing:1.4px;color:#849992;margin-top:16px;max-width:140px}
.about-people .staff-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:68px 24px;align-items:start;min-width:0}
.about-people .staff-profile{min-width:0}
.about-people .staff-profile:nth-child(3n+2){margin-top:38px}
.about-people .staff-profile:nth-child(3n+3){margin-top:76px}
.about-people .staff-portrait{aspect-ratio:3/4;border-radius:0;background:#e8e3d8;box-shadow:none;transition:translate .7s cubic-bezier(.2,.7,.2,1),box-shadow .7s}
.about-people .staff-portrait img{object-position:center 18%;filter:saturate(.72);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .7s}
.about-people .staff-profile:hover .staff-portrait,.about-people .staff-portrait:focus-visible{translate:0 -5px;box-shadow:0 15px 30px #254c3c0d}
.about-people .staff-profile:hover .staff-portrait img,.about-people .staff-portrait:focus-visible img{transform:scale(1.035);filter:saturate(1)}
.about-people .staff-portrait .photo-view-icon{opacity:.68;translate:none;background:#f8f7f2e8;color:#365e60;width:32px;height:32px;right:12px;bottom:12px;font-size:17px}
.about-people .staff-portrait:hover .photo-view-icon,.about-people .staff-portrait:focus-visible .photo-view-icon{opacity:1;background:#fff}
.about-people .staff-info{padding:22px 0 18px;min-height:122px;border-bottom:1px solid #d1dcd5}
.about-people .staff-info:after{background:#387e82;height:1px}
.about-people .staff-info h3{font:400 21px/1.55 var(--serif);letter-spacing:-.8px;color:#31545a;word-break:keep-all}
.about-people .staff-info p{font-size:12px;line-height:1.9;color:#718a87;margin-top:8px;word-break:keep-all}
.about-people .staff-info p+p{font-size:11px;color:#829791}
.about-people .elders-section{display:block;margin-top:112px;padding:34px 0 0;border:0;border-top:1px solid #cfdad4;background:transparent}
.about-people .elders-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:0;margin-bottom:28px}
.about-people .elders-heading h3{font:400 32px/1.7 var(--serif);letter-spacing:-1px;color:#31545a}
.about-people .elders-heading p{font-size:12px;line-height:1.9;margin:0;color:#718a87}
.about-people .elders-photo{border-radius:0;background:#e8e3d8}
.about-people .elders-photo .photo-view-icon{background:#f8f7f2eb;color:#365e60}
@media(max-width:1100px){
 .about-people .staff-group{grid-template-columns:125px minmax(0,1fr);gap:32px}
 .about-people .staff-photo-grid{gap:48px 18px}
 .about-people .staff-group-heading h3{font-size:21px}
 .about-people .staff-info h3{font-size:19px}
 .about-people .staff-info p{font-size:11px}
}
@media(max-width:767px){
 .about-page .about-people{padding:68px 0 76px}
 .about-people>.wrap>.about-section-heading{margin-bottom:42px}
 .about-people .about-section-heading h2{font-size:35px;letter-spacing:-1.5px}
 .about-people .about-section-heading>div>p{font-size:12px;max-width:none;margin-top:13px}
 .about-people .staff-group{grid-template-columns:1fr;gap:25px;margin-top:48px;padding-top:24px}
 .about-people .staff-group-heading{position:static;display:grid;grid-template-columns:36px minmax(0,1fr);gap:2px 15px;padding:0}
 .about-people .staff-group-heading .staff-chapter-number{grid-row:1/3;font-size:28px;margin:4px 0 0;align-self:start}
 .about-people .staff-group-heading h3{font-size:21px;line-height:1.5}
 .about-people .staff-group-heading>span:last-child{margin:3px 0 0;max-width:none;font-size:8px;letter-spacing:1px}
 .about-people .staff-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 16px}
 .about-people .staff-profile:nth-child(n){margin-top:0}
 .about-people .staff-profile:nth-child(2n){margin-top:32px}
 .about-people .staff-portrait{aspect-ratio:3/4}
 .about-people .staff-portrait .photo-view-icon{width:28px;height:28px;font-size:14px;right:9px;bottom:9px}
 .about-people .staff-info{padding:16px 0 15px;min-height:110px}
 .about-people .staff-info h3{font-size:17px;letter-spacing:-.5px}
 .about-people .staff-info p{font-size:11px;line-height:1.8;margin-top:7px}
 .about-people .staff-info p+p{font-size:10px}
 .about-people .elders-section{margin-top:64px;padding-top:25px}
 .about-people .elders-heading{display:block;margin-bottom:20px}
 .about-people .elders-heading h3{font-size:27px}
 .about-people .elders-heading p{font-size:11px;margin-top:9px}
}
@media(max-width:380px){.about-people .staff-info h3{font-size:15px}.about-people .staff-photo-grid{column-gap:13px}}
@media(prefers-reduced-motion:reduce){
 .about-people .staff-portrait,.about-people .staff-portrait img{transition:none}
 .about-people .staff-profile:hover .staff-portrait,.about-people .staff-portrait:focus-visible{translate:none}
}

/* Approved four-column gallery; keep two columns on small screens. */
@media(min-width:768px){
.about-people .staff-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.about-people .staff-profile:nth-child(n){margin-top:0}
.about-people .staff-profile:nth-child(even){margin-top:24px}
}
@media(min-width:768px) and (max-width:1100px){
.about-people .staff-group{grid-template-columns:minmax(0,1fr);gap:28px}
.about-people .staff-group-heading{position:static;display:flex;align-items:center;gap:18px;padding:0}
.about-people .staff-group-heading .staff-chapter-number{margin:0;font-size:30px}
.about-people .staff-group-heading>span:last-child{margin:0;max-width:none}
}
