/* Original media supplied by Daniel, 24 October 2026. */
.supplied-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}
.supplied-gallery figure { min-width: 0; margin: 0; }
.supplied-gallery picture { display: block; }
.supplied-gallery img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
.portrait-frame > picture { display: block; }
.portrait-frame > picture img { display: block; width: 100%; height: auto; }
.kvik-supplied-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-kvik-project .actions { margin-top: 32px; gap: 16px 24px; }
.home-kvik-project .kvik-supplied-gallery { margin-top: 48px; }
.media-film-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 32px; align-items: start; }
.media-film { min-width: 0; }
.media-film h3 { font-size: clamp(20px, 2.2vw, 28px); line-height: 1.25; overflow-wrap: anywhere; }
.media-film .eyebrow { margin-bottom: 12px; }
.media-film .video-click { margin-top: 18px; }
.media-film .video-click > img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #16010b; }
.media-film .video-click iframe { display: block; }
.media-film .video-play { font: inherit; font-size: 14px; line-height: 1.45; cursor: pointer; }
.media-film .video-click p { margin-block: 12px 8px; line-height: 1.6; }
.media-film .video-click a { text-decoration: underline; }
.film-overview { padding-bottom: 40px; }
.film-library { padding-top: 40px; }
.film-library .media-film-grid { row-gap: 0; align-items: stretch; }
.film-library .media-film { display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: 0; padding-bottom: 48px; }
.home-service-rows .home-supplied-media { margin-top: 28px; }
.home-service-rows .supplied-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; }
.home-service-rows .home-business-gallery { width: 100%; max-width: none; }
.home-service-rows .home-social-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; }
.home-service-rows .home-supplied-media img { width: 100%; height: auto; max-height: none; object-fit: contain; }
.home-service-rows .media-film { display: block; padding: 0; border: 0; }
.home-service-rows .media-film h3 { font-size: 23px; }
.home-service-rows .media-film .eyebrow { margin-top: 0; }
.home-service-rows .video-click p { font-size: 12px; }
.wedding-theme .legacy-content .wedding-supplied-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.wedding-supplied-gallery figure:first-child { grid-column: 1 / -1; }
.wedding-theme .wedding-supplied-gallery img { width: 100%; height: auto; max-height: none; }
.wedding-theme .portfolio-slide picture { display: contents; }
@media (max-width: 900px) {
  .supplied-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 650px) {
  .supplied-gallery, .media-film-grid, .home-service-rows .supplied-gallery { grid-template-columns: minmax(0, 1fr); }
  .home-kvik-project .kvik-supplied-gallery { margin-top: 32px; }
  .media-film-grid { gap: 30px; }
  .film-overview { padding-bottom: 28px; }
  .film-library { padding-top: 28px; }
  .film-library .media-film-grid { row-gap: 30px; }
  .film-library .media-film { display: block; grid-row: auto; padding-bottom: 0; }
  .home-service-rows .media-film h3 { font-size: 21px; }
}
