/* Banderas auténticas: archivos locales, sin recrear símbolos con CSS. */
.country-flag-image { display:flex; align-items:center; justify-content:center; width:72px; height:46px; }
.country-flag-image img { display:block; width:72px; height:auto; max-height:46px; object-fit:contain; border-radius:0; }
/* Portada: fotografía completa sobre una fila compacta de países. */
.hero-photo { overflow: hidden; border-radius: 18px; background: #fff; }
.hero-photo img { display: block; width: 100%; height: auto; object-fit: contain; }
.hero-card:has(.hero-photo) { padding: 1rem; gap: 1rem; background: #fff; }
.hero-card:has(.hero-photo) .country-flags { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .6rem; }
.hero-card:has(.hero-photo) .country-flags article { padding: .8rem .3rem; min-height: 88px; border-radius: 12px; box-shadow: none; background: #f7f9fc; }
.hero-card:has(.hero-photo) .country-flags strong { font-size: clamp(.72rem, 1.1vw, .9rem); }
@media(max-width: 480px) { .hero-card:has(.hero-photo) { padding: .75rem; gap: .75rem; } }
/* Content review: source portraits retain full framing; no face cropping. */
.team-card-reviewed { align-content: start; gap: 1rem; }
.team-card-reviewed .team-photo-reviewed {
  display: block;
  width: min(100%, 240px);
  height: 300px;
  margin-inline: auto;
  object-fit: contain;
  object-position: center center;
  border-radius: 14px;
  background: #eef1f5;
}
.allies-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 600px) {
  .allies-grid { grid-template-columns: 1fr; }
}
