/*
Theme Name: Estarellas
Theme URI: https://estarellas.online/
Author: Antoine Estarellas
Description: Thème bloc éditorial pour présenter des projets numériques utiles, accessibles et responsables.
Version: 0.2.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: estarellas
*/

:root {
	--estarellas-transition: 180ms ease;
	--estarellas-line: color-mix(in srgb, currentColor 18%, transparent);
}

html {
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
}

a {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 0.08em;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--wp--preset--color--copper);
	outline-offset: 4px;
}

.skip-link {
	background: var(--wp--preset--color--ivory);
	color: var(--wp--preset--color--navy);
	font-weight: 700;
	left: var(--wp--preset--spacing--30);
	padding: 0.75rem 1rem;
	position: fixed;
	top: var(--wp--preset--spacing--30);
	transform: translateY(-180%);
	transition: transform var(--estarellas-transition);
	z-index: 100000;
}

.skip-link:focus {
	transform: translateY(0);
}

.site-header {
	border-bottom: 1px solid rgba(246, 241, 232, 0.18);
}

.site-header .wp-block-site-title a,
.site-footer a {
	text-decoration: none;
}

.site-header .wp-block-navigation-item__content {
	padding-block: 0.65rem;
}

.site-header .nav-cta > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--copper);
	color: var(--wp--preset--color--navy);
	font-weight: 700;
	padding: 0.72rem 1rem;
}

.site-header .nav-cta > .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--ivory);
}

.eyebrow {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 750;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.home-hero {
	min-height: min(780px, calc(100svh - 5rem));
	position: relative;
}

.home-hero__content {
	position: relative;
	z-index: 2;
}

.home-hero__title {
	max-width: 15ch;
}

.home-hero__text {
	max-width: 62ch;
}

.home-hero__location {
	border-left: 3px solid var(--wp--preset--color--copper);
	padding-left: 0.8rem;
}

.home-hero__actions .wp-block-button__link {
	min-height: 3rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.media-placeholder {
	border: 1px solid rgba(246, 241, 232, 0.36);
	box-shadow: 1.1rem 1.1rem 0 rgba(221, 104, 28, 0.2);
	overflow: hidden;
}

.media-placeholder::after {
	background:
		linear-gradient(135deg, transparent 49.6%, rgba(246, 241, 232, 0.12) 50%, transparent 50.4%),
		radial-gradient(circle at 72% 25%, rgba(221, 104, 28, 0.2) 0 5px, transparent 6px);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.media-placeholder .wp-block-cover__inner-container {
	display: flex;
	height: 100%;
	align-items: flex-end;
}

.media-placeholder__label {
	background: var(--wp--preset--color--ivory);
	color: var(--wp--preset--color--navy);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	margin: 0;
	padding: 0.75rem 1rem;
}

.hero-media-stack {
	padding: 0 1.5rem 2.5rem 0;
	position: relative;
}

.media-placeholder--portrait {
	min-height: clamp(24rem, 42vw, 34rem);
}

.media-placeholder--project-preview {
	bottom: 0;
	box-shadow: 0.7rem 0.7rem 0 rgba(47, 111, 115, 0.34);
	min-height: clamp(8rem, 14vw, 11rem);
	position: absolute;
	right: 0;
	width: min(64%, 17rem);
	z-index: 3;
}

.media-placeholder--project-preview::after {
	background:
		linear-gradient(155deg, transparent 48%, rgba(11, 31, 51, 0.12) 48.3%, transparent 48.6%),
		radial-gradient(circle at 72% 28%, rgba(221, 104, 28, 0.45) 0 4px, transparent 5px);
}

.connection-map {
	color: rgba(246, 241, 232, 0.28);
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.connection-map span {
	border: 1px solid currentColor;
	border-radius: 50%;
	height: clamp(7rem, 14vw, 13rem);
	position: absolute;
	width: clamp(7rem, 14vw, 13rem);
}

.connection-map span::before,
.connection-map span::after {
	background: currentColor;
	content: "";
	position: absolute;
}

.connection-map span::before {
	height: 1px;
	left: 55%;
	top: 20%;
	transform: rotate(24deg);
	transform-origin: left;
	width: clamp(8rem, 20vw, 18rem);
}

.connection-map span::after {
	border-radius: 50%;
	height: 0.55rem;
	right: 12%;
	top: -0.3rem;
	width: 0.55rem;
}

.connection-map span:first-child {
	left: -3rem;
	top: 12%;
}

.connection-map span:last-child {
	bottom: -5rem;
	right: 7%;
}

.proof-bar {
	border-bottom: 1px solid rgba(246, 241, 232, 0.18);
	border-top: 1px solid rgba(246, 241, 232, 0.18);
}

.proof-grid,
.action-fields__grid,
.method-grid,
.audience-paths__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.proof-grid {
	gap: 0;
}

.proof-grid > p {
	align-items: center;
	border-left: 1px solid rgba(246, 241, 232, 0.18);
	display: flex;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.035em;
	margin: 0;
	min-height: 3.5rem;
	padding: 0.65rem 1.15rem;
	text-align: center;
}

.proof-grid > p:first-child {
	border-left: 0;
}

.home-section h2 {
	max-width: 18ch;
}

.section-heading--split {
	align-items: start;
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: minmax(280px, 0.8fr) minmax(280px, 1.2fr);
}

.section-heading--split > * {
	margin: 0;
}

.action-fields__grid {
	border-top: 1px solid rgba(38, 51, 61, 0.28);
	gap: 0;
	margin-top: var(--wp--preset--spacing--60);
}

.action-field {
	border-left: 1px solid rgba(38, 51, 61, 0.28);
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
}

.action-field:first-child {
	border-left: 0;
	padding-left: 0;
}

.action-field:last-child {
	padding-right: 0;
}

.section-number {
	color: var(--wp--preset--color--copper);
	font-weight: 800;
	letter-spacing: 0.08em;
}

.editorial-list {
	list-style: none;
	padding: 0;
}

.editorial-list li {
	border-top: 1px solid rgba(38, 51, 61, 0.2);
	padding: 0.7rem 0 0.7rem 1.25rem;
	position: relative;
}

.editorial-list li::before {
	background: var(--wp--preset--color--copper);
	border-radius: 50%;
	content: "";
	height: 0.4rem;
	left: 0;
	position: absolute;
	top: 1.32rem;
	width: 0.4rem;
}

.situation-list {
	counter-reset: situation;
	display: grid;
	gap: 0 var(--wp--preset--spacing--60);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
	list-style: none;
	margin-top: var(--wp--preset--spacing--60);
	padding: 0;
}

.situation-list li {
	border-top: 1px solid rgba(246, 241, 232, 0.25);
	counter-increment: situation;
	min-height: 9rem;
	padding: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--40) 3.25rem;
	position: relative;
}

.situation-list li::before {
	color: var(--wp--preset--color--copper);
	content: "0" counter(situation);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	left: 0;
	position: absolute;
	top: var(--wp--preset--spacing--40);
}

.section-conclusion {
	border-left: 4px solid var(--wp--preset--color--copper);
	margin-top: var(--wp--preset--spacing--50);
	max-width: 52rem;
	padding-left: var(--wp--preset--spacing--40);
}

.expertise-editorial {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: repeat(2, minmax(280px, 1fr));
	margin-top: var(--wp--preset--spacing--60);
}

.expertise-editorial__item {
	border-top: 1px solid rgba(38, 51, 61, 0.28);
	padding-top: var(--wp--preset--spacing--40);
}

.expertise-editorial__item--wide {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-column: 1 / -1;
	grid-template-columns: 4rem minmax(280px, 0.8fr) minmax(280px, 1.2fr);
}

.expertise-editorial__item--accent {
	background: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--white);
	padding: var(--wp--preset--spacing--50);
}

.expertise-editorial__item--accent h3 {
	color: var(--wp--preset--color--white);
}

.expertise-editorial__item--accent .editorial-list li {
	border-top-color: rgba(255, 255, 255, 0.24);
}

.home-quote {
	border: 0;
	border-top: 4px solid var(--wp--preset--color--copper);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--x-large);
	margin-top: var(--wp--preset--spacing--60);
	max-width: 46rem;
	padding: var(--wp--preset--spacing--40) 0 0;
}

.project-grid {
	align-items: start;
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-template-columns: repeat(12, minmax(0, 1fr));
	margin-top: var(--wp--preset--spacing--60);
}

.project-grid > .project-entry:not(.project-entry--horizontal) {
	margin-block-start: 0;
}

.project-entry {
	border-top: 4px solid var(--wp--preset--color--teal);
	grid-column: span 5;
}

.project-entry--large {
	grid-column: span 7;
}

.project-entry--horizontal {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-column: 1 / -1;
	grid-template-columns: minmax(280px, 0.85fr) minmax(280px, 1.15fr);
}

.project-media-placeholder {
	box-shadow: none;
	min-height: clamp(16rem, 28vw, 24rem);
}

.project-entry--horizontal .project-media-placeholder {
	min-height: clamp(16rem, 22vw, 20rem);
}

.project-entry__content {
	padding: var(--wp--preset--spacing--40) 0;
}

.editorial-list--compact {
	font-size: var(--wp--preset--font-size--small);
}

.journey-home h2 {
	color: var(--wp--preset--color--white);
}

.journey-dialogue {
	border-left: 1px solid rgba(255, 255, 255, 0.3);
	padding-left: var(--wp--preset--spacing--50);
}

.dialogue-list {
	list-style: none;
	padding: 0;
}

.dialogue-list li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
	padding: 0.9rem 0;
}

.method-grid {
	gap: 0;
	margin-top: var(--wp--preset--spacing--60);
}

.method-step {
	border-left: 1px solid rgba(38, 51, 61, 0.25);
	padding: var(--wp--preset--spacing--40);
}

.method-step:first-child {
	border-left: 0;
	padding-left: 0;
}

.method-step__number {
	align-items: center;
	border: 1px solid var(--wp--preset--color--copper);
	border-radius: 50%;
	color: var(--wp--preset--color--copper);
	display: flex;
	font-weight: 800;
	height: 2.6rem;
	justify-content: center;
	width: 2.6rem;
}

.method-conclusion {
	border-top: 1px solid rgba(38, 51, 61, 0.28);
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 600;
	margin-top: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--40);
}

.audience-paths {
	padding-left: 0;
	padding-right: 0;
}

.audience-paths__grid {
	align-items: stretch;
	gap: 0;
}

.audience-paths__grid > .audience-path {
	align-self: stretch;
	box-sizing: border-box;
	height: 100%;
	margin-block-start: 0;
}

.audience-path h3 {
	max-width: 16ch;
}

.home-blog {
	border-top: 1px solid rgba(38, 51, 61, 0.15);
}

.contact-panel {
	max-width: 62rem;
}

.contact-panel h2 {
	max-width: 14ch;
}

.contact-actions {
	align-items: stretch;
	gap: var(--wp--preset--spacing--30);
}

.contact-action-pending {
	align-items: center;
	background: var(--wp--preset--color--copper);
	color: var(--wp--preset--color--navy);
	display: flex;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	min-height: 3rem;
	padding: 0.8rem 1.15rem;
}

.contact-action-pending p {
	margin: 0;
}

.contact-action-pending small {
	display: block;
	font-weight: 500;
}

.contact-note {
	color: rgba(246, 241, 232, 0.78);
}

.home-section .wp-block-button__link {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 3rem;
}

/* Page Offres: styles volontairement isolés pour préserver les autres pages. */
.offers-page {
	overflow: clip;
}

.offers-hero {
	position: relative;
}

.offers-hero__layout,
.offers-heading-split,
.offers-final__layout {
	align-items: start;
	display: grid;
	gap: var(--wp--preset--spacing--60);
	grid-template-columns: minmax(280px, 1.25fr) minmax(280px, 0.75fr);
	position: relative;
	z-index: 2;
}

.offers-hero__main h1 {
	max-width: 15ch;
}

.offers-hero__positioning {
	border-left: 1px solid rgba(246, 241, 232, 0.32);
	margin-block-start: var(--wp--preset--spacing--60);
	padding-left: var(--wp--preset--spacing--50);
}

.offers-hero__diagram {
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.offers-hero__diagram span {
	border: 1px solid rgba(246, 241, 232, 0.2);
	border-radius: 50%;
	height: clamp(5rem, 9vw, 9rem);
	position: absolute;
	width: clamp(5rem, 9vw, 9rem);
}

.offers-hero__diagram span::after {
	background: rgba(221, 104, 28, 0.58);
	border-radius: 50%;
	content: "";
	height: 0.55rem;
	position: absolute;
	right: 8%;
	top: 5%;
	width: 0.55rem;
}

.offers-hero__diagram span:nth-child(1) {
	right: 4%;
	top: 8%;
}

.offers-hero__diagram span:nth-child(2) {
	right: 15%;
	top: 39%;
}

.offers-hero__diagram span:nth-child(3) {
	bottom: -3rem;
	left: 38%;
}

.offers-hero__diagram span:nth-child(4) {
	bottom: 8%;
	right: -3rem;
}

.offers-actions .wp-block-button__link,
.offers-page > .wp-block-group .wp-block-button__link {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 3rem;
}

.offers-heading-split > * {
	margin-block-start: 0;
}

.offers-heading-split h2,
.offers-service__header h2,
.offers-formats h2,
.offers-collaboration h2 {
	max-width: 18ch;
}

.offers-domain-line {
	border-bottom: 1px solid rgba(38, 51, 61, 0.28);
	border-top: 1px solid rgba(38, 51, 61, 0.28);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	list-style: none;
	margin-top: var(--wp--preset--spacing--60);
	padding: 0;
}

.offers-domain-line li {
	border-left: 1px solid rgba(38, 51, 61, 0.28);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	padding: var(--wp--preset--spacing--40);
}

.offers-domain-line li:first-child {
	border-left: 0;
}

.offers-domain-line span {
	color: var(--wp--preset--color--copper);
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	margin-bottom: var(--wp--preset--spacing--20);
}

.offers-service {
	border-top: 1px solid rgba(38, 51, 61, 0.14);
}

.offers-service__header {
	display: grid;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--60);
	grid-template-columns: minmax(280px, 0.9fr) minmax(280px, 1.1fr);
}

.offers-service__header > * {
	margin-block-start: 0;
}

.offers-service__header .eyebrow {
	grid-column: 1 / -1;
}

.offers-service__header--offset {
	padding-left: clamp(0rem, 6vw, 6rem);
}

.offers-service__details {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	margin-top: var(--wp--preset--spacing--60);
}

.offers-service__details--two {
	grid-template-columns: repeat(2, minmax(280px, 1fr));
}

.offers-service__details > * {
	margin-block-start: 0;
}

.offers-detail {
	border-left: 1px solid rgba(38, 51, 61, 0.24);
	border-top: 4px solid var(--wp--preset--color--teal);
	padding: var(--wp--preset--spacing--40);
}

.offers-detail:first-child {
	border-left: 0;
	padding-left: 0;
}

.offers-detail--proof {
	background: var(--wp--preset--color--ivory);
}

.offers-list {
	list-style: none;
	padding: 0;
}

.offers-list li {
	border-top: 1px solid rgba(38, 51, 61, 0.18);
	padding: 0.72rem 0 0.72rem 1.2rem;
	position: relative;
}

.offers-list li::before {
	background: var(--wp--preset--color--copper);
	border-radius: 50%;
	content: "";
	height: 0.38rem;
	left: 0;
	position: absolute;
	top: 1.35rem;
	width: 0.38rem;
}

.offers-service__details--dark .offers-detail {
	border-left-color: rgba(246, 241, 232, 0.22);
	border-top-color: var(--wp--preset--color--copper);
}

.offers-service__details--dark .offers-list li {
	border-top-color: rgba(246, 241, 232, 0.2);
}

.offers-service__details--dark .offers-detail--proof {
	background: rgba(47, 111, 115, 0.26);
}

.offers-conviction {
	border: 0;
	border-left: 4px solid var(--wp--preset--color--copper);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	margin-top: var(--wp--preset--spacing--50);
	max-width: 52rem;
	padding: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

.offers-boundary {
	background: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--white);
	margin-top: var(--wp--preset--spacing--50);
	max-width: 58rem;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}

.offers-formats__grid,
.offers-collaboration__grid {
	align-items: stretch;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	margin-top: var(--wp--preset--spacing--60);
}

.offers-formats__grid {
	gap: 0;
}

.offers-formats__grid > *,
.offers-collaboration__grid > * {
	margin-block-start: 0;
}

.offers-format {
	border-left: 1px solid rgba(255, 255, 255, 0.28);
	border-top: 1px solid rgba(255, 255, 255, 0.28);
	height: 100%;
	padding: var(--wp--preset--spacing--40);
}

.offers-format:first-child {
	border-left: 0;
	padding-left: 0;
}

.offers-format__number {
	color: var(--wp--preset--color--copper);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
}

.offers-deliverables__list {
	display: grid;
	gap: 0 var(--wp--preset--spacing--50);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	list-style: none;
	margin-top: var(--wp--preset--spacing--60);
	padding: 0;
}

.offers-deliverables__list li {
	border-top: 1px solid rgba(38, 51, 61, 0.24);
	font-weight: 650;
	padding: 1rem 0 1rem 1.4rem;
	position: relative;
}

.offers-deliverables__list li::before {
	color: var(--wp--preset--color--copper);
	content: "↳";
	left: 0;
	position: absolute;
}

.offers-collaboration__grid {
	gap: 0;
}

.offers-step {
	border-left: 1px solid rgba(38, 51, 61, 0.24);
	border-top: 1px solid rgba(38, 51, 61, 0.24);
	height: 100%;
	padding: var(--wp--preset--spacing--40);
}

.offers-step:first-child {
	border-left: 0;
	padding-left: 0;
}

.offers-step__number {
	align-items: center;
	border: 1px solid var(--wp--preset--color--copper);
	border-radius: 50%;
	color: var(--wp--preset--color--copper);
	display: flex;
	font-weight: 800;
	height: 2.6rem;
	justify-content: center;
	width: 2.6rem;
}

.offers-conviction--final {
	margin-top: var(--wp--preset--spacing--60);
}

.offers-final__layout h2 {
	max-width: 12ch;
}

.offers-final__note {
	border-top: 1px solid rgba(246, 241, 232, 0.24);
	color: rgba(246, 241, 232, 0.8);
	padding-top: var(--wp--preset--spacing--30);
}

/* Page Réalisations: styles isolés pour préserver Accueil et Offres. */
.projects-page {
	overflow: clip;
}

.projects-hero {
	position: relative;
}

.projects-hero__layout,
.projects-heading-split,
.projects-final__layout {
	align-items: start;
	display: grid;
	gap: var(--wp--preset--spacing--60);
	grid-template-columns: minmax(280px, 1.2fr) minmax(280px, 0.8fr);
	position: relative;
	z-index: 2;
}

.projects-hero__main h1 {
	max-width: 15ch;
}

.projects-hero__process {
	border-left: 1px solid rgba(246, 241, 232, 0.3);
	margin-block-start: var(--wp--preset--spacing--60);
	padding-left: var(--wp--preset--spacing--50);
}

.projects-hero__map {
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.projects-hero__map span {
	border: 1px solid rgba(246, 241, 232, 0.18);
	border-radius: 50%;
	height: clamp(6rem, 11vw, 11rem);
	position: absolute;
	width: clamp(6rem, 11vw, 11rem);
}

.projects-hero__map span::after {
	background: var(--wp--preset--color--copper);
	border-radius: 50%;
	content: "";
	height: 0.55rem;
	position: absolute;
	right: 14%;
	top: 3%;
	width: 0.55rem;
}

.projects-hero__map span:nth-child(1) {
	right: 4%;
	top: 8%;
}

.projects-hero__map span:nth-child(2) {
	bottom: 7%;
	right: 18%;
}

.projects-hero__map span:nth-child(3) {
	bottom: -3rem;
	left: 36%;
}

.projects-actions .wp-block-button__link,
.projects-page > .wp-block-group .wp-block-button__link {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 3rem;
}

.projects-heading-split > * {
	margin-block-start: 0;
}

.projects-heading-split h2,
.projects-case__title h2,
.projects-method h2,
.projects-final h2 {
	max-width: 18ch;
}

.projects-proof-line {
	border-bottom: 1px solid rgba(38, 51, 61, 0.28);
	border-top: 1px solid rgba(38, 51, 61, 0.28);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	list-style: none;
	margin-top: var(--wp--preset--spacing--60);
	padding: 0;
}

.projects-proof-line li {
	border-left: 1px solid rgba(38, 51, 61, 0.28);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	padding: var(--wp--preset--spacing--40);
}

.projects-proof-line li:first-child {
	border-left: 0;
}

.projects-proof-line span {
	color: var(--wp--preset--color--copper);
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	margin-bottom: var(--wp--preset--spacing--20);
}

.projects-case {
	border-top: 1px solid rgba(38, 51, 61, 0.14);
}

.projects-case__lead {
	align-items: center;
	display: grid;
	gap: var(--wp--preset--spacing--60);
	grid-template-columns: minmax(280px, 0.9fr) minmax(280px, 1.1fr);
}

.projects-case__lead > * {
	margin-block-start: 0;
}

.projects-case__lead--reverse .projects-case__title {
	grid-column: 2;
	grid-row: 1;
}

.projects-case__lead--reverse .projects-media-placeholder {
	grid-column: 1;
	grid-row: 1;
}

.projects-media-placeholder {
	border: 1px solid rgba(246, 241, 232, 0.32);
	box-shadow: none;
	min-height: clamp(18rem, 33vw, 28rem);
	overflow: hidden;
}

.projects-media-placeholder::after {
	background:
		linear-gradient(145deg, transparent 49.7%, rgba(246, 241, 232, 0.12) 50%, transparent 50.3%),
		radial-gradient(circle at 73% 24%, rgba(221, 104, 28, 0.55) 0 5px, transparent 6px);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.projects-media-placeholder .wp-block-cover__inner-container {
	align-items: flex-end;
	display: flex;
	height: 100%;
}

.projects-media-placeholder__label {
	background: var(--wp--preset--color--ivory);
	color: var(--wp--preset--color--navy);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	margin: 0;
	padding: 0.75rem 1rem;
}

.projects-case__narrative,
.projects-method__grid,
.projects-tools__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	margin-top: var(--wp--preset--spacing--60);
}

.projects-case__narrative {
	gap: var(--wp--preset--spacing--50);
}

.projects-case__narrative > *,
.projects-method__grid > *,
.projects-tools__grid > * {
	margin-block-start: 0;
}

.projects-fact {
	border-top: 4px solid var(--wp--preset--color--teal);
	padding-top: var(--wp--preset--spacing--40);
}

.projects-case__narrative--dark .projects-fact {
	border-top-color: var(--wp--preset--color--copper);
}

.projects-list {
	list-style: none;
	padding: 0;
}

.projects-list li {
	border-top: 1px solid rgba(38, 51, 61, 0.18);
	padding: 0.72rem 0 0.72rem 1.2rem;
	position: relative;
}

.projects-list li::before {
	background: var(--wp--preset--color--copper);
	border-radius: 50%;
	content: "";
	height: 0.38rem;
	left: 0;
	position: absolute;
	top: 1.35rem;
	width: 0.38rem;
}

.projects-case__narrative--dark .projects-list li {
	border-top-color: rgba(246, 241, 232, 0.2);
}

.projects-learning {
	border: 0;
	border-left: 4px solid var(--wp--preset--color--copper);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	margin-top: var(--wp--preset--spacing--60);
	max-width: 56rem;
	padding: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

.projects-learning--dark {
	color: var(--wp--preset--color--ivory);
}

.projects-case__lead--nexus {
	align-items: end;
}

.projects-nexus-summary {
	border-left: 1px solid rgba(255, 255, 255, 0.32);
	padding-left: var(--wp--preset--spacing--50);
}

.projects-boundary {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--ivory);
	margin-top: var(--wp--preset--spacing--60);
	max-width: 58rem;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}

.projects-studio__grid {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-template-columns: repeat(12, minmax(0, 1fr));
	margin-top: var(--wp--preset--spacing--60);
}

.projects-studio__grid > * {
	margin-block-start: 0;
}

.projects-product {
	border-top: 4px solid var(--wp--preset--color--teal);
	grid-column: span 5;
	padding-top: var(--wp--preset--spacing--40);
}

.projects-product--wide {
	grid-column: span 7;
}

.projects-product--full {
	grid-column: 1 / -1;
}

.projects-studio__summary {
	border-top: 1px solid rgba(38, 51, 61, 0.24);
	margin-top: var(--wp--preset--spacing--60);
	max-width: 58rem;
	padding-top: var(--wp--preset--spacing--40);
}

.projects-method__grid,
.projects-tools__grid {
	gap: 0;
}

.projects-method__step,
.projects-tool-family {
	border-left: 1px solid rgba(38, 51, 61, 0.24);
	border-top: 1px solid rgba(38, 51, 61, 0.24);
	height: 100%;
	padding: var(--wp--preset--spacing--40);
}

.projects-method__step:first-child,
.projects-tool-family:first-child {
	border-left: 0;
	padding-left: 0;
}

.projects-step-number {
	align-items: center;
	border: 1px solid var(--wp--preset--color--copper);
	border-radius: 50%;
	color: var(--wp--preset--color--copper);
	display: flex;
	font-weight: 800;
	height: 2.6rem;
	justify-content: center;
	width: 2.6rem;
}

.projects-final__layout h2 {
	max-width: 12ch;
}

.projects-final__note {
	border-top: 1px solid rgba(246, 241, 232, 0.24);
	color: rgba(246, 241, 232, 0.8);
	padding-top: var(--wp--preset--spacing--30);
}

.site-footer {
	border-top: 1px solid rgba(246, 241, 232, 0.18);
}

/* Page Parcours: styles isolés des pages déjà validées. */
.journey-page {
	overflow: clip;
}

.journey-page > .wp-block-group .wp-block-button__link {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 3rem;
}

.journey-external-link .wp-block-button__link::after {
	content: " ↗";
	margin-left: 0.35rem;
}

.journey-hero__layout,
.journey-heading-split,
.journey-chapter__intro,
.journey-contact__layout {
	align-items: start;
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: minmax(280px, 1.15fr) minmax(280px, 0.85fr);
}

.journey-hero__main h1 {
	max-width: 14ch;
}

.journey-hero__statement {
	border: 0;
	border-top: 4px solid var(--wp--preset--color--copper);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	margin: 0;
	padding: var(--wp--preset--spacing--40) 0 0;
}

.journey-hero__statement p {
	margin-block-start: 0;
}

.journey-hero__location {
	border-left: 3px solid var(--wp--preset--color--teal);
	padding-left: var(--wp--preset--spacing--30);
}

.journey-heading-split > *,
.journey-chapter__intro > *,
.journey-contact__layout > *,
.journey-hero__layout > *,
.journey-learning > *,
.journey-certification > *,
.journey-field-stories > *,
.journey-activities > *,
.journey-project-axes > *,
.journey-skills__grid > *,
.journey-environments > *,
.journey-directions > *,
.journey-contribution__grid > * {
	align-self: start;
	margin-block-start: 0;
	transform: none;
}

.journey-hero__layout > * > :first-child,
.journey-heading-split > * > :first-child,
.journey-chapter__intro > * > :first-child,
.journey-contact__layout > * > :first-child,
.journey-learning > * > :first-child,
.journey-field-stories > * > :first-child,
.journey-skills__grid > * > :first-child,
.journey-environments > * > :first-child,
.journey-directions > * > :first-child,
.journey-contribution__grid > * > :first-child {
	margin-block-start: 0;
}

.journey-heading-split h2,
.journey-chapter__intro h2,
.journey-timeline-section > h2,
.journey-skills > h2,
.journey-contribution > h2,
.journey-contact h2 {
	max-width: 18ch;
}

.journey-dimensions {
	border-bottom: 1px solid rgba(38, 51, 61, 0.25);
	border-top: 1px solid rgba(38, 51, 61, 0.25);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	margin-top: var(--wp--preset--spacing--60);
}

.journey-dimensions p {
	border-left: 1px solid rgba(38, 51, 61, 0.25);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	margin: 0;
	padding: var(--wp--preset--spacing--40);
}

.journey-dimensions p:first-child {
	border-left: 0;
}

.journey-dimensions span {
	color: var(--wp--preset--color--copper);
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	margin-bottom: var(--wp--preset--spacing--20);
}

.journey-environments,
.journey-directions {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	margin-top: var(--wp--preset--spacing--60);
}

.journey-environment,
.journey-direction {
	border-left: 1px solid rgba(38, 51, 61, 0.24);
	border-top: 4px solid var(--wp--preset--color--teal);
	height: 100%;
	padding: var(--wp--preset--spacing--40);
}

.journey-environment:first-child,
.journey-direction:first-child {
	border-left: 0;
}

.journey-learning {
	align-items: start;
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: minmax(280px, 1fr) minmax(280px, 0.75fr);
	margin-top: var(--wp--preset--spacing--60);
}

.journey-list {
	list-style: none;
	padding: 0;
}

.journey-list li,
.journey-training__list li {
	border-top: 1px solid rgba(38, 51, 61, 0.2);
	break-inside: avoid;
	padding: 0.7rem 0 0.7rem 1.2rem;
	position: relative;
}

.journey-list li::before,
.journey-training__list li::before {
	background: var(--wp--preset--color--copper);
	border-radius: 50%;
	content: "";
	height: 0.38rem;
	left: 0;
	position: absolute;
	top: 1.35rem;
	width: 0.38rem;
}

.journey-list--columns {
	columns: 2 280px;
	column-gap: var(--wp--preset--spacing--50);
}

.journey-insight {
	border: 0;
	border-left: 4px solid var(--wp--preset--color--copper);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	margin: 0;
	padding: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

.journey-insight--light {
	color: var(--wp--preset--color--white);
	margin-top: var(--wp--preset--spacing--60);
}

.journey-mediation .journey-list li,
.journey-skills .journey-list li {
	border-top-color: rgba(255, 255, 255, 0.22);
}

.journey-certification {
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.28);
	border-top: 1px solid rgba(255, 255, 255, 0.28);
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-template-columns: minmax(280px, 0.45fr) minmax(280px, 1fr);
	margin-top: var(--wp--preset--spacing--60);
	padding: var(--wp--preset--spacing--40) 0;
}

.journey-field-stories {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: repeat(2, minmax(280px, 1fr));
	margin-top: var(--wp--preset--spacing--60);
}

.journey-field-story {
	border-top: 4px solid var(--wp--preset--color--copper);
	padding-top: var(--wp--preset--spacing--40);
}

.journey-activities {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: minmax(280px, 0.45fr) minmax(280px, 1fr);
	margin-top: var(--wp--preset--spacing--60);
}

.journey-project-axes {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-template-columns: repeat(12, minmax(0, 1fr));
	margin-top: var(--wp--preset--spacing--60);
}

.journey-project-axis {
	border-top: 4px solid var(--wp--preset--color--teal);
	grid-column: span 5;
	padding-top: var(--wp--preset--spacing--40);
}

.journey-project-axis--wide {
	grid-column: span 7;
}

.journey-project-axis--full {
	grid-column: 1 / -1;
}

.journey-boundary {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--ivory);
	margin-top: var(--wp--preset--spacing--60);
	max-width: 62rem;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}

.journey-timeline {
	position: relative;
	margin-top: var(--wp--preset--spacing--60);
	max-width: 72rem;
	padding: var(--wp--preset--spacing--30) 0;
}

.journey-timeline::before {
	background: linear-gradient(
		to bottom,
		var(--wp--preset--color--navy),
		var(--wp--preset--color--teal)
	);
	content: "";
	inset: 0 auto 0 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 3px;
}

.journey-timeline__item {
	align-items: start;
	display: grid;
	gap: var(--wp--preset--spacing--30);
	grid-template-columns: minmax(280px, 1fr) 5rem minmax(280px, 1fr);
	margin-block-start: 0;
	min-height: 12rem;
	padding: 0 0 var(--wp--preset--spacing--40);
	position: relative;
}

.journey-timeline__item::after {
	background: var(--wp--preset--color--teal);
	content: "";
	height: 2px;
	position: absolute;
	top: 2.35rem;
	width: calc(2.5rem + var(--wp--preset--spacing--30));
}

.journey-timeline__item:nth-child(odd)::after {
	left: auto;
	right: 50%;
}

.journey-timeline__item:nth-child(even)::after {
	left: 50%;
	right: auto;
}

.journey-timeline__marker {
	align-items: center;
	background: var(--wp--preset--color--ivory);
	border: 3px solid var(--wp--preset--color--copper);
	border-radius: 50%;
	color: var(--wp--preset--color--navy);
	display: flex;
	font-size: 0.72rem;
	font-weight: 800;
	grid-column: 2;
	grid-row: 1;
	height: 4.75rem;
	justify-content: center;
	letter-spacing: 0.04em;
	margin: 0 auto;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	width: 4.75rem;
	z-index: 2;
}

.journey-timeline__content {
	background: rgba(255, 255, 255, 0.66);
	border-top: 4px solid var(--wp--preset--color--teal);
	margin-block-start: 0;
	padding: var(--wp--preset--spacing--40);
	position: relative;
	z-index: 1;
}

.journey-timeline__content > :first-child {
	margin-block-start: 0;
}

.journey-timeline__item:nth-child(odd) .journey-timeline__content {
	grid-column: 1;
	grid-row: 1;
	text-align: right;
}

.journey-timeline__item:nth-child(even) .journey-timeline__content {
	grid-column: 3;
	grid-row: 1;
}

.journey-skills__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(280px, 1fr));
	margin-top: var(--wp--preset--spacing--60);
}

.journey-skill-family {
	border-left: 1px solid rgba(255, 255, 255, 0.22);
	border-top: 1px solid rgba(255, 255, 255, 0.22);
	height: 100%;
	padding: var(--wp--preset--spacing--50);
}

.journey-skill-family:nth-child(odd) {
	border-left: 0;
}

.journey-contribution__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	margin-top: var(--wp--preset--spacing--60);
}

.journey-contribution__item {
	border-left: 1px solid rgba(38, 51, 61, 0.24);
	border-top: 4px solid var(--wp--preset--color--teal);
	height: 100%;
	padding: var(--wp--preset--spacing--40);
}

.journey-contribution__item:first-child {
	border-left: 0;
}

.journey-direction {
	border-top-color: var(--wp--preset--color--copper);
}

.journey-directions .journey-direction {
	border-left-color: rgba(255, 255, 255, 0.25);
}

.journey-target-environments {
	border-top: 1px solid rgba(255, 255, 255, 0.28);
	margin-top: var(--wp--preset--spacing--60);
	padding-top: var(--wp--preset--spacing--40);
}

.journey-target-list {
	display: grid;
	gap: 0 var(--wp--preset--spacing--40);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	list-style: none;
	padding: 0;
}

.journey-target-list li {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	padding: 0.7rem 0;
}

.journey-training__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.journey-cv-note {
	border: 1px solid rgba(246, 241, 232, 0.35);
	display: inline-block;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
}

/* Blog et articles: styles isolés des quatre pages piliers validées. */
.blog-index-page,
.blog-single-page,
.blog-archive-page,
.blog-search-page {
	overflow: clip;
}

.blog-index-page .wp-block-button__link,
.blog-single-page .wp-block-button__link,
.blog-archive-page .wp-block-button__link,
.blog-search-page .wp-block-button__link,
.blog-pagination a,
.blog-pagination .page-numbers {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 3rem;
}

.blog-hero__layout,
.blog-explore__layout,
.article-author__layout {
	align-items: start;
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: minmax(280px, 1.15fr) minmax(280px, 0.85fr);
}

.blog-hero__layout > *,
.blog-explore__layout > *,
.article-author__layout > * {
	align-self: start;
	margin-block-start: 0;
}

.blog-hero__layout > * > :first-child,
.blog-explore__layout > * > :first-child,
.article-author__layout > * > :first-child {
	margin-block-start: 0;
}

.blog-hero h1 {
	max-width: 13ch;
}

.blog-hero__intro {
	border-top: 4px solid var(--wp--preset--color--copper);
	padding-top: var(--wp--preset--spacing--40);
}

.blog-text-link a,
.article-content a:not(.wp-block-button__link) {
	text-decoration-thickness: 2px;
	text-underline-offset: 0.22em;
}

.blog-text-link a {
	font-weight: 750;
}

.blog-category-panel {
	border-left: 1px solid rgba(38, 51, 61, 0.25);
	padding-left: var(--wp--preset--spacing--50);
}

.blog-search-form .wp-block-search__label {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 750;
}

.blog-search-form .wp-block-search__inside-wrapper {
	align-items: stretch;
	display: flex;
	gap: var(--wp--preset--spacing--20);
}

.blog-search-form .wp-block-search__input {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--graphite);
	border-radius: 0;
	font: inherit;
	min-height: 3rem;
	min-width: 0;
	padding: 0.75rem 1rem;
}

.blog-search-form .wp-block-search__button {
	border: 0;
	border-radius: 0;
	font-weight: 750;
	margin: 0;
	min-height: 3rem;
	padding-inline: 1.15rem;
}

.blog-search-form--dark .wp-block-search__label {
	color: var(--wp--preset--color--ivory);
}

.blog-category-list,
.blog-category-list ul {
	list-style: none;
	padding-left: 0;
}

.blog-category-list li {
	border-top: 1px solid rgba(38, 51, 61, 0.2);
	padding: 0.75rem 0;
}

.blog-category-list a {
	font-weight: 700;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}

.blog-card-grid,
.blog-compact-grid {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	list-style: none;
	padding: 0;
}

.blog-card-grid > li,
.blog-compact-grid > li {
	margin-block-start: 0;
	min-width: 0;
}

.blog-card,
.blog-compact-card {
	border-top: 4px solid var(--wp--preset--color--teal);
	height: auto;
	margin-block-start: 0;
	padding-top: var(--wp--preset--spacing--30);
}

.blog-card > :first-child,
.blog-compact-card > :first-child {
	margin-block-start: 0;
}

.blog-card__image {
	margin-bottom: var(--wp--preset--spacing--30);
	overflow: hidden;
}

.blog-card__image img,
.article-featured-image img,
.article-content img {
	display: block;
	height: auto;
	max-width: 100%;
}

.blog-card__terms,
.blog-card__date,
.article-terms,
.article-tags,
.article-date {
	font-weight: 700;
	letter-spacing: 0.02em;
}

.blog-card__terms a,
.article-terms a,
.article-tags a {
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}

.blog-card__title a,
.blog-compact-card .wp-block-post-title a {
	text-decoration: none;
}

.blog-card__title a:hover,
.blog-compact-card .wp-block-post-title a:hover {
	color: var(--wp--preset--color--teal);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.15em;
}

.blog-card__excerpt .wp-block-post-excerpt__more-link,
.blog-compact-card .wp-block-post-excerpt__more-link {
	font-weight: 800;
	min-height: 2.75rem;
	padding-top: 0.6rem;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}

@media (min-width: 1000px) {
	.blog-main-query .blog-card-grid > li:first-child {
		grid-column: span 2;
	}

	.blog-main-query .blog-card-grid > li:first-child .blog-card__title {
		font-size: var(--wp--preset--font-size--x-large) !important;
		max-width: 18ch;
	}
}

.blog-pagination {
	border-top: 1px solid rgba(38, 51, 61, 0.25);
	gap: var(--wp--preset--spacing--20);
	margin-top: var(--wp--preset--spacing--60);
	padding-top: var(--wp--preset--spacing--40);
}

.blog-pagination a,
.blog-pagination .page-numbers {
	min-width: 3rem;
	padding: 0.5rem 0.75rem;
}

.blog-pagination .current {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--ivory);
}

.blog-empty-state {
	border-left: 4px solid var(--wp--preset--color--copper);
	margin-top: var(--wp--preset--spacing--50);
	max-width: 48rem;
	padding: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

.blog-listing-header .wp-block-query-title,
.blog-search-header .wp-block-query-title {
	max-width: 16ch;
}

.blog-archive-description {
	font-size: var(--wp--preset--font-size--large);
	max-width: 52rem;
}

.article-header__content {
	max-width: 62rem;
}

.article-header__content .wp-block-post-title {
	max-width: 16ch;
}

.article-lead {
	max-width: 48rem;
}

.article-featured-image {
	margin-top: var(--wp--preset--spacing--50);
	max-width: 1240px;
}

.article-content {
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.75;
}

.article-content > * {
	margin-block-start: var(--wp--preset--spacing--40);
}

.article-content > :first-child {
	margin-block-start: 0;
}

.article-content h2 {
	font-size: var(--wp--preset--font-size--x-large);
	margin-top: var(--wp--preset--spacing--60);
}

.article-content h3 {
	font-size: var(--wp--preset--font-size--large);
	margin-top: var(--wp--preset--spacing--50);
}

.article-content blockquote {
	border: 0;
	border-left: 4px solid var(--wp--preset--color--copper);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	padding: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

.article-content figcaption {
	color: color-mix(in srgb, var(--wp--preset--color--graphite) 78%, transparent);
	font-size: var(--wp--preset--font-size--small);
	text-align: left;
}

.article-content .wp-block-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.article-content table {
	border-collapse: collapse;
	min-width: 36rem;
	width: 100%;
}

.article-content th,
.article-content td {
	border: 1px solid rgba(38, 51, 61, 0.25);
	padding: 0.75rem;
	text-align: left;
	vertical-align: top;
}

.article-content pre,
.article-content .wp-block-code {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--ivory);
	overflow-x: auto;
	padding: var(--wp--preset--spacing--40);
	tab-size: 4;
}

.article-content code {
	font-size: 0.92em;
}

.article-content hr {
	border: 0;
	border-top: 1px solid rgba(38, 51, 61, 0.3);
	margin-block: var(--wp--preset--spacing--60);
}

.article-content .wp-block-group.has-background {
	padding: var(--wp--preset--spacing--40);
}

.article-taxonomies,
.article-navigation {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-template-columns: repeat(2, minmax(280px, 1fr));
}

.article-taxonomies > *,
.article-navigation > * {
	margin-block-start: 0;
}

.article-navigation {
	border-top: 1px solid rgba(38, 51, 61, 0.25);
	margin-top: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--40);
}

.article-navigation > :last-child {
	text-align: right;
}

.article-navigation a {
	font-weight: 750;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}

.blog-external-link .wp-block-button__link::after {
	content: " ↗";
	margin-left: 0.35rem;
}

.blog-compact-card {
	padding-right: var(--wp--preset--spacing--30);
}

@media (max-width: 781px) {
	.blog-hero__layout,
	.blog-explore__layout,
	.article-author__layout,
	.article-taxonomies,
	.article-navigation {
		grid-template-columns: 1fr;
	}

	.blog-category-panel {
		border-left: 0;
		border-top: 1px solid rgba(38, 51, 61, 0.25);
		padding-left: 0;
		padding-top: var(--wp--preset--spacing--40);
	}

	.blog-card-grid,
	.blog-compact-grid {
		grid-template-columns: 1fr;
	}

	.blog-main-query .blog-card-grid > li:first-child {
		grid-column: 1;
	}

	.blog-search-form .wp-block-search__inside-wrapper {
		flex-direction: column;
	}

	.blog-search-form .wp-block-search__button {
		margin-left: 0;
		width: 100%;
	}

	.blog-pagination {
		flex-wrap: wrap;
	}

	.article-navigation > :last-child {
		border-top: 1px solid rgba(38, 51, 61, 0.2);
		padding-top: var(--wp--preset--spacing--30);
		text-align: left;
	}

	.blog-actions,
	.blog-actions .wp-block-button,
	.blog-actions .wp-block-button__link {
		width: 100%;
	}

	.journey-hero__layout,
	.journey-heading-split,
	.journey-chapter__intro,
	.journey-contact__layout,
	.journey-learning,
	.journey-certification,
	.journey-field-stories,
	.journey-activities,
	.journey-skills__grid {
		grid-template-columns: 1fr;
	}

	.journey-dimensions p,
	.journey-dimensions p:first-child,
	.journey-environment,
	.journey-environment:first-child,
	.journey-direction,
	.journey-direction:first-child,
	.journey-skill-family,
	.journey-skill-family:nth-child(odd),
	.journey-contribution__item,
	.journey-contribution__item:first-child {
		border-left: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.journey-project-axes {
		grid-template-columns: 1fr;
	}

	.journey-project-axis,
	.journey-project-axis--wide,
	.journey-project-axis--full {
		grid-column: 1;
	}

	.journey-timeline {
		padding: var(--wp--preset--spacing--20) 0 0;
	}

	.journey-timeline::before {
		inset: 0 auto 0 1.5rem;
		transform: none;
	}

	.journey-timeline__item {
		gap: var(--wp--preset--spacing--30);
		grid-template-columns: 3rem minmax(0, 1fr);
		min-height: 0;
		padding-bottom: var(--wp--preset--spacing--50);
	}

	.journey-timeline__item::after,
	.journey-timeline__item:nth-child(odd)::after,
	.journey-timeline__item:nth-child(even)::after {
		left: 1.5rem;
		right: auto;
		top: 1.45rem;
		width: calc(1.5rem + var(--wp--preset--spacing--30));
	}

	.journey-timeline__marker {
		font-size: 0.6rem;
		grid-column: 1;
		height: 3rem;
		width: 3rem;
	}

	.journey-timeline__item:nth-child(odd) .journey-timeline__content,
	.journey-timeline__item:nth-child(even) .journey-timeline__content {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
		padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--20);
		text-align: left;
	}

	.journey-actions,
	.journey-actions .wp-block-button,
	.journey-actions .wp-block-button__link {
		width: 100%;
	}

	.projects-hero__layout,
	.projects-heading-split,
	.projects-final__layout,
	.projects-case__lead {
		grid-template-columns: 1fr;
	}

	.projects-hero__process,
	.projects-nexus-summary {
		border-left: 0;
		border-top: 1px solid rgba(246, 241, 232, 0.3);
		margin-block-start: 0;
		padding-left: 0;
		padding-top: var(--wp--preset--spacing--40);
	}

	.projects-case__lead--reverse .projects-case__title,
	.projects-case__lead--reverse .projects-media-placeholder {
		grid-column: 1;
		grid-row: auto;
	}

	.projects-media-placeholder {
		min-height: clamp(16rem, 72vw, 24rem);
	}

	.projects-proof-line li,
	.projects-proof-line li:first-child,
	.projects-method__step,
	.projects-method__step:first-child,
	.projects-tool-family,
	.projects-tool-family:first-child {
		border-left: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.projects-studio__grid {
		grid-template-columns: 1fr;
	}

	.projects-product,
	.projects-product--wide,
	.projects-product--full {
		grid-column: 1;
	}

	.projects-actions,
	.projects-actions .wp-block-button,
	.projects-actions .wp-block-button__link {
		width: 100%;
	}

	.offers-hero__layout,
	.offers-heading-split,
	.offers-final__layout,
	.offers-service__header,
	.offers-service__details--two {
		grid-template-columns: 1fr;
	}

	.offers-hero__positioning {
		border-left: 0;
		border-top: 1px solid rgba(246, 241, 232, 0.32);
		margin-block-start: 0;
		padding-left: 0;
		padding-top: var(--wp--preset--spacing--40);
	}

	.offers-service__header--offset {
		padding-left: 0;
	}

	.offers-domain-line li,
	.offers-domain-line li:first-child,
	.offers-detail,
	.offers-detail:first-child,
	.offers-format,
	.offers-format:first-child,
	.offers-step,
	.offers-step:first-child {
		border-left: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.offers-actions,
	.offers-actions .wp-block-button,
	.offers-actions .wp-block-button__link {
		width: 100%;
	}

	.home-hero {
		min-height: auto;
	}

	.home-hero__media {
		margin-top: var(--wp--preset--spacing--40);
	}

	.hero-media-stack {
		padding-right: 0.75rem;
	}

	.media-placeholder--portrait {
		min-height: clamp(22rem, 115vw, 31rem);
	}

	.media-placeholder--project-preview {
		min-height: clamp(7rem, 32vw, 10rem);
		width: min(70%, 16rem);
	}

	.proof-grid > p {
		border-left: 0;
		border-top: 1px solid rgba(246, 241, 232, 0.18);
	}

	.proof-grid > p:first-child {
		border-top: 0;
	}

	.section-heading--split,
	.expertise-editorial,
	.expertise-editorial__item--wide,
	.project-entry--horizontal {
		grid-template-columns: 1fr;
	}

	.action-field,
	.action-field:first-child,
	.action-field:last-child,
	.method-step,
	.method-step:first-child {
		border-left: 0;
		border-top: 1px solid rgba(38, 51, 61, 0.25);
		padding: var(--wp--preset--spacing--40) 0;
	}

	.expertise-editorial__item--wide {
		gap: var(--wp--preset--spacing--20);
	}

	.project-grid {
		grid-template-columns: 1fr;
	}

	.project-entry,
	.project-entry--large,
	.project-entry--horizontal {
		grid-column: 1;
	}

	.journey-dialogue {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.3);
		margin-top: var(--wp--preset--spacing--40);
		padding-left: 0;
		padding-top: var(--wp--preset--spacing--40);
	}

	.home-hero__actions,
	.contact-actions,
	.contact-actions .wp-block-buttons,
	.contact-actions .wp-block-button,
	.contact-actions .wp-block-button__link {
		width: 100%;
	}

	.home-hero__actions .wp-block-button,
	.home-hero__actions .wp-block-button__link {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
/* ============================================================
   IDENTITÉ GRAPHIQUE DU BLOG — additions scoped .blog-* / .article-*
   Ne modifie AUCUNE règle existante (.home-*, .offers-*, .projects-*,
   .journey-*). Utilise uniquement la palette déjà déclarée dans
   theme.json (navy, ivory, copper, teal, graphite, white).
   À ajouter à la SUITE du style.css existant, jamais à la place.
   ============================================================ */

/* --- 2. Pastilles de registre --- */
/* Portées par les cartes de liste et par le drapeau en ouverture d'article */

.blog-register {
	display: inline-block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 0.3rem 0.75rem;
}

.blog-register--manifeste {
	background: var(--wp--preset--color--copper);
	color: var(--wp--preset--color--navy);
}

.blog-register--atelier {
	background: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--ivory);
}

.blog-register--terrain {
	background: transparent;
	border: 1px solid rgba(246, 241, 232, 0.4);
	color: var(--wp--preset--color--ivory);
}

.blog-register--grand-angle {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
}

/* --- 3. Cartes de liste : bordure supérieure teintée par registre --- */
/* Remplace la bordure teal fixe existante (.blog-card, .blog-compact-card)
   par une couleur dépendante du registre, via modificateur */

.blog-card--manifeste,
.blog-compact-card--manifeste {
	border-top-color: var(--wp--preset--color--copper);
}

.blog-card--atelier,
.blog-compact-card--atelier {
	border-top-color: var(--wp--preset--color--teal);
}

.blog-card--terrain,
.blog-compact-card--terrain {
	border-top-width: 1px;
	border-top-color: rgba(246, 241, 232, 0.35);
}

.blog-card--grand-angle,
.blog-compact-card--grand-angle {
	border-top-color: var(--wp--preset--color--white);
}

/* --- 4. La ligne de front --- */
/* Signature du blog : règle verticale + drapeau de registre + citation
   en gros corps serif, positionnée en ouverture d'article */

.article-frontline {
	border-left: 4px solid var(--wp--preset--color--copper);
	padding-left: var(--wp--preset--spacing--50);
	margin-top: var(--wp--preset--spacing--50);
}

.article-frontline__flag {
	display: inline-block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	background: var(--wp--preset--color--copper);
	color: var(--wp--preset--color--navy);
	padding: 0.25rem 0.65rem;
	margin-bottom: var(--wp--preset--spacing--30);
}

.article-frontline__quote {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 500;
	line-height: 1.15;
	max-width: 34ch;
	margin: 0;
}

/* Modificateurs de registre pour la ligne de front */

.article-frontline--atelier {
	border-left-color: var(--wp--preset--color--teal);
}
.article-frontline--atelier .article-frontline__flag {
	background: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--ivory);
}

.article-frontline--terrain {
	border-left-color: rgba(246, 241, 232, 0.4);
}
.article-frontline--terrain .article-frontline__flag {
	background: transparent;
	border: 1px solid rgba(246, 241, 232, 0.4);
	color: var(--wp--preset--color--ivory);
}

.article-frontline--grand-angle {
	border-left-color: var(--wp--preset--color--white);
}
.article-frontline--grand-angle .article-frontline__flag {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
}

/* Adaptation mobile : la citation en ligne de front reste lisible
   sans repasser sous le seuil de taille du thème */
@media (max-width: 781px) {
	.article-frontline__quote {
		font-size: var(--wp--preset--font-size--large);
	}
}
