/* Page-local layout; shared typography, colors, navigation and theme stay intact. */
.robot-project .content-item h2 { font-size: 1.2rem; margin-bottom: .7rem; }
.robot-project .header h1 { padding-right: 48px; }
.robot-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.robot-gallery--enclosure { grid-template-columns: 9fr 16fr; }
.robot-project .robot-gallery .media { max-height: none; }
.robot-photo { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.robot-photo:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 4px; }
.robot-project .robot-gallery--versions { max-width: 760px; margin-inline: auto; }
.robot-project .robot-gallery .media-caption,
.robot-project .robot-shorts .media-caption,
.robot-project .robot-video-note { font-size: .9rem; color: var(--text-secondary); }
.robot-shorts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; max-width: 650px; margin-inline: auto; }
.robot-project .robot-short { aspect-ratio: 9 / 16; width: 100%; }
.robot-lightbox { border: 0; padding: 0; background: transparent; max-width: 94vw; max-height: 94vh; overflow: visible; }
.robot-lightbox::backdrop { background: rgba(0, 0, 0, .88); }
.robot-lightbox img { display: block; max-width: 90vw; max-height: 86vh; width: auto; height: auto; object-fit: contain; }
.robot-lightbox__close { position: absolute; right: 0; top: -42px; width: 38px; height: 38px; border: 0; background: white; color: #111; border-radius: 50%; font-size: 1.5rem; cursor: pointer; }
@media (max-width: 600px) {
  .robot-gallery--enclosure { grid-template-columns: 1fr; }
  .robot-gallery--versions { gap: .7rem; }
  .robot-project .robot-gallery .media-caption { font-size: .8rem; }
  .robot-shorts { grid-template-columns: 1fr; max-width: 340px; }
}
