.page { display: grid; gap: 28px; min-width: 0; padding-bottom: 24px; } .hero { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; padding: 28px; background: linear-gradient( 130deg, color-mix(in srgb, var(--color-primary) 10%, var(--color-surface)), var(--color-surface) ); } .hero h1 { margin: 0 0 6px; font-size: clamp(1.6rem, 3vw, 2rem); } .hero p, .subtitle { color: var(--color-text-muted); margin: 0; } .count { font-size: 0.85rem; padding: 10px 14px; border-radius: 12px; background: var(--color-surface); color: var(--color-text-readable); } .heading { font-size: 1.15rem; margin: 0 0 14px; } .subtitle { margin: -6px 0 18px; font-size: 0.9rem; } .grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; list-style: none; margin: 0; padding: 0; } .grid li { min-width: 0; } .member { display: flex; align-items: center; gap: 18px; height: 100%; padding: 20px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 16px; color: var(--color-text-readable); text-decoration: none; transition: border-color 0.15s, box-shadow 0.15s; } .member:hover { border-color: var(--color-primary); box-shadow: 0 4px 16px color-mix(in srgb, var(--color-primary) 10%, transparent); } .member:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 4px; } .avatar { flex-shrink: 0; image-rendering: pixelated; object-fit: contain; border-radius: 12px; background: color-mix(in srgb, var(--color-primary) 8%, transparent); } .identity { min-width: 0; overflow-wrap: anywhere; } .identity h3, .team h3 { margin: 0 0 8px; font-size: 1.05rem; } .identity p, .team p { margin: 0; font-size: 0.9rem; color: var(--color-text-muted); white-space: pre-line; overflow-wrap: anywhere; } .profile { display: inline-block; margin-top: 16px; font-size: 0.8rem; font-weight: 600; } .team { position: relative; height: 100%; padding: 22px; overflow-wrap: anywhere; } .accent { display: block; width: 32px; height: 4px; border-radius: 4px; margin-bottom: 16px; } .notice { padding: 24px; } .notice p { margin: 0 0 12px; } @media (max-width: 1000px) { .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 600px) { .grid { grid-template-columns: minmax(0, 1fr); } .hero { padding: 22px; } .member { padding: 18px; } } @media (prefers-reduced-motion: reduce) { .member { transition: none; } }