/* ─── Project Process Nav Widget ────────────────────────────────────────── */

.hbc-ppn-wrap {
	padding: 28px;
	background: #ffffff;
}

.hbc-ppn-inner {
	display: flex;
	align-items: stretch;
	gap: 34px;
}

.hbc-ppn-nav {
	width: 28%;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.hbc-ppn-link {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 42px;
	padding-left: 66px;
	color: #111111;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.25;
	text-decoration: none;
	transition: color 0.25s ease;
}

.hbc-ppn-link::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 15px;
	height: 1px;
	background: #111111;
	transform: translateY(-50%);
	transition: background-color 0.25s ease, width 0.25s ease;
}

.hbc-ppn-link:hover,
.hbc-ppn-link.is-active {
	color: #f0a23a;
}

.hbc-ppn-link.is-active::before {
	background: #f0a23a;
}

.hbc-ppn-panels {
	flex: 1;
	min-width: 0;
}

.hbc-ppn-main {
	display: none;
	width: 100%;
	min-width: 0;
}

.hbc-ppn-main.is-active {
	display: flex;
	align-items: center;
	background: #f6f6f6;
}

.hbc-ppn-copy {
	flex: 1;
	min-width: 0;
	padding: 40px 36px;
}

.hbc-ppn-title {
	margin: 0 0 18px;
	padding: 0;
	font-size: 26px;
	font-weight: 800;
	line-height: 1.25;
	color: #333333;
}

.hbc-ppn-desc {
	max-width: 420px;
	margin-bottom: 24px;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.45;
	color: #333333;
}

.hbc-ppn-btn-link {
	display: inline-block;
	text-decoration: none;
}

.hbc-ppn-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 28px;
	border: 1px solid #333333;
	background: transparent;
	color: #333333;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	transition: background 0.25s ease, color 0.25s ease;
}

.hbc-ppn-btn:hover,
.hbc-ppn-btn-link:hover .hbc-ppn-btn {
	background: #3688ED !important;
	color: #ffffff !important;
}

.hbc-ppn-image {
	width: 48%;
	align-self: stretch;
	flex-shrink: 0;
}

.hbc-ppn-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ─── Tablet (≤1024px) ───────────────────────────────────────────────────── */

@media (max-width: 1024px) {
	.hbc-ppn-inner {
		gap: 22px;
	}

	.hbc-ppn-link {
		padding-left: 36px;
		font-size: 13px;
	}

	.hbc-ppn-copy {
		padding: 30px 24px;
	}

	.hbc-ppn-title {
		font-size: 23px;
	}

	.hbc-ppn-desc {
		font-size: 14px;
	}
}

/* ─── Mobile (≤767px) ────────────────────────────────────────────────────── */

@media (max-width: 767px) {
	.hbc-ppn-wrap {
		padding: 18px;
	}

	.hbc-ppn-inner {
		flex-direction: column;
		gap: 18px;
	}

	.hbc-ppn-nav {
		width: 100% !important;
		gap: 4px;
	}

	.hbc-ppn-link {
		min-height: 38px;
		padding-left: 30px;
		font-size: 13px;
	}

	.hbc-ppn-main {
		flex-direction: column;
		align-items: stretch;
	}

	.hbc-ppn-copy {
		padding: 28px 22px;
	}

	.hbc-ppn-title {
		font-size: 22px;
	}

	.hbc-ppn-desc {
		max-width: 100%;
		font-size: 14px;
	}

	.hbc-ppn-image {
		width: 100% !important;
		height: 220px;
	}

	.hbc-ppn-btn {
		width: 100%;
	}
}

/* ─── Small mobile (≤480px) ─────────────────────────────────────────────── */

@media (max-width: 480px) {
	.hbc-ppn-title {
		font-size: 20px;
	}

	.hbc-ppn-image {
		height: 190px;
	}
}
