/* Keep the introduction and its two media blocks in the same reading flow. */
.row.intro-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: 32px;
}
.intro-layout .text,
.intro-layout > .column:has(> .film) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  align-items: start;
}
.intro-layout .text p { margin: 0; }
.intro-layout .gallery {
  width: 100%;
  max-width: none;
  margin: 0;
  border: 0;
  border-radius: 6px;
  overflow: hidden;
}
.intro-layout .gallery img,
.intro-layout video {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.intro-layout .gallery-controls button:focus-visible { outline-offset: -4px; }
.intro-layout .film { min-width: 0; margin: 0; }
.intro-layout video { border: 0; border-radius: 6px 6px 0 0; background: #102418; }
.intro-layout .video-bar {
  height: 32px;
  background: var(--green);
  border-radius: 0 0 6px 6px;
}
@media (max-width: 700px) {
  .intro-layout .text,
  .intro-layout > .column:has(> .film) { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .row.intro-layout { gap: 28px; }
}
