/*
 * SEO + GEO editorial layer.
 *
 * These rules are limited to the Insights archive and article pages so the
 * existing service, portfolio and mobile heading systems remain unchanged.
 */

.article-content .article-answer {
	margin: 0 0 38px;
	padding: 24px 26px;
	border: 1px solid rgba(52, 120, 246, 0.2);
	border-left: 4px solid #3478f6;
	border-radius: 16px;
	color: #182230;
	background: linear-gradient(135deg, rgba(52, 120, 246, 0.075), rgba(117, 87, 232, 0.045));
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.75;
}

.article-content h3 {
	margin: 34px 0 14px;
	color: #07111f;
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	line-height: 1.22;
	letter-spacing: -0.025em;
}

.article-content a:not(.button) {
	color: #245fc7;
	text-decoration: underline;
	text-decoration-color: rgba(36, 95, 199, 0.35);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.article-content a:not(.button):hover,
.article-content a:not(.button):focus-visible {
	color: #6848d8;
	text-decoration-color: currentColor;
}

.article-content .article-table-wrap {
	overflow-x: auto;
	margin: 28px 0 40px;
	border: 1px solid #dce3ec;
	border-radius: 18px;
	background: #ffffff;
	-webkit-overflow-scrolling: touch;
}

.article-content table {
	width: 100%;
	min-width: 620px;
	border-collapse: collapse;
	font-size: 0.9rem;
	line-height: 1.6;
}

.article-content th,
.article-content td {
	padding: 15px 17px;
	border-bottom: 1px solid #e7ebf1;
	text-align: left;
	vertical-align: top;
}

.article-content th {
	color: #07111f;
	background: #f3f6fb;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.025em;
}

.article-content tr:last-child td {
	border-bottom: 0;
}

.article-content .article-checklist {
	margin: 24px 0 38px;
	padding: 0;
	list-style: none;
}

.article-content .article-checklist li {
	position: relative;
	padding: 14px 16px 14px 46px;
	border-bottom: 1px solid #e7ebf1;
}

.article-content .article-checklist li::before {
	position: absolute;
	top: 16px;
	left: 14px;
	display: grid;
	width: 22px;
	height: 22px;
	place-items: center;
	border-radius: 50%;
	color: #ffffff;
	background: linear-gradient(135deg, #3478f6, #7557e8);
	content: "✓";
	font-size: 0.7rem;
	font-weight: 700;
}

.article-content .article-note {
	margin: 30px 0;
	padding: 20px 22px;
	border-radius: 14px;
	color: #344054;
	background: #f3f6fb;
}

.article-content .article-faq {
	margin: 48px 0 34px;
}

.article-content .article-faq details {
	border-top: 1px solid #dce3ec;
}

.article-content .article-faq details:last-child {
	border-bottom: 1px solid #dce3ec;
}

.article-content .article-faq summary {
	padding: 19px 34px 19px 0;
	color: #07111f;
	font-weight: 700;
	line-height: 1.45;
	cursor: pointer;
}

.article-content .article-faq details p {
	margin: -4px 0 20px;
	color: #526174;
}

.article-content .article-sources {
	margin-top: 52px;
	padding-top: 24px;
	border-top: 1px solid #dce3ec;
}

.article-content .article-sources h2 {
	margin-top: 0;
	font-size: 1.3rem;
}

.article-content .article-sources li {
	font-size: 0.86rem;
	line-height: 1.65;
}

.article-content .article-next-step {
	margin-top: 46px;
	padding: 28px;
	border-radius: 20px;
	color: #ffffff;
	background:
		radial-gradient(circle at 88% 18%, rgba(141, 175, 255, 0.32), transparent 32%),
		#07111f;
}

.article-content .article-next-step h2 {
	margin: 0 0 12px;
	color: #ffffff;
	font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.article-content .article-next-step p {
	margin-bottom: 18px;
	color: rgba(255, 255, 255, 0.75);
}

.article-content .article-next-step a {
	color: #a9c3ff;
	font-weight: 700;
}

@media (max-width: 720px) {
	.article-content .article-answer {
		padding: 20px;
		font-size: 0.98rem;
	}

	.article-content .article-table-wrap {
		margin-right: -4px;
		margin-left: -4px;
	}

	.article-content th,
	.article-content td {
		padding: 13px 14px;
	}

	.article-content .article-next-step {
		padding: 23px 20px;
	}
}
