.lm-global-portfolio {
	--lm-global-primary: #17354d;
	--lm-global-deep: #10273b;
	--lm-global-accent: #d4a574;
	--lm-global-map: #4a535c;
	position: relative;
	box-sizing: border-box;
	width: 100vw;
	max-width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding: clamp(18px, 2.6vw, 34px) clamp(20px, 5vw, 72px) clamp(20px, 2.8vw, 36px);
	overflow: hidden;
	background:
		radial-gradient(circle at 26% 18%, rgba(46, 87, 113, 0.38), transparent 28%),
		linear-gradient(135deg, #10263a 0%, #1d4860 100%);
	color: #fff;
}

.wp-block-acf-global-project-portfolio {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.wp-block-acf-global-project-portfolio .lm-global-portfolio {
	margin-left: 0;
	margin-right: 0;
}

.editor-styles-wrapper .wp-block-acf-global-project-portfolio,
.editor-styles-wrapper .lm-global-portfolio {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.lm-global-portfolio *,
.lm-global-portfolio *::before,
.lm-global-portfolio *::after {
	box-sizing: border-box;
}

.lm-global-portfolio::before {
	position: absolute;
	inset: 0;
	content: "";
	opacity: 0.14;
	background-image: radial-gradient(circle, rgba(255,255,255,0.36) 1px, transparent 1px);
	background-size: 32px 32px;
	pointer-events: none;
}

.lm-global-portfolio__inner {
	position: relative;
	z-index: 1;
	width: min(100%, 1180px);
	margin: 0 auto;
}

.lm-global-portfolio__header {
	max-width: 760px;
	margin: 0 auto clamp(12px, 1.7vw, 18px);
	text-align: center;
}

.lm-global-portfolio__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 28px;
	margin-bottom: 10px;
	padding: 7px 18px;
	border-radius: 999px;
	background: var(--lm-global-accent);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}

.lm-global-portfolio__eyebrow span {
	display: block;
	width: 13px;
	height: 13px;
	border: 2px solid currentColor;
	border-radius: 50%;
}

.lm-global-portfolio__eyebrow span::after {
	display: block;
	width: 3px;
	height: 3px;
	margin: 3px auto 0;
	border-radius: 50%;
	background: currentColor;
	content: "";
}

.lm-global-portfolio__title {
	margin: 0;
	color: #fff;
	font-size: clamp(26px, 2.8vw, 40px);
	font-weight: 700;
	line-height: 1.06;
	letter-spacing: 0;
}

.lm-global-portfolio__subtitle {
	margin: 9px 0 0;
	color: var(--lm-global-accent);
	font-size: clamp(16px, 1.45vw, 21px);
	font-weight: 700;
	line-height: 1.2;
}

.lm-global-portfolio__description {
	max-width: 680px;
	margin: 8px auto 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(13px, 0.98vw, 15px);
	font-weight: 500;
	line-height: 1.48;
}

.lm-global-portfolio__map-card {
	position: relative;
	width: min(100%, 1120px);
	margin: 0 auto;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(16, 39, 59, 0.48);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: hidden;
}

.lm-global-portfolio__map {
	position: relative;
	height: clamp(280px, 28vw, 390px);
	overflow: hidden;
	border-radius: inherit;
	background: linear-gradient(150deg, rgba(19, 44, 66, 0.88), rgba(24, 58, 80, 0.68));
	user-select: none;
}

.lm-global-portfolio .leaflet-container {
	z-index: 1;
	background: #10273b;
	font-family: inherit;
}

.lm-global-portfolio .leaflet-tile-pane {
	filter: saturate(0.62) hue-rotate(160deg) brightness(0.55) contrast(1.14);
}

.lm-global-portfolio .leaflet-control-zoom {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 8px;
	background: rgba(13, 31, 48, 0.74);
	box-shadow: 0 10px 28px rgba(5, 18, 31, 0.2);
}

.lm-global-portfolio .leaflet-control-zoom a {
	width: 34px;
	height: 34px;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	background: transparent;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 34px;
}

.lm-global-portfolio .leaflet-control-zoom a:last-child {
	border-bottom: 0;
}

.lm-global-portfolio .leaflet-control-zoom a:hover,
.lm-global-portfolio .leaflet-control-zoom a:focus {
	background: rgba(212, 165, 116, 0.24);
	color: #fff;
}

.lm-global-portfolio .leaflet-control-attribution {
	background: rgba(13, 31, 48, 0.72);
	color: rgba(255, 255, 255, 0.74);
	font-size: 10px;
}

.lm-global-portfolio .leaflet-control-attribution a {
	color: rgba(255, 255, 255, 0.9);
}

.lm-global-portfolio__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	width: min(100%, 900px);
	margin: clamp(14px, 2vw, 22px) auto 0;
	text-align: center;
}

.lm-global-portfolio__stat strong {
	display: block;
	color: var(--lm-global-accent);
	font-size: clamp(28px, 3vw, 38px);
	font-weight: 800;
	line-height: 1;
}

.lm-global-portfolio__stat span {
	display: block;
	margin-top: 10px;
	color: rgba(255, 255, 255, 0.62);
	font-size: clamp(12px, 1vw, 15px);
	font-weight: 500;
	line-height: 1.25;
}

@media (max-width: 767px) {
	.lm-global-portfolio {
		padding: 20px 16px 22px;
	}

	.lm-global-portfolio__header {
		margin-bottom: 14px;
	}

	.lm-global-portfolio__eyebrow {
		margin-bottom: 8px;
		font-size: 12px;
	}

	.lm-global-portfolio__title {
		font-size: 28px;
	}

	.lm-global-portfolio__subtitle {
		margin-top: 8px;
		font-size: 17px;
	}

	.lm-global-portfolio__description {
		font-size: 13px;
	}

	.lm-global-portfolio__map {
		height: 300px;
	}

	.lm-global-portfolio__stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px;
		margin-top: 16px;
	}

	.lm-global-portfolio__stat strong {
		font-size: 28px;
	}

	.lm-global-portfolio__stat span {
		font-size: 12px;
	}
}

@media (max-width: 480px) {
	.lm-global-portfolio__stats {
		grid-template-columns: 1fr;
		gap: 18px;
	}
}
