
.sodesca-seo-article {
	--red: #b51f27;
	--red-dark: #81141a;
	--ink: #221f20;
	--muted: #6b6465;
	--soft: #f7f4f2;
	--line: #e8dfdc;
	--white: #fff;
	--green: #216b48;
	color: var(--ink);
	line-height: 1.72;
}
.sodesca-seo-article *,
.sodesca-seo-article *::before,
.sodesca-seo-article *::after { box-sizing: border-box; }
.sodesca-seo-article a { color: var(--red-dark); text-underline-offset: 3px; }
.sodesca-seo-article img { display: block; max-width: 100%; height: auto; }
.sodesca-seo-article h2 {
	font-size: clamp(1.7rem, 3vw, 2.45rem);
	line-height: 1.16;
	letter-spacing: -0.025em;
	margin: 3rem 0 1rem;
}
.sodesca-seo-article h3 { font-size: 1.3rem; line-height: 1.25; margin: 2rem 0 .6rem; }
.sodesca-seo-article p,
.sodesca-seo-article li { font-size: 1.055rem; }
.sodesca-seo-article .lead { font-size: 1.18rem; }
.sodesca-seo-article .quick {
	background: var(--soft);
	border-left: 5px solid var(--red);
	padding: 24px 28px;
	border-radius: 0 16px 16px 0;
	margin: 0 0 36px;
}
.sodesca-seo-article .quick strong { display: block; color: var(--red-dark); margin-bottom: 4px; }
.sodesca-seo-article .media { margin: 36px 0; }
.sodesca-seo-article .media img { width: 100%; max-height: 620px; object-fit: cover; border-radius: 18px; }
.sodesca-seo-article .sodesca-article-hero { margin-top: 0; }
.sodesca-seo-article .media figcaption { font-size: .86rem; color: var(--muted); margin-top: 9px; }
.sodesca-seo-article .eyebrow {
	display: inline-block;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
	font-size: .76rem;
	color: var(--red);
}
.sodesca-seo-article .cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
	background: linear-gradient(135deg, var(--red-dark), var(--red));
	color: #fff;
	padding: 34px;
	border-radius: 22px;
	margin: 44px 0;
}
.sodesca-seo-article .cta h2 { color: #fff; margin: .25rem 0 .5rem; font-size: 2rem; }
.sodesca-seo-article .cta p { margin: 0; max-width: 720px; color: #ffecec; }
.sodesca-seo-article .cta .eyebrow { color: #ffd0d2; }
.sodesca-seo-article .btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	background: var(--red);
	color: #fff !important;
	border: 1px solid var(--red);
	font-weight: 800;
	padding: 13px 18px;
	border-radius: 10px;
	white-space: nowrap;
}
.sodesca-seo-article .btn-light { background: #fff; color: var(--red-dark) !important; border-color: #fff; }
.sodesca-seo-article .btn-outline { background: #fff; color: var(--red-dark) !important; }
.sodesca-seo-article table { border-collapse: collapse; width: 100%; margin: 26px 0 38px; font-size: .96rem; }
.sodesca-seo-article th,
.sodesca-seo-article td { border: 1px solid var(--line); padding: 14px; vertical-align: top; text-align: left; }
.sodesca-seo-article th { background: var(--ink); color: #fff; }
.sodesca-seo-article tr:nth-child(even) td { background: #fbf9f8; }
.sodesca-seo-article .cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 24px 0 36px; }
.sodesca-seo-article .card { border: 1px solid var(--line); border-radius: 16px; padding: 22px; background: #fff; }
.sodesca-seo-article .card h3 { margin: .1rem 0 .5rem; }
.sodesca-seo-article .checklist,
.sodesca-seo-article .seo-keyphrase-summary {
	background: #fbf8f6;
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 25px 28px;
}
.sodesca-seo-article .seo-keyphrase-summary { margin: 48px 0; border-left: 5px solid var(--red); }
.sodesca-seo-article .seo-keyphrase-summary h2 { margin-top: 0; }
.sodesca-seo-article .faq details { border-top: 1px solid var(--line); padding: 18px 0; }
.sodesca-seo-article .faq details:last-child { border-bottom: 1px solid var(--line); }
.sodesca-seo-article .faq summary { font-weight: 800; cursor: pointer; font-size: 1.05rem; }
.sodesca-seo-article .map-section { margin-top: 48px; }
.sodesca-seo-article .map-wrap { height: 430px; border-radius: 18px; overflow: hidden; border: 1px solid var(--line); margin: 22px 0; }
.sodesca-seo-article .map-wrap iframe { border: 0; width: 100%; height: 100%; }
.sodesca-seo-article .location-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.sodesca-seo-article .sources { margin-top: 48px; padding: 26px; border: 1px solid var(--line); border-radius: 18px; background: var(--soft); }
.sodesca-seo-article .sources h2 { margin-top: 0; font-size: 1.45rem; }
.sodesca-seo-article .note { border: 1px solid #d8e9df; background: #f2faf6; border-radius: 14px; padding: 18px 20px; margin: 24px 0; }
.sodesca-seo-article .note strong { color: var(--green); }
@media (max-width: 640px) {
	.sodesca-seo-article .cards { grid-template-columns: 1fr; }
	.sodesca-seo-article .cta { align-items: flex-start; flex-direction: column; padding: 26px; }
	.sodesca-seo-article table { display: block; overflow-x: auto; }
	.sodesca-seo-article .map-wrap { height: 360px; }
}
