/* TEAM gallery — follows the event / booth card layout */

.team-gallery-section{padding-top:clamp(24px,3vw,40px);padding-bottom:clamp(48px,6vw,88px)}
.team-gallery-admin-head{margin-bottom:18px}
.team-gallery-admin-head .section-title{margin:0}

.team-gallery-group + .team-gallery-group{margin-top:clamp(28px,4vw,48px)}
.team-gallery-group-head{margin:0 0 14px}
.team-gallery-group-title{
  margin:0;
  font-size:clamp(16px,1.6vw,22px);
  letter-spacing:-.02em;
  line-height:1.25;
}
.team-gallery-group-desc{
  margin:8px 0 0;
  color:#8f8f94;
  font-size:11px;
  line-height:1.5;
  max-width:40rem;
}

.team-gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(12px,1.6vw,18px);
  width:100%;
  max-width:min(100%,1280px);
  margin:8px auto 0;
}

.team-gallery-card{
  appearance:none;
  border:1px solid rgba(255,255,255,.08);
  background:#141416;
  cursor:pointer;
  font:inherit;
  color:inherit;
  width:100%;
  padding:10px 10px 12px;
  display:grid;
  gap:9px;
  justify-items:center;
  text-align:center;
  min-width:0;
  transition:border-color .22s ease,background .22s ease;
}
.team-gallery-card:hover,
.team-gallery-card:focus-visible{
  border-color:rgba(224,29,38,.4);
  background:#19191c;
  outline:none;
}
.team-gallery-thumb{
  width:100%;
  aspect-ratio:4 / 3;
  border:1px solid rgba(255,255,255,.08);
  background-color:#0c0c0e;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  transition:border-color .22s ease,transform .35s cubic-bezier(.2,.8,.2,1);
}
.team-gallery-card:hover .team-gallery-thumb,
.team-gallery-card:focus-visible .team-gallery-thumb{
  border-color:rgba(224,29,38,.55);
  transform:translateY(-2px);
}
.team-gallery-card .event-card-title{
  font-size:clamp(12px,1.05vw,14px);
  line-height:1.45;
}
.team-gallery-card .event-card-period{
  font-size:13px;
}
.team-gallery-source{
  display:block;
  color:#7a7a80;
  font-size:11px;
  font-weight:650;
  letter-spacing:.01em;
}
.team-gallery-source a{
  color:#9a9aa0;
  text-decoration:underline;
  text-underline-offset:2px;
}
.team-gallery-source a:hover{color:#fff}

@media(max-width:1080px){
  .team-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .team-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .team-gallery-card{padding:8px 8px 10px;gap:7px}
  .team-gallery-thumb{aspect-ratio:1 / 1}
  .team-gallery-card .event-card-title{font-size:12px}
  .team-gallery-card .event-card-period,.team-gallery-source{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .team-gallery-thumb{transition:none}
  .team-gallery-card:hover .team-gallery-thumb,
  .team-gallery-card:focus-visible .team-gallery-thumb{transform:none}
}
