/* Shared team page and compact homepage invitation. */
.team-intro { border: 0; padding-bottom: 2.5rem; }
.team-intro .eyebrow { color: var(--forest); }
.team-intro .eyebrow::before { content: ''; display: inline-block; width: 1.7rem; height: 3px; margin: 0 .7rem .2rem 0; background: #dfb94c; }
.team-group img { width: 100%; height: auto; border-radius: 5px; }
.team-people { padding-block: clamp(2.5rem, 5vw, 4rem) clamp(4rem, 7vw, 6rem); }
.team-grid { --team-gap: clamp(1rem, 2.5vw, 2rem); display: flex; flex-wrap: wrap; justify-content: center; gap: 2.5rem var(--team-gap); list-style: none; margin: 0; padding: 0; }
.team-card { flex: 0 0 calc((100% - 3 * var(--team-gap)) / 4); min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 5px; background: var(--cream); }
.team-card img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.team-card h2 { display: flex; align-items: center; justify-content: center; min-height: 5rem; margin: 0; padding: 1rem .6rem; text-align: center; font-family: Manrope, "Avenir Next", Avenir, sans-serif; font-size: clamp(.95rem, 1.55vw, 1.2rem); font-weight: 500; line-height: 1.4; letter-spacing: -.025em; }
.team-page nav a[aria-current="page"] { text-decoration: underline; text-decoration-color: #dfb94c; text-decoration-thickness: 3px; text-underline-offset: .5em; }
.team-teaser { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; width: min(86%, var(--content)); margin-inline: auto; overflow: hidden; border-radius: 5px; background: var(--forest); color: var(--cream); }
.team-teaser > img { width: 100%; height: auto; }
.team-teaser__copy { padding: clamp(1.5rem, 3.5vw, 3rem); }
.team-teaser .eyebrow { color: #dfb94c; }
.team-teaser h2 { font-size: clamp(2rem, 3.5vw, 3rem); }
.team-teaser__copy > p:not(.eyebrow) { margin: 1rem 0 1.5rem; max-width: 28rem; font-size: .95rem; line-height: 1.7; }
.team-teaser .button { border-color: #dfb94c; background: #dfb94c; }
.team-teaser .button:hover { background: transparent; color: var(--cream); }
@media (min-width: 761px) and (max-width: 1023px) {
  .team-card { flex-basis: calc((100% - 2 * var(--team-gap)) / 3); }
}
@media (max-width: 760px) {
  .team-card { flex-basis: calc((100% - var(--team-gap)) / 2); }
  .team-grid { row-gap: 1.5rem; }
  .team-card h2 { min-height: 5.5rem; }
  .team-teaser { grid-template-columns: 1fr; }
  .team-teaser__copy { padding: 1.5rem; }
}
@media (max-width: 359px) {
  .team-card { flex-basis: 100%; }
  .team-card h2 { min-height: 5rem; font-size: 1.1rem; }
}
