/* gallery */
.inside { padding: 4rem 0; }
.inside h2 { font-size: clamp(1.8rem, 5vw, 2.4rem); margin-bottom: 1.6rem; }
.mosaic { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: 190px; gap: .7rem; }
.mosaic figure { margin: 0; position: relative; overflow: hidden; border-radius: 14px; background: var(--bg-2); }
.mosaic img, .mosaic video { width: 100%; height: 100%; object-fit: cover; }
.m-interior { grid-row: span 2; }
.m-video { grid-row: span 2; }
.m-salad { grid-column: span 2; }
.vbtn {
  position: absolute; right: .6rem; bottom: .6rem;
  min-width: 2.75rem; min-height: 2.75rem; padding: 0 .9rem;
  border-radius: 999px; border: 0; cursor: pointer;
  background: rgba(23,16,16,.75); color: var(--cream);
  font: 500 .82rem/1 "Be Vietnam Pro", system-ui, sans-serif;
}
@media (min-width: 800px) {
  .mosaic { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 250px; gap: .9rem; }
  .m-interior { grid-column: 1; grid-row: 1 / span 2; }
  .m-video { grid-column: 2; grid-row: 1 / span 2; }
  .m-rolls { grid-column: 3; grid-row: 1; }
  .m-coffee { grid-column: 4; grid-row: 1; }
  .m-salad { grid-column: 3 / span 2; grid-row: 2; }
}
