/* Shared, restrained crossfades for the newly requested architectural carousels. */
.project-carousel { position: relative; isolation: isolate; overflow: hidden; background: #191b18; }
.border-image.project-carousel { aspect-ratio: 2.65 / 1; }
.editorial-render.project-carousel { aspect-ratio: 1.9 / 1; }
.develop-pause.project-carousel { aspect-ratio: 16 / 9; }
.project-carousel > img.project-slide {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%;
  aspect-ratio: auto; object-fit: cover; opacity: 0; z-index: 0;
  transition: opacity 1.4s cubic-bezier(.4,0,.2,1);
}
.project-carousel > .project-slide.is-current { opacity: 1; z-index: 1; }
.project-carousel > .project-slide.is-entering { opacity: 1; z-index: 2; }
.project-carousel > .border-tag,
.project-carousel > .photo-plus,
.project-carousel > .plus { z-index: 3; }
.border-image.project-carousel > [data-slide="original"] { object-position: 50% 70%; }
.editorial-render.project-carousel > [data-slide="original"] { object-position: 50% 55%; }
.develop-pause.project-carousel > img.project-slide { object-fit: contain; }

/* Keep the new timeline portrait vertical at both breakpoints. */
.timeline-render img { aspect-ratio: 3 / 4; object-position: 51% center; }

/* The Vetta building needs the full vertical extent of its source photograph. */
.develop-page .arch-hero { min-height: max(850px, 56.28vw); }
.develop-page .arch-hero-image { object-position: 50% 50%; }

/* Language selection belongs to the Cross-Border cover, outside navigation. */
.cross-language-row { display: flex; justify-content: flex-end; margin: 0 0 22px; }
.cross-page .cross-language-switch {
  display: inline-flex; align-items: center; gap: 11px; color: #fff;
  visibility: visible !important; pointer-events: auto;
}
.cross-page .cross-language-switch [data-language] {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 38px; min-height: 44px; padding: 9px 5px;
  background: transparent; border: 0; border-bottom: 1px solid transparent;
  color: inherit; font-size: 13px; letter-spacing: .06em; opacity: .55;
  visibility: visible !important; pointer-events: auto;
  transition: opacity .35s ease, border-color .35s ease;
}
.cross-page .cross-language-switch [data-language].selected {
  opacity: 1; border-bottom-color: currentColor;
}
.cross-language-switch > span { font-size: 12px; opacity: .35; }
.cross-page .cross-language-switch [data-language]:hover { opacity: 1; }

@media (max-width: 760px) {
  .border-image.project-carousel { aspect-ratio: 1.65 / 1; }
  .editorial-render.project-carousel { aspect-ratio: 1.5 / 1; }
  .develop-pause.project-carousel { aspect-ratio: 16 / 9; }
  .timeline-render img { aspect-ratio: 3 / 4; }
  .cross-language-row { margin-bottom: 22px; }
  /* Keep the photo and color mask behind the copy at the taller mobile height. */
  .develop-page .arch-hero { min-height: 850px; }
  .develop-page .arch-hero-image { object-position: 80% 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .project-carousel > img.project-slide,
  .cross-page .cross-language-switch [data-language] { transition: none; }
}
