/* Base text */
body {
  font-size: clamp(16px, 1.2vw, 18px);
}

/* Headings */
h1 { font-size: clamp(32px, 4vw, 56px); }
h2,.et_pb_column_1_3 h2 { font-size: clamp(26px, 3vw, 40px); }
h3,.et_pb_column_1_3 h3 { font-size: clamp(22px, 2.2vw, 30px); }


/* === TEAM GRID: Person modules in 1 column, 2 columns, 3 columns === */

/* Make the column a grid container */
.team-grid {
  display: grid !important;
  gap: 12px;
}

/* <= 320px: 1 column */
@media (max-width: 320px) {
  .team-grid {
    grid-template-columns: 1fr;
  }
}

/* 321px–480px: 2 columns */
@media (min-width: 321px) and (max-width: 480px) {
  .team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* > 480px: 3 columns */
@media (min-width: 481px) {
  .team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Make each Person module behave like a clean grid item */
.team-grid .et_pb_team_member {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  flex-direction:column;
  text-align:left;
}

/* Optional: stop the internal "image left" layout from looking cramped */
@media (max-width: 480px) {
  .team-grid .et_pb_team_member_image {
    float: none !important;
    margin: 0 0 8px 0 !important;
    display: block;
  }
}