/* block-person-profile
   Generated from the approved mockup CSS by wp-build/css.py, plus css-fixes/block-person-profile.css. */
.person { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 48px 80px; padding-top: 36px; align-items: start; }
.person .person-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius); }
.person h1 { font-size: clamp(40px, 4.6vw, 56px); line-height: 1.1; margin-top: 10px; }
.person .ptitle { margin-top: 12px; font-size: 20px; }
.person .ptitle a { font-weight: 500; }
.person .pfacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 48px; margin: 40px 0 0; }
.person .pfacts dt { font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.person .pfacts dd { margin: 6px 0 0; font-size: 17px; }
.person .pfacts .langs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.person .pfacts .langs a { display: inline-block; padding: 4px 14px; border-radius: 999px; background: var(--mist); color: var(--accent); font-weight: 600; font-size: 15px; text-decoration: none; }
.person .pfacts .langs a:hover { text-decoration: underline; }
.person .btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
@media (max-width: 1100px) {
  .person { grid-template-columns: minmax(0, 1fr); }
  .person .person-photo { max-width: 360px; }
}
@media (max-width: 720px) {
  .person .pfacts { grid-template-columns: minmax(0, 1fr); gap: 22px; }
}

/* Block markup adjustments */
.person .vcard-link { margin-top: 16px; font-size: 16px; }
.person.no-photo { grid-template-columns: minmax(0, 1fr); }
.person.no-photo .person-main { max-width: 900px; }
.person .pfacts dd a { overflow-wrap: anywhere; }
