.elementor-widget-b_laptop_pin,
.elementor-widget-b_laptop_pin > .elementor-widget-container {
	overflow: visible !important;
	max-width: 100%;
}

.mw-laptop-pin,
.mw-laptop-pin * {
	box-sizing: border-box;
}

.mw-laptop-pin {
	width: 100%;
	max-width: 100%;
	position: relative;
	z-index: 2;
	direction: ltr;
	text-align: center;
	container-type: inline-size;
	font-size: calc(1rem * var(--mw-lp-scale, 1));
	font-size: min(1rem, calc(100cqi / 90), calc(100svh / 48), calc(1rem * var(--mw-lp-scale, 1)));
	overflow: visible;
	--mw-lp-scale: 1;
	--mw-lp-nudge-x: 0px;
	--mw-lp-nudge-y: 16px;
	--mw-lp-screen-h: 0.97;
	--mw-lp-screen-w: 90em;
	--mw-lp-frame-w: 72em;
	--mw-lp-bezel-top: 1.7em;
	--mw-lp-tilt: 24deg;
	--mw-lp-from-sx: 71;
	--mw-lp-from-sy: 35;
	--mw-lp-from-y: -17.1em;
	--mw-lp-to-sx: 80;
	--mw-lp-to-sy: 80;
	--mw-lp-to-y: 0em;
	--mw-lp-persp: 65em;
}

.mw-laptop-pin.is-pinning,
.mw-laptop-pin.is-active {
	z-index: 40;
	overflow: visible;
}

.elementor-widget-b_laptop_pin:has(.mw-laptop-pin.is-pinning),
.elementor-widget-b_laptop_pin:has(.mw-laptop-pin.is-active) {
	z-index: 40;
	position: relative;
	overflow: visible !important;
}

.elementor-widget-b_laptop_pin .pin-spacer,
.mw-laptop-pin .pin-spacer {
	width: 100% !important;
	max-width: 100% !important;
	display: block !important;
	margin: 0 !important;
	overflow: visible !important;
}

.mw-laptop-pin__section {
	position: relative;
	width: 100%;
	max-width: 100%;
	height: auto;
	min-height: 0;
	display: block;
	background: var(--mw-lp-bg, #f0f0f0);
	overflow: visible;
}

.mw-laptop-pin__pin {
	position: relative;
	top: auto;
	width: 100%;
	max-width: 100%;
	height: auto;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	overflow: visible;
	pointer-events: none;
	z-index: 2;
}

.mw-laptop-pin.is-pinning .mw-laptop-pin__pin {
	z-index: 40;
}

.mw-laptop-pin.is-editor .mw-laptop-pin__pin,
.mw-laptop-pin.is-static .mw-laptop-pin__pin {
	position: relative;
	top: auto;
	height: auto;
	overflow: visible;
}

.mw-laptop-pin__scaler {
	width: var(--mw-lp-frame-w, 72em);
	height: auto;
	min-height: 34em;
	flex: none;
	overflow: visible;
	isolation: isolate;
}

.mw-laptop-pin__stage {
	position: relative;
	width: var(--mw-lp-frame-w, 72em);
	height: auto;
	min-height: 34em;
	display: flex;
	flex-direction: column;
	align-items: center;
	overflow: visible;
	pointer-events: none;
}

.mw-laptop-pin__screen-track {
	position: absolute;
	top: calc(var(--mw-lp-bezel-top, 1.7em) + var(--mw-lp-nudge-y, 16px));
	left: calc(50% + var(--mw-lp-nudge-x, 0px));
	right: auto;
	width: 0;
	height: 0;
	margin: 0;
	overflow: visible;
	z-index: 2;
	pointer-events: none;
	transform: none;
}

.mw-laptop-pin__screen-wrap {
	z-index: 2;
	pointer-events: none;
	border-radius: 1em;
	flex: none;
	position: absolute;
	top: 0;
	left: 0;
	width: var(--mw-lp-screen-w);
	margin: 0;
	transform: translateX(-50%);
}

.mw-laptop-pin__screen {
	width: var(--mw-lp-screen-w);
	height: calc(57em * var(--mw-lp-screen-h, 0.97));
	flex: none;
	border-radius: 1.25em;
	overflow: hidden;
	transform-origin: 50% 50%;
	transform: perspective(var(--mw-lp-persp, 65em)) translate3d(0, var(--mw-lp-from-y, -17.1em), 0) scale3d(calc(var(--mw-lp-from-sx, 71) / 100), calc(var(--mw-lp-from-sy, 35) / 100), 1) rotateX(calc(var(--mw-lp-tilt, 24deg) * -1));
	backface-visibility: hidden;
	will-change: auto;
}

.mw-laptop-pin.is-pinning .mw-laptop-pin__screen,
.mw-laptop-pin.is-active .mw-laptop-pin__screen {
	will-change: transform;
}

.mw-laptop-pin__screen-shift {
	width: 100%;
	min-height: 100%;
}

.mw-laptop-pin__screen video,
.mw-laptop-pin__screen img,
.mw-laptop-pin__screen-media {
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	min-height: 100% !important;
	object-fit: cover !important;
	object-position: top center !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	border: 0 !important;
	position: relative !important;
	inset: auto !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
}

/* Frame is a sibling of <section>, outside the GSAP pin — never sticky/fixed. */
.mw-laptop-pin__frame,
.mw-laptop-pin img.mw-laptop-pin__frame,
.mw-laptop-pin .leptop,
#wrap .mw-laptop-pin__frame,
#wrap .mw-laptop-pin img.mw-laptop-pin__frame,
#wrap .mw-laptop-pin .leptop {
	object-fit: contain;
	object-position: 50% 0%;
	width: var(--mw-lp-frame-w, 72em);
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block;
	float: none !important;
	position: absolute !important;
	top: 0 !important;
	left: calc(50% - (var(--mw-lp-frame-w, 72em) / 2)) !important;
	right: auto !important;
	bottom: auto !important;
	z-index: 1;
	pointer-events: none;
	user-select: none;
}

.mw-laptop-pin.is-editor .mw-laptop-pin__screen,
.mw-laptop-pin.is-static .mw-laptop-pin__screen {
	will-change: auto;
}

@media (max-width: 1024px) {
	.mw-laptop-pin {
		--mw-lp-screen-w: 71em;
		--mw-lp-frame-w: 56em;
		--mw-lp-bezel-top: 5.1em;
		--mw-lp-from-y: -17.3em;
		--mw-lp-from-sx: 70;
		--mw-lp-from-sy: 36;
	}

	.mw-laptop-pin__screen {
		height: calc(48em * var(--mw-lp-screen-h, 0.97));
	}

	.mw-laptop-pin__scaler,
	.mw-laptop-pin__stage {
		width: var(--mw-lp-frame-w, 56em);
		min-height: 26em;
	}
}

@media (max-width: 767px) {
	.mw-laptop-pin {
		/* Size em from the 20em mobile frame, not the 90em desktop frame. */
		font-size: calc(100vw / 22);
		font-size: min(calc(100cqi / 21.5), calc(100svh / 34));
		--mw-lp-screen-w: 19em;
		--mw-lp-frame-w: 20em;
		--mw-lp-nudge-x: 0px;
		--mw-lp-bezel-top: 1.3em;
		--mw-lp-tilt: 10deg;
		--mw-lp-from-y: -0.6em;
		--mw-lp-from-sx: 92;
		--mw-lp-from-sy: 62;
		--mw-lp-to-sx: 96;
		--mw-lp-to-sy: 96;
		--mw-lp-to-y: 0em;
	}

	.mw-laptop-pin__scaler,
	.mw-laptop-pin__stage {
		width: var(--mw-lp-frame-w, 20em);
		height: auto;
		min-height: 18em;
	}

	.mw-laptop-pin__screen {
		width: 100%;
		height: calc(9.2em * var(--mw-lp-screen-h, 0.97));
		border-radius: 0.5em;
		transform-origin: 50% 50%;
	}

	.mw-laptop-pin__screen-wrap {
		height: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mw-laptop-pin__screen {
		will-change: auto;
	}
}
