:root {
  --accent: #b31b1b;
  --ink: #1f2933;
  --muted: #596579;
  --rule: #e5e1da;
  --soft: #f7f6f2;
}

body {
  color: var(--ink);
}

a {
  color: #9f1616;
}

a:hover {
  color: #651010;
}

.navbar-brand {
  font-weight: 700;
}

#title-block-header {
  display: none;
}

.profile-hero {
  display: grid;
  grid-template-columns: minmax(170px, 230px) minmax(0, 1fr);
  gap: 2.25rem;
  align-items: center;
  padding: 0.75rem 0 2rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--rule);
}

.profile-photo {
  display: flex;
  justify-content: center;
}

.avatar-photo {
  width: min(100%, 230px);
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 14px 34px rgba(31, 41, 51, 0.16);
}

.profile-summary {
  font-size: 1.08rem;
  line-height: 1.65;
}

.profile-summary strong {
  display: inline-block;
  margin-bottom: 0.25rem;
  color: var(--ink);
  font-size: 1.15rem;
}

.profile-summary a {
  color: var(--ink);
}

.profile-summary a:hover {
  color: var(--muted);
}

.profile-links {
  margin-top: 1rem;
  color: var(--muted);
}

.profile-links a {
  color: var(--ink);
  font-weight: 600;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.profile-links a:hover {
  color: var(--muted);
}

h2 {
  margin-top: 2rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--rule);
}

h3 {
  margin-top: 1.6rem;
  color: var(--accent);
}

main.content {
  max-width: 940px;
}

main.content li {
  margin-bottom: 0.35rem;
}

main.content ol > li {
  margin-bottom: 1.1rem;
}

main.content ul ul {
  margin-top: 0.35rem;
}

@media (max-width: 720px) {
  .profile-hero {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    text-align: center;
  }

  .avatar-photo {
    width: min(72vw, 210px);
  }
}
