.seo-page {
	background:
		linear-gradient(rgba(2, 101, 240, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(2, 101, 240, 0.045) 1px, transparent 1px),
		#eef1f4;
	background-size: 44px 44px;
}

.seo-page .container {
	max-width: 1180px;
}

.seo-hero {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.8fr);
	gap: var(--space-xl);
	align-items: center;
	min-height: 620px;
	padding: clamp(28px, 5vw, 56px);
	border-radius: var(--radius-lg);
	background: #fff;
	border: 1px solid rgba(223, 230, 238, 0.95);
	box-shadow: var(--shadow);
}

.seo-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 78% 24%, rgba(2, 101, 240, 0.12), transparent 28%),
		linear-gradient(135deg, rgba(246, 248, 251, 0) 0%, #f6f8fb 100%);
	pointer-events: none;
}

.seo-hero-copy,
.seo-hero-visual {
	position: relative;
	z-index: 1;
}

.seo-eyebrow {
	margin: 0 0 var(--space-md);
	color: var(--accent);
	font-weight: 800;
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.seo-hero h1 {
	margin: 0;
	max-width: 820px;
	color: #111827;
	font-size: clamp(42px, 6vw, 76px);
	line-height: 0.98;
	letter-spacing: 0;
}

.seo-hero-copy > p:not(.seo-eyebrow) {
	max-width: 710px;
	margin: var(--space-lg) 0 0;
	color: var(--muted);
	font-size: 19px;
	line-height: 1.6;
}

.seo-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-sm);
	margin-top: var(--space-lg);
}

.hero-proof {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-xs);
	margin-top: var(--space-lg);
}

.hero-proof span {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 7px 12px;
	border-radius: 999px;
	background: #f2f5f8;
	border: 1px solid #e6ebf2;
	color: #344054;
	font-size: 13px;
	font-weight: 700;
}

.seo-hero-visual {
	min-height: 420px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.signal-card {
	position: relative;
	width: min(100%, 430px);
	min-height: 430px;
	overflow: hidden;
	border-radius: 22px;
	background: #111827;
	color: #fff;
	box-shadow: 0 30px 70px rgba(17, 24, 39, 0.28);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.signal-card::before {
	content: '';
	position: absolute;
	inset: 42px 0 0;
	background:
		linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
	background-size: 30px 30px;
	mask-image: linear-gradient(to bottom, #000, transparent 82%);
}

.signal-head {
	height: 44px;
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 0 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.64);
	font-size: 12px;
}

.signal-head span {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #ef4444;
}

.signal-head span:nth-child(2) {
	background: #f59e0b;
}

.signal-head span:nth-child(3) {
	background: #22c55e;
}

.signal-head strong {
	margin-left: 4px;
	font-weight: 800;
}

.signal-score {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-lg);
	padding: 36px 28px 22px;
}

.signal-score strong {
	display: block;
	font-size: 78px;
	line-height: 0.9;
	letter-spacing: 0;
}

.signal-score span {
	color: rgba(255, 255, 255, 0.62);
	font-weight: 700;
}

.score-ring {
	width: 108px;
	height: 108px;
	border-radius: 50%;
	background: conic-gradient(var(--accent) 0 82%, rgba(255, 255, 255, 0.12) 82% 100%);
	position: relative;
}

.score-ring::after {
	content: '';
	position: absolute;
	inset: 12px;
	border-radius: inherit;
	background: #111827;
}

.signal-list {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 12px;
	padding: 0 28px 28px;
}

.signal-list p {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 14px;
}

.signal-list span {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 0 6px rgba(2, 101, 240, 0.18);
}

.scan-line {
	position: absolute;
	left: 0;
	right: 0;
	top: 88px;
	height: 2px;
	background: linear-gradient(90deg, transparent, #71a9ff, transparent);
	box-shadow: 0 0 22px rgba(2, 101, 240, 0.8);
	animation: scanMove 4s ease-in-out infinite;
}

@keyframes scanMove {
	0%,
	100% {
		transform: translateY(0);
		opacity: 0.25;
	}
	50% {
		transform: translateY(260px);
		opacity: 1;
	}
}

.seo-band,
.seo-section,
.roadmap-section,
.price-section,
.final-cta {
	margin-top: var(--space-lg);
	padding: clamp(22px, 4vw, 40px);
	border-radius: var(--radius-lg);
	background: #fff;
	border: 1px solid rgba(223, 230, 238, 0.95);
	box-shadow: var(--shadow);
}

.digital-band {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--space-lg);
	align-items: end;
}

.seo-band h2,
.seo-section h2,
.roadmap-section h2,
.price-section h2,
.final-cta h2 {
	margin: 0;
	color: #111827;
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.08;
	letter-spacing: 0;
}

.seo-band p,
.seo-section p,
.roadmap-section p,
.price-section p,
.final-cta p {
	color: var(--muted);
	line-height: 1.65;
}

.source-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border-radius: 999px;
	background: #f2f5f8;
	color: var(--accent);
	font-weight: 800;
	font-size: 13px;
	white-space: nowrap;
}

.conviction-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-md);
}

.conviction-grid article,
.faq-grid article {
	padding: var(--space-lg);
	border-radius: 18px;
	background: #f6f8fb;
	border: 1px solid #eef2f6;
}

.conviction-grid span {
	display: inline-flex;
	margin-bottom: var(--space-md);
	color: var(--accent);
	font-weight: 900;
}

.conviction-grid h3,
.road-step h3,
.faq-grid h3 {
	margin: 0 0 8px;
	color: #111827;
	font-size: 18px;
	line-height: 1.25;
}

.conviction-grid p,
.faq-grid p {
	margin: 0;
}

.roadmap-section {
	background: #f9fafb;
}

.roadmap-intro {
	max-width: 780px;
	margin-bottom: var(--space-xl);
}

.roadmap {
	position: relative;
	display: grid;
	gap: var(--space-md);
}

.roadmap::before {
	content: '';
	position: absolute;
	left: 28px;
	top: 12px;
	bottom: 12px;
	width: 2px;
	background: linear-gradient(var(--accent), rgba(2, 101, 240, 0.08));
}

.road-step {
	position: relative;
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: var(--space-md);
	padding: var(--space-lg);
	border-radius: 18px;
	background: #fff;
	border: 1px solid #e6ebf2;
	box-shadow: 0 12px 30px rgba(31, 36, 48, 0.06);
}

.road-num {
	width: 58px;
	height: 58px;
	border-radius: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #111827;
	color: #fff;
	font-size: 20px;
	font-weight: 900;
	box-shadow: 0 0 0 8px #f9fafb;
	z-index: 1;
}

.road-step p {
	margin: 0;
}

.feature-split,
.price-section {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.76fr);
	gap: var(--space-xl);
	align-items: center;
}

.feature-split .btn {
	margin-top: var(--space-md);
}

.tech-stack-panel {
	display: grid;
	gap: 12px;
	padding: var(--space-lg);
	border-radius: 22px;
	background: #111827;
	color: #fff;
}

.stack-row {
	display: grid;
	grid-template-columns: 74px 1fr auto;
	align-items: center;
	gap: var(--space-sm);
	min-height: 42px;
}

.stack-row span {
	font-weight: 900;
	color: #fff;
}

.stack-row i {
	height: 8px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--accent), rgba(255, 255, 255, 0.16));
}

.stack-row strong {
	color: rgba(255, 255, 255, 0.72);
	font-size: 13px;
}

.price-section {
	background: #fff;
}

.price-copy ul {
	display: grid;
	gap: 10px;
	margin: var(--space-md) 0 0;
	padding: 0;
	list-style: none;
}

.price-copy li {
	position: relative;
	padding-left: 28px;
	color: #344054;
	line-height: 1.55;
}

.price-copy li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 0 6px rgba(2, 101, 240, 0.1);
}

.price-card {
	position: sticky;
	top: 96px;
	display: grid;
	gap: var(--space-md);
	padding: var(--space-xl);
	border-radius: 24px;
	background: #111827;
	color: #fff;
	overflow: hidden;
}

.price-card::before {
	content: '';
	position: absolute;
	inset: auto -20% -40% -20%;
	height: 180px;
	background: radial-gradient(circle, rgba(2, 101, 240, 0.52), transparent 62%);
}

.price-card > * {
	position: relative;
	z-index: 1;
}

.price-card span {
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #9fc4ff;
}

.price-card strong {
	font-size: clamp(48px, 7vw, 76px);
	line-height: 0.95;
	letter-spacing: 0;
}

.price-card p {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
}

.faq-section h2 {
	margin-bottom: var(--space-lg);
}

.faq-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-md);
}

.final-cta {
	text-align: center;
	background:
		linear-gradient(135deg, rgba(2, 101, 240, 0.08), transparent 42%),
		#fff;
}

.final-cta p {
	max-width: 720px;
	margin: var(--space-md) auto var(--space-lg);
	font-size: 18px;
}

@media (prefers-reduced-motion: reduce) {
	.scan-line {
		animation: none;
	}
}

@media (max-width: 920px) {
	.seo-hero,
	.digital-band,
	.feature-split,
	.price-section {
		grid-template-columns: 1fr;
	}

	.seo-hero {
		min-height: auto;
	}

	.seo-hero-visual {
		min-height: 340px;
	}

	.conviction-grid,
	.faq-grid {
		grid-template-columns: 1fr;
	}

	.price-card {
		position: relative;
		top: auto;
	}
}

@media (max-width: 720px) {
	.seo-hero,
	.seo-band,
	.seo-section,
	.roadmap-section,
	.price-section,
	.final-cta {
		padding: 18px;
	}

	.seo-hero h1 {
		font-size: 42px;
	}

	.signal-card {
		min-height: 360px;
	}

	.signal-score {
		padding: 28px 20px 18px;
	}

	.signal-score strong {
		font-size: 58px;
	}

	.score-ring {
		width: 82px;
		height: 82px;
	}

	.roadmap::before {
		left: 20px;
	}

	.road-step {
		grid-template-columns: 42px minmax(0, 1fr);
		padding: 16px;
	}

	.road-num {
		width: 42px;
		height: 42px;
		border-radius: 14px;
	}

	.stack-row {
		grid-template-columns: 62px 1fr;
	}

	.stack-row strong {
		grid-column: 2;
	}
}
