/* ════════════════════════════════════════════════════════════
   pages/team.css — Core team card grid + detail modal
   (design approach mirrors the geo-aerial-team plugin)
   ════════════════════════════════════════════════════════════ */

/* ─── CARD GRID ──────────────────────────────────────────── */
.team-grid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tm-card{
  position:relative;display:flex;flex-direction:column;text-align:left;
  background:var(--card);border:1.5px solid var(--card-border);border-radius:14px;
  overflow:hidden;cursor:pointer;font-family:inherit;padding:0;transition:all .2s;
}
.tm-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--accent)}
.tm-card.is-founder{border-color:var(--accent-light)}
.tm-photo{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(160deg,var(--accent-light),var(--accent2-light))}
.tm-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .4s}
.tm-card:hover .tm-photo img{transform:scale(1.05)}
.tm-photo-ph{display:flex;align-items:center;justify-content:center}
.tm-photo-ph::after{content:'';width:46px;height:46px;border-radius:50%;background:rgba(17,85,204,.18)}
.tm-badge{position:absolute;top:12px;left:12px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--accent);padding:4px 10px;border-radius:20px;z-index:1}
.tm-info{display:flex;flex-direction:column;gap:4px;padding:18px 18px 20px}
.tm-name{font-size:16.5px;font-weight:700;color:var(--text)}
.tm-role{font-size:12.5px;color:var(--text-muted);line-height:1.45;min-height:34px}
.tm-view{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--accent);margin-top:8px}
.tm-view svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.tm-card:hover .tm-view svg{transform:translateX(4px)}

.team-note{
  text-align:center;margin-top:40px;padding:24px;
  background:var(--bg-alt);border-radius:12px;
  font-size:14.5px;color:var(--text-muted);line-height:1.7;
}

/* ─── DETAIL MODAL ───────────────────────────────────────── */
.tm-modal{
  position:fixed;inset:0;z-index:1000;display:none;
  align-items:center;justify-content:center;padding:24px;
  background:rgba(3,8,15,.62);backdrop-filter:blur(4px);
}
.tm-modal.open{display:flex;animation:tmFade .2s ease}
@keyframes tmFade{from{opacity:0}to{opacity:1}}
.tm-modal-box{
  position:relative;width:100%;max-width:680px;max-height:90vh;overflow-y:auto;
  background:var(--card);border:1.5px solid var(--card-border);border-radius:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.45);animation:tmRise .25s ease;
}
@keyframes tmRise{from{transform:translateY(16px);opacity:.6}to{transform:translateY(0);opacity:1}}
.tm-modal-close{
  position:absolute;top:14px;right:14px;z-index:2;width:34px;height:34px;border-radius:8px;
  background:rgba(0,0,0,.28);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;
}
.tm-modal-close:hover{background:rgba(0,0,0,.5)}
.tm-modal-close svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tm-modal-band{display:flex;gap:20px;align-items:center;padding:26px 28px;background:var(--bg-dark);border-radius:16px 16px 0 0}
.tm-modal-photo{width:96px;height:96px;border-radius:14px;overflow:hidden;flex-shrink:0;background:rgba(255,255,255,.1)}
.tm-modal-photo img{width:100%;height:100%;object-fit:cover;object-position:top}
.tm-modal-name{font-size:21px;font-weight:800;color:#fff}
.tm-modal-role{font-size:13px;font-weight:600;color:var(--accent2);margin:3px 0 10px}
.tm-modal-chips{display:flex;flex-wrap:wrap;gap:6px}
.tm-chip{font-size:11px;font-weight:600;color:rgba(255,255,255,.82);background:rgba(255,255,255,.1);padding:4px 9px;border-radius:6px}
.tm-modal-body{padding:24px 28px 28px}
.tm-modal-bio{font-size:14.5px;color:var(--text-muted);line-height:1.8;margin-bottom:20px}
.tm-modal-sec{margin-bottom:20px}
.tm-modal-sec h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);margin-bottom:10px}
.tm-modal-list{list-style:none;display:flex;flex-direction:column;gap:8px}
.tm-modal-list li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--text-muted);line-height:1.5}
.tm-modal-list li svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-top:2px}
.tm-exp{font-size:13.5px;color:var(--text-muted);line-height:1.65}
.tm-pubs-note{font-size:13px;color:var(--text-muted);margin-bottom:12px}
.tm-pub-list{list-style:none;display:flex;flex-direction:column;gap:14px}
.tm-pub-list li{padding-left:14px;border-left:2px solid var(--accent-light)}
.tm-pub-t{font-size:14px;font-weight:600;line-height:1.4}
.tm-pub-t a{color:var(--accent)}
.tm-pub-m{font-size:12.5px;color:var(--text-muted);margin-top:4px;line-height:1.5}
.tm-modal-contact{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.tm-modal-contact-tx{font-size:14px;color:var(--text-muted)}
.tm-modal-contact-tx strong{color:var(--text);font-weight:700}

@media(max-width:860px){ .team-grid-cards{grid-template-columns:1fr 1fr} }
@media(max-width:560px){
  .team-grid-cards{grid-template-columns:1fr}
  .tm-modal-band{flex-direction:column;text-align:center}
  .tm-modal-chips{justify-content:center}
  .tm-modal-contact{flex-direction:column;align-items:stretch;text-align:center}
}
