/* Shared PEH landing tokens + CTA + motion helpers */

.peh-section {
	--peh-ink: #1c2b27;
	--peh-primary: #14a846;
	--peh-yellow: #f1c40f;
	--peh-yellow-2: #eeb525;
	--peh-muted: rgba(28, 43, 39, 0.72);
	--peh-line: rgba(28, 43, 39, 0.16);
	--peh-max: 1280px;
	font-family: "Open Sans", sans-serif;
	color: var(--peh-ink);
	position: relative;
	box-sizing: border-box;
}

.peh-section *,
.peh-section *::before,
.peh-section *::after {
	box-sizing: border-box;
}

/* Inspiration section rhythm: 100/80/100/80 desktop */
.peh-section--pad {
	padding: 100px 80px;
}

@media (max-width: 1200px) {
	.peh-section--pad {
		padding: 80px 64px;
	}
}

@media (max-width: 586px) {
	.peh-section--pad {
		padding: 60px 24px;
	}
}

.peh-section__inner {
	max-width: var(--peh-max);
	margin: 0 auto;
	width: 100%;
	position: relative;
	z-index: 1;
}

.peh-h2 {
	margin: 0;
	font-size: clamp(30px, 3.2vw, 48px);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.24;
	color: var(--peh-ink);
}

.peh-p {
	margin: 0;
	font-size: 16px;
	line-height: 1.64;
	color: var(--peh-ink);
}

.peh-p + .peh-p {
	margin-top: 16px;
}

.peh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 32px;
	gap: 8px;
	border-radius: 8px;
	border: 1px solid var(--peh-yellow);
	background-image: linear-gradient(to right, #f1c40f, #eeb525, #f1c40f, #eeb525);
	background-size: 300% 100%;
	background-position: 0 0;
	color: var(--peh-ink) !important;
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.5px;
	line-height: 1.25;
	text-decoration: none !important;
	cursor: pointer;
	overflow: hidden;
	transition: background-position 0.4s ease-in-out;
}

.peh-btn--outline {
	background-image: linear-gradient(to right, #fff, #fff, #eeb525, #f1c40f);
}

.peh-btn::before,
.peh-btn::after {
	content: "";
	display: block;
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	background: url("../icons/arrow_btn_ai.svg") center / contain no-repeat;
	transition: transform 0.3s ease, margin 0.3s ease;
}

.peh-btn::before {
	transform: translateX(-50px);
	margin-left: -15px;
}

.peh-btn:hover,
.peh-btn:focus {
	background-position: 100% 0;
	color: var(--peh-ink) !important;
}

.peh-btn:hover::after,
.peh-btn:focus::after {
	transform: translateX(50px);
	margin-left: -15px;
}

.peh-btn:hover::before,
.peh-btn:focus::before {
	transform: translateX(0);
	margin-left: 0;
}

.peh-check {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.peh-check li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 16px;
	line-height: 1.45;
}

.peh-check li::before {
	content: "";
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	margin-top: 2px;
	background: url("../icons/check-circle.svg") center / contain no-repeat;
}

.peh-float {
	position: absolute;
	pointer-events: none;
	z-index: 2;
	width: 72px;
	height: auto;
	will-change: transform, opacity;
}

.peh-box-hover {
	transition: transform 0.3s ease;
}

.peh-box-hover:hover {
	transform: scale(1.05);
}

/* Bricks-like fadeInUp */
@keyframes pehFadeInUp {
	0% {
		opacity: 0;
		transform: translate3d(0, 40px, 0);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.peh-fade-up {
	opacity: 0;
}

.peh-fade-up.is-in {
	animation: pehFadeInUp 1.5s ease 0.2s both;
}

@media (prefers-reduced-motion: reduce) {
	.peh-fade-up {
		opacity: 1;
		animation: none !important;
	}
}

@media (max-width: 899px) {
	.peh-btn {
		padding: 12px 24px;
		font-size: 14px;
	}

	.peh-float {
		display: none;
	}
}

@media (max-width: 1200px) {
	.peh-pitch-video { padding: 80px 64px; }
	.peh-problem-split { padding: 80px 64px; }
	.peh-google-explainer { padding: 80px 64px; }
	.peh-magnifier { padding: 80px 64px; }
	.peh-service-overview { padding: 80px 64px; }
}
@media (max-width: 586px) {
	.peh-pitch-video { padding: 60px 24px; }
	.peh-problem-split { padding: 60px 24px 90px; }
	.peh-google-explainer { padding: 60px 24px; }
	.peh-magnifier { padding: 60px 24px; }
	.peh-service-overview { padding: 60px 24px; }
}
