/* Approved project gallery layout. Original fonts, colours and motion modules are inherited. */
html.cb-project-gallery .project-header { margin-bottom: 0; }
html.cb-project-gallery .project-header > .container {
  position: relative; width: 100%; margin: 0; padding: 0;
}
html.cb-project-gallery .project-header .container > .asset {
  width: 100%; height: 100svh; min-height: 48rem; aspect-ratio: auto;
}
html.cb-project-gallery .project-header .asset img {
  width: 100%; height: 100%; object-fit: cover !important; object-position: center;
}
html.cb-project-gallery .project-header .container > .base-title {
  position: absolute; left: 4rem; bottom: 10rem; z-index: 2;
  color: var(--color-white); padding: 1.5rem 2rem;
  background: var(--color-grey);
}
html.cb-project-gallery .project-header .container > .heading { display: none !important; }
html.cb-project-gallery .project-page > .text { margin: 6rem 0; }
html.cb-project-gallery .project-page > .text .heading { margin: 0 0 3rem; }
html.cb-project-gallery .project-page > .text .richtext p { margin-bottom: 2rem; }
html.cb-project-gallery .project-page > .asset,
html.cb-project-gallery .project-page > .assets-duo { margin: 3rem 0; }
html.cb-project-gallery .project-page > .asset > .container {
  margin: 0 4rem; width: auto;
}
html.cb-project-gallery .project-page > .asset img,
html.cb-project-gallery .project-page > .assets-duo img {
  width: 100%; height: auto; object-fit: contain !important; display: block;
}
html.cb-project-gallery .project-page > .asset:has(img[data-cb-portrait]) > .container {
  max-width: 66rem; margin-left: auto; margin-right: auto;
}
html.cb-project-gallery .project-page > .assets-duo > .container {
  margin: 0 4rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem; align-items: start;
}
html.cb-project-gallery .project-page > .assets-duo .block {
  width: 100%; grid-column: auto; margin: 0;
}
html.cb-project-gallery .project-page > .assets-duo > .container:has(.block:last-child img[data-cb-portrait]) {
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
}
html.cb-project-gallery .project-page > .project-footer { display: none; }
@media (max-width: 1024px) {
  html.cb-project-gallery .project-header .container > .base-title { left: 2rem; bottom: 11rem; }
  html.cb-project-gallery .project-page > .text { margin: 4rem 0; }
  html.cb-project-gallery .project-page > .asset > .container,
  html.cb-project-gallery .project-page > .assets-duo > .container { margin-left: 2rem; margin-right: 2rem; }
  html.cb-project-gallery .project-page > .assets-duo > .container,
  html.cb-project-gallery .project-page > .assets-duo > .container:has(.block:last-child img[data-cb-portrait]) {
    display: flex; flex-direction: column; gap: 3rem;
  }
  /* Stacked photographs must not move into the next row on narrow desktop windows. */
  html.cb-project-gallery .project-page > .assets-duo .block { transform: none !important; }
  html.cb-project-gallery .project-page > .asset:has(img[data-cb-portrait]) > .container { max-width: calc(100% - 4rem); }
}
