.project-mark--court i:first-child {
  inset: 12% 18% 18%;
  border-bottom: 3px solid currentColor;
}

.project-mark--court i:nth-child(2) {
  inset: 30%;
  border-radius: 50%;
}

.project-mark--frame i:first-child {
  inset: 8% 32%;
  border-bottom: 3px solid currentColor;
  transform: rotate(35deg);
}

.project-mark--frame i:nth-child(2) {
  inset: 24% 8%;
  transform: rotate(-35deg);
}

.project-video-media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  animation: selva-media-drift 14s ease-in-out infinite alternate;
}

.project-video-media video,
.project-video-media iframe {
  pointer-events: none;
}

@keyframes selva-media-drift {
  from { transform: scale(1.01); }
  to { transform: scale(1.075) translate3d(-1.5%, 0, 0); }
}

.moodboard-swatch {
  display: block;
  aspect-ratio: 1;
}

.moodboard-swatch:nth-child(1) { background: #caccb5; }
.moodboard-swatch:nth-child(2) { background: #87896e; }
.moodboard-swatch:nth-child(3) { background: #303228; }
.moodboard-swatch:nth-child(4) { background: #d8c8ac; }
.moodboard-swatch:nth-child(5) { background: #7c624a; }

/* Versione 2.1.1: allineamento dei loghi alla griglia editoriale. */
.site-header {
  padding-inline: clamp(24px, 5vw, 78px);
}

.brand {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.brand-logo {
  display: block;
  width: auto;
  object-fit: contain;
  object-position: left center;
}

.brand-logo--header {
  max-width: min(250px, 38vw);
  max-height: 34px;
}

.brand-logo--footer {
  max-width: min(280px, 70vw);
  max-height: 62px;
}

/* Il lightbox vive fuori dal contenitore sfocato e resta sempre nitido. */
.selva-lightbox {
  z-index: 10050;
  isolation: isolate;
}

.selva-lightbox img {
  position: relative;
  z-index: 2;
  opacity: 1;
  filter: none;
}

.selva-lightbox p {
  z-index: 3;
}

.lightbox-open .contact-band,
.lightbox-open .site-footer {
  filter: blur(12px);
}

@media (max-width: 620px) {
  .brand-logo--header {
    max-width: min(190px, 58vw);
    max-height: 30px;
  }
}
