/* Full, uncropped composition; a restrained display size preserves image clarity. */
.team-photo{width:100%;max-width:640px;margin:0;min-width:0;justify-self:center}
.team-photo img{display:block;width:100%;height:auto;aspect-ratio:1922/1024;border:1px solid #d7d2c8}
.team-photo figcaption{margin:0;padding:14px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.team-section{gap:6vw;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.team-copy{min-width:0}
.team-about-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:5vw;align-items:center;border-bottom:1px solid var(--line)}
.team-about-intro{min-width:0}
.team-about-intro h1{font-size:clamp(44px,4.2vw,66px);line-height:1.1}
.team-about-intro .page-intro{font-size:clamp(18px,1.5vw,22px);line-height:1.65}
.team-directory{background:#f5f1e8;padding-top:70px;padding-bottom:75px}
.team-directory-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;gap:6vw;margin-bottom:40px}
.team-directory-intro h2{font:400 clamp(32px,3.6vw,48px)/1.15 var(--serif,Georgia,serif);letter-spacing:-.025em;margin:0;max-width:620px}
.team-directory-intro>p{font-size:16px;line-height:1.8;color:#586157;max-width:440px;margin:0}
.team-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0}
.team-roster>li{min-width:0;margin:0;padding:0;background:#fcfaf5;border-top:2px solid #a58b6d}
.team-person{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:26px clamp(22px,2vw,30px);height:100%}
.team-person-heading{min-width:0}
.team-person h3{font:400 clamp(26px,2.2vw,32px)/1.2 var(--serif,Georgia,serif);letter-spacing:-.02em;color:#26372f;margin:0 0 10px}
.team-person-role{font-size:12px;line-height:1.7;font-weight:600;color:#745237;margin:0;max-width:none}
.team-person-professional{font-size:14px;line-height:1.75;color:#475246;margin:0;max-width:590px}
.team-person-personal{width:100%;border-top:1px solid #d9d1c4;margin-top:auto}
.team-person-personal>summary{min-height:48px;display:list-item;padding:14px 0 10px;cursor:pointer;font-size:13px;font-weight:500;color:#475246;line-height:1.6;list-style-position:inside}
.team-person-personal>summary:hover{color:#26372f;text-decoration:underline;text-underline-offset:4px}
.team-person-personal>summary:focus-visible{outline:2px solid #745237;outline-offset:4px}
.team-person-bio{font-size:14px;line-height:1.75;color:#475246;margin:0;max-width:590px;padding-top:12px}
@media(max-width:1100px){.team-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .team-directory{padding-top:42px;padding-bottom:48px}
 .team-directory-intro{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:28px}
 .team-roster{gap:20px}
 .team-person{gap:16px;padding:23px}
 .team-person h3{font-size:28px;margin-bottom:8px}
 .team-person-role{max-width:none;font-size:12px}
 .team-person-professional,.team-person-bio{font-size:15px;line-height:1.7}
 .team-person-bio{padding-top:12px}
}
@media(max-width:640px){.team-roster{grid-template-columns:minmax(0,1fr);gap:18px}.team-person{padding:24px 23px}}
@media print{.team-directory{background:white}.team-person{break-inside:avoid}}
@media(max-width:900px){
 .team-section,.team-about-hero{grid-template-columns:minmax(0,1fr);gap:34px}
 .team-about-intro{max-width:700px}
 .team-about-intro h1{font-size:clamp(43px,7vw,62px)}
 .team-section .team-photo{justify-self:start}
 .team-about-hero .team-photo{justify-self:start}
}
@media(max-width:640px){
 .team-section{gap:28px}
 .team-photo figcaption{font-size:12px;padding-top:10px}
 .team-about-hero{padding-top:28px;padding-bottom:40px;gap:28px}
 .team-about-intro h1{font-size:clamp(40px,10.5vw,54px)}
 .team-about-intro .page-intro{font-size:18px}
}
