.meet-team-page { padding: 10px 0 0; color: #263c3a; }
.team-banner { margin: 0 0 32px; }
.team-banner-stage { position: relative; width: 100%; aspect-ratio: 1140 / 440; overflow: hidden; border-radius: 8px; background: #273d3e; }
.team-banner-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.team-banner-image[hidden] { display: none; }
.team-banner figcaption { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 12px 2px 0; color: #495b59; font-size: .92rem; }
.team-banner-controls { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.team-banner-controls[hidden] { display: none; }
.team-banner-controls button { border: 1px solid #80928d; border-radius: 4px; background: transparent; color: #263c3a; padding: 5px 10px; font: inherit; cursor: pointer; }
.team-banner-controls button:hover { background: #edf3ef; }
.team-banner-controls button:focus-visible,.team-portrait:focus-visible { outline: 3px solid #14758a; outline-offset: 4px; }
.team-page-heading { border-bottom: 2px solid #638d7d; padding: 5px 0 22px; margin-bottom: 0; }
.team-page-heading h1 { margin: 0; }
.team-introduction { padding-top: 24px; }
.team-roster { display: grid; }
.team-row { display: grid; grid-template-columns: minmax(180px, 27%) minmax(0, 1fr); gap: clamp(24px, 4vw, 52px); align-items: start; padding: 34px 0; border-bottom: 1px solid #aab9b3; break-inside: avoid; }
.team-row:last-child { border-bottom: 0; padding-bottom: 8px; }
.team-photo { min-width: 0; }
.team-portrait { display: block; position: relative; width: 100%; aspect-ratio: 480 / 560; padding: 0; overflow: hidden; border: 1px solid #abbcb6; border-radius: 7px; background: #e8eeeb; cursor: pointer; }
.team-portrait img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity 650ms ease, transform 800ms ease, filter 650ms ease; }
.team-portrait-alternate { opacity: 0; transform: scale(1.035); filter: blur(3px); }
.team-portrait.is-alternate img:first-child { opacity: 0; transform: scale(1.035); filter: blur(3px); }
.team-portrait.is-alternate .team-portrait-alternate { opacity: 1; transform: scale(1); filter: blur(0); }
@media (hover: hover) {
  .team-portrait:hover img:first-child { opacity: 0; transform: scale(1.035); filter: blur(3px); }
  .team-portrait:hover .team-portrait-alternate { opacity: 1; transform: scale(1); filter: blur(0); }
}
.team-copy { min-width: 0; padding-top: 9px; overflow-wrap: anywhere; }
.team-copy h2 { font-size: 1.65rem; margin: 0 0 15px; }
.team-copy p { line-height: 1.75; }
@media (max-width: 600px) {
  .team-banner-stage { aspect-ratio: 16 / 9; }
  .team-banner { margin-bottom: 24px; }
  .team-row { grid-template-columns: 1fr; gap: 18px; padding: 27px 0; }
  .team-photo { width: min(100%, 280px); }
  .team-copy { padding-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .team-portrait img { transition: none; filter: none!important; transform: none!important; }
}
@media print {
  .meet-team-page,.meet-team-page * { visibility: visible!important; }
  .team-banner-controls { display: none!important; }
  .team-banner-image { z-index: auto!important; clip-path: none!important; }
  .team-banner-image:first-child { display: block!important; }
  .team-banner-image:nth-child(2) { display: none!important; }
  .team-row { grid-template-columns: 22% 1fr; gap: 24px; padding: 20px 0; }
  .team-portrait { border: 0; }
  .team-portrait img:first-child { opacity: 1!important; filter: none!important; transform: none!important; }
  .team-portrait-alternate { display: none!important; }
}
