/* Full-height media independent of the source image dimensions. */
.work-single-hero { min-height: 100vh; min-height: 100svh; }
.work-single-bar { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(15,15,15,.28); }
.im-work-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.work-single-hero:has(.im-work-hero-video) .work-single-hero__media { display: none; }
.im-listing-video,
.im-story-hero-video { display: block; width: 100%; height: 100%; object-fit: cover; }
.work-project-grid .im-listing-video { position: absolute; inset: 0; }
.work-project-grid { grid-auto-flow: dense; }
.work-project-grid .proj:hover .im-listing-video,
.work-project-grid .proj:focus-visible .im-listing-video { transform: scale(1.04); }
.stories-page .story-card .im-listing-video { position: relative; z-index: 1; }
.story-single .im-story-hero-video { position: absolute; inset: 0; }
.stories-page .story-hero .im-top-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1s ease; }
.stories-page .story-hero .im-top-slide.is-current { opacity: 1; }
.work-single-hero, .work-project-grid .proj, .story-card-img-placeholder, .art-cinematic, .stories-page .story-hero { container-type: size; overflow: hidden; }
.im-background-embed { position: absolute; top: 50%; left: 50%; width: max(100cqw, 177.778cqh); height: max(100cqh, 56.25cqw); border: 0; pointer-events: none; transform: translate3d(-50%,-50%,0) scale(1); }
.stories-page .story-hero .story-hero-img { backface-visibility: hidden; will-change: transform, opacity; transform: translateZ(0) scale(1); transition: transform 1.35s cubic-bezier(.22,.61,.36,1), opacity 1s ease; }
.stories-page .story-hero:hover .story-hero-img.is-current { transform: translateZ(0) scale(1.025); }
.stories-page .story-hero .im-background-embed { transform: translate3d(-50%,-50%,0) scale(1); transition: transform 1.35s cubic-bezier(.22,.61,.36,1), opacity 1s ease; }
.stories-page .story-hero:hover .im-background-embed.is-current { transform: translate3d(-50%,-50%,0) scale(1.025); }
.work-project-grid .proj:hover .im-background-embed,
.work-project-grid .proj:focus-visible .im-background-embed { transform: translate3d(-50%,-50%,0) scale(1.04); }
.im-story-slideshow { position: relative; margin: 0 var(--g); }
.im-story-slideshow .story-hero { width: 100%; margin: 0; }
.im-slide-controls { position: absolute; z-index: 5; right: var(--g); bottom: 18px; left: var(--g); display: flex; gap: 8px; }
.im-slide-controls button { width: 28px; height: 18px; padding: 0; border: 0; background: linear-gradient(rgba(255,255,255,.38),rgba(255,255,255,.38)) center / 100% 1px no-repeat; font-size: 0; cursor: pointer; }
.im-slide-controls button.is-current { background-image: linear-gradient(var(--sage),var(--sage)); }
.im-slide-controls button:focus-visible { outline: 1px solid var(--sage); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .stories-page .story-hero .im-top-slide { transition: none; } }
@media (max-width: 1024px) { .work-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) {
  .work-project-grid { grid-template-columns: 1fr; }
  .work-project-grid .proj.wide { grid-column: span 1; aspect-ratio: 4 / 3; }
}
