/* DGM-Inventum photo mosaic (mask_picture_gallery, template frontend-inventum.html): five tiles, the first large,
   the last opens the lightbox with all photos. */
.inv-mgallery { padding: 28px 20px clamp(56px, 7vw, 96px); }
.inv-mgallery__inner { max-width: 1200px; margin: 0 auto; }
.inv-mgallery__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 12px; height: clamp(380px, 40vw, 560px); }
.inv-mgallery__item { position: relative; display: block; min-height: 0; overflow: hidden; border-radius: 18px; background: #eeeae3; }
.inv-mgallery__item:first-child { grid-column: span 2; grid-row: span 2; }
.inv-mgallery__item.is-hidden { display: none; }
.inv-mgallery__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 700ms cubic-bezier(.23, 1, .32, 1); }
.inv-mgallery__item:hover img { transform: scale(1.035); }
.inv-mgallery__item:focus-visible { outline: 3px solid #0a7aa6; outline-offset: 3px; }
.inv-mgallery__more {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  background: rgba(19, 35, 44, .58); color: #fff; font: 600 14.5px/1.2 "Theme-Font", Inter, system-ui, sans-serif; transition: background-color 200ms ease;
}
.inv-mgallery__more strong { font: 800 clamp(28px, 2.6vw, 38px)/1 "Heading-Font", "Inter Tight", "Theme-Font", Inter, system-ui, sans-serif; letter-spacing: -.02em; }
.inv-mgallery__item:hover .inv-mgallery__more { background: rgba(19, 35, 44, .7); }
.inv-mgallery--simple .inv-mgallery__grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); grid-template-rows: none; height: auto; }
.inv-mgallery--simple .inv-mgallery__item { aspect-ratio: 4 / 3; }
.inv-mgallery--simple .inv-mgallery__item:first-child { grid-column: auto; grid-row: auto; }
@media (max-width: 767px) {
  .inv-mgallery { padding-inline: 16px; }
  .inv-mgallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; height: auto; gap: 8px; }
  .inv-mgallery__item { aspect-ratio: 1; border-radius: 14px; }
  .inv-mgallery__item:first-child { grid-row: auto; aspect-ratio: 16 / 10; }
}
@media (hover: none), (prefers-reduced-motion: reduce) { .inv-mgallery__item img, .inv-mgallery__more { transition: none; } .inv-mgallery__item:hover img { transform: none; } }
