/* Both official project sources are 9:16. Reserve that exact box before loading. */
#work .feature{align-items:start}
#work .feature .feature-media{display:block;position:relative;width:100%;height:auto;aspect-ratio:9/16;align-self:start;overflow:hidden}
#work .feature .feature-media>video{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:9/16;object-fit:contain}
/* One continuous overlay: no inset shadow, nine-slice joins, or doubled scratch frame. */
#work .feature .feature-media:after,.process-media:after{content:'';position:absolute;inset:-1px;background:url('assets/grunge-frame-v2.png') center/100% 100% no-repeat;border:0;border-image:none;box-shadow:none;transform:none;pointer-events:none;z-index:1}
#work .bloom .feature-media:after{transform:rotate(180deg)}
.process-media{position:relative;background:#000;overflow:hidden;aspect-ratio:64/25}
.process-videos .process-media video{display:block;width:100%;aspect-ratio:64/25;height:auto;object-fit:contain;background:#000}
/* The overlay now meets the footage itself, not a letterboxed 16:9 container. */
.process-media:after{background-size:100% 100%}
.process-videos figure:nth-child(2) .process-media:after{transform:scaleX(-1)}
.process-videos figure:nth-child(3) .process-media:after{transform:rotate(180deg)}
@media(max-width:600px){#work .feature .feature-media{width:100%;max-width:440px;margin-inline:auto}.media-label{top:22px;left:22px}}
