.life-section { background: #fff; }
.life-heading { align-items: end; }
.life-gallery { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; }
.life-photo { grid-column: span 5; margin: 0; min-width: 0; overflow: hidden; background: var(--paper); }
.life-photo-lead { grid-column: span 7; grid-row: span 2; }
.life-photo-bottom { grid-column: span 4; }
.life-photo img { width: 100%; height: 250px; object-fit: cover; object-position: center; transition: transform .35s ease; }
.life-photo-lead img { height: 570px; }
.life-photo:hover img { transform: scale(1.015); }
.life-photo figcaption { min-height: 90px; padding: 15px 17px 17px; border-bottom: 1px solid var(--line); }
.life-photo figcaption span { display: block; color: var(--red); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.life-photo figcaption strong { display: block; margin-top: 5px; color: var(--green); font: 500 19px/1.25 Georgia, serif; }
.life-photo-bottom img { height: 235px; }
.life-action { display: flex; justify-content: flex-end; margin-top: 24px; }
@media (max-width: 900px) {
    .life-photo, .life-photo-lead, .life-photo-bottom { grid-column: span 6; grid-row: auto; }
    .life-photo-lead img, .life-photo img, .life-photo-bottom img { height: 300px; }
    .life-photo figcaption { min-height: 92px; }
}
@media (max-width: 600px) {
    .life-gallery { display: block; }
    .life-photo, .life-photo-lead, .life-photo-bottom { margin-bottom: 16px; }
    .life-photo-lead img { height: 340px; }
    .life-photo img, .life-photo-bottom img { height: 245px; }
    .life-photo figcaption { min-height: 0; }
    .life-action { justify-content: stretch; }
    .life-action .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .life-photo img { transition: none; }
    .life-photo:hover img { transform: none; }
}
