.member-groups, .member-grid { display: grid; gap: 2rem; }
.member-group-title { padding-bottom: 0.65rem; border-bottom: 2px solid var(--primary); }
.member-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 360px)); }
.member-card, .event-card { overflow: hidden; border: 2px solid var(--card-border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow), inset 0 0 0 1px rgb(255 255 255 / 4%); }
.member-card { position: relative; transition: border-color 220ms ease, transform 220ms ease, box-shadow 220ms ease; }
.member-card::after, .event-card::after { position: absolute; inset: 0; pointer-events: none; border-radius: inherit; background: linear-gradient(115deg, transparent 20%, rgb(76 201 240 / 12%), transparent 58%); transform: translateX(-120%); transition: transform 500ms ease; content: ''; }
.member-card:hover, .member-card:focus-within { border-color: var(--primary); box-shadow: 0 22px 52px rgb(0 0 0 / 35%); transform: translateY(-7px) scale(1.025); }
.member-card:hover::after, .event-card:hover::after { transform: translateX(120%); }
.member-card__body, .event-card__body { padding: 1.25rem; }
.member-card__image, .event-card__image { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--surface-muted); }
.member-card__body h3 { margin-bottom: 0.35rem; font-size: 1.35rem; }
.member-card__body p { color: var(--muted-text); line-height: 1.55; }
.member-card__nickname { margin-bottom: 0.9rem; color: var(--accent) !important; font-style: italic; }
.social-links { display: flex; gap: 0.5rem; margin-top: 1.2rem; }
.social-links a { display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid var(--border); border-radius: 50%; color: var(--primary); font: 700 0.65rem Arial, sans-serif; text-decoration: none; transition: background 160ms ease, color 160ms ease; }
.social-links a:hover, .social-links a:focus-visible { color: #03111f; background: var(--primary); }
