.sec-team__list{
  display:grid;
  gap:var(--gap-md, 28px);
}

.sec-team__card{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.sec-team__photo{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:var(--card-radius, 10px);
  background:var(--c-bg-alt);
}
.sec-team__photo img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.sec-team__card:hover .sec-team__photo img{transform:scale(1.04)}

.sec-team__info{
  flex:1;
  display:flex;
  flex-direction:column;
  padding-top:18px;
}

.sec-team__head{
  display:flex;align-items:baseline;
  gap:8px;flex-wrap:wrap;
}
.sec-team__name{
  font-family:var(--f-head);
  font-size:20px;
  font-weight:var(--fw-head);
  letter-spacing:-.02em;
}
.sec-team__role{
  font-size:var(--fs-sm);
  font-weight:600;
  color:var(--c-primary);
}

.sec-team__tags{
  display:flex;flex-wrap:wrap;
  gap:6px;
  margin-top:12px;
}
.sec-team__tags li{
  padding:4px 10px;
  font-size:12px;
  line-height:1.4;
  color:var(--c-text-mute);
  background:var(--c-bg-alt);
  border-radius:999px;
}

.sec-team__body{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--c-line);
  font-size:var(--fs-sm);
  line-height:1.7;
  color:var(--c-text-mute);
}
.sec-team__body ul{display:grid;gap:4px}
.sec-team__body li{padding-left:12px;position:relative}
.sec-team__body li::before{
  content:'';
  position:absolute;left:0;top:.62em;
  width:4px;height:4px;
  border-radius:50%;
  background:var(--c-primary);
  opacity:.6;
}

.sec-team__contact{
  margin-top:14px;
  display:grid;gap:4px;
  font-size:var(--fs-sm);
}
.sec-team__contact a{color:var(--c-text-mute)}
.sec-team__contact a:hover{color:var(--c-primary);text-decoration:underline}

/* 약력·연락처 길이가 달라도 SNS 는 카드 바닥에 붙는다 */
.sec-team__sns{
  display:flex;gap:8px;
  margin-top:auto;
  padding-top:16px;
}
.sec-team__sns-link{
  display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;
  border-radius:50%;
  color:var(--c-text-mute);
  background:var(--c-bg-alt);
  transition:var(--tr);
}
.sec-team__sns-link svg{width:17px;height:17px}
.sec-team__sns-link:hover{color:#fff;background:var(--c-primary)}

/* --a  카드 (인원 수에 따라 자동 열) */
.sec-team--a .sec-team__list{
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  max-width:1180px;
  margin:0 auto;
}

/* --b  가로형 — 좌 사진 / 우 정보. 2~3명일 때 */
.sec-team--b .sec-team__list{
  grid-template-columns:repeat(auto-fit,minmax(420px,1fr));
}
.sec-team--b .sec-team__card{
  flex-direction:row;
  gap:24px;
  padding:24px;
  background:var(--c-bg);
  border:1px solid var(--c-line);
  border-radius:var(--card-radius, 10px);
}
.sec-team--b .sec-team__photo{
  flex:0 0 180px;
  align-self:flex-start;
}
.sec-team--b .sec-team__info{padding-top:0}

/* --c  원형 — 사진 + 이름·직함만 */
.sec-team--c .sec-team__list{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  max-width:1100px;
  margin:0 auto;
}
.sec-team--c .sec-team__card{text-align:center}
.sec-team--c .sec-team__photo{
  aspect-ratio:1;
  width:150px;
  margin:0 auto;
  border-radius:50%;
}
.sec-team--c .sec-team__head{justify-content:center}
.sec-team--c .sec-team__tags,
.sec-team--c .sec-team__body,
.sec-team--c .sec-team__contact{display:none}
.sec-team--c .sec-team__sns{justify-content:center}

@media (max-width:768px){
  .sec-team--a .sec-team__list,
  .sec-team--b .sec-team__list{grid-template-columns:1fr}

  /* 좁은 화면에서 가로형은 세로로 되돌린다 */
  .sec-team--b .sec-team__card{flex-direction:column;gap:0}
  .sec-team--b .sec-team__photo{flex:none;width:100%}
  .sec-team--b .sec-team__info{padding-top:18px}

  .sec-team__name{font-size:18px}
}