/* Portraits d'après la référence fournie, dans la palette bleue du site. */
.team-section { background:var(--paper-2); }
.team--portraits,
body[data-page='accueil'] .team--portraits { grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 28px; align-items:start; }
.team-profile { text-align:left; min-width:0; }
.team-profile__frame { display:block; padding:13px; border:1px solid var(--rule); background:var(--surface); }
.team-profile .portrait { aspect-ratio:4/5; border:0; background:var(--paper-2); }
.team-profile .portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 25%; filter:grayscale(1) contrast(1.03); }
.team-profile__caption { display:table; position:relative; margin:-35px 0 0 29px; max-width:calc(100% - 58px); padding:13px 21px 14px; background:var(--ink); color:#fff; }
.team-profile .team__name { margin:0; font-family:var(--font-serif); font-size:var(--fs-h4); line-height:1.16; font-weight:400; color:#fff; }
.team-profile .team__role { margin:6px 0 0; line-height:1.4; font-weight:400; color:var(--muted-dark); }
.team-profile .team__focus { max-width:none; margin:14px 16px 0 50px; line-height:1.5; color:var(--muted); }
.team-profile:hover .team__name { color:#fff; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.team-profile:focus-visible { outline:3px solid var(--teal); outline-offset:5px; }
.team-note { display:grid; grid-template-columns:minmax(220px,.85fr) minmax(0,2fr); gap:26px; align-items:start; margin-top:78px; padding-top:34px; border-top:1px solid var(--rule-strong); scroll-margin-top:110px; }
.team-note h2 { max-width:16ch; margin:0; font:400 var(--fs-h3)/1.15 var(--font-serif); }
.team-note > p { max-width:66ch; margin:2px 0 0; color:var(--muted); font-size:var(--fs-read); line-height:1.6; }
.team-calm { display:grid; grid-template-columns:minmax(220px,.85fr) repeat(2,minmax(0,1fr)); gap:26px; align-items:start; margin-top:78px; padding-top:34px; border-top:1px solid var(--rule-strong); scroll-margin-top:110px; }
.team-note + .team-calm { margin-top:58px; }
.team-calm__copy { padding-right:12px; }
.team-calm h2 { margin:0 0 17px; font:400 var(--fs-h3)/1.15 var(--font-serif); }
.team-calm__copy > p:last-child { max-width:34ch; margin:0; color:var(--muted); line-height:1.6; }
.team-calm__photo { margin:0; aspect-ratio:4/5; min-width:0; overflow:hidden; background:var(--surface); }
.team-calm__photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 40%; }
@media(max-width:1050px) {
  .team--portraits,
  body[data-page='accueil'] .team--portraits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 28px; }
  .team-note { grid-template-columns:1fr; gap:16px; }
  .team-calm { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .team-calm__copy { grid-column:1/-1; }
}
@media(max-width:620px) {
  .team--portraits,
  body[data-page='accueil'] .team--portraits { grid-template-columns:minmax(0,1fr); gap:37px; max-width:390px; margin-inline:auto; }
  .team-note { margin-top:55px; padding-top:27px; }
  .team-calm { gap:12px; margin-top:55px; padding-top:27px; }
}
@media(max-width:370px) {
  .team-profile__frame { padding-inline:10px; }
  .team-profile__caption { margin-left:19px; max-width:calc(100% - 38px); padding:12px 16px; }
  .team-profile .team__focus { margin-left:35px; margin-right:10px; }
}
