/* Team grid: three across on desktop, filling row by row as people are added
   — a 3×3 field with room for nine. The current four make a full top row plus
   one card alone on the second row at ordinary card width.

   An incomplete last row costs nothing: rows are content-sized and
   align-content:start ends the grid after the last real card, so there is no
   stretched card, no placeholder cell and no reserved empty height — on any
   width. Every card, including the last, is an ordinary cell; the old rule
   that stretched a trailing card across the row only worked for one exact
   head-count and would misread the grid the moment a fifth person arrived. */
#page-about .ab-bios{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;align-content:start}
#page-about .ab-bios>.ab-bio,#page-about .ab-bios>.ab-bio:last-child{display:flex;flex-direction:column;grid-column:auto;min-width:0}
#page-about .ab-bios>.ab-bio .bio-por,#page-about .ab-bios>.ab-bio:last-child .bio-por{flex:none;width:100%;height:auto;aspect-ratio:4/3;border-right:0;border-bottom:1px solid var(--border)}
#page-about .ab-bios>.ab-bio .bio-por img{width:100%;height:100%;object-fit:cover}
#page-about #roeun-reth .bio-por img{object-position:50% 18%}
#page-about .ab-bios .ab-bio-body{flex:1;min-width:0}
#page-about .ab-bios .bio-role,#page-about .ab-bios .bio-sub{overflow-wrap:break-word}
/* Two across once three would squeeze the portraits and roles. */
@media(max-width:1080px){#page-about .ab-bios{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){#page-about .ab-bios{grid-template-columns:1fr}}
