.hvm-structure .section-heading {
  max-width: 760px;
  margin-bottom: 28px;
}
.hvm-structure-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.hvm-structure-grid a {
  display: block;
  min-width: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #e8eff3;
  box-shadow: 0 8px 22px rgba(18, 45, 70, .12);
}
.hvm-structure-grid a:focus-visible {
  outline: 3px solid var(--cyan, #34bfc9);
  outline-offset: 3px;
}
.hvm-structure-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  transition: transform .2s ease;
}
.hvm-structure-grid a:hover img { transform: scale(1.035); }
.hvm-structure-hint {
  margin-top: 16px;
  color: var(--muted, #526575);
  font-size: .95rem;
}
@media (max-width: 850px) {
  .hvm-structure-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .hvm-structure-grid { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .hvm-structure-grid img { transition: none; }
}