.family__title { font-size: clamp(30px, 4vw, 44px); }
.family__subtitle { margin-block-start: 14px; max-width: 620px; }
.family__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-block-start: 44px; }
.family__card { position: relative; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--r-md); padding: 26px 24px; overflow: hidden; transition: transform .25s var(--ease), border-color .25s var(--ease); }
.family__card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--dot, var(--violet)) 60%, var(--line)); }
.family__dot { position: absolute; inset-block-start: 26px; inset-inline-end: 24px; inline-size: 10px; block-size: 10px; border-radius: 50%; background: var(--dot, var(--violet)); box-shadow: 0 0 14px var(--dot, var(--violet)); }
.family__name { font-size: 18px; font-weight: 800; }
.family__role { color: var(--muted); font-size: 14px; margin: 8px 0 0; font-family: var(--font-mono); }
@media (max-width: 860px) { .family__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .family__grid { grid-template-columns: 1fr; } }
