/* 45 SOUTH — Video Gallery V1: image-led, lazy-loaded video players. */
.south-film-players { padding-top: 26px; padding-bottom: 42px; }
.south-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
.south-video-grid--single { grid-template-columns: minmax(0,1fr); }
.south-video-card { min-width: 0; }
.south-video-card--lead { grid-column: 1 / -1; }
.south-video-trigger { display: block; position: relative; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 0; overflow: hidden; padding: 0; background: #121212; color: #fff; text-align: center; cursor: pointer; }
.south-video-trigger img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease, opacity .35s ease; }
.south-video-trigger:hover img { transform: scale(1.025); opacity: .85; }
.south-video-trigger:focus-visible { outline: 3px solid #dedede; outline-offset: 4px; }
.south-video-trigger iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
.south-video-placeholder { display: grid; position: absolute; inset: 0; place-items: center; font-size: 12px; font-weight: 600; letter-spacing: .33em; color: #999; }
.south-video-play-icon { display: grid; place-items: center; position: absolute; left: 50%; top: 50%; width: 66px; height: 66px; transform: translate(-50%, -50%); border: 1px solid rgba(255,255,255,.7); border-radius: 100%; background: rgba(10,10,10,.5); backdrop-filter: blur(5px); transition: background .25s, transform .25s; }
.south-video-trigger:hover .south-video-play-icon { background: rgba(0,0,0,.8); transform: translate(-50%, -50%) scale(1.08); }
.south-video-card--lead .south-video-play-icon { width: 86px; height: 86px; }
.south-video-meta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 16px; padding: 13px 0 0; }
.south-video-number { font: 600 11px/1.4 Arial, sans-serif; letter-spacing: .17em; color: #888; }
.south-video-meta :is(h2,h3) { margin: 0; font: 500 clamp(13px, 1.1vw, 17px)/1.45 Arial, sans-serif; color: inherit; }
.south-video-card--lead .south-video-meta :is(h2,h3) { font-size: clamp(16px, 1.6vw, 22px); }
@media (max-width: 670px) {
 .south-video-grid { grid-template-columns: 1fr; gap: 23px; }
 .south-video-card--lead { grid-column: auto; }
 .south-video-play-icon, .south-video-card--lead .south-video-play-icon { width: 65px; height: 65px; }
}
@media (prefers-reduced-motion: reduce) {
 .south-video-trigger img, .south-video-play-icon { transition: none; }
}
