.dc-cp{
	--dc-cp-content-w:1280px;
	--dc-cp-side-pad:0px;
	--dc-cp-section-min-h:720px;
	--dc-cp-header-y:71px;
	--dc-cp-body-y:208px;
	--dc-cp-left-w:616px;
	--dc-cp-col-gap:48px;
	--dc-cp-number-size:64px;
	--dc-cp-step-gap:32px;
	--dc-cp-number-copy-gap:32px;
	--dc-cp-number-bg:rgba(34,34,34,.10);
	--dc-cp-number-color:rgba(34,34,34,.80);
	--dc-cp-active-number-color:#FFFFFF;
	--dc-cp-title-color:#222222;
	--dc-cp-subtitle-color:#5E5E5E;
	--dc-cp-title-active-1:#FECA01;
	--dc-cp-title-active-2:#FF9600;
	--dc-cp-title-active-angle:180deg;
	--dc-cp-media-h:448px;
	--dc-cp-active-1:#FECA01;
	--dc-cp-active-2:#FF9600;
	--dc-cp-overlay-start:rgba(0,0,0,0);
	--dc-cp-overlay-end:rgba(0,0,0,.90);
	--dc-cp-state-duration:320ms;
	--dc-cp-state-easing:cubic-bezier(.22,1,.36,1);
	--dc-cp-enter-duration:620ms;
	--dc-cp-enter-stagger:90ms;
	--dc-cp-enter-y:24px;
	--dc-cp-media-enter-x:40px;
	--dc-cp-cut-x:79.23%;
	--dc-cp-cut-y:28.56%;
	--dc-cp-auto-min-h:0px;
	position:relative;
	width:100%;
	min-height:max(var(--dc-cp-section-min-h),var(--dc-cp-auto-min-h));
	background:#fff;
	overflow:hidden;
	box-sizing:border-box;
}
.dc-cp *,
.dc-cp *::before,
.dc-cp *::after{box-sizing:border-box}
.dc-cp__eyebrow,
.dc-cp__heading,
.dc-cp__intro,
.dc-cp__step-title,
.dc-cp__step-subtitle,
.dc-cp__detail{
	overflow-wrap:anywhere;
	word-break:normal;
}
.dc-cp__inner{
	position:relative;
	width:min(var(--dc-cp-content-w),calc(100% - (var(--dc-cp-side-pad) * 2)));
	min-height:inherit;
	margin-inline:auto;
}
.dc-cp__header{
	position:absolute;
	inset-inline:0;
	top:var(--dc-cp-header-y);
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(320px,616px);
	gap:48px;
	align-items:start;
}
.dc-cp__eyebrow{
	margin:0 0 22px;
	color:#FF9600;
}
.dc-cp__heading{
	margin:0;
	padding:0;
	color:#222;
}
.dc-cp__intro{
	justify-self:end;
	margin:42px 0 0;
	text-align:right;
	color:#373D4E;
}
.dc-cp__body{
	position:absolute;
	inset-inline:0;
	top:var(--dc-cp-body-y);
	display:grid;
	grid-template-columns:minmax(0,var(--dc-cp-left-w)) minmax(0,1fr);
	gap:var(--dc-cp-col-gap);
	align-items:start;
}
.dc-cp__steps{
	display:flex;
	flex-direction:column;
	gap:var(--dc-cp-step-gap);
	min-width:0;
}
.dc-cp button.dc-cp__step,
.dc-cp button.dc-cp__step:hover,
.dc-cp button.dc-cp__step:focus,
.dc-cp button.dc-cp__step:active{
	appearance:none;
	-webkit-appearance:none;
	width:100%;
	min-width:0;
	min-height:var(--dc-cp-number-size);
	margin:0;
	padding:0;
	border:0;
	border-radius:0;
	box-shadow:none;
	background:transparent;
	background-color:transparent;
	background-image:none;
	color:inherit;
	font:inherit;
	text-transform:none;
	text-decoration:none;
	text-align:left;
	display:grid;
	grid-template-columns:var(--dc-cp-number-size) minmax(0,1fr);
	column-gap:var(--dc-cp-number-copy-gap);
	align-items:center;
	height:auto !important;
	max-height:none !important;
	overflow:visible !important;
	white-space:normal !important;
	cursor:pointer;
	outline:0;
}
.dc-cp__number{
	position:relative;
	isolation:isolate;
	display:grid;
	place-items:center;
	width:var(--dc-cp-number-size);
	height:var(--dc-cp-number-size);
	min-width:var(--dc-cp-number-size);
	background:transparent;
	color:var(--dc-cp-number-color);
	line-height:1;
	border:0;
	border-radius:0;
	clip-path:none;
	transition:color var(--dc-cp-state-duration) var(--dc-cp-state-easing);
}
.dc-cp__number::before,
.dc-cp__number::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2064%2064%27%3E%3Cpath%20d%3D%27M9.14286%2064C4.0934%2064%200%2059.9066%200%2054.8571V9.14286C0%204.0934%204.0934%200%209.14286%200H47.5073C49.9321%200%2052.2576%200.963263%2053.9723%202.67788L61.3221%2010.0277C63.0367%2011.7424%2064%2014.0679%2064%2016.4927V54.8572C64%2059.9066%2059.9066%2064%2054.8571%2064H9.14286Z%27%20fill%3D%27black%27%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;
	mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2064%2064%27%3E%3Cpath%20d%3D%27M9.14286%2064C4.0934%2064%200%2059.9066%200%2054.8571V9.14286C0%204.0934%204.0934%200%209.14286%200H47.5073C49.9321%200%2052.2576%200.963263%2053.9723%202.67788L61.3221%2010.0277C63.0367%2011.7424%2064%2014.0679%2064%2016.4927V54.8572C64%2059.9066%2059.9066%2064%2054.8571%2064H9.14286Z%27%20fill%3D%27black%27%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;
	pointer-events:none;
}
.dc-cp__number::before{background:var(--dc-cp-number-bg)}
.dc-cp__number::after{
	background:linear-gradient(180deg,var(--dc-cp-active-1) 0%,var(--dc-cp-active-2) 100%);
	opacity:0;
	transition:opacity var(--dc-cp-state-duration) var(--dc-cp-state-easing);
}
.dc-cp button.dc-cp__step:hover .dc-cp__number,
.dc-cp button.dc-cp__step:focus-visible .dc-cp__number,
.dc-cp button.dc-cp__step.is-active .dc-cp__number{
	color:var(--dc-cp-active-number-color);
}
.dc-cp button.dc-cp__step:hover .dc-cp__number::after,
.dc-cp button.dc-cp__step:focus-visible .dc-cp__number::after,
.dc-cp button.dc-cp__step.is-active .dc-cp__number::after{opacity:1}
.dc-cp button.dc-cp__step:focus-visible .dc-cp__number{
	outline:2px solid var(--dc-cp-active-2);
	outline-offset:4px;
}
.dc-cp__step-copy{
	display:flex;
	flex-direction:column;
	gap:4px;
	width:100%;
	min-width:0;
	max-width:100%;
	overflow:visible;
	white-space:normal;
}
.dc-cp__step-title,
.dc-cp__step-subtitle{
	display:block;
	width:100%;
	min-width:0;
	max-width:100%;
	margin:0;
	padding:0;
	white-space:normal !important;
	overflow:visible !important;
	text-overflow:clip !important;
	overflow-wrap:anywhere;
	word-break:break-word;
	hyphens:auto;
	-webkit-line-clamp:unset !important;
	line-clamp:unset;
}
.dc-cp__step-title{
	color:var(--dc-cp-title-color);
	transition:color var(--dc-cp-state-duration) var(--dc-cp-state-easing);
}
.dc-cp button.dc-cp__step:hover .dc-cp__step-title,
.dc-cp button.dc-cp__step:focus-visible .dc-cp__step-title,
.dc-cp button.dc-cp__step.is-active .dc-cp__step-title{
	color:transparent;
	background:linear-gradient(var(--dc-cp-title-active-angle),var(--dc-cp-title-active-1) 0%,var(--dc-cp-title-active-2) 100%);
	-webkit-background-clip:text;
	background-clip:text;
	-webkit-text-fill-color:transparent;
}
.dc-cp__step-subtitle{color:var(--dc-cp-subtitle-color)}
.dc-cp__media{
	position:relative;
	width:100%;
	height:var(--dc-cp-media-h);
	min-width:0;
	overflow:hidden;
	isolation:isolate;
	background:#ECECEC;
}
.dc-cp--media-reference .dc-cp__media{
	border-radius:0;
	clip-path:none;
	-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20615%20448%27%3E%3Cpath%20d%3D%27M487.059%200C493.424%200%20499.529%202.52856%20504.029%207.02944L607.971%20110.971C612.471%20115.471%20615%20121.576%20615%20127.941V424C615%20437.255%20604.255%20448%20591%20448H24C10.7452%20448%200%20437.255%200%20424V24C0%2010.7452%2010.7452%200%2024%200H487.059Z%27%20fill%3D%27black%27%2F%3E%3C%2Fsvg%3E");
	mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20615%20448%27%3E%3Cpath%20d%3D%27M487.059%200C493.424%200%20499.529%202.52856%20504.029%207.02944L607.971%20110.971C612.471%20115.471%20615%20121.576%20615%20127.941V424C615%20437.255%20604.255%20448%20591%20448H24C10.7452%20448%200%20437.255%200%20424V24C0%2010.7452%2010.7452%200%2024%200H487.059Z%27%20fill%3D%27black%27%2F%3E%3C%2Fsvg%3E");
	-webkit-mask-size:100% 100%;
	mask-size:100% 100%;
	-webkit-mask-position:center;
	mask-position:center;
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
}
.dc-cp--media-custom .dc-cp__media{
	-webkit-mask-image:none;
	mask-image:none;
	clip-path:polygon(0 0,var(--dc-cp-cut-x) 0,100% var(--dc-cp-cut-y),100% 100%,0 100%);
}
.dc-cp__media-layer{
	position:absolute;
	inset:0;
	opacity:0;
	transform:scale(1.02);
	transition:
		opacity var(--dc-cp-state-duration) var(--dc-cp-state-easing),
		transform calc(var(--dc-cp-state-duration) * 1.2) var(--dc-cp-state-easing);
}
.dc-cp__media-layer.is-current{
	opacity:1;
	transform:scale(1);
	z-index:1;
}
.dc-cp .dc-cp__media-img,
.elementor .dc-cp .dc-cp__media-img,
.elementor-widget-container .dc-cp .dc-cp__media-img{
	display:block;
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	min-width:100%;
	min-height:100%;
	max-width:none;
	max-height:none;
	margin:0;
	padding:0;
	object-fit:cover;
	object-position:50% 50%;
	border:0;
	border-radius:0;
	box-shadow:none;
}
.dc-cp__media-overlay{
	position:absolute;
	inset:0;
	z-index:2;
	pointer-events:none;
	background:linear-gradient(180deg,var(--dc-cp-overlay-start) 0%,var(--dc-cp-overlay-end) 100%);
}
.dc-cp__detail-wrap{
	position:absolute;
	inset:0;
	z-index:3;
	display:flex;
	align-items:flex-end;
	padding:0 48px 37px 49px;
	pointer-events:none;
}
.dc-cp__detail{
	max-width:100%;
	color:#fff;
	opacity:1;
	transform:translateY(0);
	transition:
		opacity calc(var(--dc-cp-state-duration) * .55) ease,
		transform calc(var(--dc-cp-state-duration) * .55) ease;
}
.dc-cp__detail.is-leaving{
	opacity:0;
	transform:translateY(8px);
}
.dc-cp--animate:not(.is-entered) .dc-cp__eyebrow,
.dc-cp--animate:not(.is-entered) .dc-cp__heading,
.dc-cp--animate:not(.is-entered) .dc-cp__intro,
.dc-cp--animate:not(.is-entered) .dc-cp__step{
	opacity:0;
	transform:translateY(var(--dc-cp-enter-y));
}
.dc-cp--animate:not(.is-entered) .dc-cp__media{
	opacity:0;
	transform:translateX(var(--dc-cp-media-enter-x));
}
.dc-cp--animate .dc-cp__eyebrow,
.dc-cp--animate .dc-cp__heading,
.dc-cp--animate .dc-cp__intro,
.dc-cp--animate .dc-cp__step,
.dc-cp--animate .dc-cp__media{
	transition:
		opacity var(--dc-cp-enter-duration) cubic-bezier(.22,1,.36,1),
		transform var(--dc-cp-enter-duration) cubic-bezier(.22,1,.36,1);
}
.dc-cp--animate .dc-cp__heading{transition-delay:var(--dc-cp-enter-stagger)}
.dc-cp--animate .dc-cp__intro{transition-delay:calc(var(--dc-cp-enter-stagger) * 1)}
.dc-cp--animate .dc-cp__step:nth-child(1){transition-delay:calc(var(--dc-cp-enter-stagger) * 2)}
.dc-cp--animate .dc-cp__step:nth-child(2){transition-delay:calc(var(--dc-cp-enter-stagger) * 3)}
.dc-cp--animate .dc-cp__step:nth-child(3){transition-delay:calc(var(--dc-cp-enter-stagger) * 4)}
.dc-cp--animate .dc-cp__step:nth-child(4){transition-delay:calc(var(--dc-cp-enter-stagger) * 5)}
.dc-cp--animate .dc-cp__step:nth-child(5){transition-delay:calc(var(--dc-cp-enter-stagger) * 6)}
.dc-cp--animate .dc-cp__step:nth-child(n+6){transition-delay:calc(var(--dc-cp-enter-stagger) * 7)}
.dc-cp--animate .dc-cp__media{transition-delay:calc(var(--dc-cp-enter-stagger) * 3)}

/* Small desktop / laptop: preserve the Figma composition but give the 1280px canvas breathing room. */
@media (min-width:1200px) and (max-width:1599px){
	.dc-cp__inner{
		width:min(
			var(--dc-cp-content-w),
			calc(100% - (max(var(--dc-cp-side-pad),clamp(24px,2.4vw,38px)) * 2))
		);
	}
	.dc-cp__header{
		grid-template-columns:minmax(0,1fr) minmax(360px,48%);
		gap:clamp(28px,3vw,44px);
	}
	.dc-cp__intro{
		max-width:min(100%,var(--dc-cp-content-w));
		margin-top:clamp(30px,2.7vw,42px);
	}
	.dc-cp__body{
		grid-template-columns:minmax(0,min(var(--dc-cp-left-w),47%)) minmax(0,1fr);
		gap:clamp(28px,3vw,var(--dc-cp-col-gap));
	}
	.dc-cp__steps{
		gap:clamp(20px,2.2vw,var(--dc-cp-step-gap));
	}
	.dc-cp button.dc-cp__step,
	.dc-cp button.dc-cp__step:hover,
	.dc-cp button.dc-cp__step:focus,
	.dc-cp button.dc-cp__step:active{
		column-gap:clamp(18px,2.3vw,var(--dc-cp-number-copy-gap));
	}
	.dc-cp__detail-wrap{
		padding-inline:clamp(28px,3.1vw,49px);
	}
}

/* Tablet landscape / narrow laptop: keep the same DOM and interaction, move geometry into normal flow. */
@media (min-width:1025px) and (max-width:1199px){
	.dc-cp__inner{
		width:min(
			var(--dc-cp-content-w),
			calc(100% - (max(var(--dc-cp-side-pad),32px) * 2))
		);
	}
}

@media (max-width:1199px){
	.dc-cp{
		padding-block:clamp(56px,6vw,72px);
	}
	.dc-cp__inner{
		width:min(var(--dc-cp-content-w),calc(100% - (var(--dc-cp-side-pad) * 2)));
		min-height:0;
	}
	.dc-cp__header,
	.dc-cp__body{
		position:relative;
		inset:auto;
		top:auto;
	}
	.dc-cp__header{
		grid-template-columns:minmax(0,1fr) minmax(300px,44%);
		gap:32px;
	}
	.dc-cp__eyebrow{margin-bottom:16px}
	.dc-cp__intro{
		align-self:end;
		justify-self:end;
		margin:0;
		max-width:100%;
		text-align:right;
	}
	.dc-cp__body{
		margin-top:clamp(40px,4.4vw,52px);
		grid-template-columns:minmax(280px,42%) minmax(0,1fr);
		gap:var(--dc-cp-col-gap);
	}
	.dc-cp__steps{gap:var(--dc-cp-step-gap)}
	.dc-cp__detail{max-width:min(520px,100%)}
}

/* Tablet portrait: step navigation becomes a touch rail, media stays immediately below it. */
@media (max-width:899px){
	.dc-cp{
		min-height:max(var(--dc-cp-section-min-h),0px);
		padding-block:clamp(48px,7vw,64px);
	}
	.dc-cp__header{
		display:grid;
		grid-template-columns:1fr;
		gap:14px;
	}
	.dc-cp__intro{
		justify-self:start;
		max-width:min(680px,100%);
		text-align:left;
	}
	.dc-cp__body{
		display:flex;
		flex-direction:column;
		gap:var(--dc-cp-col-gap);
		margin-top:36px;
	}
	.dc-cp__steps{
		width:100%;
		min-width:0;
		flex-direction:row;
		gap:14px;
		overflow-x:auto;
		overflow-y:hidden;
		padding:3px 2px 10px;
		margin:0;
		scroll-snap-type:x proximity;
		scroll-padding-inline:2px;
		overscroll-behavior-inline:contain;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:none;
	}
	.dc-cp__steps::-webkit-scrollbar{display:none}
	.dc-cp__steps{align-items:stretch}
	.dc-cp button.dc-cp__step,
	.dc-cp button.dc-cp__step:hover,
	.dc-cp button.dc-cp__step:focus,
	.dc-cp button.dc-cp__step:active{
		flex:0 0 min(320px,76vw);
		width:auto;
		min-height:max(72px,var(--dc-cp-number-size));
		padding:12px 14px;
		border:1px solid rgba(34,34,34,.08);
		border-radius:18px;
		background:rgba(34,34,34,.035);
		column-gap:var(--dc-cp-number-copy-gap);
		scroll-snap-align:start;
		touch-action:pan-x pan-y;
	}
	.dc-cp button.dc-cp__step.is-active{
		border-color:rgba(255,150,0,.28);
		background:rgba(255,150,0,.065);
	}
	.dc-cp button.dc-cp__step,
	.dc-cp button.dc-cp__step:hover,
	.dc-cp button.dc-cp__step:focus,
	.dc-cp button.dc-cp__step:active{align-items:start}
	.dc-cp__number{margin-top:2px}
	.dc-cp__media{
		order:2;
		width:100%;
		height:var(--dc-cp-media-h);
	}
	.dc-cp__detail-wrap{padding:0 28px 28px}
}

@media (max-width:767px){
	.dc-cp{
		min-height:0;
		padding-block:48px;
		overflow:hidden;
	}
	.dc-cp__inner{
		width:min(100%,calc(100% - (var(--dc-cp-side-pad) * 2)));
	}
	.dc-cp__eyebrow{margin-bottom:12px}
	.dc-cp__body{
		gap:24px;
		margin-top:30px;
	}
	.dc-cp__steps{
		gap:10px;
		padding-bottom:8px;
	}
	.dc-cp button.dc-cp__step,
	.dc-cp button.dc-cp__step:hover,
	.dc-cp button.dc-cp__step:focus,
	.dc-cp button.dc-cp__step:active{
		flex-basis:min(280px,82vw);
		min-height:64px;
		padding:10px 12px;
		border-radius:16px;
	}
	.dc-cp__step-copy{gap:3px}
	.dc-cp__media{
		width:100%;
		height:var(--dc-cp-media-h);
	}
	.dc-cp--media-custom .dc-cp__media{
		clip-path:polygon(0 0,88% 0,100% 14%,100% 100%,0 100%);
	}
	.dc-cp__detail-wrap{
		padding:0 20px 20px;
	}
	.dc-cp .dc-cp__detail{max-width:100%}
}

@media (max-width:430px){
	.dc-cp{padding-block:42px}
	.dc-cp__body{margin-top:26px}
	.dc-cp button.dc-cp__step,
	.dc-cp button.dc-cp__step:hover,
	.dc-cp button.dc-cp__step:focus,
	.dc-cp button.dc-cp__step:active{
		flex-basis:min(264px,84vw);
	}
	.dc-cp__media{height:min(var(--dc-cp-media-h),max(260px,72vw))}
}

@media (max-width:360px){
	.dc-cp{padding-block:38px}
	.dc-cp button.dc-cp__step,
	.dc-cp button.dc-cp__step:hover,
	.dc-cp button.dc-cp__step:focus,
	.dc-cp button.dc-cp__step:active{
		flex-basis:min(244px,86vw);
		padding:9px 10px;
	}
	.dc-cp__detail-wrap{padding:0 16px 16px}
}

@media (hover:none) and (pointer:coarse){
	.dc-cp button.dc-cp__step{
		-webkit-tap-highlight-color:transparent;
	}
	.dc-cp button.dc-cp__step:active{
		transform:scale(.99);
	}
}
@media (prefers-reduced-motion:reduce){
	.dc-cp *,
	.dc-cp *::before,
	.dc-cp *::after{
		animation:none;
		transition:none;
		scroll-behavior:auto;
	}
	.dc-cp--animate:not(.is-entered) .dc-cp__eyebrow,
	.dc-cp--animate:not(.is-entered) .dc-cp__heading,
	.dc-cp--animate:not(.is-entered) .dc-cp__intro,
	.dc-cp--animate:not(.is-entered) .dc-cp__step,
	.dc-cp--animate:not(.is-entered) .dc-cp__media{
		opacity:1;
		transform:none;
	}
}

/* v1.0.3 — Img frame.svg exact media geometry */
.dc-cp--media-reference .dc-cp__media-overlay,
.dc-cp--media-reference .dc-cp__media-layer,
.dc-cp--media-reference .dc-cp__detail-wrap{inset:0}
.dc-cp .dc-cp__detail{max-width:520px}
.dc-cp .dc-cp__media-img{object-fit:cover;object-position:50% 50%}
