/* Team profiles: editorial rhythm in the established neoSKiN palette. */
body.team-document .bios {
  display: block;
  padding-block: clamp(64px, 7vw, 104px);
}
body.team-document .bios > .bio {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  column-gap: clamp(48px, 5vw, 80px);
  align-items: start;
  min-height: 0;
  margin: 0;
  padding: 0 0 clamp(64px, 7vw, 104px);
}
body.team-document .bios > .bio + .bio {
  border-top: 1px solid rgba(51, 53, 43, .18);
  padding-top: clamp(64px, 7vw, 104px);
}
body.team-document .bios > .bio:last-child { padding-bottom: 0; }
body.team-document .bio-copy {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  max-width: 640px;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.team-document .bios > .bio .bio-media {
  grid-column: 2;
  grid-row: 1;
  position: static !important;
  align-self: start !important;
  justify-self: end;
  order: 0;
  width: 100%;
  max-width: 360px !important;
  margin: 0;
}
body.team-document .bio-image-frame {
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #fff;
}
body.team-document .bio-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center top;
  transform: none;
  transform-origin: center 22%;
  border-radius: 0;
  box-shadow: none;
}
body.team-document .bio-copy h2 { margin: 0 0 4px; }
body.team-document .bio-role {
  margin: 0 0 28px;
  font: 500 14px/1.5 var(--sans);
  letter-spacing: 0;
  text-transform: none;
  color: #59604f;
}
body.team-document .bio-copy p:not(.bio-role):not(.bio-spec-h) {
  max-width: 58ch;
  margin: 0 0 20px;
  line-height: 1.72;
}
body.team-document .bio-spec-h {
  margin: 32px 0 0 !important;
  padding-top: 22px;
  border-top: 1px solid rgba(51, 53, 43, .18);
}
body.team-document .bio-spec { max-width: 58ch; margin: 18px 0 0; }
body.team-document .bio-exp { margin-top: 12px; font-size: 11px; letter-spacing: .1em; }
@media (max-width: 900px) {
  body.team-document .bios > .bio {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 28px;
    padding-bottom: 64px;
  }
  body.team-document .bios > .bio + .bio { padding-top: 64px; }
  body.team-document .bio-copy { grid-column: 1; grid-row: 2; }
  html body.team-document .bios > .bio .bio-media {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    max-width: min(100%, 360px) !important;
  }
}
@media (max-width: 600px) {
  body.team-document .bios { padding-block: 48px 64px; }
  body.team-document .bios > .bio { row-gap: 24px; padding-bottom: 56px; }
  body.team-document .bios > .bio + .bio { padding-top: 56px; }
  body.team-document .bio-spec { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}

/* Keep the group portrait and individual profiles at a comparable, quieter scale. */
html body.team-document.page-open .t-hero-img {max-width:400px!important;}
@media(max-width:600px){
 html body.team-document .bios > .bio .bio-media{max-width:300px!important;}
 html body.team-document.page-open .t-hero-img{max-width:300px!important;}
}

/* The group image belongs beside the introduction, fully inside the page. */
html body.team-document.page-open .tm-hero {
  padding: calc(var(--nav-h, 80px) + 48px) 0 72px !important;
}
html body.team-document.page-open .container.t-hero-grid {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  min-height: 0 !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 500px) !important;
  gap: clamp(48px, 5vw, 80px) !important;
  align-items: center !important;
}
html body.team-document.page-open .t-hero-grid > div {
  padding: 0 !important;
  align-self: center !important;
}
html body.team-document.page-open .t-hero-img {
  width: 100% !important;
  max-width: 500px !important;
  margin: 0 !important;
  aspect-ratio: 6 / 5 !important;
  align-self: center !important;
  justify-self: end !important;
  overflow: hidden !important;
}
html body.team-document.page-open .t-hero-img img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center 20% !important;
  transform: none !important;
}
@media (max-width: 900px) {
  html body.team-document.page-open .tm-hero {
    padding: calc(var(--nav-h, 72px) + 32px) 0 48px !important;
  }
  html body.team-document.page-open .container.t-hero-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
    padding-inline: 0 !important;
  }
  html body.team-document.page-open .t-hero-img {
    max-width: 540px !important;
    justify-self: start !important;
  }
}
