/* =========================================================
   JTS MODULE: TEAM GRID (jts-mod-team)
   Scope: .jts-mod-team__*
   ========================================================= */

.jts-mod-team{
  width:100%;
  padding: clamp(24px, 3vw, 46px) 0;
}

.jts-mod-team__inner{
  max-width: var(--max, 1200px);
  margin: 0 auto;
  padding: 0 20px;
}

.jts-mod-team__head{
  text-align:center;
  margin-bottom: 22px;
}

.jts-mod-team__title{
  margin: 0;
  font-size: clamp(22px, 2.4vw, 34px);
  line-height: 1.15;
  font-weight: 950;
  color: rgba(0,0,0,.88);
}

.jts-mod-team__subtitle{
  margin: 10px auto 0;
  max-width: 72ch;
  font-size: 14.5px;
  line-height: 1.6;
  color: rgba(0,0,0,.65);
}

.jts-mod-team__grid{
  display:grid;
  gap: 18px;
}

/* desktop columns variants */
.jts-mod-team--cols-2 .jts-mod-team__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.jts-mod-team--cols-3 .jts-mod-team__grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.jts-mod-team--cols-4 .jts-mod-team__grid{ grid-template-columns: repeat(4, minmax(0,1fr)); }

.jts-mod-team__card{
  background: transparent;
}

.jts-mod-team__link{
  display:block;
  color: inherit;
  text-decoration:none;
}

.jts-mod-team__photo{
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid rgba(0,0,0,.08);
  background: #f3f5f8;
  box-shadow: 0 18px 40px rgba(0,0,0,.10);
}

.jts-mod-team__img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio: 3 / 4;   /* portrait like screenshot */
  object-fit: cover;
}

.jts-mod-team__imgFallback{
  width:100%;
  aspect-ratio: 3 / 4;
  background:
    radial-gradient(circle at 25% 25%, rgba(246,220,87,.22), transparent 45%),
    radial-gradient(circle at 70% 30%, rgba(10,47,107,.14), transparent 42%),
    linear-gradient(135deg, rgba(0,0,0,.04), rgba(0,0,0,0));
}

.jts-mod-team__meta{
  text-align:center;
  padding-top: 10px;
}

.jts-mod-team__name{
  font-weight: 950;
  font-size: 15px;
  color: rgba(0,0,0,.88);
}

.jts-mod-team__role{
  margin-top: 4px;
  font-size: 12.5px;
  font-weight: 700;
  color: rgba(0,0,0,.60);
}

/* subtle hover, no global overrides */
.jts-mod-team__link:hover .jts-mod-team__photo{
  transform: translateY(-1px);
  transition: transform .15s ease, box-shadow .15s ease;
  box-shadow: 0 22px 52px rgba(0,0,0,.12);
}

/* responsive */
@media (max-width: 980px){
  .jts-mod-team--cols-4 .jts-mod-team__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .jts-mod-team--cols-3 .jts-mod-team__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 600px){
  .jts-mod-team__head{ text-align:left; }
  .jts-mod-team__subtitle{ margin-left:0; }
  .jts-mod-team__grid{ grid-template-columns: 1fr !important; }
  .jts-mod-team__meta{ text-align:left; }
}
