.cew-mobile-app-promo{
	width:100%;
	min-height:590px;
	margin:0;
	padding:0;
	overflow:hidden;
}
.cew-mobile-app-promo *{box-sizing:border-box}
.cew-map-grid{
	--cew-map-text-width:50%;
	display:grid;
	grid-template-columns:var(--cew-map-text-width) minmax(0,1fr);
	width:100%;
	min-height:inherit;
}
.cew-map-copy{
	display:flex;
	align-items:flex-start;
	justify-content:flex-start;
	min-width:0;
	padding:118px 64px 80px;
	background:#F8F8F8;
}
.cew-map-copy-inner{
	width:100%;
	min-width:0;
}
.cew-map-eyebrow{
	margin:0 0 4px;
	color:#727272;
	font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	font-size:14px;
	line-height:14px;
	font-weight:400;
	letter-spacing:.02em;
	text-transform:uppercase;
}
.cew-map-title{
	margin:0 0 20px;
	max-width:520px;
	color:#000;
	font-size:36px;
	line-height:43px;
	font-weight:400;
	letter-spacing:-.01em;
}
.cew-map-description{
	margin:0 0 14px;
	max-width:590px;
	color:#4B4B4B;
	font-size:16px;
	line-height:22px;
	font-weight:400;
}
.cew-map-learn{
	display:flex;
	width:max-content;
	margin:0 0 24px;
	color:#023820;
	text-decoration:none;
	font-size:16px;
	line-height:20px;
}
.cew-map-learn:hover{text-decoration:underline;text-underline-offset:3px}
.cew-map-downloads{
	position:relative;
	display:flex;
	align-items:flex-start;
	gap:8px;
	min-width:0;
}
.cew-map-stores{
	display:grid;
	gap:8px;
}
.cew-map-store{
	display:flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
}
.cew-map-store img{
	display:block;
	width:134px;
	height:48px;
	object-fit:contain;
}
.cew-map-qr{
	--cew-map-qr-offset-x:0px;
	--cew-map-qr-offset-y:0px;
	position:relative;
	display:flex;
	align-items:flex-start;
	justify-content:center;
	transform:translate(var(--cew-map-qr-offset-x),var(--cew-map-qr-offset-y));
}
.cew-map-qr.is-absolute{
	position:absolute;
	margin:0;
	transform:
		translate(var(--cew-map-qr-anchor-x,0),var(--cew-map-qr-anchor-y,0))
		translate(var(--cew-map-qr-offset-x),var(--cew-map-qr-offset-y));
}
.cew-map-qr.anchor-top-left{--cew-map-qr-anchor-x:0;--cew-map-qr-anchor-y:0}
.cew-map-qr.anchor-top-center{--cew-map-qr-anchor-x:-50%;--cew-map-qr-anchor-y:0}
.cew-map-qr.anchor-top-right{--cew-map-qr-anchor-x:-100%;--cew-map-qr-anchor-y:0}
.cew-map-qr.anchor-center-left{--cew-map-qr-anchor-x:0;--cew-map-qr-anchor-y:-50%}
.cew-map-qr.anchor-center{--cew-map-qr-anchor-x:-50%;--cew-map-qr-anchor-y:-50%}
.cew-map-qr.anchor-center-right{--cew-map-qr-anchor-x:-100%;--cew-map-qr-anchor-y:-50%}
.cew-map-qr.anchor-bottom-left{--cew-map-qr-anchor-x:0;--cew-map-qr-anchor-y:-100%}
.cew-map-qr.anchor-bottom-center{--cew-map-qr-anchor-x:-50%;--cew-map-qr-anchor-y:-100%}
.cew-map-qr.anchor-bottom-right{--cew-map-qr-anchor-x:-100%;--cew-map-qr-anchor-y:-100%}
.cew-map-qr img{
	display:block;
	width:104px;
	height:auto;
	background:#fff;
}
/* ready-made design visual (phone + cards) */
.cew-map-design{position:absolute;inset:0;z-index:1}
.cew-map-design picture,.cew-map-design img{display:block;width:100%;height:100%}
.cew-map-design img{object-fit:cover;object-position:center center}
.cew-map-visual{
	--cew-map-visual-overlay:rgba(0,0,0,0);
	--cew-map-visual-overlay-opacity:0;
	position:relative;
	min-width:0;
	min-height:590px;
	overflow:hidden;
	background:#C7F8E2;
}
.cew-map-visual::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:50;
	background:var(--cew-map-visual-overlay);
	opacity:var(--cew-map-visual-overlay-opacity);
	pointer-events:none;
}
.cew-map-layer{
	--cew-map-offset-x:0px;
	--cew-map-offset-y:0px;
	--cew-map-rotate:0deg;
	--cew-map-layer-overlay:rgba(0,0,0,0);
	--cew-map-layer-overlay-opacity:0;
	--cew-map-layer-blend:normal;
	position:absolute;
	left:50%;
	top:50%;
	transform:
		translate(-50%,-50%)
		translate(var(--cew-map-offset-x),var(--cew-map-offset-y))
		rotate(var(--cew-map-rotate));
	transform-origin:center;
	pointer-events:none;
}

.cew-map-layer::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:5;
	background:var(--cew-map-layer-overlay);
	opacity:var(--cew-map-layer-overlay-opacity);
	mix-blend-mode:var(--cew-map-layer-blend);
	pointer-events:none;
}
.cew-map-layer picture,
.cew-map-layer img{
	display:block;
	width:100%;
	height:100%;
}
.cew-map-layer img{
	object-fit:contain;
}
.cew-map-scene-layer{
	width:100%;
	z-index:1;
}
.cew-map-overlay-layer{
	width:70%;
	z-index:2;
}

@media(max-width:767px){
	.cew-mobile-app-promo{
		min-height:696px;
	}
	.cew-map-grid{
		display:flex;
		flex-direction:column;
	}
	.cew-map-copy{
		width:100%;
		padding:38px 16px 24px;
	}
	.cew-map-eyebrow{
		font-size:12px;
		line-height:12px;
		margin-bottom:2px;
	}
	.cew-map-title{
		max-width:100%;
		font-size:24px;
		line-height:29px;
		margin-bottom:10px;
	}
	.cew-map-description{
		max-width:100%;
		font-size:14px;
		line-height:20px;
		margin-bottom:14px;
	}
	.cew-map-learn{
		font-size:16px;
		line-height:20px;
		margin-bottom:24px;
	}
	.cew-map-downloads{
		gap:8px;
	}
	.cew-map-store img{
		width:134px;
	}
	.cew-map-qr img{
		width:104px;
	}
	.cew-map-visual{
		width:100%;
		min-height:330px;
		flex:0 0 auto;
	}
	.cew-map-scene-layer{
		width:100%;
	}
	.cew-map-overlay-layer{
		width:74%;
	}
}


/* ==========================================================
 * Base image overlay engine
 * Applies ONLY to the main/base visual image.
 * ========================================================== */
.cew-map-scene-layer{
	isolation:isolate;
	overflow:hidden;
}
.cew-map-scene-layer > picture,
.cew-map-scene-layer > picture > img{
	position:relative;
	z-index:0;
}
.cew-map-base-color-overlay,
.cew-map-base-gradient-overlay,
.cew-map-base-pattern{
	position:absolute;
	inset:0;
	pointer-events:none;
}
.cew-map-base-color-overlay{
	z-index:1;
	background-color:#C7F8E2;
	opacity:.76;
	mix-blend-mode:color;
}
.cew-map-base-gradient-overlay{
	--cew-map-base-gradient-angle:90deg;
	--cew-map-base-gradient-start:20%;
	--cew-map-base-gradient-end:100%;
	z-index:2;
	background:linear-gradient(
		var(--cew-map-base-gradient-angle),
		var(--cew-map-base-gradient-1,rgba(0,55,31,0)) var(--cew-map-base-gradient-start),
		var(--cew-map-base-gradient-2,rgba(0,55,31,.34)) var(--cew-map-base-gradient-end)
	);
}
.cew-map-base-pattern{
	--cew-map-base-pattern-x:50%;
	--cew-map-base-pattern-y:50%;
	z-index:3;
	background-image:var(--cew-map-base-texture);
	background-repeat:repeat;
	background-size:230px auto;
	background-position:var(--cew-map-base-pattern-x) var(--cew-map-base-pattern-y);
	opacity:.25;
	mix-blend-mode:multiply;
	filter:grayscale(1);
}

/* ==========================================================
 * Unlimited additional image layers.
 * Every image has independent Desktop / Tablet / Mobile
 * size, X/Y, offsets, rotation and z-index.
 * ========================================================== */
.cew-map-extra-layer{
	position:absolute;
	left:var(--cew-map-extra-x-d,50%);
	top:var(--cew-map-extra-y-d,50%);
	width:var(--cew-map-extra-w-d,32%);
	height:var(--cew-map-extra-h-d,auto);
	transform:
		translate(var(--cew-map-extra-anchor-x,-50%),var(--cew-map-extra-anchor-y,-50%))
		translate(var(--cew-map-extra-ox-d,0px),var(--cew-map-extra-oy-d,0px))
		rotate(var(--cew-map-extra-r-d,0deg));
	transform-origin:center;
	pointer-events:none;
}
.cew-map-extra-layer picture,
.cew-map-extra-layer img{
	display:block;
	width:100%;
	height:100%;
}
.cew-map-extra-layer img{
	object-fit:var(--cew-map-extra-fit,contain);
	border-radius:var(--cew-map-extra-radius,0px);
}

.cew-map-extra-layer.anchor-top-left{--cew-map-extra-anchor-x:0%;--cew-map-extra-anchor-y:0%}
.cew-map-extra-layer.anchor-top-center{--cew-map-extra-anchor-x:-50%;--cew-map-extra-anchor-y:0%}
.cew-map-extra-layer.anchor-top-right{--cew-map-extra-anchor-x:-100%;--cew-map-extra-anchor-y:0%}
.cew-map-extra-layer.anchor-center-left{--cew-map-extra-anchor-x:0%;--cew-map-extra-anchor-y:-50%}
.cew-map-extra-layer.anchor-center{--cew-map-extra-anchor-x:-50%;--cew-map-extra-anchor-y:-50%}
.cew-map-extra-layer.anchor-center-right{--cew-map-extra-anchor-x:-100%;--cew-map-extra-anchor-y:-50%}
.cew-map-extra-layer.anchor-bottom-left{--cew-map-extra-anchor-x:0%;--cew-map-extra-anchor-y:-100%}
.cew-map-extra-layer.anchor-bottom-center{--cew-map-extra-anchor-x:-50%;--cew-map-extra-anchor-y:-100%}
.cew-map-extra-layer.anchor-bottom-right{--cew-map-extra-anchor-x:-100%;--cew-map-extra-anchor-y:-100%}

@media(max-width:1024px){
	.cew-map-extra-layer{
		left:var(--cew-map-extra-x-t,var(--cew-map-extra-x-d,50%));
		top:var(--cew-map-extra-y-t,var(--cew-map-extra-y-d,50%));
		width:var(--cew-map-extra-w-t,var(--cew-map-extra-w-d,32%));
		height:var(--cew-map-extra-h-t,var(--cew-map-extra-h-d,auto));
		transform:
			translate(var(--cew-map-extra-anchor-x,-50%),var(--cew-map-extra-anchor-y,-50%))
			translate(var(--cew-map-extra-ox-t,var(--cew-map-extra-ox-d,0px)),var(--cew-map-extra-oy-t,var(--cew-map-extra-oy-d,0px)))
			rotate(var(--cew-map-extra-r-t,var(--cew-map-extra-r-d,0deg)));
	}
	.cew-map-base-pattern{
		background-size:210px auto;
	}
}

@media(max-width:767px){
	.cew-map-extra-layer{
		left:var(--cew-map-extra-x-m,var(--cew-map-extra-x-t,50%));
		top:var(--cew-map-extra-y-m,var(--cew-map-extra-y-t,50%));
		width:var(--cew-map-extra-w-m,var(--cew-map-extra-w-t,32%));
		height:var(--cew-map-extra-h-m,var(--cew-map-extra-h-t,auto));
		transform:
			translate(var(--cew-map-extra-anchor-x,-50%),var(--cew-map-extra-anchor-y,-50%))
			translate(var(--cew-map-extra-ox-m,var(--cew-map-extra-ox-t,0px)),var(--cew-map-extra-oy-m,var(--cew-map-extra-oy-t,0px)))
			rotate(var(--cew-map-extra-r-m,var(--cew-map-extra-r-t,0deg)));
	}
	.cew-map-base-gradient-overlay{
		--cew-map-base-gradient-angle:0deg;
	}
	.cew-map-base-pattern{
		background-size:180px auto;
	}
}
