/* Layout variant of team.css. Appearance belongs to the original team__* classes. */
.team-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--card-gap); }
.team-grid__card { min-width:0; display:flex; flex-direction:column; }
.team-grid__photo { height:190px; }
.team-grid__info { padding:1rem; }
.team-grid__link { min-height:44px; align-self:flex-start; }
.team-grid-section__inner { max-width:var(--container-max); margin:auto; }
.team-grid-section__intro { margin-bottom:2rem; }
.team-grid-section__more { margin-top:1.5rem; min-height:44px; }
@media(max-width:900px){.team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media(max-width:480px){.team-grid { gap:.75rem; }.team-grid__info { padding:.75rem; }.team-grid__photo { height:155px; }}
@media(max-width:350px){.team-grid { grid-template-columns:1fr; }}

/* Native scrolling keeps all professionals reachable with touch and keyboard. */
.team-grid--carousel { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:calc((100% - 3 * var(--card-gap)) / 4); overflow-x:auto; scroll-snap-type:x mandatory; padding:0.6rem 0 1rem; }
.team-grid--carousel > .team-grid__card { scroll-snap-align:start; }
.team-grid-section__controls { display:flex; justify-content:flex-end; gap:1rem; margin-top:1rem; }
@media(max-width:900px){.team-grid--carousel { grid-template-columns:none; grid-auto-columns:calc((100% - var(--card-gap)) / 2); }}
@media(max-width:480px){.team-grid--carousel { grid-auto-columns:85%; }}

.team-grid-section__controls .team__nav { display:flex; }
