.cms-gallery { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px; align-items: start; }
.cms-gallery-column { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.cms-photo-item { min-width: 0; }
.cms-gallery figure { margin: 0; height: auto; width: 100%; }
.cms-gallery figure img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
.cms-player { aspect-ratio: var(--cms-wide-ratio,16/9); }
.cms-project-page .project-intro h1 { font-size: clamp(2.5rem, 9vw, 10rem); overflow-wrap: anywhere; }
.cms-full-set { margin-top: 64px; }
.cms-youtube { aspect-ratio: 16/9; position: relative; margin-top: 20px; }
.cms-youtube iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.cms-event-card .cms-preview-video, .cms-event-card .cms-preview-still { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cms-event-card .cms-preview-video { z-index: 1; }
/* Explicit ownership beats legacy :hover selectors, including Murat's still. */
.reference-stage .preview-image--cms { opacity: 0 !important; visibility: hidden !important; }
.reference-stage[data-project] .preview-image--cms.cms-image-active { opacity: .68 !important; visibility: visible !important; background-position: center; background-size: cover; }
.reference-stage .preview-video { opacity: 0 !important; visibility: hidden; }
.reference-stage[data-project] .preview-video.cms-preview-active { opacity: .68 !important; visibility: visible; }
@media(max-width:640px) {
  .cms-gallery { display: flex; flex-direction: column; gap: 14px; }
  .cms-gallery-column { display: contents; }
  .cms-photo-item { order: var(--photo-order); width: 100%; }
  .cms-player { aspect-ratio: 9/16; }
  .cms-full-set { margin-top: 36px; }
}
