/* Meet the Team: complete profiles with replaceable photos and original name art. */
.team-page { --team-panel: rgba(22,24,26,.98); }
.team-intro { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:64px; padding:68px 0 38px; }
.team-intro h1 { margin:0; font-size:clamp(2.8rem,5.5vw,4.7rem); font-weight:500; line-height:1.07; letter-spacing:-.045em; }
.team-intro-copy p { margin:0 0 16px; max-width:580px; line-height:1.8; color:#e1e7e7; font-size:.96rem; }
.team-jump { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 38px; padding-top:18px; border-top:1px solid var(--sa-line); }
.team-jump a { display:inline-flex; align-items:center; min-height:44px; padding:10px 18px; border:1px solid #ffffff30; border-radius:4px; background:#171b1ddd; text-decoration:none; color:#eee; font-size:.82rem; }
.team-jump a:hover { color:var(--sa-amber-soft); border-color:var(--sa-amber); }
.team-page a:focus-visible { outline:2px solid var(--sa-amber-soft); outline-offset:4px; }
.team-profile { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:44px; padding:38px; margin-bottom:28px; background:var(--team-panel); border:1px solid var(--sa-line); border-radius:8px; scroll-margin-top:115px; }
.team-profile.team-owner { grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr); border-top:3px solid var(--sa-teal); }
.team-visual { min-width:0; align-self:start; display:flex; flex-direction:column; align-items:center; gap:24px; }
.team-photo { display:block; width:100%; height:260px; object-fit:contain; padding:22px; border-radius:5px; background:#fff; }
.team-owner .team-photo { height:auto; aspect-ratio:4/5; object-fit:cover; padding:0; }
.team-mark { display:block; width:auto; max-width:min(100%,300px); height:160px; object-fit:contain; border-radius:4px; }
.team-copy { min-width:0; }
.team-profile-heading { display:flex; justify-content:space-between; align-items:start; gap:16px; margin-bottom:24px; }
.team-role { margin:0 0 9px; color:#a9c6c1; font-size:.79rem; line-height:1.5; letter-spacing:.04em; }
.team-profile h2 { margin:0; font-size:clamp(2rem,3.5vw,2.8rem); font-weight:500; line-height:1.12; letter-spacing:-.03em; }
.team-owner h2 { font-size:clamp(2rem,3.8vw,3rem); }
.team-status { display:inline-flex; flex-shrink:0; align-items:center; min-height:30px; padding:5px 10px; border:1px solid #dbad5880; border-radius:4px; color:#f1c678; font-size:.69rem; font-weight:600; letter-spacing:.05em; }
.team-bio { color:#d7dfdf; font-size:.92rem; line-height:1.85; }
.team-bio p { margin:0 0 17px; }
.team-bio > p:first-child { color:#f3f5f4; }
.team-dialogue { padding:12px 16px; border-radius:3px; }
.team-electronic { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; color:#f6c86a; background:#322a1b; border-left:2px solid #e8b850; }
.team-translation { color:#c1ded9; background:#192d2b; border-left:2px solid #5c9c8f; font-size:.87rem; }
.team-copy h3 { margin:28px 0 12px; color:#a7c2bd; font-size:.71rem; letter-spacing:.13em; font-weight:600; text-transform:uppercase; }
.team-specialties { display:flex; flex-wrap:wrap; list-style:none; gap:8px; margin:0; padding:0; }
.team-specialties li { padding:7px 10px; color:#d9e4e1; background:#1b2827; border:1px solid #80a79d38; border-radius:3px; font-size:.71rem; line-height:1.5; }
.team-group-heading { padding:30px 0 24px; }
.team-group-heading .portfolio-kicker { margin-bottom:10px; }
.team-group-heading h2 { font-size:clamp(1.6rem,2.8vw,2.2rem); font-weight:500; letter-spacing:-.02em; line-height:1.3; margin:0; }
.team-cta-links { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.team-page .portfolio-cta { margin-top:44px; }
@media (max-width:940px) {
  .team-intro { grid-template-columns:1fr; gap:25px; padding-top:42px; }
  .team-intro-copy p { max-width:760px; }
  .team-profile, .team-profile.team-owner { grid-template-columns:minmax(190px,.65fr) minmax(0,1.35fr); padding:26px; gap:28px; }
  .team-photo { height:210px; padding:16px; }
  .team-profile-heading { flex-wrap:wrap; }
}
@media (max-width:640px) {
  .team-intro { padding-top:34px; gap:22px; }
  .team-intro-copy p { font-size:.9rem; }
  .team-jump { gap:8px; margin-bottom:25px; }
  .team-jump a { padding:9px 13px; }
  .team-profile, .team-profile.team-owner { grid-template-columns:1fr; gap:24px; padding:22px 18px; scroll-margin-top:96px; }
  .team-visual { width:100%; gap:16px; }
  .team-photo { height:205px; }
  .team-owner .team-photo { max-height:400px; aspect-ratio:1; }
  .team-mark { height:120px; max-width:260px; }
  .team-bio { font-size:.89rem; }
  .team-profile-heading { margin-bottom:20px; }
  .team-status { margin-top:4px; }
  .team-specialties li { font-size:.7rem; }
}
