/* Hallmark · pre-emit critique: P4 H4 E4 S4 R5 V3 */
/* Team portraits inherit the site's navy, gold and Arial design system. */
.team-cards {
    --team-ink: #102a43;
    --team-muted: #486581;
    --team-gold: #856713;
    --team-line: #e8e5df;
    --team-paper: #fff;
    --team-shadow: 0 8px 30px rgba(16, 42, 67, .06);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
}

.team-cards .card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 24px 24px 0;
    border-radius: 12px;
    background: var(--team-paper);
    border: 1px solid var(--team-line);
    box-shadow: var(--team-shadow);
}

.team-cards .member-image {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    border-radius: 6px;
    background: var(--team-paper);
}

.team-cards .member-image img {
    object-fit: cover;
    object-position: center top;
}

.team-cards .card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 24px 0;
}

.team-cards h3 {
    min-height: 3.9em;
    margin: 0 0 12px;
    font-size: 1.15rem;
    line-height: 1.3;
    font-weight: 700;
    font-style: normal;
    color: var(--team-ink);
    overflow-wrap: anywhere;
}

.team-cards .eyebrow {
    min-height: 3em;
    margin: 0 0 20px;
    color: var(--team-gold) !important;
    font-size: .72rem;
    line-height: 1.5;
    letter-spacing: .08em;
    font-weight: 700;
}

.team-cards .card-body > p:not(.eyebrow) {
    margin: 0;
    font-size: .9rem;
    line-height: 1.7;
    color: var(--team-muted);
}

.team-cards .card-body > p:nth-of-type(2) {
    padding-top: 18px;
    margin-bottom: 12px;
    border-top: 1px solid var(--team-line);
    font-size: .8rem;
    font-weight: 700;
    color: var(--team-ink);
}

@media (max-width: 900px) {
    .team-cards { gap: 16px; }
    .team-cards .card { padding: 16px 16px 0; }
}

@media (max-width: 700px) {
    .team-cards {
        grid-template-columns: minmax(0, 1fr);
        max-width: 400px;
        margin-inline: auto;
        gap: 24px;
    }
    .team-cards .card { padding: 24px 24px 0; }
    .team-cards h3, .team-cards .eyebrow { min-height: 0; }
}
