/* Reviewed visual summary pages injected into the seven owner-cleared reports. */
.hub-visual-page {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(145deg, #F6F8FB, #FFFFFF 60%);
}
.hub-visual-intro { max-width: 680px; margin: 0 auto 24px; text-align: center; }
.hub-visual-intro h2 { margin-bottom: 10px; }
.hub-visual-intro p { margin: 0; color: var(--muted, #5D6472); }
.hub-visual-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr));
  gap: 18px;
  align-items: start;
}
.hub-visual-grid figure {
  min-width: 0;
  margin: 0;
  padding: 10px;
  border: 1px solid var(--line, #D2D7E2);
  border-radius: 10px;
  background: #FBFAF7;
  box-shadow: 0 20px 45px -36px rgba(12, 35, 64, .72);
}
.hub-visual-grid img { display: block; width: 100%; height: auto; max-height: 720px; object-fit: contain; }
.hub-visual-grid figcaption {
  padding: 10px 4px 2px;
  color: var(--navy, #0C2340);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
@media screen and (max-width: 760px) {
  .hub-visual-page { padding-block: 32px; }
  .hub-visual-grid { grid-template-columns: 1fr; }
}
@media print {
  .hub-visual-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hub-visual-grid img { max-height: 420px; }
}

