/* A portrait-led hierarchy. Each whole profile opens its own page. */
#team .public-section-head { align-items: center; }
.team-pyramid { padding: 50px 48px; border-radius: 28px; background: #f0ede6; }
.team-tier { margin-inline: auto; }
.team-tier + .team-tier { margin-top: 34px; }
.team-tier--lead { max-width: 540px; }
.team-tier--executive { max-width: 660px; }
.team-tier--specialists { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.team-profile { display: grid; grid-template-columns: 190px minmax(0,1fr); align-items: center; gap: 28px; min-width: 0; padding: 16px; border-radius: 22px; background: #fffefa; color: #102b3e; box-shadow: 0 8px 24px #243b4a05; text-decoration: none; transition: transform 280ms cubic-bezier(.22,.68,.18,1), box-shadow 280ms ease, background-color 280ms ease; }
.team-profile, .team-profile * { cursor: pointer; }
.team-profile:focus-visible { outline: 2px solid #8b6837; outline-offset: 5px; }
.team-portrait { margin: 0; overflow: hidden; border-radius: 14px; background: #dedbd5; }
.team-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; transition: transform 500ms cubic-bezier(.22,.68,.18,1); }
.team-profile-copy { min-width: 0; padding: 8px 14px 8px 0; }
.team-position { display: block; margin-bottom: 9px; color: #80602f; font-size: 13px; letter-spacing: .12em; }
.public-body .team-profile h3 { margin: 0; color: #102b3e; font-size: 30px; line-height: 1.45; font-weight: 550; text-wrap: balance; }
.team-profile-copy > p { margin: 16px 0 20px; color: #5a6c76; font-size: 14px; line-height: 1.9; }
.team-profile-action { display: flex; align-items: center; gap: 18px; min-height: 44px; color: #80602f; font-size: 13px; }
.team-profile-arrow { display: inline-grid; place-items: center; flex-shrink: 0; width: 35px; height: 35px; border-radius: 50%; background: #eee7da; color: #74582f; font: 21px/1 Arial,sans-serif; transition: transform 280ms ease, background-color 280ms ease, color 280ms ease; }
.team-tier--executive .team-profile { grid-template-columns: 176px minmax(0,1fr); gap: 32px; }
.team-tier--executive .team-profile-copy { padding-right: 30px; }
.public-body .team-tier--executive h3 { font-size: 28px; }
.team-tier--specialists .team-profile { display: flex; flex-direction: column; align-items: stretch; gap: 0; height: 100%; padding: 16px; }
.team-tier--specialists .team-portrait { width: 100%; max-width: 224px; margin-inline: auto; }
.team-tier--specialists .team-portrait img { aspect-ratio: 4 / 5; }
.team-tier--specialists .team-profile-copy { display: flex; flex: 1; flex-direction: column; padding: 22px 8px 2px; }
.public-body .team-tier--specialists h3 { font-size: 22px; }
.team-tier--specialists .team-profile-copy > p { margin: 12px 0 18px; }
.team-tier--specialists .team-profile-action { margin-top: auto; justify-content: space-between; }
@media (hover:hover) and (pointer:fine) {
  .team-profile:hover { color: #102b3e; background: #fff; transform: translateY(-4px); box-shadow: 0 15px 36px #243b4a12; }
  .team-profile:hover .team-portrait img { transform: scale(1.035); }
  .team-profile:hover .team-profile-arrow { background: #17394c; color: #f0dbb6; transform: rotate(45deg); }
}
.team-profile:active { transform: translateY(-1px); }
@media (max-width:1100px) {
  .team-pyramid { padding: 38px 30px; }
  .team-tier--specialists { gap: 18px; }
  .public-body .team-tier--specialists h3 { font-size: 20px; }
  .team-tier--specialists .team-profile-copy { padding-inline: 2px; }
}
@media (max-width:900px) {
  .team-pyramid { padding: 30px 26px; }
  .team-tier--lead { max-width: 460px; }
  .team-tier--executive { max-width: 520px; }
  .team-profile { grid-template-columns: 160px minmax(0,1fr); gap: 22px; }
  .team-tier--executive .team-profile { grid-template-columns: 160px minmax(0,1fr); gap: 24px; }
  .team-tier--executive .team-profile-copy { padding-right: 12px; }
  .team-tier--specialists { grid-template-columns: 1fr; gap: 20px; }
  .team-tier--specialists .team-profile { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 26px; }
  .team-tier--specialists .team-portrait { max-width: none; }
  .team-tier--specialists .team-portrait img { aspect-ratio: 4 / 5; }
  .team-tier--specialists .team-profile-copy { display: block; padding: 12px; }
  .public-body .team-tier--specialists h3 { font-size: 23px; }
  .team-tier--specialists .team-profile-action { justify-content: flex-start; }
}
@media (max-width:575px) {
  #team .public-section-head { align-items: start; }
  .team-pyramid { margin-inline: -3px; padding: 22px 14px; border-radius: 20px; }
  .team-tier + .team-tier { margin-top: 20px; }
  .team-tier--lead { max-width: 294px; }
  .team-tier--executive { max-width: 312px; }
  .team-profile, .team-tier--executive .team-profile, .team-tier--specialists .team-profile { grid-template-columns: 96px minmax(0,1fr); gap: 14px; padding: 12px; border-radius: 17px; }
  .team-portrait { align-self: start; border-radius: 10px; }
  .team-portrait img { aspect-ratio: 4 / 5; }
  .team-profile-copy, .team-tier--executive .team-profile-copy, .team-tier--specialists .team-profile-copy { padding: 4px 0 0; }
  .public-body .team-profile h3, .public-body .team-tier--executive h3, .public-body .team-tier--specialists h3 { font-size: 21px; }
  .team-profile-copy > p, .team-tier--specialists .team-profile-copy > p { margin: 10px 0 12px; font-size: 14px; line-height: 1.8; }
  .team-profile-action { font-size: 12px; gap: 9px; min-height: 44px; }
  .team-profile-arrow { width: 28px; height: 28px; font-size: 18px; }
  .team-tier--specialists { gap: 16px; }
}
@media (max-width:360px) {
  .team-pyramid { padding-inline: 10px; }
  .team-profile, .team-tier--executive .team-profile, .team-tier--specialists .team-profile { grid-template-columns: 82px minmax(0,1fr); gap: 12px; padding: 10px; }
  .public-body .team-profile h3, .public-body .team-tier--executive h3, .public-body .team-tier--specialists h3 { font-size: 19px; }
  .team-profile-action { gap: 6px; }
}
@media (prefers-reduced-motion:reduce) {
  .team-profile, .team-portrait img, .team-profile-arrow { transition: none; }
  .team-profile:hover, .team-profile:hover .team-portrait img, .team-profile:hover .team-profile-arrow, .team-profile:active { transform: none; }
}
