.media-gallery { width: 100vw; max-width: none; margin: 0; padding: 70px 20px 80px; background: #fff; }
.media-gallery__inner { width: min(100%, 1180px); }
.media-gallery h2 { margin: 0 0 26px; color: #292929; font-family: 'DM Sans', system-ui, sans-serif; font-size: clamp(1.9rem, 2.3vw, 2.4rem); font-weight: 700; letter-spacing: .035em; line-height: 1.25; }
.media-gallery__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 30px; align-items: stretch; }
.media-gallery__video { position: relative; min-height: 438px; overflow: hidden; background: #101820; }
.media-gallery__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.media-gallery__video-cover { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: #101820; cursor: pointer; }
.media-gallery__video-cover::after { content: ''; position: absolute; inset: 0; background: rgb(0 0 0 / 8%); transition: background .2s ease; }
.media-gallery__video-cover:hover::after { background: rgb(0 0 0 / 18%); }
.media-gallery__video-cover > img { width: 100%; height: 100%; object-fit: cover; }
.media-gallery__play { position: absolute; z-index: 1; top: 50%; left: 50%; display: grid; width: 88px; height: 88px; place-items: center; border: 4px solid #fff; border-radius: 50%; background: rgb(0 0 0 / 20%); color: #fff; font-size: 2rem; transform: translate(-50%, -50%); transition: background .2s ease, transform .2s ease; }
.media-gallery__play i { margin-left: 5px; }
.media-gallery__video-cover:hover .media-gallery__play { background: #087ff5; transform: translate(-50%, -50%) scale(1.05); }
.media-gallery__photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
.media-gallery__photos figure { min-height: 0; margin: 0; overflow: hidden; }
.media-gallery__photos img { width: 100%; height: 100%; min-height: 0; object-fit: cover; transition: transform .35s ease; }
.media-gallery__photos figure:hover img { transform: scale(1.025); }

@media (max-width: 900px) {
	.media-gallery__grid { grid-template-columns: 1fr; }
	.media-gallery__video { min-height: 0; aspect-ratio: 16 / 9; }
	.media-gallery__photos { grid-auto-rows: 220px; grid-template-rows: none; }
}

@media (max-width: 560px) {
	.media-gallery { padding: 48px 20px 55px; }
	.media-gallery h2 { text-align: center; }
	.media-gallery__photos { grid-template-columns: 1fr; grid-auto-rows: 220px; gap: 16px; }
	.media-gallery__play { width: 66px; height: 66px; border-width: 3px; font-size: 1.45rem; }
}
