/* ============================================
   Project Story — shared storytelling mode
   No text boxes, no image frames, vertical flow
   ============================================ */

.page.pulse,
.page.mykorrizha,
.page.aidea,
.page.orientation,
.page .about__description {
  --project-content-gap: var(--space-4);
}

/* ─── Vertical rhythm — hero, story sections, more projects ─── */
.page.pulse > main,
.page.mykorrizha > main,
.page.aidea > main,
.page.orientation > main {
  gap: var(--project-content-gap);
}

.page.pulse .pulse__content-flow,
.page.mykorrizha .mykorrizha__content-flow,
.page.aidea .aidea__content-flow,
.page.orientation .orientation__content-flow {
  display: flex;
  flex-direction: column;
  gap: var(--project-content-gap);
  min-width: 0;
}

.page.pulse .pulse__content-flow > .section,
.page.mykorrizha .mykorrizha__content-flow > .section,
.page.aidea .aidea__content-flow > .section,
.page.orientation .orientation__content-flow > .section {
  gap: var(--project-content-gap);
}

.page.pulse .pulse__content-flow .section > h2.heading-lg,
.page.mykorrizha .mykorrizha__content-flow .section > h2.heading-lg,
.page.aidea .aidea__content-flow .section > h2.heading-lg,
.page.orientation .orientation__content-flow .section > h2.heading-lg {
  margin: 0;
}

/* Pulse inner stacks — same gap as story sections */
.page.pulse .pulse__hmw-stack,
.page.pulse .pulse__research-narrative,
.page.pulse .pulse__framing-content,
.page.pulse .pulse__root-cause-layout,
.page.pulse .pulse__designs-content {
  gap: var(--project-content-gap);
}

.page.pulse .pulse__hmw-stack,
.page.pulse .pulse__research-narrative,
.page.pulse .pulse__framing-content,
.page.pulse .pulse__designs-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* Story copy — Geist, one step below titles, snug rhythm, neutral body color */
.page.pulse .pulse__problem-narrative,
.page.pulse .pulse__takeaways-narrative,
.page.pulse .pulse__research-narrative-text,
.page.mykorrizha .mykorrizha__narrative,
.page.mykorrizha .project__narrative,
.page.aidea .project__narrative,
.page.aidea .aidea__hero-lead,
.page.orientation .project__narrative,
.page .about__description .project__narrative {
  font-family: var(--font-body);
  font-size: var(--text-md);
  font-weight: var(--weight-regular);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-snug);
  color: var(--color-text-body);
  margin: 0;
}

/* Strip text-block boxes on project pages */
.page.pulse .text-block,
.page.mykorrizha .text-block,
.page.aidea .text-block,
.page.orientation .text-block {
  background-color: transparent;
  padding: 0;
}

.page.pulse .text-block p,
.page.pulse .text-block .text-block__body,
.page.mykorrizha .text-block p,
.page.mykorrizha .text-block .text-block__body,
.page.aidea .text-block p,
.page.aidea .text-block .text-block__body,
.page.orientation .text-block p,
.page.orientation .text-block .text-block__body {
  font-family: var(--font-body);
  font-size: var(--text-md);
  font-weight: var(--weight-regular);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-snug);
  color: var(--color-text-body);
  margin: 0;
}

.page.pulse .text-block + .text-block,
.page.mykorrizha .text-block + .text-block,
.page.aidea .text-block + .text-block,
.page.orientation .text-block + .text-block {
  margin-top: var(--project-content-gap);
}

/* Full-width media */
.project__figure {
  width: 100%;
  margin: 0;
  line-height: 0;
}

.project__media {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  border: none;
  border-radius: 0;
}

.project__media-row {
  display: grid;
  gap: var(--space-1);
  width: 100%;
  min-width: 0;
}

.project__media-row--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.project__media-row--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.project__media-row--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.project__media-row--5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.project__media.project__media--stroked {
  box-sizing: border-box;
  border: 1px solid var(--color-border);
}

.project__media-row .project__media {
  width: 100%;
}

.project__media-row--4 .project__media {
  aspect-ratio: 1;
}

.project__media-embed {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
}

.project__yt-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  line-height: 0;
}

.project__yt-embed .project__yt-player {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.project__yt-embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

video.project__media {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Remove frames on all project imagery */
.page.pulse .pulse__framing-block-img,
.page.pulse .pulse__poster-cell,
.page.pulse .pulse__person-cell,
.page.pulse .pulse__media-cell,
.page.mykorrizha .mykorrizha__media-figure-image,
.page.mykorrizha .mykorrizha__media-figure-video,
.page.mykorrizha .mykorrizha__visual-image,
.page.mykorrizha .mykorrizha__visual-video,
.page.mykorrizha .mykorrizha__illustration-image,
.page.aidea .aidea__visual,
.page.aidea .project__media,
.page.handshake .handshake__block-img,
.page.handshake .handshake__media-video,
.page.orientation .orientation__visual,
.page.orientation .project__media,
.page.pulse .project-collage__item--stroked-media .project-collage__image,
.page.mykorrizha .project-collage__item--stroked-media .project-collage__image,
.page.aidea .project-collage__item--stroked-media .project-collage__image {
  border: none;
}

.page.mykorrizha .mykorrizha__illustration-grid .project__media--stroked {
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center;
}

.page.pulse .pulse__framing-figure--wireframe .pulse__framing-block-img {
  border: none;
}

.page.mykorrizha .mykorrizha__visual,
.page.mykorrizha .mykorrizha__illustration-cell {
  background-color: transparent;
  border: none;
}

/* Story stack inside a section */
.project__story-stack {
  display: flex;
  flex-direction: column;
  gap: var(--project-content-gap);
  min-width: 0;
}

@media (max-width: 768px) {
  .project__media-row--3,
  .project__media-row--4,
  .project__media-row--5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .project__media-row--3 .project__media--stroked,
  .project__media-row--4 .project__media {
    aspect-ratio: 1;
  }
}
