.hero {
  grid-template-columns: minmax(0, 1fr) 200px;
  gap: 72px;
}

.portrait-wrap {
  position: relative;
  width: 180px;
  height: 180px;
  max-width: none;
  justify-self: center;
  padding: 7px;
  border: 1px solid #6a2b4d;
  border-radius: 50%;
  background: #0d0c10;
  transform: none;
  box-shadow: 0 0 0 10px rgba(255, 47, 146, 0.04), 0 0 60px rgba(255, 47, 146, 0.18);
}

.portrait-wrap img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 50%;
}

.portrait-grid {
  inset: 7px;
  border-radius: 50%;
  background-size: 18px 18px;
}

.portrait-label {
  left: 50%;
  bottom: -28px;
  width: max-content;
  padding: 7px 11px;
  transform: translateX(-50%);
  box-shadow: 4px 4px 0 #fff;
  text-align: center;
}

.portrait-label span { font-size: 12px; }
.portrait-label small { font-size: 7px; }
.portrait-index {
  left: 50%;
  right: auto;
  top: -30px;
  width: max-content;
  transform: translateX(-50%);
}

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; padding-top: 72px; gap: 58px; }
  .portrait-wrap { width: 160px; height: 160px; max-width: none; }
}

@media (max-width: 600px) {
  .portrait-wrap { width: 140px; height: 140px; max-width: none; }
}
