.winners-album { max-width: 65rem; margin: 0 auto; }
.winners-album__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; margin: 2rem 0; }
.winners-album__header h1 { font: bold clamp(2rem, 4vw, 3rem)/1.15 Georgia, serif; margin: 0 0 1rem; }
.winners-album__header p { color: #625e56; line-height: 1.6; margin: 0; max-width: 32rem; }
.album-photo [hidden] { display: none; }
.winners-album__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1rem; }
.album-photo { margin: 0; min-width: 0; }
.album-photo--wide { grid-column: 1 / -1; }
.album-photo__image { aspect-ratio: 1; display: grid; place-items: center; background: #eee9e0; border-radius: 0.35rem; overflow: hidden; }
.album-photo--wide .album-photo__image { aspect-ratio: 3 / 1; }
.album-photo img { width: 100%; height: 100%; object-fit: cover; }
.album-photo figcaption { display: flex; align-items: flex-start; gap: 0.6rem; margin-top: 0.7rem; }
.album-photo figcaption svg { flex: 0 0 1.25rem; color: #e5733e; }
.album-photo strong { font: bold 1rem/1.4 Georgia, serif; overflow-wrap: anywhere; }
.album-photo small { display: block; color: #716d65; font-size: 0.8rem; margin-top: 0.2rem; }
.album-incomplete { padding: 1.5rem; border: 1px solid #e5dfd6; border-radius: 0.65rem; }
.album-incomplete li { margin: 0.75rem 0; }
@media (max-width: 42rem) {
  .winners-album__header { flex-direction: column; gap: 1rem; }
  .winners-album__grid { gap: 1.25rem 0.75rem; }
  .album-photo strong { font-size: 0.9rem; }
}
