/* Keep the outgoing scene inside its original bounds: no floating overlap. */
.wec-screen-shell { position: relative; isolation: isolate; overflow: clip; }
.wec-f:has(.wec-screen-shell) { overflow-anchor: none; }
.wec-screen-underlay { position: absolute; z-index: -1; inset: 0; pointer-events: none; }
.wec-screen-underlay-scrim { position: absolute; inset: 0; }
.wec-design-preview-c .wec-f__hero.is-screen-scale,
.wec-design-preview-b .wec-f__context.is-screen-scale {
	--wec-screen-scale: 1;
	--wec-screen-radius: 0px;
	--wec-screen-opacity: 1;
	--wec-screen-copy: 1;
	--wec-screen-backdrop: 1;
	--wec-screen-actions: 1;
	background: transparent;
	transform: scale(var(--wec-screen-scale));
	transform-origin: center;
	border-radius: var(--wec-screen-radius);
	opacity: var(--wec-screen-opacity);
	z-index: 0;
	transition: transform 100ms linear, border-radius 100ms linear, opacity 100ms linear;
}
.wec-f .is-screen-scale .wec-f__hero-image,
.wec-f .is-screen-scale .wec-f__context-image,
.wec-design-preview-c .wec-f__hero.is-screen-scale::before,
.wec-design-preview-b .wec-f__context.is-screen-scale::after { opacity: var(--wec-screen-backdrop); }
.wec-f .is-screen-scale .wec-f__header,
.wec-f .is-screen-scale .wec-f__hero-copy > h1,
.wec-f .is-screen-scale .wec-f__hero-copy > .wec-f__lead,
.wec-f .is-screen-scale .wec-f__hero-thread,
.wec-f .is-screen-scale .wec-f__context-grid { opacity: var(--wec-screen-copy); }
.wec-f .is-screen-scale .wec-f__actions {
	width: max-content;
	max-width: 100%;
	opacity: var(--wec-screen-actions);
	transform: translate(var(--wec-screen-action-x,0px),var(--wec-screen-action-y,0px)) scale(var(--wec-screen-action-scale,1));
	transform-origin: center;
}
.wec-f .is-screen-scale .wec-f__actions .wec-f__button { transform: scaleX(var(--wec-screen-button-width,1)); }
.wec-design-preview-c .is-screen-scale.is-screen-light .wec-f__actions .wec-f__inline-link { color: #0b1b2b; }
.wec-f .is-screen-scale.is-screen-away { visibility: hidden; pointer-events: none; }
/* B's framing motion replaces its light sweep, not A's established motion. */
.wec-design-preview-b .wec-f__context.is-screen-scale::before { display: none; }

@media (max-width: 760px), (prefers-reduced-motion: reduce) {
	.wec-screen-shell { height: auto !important; }
	.wec-f .is-screen-scale .wec-f__actions,
	.wec-f .is-screen-scale .wec-f__actions .wec-f__button { transform: none; }
	.wec-screen-underlay { display: none; }
	.wec-design-preview-c .wec-f__hero.is-screen-scale { background: var(--wec-bg); }
	.wec-design-preview-b .wec-f__context.is-screen-scale { background: var(--wec-b-context); }
	.wec-design-preview-c .wec-f__hero.is-screen-scale,
	.wec-design-preview-b .wec-f__context.is-screen-scale {
		transform: none;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		border-radius: 0;
		transition: none;
		outline: none;
		box-shadow: none;
	}
}
