.person-card__profile { display: flex; align-items: center; gap: clamp(1.5rem, 4vw, 3rem); }
.person-card__avatar, .person-card__initials { width: clamp(6rem, 14vw, 10rem); height: auto; aspect-ratio: 1; flex-shrink: 0; border-radius: 50%; object-fit: cover; }
.person-card__initials { display: grid; place-items: center; background: var(--color-primary-soft); font-size: 2.5rem; }
.person-card h1 { font-size: clamp(2.2rem, 6vw, 4.8rem); margin-block: .65rem 1rem; }
.person-card__phone { display: inline-block; min-height: 2.75rem; font-size: clamp(1rem, 2vw, 1.3rem); font-weight: 600; text-decoration: none; }
.person-card__phone:hover { text-decoration: underline; }
.person-card__intro { color: var(--color-muted); max-width: 44rem; margin-block: 2rem 2.5rem; }
.person-card__actions { display: grid; gap: 1.25rem; }
.person-card__action { min-width: 0; display: flex; flex-direction: column; gap: 1.5rem; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: clamp(1.3rem, 3vw, 2rem); }
.person-card__action h2 { font-size: 1.75rem; margin-block: .7rem; }
.person-card__description { color: var(--color-muted); font-size: .95rem; }
.person-card__qr { margin: auto 0 0; display: grid; justify-items: center; gap: .75rem; }
.person-card__qr img { width: min(100%, 15rem); background: white; aspect-ratio: 1; }
.person-card__qr figcaption { font-size: .8rem; text-align: center; color: var(--color-muted); }
.person-card__action .button { width: 100%; }
.person-card__app-note { margin-top: 2rem; max-width: 48rem; font-size: .85rem; color: var(--color-muted); }
@media (min-width: 56rem) { .person-card__actions { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 30rem) { .person-card__profile { align-items: flex-start; flex-direction: column; } }
