/* ============================================
   Digital Handshake (Bolt) — scrolly overrides
   ============================================ */

.page.handshake .handshake__content-flow:has(> .project-scrolly) {
  gap: 0;
}

.page.handshake .more-projects-grid {
  gap: var(--space-1);
}

.page.handshake .section {
  gap: var(--space-1);
}

.project-scrolly__track .handshake__figure {
  display: block;
  margin: 0;
  padding: 0;
  min-width: 0;
  width: 100%;
  height: fit-content;
  line-height: 0;
  overflow: hidden;
}

.project-scrolly__track .handshake__block-img:not(.handshake__block-img--full) {
  box-sizing: border-box;
  width: 100%;
  aspect-ratio: var(--aspect-video);
  height: auto;
  max-height: var(--project-scrolly-media-max-h);
  object-fit: cover;
  object-position: center;
  display: block;
  margin: 0;
}

.project-scrolly__track .handshake__hero-step .handshake__block-img {
  max-height: none;
  aspect-ratio: var(--aspect-video);
  object-fit: cover;
  object-position: center;
}

.project-scrolly__track .handshake__block-img--full {
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
  max-height: var(--project-scrolly-media-max-h);
  width: 100%;
  height: auto;
  display: block;
}

.project-scrolly__track .handshake__figure:has(.handshake__block-img--full) {
  overflow: visible;
  background-color: var(--color-surface-primary);
}

.project-scrolly__track .handshake__block-img--photo {
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
  max-height: var(--project-scrolly-media-max-h);
  width: 100%;
  height: auto;
  display: block;
}

.project-scrolly__track .handshake__block-img--stroked,
.project-scrolly__track .handshake__media-video--stroked {
  box-sizing: border-box;
  border: 1px solid var(--color-border);
}

.project-scrolly__track .handshake__media-video {
  display: block;
  width: 100%;
  height: auto;
  max-height: var(--project-scrolly-media-max-h);
  object-fit: contain;
  object-position: center;
  background-color: var(--color-surface-primary);
}

.project-scrolly__track .handshake__media-video--landscape {
  aspect-ratio: var(--aspect-video);
  object-fit: cover;
}

.project-scrolly__track .handshake__media-video--portrait {
  aspect-ratio: 1128 / 2436;
  max-height: none;
  object-fit: contain;
}

.project-scrolly__track .handshake__hero-step .handshake__media-video--landscape {
  max-height: none;
}

/* Stacked media rows — one item per row */
.project-scrolly__track .handshake__video-grid {
  display: flex;
  flex-direction: column;
  gap: var(--project-scrolly-media-gap);
  width: 100%;
  margin: 0;
}

/* Customer + courier handshake animations stay side by side */
.project-scrolly__track .handshake__video-grid--duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.project-scrolly__track .handshake__video-grid .handshake__figure {
  margin: 0;
}

@media (max-width: 768px) {
  .project-scrolly__track .handshake__video-grid--duo {
    grid-template-columns: 1fr;
  }
}

.project-scrolly__track .handshake__step--learned {
  min-height: min(40vh, 24rem);
}
