.sseb-scroll-sequence {
	position: relative;
	width: 100%;
	/* Scroll length is applied inline via JS (height in vh) based on the
	   sanitized scrollLength value baked into the widget's data attribute. */
}

.sseb-sticky {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	background: #000;
}

.sseb-sticky.sseb-pin {
	position: sticky;
	top: 0;
}

.sseb-canvas,
.sseb-video,
.sseb-fallback-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: var(--sseb-object-fit, cover);
	display: block;
}

.sseb-video {
	object-fit: cover;
}

.sseb-overlay {
	position: absolute;
	inset: 0;
	background: #000;
	opacity: var(--sseb-overlay, 0);
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.sseb-content {
	position: relative;
	z-index: 2;
	width: 100%;
	height: 100%;
}

@media (prefers-reduced-motion: reduce) {
	.sseb-sticky.sseb-pin {
		position: relative;
	}
	.sseb-scroll-sequence {
		height: auto !important;
	}
}
