.pt-container-a1999f8e {
	padding: 50px 20px;
	border-radius: 12px;
	overflow: hidden;
	color: #fff;
	font-family: sans-serif;
}
.pt-intro {
	text-align: center;
	margin-bottom: 50px;
}
.pt-intro-title {
	font-size: 2.5rem;
	margin-bottom: 10px;
}
.pt-intro-subtitle {
	font-size: 1.25rem;
	margin-bottom: 20px;
}
.pt-btn {
	display: inline-block;
	background: #00FF88;
	color: #111;
	padding: 12px 24px;
	border-radius: 30px;
	text-decoration: none;
	font-weight: bold;
	border: none;
	cursor: pointer;
	transition: transform 0.3s, background 0.3s, color 0.3s, border-color 0.3s;
}
.pt-btn:hover {
	transform: scale(1.05);
}
.pt-timeline-wrap {
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
	display: none; /* hidden initially */
	padding-left: 20px;
}
.pt-path-line {
	position: absolute;
	left: 24px;
	top: 0;
	bottom: 0;
	width: 4px;
	background: #333; /* default unlit */
}
.pt-step {
	position: relative;
	padding-left: 40px;
	margin-bottom: 50px;
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.6s ease, transform 0.6s ease;
	display: none;
}
.pt-step.active {
	display: block;
	opacity: 1;
	transform: translateY(0);
}
.pt-dot {
	position: absolute;
	left: -2px;
	top: 20px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #00FF88;
	z-index: 2;
}
.pt-card-wrap {
	position: relative;
	z-index: 1;
}
.pt-image-wrap {
	margin-top: 20px;
	position: relative;
	z-index: 1;
}
.pt-card {
	background: #222;
	padding: 30px;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}
.pt-card-title {
	margin-top: 0;
	font-size: 1.5rem;
}
.pt-card-img {
	max-width: 100%;
	border-radius: 8px;
	display: block;
}
.pt-btn-next {
	margin-top: 20px;
}

/* DESKTOP LAYOUT (SPLIT) */
@media (min-width: 768px) {
	.pt-timeline-wrap {
		padding-left: 0;
	}
	.pt-path-line {
		left: 50%;
		transform: translateX(-50%);
	}
	
	.pt-step {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
		left: 0;
		text-align: right;
	}
	.pt-dot {
		left: 50%;
		transform: translateX(-50%);
	}

	/* Card constraints */
	.pt-card-wrap {
		width: 45%;
	}
	
	/* Default (odd): Text right, Image absolutely placed left */
	.pt-step:nth-child(odd) .pt-card-wrap {
		margin-left: auto;
		text-align: left;
	}
	.pt-step:nth-child(odd) .pt-image-wrap {
		position: absolute;
		top: 0;
		left: 0;
		width: 45%;
		margin-top: 0;
		text-align: left;
	}

	/* Even: Text left, Image absolutely placed right */
	.pt-step:nth-child(even) .pt-card-wrap {
		margin-right: auto;
		text-align: right;
	}
	.pt-step:nth-child(even) .pt-image-wrap {
		position: absolute;
		top: 0;
		right: 0;
		width: 45%;
		margin-top: 0;
		text-align: right;
	}
}