.profile-directory {
  margin-top: 32px;
  padding: 20px;
  background: var(--paper, #fff);
  border: 1px solid var(--line);
  border-radius: 20px;
}
.profile-directory h3 { margin-bottom: 12px; }
.profile-directory ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.profile-directory a {
  display: inline-block;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 100px;
}
.profile-directory a:hover, .profile-detail-link, .profile-page .article__body a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.profile-head {
  display: flex;
  align-items: center;
  gap: clamp(14px, 3vw, 28px);
  margin-bottom: 24px;
}
.profile-portrait {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: clamp(74px, 17vw, 136px);
  aspect-ratio: 1;
  border-radius: 22px;
  background: #e1f0e9;
  color: #194940;
  font-weight: 800;
  font-size: clamp(22px, 4vw, 38px);
  object-fit: cover;
  object-position: var(--portrait-position, center);
}
.profile-head h1 { margin-bottom: 6px; }
.profile-subtitle { color: var(--ink-soft); }
.profile-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 155px), 1fr));
  gap: 10px;
  margin: 0 0 24px;
}
.profile-facts div {
  padding: 12px 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.profile-facts dt { font-size: 13px; color: var(--ink-soft); }
.profile-facts dd { margin: 2px 0 0; font-weight: 800; }
.profile-page .article__cta h2 { font-size: 24px; margin: 0 0 10px; color: #fff; }
.profile-page .article__related ul { padding: 0; margin: 0; list-style: none; }
.profile-page .article__related a { display: block; height: 100%; }
@media (max-width: 420px) {
  .profile-head { align-items: flex-start; }
  .profile-page .profile-head h1 { font-size: 26px; }
  .profile-page .rel-grid { grid-template-columns: minmax(0, 1fr); }
}
