/* Mostrar cada fotografía completa, sin recortes. */
.hero-image img,
.about-image img,
.why-photo img,
.campaign-card img,
.lifestyle-grid figure img {
  object-fit: contain !important;
  background: #ebe7dd;
}

.campaign-card {
  background: #ebe7dd;
}

.campaign-card:hover img {
  transform: none;
}

/* Collage libre: cada fotografía conserva su proporción. */
.campaign-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 32px 24px;
}

.campaign-card,
.campaign-card.tall,
.campaign-card.wide {
  width: calc(25% - 18px);
  height: auto;
  min-height: 0;
  overflow: visible;
  background: transparent;
  grid-column: auto;
  grid-row: auto;
}

.campaign-card img {
  width: 100%;
  height: auto;
  display: block;
  background: transparent;
}

.campaign-card figcaption {
  position: static;
  padding: 8px 0 0;
  background: none;
  color: #77736b;
  font-size: 10px;
}

.campaign-card:nth-child(1) { width: calc(28% - 18px); transform: rotate(-1.8deg); }
.campaign-card:nth-child(2) { transform: rotate(1.4deg); margin-top: 42px; }
.campaign-card:nth-child(3) { transform: rotate(-1.1deg); margin-top: 12px; }
.campaign-card:nth-child(4) { width: calc(31% - 18px); transform: rotate(1.7deg); margin-top: -28px; }
.campaign-card:nth-child(5) { transform: rotate(-2deg); margin-top: 35px; }

@media (max-width: 900px) {
  .campaign-card,
  .campaign-card.tall,
  .campaign-card.wide,
  .campaign-card:nth-child(1),
  .campaign-card:nth-child(4) { width: calc(50% - 12px); }
}

@media (max-width: 600px) {
  .campaign-grid { gap: 26px 16px; }
  .campaign-card,
  .campaign-card.tall,
  .campaign-card.wide,
  .campaign-card:nth-child(1),
  .campaign-card:nth-child(4) { width: calc(50% - 8px); }
  .campaign-card:nth-child(2),
  .campaign-card:nth-child(5) { margin-top: 22px; }
}
