/*
 * Long-form editorial surface.
 *
 * Keep this layer independent from the homepage sections: the same wrapper
 * and editorial patterns can be reused by any guide or definition page.
 */
.ww-editorial {
	background: var(--ww-color-cream);
}

.ww-editorial__article {
	/* Full-bleed editorial chapters are intentional; they must not create a horizontal reading track. */
	overflow-x: clip;
}

.ww-editorial__header {
	padding-block: clamp(3.5rem, 8vw, 7rem) clamp(2.5rem, 5vw, 4.5rem);
	border-bottom: 1px solid var(--ww-color-border);
}

.ww-editorial__header h1 {
	max-width: 54rem;
	margin: 0;
	font-size: clamp(2.65rem, 6vw, 5.2rem);
	line-height: 1;
}

.ww-editorial__content {
	padding-block: clamp(2.75rem, 6vw, 5.5rem) clamp(5rem, 9vw, 8rem);
}

.ww-editorial__content > * {
	max-width: var(--ww-reading);
	margin-inline: auto;
}

/* Gutenberg can retain an empty paragraph when content is pasted or a
 * section is converted to native blocks. It must not become visible rhythm
 * between real editorial blocks. */
.ww-editorial__content p:empty {
	display: none;
}

.ww-editorial__content > .alignwide,
.ww-editorial__content > .alignfull {
	max-width: none;
}

.ww-editorial__content > p,
.ww-editorial__content > ul,
.ww-editorial__content > ol {
	font-size: 1.06rem;
}

.ww-editorial__content > h2 {
	margin-top: clamp(3.5rem, 7vw, 6rem);
	margin-bottom: 1.35rem;
	font-size: clamp(2rem, 4vw, 3.15rem);
}

.ww-editorial__content h2,
.ww-editorial__content h3 {
	/* Keep compounds such as “e-commerce” intact in narrow headings. */
	hyphens: none;
	overflow-wrap: normal;
	text-wrap: wrap;
}

.ww-editorial__content > h2:first-child {
	margin-top: 0;
}

.ww-editorial__content > h3 {
	margin-top: 2.5rem;
}

.ww-editorial__content > :last-child {
	margin-bottom: 0;
}

#quiz-formation {
	scroll-margin-top: clamp(5rem, 10vw, 8rem);
}

.ww-editorial__content > p + p,
.ww-editorial__content > ul + p,
.ww-editorial__content > p + ul {
	margin-top: 1.2rem;
}

.ww-editorial__content strong {
	font-weight: 800;
}

.ww-editorial__content a {
	font-weight: 700;
}

.ww-chapo {
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
	font-size: clamp(1.18rem, 2vw, 1.42rem);
	line-height: 1.55;
}

.ww-chapo p {
	max-width: 62ch;
}

.ww-encart {
	max-width: 46rem;
	margin-block: clamp(2rem, 4vw, 3rem);
	padding: clamp(1.35rem, 3vw, 2rem);
	border: 1px solid var(--ww-color-border);
	border-radius: var(--ww-radius-lg);
	background: var(--ww-color-cream-2);
}

.ww-encart--caution {
	background: var(--ww-color-white);
}

.ww-encart h2,
.ww-encart h3,
.ww-encart p {
	max-width: none;
}

.ww-encart h2,
.ww-encart h3 {
	margin: 0 0 0.55rem;
	font-family: var(--ww-font-body);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.ww-encart p:last-child {
	margin-bottom: 0;
}

/* Ordinary Gutenberg lists only. The positive wrapper scope deliberately
 * excludes navigational and component-owned lists from the editorial bullet. */
:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section__inner, .ww-article-section__reading) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) {
	--ww-editorial-bullet-size: 0.36rem;
	--ww-editorial-bullet-indent: 1.35rem;
	padding-inline-start: 0;
	list-style: none;
}

/* Do not make a Gutenberg li a layout container: its inline children and
 * adjacent text must remain one normal text flow. */
:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section__inner, .ww-article-section__reading) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li {
	position: relative;
	margin: 0;
	padding-inline-start: var(--ww-editorial-bullet-indent);
}

:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section__inner, .ww-article-section__reading) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li::before {
	position: absolute;
	top: calc((1lh - var(--ww-editorial-bullet-size)) / 2);
	left: calc((var(--ww-editorial-bullet-indent) - var(--ww-editorial-bullet-size)) / 2);
	width: var(--ww-editorial-bullet-size);
	height: var(--ww-editorial-bullet-size);
	border: 1px solid var(--ww-color-coral-dark);
	border-radius: 50%;
	background: var(--ww-color-coral);
	box-shadow: 0 0 0 0.16rem var(--ww-color-coral-soft);
	content: "";
}

:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section__inner, .ww-article-section__reading) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li + li {
	margin-top: 0.65rem;
}

/* A nested Gutenberg list stays part of its parent's normal text flow. */
:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section__inner, .ww-article-section__reading) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li > .wp-block-list {
	--ww-editorial-bullet-size: 0.28rem;
	--ww-editorial-bullet-indent: 1.1rem;
	margin-top: 0.65rem;
	padding-inline-start: 0;
	list-style: none;
}

:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section__inner, .ww-article-section__reading) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li > .wp-block-list > li {
	position: relative;
	margin: 0;
	padding-inline-start: var(--ww-editorial-bullet-indent);
}

:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section__inner, .ww-article-section__reading) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li > .wp-block-list > li::before {
	position: absolute;
	top: calc((1lh - var(--ww-editorial-bullet-size)) / 2);
	left: calc((var(--ww-editorial-bullet-indent) - var(--ww-editorial-bullet-size)) / 2);
	width: var(--ww-editorial-bullet-size);
	height: var(--ww-editorial-bullet-size);
	border: 1px solid var(--ww-color-coral-dark);
	border-radius: 50%;
	background: var(--ww-color-coral-soft);
	content: "";
}

@media (max-width: 42rem) {
	.ww-editorial__header {
		padding-block: 2.75rem 2rem;
	}

	.ww-editorial__header h1 {
		font-size: clamp(2.3rem, 10vw, 3.25rem);
	}

	.ww-editorial__content {
		padding-block: 2.25rem 5rem;
	}

	.ww-editorial__content > p,
	.ww-editorial__content > ul,
	.ww-editorial__content > ol {
		font-size: 1rem;
	}

	.ww-encart {
		padding: 1.2rem;
	}
}

/* Validated editorial system ------------------------------------------------ */
.ww-editorial__header {
	padding-block: clamp(1rem, 1.4vw, 1.25rem) clamp(2.25rem, 2.5vw, 2.75rem);
	border: 0;
	background: var(--ww-color-coral);
}

.ww-editorial__header-inner {
	max-width: var(--ww-wide);
}

.ww-editorial__hero-composition {
	display: grid;
	margin-top: clamp(0.85rem, 1.5vw, 1.25rem);
	align-items: center;
	gap: clamp(1.75rem, 3vw, 3rem);
	grid-template-columns: minmax(0, 68fr) minmax(0, 32fr);
}

.ww-editorial-hero--without-illustration .ww-editorial__hero-composition {
	grid-template-columns: minmax(0, 1fr);
}

.ww-editorial-hero--without-illustration .ww-editorial__header-title {
	max-width: 58rem;
}

.ww-editorial__eyebrow,
.ww-component-label {
	display: block;
	margin: 0;
	font-family: var(--ww-font-body);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1.35;
	text-transform: uppercase;
}

.ww-editorial__eyebrow {
	color: #211b18;
}

.ww-editorial__header .ww-breadcrumb--editorial {
	color: rgb(255 255 255 / 0.82);
}

.ww-editorial__header .ww-breadcrumb--editorial a {
	text-decoration-color: rgb(255 255 255 / 0.45);
}

.ww-editorial__header .ww-breadcrumb--editorial a:hover,
.ww-editorial__header .ww-breadcrumb--editorial a:focus-visible,
.ww-editorial__header .ww-breadcrumb--editorial .breadcrumb_last {
	color: var(--ww-color-white);
}

.ww-editorial__header h1 {
	max-width: none;
	margin: 1rem 0 0;
	color: var(--ww-color-white);
	font-size: clamp(3.5rem, 4.8vw, 4.5rem);
	letter-spacing: -0.035em;
	line-height: 0.98;
}

.ww-editorial__header--long-title h1 {
	font-size: clamp(3.125rem, 4vw, 3.75rem);
}

/* The compact byline belongs to the article identity: it is visible with the
 * title, before the editorial summary and navigation begin. */
.ww-editorial__header .ww-editorial-signature {
	display: flex;
	margin: clamp(1.1rem, 2vw, 1.5rem) 0 0;
	padding-top: 0.9rem;
	align-items: baseline;
	flex-wrap: wrap;
	border-top: 1px solid rgb(255 255 255 / 0.42);
	color: rgb(255 255 255 / 0.84);
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.45;
}

.ww-editorial__header .ww-editorial-signature__author {
	color: var(--ww-color-white);
}

.ww-editorial__header .ww-editorial-signature__role::before,
.ww-editorial__header .ww-editorial-signature__date::before {
	content: '\00a0·\00a0';
	font-weight: 400;
	opacity: 0.82;
}

.ww-editorial__hero-aside {
	display: grid;
	gap: clamp(1.25rem, 2.5vw, 2rem);
	align-content: end;
}

.ww-editorial__hero-illustration {
	width: min(100%, 18rem);
	aspect-ratio: 1;
	margin: 0 auto;
}

.ww-editorial__hero-illustration img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ww-editorial-signature {
	display: grid;
	margin: 0;
	padding-top: 1rem;
	border-top: 1px solid rgb(33 27 24 / 0.42);
	color: #211b18;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.45;
}

.ww-editorial__utility {
	background: var(--ww-color-cream);
}

.ww-editorial__utility-inner {
	width: min(calc(100% - 2rem), var(--ww-editorial));
	padding-block: 0.8rem 0.85rem;
}

.ww-editorial-signature__author {
	font-weight: 800;
}

.ww-editorial-signature__role {
	font-weight: 650;
}

.ww-editorial-signature__role::first-letter {
	text-transform: uppercase;
}

@container (min-width: 23.15rem) {
	.ww-editorial-signature {
		display: flex;
		padding-top: 0.85rem;
		align-items: baseline;
		white-space: nowrap;
		font-size: 0.72rem;
		letter-spacing: -0.012em;
	}

	.ww-editorial-signature__role::before {
		content: ',\00a0';
	}

	.ww-editorial-signature__role::first-letter {
		text-transform: none;
	}

	.ww-editorial-signature__date::before {
		content: '\00a0·\00a0';
		font-weight: 400;
		opacity: 0.72;
	}
}

@media (max-width: 56rem) {
	.ww-editorial__header {
		padding-bottom: 2rem;
	}

	.ww-editorial__header h1 {
		font-size: clamp(3rem, 7vw, 3.5rem);
	}

	.ww-editorial__header--long-title h1 {
		font-size: clamp(2.75rem, 6.25vw, 3.25rem);
	}

	.ww-editorial__hero-composition {
		grid-template-columns: 1fr;
	}

	.ww-editorial__hero-aside {
		display: contents;
	}

	.ww-editorial__hero-illustration {
		width: clamp(12.5rem, 48vw, 18rem);
		margin-top: 0.25rem;
	}

	.ww-editorial__utility-inner {
		width: min(calc(100% - 2.25rem), var(--ww-editorial));
	}

}

.ww-editorial-author {
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	background: var(--ww-color-ink);
	color: var(--ww-color-white);
}

/* The author panel is a template-owned destination, not Gutenberg content.
 * Its only outer rhythm belongs to the direct editorial-content transition. */
.ww-editorial__article > .ww-editorial__content + .ww-editorial-author {
	margin-block-start: var(--ww-section-standard);
}

.ww-editorial-author__inner {
	display: grid;
	width: min(calc(100% - 3rem), var(--ww-wide));
	min-height: clamp(24rem, 36vw, 31rem);
	margin-inline: auto;
	align-items: stretch;
	grid-template-columns: minmax(19rem, 0.88fr) minmax(0, 1.12fr);
}

.ww-editorial-author__photo {
	position: relative;
	min-height: 0;
	margin: 0;
	overflow: hidden;
	background: var(--ww-color-coral-dark);
}

.ww-editorial-author__photo::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent 38%, var(--ww-color-ink) 100%);
	content: '';
	pointer-events: none;
}

.ww-editorial-author__photo img {
	position: absolute;
	inset: 0;
	display: block;
	min-height: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: none;
}

.ww-editorial-author__content {
	display: grid;
	max-width: 37rem;
	padding: clamp(2.75rem, 5vw, 5rem) clamp(2.25rem, 6vw, 6rem);
	align-content: center;
	justify-self: start;
}

.ww-editorial-author__name {
	margin: 0;
	color: var(--ww-color-white);
	font-size: clamp(2.75rem, 5vw, 4.8rem);
	letter-spacing: -0.025em;
	line-height: 0.98;
}

.ww-editorial-author__role {
	margin: 1.25rem 0 0;
	color: var(--ww-color-coral-soft);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.4;
}

.ww-editorial-author__bio {
	max-width: 44ch;
	margin: 2rem 0 0;
	padding-top: 1.45rem;
	border-top: 1px solid var(--ww-color-coral-line);
	color: rgb(255 255 255 / 0.88);
	font-size: clamp(1rem, 1.4vw, 1.12rem);
	line-height: 1.6;
}

body.single-post .ww-editorial-signature {
	margin: 0.85rem 0 0;
	color: var(--ww-color-ink-soft);
	font-size: 0.84rem;
}

body.single-post .ww-editorial-signature__separator {
	color: var(--ww-color-coral-dark);
}

.ww-editorial__content {
	/* The outer canvas follows the site-wide wide role; reading stays nested. */
	width: min(calc(100% - var(--ww-container-gutter)), var(--ww-width-wide));
	padding-block: var(--ww-section-standard) 0;
}

.ww-editorial__toc-layout {
	display: grid;
	width: min(100%, var(--ww-width-content));
	margin: 0 auto var(--ww-section-ample);
	align-items: start;
	gap: clamp(2rem, 5vw, 4rem);
	grid-template-columns: minmax(0, 7fr) minmax(15rem, 3fr);
}

.ww-editorial__content > .ww-editorial__toc-layout {
	max-width: var(--ww-width-content);
}

/* The opening summary and its first chapter share the page canvas. The
 * chapter owns their single standard transition instead of stacking its own
 * padding below the summary's trailing rhythm. */
.ww-editorial__toc-layout:has(+ .ww-article-section),
.ww-editorial__toc-layout:has(+ h2) {
	margin-bottom: 0;
}

.ww-editorial__toc-layout + .ww-article-section {
	margin-top: 0;
	padding-top: var(--ww-section-standard);
}

.ww-editorial__toc-layout + h2 {
	margin-top: var(--ww-section-standard);
}

.ww-editorial__toc-layout .ww-editorial-toc {
	max-width: none;
	margin: 0;
}

/* An automatically inserted TOC is currently the sole child of this layout.
 * Let it use the same reading rail as the article instead of being trapped in
 * the first track of the optional 7fr / 3fr composition. */
.ww-editorial__toc-layout > .ww-editorial-toc:only-child {
	grid-column: 1 / -1;
	width: min(100%, var(--ww-reading));
	max-width: var(--ww-reading);
	margin-inline: auto;
}

.ww-editorial__toc-meta .ww-editorial-signature {
	display: grid;
	margin: 0;
	padding: 1rem 1.1rem 1.05rem;
	gap: 0.18rem;
	border: 1px solid var(--ww-color-border);
	border-radius: var(--ww-radius-md);
	background: var(--ww-color-cream-2);
	color: var(--ww-color-ink-soft);
	font-size: 0.82rem;
}

.ww-editorial__toc-meta .ww-editorial-signature__author {
	color: var(--ww-color-ink);
}

.ww-editorial__toc-meta .ww-editorial-signature__date {
	font-size: 0.78rem;
	font-weight: 650;
}

.ww-editorial__toc-meta .ww-editorial-signature__role::before,
.ww-editorial__toc-meta .ww-editorial-signature__date::before {
	content: none;
}

@media (max-width: 56rem) {
	.ww-editorial__content > .ww-editorial__toc-layout {
		grid-template-columns: 1fr;
	}

	.ww-editorial__toc-meta {
		margin-top: 0;
	}
}

.ww-editorial__content > p,
.ww-editorial__content > ul,
.ww-editorial__content > ol,
.ww-editorial__content > h2,
.ww-editorial__content > h3 {
	max-width: var(--ww-reading);
	margin-inline: auto;
}

.ww-editorial__content > h2 {
	margin-top: var(--ww-section-standard);
	margin-bottom: 1.5rem;
	font-size: clamp(2.35rem, 4vw, 3.45rem);
	letter-spacing: -0.028em;
	line-height: 1.04;
}

.ww-editorial-summary {
	max-width: var(--ww-width-content);
	margin-inline: auto;
}

.ww-editorial-toc,
.ww-editorial-route {
	max-width: var(--ww-reading);
	margin-inline: auto;
}

/* Informational callouts stay aligned with the article's reading rhythm. */
.ww-editorial-key,
.ww-editorial-note,
.ww-editorial-example {
	max-width: var(--ww-reading);
	margin-inline: auto;
}

.ww-editorial-router {
	max-width: var(--ww-wide);
	margin-inline: auto;
}

.ww-editorial-summary {
	margin-block: 0 var(--ww-section-ample);
	padding: clamp(1.5rem, 3vw, 2.75rem);
	border: var(--ww-border-subtle);
	border-radius: var(--ww-radius-lg);
	background: var(--ww-color-white);
}

.ww-editorial-summary .ww-component-label {
	color: var(--ww-color-coral-deep);
}

.ww-editorial-summary .ww-chapo {
	margin: 1.15rem 0 0;
	font-size: clamp(1.19rem, 1.7vw, 1.42rem);
	line-height: 1.58;
}

.ww-editorial-summary .ww-chapo p {
	max-width: 62ch;
	margin: 0;
}

.ww-editorial-summary .ww-chapo p + p {
	margin-top: 1.25rem;
}

/* A manual summary navigation receives the same single transition as the
 * theme-generated variant. The summary owns the space before the TOC; the
 * next chapter owns the space after it. */
.ww-editorial-summary:has(+ .ww-editorial-toc) {
	margin-bottom: var(--ww-section-standard);
}

.ww-editorial-toc:has(+ h2) {
	margin-bottom: 0;
}

.ww-editorial-toc + h2 {
	margin-top: var(--ww-section-standard);
}

.ww-editorial-key,
.ww-editorial-note,
.ww-editorial-example {
	margin-block: clamp(2.4rem, 5vw, 3.5rem);
	padding: clamp(1.4rem, 3vw, 2.1rem);
	border: var(--ww-border-subtle);
	border-radius: var(--ww-radius-md);
	background: var(--ww-color-white);
}

.ww-editorial-key .ww-component-label,
.ww-editorial-example .ww-component-label {
	color: var(--ww-color-coral-deep);
}

.ww-editorial-key p:last-child,
.ww-editorial-example p {
	margin-bottom: 0;
}


/* Gutenberg's constrained Group layout centers children with a narrower
 * max-width. A callout owns its reading width, so its body must align with
 * its label and title instead of becoming an independently centred column. */
.ww-editorial-key > p:last-child {
	max-width: none;
	margin-inline: 0;
	margin-top: 0.65rem;
	font-weight: 650;
}

.ww-editorial-example p + p {
	margin-top: 0.8rem;
}

.ww-editorial-note {
	background: var(--ww-color-cream-2);
}

.ww-editorial-note .ww-component-label {
	color: var(--ww-color-teal-dark);
}

.ww-editorial-note__title {
	margin: 0.65rem 0 0;
	font-family: var(--ww-font-display);
	font-size: 1.45rem;
	font-weight: 600;
	line-height: 1.25;
}

.ww-editorial-note > p:last-child,
.ww-editorial-example > p:not(.ww-component-label) {
	max-width: none;
	margin-inline: 0;
}

.ww-editorial-note__body {
	margin: 0.85rem 0 0;
	color: var(--ww-color-ink-soft);
	font-size: 0.96rem;
}

.ww-editorial-note > p:not(.ww-component-label):not(.ww-editorial-note__title) {
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.ww-editorial-toc {
	max-width: var(--ww-reading);
	margin-inline: auto;
	margin-block: 0 clamp(3.75rem, 7vw, 6.25rem);
	padding: 0.25rem 0 0 1.6rem;
	border-left: 1px solid var(--ww-color-coral);
}

.ww-editorial-toc .ww-component-label {
	color: var(--ww-color-ink-soft);
}

.ww-editorial-toc ol,
.ww-editorial-toc ul {
	margin: 1.15rem 0 0;
	padding: 0;
	list-style: none;
	counter-reset: ww-toc;
}

.ww-editorial-toc li {
	counter-increment: ww-toc;
	list-style: none;
}

.ww-editorial-toc li + li {
	margin-top: 0.68rem;
}

.ww-editorial-toc a {
	display: grid;
	align-items: baseline;
	color: var(--ww-color-ink);
	font-size: 0.91rem;
	font-weight: 650;
	grid-template-columns: 1.85rem 1fr;
	line-height: 1.42;
	text-decoration: none;
}

.ww-editorial-toc a::before {
	color: var(--ww-color-coral-dark);
	content: counter(ww-toc, decimal-leading-zero);
	font-family: var(--ww-font-display);
}

/* Theme-owned editorial visuals use one responsive 3:2 image. The article
 * stores only an allowlisted shortcode identifier. */
.ww-editorial__content > .ww-editorial-visual {
	width: min(100%, var(--ww-width-content));
	max-width: var(--ww-width-content);
	margin: var(--ww-section-standard) auto 0;
}

.ww-editorial-visual__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
}

/* Diagram-style editorial visuals need a quiet edge against the page cream
 * without becoming separate, heavy cards. */
:is(
	.ww-editorial-visual--definition-differences,
	.ww-editorial-visual--competences-reperes,
	.ww-editorial-visual--salaire-calcul,
	.ww-editorial-visual--formation-comparatif
) {
	box-sizing: border-box;
	padding: var(--ww-space-8);
	border: var(--ww-border-subtle);
	border-radius: var(--ww-radius-lg);
	background: var(--ww-color-cream-2);
}

/* Photos keep their existing treatment; only their separation from the
 * following editorial copy changes. */
:is(
	.ww-editorial-visual--devenir-parcours,
	.ww-editorial-visual--missions-familles,
	.ww-editorial-visual--distance-flux,
	.ww-editorial-visual--reconversion-decision
).ww-editorial-visual {
	margin-bottom: var(--ww-space-8);
}

@media (max-width: 60rem) {
	:is(
		.ww-editorial-visual--definition-differences,
		.ww-editorial-visual--competences-reperes,
		.ww-editorial-visual--salaire-calcul,
		.ww-editorial-visual--formation-comparatif
	) {
		padding: var(--ww-space-5);
	}

	:is(
		.ww-editorial-visual--devenir-parcours,
		.ww-editorial-visual--missions-familles,
		.ww-editorial-visual--distance-flux,
		.ww-editorial-visual--reconversion-decision
	).ww-editorial-visual {
		margin-bottom: var(--ww-space-6);
	}
}

.ww-editorial-visual + .ww-article-section {
	margin-top: var(--ww-section-standard);
}

.ww-article-section {
	width: 100vw;
	max-width: none !important;
	margin: var(--ww-section-ample) calc(50% - 50vw) 0;
	/* Gutenberg's constrained-group rule uses !important for inline auto
	 * margins. Keep every chapter surface centred on the viewport even when a
	 * valid chapter is nested inside another reading wrapper. */
	margin-inline: calc(50% - 50vw) !important;
	padding-block: var(--ww-section-ample);
}

.ww-article-section--soft {
	background: var(--ww-color-cream-2);
}

.ww-article-section--contrast {
	background: var(--ww-color-ink);
	color: var(--ww-color-white);
}

/* The launch article moves directly from its soft offer chapter into the
 * contrast economic chapter; keep that intentional surface transition
 * continuous instead of exposing the page background between them. */
.ww-article-section--flush-top {
	margin-top: 0;
}

/* Adjacent chapters already provide their own vertical padding. The outer
 * margin belongs on an isolated chapter, never between two surfaces. */
.ww-article-section + .ww-article-section {
	margin-top: 0;
}

/* Chapters sharing the same surface have one shared separation. Surface
 * changes retain their own internal padding, which makes the material
 * transition itself do the visual work. */
.ww-article-section:not(.ww-article-section--soft):not(.ww-article-section--contrast):has(+ .ww-article-section:not(.ww-article-section--soft):not(.ww-article-section--contrast)),
.ww-article-section--soft:has(+ .ww-article-section--soft),
.ww-article-section--contrast:has(+ .ww-article-section--contrast) {
	padding-bottom: 0;
}

.ww-article-section:not(.ww-article-section--soft):not(.ww-article-section--contrast) + .ww-article-section:not(.ww-article-section--soft):not(.ww-article-section--contrast),
.ww-article-section--soft + .ww-article-section--soft,
.ww-article-section--contrast + .ww-article-section--contrast {
	padding-top: var(--ww-section-standard);
}

/* Salaire: its neutral table chapters stay on the reading surface. Let the
 * following H2 create the standard transition instead of stacking the
 * section's ample lower padding with another ample H2 margin. */
body.page-id-78 .ww-article-section:not(.ww-article-section--soft) {
	padding-bottom: 0;
}

body.page-id-78
	.ww-editorial__content
	> .ww-article-section:not(.ww-article-section--soft)
	+ h2 {
	margin-top: var(--ww-section-standard);
}

/* The first neutral chapter follows an approfondissement. Its own chapter
 * rhythm replaces the card's trailing rhythm so the two spaces do not stack. */
body.page-id-78 .ww-editorial-route-card--single:has(+ .ww-article-section) {
	margin-bottom: 0;
}

body.page-id-78 .ww-editorial-route-card--single + .ww-article-section {
	padding-top: var(--ww-section-standard);
}

.ww-article-section__canvas,
.ww-article-section__inner {
	width: min(calc(100% - var(--ww-container-gutter)), var(--ww-wide));
	margin-inline: auto;
}

.ww-article-section__reading {
	width: min(calc(100% - var(--ww-container-gutter)), var(--ww-reading));
	margin-inline: auto;
}

/* A canvas already owns the page gutter; its nested reading wrapper must not
 * subtract it a second time at intermediate and mobile widths. */
.ww-article-section__canvas > .ww-article-section__reading {
	width: min(100%, var(--ww-reading));
}

.ww-article-section__reading > :first-child,
.ww-article-section__inner > :first-child {
	margin-top: 0;
}

.ww-article-section__inner > h2,
.ww-article-section__inner > h3,
.ww-article-section__inner > p,
.ww-article-section__inner > ul,
.ww-article-section__inner > ol {
	max-width: var(--ww-reading);
	margin-inline: auto;
}

/* H3s organise the next idea by type and proximity only: no decorative rule
 * and no second visual language. Route cards keep their own component rule. */
.ww-editorial__content > h3,
.ww-article-section__reading > h3,
.ww-article-section__inner > h3 {
	margin-top: var(--ww-section-compact);
	margin-bottom: var(--ww-space-5);
	font-size: clamp(1.5rem, 2.1vw, 1.8rem);
	letter-spacing: -0.022em;
	line-height: 1.18;
}

.ww-article-section--contrast h2,
.ww-article-section--contrast a {
	color: var(--ww-color-white);
}

.ww-article-section--contrast p,
.ww-article-section--contrast li {
	color: rgb(255 255 255 / 0.88);
}

/* Gutenberg quotes keep their reading anatomy on every editorial surface.
 * The contrast chapter only inverts the existing coral accent so the rule
 * remains visible without changing the quote's typography or placement. */
.ww-editorial__content .wp-block-quote {
	max-width: var(--ww-reading);
	margin: clamp(1.5rem, 3vw, 2rem) auto 0;
	border-left-color: var(--ww-color-coral-line);
	color: var(--ww-color-ink);
}

.ww-article-section--contrast .wp-block-quote {
	border-left-color: var(--ww-color-coral-soft);
	color: var(--ww-color-white);
}

.ww-editorial-router {
	width: 100vw;
	max-width: none !important;
	margin: 0 calc(50% - 50vw);
	/* The incoming router surface always begins with the standard rhythm. */
	padding: var(--ww-section-standard) 0 clamp(4.5rem, 9vw, 7.5rem);
	background: var(--ww-color-cream-2);
}

/* A soft final chapter and the router share one visible surface. Their
 * departure therefore merges into the router's single standard rhythm. */
.ww-editorial__content > .ww-article-section--soft:has(+ .ww-editorial-router) {
	padding-bottom: 0;
}

/* A router on a new surface preserves two separate internal rhythms: the
 * closing chapter's lower breathing space and the router's upper one. */
.ww-editorial__content > p:has(+ .ww-editorial-router),
.ww-editorial__content > ul:has(+ .ww-editorial-router),
.ww-editorial__content > ol:has(+ .ww-editorial-router),
.ww-editorial__content > .wp-block-table:has(+ .ww-editorial-router) {
	margin-bottom: var(--ww-section-standard);
}

.ww-editorial__content > .ww-article-section:not(.ww-article-section--soft):has(+ .ww-editorial-router),
.ww-editorial__content > .ww-editorial-route-card--single:has(+ .ww-editorial-router) {
	padding-bottom: var(--ww-section-standard);
}

.ww-editorial__content > .ww-editorial-key:has(+ .ww-editorial-router),
.ww-editorial__content > .ww-editorial-note:has(+ .ww-editorial-router),
.ww-editorial__content > .ww-editorial-example:has(+ .ww-editorial-router),
.ww-editorial__content > .ww-editorial-summary:has(+ .ww-editorial-router) {
	/* A contained sheet keeps its own internal padding. Its chapter owns a
	 * separate standard exit after the visible edge of that sheet. */
	margin-bottom: var(--ww-section-standard);
}

.ww-editorial-router__inner {
	width: min(calc(100% - 4rem), var(--ww-wide));
	margin-inline: auto;
}

.ww-editorial-router__intro {
	width: min(100%, var(--ww-reading));
	margin-inline: auto;
}

.ww-editorial-router__intro .ww-component-label {
	margin-bottom: 0.85rem;
	color: var(--ww-color-coral-dark);
}

.ww-editorial-router__intro h2 {
	margin: 0;
	font-size: clamp(2.35rem, 4vw, 3.45rem);
}

.ww-editorial-router__links {
	display: grid;
	width: 100%;
	margin: 2.5rem auto 0;
	gap: 0.9rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ww-editorial-router__links--count-1 {
	width: min(100%, var(--ww-reading));
	grid-template-columns: minmax(0, 34rem);
	justify-content: start;
}

.ww-editorial-router__links--count-2 {
	width: min(100%, var(--ww-reading));
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ww-editorial-router__links--count-4 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ww-editorial-route-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: min(100%, var(--ww-reading));
	max-width: var(--ww-reading);
	margin-inline: auto !important;
	min-height: 0;
	padding: 1.15rem 0 1.25rem;
	border: 0;
	border-top: 1px solid var(--ww-color-coral-line);
	border-radius: 0;
	background: transparent;
}

.ww-editorial-route-card--single {
	margin-block: clamp(2rem, 4vw, 2.75rem);
}

.ww-editorial-route-card--single > .ww-component-label {
	order: 1;
	margin: 0 0 0.65rem;
	color: var(--ww-color-coral-dark);
}

.ww-editorial-route-card h3 {
	order: 3;
	margin: 0.6rem 0 0;
	font-family: var(--ww-font-body);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.45;
	text-wrap: wrap;
}

.ww-editorial-route-card > .ww-component-label,
.ww-editorial-route-card > .ww-editorial-route-card__description,
.ww-editorial-route-card > h3 {
	width: 100%;
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.ww-editorial-route-card h3 a {
	color: var(--ww-color-coral-deep);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}
.ww-editorial-route-card--single h3 a::after {
	content: "\00a0→";
	white-space: nowrap;
	text-decoration: none;
}

/* An approfondissement is one sentence, not a lead-in followed by a separate
 * CTA line. Keeping the link inside its context avoids orphaned determiners
 * and lets the sentence wrap naturally at every viewport. */
.ww-editorial-route-card--single .ww-editorial-route-card__description a {
	color: var(--ww-color-coral-deep);
	font-weight: 800;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.ww-editorial-route-card--single .ww-editorial-route-card__description a::after {
	content: "\00a0→";
	white-space: nowrap;
	text-decoration: none;
}

.ww-editorial-route-card h3 a:focus-visible {
	outline: 3px solid var(--ww-color-teal-dark);
	outline-offset: 3px;
}

.ww-editorial-route-card--single .ww-editorial-route-card__description a:focus-visible {
	outline: 3px solid var(--ww-color-teal-dark);
	outline-offset: 3px;
}

.ww-editorial-route-card__description {
	order: 2;
	max-width: 52ch;
	margin: 0;
	color: var(--ww-color-ink);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.5;
}

/* The dark editorial chapter keeps the same approfondissement anatomy.
 * Only its accents use the existing inverse coral token for clear hierarchy. */
.ww-article-section--contrast .ww-editorial-route-card--single > .ww-component-label {
	color: var(--ww-color-coral-soft);
	opacity: 0.82;
}

.ww-article-section--contrast .ww-editorial-route-card--single h3 a,
.ww-article-section--contrast .ww-editorial-route-card--single .ww-editorial-route-card__description a {
	color: var(--ww-color-coral-soft);
}

.ww-editorial-router .ww-editorial-route-card {
	position: relative;
	width: 100%;
	max-width: none;
	min-height: 11.5rem;
	margin: 0 !important;
	padding: 1.5rem 3.7rem 1.5rem 1.5rem;
	border: var(--ww-border-subtle);
	border-radius: var(--ww-radius-lg);
	background: var(--ww-color-white);
	box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.58);
	transition: border-color var(--ww-transition), transform var(--ww-transition), box-shadow var(--ww-transition);
}

.ww-editorial-router .ww-editorial-route-card::after {
	position: absolute;
	right: 1.35rem;
	bottom: 1.2rem;
	color: var(--ww-color-coral-dark);
	content: "→";
	font-size: 1.35rem;
	line-height: 1;
	pointer-events: none;
	transition: transform var(--ww-transition);
}

.ww-editorial-router .ww-editorial-route-card:hover,
.ww-editorial-router .ww-editorial-route-card:focus-within {
	border-color: rgb(229 94 74 / 0.65);
	box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.58), 0 0.55rem 1.4rem rgb(42 35 32 / 0.07);
	transform: translateY(-2px);
}

.ww-editorial-router .ww-editorial-route-card:hover::after,
.ww-editorial-router .ww-editorial-route-card:focus-within::after {
	transform: translate(3px, -2px);
}

.ww-editorial-router .ww-editorial-route-card h3 {
	margin-top: 0.9rem;
	font-family: var(--ww-font-display);
	font-size: clamp(1.2rem, 1.5vw, 1.4rem);
	font-weight: 600;
	line-height: 1.22;
}

.ww-editorial-router .ww-editorial-route-card h3 a {
	color: var(--ww-color-ink);
	text-decoration: none;
}

.ww-editorial-router .ww-editorial-route-card h3 a::after {
	position: absolute;
	inset: 0;
	content: "";
}

.ww-editorial-router .ww-editorial-route-card__description {
	color: var(--ww-color-ink-soft);
	font-size: 0.88rem;
	font-weight: 500;
	line-height: 1.48;
}

@media (max-width: 42rem) {
	.ww-editorial__header {
		padding-block: 1rem 1.5rem;
	}

	.ww-editorial__hero-composition {
		margin-top: 0.8rem;
		gap: 1.1rem;
	}

	.ww-editorial__utility-inner {
		padding-block: 0.9rem 1rem;
		gap: 0.65rem;
	}

	.ww-editorial__toc-meta .ww-editorial-signature {
		padding: 0.9rem 1rem 0.95rem;
	}

	.ww-editorial__header h1 {
		font-size: clamp(2.625rem, 11vw, 2.875rem);
	}

	.ww-editorial__header--long-title h1 {
		font-size: clamp(2.25rem, 9.7vw, 2.5rem);
	}

	.ww-editorial__header .ww-editorial-signature {
		font-size: 0.76rem;
	}

	.ww-editorial__hero-illustration {
		width: clamp(10.5rem, 48vw, 12.5rem);
	}

	.ww-editorial-signature {
		padding-top: 0.9rem;
	}

	.ww-editorial-author {
		margin-top: 0;
	}

	.ww-editorial-author__inner {
		width: 100%;
		min-height: 0;
		grid-template-columns: 1fr;
	}

	.ww-editorial-author__photo {
		min-height: 0;
		aspect-ratio: 1.18 / 1;
	}

	.ww-editorial-author__photo::after {
		background: linear-gradient(180deg, transparent 42%, var(--ww-color-ink) 100%);
	}

	.ww-editorial-author__content {
		padding: 2.75rem max(1.35rem, calc((100vw - var(--ww-wide)) / 2)) 3.25rem;
	}

	.ww-editorial-author__name {
		font-size: clamp(2.7rem, 12vw, 3.8rem);
	}

	.ww-editorial-author__bio {
		margin-top: 1.65rem;
	}

	.ww-editorial-summary,
	.ww-editorial-router .ww-editorial-route-card {
		border-radius: 1rem;
	}

	.ww-editorial-summary {
		padding: 1.45rem;
	}

	.ww-editorial-key,
	.ww-editorial-note,
	.ww-editorial-example {
		padding: 1.35rem;
	}

	.ww-editorial__content {
		width: min(calc(100% - var(--ww-container-gutter)), var(--ww-width-wide));
	}

	.ww-article-section__canvas,
	.ww-article-section__inner {
		width: min(calc(100% - var(--ww-container-gutter)), var(--ww-wide));
	}

	.ww-editorial-router__inner {
		width: min(calc(100% - 2.25rem), var(--ww-wide));
	}

	.ww-editorial-router__links {
		grid-template-columns: 1fr;
	}

	.ww-editorial-router .ww-editorial-route-card {
		min-height: 9.25rem;
		padding: 1.35rem 3.25rem 1.35rem 1.35rem;
	}

	.ww-editorial-route-card {
		width: 100%;
		padding-block: 1rem 1.1rem;
	}
}

/* Editorial V2: quiet reading, with a small number of tangible objects. -----
 * The offset plate is deliberately limited to the summary, figures, the
 * contextual accompaniment panel and the end-of-article trust panel. */
.ww-editorial__header .ww-breadcrumb--editorial {
	font-size: 0.78rem;
	font-weight: 650;
	letter-spacing: 0.01em;
	line-height: 1.45;
}

.ww-editorial__header .ww-breadcrumb__separator {
	display: inline-block;
	margin-inline: 0.3em;
	color: rgb(255 255 255 / 0.72);
	font-size: 1.05em;
}

.ww-editorial-summary {
	position: relative;
	z-index: 0;
	border-color: rgb(33 27 24 / 0.16);
	box-shadow: none;
}

.ww-editorial-summary::before,
.ww-editorial-key--accompagnement::before,
.ww-editorial-author__inner::before,
.ww-editorial-router .ww-editorial-route-card::before {
	position: absolute;
	z-index: -1;
	border-radius: calc(var(--ww-radius-lg) + 0.125rem);
	background: rgb(229 94 74 / 0.13);
	content: '';
	pointer-events: none;
}

.ww-editorial-summary::before {
	inset: 0.5rem -0.5rem -0.5rem 0.5rem;
}

.ww-editorial-summary .ww-component-label {
	letter-spacing: 0.145em;
}

/* Notes keep a shared editorial anatomy. Their function, rather than a new
 * colour palette, creates the small distinction between them. */
.ww-editorial-key,
.ww-editorial-note,
.ww-editorial-example {
	border-color: rgb(33 27 24 / 0.16);
	border-left: 3px solid var(--ww-color-coral-line);
	box-shadow: none;
}

.ww-editorial-key {
	background: var(--ww-color-cream-2);
}

.ww-editorial-note {
	background: var(--ww-color-white);
}

.ww-editorial-example {
	background: rgb(255 255 255 / 0.68);
}

.ww-editorial-note .ww-component-label,
.ww-editorial-example .ww-component-label,
.ww-editorial-key .ww-component-label {
	color: var(--ww-color-coral-deep);
	letter-spacing: 0.13em;
}

.ww-editorial-note__title {
	color: var(--ww-color-ink);
}

/* This optional modifier turns the existing, contextual accompaniment link
 * into the single stronger pivot of an article without changing its copy. */
.ww-editorial-key--accompagnement {
	position: relative;
	z-index: 0;
	margin-top: var(--ww-section-ample);
	margin-bottom: var(--ww-section-ample);
	border-color: var(--ww-color-ink);
	border-left: 0;
	background: var(--ww-color-ink);
	color: var(--ww-color-white);
}

.ww-editorial-key--accompagnement::before {
	inset: 0.55rem -0.55rem -0.55rem 0.55rem;
	background: rgb(229 94 74 / 0.3);
}

.ww-editorial-key--accompagnement .ww-component-label {
	color: var(--ww-color-coral-soft);
}

.ww-editorial-key--accompagnement h2,
.ww-editorial-key--accompagnement h3 {
	color: var(--ww-color-white);
}

.ww-editorial-key--accompagnement p {
	color: rgb(255 255 255 / 0.86);
}

.ww-editorial-key--accompagnement p:last-child {
	margin-top: 1.35rem;
}

.ww-editorial-key--accompagnement p:last-child a {
	display: inline-flex;
	padding: 0.7rem 1rem;
	align-items: center;
	border: 1px solid var(--ww-color-coral);
	border-radius: 999px;
	background: var(--ww-color-coral);
	color: var(--ww-color-white);
	font-weight: 800;
	line-height: 1.25;
	text-decoration: none;
}

.ww-editorial-key--accompagnement p:last-child a:hover {
	background: var(--ww-color-coral-deep);
	border-color: var(--ww-color-coral-deep);
}

.ww-editorial-key--accompagnement p:last-child a:focus-visible,
.ww-editorial-author__link:focus-visible,
.ww-editorial-router .ww-editorial-route-card h3 a:focus-visible {
	outline: 3px solid var(--ww-color-teal-dark);
	outline-offset: 4px;
}

/* The author card is deliberately light: it closes a guide as a confidence
 * cue, rather than becoming a second commercial panel. */
.ww-editorial-author {
	width: min(calc(100% - 3rem), var(--ww-wide));
	max-width: var(--ww-wide);
	margin: var(--ww-section-standard) auto 0;
	background: transparent;
	color: var(--ww-color-ink);
}

.ww-editorial__article > .ww-editorial__content + .ww-editorial-author {
	margin-block-start: var(--ww-section-standard);
}

.ww-editorial-author__inner {
	position: relative;
	z-index: 0;
	width: 100%;
	min-height: 0;
	overflow: visible;
	padding: clamp(1rem, 2.25vw, 1.75rem);
	border: var(--ww-border-subtle);
	border-color: rgb(33 27 24 / 0.16);
	border-radius: var(--ww-radius-lg);
	background: var(--ww-color-white);
	grid-template-columns: minmax(13rem, 0.72fr) minmax(0, 1.28fr);
}

.ww-editorial-author__inner::before {
	inset: 0.55rem -0.55rem -0.55rem 0.55rem;
}

.ww-editorial-author__photo {
	min-height: 16rem;
	border-radius: calc(var(--ww-radius-lg) - 0.35rem);
	background: var(--ww-color-cream-2);
}

.ww-editorial-author__photo::after {
	background: linear-gradient(180deg, transparent 58%, rgb(42 35 32 / 0.12) 100%);
}

.ww-editorial-author__content {
	max-width: 42rem;
	padding: clamp(0.6rem, 2vw, 1.65rem);
	justify-self: stretch;
}

.ww-editorial-author__name {
	color: var(--ww-color-ink);
	font-size: clamp(2.2rem, 4vw, 3.5rem);
}

.ww-editorial-author__role {
	margin-top: 0.8rem;
	color: var(--ww-color-coral-deep);
	font-size: 0.82rem;
	letter-spacing: 0.095em;
	text-transform: uppercase;
}

.ww-editorial-author__bio {
	max-width: 52ch;
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top-color: var(--ww-color-coral-line);
	color: var(--ww-color-ink-soft);
	font-size: 1rem;
	line-height: 1.58;
}

.ww-editorial-author__link {
	display: inline-flex;
	margin-top: 1.25rem;
	align-items: center;
	color: var(--ww-color-coral-deep);
	font-size: 0.94rem;
	font-weight: 800;
	line-height: 1.4;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

/* The router remains a distinct final surface. Its cards borrow the subtle
 * material depth of the homepage without becoming its promotional doors. */
.ww-editorial-author + .ww-editorial-router {
	margin: var(--ww-section-standard) calc(50% - 50vw) 0;
}

.ww-editorial-router .ww-editorial-route-card {
	z-index: 0;
	overflow: visible;
	border-color: rgb(33 27 24 / 0.16);
	box-shadow: none;
	transition: border-color var(--ww-transition), transform var(--ww-transition);
}

.ww-editorial-router .ww-editorial-route-card::before {
	inset: 0.4rem -0.4rem -0.4rem 0.4rem;
	border-radius: calc(var(--ww-radius-lg) + 0.1rem);
	background: rgb(229 94 74 / 0.1);
}

.ww-editorial-router .ww-editorial-route-card::after {
	z-index: 1;
}

.ww-editorial-router .ww-editorial-route-card:hover,
.ww-editorial-router .ww-editorial-route-card:focus-within {
	border-color: rgb(229 94 74 / 0.65);
	box-shadow: none;
	transform: translateY(-1px);
}

.ww-editorial-router .ww-editorial-route-card h3 a::after {
	z-index: 2;
}

@media (max-width: 42rem) {
	.ww-editorial__header .ww-breadcrumb--editorial {
		font-size: 0.74rem;
	}

	.ww-editorial-summary::before,
	.ww-editorial-key--accompagnement::before,
	.ww-editorial-author__inner::before {
		inset: 0.32rem -0.32rem -0.32rem 0.32rem;
	}

	.ww-editorial-key--accompagnement {
		padding: 1.45rem;
	}

	.ww-editorial-key--accompagnement p:last-child a {
		max-width: 100%;
	}

	.ww-editorial-author {
		width: min(calc(100% - 2.25rem), var(--ww-wide));
		margin-top: var(--ww-section-standard);
	}

	.ww-editorial-author__inner {
		grid-template-columns: 1fr;
	}

	.ww-editorial-author__photo {
		min-height: 0;
		aspect-ratio: 1.25 / 1;
	}

	.ww-editorial-author__content {
		padding: 1.45rem 0.25rem 0.2rem;
	}

	.ww-editorial-author__name {
		font-size: clamp(2.2rem, 11vw, 3rem);
	}

	.ww-editorial-author__bio {
		margin-top: 1rem;
	}

	.ww-editorial-author + .ww-editorial-router {
		margin-top: var(--ww-section-standard);
	}

	.ww-editorial-router .ww-editorial-route-card::before {
		inset: 0.3rem -0.3rem -0.3rem 0.3rem;
	}
}

/* Editorial V3: breadcrumb-as-eyebrow and a small family of editorial
 * sheets. The long-form reading surface remains deliberately calm. */
.ww-editorial__header .ww-breadcrumb--editorial {
	color: #211b18;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.125em;
	line-height: 1.45;
	text-transform: uppercase;
}

.ww-editorial__header .ww-breadcrumb--editorial a {
	color: inherit;
	font-weight: 650;
	text-decoration-color: rgb(33 27 24 / 0.7);
	text-underline-offset: 0.2em;
}

.ww-editorial__header .ww-breadcrumb--editorial a:hover,
.ww-editorial__header .ww-breadcrumb--editorial a:focus-visible {
	color: #211b18;
	text-decoration-color: currentcolor;
}

.ww-editorial__header .ww-breadcrumb--editorial a:focus-visible {
	outline-color: #211b18;
}

.ww-editorial__header .ww-breadcrumb--editorial .breadcrumb_last {
	color: #211b18;
}

.ww-editorial__header .ww-breadcrumb__separator {
	margin-inline: 0.38em;
	color: rgb(33 27 24 / 0.65);
	font-size: 1em;
}

.ww-editorial__hero-composition {
	margin-top: clamp(0.5rem, 0.6vw, 0.75rem);
}

.ww-editorial__header-title > .ww-breadcrumb--editorial {
	margin: 0 0 1.5rem;
}

.ww-editorial__header .ww-editorial-signature {
	margin-top: clamp(1.1rem, 1.6vw, 1.35rem);
	padding-top: 0.8rem;
	border-top-color: rgb(255 255 255 / 0.3);
	color: rgb(255 255 255 / 0.92);
	font-size: 0.88rem;
}

@media (max-width: 56rem) {
	.ww-editorial__hero-composition {
		margin-top: 0;
	}

	.ww-editorial__header-title > .ww-breadcrumb--editorial {
		margin-bottom: 1.5rem;
	}
}

@media (max-width: 42rem) {
	.ww-editorial__header-title > .ww-breadcrumb--editorial {
		margin-bottom: 1.375rem;
	}
}

.ww-editorial__header .ww-editorial-signature__author {
	font-weight: 850;
}

.ww-editorial__header .ww-editorial-signature__role::before,
.ww-editorial__header .ww-editorial-signature__date::before {
	opacity: 0.62;
}

/* The main summary remains a white editorial leaf. The warm colour belongs
 * solely to its offset backing plate. */
.ww-editorial-summary {
	background: var(--ww-color-white);
}

/* Contextual branches become compact sheets. They deliberately remain less
 * prominent than the summary, visual, accompaniment panel and final router. */
.ww-editorial-route-card--single {
	position: relative;
	z-index: 0;
	margin-block: clamp(2rem, 4vw, 2.75rem);
	padding: clamp(1rem, 2.2vw, 1.25rem) clamp(1.1rem, 2.5vw, 1.45rem);
	border: var(--ww-border-subtle);
	border-left: 3px solid var(--ww-color-coral-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-color-white);
	box-shadow: none;
}

.ww-editorial-route-card--single::before {
	position: absolute;
	z-index: -1;
	inset: 0.3rem -0.3rem -0.3rem 0.3rem;
	border-radius: calc(var(--ww-radius-md) + 0.08rem);
	background: rgb(229 94 74 / 0.1);
	content: '';
	pointer-events: none;
}

.ww-editorial-route-card--single > .ww-component-label {
	margin-bottom: 0.5rem;
	color: var(--ww-color-coral-deep);
}

.ww-editorial-route-card--single .ww-editorial-route-card__description {
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.48;
}

.ww-editorial-route-card--single h3 {
	margin-top: 0.55rem;
	font-size: 0.95rem;
}

.ww-article-section--contrast .ww-editorial-route-card--single {
	border-color: rgb(244 200 189 / 0.34);
	border-left-color: var(--ww-color-coral-soft);
	background: color-mix(in srgb, var(--ww-color-ink) 86%, var(--ww-color-cream));
}

.ww-article-section--contrast .ww-editorial-route-card--single::before {
	background: rgb(229 94 74 / 0.22);
}

.ww-article-section--contrast .ww-editorial-route-card--single > .ww-component-label {
	color: var(--ww-color-coral-soft);
}

.ww-article-section--contrast .ww-editorial-route-card--single .ww-editorial-route-card__description {
	color: rgb(255 255 255 / 0.84);
}

/* Notes are one family: shared geometry and type scale, distinct accents from
 * existing tokens. They never use the offset plate reserved for larger objects. */
.ww-editorial-note,
.ww-editorial-key,
.ww-editorial-example {
	border-width: 1px;
	border-left-width: 3px;
	border-radius: var(--ww-radius-md);
}

/* À savoir — teal: a factual clarification or point of vigilance. */
.ww-editorial-note {
	border-color: color-mix(in srgb, var(--ww-color-teal-dark) 28%, transparent);
	border-left-color: var(--ww-color-teal-dark);
	background: color-mix(in srgb, var(--ww-color-teal) 14%, var(--ww-color-white));
}

.ww-editorial-note .ww-component-label {
	color: var(--ww-color-teal-dark);
}

/* À retenir — coral: the compact takeaway at the end of a sequence. */
.ww-editorial-key:not(.ww-editorial-key--accompagnement) {
	border-color: color-mix(in srgb, var(--ww-color-coral) 32%, transparent);
	border-left-color: var(--ww-color-coral);
	background: var(--ww-color-cream-2);
}

.ww-editorial-key:not(.ww-editorial-key--accompagnement) .ww-component-label {
	color: var(--ww-color-coral-deep);
}

/* Existing example support remains available for the pattern when it is used:
 * ink is calmer than the two callout accents above. */
.ww-editorial-example {
	border-color: rgb(42 35 32 / 0.18);
	border-left-color: var(--ww-color-ink-soft);
	background: var(--ww-color-cream);
}

.ww-editorial-example .ww-component-label {
	color: var(--ww-color-ink-soft);
}

.ww-article-section--contrast .ww-editorial-note,
.ww-article-section--contrast .ww-editorial-key:not(.ww-editorial-key--accompagnement),
.ww-article-section--contrast .ww-editorial-example {
	border-color: rgb(255 255 255 / 0.18);
	background: color-mix(in srgb, var(--ww-color-ink) 84%, var(--ww-color-cream));
}

.ww-article-section--contrast .ww-editorial-note {
	border-left-color: var(--ww-color-teal);
}

.ww-article-section--contrast .ww-editorial-key:not(.ww-editorial-key--accompagnement) {
	border-left-color: var(--ww-color-coral-soft);
}

.ww-article-section--contrast .ww-editorial-example {
	border-left-color: var(--ww-color-cream-2);
}

.ww-article-section--contrast .ww-editorial-note .ww-component-label {
	color: var(--ww-color-teal);
}

.ww-article-section--contrast .ww-editorial-key:not(.ww-editorial-key--accompagnement) .ww-component-label {
	color: var(--ww-color-coral-soft);
}

.ww-article-section--contrast .ww-editorial-example .ww-component-label {
	color: var(--ww-color-cream-2);
}

.ww-article-section--contrast .ww-editorial-note__title,
.ww-article-section--contrast .ww-editorial-note > p,
.ww-article-section--contrast .ww-editorial-key:not(.ww-editorial-key--accompagnement) > p,
.ww-article-section--contrast .ww-editorial-example > p {
	color: rgb(255 255 255 / 0.88);
}

/* A process is opt-in: normal ordered lists remain normal reading lists. */
.ww-editorial__content > .ww-editorial-process {
	position: relative;
	z-index: 0;
	width: min(100%, var(--ww-width-content));
	max-width: var(--ww-width-content);
	margin: clamp(2rem, 4vw, 3rem) auto;
	padding: clamp(0.45rem, 1.2vw, 0.75rem) clamp(1.15rem, 3vw, 2rem);
	border: var(--ww-border-subtle);
	border-color: rgb(33 27 24 / 0.16);
	border-radius: var(--ww-radius-lg);
	background: var(--ww-color-white);
	counter-reset: ww-editorial-process;
	list-style: none;
}

.ww-editorial__content > .ww-editorial-process::before {
	position: absolute;
	z-index: -1;
	inset: 0.42rem -0.42rem -0.42rem 0.42rem;
	border-radius: calc(var(--ww-radius-lg) + 0.1rem);
	background: rgb(229 94 74 / 0.1);
	content: '';
	pointer-events: none;
}

.ww-editorial__content > .ww-editorial-process > li {
	position: relative;
	display: block;
	min-height: 3.9rem;
	margin: 0;
	padding: clamp(1rem, 2vw, 1.25rem) 0 clamp(1rem, 2vw, 1.25rem) 3.6rem;
	counter-increment: ww-editorial-process;
}

.ww-editorial__content > .ww-editorial-process > li + li {
	border-top: 1px solid rgb(33 27 24 / 0.12);
}

.ww-editorial__content > .ww-editorial-process > li::before {
	position: absolute;
	top: clamp(1rem, 2vw, 1.25rem);
	left: 0;
	color: var(--ww-color-coral);
	content: counter(ww-editorial-process, decimal-leading-zero);
	font-family: var(--ww-font-display);
	font-size: clamp(1.6rem, 2.6vw, 2rem);
	font-weight: 600;
	letter-spacing: -0.04em;
	line-height: 1;
}

.ww-editorial__content > .ww-editorial-process > li::marker {
	content: '';
}

/* The author stays a personal, compact proof point. The router intentionally
 * regains the wider span immediately after it. */
.ww-editorial-author {
	width: min(calc(100% - 3rem), var(--ww-width-content));
	max-width: var(--ww-width-content);
}

.ww-editorial-author__inner {
	padding: clamp(0.85rem, 1.6vw, 1.25rem);
	grid-template-columns: minmax(11rem, 0.58fr) minmax(0, 1.42fr);
}

.ww-editorial-author__inner::before {
	inset: 0.4rem -0.4rem -0.4rem 0.4rem;
	background: rgb(229 94 74 / 0.1);
}

.ww-editorial-author__photo {
	min-height: 13.5rem;
}

.ww-editorial-author__content {
	padding: clamp(0.3rem, 1.2vw, 0.9rem);
}

.ww-editorial-author__name {
	font-size: clamp(2.05rem, 3.1vw, 2.8rem);
}

.ww-editorial-author__bio {
	margin-top: 1rem;
	padding-top: 0.8rem;
}

@media (max-width: 42rem) {
	.ww-editorial__header .ww-breadcrumb--editorial {
		font-size: 0.7rem;
		letter-spacing: 0.105em;
	}

	.ww-editorial__hero-composition {
		margin-top: 0;
	}

	.ww-editorial__header .ww-editorial-signature {
		font-size: 0.79rem;
	}

	.ww-editorial-route-card--single {
		padding: 0.95rem 1rem;
	}

	.ww-editorial-route-card--single::before {
		inset: 0.25rem -0.25rem -0.25rem 0.25rem;
	}

	.ww-editorial__content > .ww-editorial-process {
		width: min(calc(100% - 2.25rem), var(--ww-width-content));
		margin-block: 2rem;
		padding: 0.3rem 1rem;
	}

	.ww-editorial__content > .ww-editorial-process::before {
		inset: 0.3rem -0.3rem -0.3rem 0.3rem;
	}

	.ww-editorial__content > .ww-editorial-process > li {
		min-height: 0;
		padding: 1rem 0 1rem 2.75rem;
	}

	.ww-editorial__content > .ww-editorial-process > li::before {
		top: 1rem;
		font-size: 1.5rem;
	}

	.ww-editorial-author {
		width: min(calc(100% - 2.25rem), var(--ww-width-content));
	}

	.ww-editorial-author__inner {
		padding: 0.75rem;
		grid-template-columns: 1fr;
	}

	.ww-editorial-author__inner::before {
		inset: 0.3rem -0.3rem -0.3rem 0.3rem;
	}

	.ww-editorial-author__photo {
		aspect-ratio: 1.55 / 1;
	}

	.ww-editorial-author__content {
		padding: 1.1rem 0.15rem 0.1rem;
	}

	.ww-editorial-author__name {
		font-size: clamp(2rem, 10vw, 2.6rem);
	}

	.ww-editorial-author__role {
		font-size: 0.76rem;
	}

	.ww-editorial-author__link {
		margin-top: 1rem;
	}
}

/* Intent-led editorial compositions ----------------------------------------
 * These are deliberately scoped to the pages whose Gutenberg content gives
 * them a distinct reading role. The shared editorial system stays unchanged.
 */

/* Reusable editorial structures for definitions and progressive self-checks.
 * They intentionally remain lists: neither content type is tabular data. */
.ww-editorial__content > .ww-editorial-grid,
.ww-editorial__content > .ww-editorial-scale {
	width: min(100%, var(--ww-width-content));
	margin: var(--ww-section-compact) auto var(--ww-section-standard);
	list-style: none;
	border: var(--ww-border-subtle);
	border-radius: var(--ww-radius-lg);
	background: var(--ww-color-white);
	overflow: hidden;
}

.ww-editorial__content > .ww-editorial-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 0;
}

.ww-editorial-grid__item {
	position: relative;
	max-width: none;
	margin: 0;
	padding: clamp(1rem, 2vw, 1.35rem) clamp(1.05rem, 2.2vw, 1.5rem);
}

.ww-editorial-grid__item:nth-child(even) {
	border-left: var(--ww-border-subtle);
}

.ww-editorial-grid__item:nth-child(n + 3) {
	border-top: var(--ww-border-subtle);
}

.ww-editorial-grid__item:last-child {
	grid-column: 1 / -1;
	border-left: 0;
}

.ww-editorial-grid__item strong {
	font-weight: 800;
	color: var(--ww-color-ink);
}

.ww-editorial__content > .ww-editorial-scale {
	padding: clamp(0.25rem, 0.8vw, 0.5rem) clamp(0.45rem, 1.1vw, 0.75rem);
}

.ww-editorial-scale__item {
	position: relative;
	max-width: none;
	margin: 0;
	padding: clamp(0.9rem, 1.8vw, 1.15rem) clamp(0.65rem, 1.6vw, 1.1rem) clamp(0.9rem, 1.8vw, 1.15rem) clamp(2rem, 3vw, 2.4rem);
}

.ww-editorial-scale__item::before {
	content: "";
	position: absolute;
	top: clamp(1.25rem, 2.4vw, 1.5rem);
	left: clamp(0.65rem, 1.6vw, 1.1rem);
	width: 0.48rem;
	height: 0.48rem;
	border: 1px solid var(--ww-color-coral-dark);
	border-radius: 50%;
	background: var(--ww-color-coral);
	box-shadow: 0 0 0 0.16rem var(--ww-color-coral-soft);
}

.ww-editorial-scale__item strong {
	font-weight: 800;
	color: var(--ww-color-ink);
}

.ww-editorial-scale__item + .ww-editorial-scale__item {
	border-top: var(--ww-border-subtle);
}

/* Travail à distance: retain the article's narrative flow while making its
 * existing situations, operating rules, and contextual routes easier to scan. */
body.page-id-80 .ww-editorial__content > h3 {
	margin: clamp(2.5rem, 5vw, 3.5rem) auto 0;
}

body.page-id-80 .ww-editorial__content > h3 + p {
	margin-top: 0.85rem;
}

/* Missions: a deliberately denser reference chapter. The existing table and
 * domain headings become a scan path without turning each mission into a card. */
body.page-id-76 .ww-article-section:has(.wp-block-table) {
	background: var(--ww-color-white);
}

/* Articles: keep wide editorial grids readable without widening the page. */
body.single-post .site-content {
	overflow-x: hidden;
}

body.page-id-76 .ww-article-section:has(.wp-block-table) h3 {
	max-width: var(--ww-reading);
	margin: clamp(2.1rem, 4vw, 3.2rem) auto 0;
	font-size: clamp(1.45rem, 2vw, 1.8rem);
	line-height: 1.2;
}

body.page-id-76 .ww-article-section:has(.wp-block-table) h3 + p {
	margin-top: 0.85rem;
}

@media (max-width: 42rem) {
	body.page-id-80 .ww-editorial__content > h3 {
		margin-top: 2rem;
	}

	.ww-editorial__content > .ww-editorial-grid {
		grid-template-columns: 1fr;
	}

	.ww-editorial-grid__item {
		padding: 0.95rem 1rem;
	}

	.ww-editorial-grid__item:nth-child(even) {
		border-left: 0;
	}

	.ww-editorial-grid__item + .ww-editorial-grid__item {
		border-top: var(--ww-border-subtle);
	}

	.ww-editorial__content > .ww-editorial-scale {
		padding: 0.25rem 0.35rem;
	}

	:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section__inner, .ww-article-section__reading) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) {
		--ww-editorial-bullet-indent: 1.15rem;
	}

	.ww-editorial-scale__item {
		padding: 0.9rem 0.65rem 0.9rem 1.9rem;
	}

	.ww-editorial-scale__item::before {
		left: 0.65rem;
		top: 1.2rem;
	}

	body.page-id-76 .ww-article-section:has(.wp-block-table) h3 {
		margin-top: 2rem;
		font-size: 1.4rem;
	}
}

/* Editorial V4: the summary is a white leaf above a distinct, flat warm
 * backing plate. The colour never belongs to the reading surface itself. */
.ww-editorial-summary::before {
	/* The old pseudo-element was painted in the sheet's stacking context and
	 * visually tinted its white reading surface. The plate now lives behind it. */
	content: none;
}

.ww-editorial-summary {
	background: var(--ww-color-white);
	/* Zero blur: this is a flat offset plate, not a drop shadow. */
	box-shadow: 0.5rem 0.5rem 0 var(--ww-color-cream-2);
}

/* The process keeps its content-width sheet, but each reading row is centred
 * on the normal editorial measure. This aligns the number rail with prose. */
.ww-editorial__content > .ww-editorial-process {
	--ww-process-row-pad: clamp(0.9rem, 1.6vw, 1.1rem);
	padding: clamp(0.45rem, 1.2vw, 0.75rem);
}

.ww-editorial__content > .ww-editorial-process > li {
	box-sizing: border-box;
	display: block;
	width: min(100%, var(--ww-reading));
	max-width: var(--ww-reading);
	min-height: 0;
	margin-inline: auto;
	padding: var(--ww-process-row-pad) 0 var(--ww-process-row-pad) 3rem;
}

.ww-editorial__content > .ww-editorial-process > li + li {
	margin-top: 0;
}

.ww-editorial__content > .ww-editorial-process > li::before {
	top: calc(var(--ww-process-row-pad) + 0.04em);
	left: 0;
	font-size: clamp(1.5rem, 2.3vw, 1.8rem);
}

/* The author is deliberately narrower than both the preceding CTA and the
 * following router. One vertical oval portrait belongs to this single trust
 * object, with only a quiet editorial ring. */
.ww-editorial-author {
	width: min(calc(100% - 3rem), var(--ww-reading));
	max-width: var(--ww-reading);
}

.ww-editorial-author__inner {
	padding: 0.75rem;
	align-items: center;
	gap: 1.25rem;
	grid-template-columns: 14rem minmax(0, 1fr);
}

.ww-editorial-author__inner::before {
	inset: 0.3rem -0.3rem -0.3rem 0.3rem;
	background: rgb(229 94 74 / 0.09);
}

.ww-editorial-author__photo {
	min-height: 0;
	aspect-ratio: 0.9 / 1;
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgb(229 94 74 / 0.28);
}

.ww-editorial-author__photo img {
	object-position: left center;
	transform: scale(1.5);
	transform-origin: left center;
}

.ww-editorial-author__content {
	padding: 0.25rem 0.2rem;
}

.ww-editorial-author__name {
	font-size: clamp(2rem, 3vw, 2.55rem);
}

.ww-editorial-author__role {
	margin-top: 0.55rem;
}

.ww-editorial-author__bio {
	margin-top: 0.85rem;
	padding-top: 0.75rem;
}

.ww-editorial-author__link {
	margin-top: 0.9rem;
}

.ww-editorial-author__actions {
	display: flex;
	margin-top: 0.9rem;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.ww-editorial-author__actions .ww-editorial-author__link {
	display: block;
	margin-top: 0;
	min-width: 0;
}

.ww-editorial-author__social {
	display: flex;
	align-items: center;
	gap: 0.35rem;
}

.ww-editorial-author__social a {
	display: inline-flex;
	width: 2rem;
	height: 2rem;
	align-items: center;
	justify-content: center;
	border-radius: var(--ww-radius-pill);
	color: var(--ww-color-ink-soft);
	text-decoration: none;
}

.ww-editorial-author__social a:hover,
.ww-editorial-author__social a:focus-visible {
	background: var(--ww-color-cream-2);
	color: var(--ww-color-coral-deep);
}

.ww-editorial-author__social svg {
	width: 1rem;
	height: 1rem;
	flex: 0 0 auto;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.ww-editorial-author__social svg path {
	fill: currentcolor;
	stroke: none;
}

.ww-editorial-author__social svg .ww-editorial-author__social-play {
	fill: var(--ww-color-cream);
}

@media (max-width: 42rem) {
	.ww-editorial-summary {
		box-shadow: 0.32rem 0.32rem 0 var(--ww-color-cream-2);
	}

	.ww-editorial__content > .ww-editorial-process {
		width: 100%;
		padding: 0.3rem 0.75rem;
	}

	.ww-editorial__content > .ww-editorial-process > li {
		width: 100%;
		padding-left: 2.4rem;
	}

	.ww-editorial-author {
		width: min(calc(100% - 2.25rem), var(--ww-reading));
	}

	.ww-editorial-author__inner {
		display: grid;
		padding: 0.65rem;
		align-items: start;
		gap: 0.2rem 0.85rem;
		grid-template-columns: 5.5rem minmax(0, 1fr);
		grid-template-areas:
			'photo name'
			'photo role'
			'bio bio'
			'link link';
	}

	.ww-editorial-author__photo {
		width: 5.5rem;
		height: 6.1rem;
		aspect-ratio: auto;
		border-radius: 50%;
		grid-area: photo;
	}

	.ww-editorial-author__content {
		display: contents;
	}

	.ww-editorial-author__name {
		align-self: end;
		font-size: clamp(1.75rem, 8.5vw, 2.15rem);
		grid-area: name;
	}

	.ww-editorial-author__role {
		margin: 0;
		font-size: 0.68rem;
		grid-area: role;
		letter-spacing: 0.08em;
	}

	.ww-editorial-author__bio {
		margin-top: 0.85rem;
		padding-top: 0.8rem;
		grid-area: bio;
	}

	.ww-editorial-author__actions {
		margin-top: 0.65rem;
		align-items: flex-start;
		flex-direction: column;
		gap: 0.65rem;
		grid-area: link;
	}

	.ww-editorial-author__social {
		gap: 0.35rem;
	}
}

/* Editorial tables ---------------------------------------------------------
 * Native Gutenberg tables become one controlled, document-like component
 * everywhere inside an editorial page. The source data and semantics remain
 * untouched: real table headers stay headers, and row headers are respected. */
.ww-editorial .wp-block-table {
	width: min(100%, var(--ww-width-content));
	max-width: var(--ww-width-content);
	margin: var(--ww-section-compact) auto var(--ww-section-standard);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	border: var(--ww-border-subtle);
	border-radius: var(--ww-radius-lg);
	background: var(--ww-color-white);
	box-shadow: none;
	-webkit-overflow-scrolling: touch;
}

.ww-editorial .wp-block-table table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	color: var(--ww-color-ink);
	font-size: 0.92rem;
	line-height: 1.48;
}

.ww-editorial .wp-block-table :is(th, td) {
	padding: 0.9rem 1rem;
	border: 0;
	border-bottom: 1px solid rgb(42 35 32 / 0.12);
	vertical-align: top;
	word-break: normal;
	overflow-wrap: anywhere;
}

.ww-editorial .wp-block-table thead th {
	border-bottom-color: var(--ww-color-ink);
	background: var(--ww-color-ink);
	color: var(--ww-color-white);
	font-family: var(--ww-font-body);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.035em;
	line-height: 1.3;
	text-align: left;
	text-transform: none;
}

.ww-editorial .wp-block-table thead th:first-child {
	border-top-left-radius: calc(var(--ww-radius-lg) - 1px);
}

.ww-editorial .wp-block-table thead th:last-child {
	border-top-right-radius: calc(var(--ww-radius-lg) - 1px);
}

.ww-editorial .wp-block-table tbody tr:last-child :is(th, td) {
	border-bottom: 0;
}

.ww-editorial .wp-block-table tbody th[scope='row'] {
	font-weight: 700;
}

.ww-editorial .wp-block-table :is(th, td) a {
	color: var(--ww-color-coral-deep);
	font-weight: 700;
	text-decoration-color: var(--ww-color-coral-line);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.ww-editorial .wp-block-table :is(th, td) a:focus-visible {
	outline: 3px solid var(--ww-color-teal-dark);
	outline-offset: -2px;
}

.ww-editorial .wp-block-table figcaption,
.ww-editorial .wp-block-table caption {
	padding: 0.75rem 1rem 0;
	color: var(--ww-color-ink-soft);
	font-size: 0.82rem;
	line-height: 1.45;
	text-align: left;
}

/* The ww-table marker names the shared editorial component. Core/table keeps
 * the same base automatically; variants only describe a reading job. */
.ww-editorial .wp-block-table.ww-table {
	position: relative;
	border-color: rgb(143 46 31 / 0.2);
	background: linear-gradient(135deg, var(--ww-color-white) 0%, var(--ww-color-cream) 100%);
	scrollbar-color: var(--ww-color-coral) transparent;
	scrollbar-width: thin;
}

.ww-editorial .wp-block-table.ww-table:focus-visible {
	outline: 3px solid var(--ww-color-teal-dark);
	outline-offset: 4px;
}

.ww-editorial .wp-block-table.ww-table thead th {
	border-bottom-color: rgb(229 94 74 / 0.4);
	background: var(--ww-color-cream-2);
	box-shadow: inset 0 3px 0 var(--ww-color-coral);
	color: var(--ww-color-ink);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}
.ww-editorial .wp-block-table.ww-table tbody tr {
	background: rgb(255 255 255 / 0.74);
}

.ww-editorial .wp-block-table.ww-table tbody th[scope='row'] {
	border-left: 3px solid var(--ww-color-coral);
	background: color-mix(in srgb, var(--ww-color-cream) 76%, var(--ww-color-white));
	color: var(--ww-color-ink);
	font-weight: 800;
	text-align: left;
}

/* Data tables only add numerical behaviour. Currency and time values remain
 * intact instead of breaking after a thousands separator or before the unit. */
.ww-editorial .wp-block-table.ww-table--data table {
	min-width: 44rem;
}

.ww-editorial .wp-block-table.ww-table--data :is(th, td):not(:first-child) {
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.ww-editorial .wp-block-table.ww-table--data tbody td {
	white-space: nowrap;
}

.ww-editorial .wp-block-table.ww-table--data tbody td strong {
	color: var(--ww-color-coral-deep);
	font-weight: 800;
}

/* The eight-column scenario table needs a stable, value-led distribution.
 * This preserves its current overall measure and therefore its mobile scroll. */
.ww-editorial .wp-block-table.ww-table--data:has(tr > :nth-child(8)) table {
	table-layout: fixed;
}

.ww-editorial .wp-block-table.ww-table--data:has(tr > :nth-child(8)) :is(th, td) {
	padding-inline: 0.75rem;
}

.ww-editorial .wp-block-table.ww-table--data:has(tr > :nth-child(8)) tbody th[scope='row'] {
	overflow-wrap: normal;
}

.ww-editorial .wp-block-table.ww-table--data:has(tr > :nth-child(8)) :is(th, td):nth-child(1) { width: 17%; }
.ww-editorial .wp-block-table.ww-table--data:has(tr > :nth-child(8)) :is(th, td):nth-child(2) { width: 17%; }
.ww-editorial .wp-block-table.ww-table--data:has(tr > :nth-child(8)) :is(th, td):nth-child(3) { width: 15%; }
.ww-editorial .wp-block-table.ww-table--data:has(tr > :nth-child(8)) :is(th, td):nth-child(4) { width: 8%; }
.ww-editorial .wp-block-table.ww-table--data:has(tr > :nth-child(8)) :is(th, td):nth-child(5) { width: 11%; }
.ww-editorial .wp-block-table.ww-table--data:has(tr > :nth-child(8)) :is(th, td):nth-child(6) { width: 11%; }
.ww-editorial .wp-block-table.ww-table--data:has(tr > :nth-child(8)) :is(th, td):nth-child(7) { width: 10%; }
.ww-editorial .wp-block-table.ww-table--data:has(tr > :nth-child(8)) :is(th, td):nth-child(8) { width: 11%; }

/* Matrix, decision and comparison keep the common object intact. Their only
 * differences are the useful reading measures for their respective content. */
.ww-editorial .wp-block-table.ww-table--matrix table {
	min-width: 42rem;
}

.ww-editorial .wp-block-table.ww-table--decision table {
	min-width: 44rem;
}

.ww-editorial .wp-block-table.ww-table--comparison table {
	min-width: 0;
}

.ww-editorial .wp-block-table.ww-table--comparison:has(tr > :nth-child(3)) table {
	min-width: 40rem;
}

/* The cue is purely decorative: it appears only at widths where this data
 * layout necessarily exceeds its wrapper. Keyboard users can focus the
 * native scroll container; no JavaScript is required to detect overflow. */
@media (max-width: 52rem) {
	.ww-editorial .wp-block-table.ww-table:has(tr > :nth-child(6))::after {
		position: absolute;
		top: 0.55rem;
		right: 0.55rem;
		z-index: 1;
		display: grid;
		width: 1.7rem;
		height: 1.7rem;
		place-items: center;
		border: 1px solid rgb(143 46 31 / 0.22);
		border-radius: 999px;
		background: rgb(255 255 255 / 0.92);
		color: var(--ww-color-coral-deep);
		content: '→';
		font-size: 0.95rem;
		font-weight: 800;
		line-height: 1;
		pointer-events: none;
	}
}

@media (max-width: 42rem) {
	.ww-editorial .wp-block-table.ww-table:has(tr > :nth-child(3))::after {
		position: absolute;
		top: 0.55rem;
		right: 0.55rem;
		z-index: 1;
		display: grid;
		width: 1.7rem;
		height: 1.7rem;
		place-items: center;
		border: 1px solid rgb(143 46 31 / 0.22);
		border-radius: 999px;
		background: rgb(255 255 255 / 0.92);
		color: var(--ww-color-coral-deep);
		content: '→';
		font-size: 0.95rem;
		font-weight: 800;
		line-height: 1;
		pointer-events: none;
	}
}

/* Two-column reference tables can use the available measure. Three or more
 * columns retain their relationships through a contained horizontal scroll. */
.ww-editorial .wp-block-table:has(tr > :nth-child(3)) table {
	min-width: 40rem;
}

.ww-editorial .wp-block-table:has(tr > :nth-child(6)) table {
	min-width: 52rem;
}

/* No zebra: the dark header and horizontal rules already give a clearer,
 * calmer scan path than alternating coloured rows. */
.ww-editorial .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background: transparent;
}

.ww-editorial .wp-block-table.ww-table.is-style-stripes tbody tr:nth-child(odd) {
	background: rgb(255 255 255 / 0.74);
}

/* Prepared for the rare case of a genuine table inside an ink chapter. */
.ww-editorial .ww-article-section--contrast .wp-block-table {
	border-color: rgb(255 255 255 / 0.2);
	background: color-mix(in srgb, var(--ww-color-ink) 84%, var(--ww-color-cream));
}

.ww-editorial .ww-article-section--contrast .wp-block-table :is(th, td) {
	border-bottom-color: rgb(255 255 255 / 0.16);
	color: rgb(255 255 255 / 0.88);
}

.ww-editorial .ww-article-section--contrast .wp-block-table thead th {
	border-bottom-color: rgb(255 255 255 / 0.22);
	background: var(--ww-color-ink);
	color: var(--ww-color-white);
}

.ww-editorial .ww-article-section--contrast .wp-block-table :is(th, td) a {
	color: var(--ww-color-coral-soft);
	text-decoration-color: rgb(244 200 189 / 0.68);
}

@media (max-width: 42rem) {
	.ww-editorial .wp-block-table {
		width: 100%;
		margin-block: var(--ww-section-compact) var(--ww-section-standard);
	}

	.ww-editorial .wp-block-table :is(th, td) {
		padding: 0.72rem 0.75rem;
	}

	.ww-editorial .wp-block-table table {
		font-size: 0.84rem;
	}

	.ww-editorial .wp-block-table thead th {
		font-size: 0.69rem;
	}
}

/* Editorial lists: keep the list box on its existing rail and indent only its content. */
:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) {
	--ww-editorial-bullet-size: 0.36rem;
	--ww-editorial-bullet-list-indent: 2rem;
	--ww-editorial-bullet-marker-offset: 1.1rem;
	padding-inline-start: var(--ww-editorial-bullet-list-indent);
	list-style: none;
}

:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li {
	position: relative;
	margin: 0;
	padding-inline-start: 0;
	list-style: none;
}

:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li::marker,
.ww-editorial-grid > li::marker,
.ww-editorial-scale > li::marker {
	content: "";
}

:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li::before {
	position: absolute;
	top: calc((1lh - var(--ww-editorial-bullet-size)) / 2);
	left: calc(-1 * var(--ww-editorial-bullet-marker-offset));
	width: var(--ww-editorial-bullet-size);
	height: var(--ww-editorial-bullet-size);
	border: 1px solid var(--ww-color-coral-dark);
	border-radius: 50%;
	background: var(--ww-color-coral);
	box-shadow: 0 0 0 0.16rem var(--ww-color-coral-soft);
	content: "";
}

:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li + li {
	margin-top: 0.75rem;
}

:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li > .wp-block-list {
	--ww-editorial-bullet-size: 0.28rem;
	--ww-editorial-bullet-list-indent: 1.5rem;
	--ww-editorial-bullet-marker-offset: 0.8rem;
	margin-top: 0.75rem;
	padding-inline-start: var(--ww-editorial-bullet-list-indent);
	list-style: none;
}

:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li > .wp-block-list > li {
	position: relative;
	margin: 0;
	padding-inline-start: 0;
	list-style: none;
}

:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li > .wp-block-list > li::marker {
	content: "";
}

:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li > .wp-block-list > li::before {
	position: absolute;
	top: calc((1lh - var(--ww-editorial-bullet-size)) / 2);
	left: calc(-1 * var(--ww-editorial-bullet-marker-offset));
	width: var(--ww-editorial-bullet-size);
	height: var(--ww-editorial-bullet-size);
	border: 1px solid var(--ww-color-coral-dark);
	border-radius: 50%;
	background: var(--ww-color-coral-soft);
	content: "";
}

:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > p + .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) {
	margin-top: var(--ww-space-5);
}

:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) + p {
	margin-top: var(--ww-space-6);
}

/* Structured lists keep their own visual geometry, but never their native marker. */
.ww-editorial .ww-editorial-grid,
.ww-editorial .ww-editorial-scale,
.ww-editorial .ww-editorial-grid > li,
.ww-editorial .ww-editorial-scale > li {
	list-style: none;
}

@media (max-width: 60rem) {
	:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) {
		--ww-editorial-bullet-list-indent: 1.8rem;
		--ww-editorial-bullet-marker-offset: 1rem;
	}

	:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li > .wp-block-list {
		--ww-editorial-bullet-list-indent: 1.4rem;
		--ww-editorial-bullet-marker-offset: 0.76rem;
	}
}

@media (max-width: 42rem) {
	:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) {
		--ww-editorial-bullet-list-indent: 1.7rem;
		--ww-editorial-bullet-marker-offset: 0.95rem;
	}

	:is(.ww-editorial-list-scope, .ww-editorial__content, .ww-article-section, .ww-article-section__inner, .ww-article-section__reading, .ww-chapo) > .wp-block-list:not(.ww-editorial-grid, .ww-editorial-scale, .ww-editorial-process, .ww-editorial-self-check) > li > .wp-block-list {
		--ww-editorial-bullet-list-indent: 1.3rem;
		--ww-editorial-bullet-marker-offset: 0.7rem;
	}
}

/* Structured marker geometry: one inset, one marker and one stable text gap. */
.ww-editorial-scale__item {
	--ww-structured-marker-size: 0.48rem;
	--ww-structured-marker-inset: clamp(0.95rem, 2vw, 1.35rem);
	--ww-structured-marker-gap: 0.5rem;
	padding-inline-start: calc(
		var(--ww-structured-marker-inset) +
		var(--ww-structured-marker-size) +
		var(--ww-structured-marker-gap)
	);
}

.ww-editorial-scale__item::before {
	left: var(--ww-structured-marker-inset);
	width: var(--ww-structured-marker-size);
	height: var(--ww-structured-marker-size);
}

/* Self-check: a distinct editorial component, independent of page order. */
.ww-editorial__content > .ww-editorial-self-check {
	--ww-structured-marker-size: 0.36rem;
	--ww-structured-marker-inset: clamp(1rem, 2vw, 1.35rem);
	--ww-structured-marker-gap: 0.55rem;
	--ww-structured-marker-halo: 0.16rem;
	--ww-self-check-item-padding: 0.9rem;
	width: min(100%, var(--ww-width-content));
	margin: var(--ww-section-compact) auto var(--ww-section-standard);
	padding: clamp(1.1rem, 2.5vw, 1.8rem);
	list-style: none;
	border: var(--ww-border-subtle);
	border-radius: var(--ww-radius-lg);
	background: var(--ww-color-white);
}

.ww-editorial__content > .ww-editorial-self-check > li {
	position: relative;
	margin: 0;
	padding-block: var(--ww-self-check-item-padding);
	padding-inline: calc(
		var(--ww-structured-marker-inset) +
		var(--ww-structured-marker-size) +
		var(--ww-structured-marker-gap)
	) 0;
	list-style: none;
}

.ww-editorial__content > .ww-editorial-self-check > li::marker {
	content: "";
}

.ww-editorial__content > .ww-editorial-self-check > li::before {
	position: absolute;
	top: calc(
		var(--ww-self-check-item-padding) +
		(1lh - var(--ww-structured-marker-size)) / 2
	);
	left: var(--ww-structured-marker-inset);
	width: var(--ww-structured-marker-size);
	height: var(--ww-structured-marker-size);
	border: 1px solid var(--ww-color-coral-dark);
	border-radius: 50%;
	background: var(--ww-color-coral);
	box-shadow: 0 0 0 var(--ww-structured-marker-halo) var(--ww-color-coral-soft);
	content: "";
}

.ww-editorial__content > .ww-editorial-self-check > li + li {
	border-top: var(--ww-border-subtle);
}

.ww-editorial-scale__item {
	--ww-structured-marker-halo: 0.16rem;
}

.ww-editorial-scale__item::before {
	box-shadow: 0 0 0 var(--ww-structured-marker-halo) var(--ww-color-coral-soft);
}

@media (max-width: 42rem) {
	.ww-editorial__content > .ww-editorial-self-check {
		--ww-structured-marker-inset: 0.9rem;
		--ww-self-check-item-padding: 0.85rem;
		padding: 1rem;
	}
}
