.hero-photo-system {
  position: relative;
  display: grid;
  gap: 14px;
}
.photo-shell {
  position: relative;
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 32px 90px rgba(0,0,0,.34);
  background: #0b1f3d;
  min-height: 470px;
}
.photo-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6,18,38,.08), rgba(6,18,38,.62));
  pointer-events: none;
}
.photo-shell img {
  width: 100%;
  height: 100%;
  min-height: 470px;
  object-fit: cover;
  transform: scale(1.02);
  filter: saturate(1.06) contrast(1.04);
}
.photo-overlay-card {
  position: absolute;
  z-index: 2;
  display: grid;
  gap: 2px;
  border-radius: 18px;
  padding: 14px 16px;
  background: rgba(7,23,47,.82);
  border: 1px solid rgba(255,255,255,.18);
  color: white;
  box-shadow: 0 18px 45px rgba(0,0,0,.25);
  backdrop-filter: blur(14px);
}
.photo-overlay-card span { color: #b8c8df; font-size: .84rem; }
.photo-overlay-card strong { font-size: 1.05rem; }
.photo-overlay-card.top { top: 18px; left: 18px; }
.photo-overlay-card.bottom { right: 18px; bottom: 18px; max-width: 310px; }
.mini-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.mini-proof-grid div {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  padding: 16px;
}
.mini-proof-grid strong { display: block; color: white; font-size: 1.45rem; line-height: 1; }
.mini-proof-grid span { display: block; color: #afc2dc; margin-top: 6px; font-size: .9rem; }
.image-credit {
  font-size: .78rem;
  color: #8294af;
}
.image-credit a { text-decoration: underline; }

@media (max-width: 920px) {
  .photo-shell, .photo-shell img { min-height: 360px; }
}
@media (max-width: 620px) {
  .photo-shell, .photo-shell img { min-height: 260px; }
  .photo-overlay-card { position: static; margin: 10px; }
  .photo-shell { display: flex; flex-direction: column; }
  .photo-shell::after { display: none; }
  .photo-shell img { order: 1; }
  .photo-overlay-card.top { order: 2; }
  .photo-overlay-card.bottom { order: 3; }
  .mini-proof-grid { grid-template-columns: 1fr; }
}
