.tm-team-page { color:#4e4c4c; font-family:'Open Sans',sans-serif; }
.tm-team-page h1,.tm-team-page h2,.tm-team-page h3 { text-transform:none; letter-spacing:-.025em; }
.tm-team-page h1,.tm-team-page h2 { text-wrap:balance; }
.tm-team-page p:last-child { margin-bottom:0; }
.tm-team-page .e-con,.tm-team-page .elementor-widget { min-width:0; }
.tm-team-page .elementor-button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; }
.tm-team-page a:focus-visible,.tm-team-grid a:focus-visible { outline:3px solid #172376; outline-offset:5px; }
.tm-team-grid { --tm-team-accent:#172376; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:28px 26px; font-family:'Open Sans',sans-serif; }
.tm-team-card { display:flex; flex-direction:column; grid-column:span 2; min-width:0; background:#fff; border:1px solid #e4e2df; border-radius:8px; overflow:hidden; }
/* Half-card columns center incomplete rows while retaining shared text tracks. */
@media(min-width:1025px) {
  .tm-team-card:last-child:nth-child(3n + 1) { grid-column:3 / span 2; }
  .tm-team-card:nth-last-child(2):nth-child(3n + 1) { grid-column:2 / span 2; }
}
/* Override pixel heights saved by the earlier Elementor widget version. */
.tm-team-card__photo { position:relative; display:flex; width:100%; height:auto !important; aspect-ratio:var(--tm-team-photo-ratio,1 / 1); align-self:start; align-items:center; justify-content:center; background:#eeeae4; overflow:hidden; }
.tm-team-card__photo img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center 20%; }
.tm-team-card__initials { color:var(--tm-team-accent); font:500 56px/1 'Montserrat',sans-serif; letter-spacing:-.06em; }
.tm-team-card__body { display:flex; flex:1; flex-direction:column; padding:22px; }
.tm-team-card h3 { margin:0 0 10px; font:600 22px/1.3 'Montserrat',sans-serif; letter-spacing:-.025em; text-transform:none; }
.tm-team-card h3 a { color:var(--tm-team-accent); text-decoration:none; }
.tm-team-card h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.tm-team-card__job { margin:0 0 10px; color:var(--tm-team-accent); font-size:16px; font-weight:600; line-height:1.5; }
.tm-team-card__audience { min-height:1.6em; margin:0 0 14px; padding-bottom:14px; border-bottom:1px solid #e4e2df; color:#45454f; font-size:14px; font-weight:600; line-height:1.6; }
.tm-team-card__excerpt { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; margin:0 0 16px; color:#45454f; font-size:16px; line-height:1.6; }
.tm-team-card__actions { margin-top:auto; display:flex; flex-direction:column; gap:10px; }
.tm-team-card__profile { display:flex; gap:12px; justify-content:space-between; align-items:center; min-height:44px; padding:7px 0; color:var(--tm-team-accent); border-bottom:1px solid #d9dbe3; font-size:15px; font-weight:600; text-decoration:none; }
.tm-team-card__profile:hover { color:var(--tm-team-accent); border-color:var(--tm-team-accent); }
.tm-team-card__booking { display:flex; justify-content:center; align-items:center; min-height:48px; padding:10px 16px; border:1px solid var(--tm-team-accent); border-radius:5px; background:var(--tm-team-accent); color:#fff; font-size:16px; font-weight:600; text-decoration:none; }
.tm-team-card__booking:hover,.tm-team-card__booking:focus { color:#fff; background:#101b59; border-color:#101b59; }
/* Each row shares content tracks, including an empty audience field. */
@supports (grid-template-rows:subgrid) {
  .tm-team-card { display:grid; grid-row:span 6; grid-template-rows:subgrid; row-gap:0; }
  .tm-team-card__body { display:grid; grid-row:span 5; grid-template-rows:subgrid; row-gap:0; }
  .tm-team-card h3 { grid-row:1; }
  .tm-team-card__job { grid-row:2; }
  .tm-team-card__audience { grid-row:3; }
  .tm-team-card__excerpt { grid-row:4; align-self:start; }
  .tm-team-card__actions { grid-row:5; margin-top:0; align-self:end; }
}
@media(min-width:768px) and (max-width:1024px) {
  .tm-team-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
  .tm-team-card:last-child:nth-child(odd) { grid-column:2 / span 2; }
}
@media(max-width:767px) {
  .tm-team-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .tm-team-card { grid-column:1; max-width:440px; width:100%; justify-self:center; }
  .tm-team-card__body { padding:20px; }
  .tm-team-page .elementor-button { max-width:100%; white-space:normal; }
}
