/* Preserve the site's columns and gutters without constraining photo proportions. */
.layout .project-pair { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 13px; align-items: start; }
.layout .project-copy { min-width: 0; }
.layout .project-copy p:last-child { margin-bottom: 0; }
.layout .project-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; align-items: start; align-content: start; }
.project-photos figure { margin: 0; min-width: 0; }
.project-photos img { display: block; width: 100%; height: auto; }
.project-photos figure:last-child:nth-child(odd) { grid-column: 1 / -1; }
.layout:not(.christie-grid) .project-photos { grid-template-columns: minmax(0, 1fr); }
.christie-reviews p { margin: 0; }
.christie-reviews p + p { margin-top: 1.5em; }
@media (max-width: 1000px) {
 .layout .project-pair { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
 .layout .project-photos { grid-template-columns: minmax(0, 1fr); }
}

/* Christie: one uninterrupted copy block; only photo spans vary. */
.christie-grid .project-photos > figure:nth-child(1),
.christie-grid .project-photos > figure:nth-child(5),
.christie-grid .project-photos > figure:nth-child(10) { grid-column: 1 / -1; }
.christie-grid .project-photos > figure:nth-child(2) { grid-row: span 2; }
@media (max-width: 1000px) {
 .christie-grid .project-photos > figure { grid-column: 1 !important; grid-row: auto !important; }
}

/* The closing photographs return to the complete page grid. */
.christie-outro { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; align-items: start; }
.christie-outro figure { margin: 0; min-width: 0; }
.christie-outro img { display: block; width: 100%; height: auto; }
.christie-outro .outro-feature { grid-column: 1 / -1; }
.christie-outro .outro-wide { grid-column: span 2; }
.christie-outro .outro-credit { grid-column: 1 / -1; }
@media (max-width: 1000px) {
 .christie-outro { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .christie-outro .outro-wide { grid-column: span 1; }
 .christie-outro .outro-finale, .christie-outro .christie-reviews { grid-column: 1 / -1; }
}
