.seo { display: block; overflow-x: clip; }

.seo-hero {
	position: relative;
	overflow: clip;
	
	padding-top: calc(var(--header-h) + clamp(2.25rem, 10.76vw, 11.625rem));
	padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.seo-hero__title {
	font-family: var(--font-sans); font-weight: 400; color: var(--c-burgundy);
	text-align: center; line-height: 1.25;
	font-size: clamp(2rem, 0.85rem + 3.5vw, 3.75rem); 
	max-width: min(54.625rem, 60vw); margin: 0 auto;
}

.seo-hero__chapo {
	font-family: var(--font-serif); font-weight: 300; color: var(--c-burgundy);
	text-align: center; line-height: 1.154;
	font-size: var(--fs-lead);
	max-width: min(37.625rem, 45vw); margin: clamp(1.5rem, 2.5vw, 1.75rem) auto 0;
}

.seo-hero__actions { text-align: center; margin: clamp(1.5rem, 2.5vw, 2rem) 0 0; }

.seo-hero__inner { position: relative; z-index: 1; }

.seo-hero__cols {
	position: relative; z-index: 1;
	display: flex;
	align-items: flex-start;
	margin-top: clamp(3rem, 7.8125vw, 8.4375rem); 
}
.seo-hero__photo {
	width: 44.88%; 
	flex: none; aspect-ratio: 728 / 561;
	border-radius: var(--radius-img); overflow: hidden;
	position: relative; z-index: 1;
}
.seo-hero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.seo-hero__lead {
	width: 30.70%;  
	flex: none;
	margin-left: auto;
	margin-right: 14.18%; 
	margin-top: 17.26%;   
	position: relative; z-index: 1;
}

.seo-hero__lead-title {
	font-family: var(--font-serif); font-weight: 300; line-height: 1.154;
	font-size: var(--fs-lead); color: var(--c-burgundy); margin: 0 0 1.25rem;
}

.seo-hero__lead-body {
	color: var(--c-burgundy); margin: 0;
	font-size: var(--fs-body); line-height: 1.5;
}
.seo-hero__lead-body p { margin: 0 0 1.5rem; }
.seo-hero__lead-body p:last-child { margin-bottom: 0; }

.seo-hero__circle {
	position: absolute;
	top: clamp(0px, 13.89vw, 240px);
	right: clamp(-226px, -13.08vw, 0px);
	width: clamp(0px, 35.18vw, 608px);
	height: auto;
	z-index: 0; pointer-events: none;
}

.seo-hero__ring {
	position: absolute;
	top: clamp(0px, 34.08vw, 589px);
	left: clamp(0px, 70.72vw, 1222px);
	width: clamp(0px, 17.42vw, 301px); aspect-ratio: 1;
	border: 1px solid var(--c-footer); border-radius: 50%;
	z-index: 0; pointer-events: none;
}

.seo-article {
	margin-block: clamp(2.5rem, 5vw, 4rem);
	color: var(--c-burgundy);
	font-size: var(--fs-body);
	line-height: 1.5;
}
.seo-article > * + * { margin-top: 1em; }
.seo-article h2 {
	font-family: var(--font-serif); font-weight: 300; line-height: 1.154;
	font-size: var(--fs-lead); color: var(--c-burgundy);
	margin-top: clamp(2.5rem, 4vw, 4rem);
}
.seo-article h2 + p,
.seo-article h2 + ul,
.seo-article h2 + ol { margin-top: 1.4375rem; }
.seo-article h3 {
	font-family: var(--font-sans); font-weight: 600; line-height: 1.35;
	font-size: clamp(1.0625rem, .95rem + .4vw, 1.25rem);
	margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
}
.seo-article p { margin: 0; }
.seo-article a { color: var(--c-red); text-decoration: underline; text-underline-offset: 2px; }
.seo-article a:hover { text-decoration: none; }
.seo-article ul, .seo-article ol { padding-left: 1.25em; }
.seo-article li + li { margin-top: .4em; }
.seo-article strong { font-weight: 600; }

.seo-faq { margin-bottom: clamp(3rem, 6vw, 5rem); }
.seo-faq__title {
	font-family: var(--font-serif); font-weight: 300; font-size: var(--fs-lead);
	line-height: 1.154;
	color: var(--c-burgundy); margin: 0 0 1.4375rem;
}
.seo-faq__intro { max-width: 56rem; margin: 0 0 clamp(1.5rem, 3vw, 2.5rem); color: var(--c-burgundy); }
.seo-faq__list { border-top: 1px solid var(--c-burgundy); }
.seo-faq__item { border-bottom: 1px solid var(--c-burgundy); }
.seo-faq__item summary {
	list-style: none; cursor: pointer;
	display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
	padding: clamp(.9rem, 1.8vw, 1.25rem) 0;
	font-size: clamp(1rem, .95rem + .25vw, 1.125rem); color: var(--c-burgundy);
}
.seo-faq__item summary::-webkit-details-marker { display: none; }
.seo-faq__item summary::after {
	content: ""; flex: none; width: .55em; height: .55em;
	border-right: 2px solid var(--c-red); border-bottom: 2px solid var(--c-red);
	transform: translateY(-25%) rotate(45deg); transition: transform .25s ease;
}
.seo-faq__item[open] summary::after { transform: translateY(15%) rotate(225deg); }
.seo-faq__answer { padding: 0 0 clamp(1rem, 2vw, 1.5rem); max-width: 68rem; line-height: 1.5; }
.seo-faq__answer p { margin: 0 0 .8em; }
.seo-faq__answer p:last-child { margin-bottom: 0; }

@media (min-width: 720px) and (max-width: 1023px) {
	
	.seo-hero__title { max-width: min(54.625rem, 60vw); }
	.seo-hero__chapo { max-width: min(37.625rem, 50vw); }

	.seo-hero__circle {
		top: clamp(80px, 8vw, 140px);
		right: clamp(-100px, -6vw, 0px);
		width: clamp(180px, 28vw, 320px);
	}
	.seo-hero__ring {
		top: clamp(220px, 22vw, 340px);
		right: clamp(20px, 5vw, 80px);
		width: clamp(80px, 12vw, 160px);
		left: auto;
	}

	.seo-hero__cols { flex-direction: row; align-items: flex-start; gap: 0; margin-top: clamp(2rem, 5vw, 3.5rem); }
	.seo-hero__photo { width: 55%; flex: none; }
	.seo-hero__lead  { width: 38%; flex: none; margin-left: auto; margin-right: 2%; margin-top: 5%; }
}

@media (max-width: 719px) {
	
	.seo-hero { padding-top: calc(var(--header-h) + clamp(3rem, 10vw, 5rem)); }
	
	.seo-hero__title { max-width: 70%; margin-inline: 0; text-align: left; }
	.seo-hero__chapo { max-width: 85%; margin-inline: 0; text-align: left; }
	.seo-hero__actions { text-align: left; }
	.seo-hero__cols  { flex-direction: column; gap: clamp(1.5rem, 4vw, 2rem); margin-top: clamp(2rem, 6vw, 3rem); }
	
	.seo-hero__photo { width: 100%; max-width: none; margin-inline: 0; }
	.seo-hero__lead  { width: 100%; margin: 0; max-width: 100%; }

	.seo-hero__circle {
		top: clamp(40px, 8vw, 80px);
		right: clamp(-130px, -32vw, -70px);
		width: clamp(180px, 50vw, 260px);
		left: auto;
	}
	.seo-hero__ring {
		top: clamp(170px, 35vw, 260px);
		right: clamp(-20px, -4vw, 0px);
		width: clamp(90px, 24vw, 140px);
		left: auto;
	}
}
