/* Équipe — styles extraits du <style> inline de Équipe.html + portrait serveur. */
.team-photo{margin:0;border-radius:24px;overflow:hidden;position:relative;box-shadow:0 24px 60px rgba(16,57,110,.16);}
.team-photo img{width:100%;display:block;aspect-ratio:16/8;object-fit:cover;}
.team-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:38px 28px 18px;color:#fff;font-size:14px;font-weight:500;
  background:linear-gradient(180deg,rgba(8,26,52,0),rgba(8,26,52,.82));}
/* formateurs sans portrait : tuile sobre aux initiales */
.tpanel--noimg{background:linear-gradient(200deg,#12376B 0%,#0B2A52 55%,#081A34 100%);}
.tpanel--noimg .tpanel__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:clamp(26px,3.4vw,40px);font-weight:600;letter-spacing:.08em;color:rgba(255,255,255,.30);}
.tpanel--noimg .tpanel__veil{background:linear-gradient(180deg,rgba(8,26,52,0) 55%,rgba(8,26,52,.7) 100%);}
/* portrait rendu serveur (remplace l'image-slot).
   Largeur FIXE (>= largeur du panneau déplié) centrée : élargir le panneau au survol
   ne fait que révéler plus de photo, sans la redimensionner → plus d'effet de zoom.
   Desktop : 350px (panneau déplié max ~342px). Mobile : 64vw (déplié = 62vw). */
.tpanel__img{position:absolute;top:0;left:50%;transform:translateX(-50%);
  /* >= largeur du panneau déplié : max() garde 350px tant que le panneau est plus étroit,
     et suit le panneau au-delà (garde-fou si l'effectif change le nb de colonnes par rangée). */
  width:max(350px,calc(100% + 6px));height:100%;max-width:none;object-fit:cover;object-position:center 28%;display:block;}
@media(max-width:900px){.tpanel__img{width:64vw;}}
