.dpc-center, .dpc-center * { box-sizing: border-box; }
.dpc-scroll-stage { position: relative; display: flow-root; width: 100%; min-width: 0; flex: 0 0 auto; align-self: stretch; overflow: visible; overflow-anchor: none; box-sizing: border-box; background-color: var(--dpc-pin-background, #101112); }
.dpc-scroll-stage > .dpc-scroll-frame { position: sticky !important; display: flow-root; width: 100%; min-width: 0; min-height: var(--dpc-pin-frame-height, 0px); box-sizing: border-box; background-color: inherit; transform: none !important; transition: none !important; animation: none !important; }
.dpc-center.dpc-scroll-fit .dpc-panel { height: var(--dpc-pin-panel-height); aspect-ratio: auto; }
.dpc-scroll-target { align-self: start; min-height: 0 !important; height: auto !important; }
.dpc-scroll-target > .e-con-inner { min-height: 0 !important; height: auto !important; }
.dpc-collection-target :is(h1,h2).elementor-heading-title { font-size: clamp(24px, 2.6vw, 36px) !important; line-height: 1.2; }
.dpc-collection-target :is(.elementor-button-text,.elementor-widget-text-editor a) { font-size: 14px; }
.dpc-panels { position: relative; }
.dpc-panels > .dpc-panel.is-leaving { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.dpc-center {
	width: 100%; padding: 0;
	background: var(--dpc-bg, #0d0f10); color: var(--dpc-card-text, #fff); font-family: inherit;
}
.dpc-section-title {
	margin: 0 0 20px; padding: 0; color: var(--dpc-title, #fff); font: inherit;
	font-size: var(--dpc-title-size, 32px); font-weight: 400; line-height: 1.2;
}
.dpc-tabs-wrap { overflow-x: auto; scrollbar-width: thin; scrollbar-color: #45494c transparent; margin-bottom: 16px; }
.dpc-tabs { display: flex; justify-content: space-between; gap: clamp(20px, 3vw, 48px); min-width: 100%; width: max-content; border-bottom: 2px solid #2a2d2f; }
.dpc-center .dpc-tab {
	position: relative; flex: 1 0 auto; margin: 0 0 -2px; padding: 0 0 12px;
	border: 0; border-bottom: 3px solid transparent; border-radius: 0; box-shadow: none;
	background: transparent; color: var(--dpc-tab, #b5b7b9); font: inherit;
	font-size: var(--dpc-tab-size, 18px); font-weight: 400; line-height: 1.4; text-align: left;
	text-transform: none; letter-spacing: normal; white-space: nowrap; cursor: pointer; appearance: none;
	transition: color .2s, border-color .2s;
}
.dpc-center .dpc-tab:hover { color: var(--dpc-tab, #b5b7b9) !important; background: transparent !important; }
.dpc-center .dpc-tab.is-active, .dpc-center .dpc-tab.is-active:hover { color: var(--dpc-card-text, #fff) !important; background: transparent !important; }
.dpc-center .dpc-tab.is-active { border-bottom-color: var(--dpc-active, #004098); }
.dpc-center .dpc-tab:focus-visible { outline: 2px solid var(--dpc-active, #004098); outline-offset: -3px; }
.dpc-panel { display: grid; grid-template-columns: 2fr 3fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 18px; aspect-ratio: 2.25; }
.dpc-panel[hidden] { display: none !important; }
.dpc-center .dpc-product-card {
	position: relative; display: block; min-width: 0; min-height: 0; overflow: hidden;
	border: 1px solid #35383a; border-radius: var(--dpc-radius, 0px); background: #191c1e;
	color: var(--dpc-card-text, #fff); text-decoration: none; box-shadow: none; isolation: isolate;
}
.dpc-product-card--featured { grid-row: 1 / -1; }
.dpc-center a.dpc-product-card,
.dpc-center a.dpc-product-card:hover,
.dpc-center a.dpc-product-card:focus,
.dpc-center a.dpc-product-card:visited { color: var(--dpc-card-text, #fff) !important; text-decoration: none !important; }
.dpc-center .dpc-product-card .dpc-card-title { color: var(--dpc-card-text, #fff) !important; }
.dpc-center .dpc-product-card .dpc-card-description { color: #6f706f !important; text-shadow: none; }
.dpc-center .dpc-card-image { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0; border-radius: 0; object-fit: cover; object-position: center; transition: transform .65s ease; }
.dpc-product-card:hover .dpc-card-image, .dpc-product-card:focus-visible .dpc-card-image { transform: scale(1.035); }
.dpc-center .dpc-product-card:focus-visible { outline: 2px solid var(--dpc-active, #004098); outline-offset: 3px; }
.dpc-card-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgb(var(--dpc-overlay-rgb, 0 0 0) / var(--dpc-overlay-opacity, .52)) 100%); pointer-events: none; }
.dpc-card-content { position: absolute; bottom: clamp(14px, 1.3vw, 22px); left: clamp(16px, 1.5vw, 24px); right: 76px; display: block; text-shadow: 0 1px 8px rgb(0 0 0 / 50%); }
.dpc-card-title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; margin: 0 0 3px; color: inherit; font: inherit; font-size: clamp(16px, 1.5vw, var(--dpc-card-title-size, 20px)); font-weight: 400; line-height: 1.2; overflow-wrap: anywhere; }
.dpc-card-description { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: inherit; font: inherit; font-size: var(--dpc-desc-size, 14px); line-height: 1.4; overflow-wrap: anywhere; }
.dpc-card-link-arrow { position: absolute; right: clamp(20px, 1.5vw, 26px); bottom: clamp(16px, 1.5vw, 24px); display: grid; place-items: center; width: 38px; height: 38px; border: 1.5px solid currentColor; border-radius: 50%; color: var(--dpc-arrow, #fff); background: rgb(0 0 0 / 12%); transition: background .2s, transform .2s; }
.dpc-card-link-arrow svg { display: block; width: 23px; height: 23px; }
.dpc-product-card:hover .dpc-card-link-arrow { transform: translateX(3px); }
.dpc-panel--1 { grid-template-columns: 1fr; aspect-ratio: 2.25; }
.dpc-panel--2 { grid-template-columns: 1fr 1fr; aspect-ratio: 2.25; }
.dpc-panel--2 .dpc-product-card { grid-row: 1 / -1; }
@media (min-width: 768px) and (max-width: 1100px) {
	.dpc-panel { aspect-ratio: 1.8; gap: 14px; }
	.dpc-card-description { font-size: min(var(--dpc-desc-size, 14px), 16px); }
	.dpc-card-content { right: 76px; }
	.dpc-card-link-arrow { width: 38px; height: 38px; right: 18px; }
}
@media (max-width: 767px) {
	.dpc-section-title { font-size: min(var(--dpc-title-size, 32px), 26px); }
	.dpc-tabs-wrap { margin-bottom: 18px; }
	.dpc-tabs { gap: 28px; }
	.dpc-center .dpc-tab { font-size: min(var(--dpc-tab-size, 18px), 15px); padding-bottom: 11px; }
	.dpc-panel { grid-template-columns: 1fr; grid-template-rows: none; aspect-ratio: auto; gap: 14px; }
	.dpc-product-card--featured, .dpc-panel--2 .dpc-product-card { grid-row: auto; }
	.dpc-center .dpc-product-card { aspect-ratio: 1.8; }
	.dpc-center .dpc-product-card--featured { aspect-ratio: 1.05; }
	.dpc-card-content { left: 18px; bottom: 18px; right: 70px; }
	.dpc-card-title { font-size: min(var(--dpc-card-title-size, 20px), 18px); }
	.dpc-card-description { font-size: min(var(--dpc-desc-size, 14px), 14px); }
	.dpc-card-link-arrow { width: 36px; height: 36px; right: 17px; bottom: 21px; }
}
@media (prefers-reduced-motion: reduce) {
	.dpc-center .dpc-tab, .dpc-center .dpc-card-image, .dpc-card-link-arrow { transition: none; }
}

.dpc-global-map,
.dpc-global-map * {
	box-sizing: border-box;
}

.dpc-global-map {
	position: relative;
	z-index: 0;
	display: block;
	clear: both;
	width: 100%;
	overflow: hidden;
	background: transparent !important;
	isolation: isolate;
	contain: layout paint;
}

.dpc-map-inner {
	position: relative;
	width: min(100%, var(--dpc-map-max-width, 2048px));
	margin-inline: auto;
	padding: clamp(24px, 1.8vw, 36px) clamp(18px, 6vw, 124px);
}

.dpc-map-stage {
	position: relative;
	width: 100%;
	overflow: hidden;
	aspect-ratio: 1190 / 584;
	line-height: 0;
	isolation: isolate;
}

.dpc-map-image {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1190 / 584;
	object-fit: contain;
	user-select: none;
	pointer-events: none;
}

.dpc-map-marker {
	position: absolute;
	z-index: 2;
	top: var(--dpc-marker-y);
	left: var(--dpc-marker-x);
	display: block;
	width: clamp(20px, 2.6vw, var(--dpc-map-icon-size, 48px));
	aspect-ratio: 1;
	overflow: hidden;
	border: 2px solid rgb(255 255 255 / 92%);
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 5px rgb(255 255 255 / 10%), 0 6px 18px rgb(0 0 0 / 28%);
	transform: translate(-50%, -50%) scale(.88);
	transform-origin: center;
	animation: dpc-map-pulse 2.6s ease-in-out var(--dpc-marker-delay, 0s) infinite;
	will-change: transform;
}

.dpc-map-marker img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-fit: cover;
	user-select: none;
	pointer-events: none;
}

@keyframes dpc-map-pulse {
	0%,
	100% { transform: translate(-50%, -50%) scale(.88); }
	50% { transform: translate(-50%, -50%) scale(1.12); }
}


@media (max-width: 767px) {
	.dpc-map-inner { padding: 16px 8px; }
	.dpc-map-marker { width: clamp(12px, 4vw, 20px); border-width: 1px; box-shadow: 0 0 0 2px rgb(255 255 255 / 10%), 0 2px 7px rgb(0 0 0 / 22%); }
}
@media (prefers-reduced-motion: reduce) { .dpc-map-marker { animation: none; } }
