.jw-dm{
	--jw-dm-panel-bg:rgba(14,84,84,.88);
	--jw-dm-transition:1.4s;
	--jw-dm-desktop-height:500px;
	--jw-dm-panel-width:41%;
	--jw-dm-panel-top:14%;
	position:relative;
	width:100%;
	height:var(--jw-dm-desktop-height);
	min-height:360px;
	isolation:isolate;
	overflow:hidden;
	contain:layout paint;
	margin:0 0 3rem;
	box-sizing:border-box;
}

.jw-dm__stage{
	position:absolute;
	inset:0;
	z-index:1;
	width:100%;
	height:100%;
	pointer-events:none;
}

.jw-dm__square{
	position:absolute;
	overflow:hidden;
	background:rgba(127,127,127,.16);
	box-sizing:border-box;
}

/* Desktop frame geometry is generated from the saved visual-layout settings. */

.jw-dm__layer{
	position:absolute;
	inset:0;
	opacity:0;
	transition:opacity var(--jw-dm-transition) ease-in-out;
	overflow:hidden;
	background:rgba(127,127,127,.08);
	will-change:opacity;
}
.jw-dm__layer.is-active{opacity:1}

.jw-dm__layer img,
.jw-dm__layer video{
	display:block;
	width:100%;
	height:100%;
	max-width:none;
	max-height:none;
	margin:0;
	padding:0;
	border:0;
	object-fit:cover;
	object-position:center;
	pointer-events:none;
	user-select:none;
}

.jw-dm__layer img{
	transform:translateZ(0);
	backface-visibility:hidden;
	will-change:transform;
}
.jw-dm__layer img.jw-dm__zoom-in{animation:jw-dm-zoom-in var(--jw-dm-zoom-duration,12s) linear both}
.jw-dm__layer img.jw-dm__zoom-out{animation:jw-dm-zoom-out var(--jw-dm-zoom-duration,12s) linear both}

@keyframes jw-dm-zoom-in{
	from{transform:translateZ(0) scale(1)}
	to{transform:translateZ(0) scale(var(--jw-dm-zoom-scale,1.08))}
}
@keyframes jw-dm-zoom-out{
	from{transform:translateZ(0) scale(var(--jw-dm-zoom-scale,1.08))}
	to{transform:translateZ(0) scale(1)}
}

.jw-dm__panel{
	position:absolute;
	z-index:50;
	top:var(--jw-dm-panel-top);
	left:0;
	width:var(--jw-dm-panel-width);
	max-height:calc(100% - var(--jw-dm-panel-top));
	overflow:auto;
	padding:clamp(24px,3vw,40px);
	background:var(--jw-dm-panel-bg);
	backdrop-filter:blur(1.5px);
	-webkit-backdrop-filter:blur(1.5px);
	box-sizing:border-box;
}

.jw-dm__heading{
	margin:0 0 1rem;
	font:inherit;
	font-size:clamp(1.25rem,2vw,1.55rem);
	font-weight:700;
	line-height:1.35;
	color:inherit;
}
.jw-dm__body{font:inherit;font-size:inherit;line-height:1.55;color:inherit}
.jw-dm__body p{margin:0 0 1.2em}
.jw-dm__body p:last-child{margin-bottom:0}

.jw-dm__buttons{
	display:flex;
	flex-wrap:wrap;
	gap:12px 18px;
	margin-top:1.6rem;
}
.jw-dm__button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:38px;
	padding:7px 13px;
	border:2px solid currentColor;
	border-radius:3px;
	color:inherit;
	text-decoration:none;
	font:inherit;
	font-size:.78rem;
	font-weight:600;
	line-height:1.2;
	background:transparent;
	transition:opacity .2s ease;
}
.jw-dm__button:hover,
.jw-dm__button:focus-visible{opacity:.78}

/* Mobile/tablet remains a contained normal-flow composition. */
@media(max-width:767px){
	.jw-dm{
		display:flex;
		flex-direction:column;
		height:auto;
		min-height:0;
		overflow:visible;
		contain:layout;
		margin-bottom:2rem;
	}

	.jw-dm__stage{
		position:relative;
		order:1;
		inset:auto;
		width:100%;
		height:auto;
		display:grid;
		grid-template-columns:1fr 1fr 1.28fr;
		grid-template-rows:1fr 1fr;
		aspect-ratio:3.28/2;
		gap:0;
	}

	/* Saved desktop geometry is explicitly overridden on mobile. */
	.jw-dm .jw-dm__square{
		position:relative !important;
		inset:auto !important;
		left:auto !important;
		top:auto !important;
		width:100% !important;
		height:100% !important;
	}


	.jw-dm__panel{
		position:relative;
		order:2;
		top:auto;
		left:auto;
		width:100%;
		max-height:none;
		overflow:visible;
		margin:24px 0 0;
		padding:clamp(28px,8vw,40px);
	}

	.jw-dm__heading{font-size:clamp(1.4rem,7vw,1.85rem)}
	.jw-dm__buttons{align-items:flex-start;flex-direction:column}
}

@media(prefers-reduced-motion:reduce){
	.jw-dm__layer{transition-duration:.01ms}
	.jw-dm__layer img{animation:none!important}
}


.jw-dm__body h2,
.jw-dm__body h3,
.jw-dm__body h4{
	font-family:inherit;
	color:inherit;
	line-height:1.3;
}
.jw-dm__body h2{
	margin:0 0 1rem;
	font-size:clamp(1.25rem,2vw,1.55rem);
	font-weight:700;
}
.jw-dm__body h3{
	margin:1.2rem 0 .7rem;
	font-size:1.18rem;
	font-weight:700;
}
.jw-dm__body h4{
	margin:1rem 0 .6rem;
	font-size:1rem;
	font-weight:700;
}
