.isv-overlay {
	position: fixed;
	inset: 0;
	z-index: 999999;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
}

.isv-overlay.isv-visible {
	display: block;
}

html.isv-intro-pending #isv-overlay,
.isv-overlay.isv-visible {
	display: block;
}

.isv-overlay[hidden] {
	display: none !important;
}

/* Desktop: fullscreen cover (unchanged). */
@media (min-width: 1025px) {
	html.isv-intro-pending #isv-overlay,
	.isv-overlay.isv-visible {
		display: block;
	}

	.isv-video {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100vw;
		height: 100vh;
		min-width: 100%;
		min-height: 100%;
		object-fit: cover;
		transform: translate(-50%, -50%);
	}
}

/* Tablet & mobile: full width, auto height, centered with gap fill. */
@media (max-width: 1024px) {
	html.isv-intro-pending #isv-overlay,
	.isv-overlay.isv-visible {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.isv-video {
		position: relative;
		top: auto;
		left: auto;
		width: 100vw;
		height: auto;
		max-height: 100vh;
		min-width: 0;
		min-height: 0;
		object-fit: contain;
		transform: none;
		display: block;
	}
}

html.isv-intro-pending,
html.isv-intro-pending body,
html.isv-locked,
html.isv-locked body {
	overflow: hidden !important;
	height: 100%;
}
