.team-block__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.team-block__grid--3 { grid-template-columns: repeat(3, 1fr); }
.team-card { margin: 0; background: #fff; border: 1px solid var(--c-border,#d9e0e6); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; }
.team-card__photo { aspect-ratio: 3 / 4; background: var(--c-surface-alt,#f3f6f8); display: flex; align-items: center; justify-content: center; }
.team-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.team-card__placeholder { width: 40%; opacity: .5; }
.team-card__body { padding: 20px 22px 22px; }
.team-card__name { font-size: 1.2rem; margin: 0 0 4px; color: var(--c-primary,#12427a); }
.team-card__quals { font-size: .85rem; font-weight: 600; color: var(--c-muted,#5f6b78); }
.team-card__role { margin: 0 0 12px; color: var(--c-highlight,#009c92); font-weight: 700; font-size: .95rem; }
.team-card__more { background: transparent; border: 0; padding: 0; font: inherit; cursor: pointer; }
.team-card__bio { font-size: .95rem; }
.team-dialog { border: 0; border-radius: var(--radius); padding: 0; max-width: min(900px, calc(100% - 32px)); width: 100%; background: #fff; color: var(--c-body,#3d4852); box-shadow: 0 30px 80px rgba(0,0,0,.3); }
.team-dialog::backdrop { background: rgba(12, 47, 90, .7); }
.team-dialog__inner { position: relative; padding: 36px; }
.team-dialog__close { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--c-surface-alt,#f3f6f8); font-size: 1.6rem; line-height: 1; cursor: pointer; color: var(--c-primary,#12427a); }
.team-dialog__close:hover { background: var(--c-primary,#12427a); color: #fff; }
.team-dialog__grid { display: grid; grid-template-columns: 260px 1fr; gap: 32px; align-items: start; }
.team-dialog__photo img { width: 100%; border-radius: var(--radius-sm); }
.team-dialog__name { font-size: 1.6rem; margin: 0 0 4px; }
.team-dialog__role { color: var(--c-highlight,#009c92); font-weight: 700; margin: 0 0 16px; }
.team-dialog__contact { list-style: none; padding: 0; margin: 16px 0 0; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: .95rem; }
@media (max-width: 1024px) { .team-block__grid, .team-block__grid--3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .team-block__grid, .team-block__grid--3 { grid-template-columns: 1fr; } .team-dialog__grid { grid-template-columns: 1fr; } .team-dialog__photo { max-width: 220px; } .team-dialog__inner { padding: 24px; } }
