/* Media-only companion to cinematic-layout.css. Construction owns progress. */
.cinematic-media { position:relative;overflow:clip;isolation:isolate; }
.article-card .cinematic-media { width:100%;height:175px;flex-shrink:0; }
/* Absolute inset preserves the original border-box 4:3 gallery reservation. */
.gallery-item .cinematic-media { position:absolute;inset:0; }
.cinematic-media>picture { display:block;width:100%;height:100%; }
.cinematic-media>img,.cinematic-media>picture>img { display:block;width:100%;height:100%;object-fit:cover; }
.cinematic-curtain { position:absolute;inset:0;display:grid;grid-template-rows:repeat(6,minmax(0,1fr));pointer-events:none; }
.cinematic-strip { background-repeat:no-repeat;background-size:100% 600%;transform:translateX(calc((1 - var(--strip-alpha,0))*var(--strip-direction,110%))); }
[data-build-state="ready"] .cinematic-curtain,
.cinematic-media:not([data-media-state="decoded"]) .cinematic-curtain { display:none; }
.articles-grid,.article-grid,.gallery-grid { perspective:1600px; }
:root[data-construction-mode="staged"] :is(.article-card,.gallery-item)[data-build-state="building"] { transform:translateY(calc((1 - var(--build-alpha,0))*36px)) rotateX(calc((1 - var(--build-alpha,0))*7deg));transform-origin:center bottom;transition:none; }
@media(prefers-reduced-motion:reduce),(forced-colors:active) {
 .cinematic-curtain { display:none; }
 :root[data-construction-mode="staged"] :is(.article-card,.gallery-item)[data-build-state="building"] { transform:none; }
}
:root[data-motion="paused"] .cinematic-curtain { display:none; }
:root[data-motion="paused"][data-construction-mode="staged"] :is(.article-card,.gallery-item)[data-build-state="building"] { transform:none; }
