/* Team layout stays inside the existing dark, fluid official-site shell.
   Do not replace the site's background, logo, navigation colors or brand. */
body:has(.team-page) {
  --team-ink:#f6f3fa;
  --team-muted:#c4bdcf;
  --team-accent:#ffa3c8;
  --team-line:rgba(223,207,255,.2);
}
body:has(.team-page) > nav {
  background:rgba(9,8,23,.9);
  backdrop-filter:blur(20px);
}
body:has(.team-page) > nav :is(a,button):focus-visible { outline:2px solid var(--team-accent); outline-offset:5px; }
.team-page {
  width:min(1200px,90%);
  margin:0 auto;
  padding:132px 0 0;
  color:var(--team-ink);
  font-family:var(--font-body);
}
.team-page [hidden] { display:none !important; }
.team-page a { color:inherit; text-decoration:none; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.team-page a:focus-visible { outline:2px solid var(--team-accent); outline-offset:6px; }
.team-page :is(h1,h2,h3,p) { margin:0; }
.team-back { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--team-muted) !important; font-size:14px; transition:color .2s; }
.team-back:hover { color:var(--team-accent) !important; }
.team-back svg { width:17px; height:17px; flex-shrink:0; }
.team-hero { display:grid; grid-template-columns:1.3fr 1fr; align-items:end; gap:80px; padding:43px 0 75px; }
.team-eyebrow { color:var(--team-muted); font-size:15px; line-height:1.6; }
.team-hero h1 { margin-top:24px; font:600 clamp(44px,5.3vw,72px)/1.22 var(--font-heading); letter-spacing:-.055em; }
.team-intro { max-width:370px; padding-bottom:6px; }
.team-intro p { color:var(--team-muted); font-size:16px; line-height:1.9; }
.team-intro p + p { margin-top:20px; }
.team-section-label { display:flex; align-items:baseline; justify-content:space-between; gap:24px; padding:22px 0 30px; border-top:1px solid var(--team-line); }
.team-section-label p { font-size:17px; font-weight:600; }
.team-section-label > span { font-size:13px; color:var(--team-muted); line-height:1.7; }
.team-profiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:56px; row-gap:96px; padding-top:20px; }
.team-profile { min-width:0; scroll-margin-top:125px; }
.member-portrait {
  --portrait-scale:224.4%;
  --portrait-left:-23%;
  --portrait-top:0%;
  position:relative;
  width:120px;
  aspect-ratio:1;
  border-radius:50%;
  overflow:hidden;
  background:#0d0b1b;
}
/* Per-person source windows (x,y,size) center the head, not the whole poster:
   01 115,0,500; 02 120,15,500; 03 155,126,480;
   04 125,67,500; 05 120,20,480; 06 50,66,540.
   Every right edge is <=635, before poster text at x≈640.
   Original 1122x1402 files stay untouched; percentages scale on mobile. */
.member-portrait > img { position:absolute; display:block; width:var(--portrait-scale); max-width:none; height:auto; left:var(--portrait-left); top:var(--portrait-top); filter:none; }
.member-portrait[data-member="02"] { --portrait-left:-24%; --portrait-top:-3%; }
.member-portrait[data-member="03"] { --portrait-scale:233.75%; --portrait-left:-32.291667%; --portrait-top:-26.25%; }
.member-portrait[data-member="04"] { --portrait-left:-25%; --portrait-top:-13.4%; }
.member-portrait[data-member="05"] { --portrait-scale:233.75%; --portrait-left:-25%; --portrait-top:-4.166667%; }
.member-portrait[data-member="06"] { --portrait-scale:207.777778%; --portrait-left:-9.259259%; --portrait-top:-12.222222%; }
.member-content { padding-top:28px; }
.member-content h2 { margin-top:2px; font:400 18px/1.5 var(--font-body); letter-spacing:normal; }
.member-role { color:var(--team-muted); font-size:16px; line-height:1.5; }
.member-bio { margin-top:14px; }
.member-bio p { color:var(--team-ink); font-size:16px; line-height:1.7; }
.member-bio p + p { margin-top:8px; }
.member-experience { margin-top:20px; }
.member-experience h3 { margin-bottom:6px; color:var(--team-muted); font-size:14px; line-height:1.7; font-weight:400; }
.member-experience p { color:var(--team-muted); font-size:14px; line-height:1.75; }
.team-work-section { padding:64px 0; margin-top:74px; border-top:1px solid var(--team-line); }
.team-work-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:30px; }
.team-work-heading h2 { font:600 clamp(25px,3vw,34px)/1.4 var(--font-heading); letter-spacing:-.025em; }
.team-work-heading p { color:var(--team-muted); font-size:15px; line-height:1.8; margin-top:11px; }
.team-text-link { display:inline-flex; gap:15px; align-items:center; min-height:44px; flex-shrink:0; font-size:14px; transition:color .2s; }
.team-text-link:hover { color:var(--team-accent); }
.team-text-link svg { width:18px; height:18px; }
.team-work-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.team-work-link { display:block; min-width:0; padding:10px; overflow:hidden; border:1px solid var(--team-line); border-radius:20px; background:rgba(15,12,27,.48); box-shadow:0 8px 24px rgba(0,0,0,.14); transition:border-color .2s,background .2s,box-shadow .2s; }
.team-work-image { position:relative; aspect-ratio:16/10; overflow:hidden; border-radius:12px; background:#0d0b1b; }
.team-work-image > img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.team-work-caption { display:flex; align-items:start; justify-content:space-between; gap:18px; padding:17px 8px 12px; }
.team-work-caption h3 { font-size:19px; line-height:1.4; font-weight:600; }
.team-work-caption p { font-size:13px; color:var(--team-muted); line-height:1.7; margin-top:5px; }
.team-work-caption > svg { width:20px; height:20px; flex-shrink:0; margin-top:4px; }
.team-work-link:hover .team-work-image > img { transform:scale(1.025); }
.team-work-link:hover,.team-work-link:focus-visible { border-color:rgba(255,163,200,.55); background:rgba(24,17,37,.64); box-shadow:0 12px 28px rgba(0,0,0,.2); }
.team-work-link:hover h3 { color:var(--team-accent); }
.team-work-link:active { opacity:.82; }
.team-outro { display:flex; align-items:end; justify-content:space-between; gap:32px; padding:43px 0 50px; border-top:1px solid var(--team-line); }
.team-outro p { color:var(--team-muted); font-size:15px; line-height:1.8; }
.team-contact { display:inline-flex; align-items:center; gap:28px; margin-top:12px; min-height:48px; font-size:30px; line-height:1.5; font-weight:500; transition:color .2s; }
.team-contact:hover { color:var(--team-accent); }
.team-contact svg { width:25px; height:25px; }
@media (max-width:1024px) {
  .team-hero { gap:44px; }
  .team-profiles { column-gap:36px; }
}
@media (max-width:900px) {
  .team-profiles { grid-template-columns:repeat(2,minmax(0,1fr)); gap:80px 40px; }
  .team-section-label { align-items:start; }
  .team-section-label > span { max-width:280px; text-align:right; }
  .team-work-grid { gap:20px; }
}
@media (max-width:768px) {
  body:has(.team-page) > nav .nav-toggle { min-width:44px; min-height:44px; justify-content:center; }
  .team-page { padding-top:112px; }
  .team-hero { padding:30px 0 44px; gap:32px; }
  .team-hero h1 { font-size:46px; }
  .team-intro p { font-size:15px; }
  .team-work-heading { align-items:start; }
  .team-work-section { margin-top:48px; padding:44px 0; }
}
@media (max-width:600px) {
  .team-page { width:calc(100% - 40px); }
  .team-hero { grid-template-columns:1fr; gap:24px; }
  .team-hero h1 { font-size:clamp(42px,11vw,62px); margin-top:18px; }
  .team-intro { max-width:400px; }
  .team-intro p { font-size:16px; line-height:1.85; }
  .team-intro p + p { margin-top:12px; }
  .team-section-label { padding:20px 0 25px; }
  .team-section-label > span { display:none; }
  .team-profiles { grid-template-columns:1fr; gap:60px; padding-top:12px; }
  .member-portrait { width:112px; }
  .member-content { padding-top:24px; }
  .member-experience p { font-size:15px; }
  .team-work-heading { flex-direction:column; gap:10px; }
  .team-work-grid { grid-template-columns:1fr; gap:30px; }
  .team-work-image { aspect-ratio:16/9; }
  .team-outro { align-items:start; flex-direction:column; padding:34px 0; gap:22px; }
}
@media (prefers-reduced-motion:reduce) {
  .team-page *, .team-page *::before, .team-page *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; }
}
