/* /our-work/ portfolio grid (Elementor Pro "portfolio" widget). Linked from src/pages/our-work/index.astro only.
   On live, Elementor Pro's JS (we ship none) does two things:
   1. adds `elementor-has-item-ratio` to the grid, which switches on a few widget-posts.css rules (the box ratio
      itself, padding-bottom: calc(0.66 * 100%), is already in elementor-post-2985.css);
   2. per tile, adds `elementor-fit-height` when the image is wider than the 0.66 box, so the image always
      covers the box, centred (left/top 50% + 1px, translate -50%, scale 1.01).
   The same geometry in CSS only: box-sized image offset 1px, object-fit: cover (centred), scale 1.01. */
.elementor-widget-portfolio .elementor-posts-container .elementor-post__thumbnail{inset:0}
.elementor-widget-portfolio .elementor-portfolio .elementor-post__thumbnail{background-color:rgba(0,0,0,.1);position:absolute}
.elementor-widget-portfolio .elementor-posts-container .elementor-post__thumbnail img{position:absolute;left:1px;top:1px;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;transform:scale(1.01)}
/* Live scales the oversized image about its own pre-translate origin, so its centre ends up at
   box centre + 1px - 0.5% of the covered image size. The box ratio is fixed (0.66), so per tile that is a constant
   percentage of the box: dx = -0.5% * max(1, 0.66 * w/h), dy = -0.5% * max(1, h/w / 0.66), from each image's
   width/height in src/ported/our-work.html. One rule per work item (by its live post id). */
.elementor-widget-portfolio .elementor-portfolio-item.post-4393 .elementor-post__thumbnail img{translate:-0.5279% -0.5000%} /* 1667x1042 */
.elementor-widget-portfolio .elementor-portfolio-item.post-4247 .elementor-post__thumbnail img{translate:-0.5000% -0.5412%} /* 2048x1463 */
.elementor-widget-portfolio .elementor-portfolio-item.post-4102 .elementor-post__thumbnail img{translate:-0.5675% -0.5000%} /* 2048x1191 */
.elementor-widget-portfolio .elementor-portfolio-item.post-3695 .elementor-post__thumbnail img{translate:-0.5898% -0.5000%} /* 2000x1119 */
.elementor-widget-portfolio .elementor-portfolio-item.post-3693 .elementor-post__thumbnail img{translate:-0.5280% -0.5000%} /* 1920x1200 */
.elementor-widget-portfolio .elementor-portfolio-item.post-3463 .elementor-post__thumbnail img{translate:-0.5504% -0.5000%} /* 2048x1228 */
.elementor-widget-portfolio .elementor-portfolio-item.post-3210 .elementor-post__thumbnail img{translate:-0.5000% -0.5164%} /* 2048x1396 */
.elementor-widget-portfolio .elementor-portfolio-item.post-2787 .elementor-post__thumbnail img{translate:-0.5000% -0.5164%} /* 2048x1396 */
