/* Shared layout for project pages with data-project-layout="standard". */
body[data-project-layout="standard"] .ng-project-wrapper {
  width: 100%;
  max-width: var(--site-wide);
  margin-inline: auto;
}

body[data-project-layout="standard"] .ng-gallery .ng-align-container {
  max-width: var(--site-wide);
}

body[data-project-layout="standard"] .ng-gallery {
  padding-bottom: var(--site-section-edge);
}

/* Remove leftover classic-editor space after the gallery. */
body[data-project-layout="standard"] .shum-project-intro > .content-wrapper,
body[data-project-layout="standard"] .shum-project-intro .sqs-block:has(.ng-project-wrapper) {
  padding-bottom: 0 !important;
}

/* Hero text and description share the narrow guide inside wider sections. */
body[data-project-layout="standard"] .ng-hero-content.ng-align-container,
body[data-project-layout="standard"] .ng-content .ng-align-container {
  max-width: var(--site-narrow);
}

body[data-project-layout="standard"] .ng-title {
  margin-left: 0;
}

/* Replace the inherited Squarespace video grid with a centered frame. */
body[data-project-layout="standard"] .shum-project-video {
  padding-top: var(--site-section-edge) !important;
  padding-bottom: var(--site-section-edge) !important;
}

body[data-project-layout="standard"] .shum-project-video > .content-wrapper {
  box-sizing: border-box;
  width: min(var(--site-narrow), calc(100% - 2 * var(--site-gutter)));
  max-width: none;
  margin-inline: auto;
}

body[data-project-layout="standard"] .shum-project-video .fluid-engine {
  display: block;
}

body[data-project-layout="standard"] .shum-project-video .fe-block {
  width: 100%;
}

/* Neighboring content blocks have two equal edges: 96px wide, 48px mobile. */
/* Publications return to the same wide guide as the gallery. */
body[data-project-layout="standard"] .user-items-list {
  box-sizing: border-box;
  width: min(var(--site-wide), calc(100% - 2 * var(--site-gutter)));
  max-width: none;
  margin-inline: auto;
  padding-block: var(--site-section-edge) !important;
}

body[data-project-layout="standard"] .user-items-list .list-section-title {
  padding: 0 0 28px !important;
}

body[data-project-layout="standard"] .user-items-list .list-section-title h2 {
  margin-block: 0;
}

body[data-project-layout="standard"] .user-items-list-item-container {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  padding: 0;
}

body[data-project-layout="standard"] .user-items-list-item-container > .list-item {
  min-width: 0;
}

body[data-project-layout="standard"] .user-items-list-item-container .list-item-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

body[data-project-layout="standard"] .user-items-list-item-container .list-item-content__button-wrapper {
  margin-top: auto;
}

/* The enquiry heading and form always use the wide guide. */
body[data-project-layout="standard"] .shum-project-enquiry {
  padding-block: var(--site-section-edge);
}

body[data-project-layout="standard"] .shum-project-enquiry > .content-wrapper {
  box-sizing: border-box;
  width: min(var(--site-wide), calc(100% - 2 * var(--site-gutter)));
  max-width: none;
  margin-inline: auto;
}

body[data-project-layout="standard"] .shum-project-enquiry .fluid-engine {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto;
  gap: 48px;
  align-items: start;
  overflow: visible;
}

body[data-project-layout="standard"] .shum-project-enquiry .fluid-engine > .fe-block {
  grid-area: auto;
  min-width: 0;
}

body[data-project-layout="standard"] .shum-project-enquiry h2 {
  text-wrap: balance;
}

@media (max-width: 900px) {
  body[data-project-layout="standard"] .user-items-list-item-container {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-project-layout="standard"] .shum-project-enquiry .fluid-engine {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
}

@media (max-width: 767px) {
  body[data-project-layout="standard"] .ng-title {
    font-size: clamp(1.75rem, 9vw, 2.25rem);
    line-height: 1.08;
    letter-spacing: -0.03em;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  body[data-page="/projects/heart"] .ng-title {
    font-size: clamp(1.5rem, 7.5vw, 2rem);
    letter-spacing: -0.04em;
  }

  body[data-project-layout="standard"] .ng-content .ng-align-container {
    padding-inline: 1rem;
  }

  body[data-project-layout="standard"] .shum-project-video {
    padding-inline: 0 !important;
  }
}

@media (max-width: 359px) {
  body[data-project-layout="standard"] .shum-project-enquiry h2 {
    font-size: 28px;
  }
}
