.engine-hero {
	position: relative;
	height: 100vh;
	height: 100dvh;
	display: flex;
	align-items: center;
	background: url("../img/dvs.jpg") center/cover no-repeat;
	overflow: hidden;
}

/* затемнение */
.engine-hero__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.8);
	z-index: 1;
	backdrop-filter: blur(2px);
}

/* контент */
.engine-hero__inner {
	position: relative;
	z-index: 2;
	max-width: 700px;
}

.engine-hero__content h1 {
	font-size: clamp(36px, 6vw, 60px);
	font-weight: 700;
	margin-bottom: 20px;
	color: #fff;
}

.engine-hero__content p {
	color: #cfcfcf;
	font-size: 18px;
	line-height: 1.6;
	margin-bottom: 32px;
}

.engine-btn {
	padding: 14px 28px;
	background: var(--accent);
	color: #fff;
	border-radius: 10px;
	font-weight: 700;
	text-decoration: none;
	transition: 0.2s;
}

.engine-btn:hover {
	background: var(--accent-light);
}

.engine-link {
	margin-left: 20px;
	text-decoration: none;
	color: #fff;
	opacity: 0.75;
}

.engine-link:hover {
	opacity: 1;
}

@media(max-width: 575px) {
	.engine-btn {
		line-height: 70px;
	}

	.engine-hero__content h1 {
		font-size: clamp(30px, 6vw, 60px);
	}
}

.engine-signs {
	padding: 120px 0;
	background: #0c0c0d;
	color: #fff;
}

.engine-signs .section-title {
	text-align: center;
	font-size: 38px;
	font-weight: 700;
	margin-bottom: 60px;
}

.engine-signs-steps {
	padding: 120px 0;
	background: #0c0c0d;
	color: #fff;
}

.engine-signs-steps .section-title {
	text-align: center;
	font-size: 38px;
	font-weight: 700;
	margin-bottom: 60px;
}

/* GRID */
.steps-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

@media (max-width: 900px) {
	.steps-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.steps-grid {
		grid-template-columns: 1fr;
	}
}

/* STEP CARD */
.step-card {
	position: relative;
	padding: 40px 30px 34px;
	border-radius: 20px;

	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.07);
	backdrop-filter: blur(6px);

	transition: 0.3s ease;
	overflow: hidden;
}

.step-card:hover {
	transform: translateY(-6px);
	background: rgba(255, 255, 255, 0.05);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

/* NUMBER (big) */
.step-num {
	position: absolute;
	top: 14px;
	right: 18px;
	font-size: 58px;
	font-weight: 800;
	color: #ffffff05;
	pointer-events: none;
}

/* ICON */
.step-icon {
	width: 55px;
	height: 55px;
	margin-bottom: 18px;
	opacity: 0.9;
}

.step-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* TITLE */
.step-card h3 {
	font-size: 20px;
	margin-bottom: 8px;
	font-weight: 600;
}

/* TEXT */
.step-card p {
	color: #c4c4c4;
	font-size: 15px;
	line-height: 1.6;
	max-width: 280px;
}

/* STICKER */
.step-sticker {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(8px);

	display: flex;
	align-items: center;
	justify-content: center;

	font-size: 32px;
	margin-bottom: 20px;

	box-shadow: 0 0 22px rgba(0, 0, 0, 0.45),
		0 0 12px rgba(255, 255, 255, 0.05) inset;

	transition: 0.3s ease;
}

.step-card:hover .step-sticker {
	transform: scale(1.1);
	background: rgba(255, 255, 255, 0.10);
	box-shadow: 0 0 25px rgba(0, 0, 0, 0.55),
		0 0 12px rgba(255, 255, 255, 0.08) inset;
}



.engine-strip {
	padding: 140px 0;
	background: #0a0a0b;
	color: #fff;
	position: relative;
}

/* Title */
.engine-strip .section-title {
	text-align: center;
	font-size: 40px;
	margin-bottom: 80px;
}

/* main line */
.strip-line {
	width: 100%;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--accent), transparent);
	opacity: .5;
	margin-bottom: 70px;
}

/* items */
.strip-items {
	display: flex;
	justify-content: space-between;
	gap: 40px;
	position: relative;
}

.strip-item {
	width: 16%;
	text-align: center;
	position: relative;
}

/* glowing point */
.dot {
	width: 14px;
	height: 14px;
	background: var(--accent);
	border-radius: 50%;
	margin: 0 auto 18px auto;
	box-shadow: 0 0 25px var(--accent), 0 0 10px var(--accent);
	position: relative;
}

/* titles */
.strip-item h3 {
	font-size: 18px;
	margin-bottom: 10px;
}

/* text */
.strip-item p {
	color: #c8c8c8;
	font-size: 14px;
	line-height: 1.6;
}

/* glow animation */
.dot::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	animation: pulse 2.5s infinite;
	background: var(--accent);
	opacity: 0.2;
}

@keyframes pulse {
	0% {
		transform: scale(1);
	}

	80% {
		transform: scale(2.5);
		opacity: .0;
	}

	100% {
		opacity: 0;
	}
}

/* MOBILE ADAPTATION: vertical strip */
@media (max-width: 700px) {

	.strip-items {
		flex-direction: column;
		gap: 50px;
		align-items: center;
		position: relative;
	}

	/* вертикальная центральная линия */
	.strip-line {
		width: 2px;
		height: 100%;
		margin: 0 auto 60px auto;
		background: linear-gradient(180deg, transparent, var(--accent), transparent);
		opacity: .5;
		position: absolute;
		left: 50%;
		top: 120px;
		transform: translateX(-50%);
	}

	/* точки вдоль вертикальной линии */
	.dot {
		margin-bottom: 14px;
		position: relative;
	}

	/* точки ровно по центру */
	.strip-item {
		width: 100%;
		max-width: 260px;
		text-align: center;
		position: relative;
	}

	/* точка всегда совпадает с вертикальной линией */
	.strip-item .dot {
		margin-left: auto;
		margin-right: auto;
	}
}


.engine-trust {
	padding: 140px 0;
	background: #08090a;
	color: #fff;
}

.engine-trust .section-title {
	text-align: center;
	font-size: 40px;
	margin-bottom: 70px;
}

/* BOARD */

.trust-board {
	width: 100%;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	padding: 40px 0;
	background: rgba(255, 255, 255, 0.03);
	backdrop-filter: blur(10px);
	position: relative;
	overflow: hidden;
}

/* glowing border top */
.trust-board::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 2px;
	width: 100%;
	background: linear-gradient(90deg, transparent, var(--accent), transparent);
	opacity: .7;
}

/* ROW */

.trust-row {
	display: flex;
	align-items: center;
	padding: 22px 40px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	gap: 24px;
}

.trust-row:last-child {
	border-bottom: none;
}

/* STATUS BADGE */

.trust-status {
	padding: 6px 14px;
	font-size: 14px;
	border-radius: 8px;
	font-weight: 600;
	letter-spacing: 1px;
	color: #000;
	min-width: 90px;
	text-align: center;
}

/* COLORS FOR STATUS TYPES */
.trust-status.ok {
	background: #4cff8f;
	/* green glow */
}

.trust-status.active {
	background: #2fb8ff;
	/* blue glow */
}

.trust-status.technical {
	background: #ffd32a;
	/* yellow */
}

.trust-status.pass {
	background: #ff4f4f;
	/* red */
}

.trust-status.enabled {
	background: #a86bff;
	/* purple */
}

/* TEXT */

.trust-text {
	font-size: 18px;
	color: #d5d5d5;
	font-weight: 400;
}

/* MOBILE */
@media (max-width: 700px) {
	.trust-row {
		flex-direction: column;
		text-align: center;
		gap: 12px;
		padding: 20px;
	}
}