.seo-page-editor-warning {
	padding: 18px;
	border: 1px solid #f0b6b6;
	border-radius: 8px;
	background: #fff3f3;
	color: #8f2222;
	font-family: Arial, Helvetica, sans-serif;
}

.seo-page-widget,
.seo-page-widget * {
	box-sizing: border-box !important;
}

.seo-page-widget {
	--sp-primary: #082f49;
	--sp-primary-dark: #041d2b;
	--sp-accent: #14b8a6;
	--sp-accent-dark: #087f74;
	--sp-background: #f3f7fa;
	--sp-surface: #ffffff;
	--sp-text: #17212b;
	--sp-muted: #526473;
	--sp-border: #d7e3e9;
	width: 100%;
	overflow: hidden;
	background: var(--sp-background);
	color: var(--sp-text);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 17px;
	line-height: 1.7;
	container-type: inline-size;
}

.seo-page-widget h1,
.seo-page-widget h2,
.seo-page-widget h3,
.seo-page-widget p,
.seo-page-widget li,
.seo-page-widget span,
.seo-page-widget strong,
.seo-page-widget a {
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
	white-space: normal !important;
}

.seo-page-widget h1,
.seo-page-widget h2,
.seo-page-widget h3,
.seo-page-widget p,
.seo-page-widget ul {
	margin-top: 0;
}

.seo-page-widget .sp-container {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding-right: 24px;
	padding-left: 24px;
}

.seo-page-widget .sp-hero {
	position: relative;
	overflow: hidden;
	padding: 78px 0;
	background: linear-gradient(135deg, var(--sp-primary-dark), var(--sp-primary) 56%, #0f4c66);
	background: radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--sp-accent) 40%, transparent), transparent 28%), linear-gradient(135deg, var(--sp-primary-dark), var(--sp-primary) 56%, #0f4c66);
}

.seo-page-widget .sp-hero::after {
	position: absolute;
	right: -170px;
	bottom: -270px;
	width: 520px;
	height: 520px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	content: "";
}

.seo-page-widget .sp-hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.7fr);
	align-items: center;
	gap: 50px;
}

.seo-page-widget .sp-hero-copy,
.seo-page-widget .sp-visual,
.seo-page-widget .sp-solution-copy {
	min-width: 0;
}

.seo-page-widget .sp-tag {
	display: inline-flex;
	margin-bottom: 22px;
	padding: 8px 15px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	color: #75f3e5 !important;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.seo-page-widget .sp-hero h1 {
	max-width: 760px;
	margin: 0 0 24px;
	color: #ffffff !important;
	font-size: clamp(36px, 5.2vw, 68px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -2px;
}

.seo-page-widget .sp-lead {
	max-width: 720px;
	margin: 0;
	color: rgba(255, 255, 255, 0.82) !important;
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.6;
}

.seo-page-widget .sp-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	margin-top: 30px;
	color: rgba(255, 255, 255, 0.72) !important;
	font-size: 14px;
	font-weight: 700;
}

.seo-page-widget .sp-meta span,
.seo-page-widget .sp-meta time {
	color: inherit !important;
}

.seo-page-widget .sp-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 28px;
}

.seo-page-widget .sp-share > span {
	margin-right: 4px;
	color: rgba(255, 255, 255, 0.7) !important;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.seo-page-widget .sp-share a {
	display: inline-flex;
	width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.09);
	color: #ffffff !important;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none !important;
	transition: 0.2s ease;
}

.seo-page-widget .sp-share a:hover {
	transform: translateY(-3px);
	border-color: var(--sp-accent);
	background: var(--sp-accent);
}

.seo-page-widget .sp-visual {
	display: flex;
	min-height: 320px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 36px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 30px;
	background: rgba(255, 255, 255, 0.07);
	text-align: center;
}

.seo-page-widget .sp-icon-wrap {
	display: flex;
	width: 148px;
	height: 172px;
	align-items: center;
	justify-content: center;
	border: 6px solid #ffffff;
	border-radius: 52% 52% 42% 42%;
	color: var(--sp-accent);
}

.seo-page-widget .sp-icon-wrap i,
.seo-page-widget .sp-icon-wrap svg {
	width: 70px;
	height: 70px;
	color: var(--sp-accent);
	fill: currentColor;
	font-size: 70px;
}

.seo-page-widget .sp-visual p {
	max-width: 300px;
	margin: 22px 0 0;
	color: rgba(255, 255, 255, 0.83) !important;
	font-size: 14px;
}

.seo-page-widget .sp-body {
	padding: 70px 0 90px;
}

.seo-page-widget .sp-reading {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}

.seo-page-widget .sp-section {
	margin-bottom: 70px;
}

.seo-page-widget .sp-section h2 {
	margin-bottom: 24px;
	color: var(--sp-primary) !important;
	font-size: clamp(29px, 4vw, 43px);
	font-weight: 800;
	line-height: 1.16;
	letter-spacing: -1px;
}

.seo-page-widget .sp-section h3 {
	margin-bottom: 10px;
	color: var(--sp-primary) !important;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.3;
}

.seo-page-widget .sp-section p {
	margin-bottom: 20px;
	color: var(--sp-text) !important;
}

.seo-page-widget .sp-section .sp-small-heading {
	margin-top: 26px;
	font-size: 21px;
	letter-spacing: 0;
}

.seo-page-widget .sp-intro {
	padding: 34px;
	border: 1px solid var(--sp-border);
	border-radius: 24px;
	background: var(--sp-surface);
	box-shadow: 0 14px 45px rgba(8, 47, 73, 0.07);
}

.seo-page-widget .sp-list {
	display: grid;
	gap: 17px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.seo-page-widget .sp-list li {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	align-items: start;
	gap: 12px;
	margin: 0;
	padding: 0;
	color: var(--sp-text) !important;
}

.seo-page-widget .sp-check {
	display: flex;
	width: 24px;
	height: 24px;
	align-items: center;
	justify-content: center;
	margin-top: 3px;
	border-radius: 50%;
	background: rgba(20, 184, 166, 0.16);
	background: color-mix(in srgb, var(--sp-accent) 16%, transparent);
	color: var(--sp-accent-dark) !important;
	font-size: 13px;
	font-weight: 900;
}

.seo-page-widget .sp-risk-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: 20px;
}

.seo-page-widget .sp-risk-card {
	min-width: 0;
	padding: 28px;
	border: 1px solid var(--sp-border);
	border-radius: 20px;
	background: var(--sp-surface);
}

.seo-page-widget .sp-number {
	display: flex;
	width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	border-radius: 12px;
	background: var(--sp-primary);
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 800;
}

.seo-page-widget .sp-risk-card p,
.seo-page-widget .sp-solution-card p {
	margin: 0;
	color: var(--sp-muted) !important;
	font-size: 16px;
}

.seo-page-widget .sp-highlight {
	margin-top: 30px;
	padding: 32px;
	border-radius: 22px;
	background: var(--sp-primary);
	text-align: center;
}

.seo-page-widget .sp-highlight p {
	max-width: 760px;
	margin: 0 auto;
	color: #ffffff !important;
	font-size: clamp(21px, 3vw, 29px);
	font-weight: 800;
	line-height: 1.4;
}

.seo-page-widget .sp-solutions {
	display: grid;
	gap: 16px;
	margin-top: 30px;
}

.seo-page-widget .sp-solution-card {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	align-items: start;
	gap: 18px;
	padding: 24px;
	border: 1px solid var(--sp-border);
	border-radius: 18px;
	background: var(--sp-surface);
}

.seo-page-widget .sp-solution-number {
	display: flex;
	width: 48px;
	height: 48px;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: rgba(20, 184, 166, 0.15);
	background: color-mix(in srgb, var(--sp-accent) 15%, transparent);
	color: var(--sp-accent-dark) !important;
	font-size: 14px;
	font-weight: 900;
}

.seo-page-widget .sp-solution-copy h3 {
	font-size: 18px;
}

.seo-page-widget .sp-first-step {
	margin-top: 28px;
	padding: 26px 28px;
	border: 1px solid #f2d28b;
	border-left: 5px solid #f59e0b;
	border-radius: 18px;
	background: #fffaf0;
}

.seo-page-widget .sp-first-step small {
	display: block;
	margin-bottom: 7px;
	color: #946000 !important;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.seo-page-widget .sp-first-step p {
	margin: 0;
	color: var(--sp-primary) !important;
	font-size: 19px;
	font-weight: 800;
}

.seo-page-widget .sp-comparison {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
	gap: 22px;
}

.seo-page-widget .sp-comparison-card {
	min-width: 0;
	padding: 32px;
	border-radius: 22px;
}

.seo-page-widget .sp-before {
	border: 1px solid rgba(201, 63, 72, 0.28);
	background: #fff5f5;
}

.seo-page-widget .sp-after {
	border: 1px solid rgba(20, 184, 166, 0.35);
	border: 1px solid color-mix(in srgb, var(--sp-accent) 35%, transparent);
	background: #effcfa;
}

.seo-page-widget .sp-comparison-label {
	display: inline-flex;
	margin-bottom: 18px;
	padding: 7px 13px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.seo-page-widget .sp-before .sp-comparison-label {
	background: #f8dfe1;
	color: #a52e37 !important;
}

.seo-page-widget .sp-after .sp-comparison-label {
	background: #cef3ee;
	color: var(--sp-accent-dark) !important;
}

.seo-page-widget .sp-comparison-card h3 {
	margin-bottom: 22px;
	font-size: 25px;
}

.seo-page-widget .sp-faq {
	display: grid;
	gap: 14px;
}

.seo-page-widget .sp-faq-item {
	overflow: hidden;
	border: 1px solid var(--sp-border);
	border-radius: 17px;
	background: var(--sp-surface);
}

.seo-page-widget .sp-faq-item summary {
	position: relative;
	padding: 21px 55px 21px 22px;
	color: var(--sp-primary) !important;
	font-weight: 800;
	line-height: 1.45;
	cursor: pointer;
	list-style: none;
}

.seo-page-widget .sp-faq-item summary::-webkit-details-marker {
	display: none;
}

.seo-page-widget .sp-faq-item summary::after {
	position: absolute;
	top: 50%;
	right: 22px;
	color: var(--sp-accent-dark);
	font-size: 24px;
	transform: translateY(-50%);
	content: "+";
}

.seo-page-widget .sp-faq-item[open] summary::after {
	content: "−";
}

.seo-page-widget .sp-faq-answer {
	padding: 0 22px 22px;
}

.seo-page-widget .sp-faq-answer p {
	margin: 0;
	color: var(--sp-muted) !important;
}

.seo-page-widget .sp-cta {
	padding: clamp(35px, 6vw, 60px);
	border-radius: 28px;
	background: var(--sp-primary);
	background: radial-gradient(circle at top right, color-mix(in srgb, var(--sp-accent) 48%, transparent), transparent 35%), var(--sp-primary);
}

.seo-page-widget .sp-cta h2 {
	max-width: 720px;
	color: #ffffff !important;
}

.seo-page-widget .sp-cta p {
	max-width: 720px;
	color: rgba(255, 255, 255, 0.82) !important;
}

.seo-page-widget .sp-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

.seo-page-widget .sp-button {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	padding: 14px 22px;
	border: 1px solid transparent;
	border-radius: 13px;
	font-size: 15px;
	font-weight: 800;
	text-align: center;
	text-decoration: none !important;
	transition: 0.2s ease;
}

.seo-page-widget .sp-button:hover {
	transform: translateY(-3px);
}

.seo-page-widget .sp-button-primary {
	background: var(--sp-accent);
	color: #042f2e !important;
}

.seo-page-widget .sp-button-secondary {
	border-color: rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff !important;
}

.seo-page-widget .sp-references {
	padding: 28px;
	border: 1px solid var(--sp-border);
	border-radius: 20px;
	background: #eaf4f6;
}

.seo-page-widget .sp-references ul {
	margin: 0;
	padding-left: 20px;
}

.seo-page-widget .sp-references a {
	color: var(--sp-accent-dark) !important;
	font-weight: 800;
	text-decoration: underline !important;
	overflow-wrap: anywhere !important;
}

@container (max-width: 800px) {
	.seo-page-widget .sp-hero-grid {
		grid-template-columns: 1fr;
	}

	.seo-page-widget .sp-visual {
		min-height: 280px;
	}
}

@container (max-width: 620px) {
	.seo-page-widget .sp-risk-grid,
	.seo-page-widget .sp-comparison {
		grid-template-columns: 1fr;
	}

	.seo-page-widget .sp-solution-card {
		grid-template-columns: 42px minmax(0, 1fr);
		gap: 14px;
		padding: 21px;
	}

	.seo-page-widget .sp-solution-number {
		width: 42px;
		height: 42px;
	}

	.seo-page-widget .sp-buttons,
	.seo-page-widget .sp-button {
		width: 100%;
	}
}

@media (max-width: 800px) {
	.seo-page-widget .sp-hero-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 620px) {
	.seo-page-widget .sp-container {
		padding-right: 18px;
		padding-left: 18px;
	}

	.seo-page-widget .sp-hero {
		padding: 55px 0;
	}

	.seo-page-widget .sp-hero h1 {
		font-size: 38px;
		letter-spacing: -1px;
	}

	.seo-page-widget .sp-risk-grid,
	.seo-page-widget .sp-comparison {
		grid-template-columns: 1fr;
	}

	.seo-page-widget .sp-intro,
	.seo-page-widget .sp-comparison-card {
		padding: 24px;
	}

	.seo-page-widget .sp-buttons,
	.seo-page-widget .sp-button {
		width: 100%;
	}
}
