/*
 * The runtime wrapper is a zero-height marker sitting at the story's
 * start: the stage is a *backdrop* the story's own sections scroll over
 * (spec section 16: "remains visually behind overlay scene content";
 * section 30: "Text/content sections remain in normal document flow at
 * all times"), so it must not occupy flow space and push those sections
 * down. If it did, the stage would already have scrolled off-screen by
 * the time the pin engages at the story boundary, and GSAP would then
 * faithfully freeze it there — off-screen for the whole story.
 */
.subd-ss-runtime {
	position: relative;
	height: 0;
}

.subd-ss-stage {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	background: #000;
	z-index: 1;
}

.subd-ss-canvas {
	display: block;
	width: 100%;
	height: 100%;
}

/*
 * fit/focal are applied per-instance by VideoRenderer (object-fit /
 * object-position, mirroring CanvasSequenceRenderer's cover/contain + focal
 * point math) — this just establishes the box the video fills, same
 * division of responsibility the stylesheet already has with the canvas.
 */
.subd-ss-video {
	display: block;
	width: 100%;
	height: 100%;
}

.subd-ss-noscript-fallback {
	display: block;
	width: 100%;
	height: auto;
}
