/*
Theme Name: AIONEA
Description: Thème sur mesure du site AIONEA.
Version: 1.0.0
Author: AIONEA
Text Domain: aionea
Requires at least: 6.0
Requires PHP: 7.4
*/

/* ==========================================================================
   Polices (hébergées sur le site, sans appel à Google)
   ========================================================================== */

@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 500 700;
	font-display: swap;
	src: url("assets/fonts/cormorant-garamond-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 500 700;
	font-display: swap;
	src: url("assets/fonts/cormorant-garamond-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C4, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Cormorant Garamond";
	font-style: italic;
	font-weight: 500 600;
	font-display: swap;
	src: url("assets/fonts/cormorant-garamond-italic-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Figtree";
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url("assets/fonts/figtree-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Figtree";
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url("assets/fonts/figtree-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C4, U+2C60-2C7F, U+A720-A7FF;
}

/* ==========================================================================
   Couleurs et réglages
   ========================================================================== */

:root {
	--vert: #0f3a33;
	--vert-texte: #1c2b28;
	--ocre: #b8711f;
	--creme: #f3eee5;
	--creme-carte: #f6f1e8;
	--texte: #232323;
	--police-titre: "Cormorant Garamond", Georgia, serif;
	--police-texte: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
	--largeur: 1400px;
	--marge: clamp(16px, 4.5vw, 70px);
}

/* ==========================================================================
   Base
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--creme);
	color: var(--texte);
	font-family: var(--police-texte);
	font-size: 17px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
}

.visuellement-cache {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.lien-evitement {
	position: absolute;
	left: 16px;
	top: -60px;
	z-index: 100;
	padding: 10px 16px;
	background: var(--vert);
	color: #fff;
}

.lien-evitement:focus {
	top: 16px;
}

:focus-visible {
	outline: 2px solid var(--ocre);
	outline-offset: 3px;
}

/* ==========================================================================
   Logo (image fournie, dimensionnée par sa largeur)
   ========================================================================== */

.logo {
	display: block;
	width: 235px;
	margin: 0;
	flex: none;
}

.logo img {
	width: 100%;
	height: auto;
}

/* Symbole seul (boussole), dans l'en-tête */
.symbole {
	display: block;
	width: 56px;
	flex: none;
}

.symbole img {
	width: 100%;
	height: auto;
}

.logo--grand {
	width: clamp(260px, 29vw, 445px);
}

.logo--petit {
	width: 165px;
}

/* ==========================================================================
   En-tête
   ========================================================================== */

.entete {
	position: relative;
	z-index: 10;
	background: var(--creme);
}

.entete__inner {
	max-width: var(--largeur);
	margin: 0 auto;
	padding: 0 var(--marge);
	height: 84px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.nav {
	display: flex;
	align-items: center;
	gap: clamp(20px, 3vw, 52px);
}

.nav__liste {
	display: flex;
	align-items: center;
	gap: clamp(20px, 2.8vw, 56px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.nav__liste a {
	color: var(--vert-texte);
	font-size: 21px;
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none;
	transition: color 0.2s;
}

.nav__liste a:hover {
	color: #a33c17;
}

/* Page en cours : trait brique sous le lien */
.nav__liste .est-actif a {
	position: relative;
}

.nav__liste .est-actif a::after {
	content: "";
	position: absolute;
	left: -4px;
	right: -4px;
	bottom: -12px;
	height: 3px;
	border-radius: 2px;
	background: #a33c17;
}

/* Bouton Contact, en pilule verte */
.nav__contact {
	display: inline-flex;
	align-items: center;
	padding: 9px 26px 10px;
	border-radius: 999px;
	background: var(--vert);
	color: var(--creme);
	font-family: var(--police-titre);
	font-size: 23px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	transition: background 0.2s;
}

.nav__contact:hover {
	background: #1a5146;
}

.nav__separateur {
	width: 1px;
	height: 30px;
	background: rgba(184, 113, 31, 0.45);
	margin-left: clamp(0px, 3vw, 28px);
}

.nav__recherche-bouton,
.entete__menu-bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--vert-texte);
	cursor: pointer;
}

.nav__recherche-bouton:hover {
	color: var(--ocre);
}

.entete__menu-bouton {
	display: none;
}

.entete__menu-icone,
.entete__menu-icone::before,
.entete__menu-icone::after {
	display: block;
	width: 24px;
	height: 2px;
	background: currentColor;
	transition: transform 0.2s;
}

.entete__menu-icone {
	position: relative;
}

.entete__menu-icone::before,
.entete__menu-icone::after {
	content: "";
	position: absolute;
	left: 0;
}

.entete__menu-icone::before {
	top: -7px;
}

.entete__menu-icone::after {
	top: 7px;
}

.entete__menu-bouton[aria-expanded="true"] .entete__menu-icone {
	background: transparent;
}

.entete__menu-bouton[aria-expanded="true"] .entete__menu-icone::before {
	transform: translateY(7px) rotate(45deg);
}

.entete__menu-bouton[aria-expanded="true"] .entete__menu-icone::after {
	transform: translateY(-7px) rotate(-45deg);
}

/* Fil de retour des sous-pages : ← Lab › Offre IA */
.fil {
	max-width: var(--largeur);
	margin: 0 auto;
	padding: 0 var(--marge);
}

.fil__inner {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0 14px;
	border-top: 1px solid rgba(15, 58, 51, 0.2);
	color: var(--vert-texte);
	font-size: 18px;
}

.fil svg {
	flex: none;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.fil__retour {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: var(--vert-texte);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: 21px;
	text-decoration: none;
	transition: color 0.2s;
}

.fil__retour svg {
	width: 24px;
	height: 24px;
	stroke-width: 2.2;
	transition: transform 0.2s;
}

.fil__retour:hover {
	color: #a33c17;
}

.fil__retour:hover svg {
	transform: translateX(-3px);
}

.fil__chevron {
	width: 16px;
	height: 16px;
	stroke-width: 2.4;
}

@media (max-width: 600px) {
	.fil__inner {
		gap: 10px;
		padding: 10px 0 12px;
		font-size: 16px;
	}

	.fil__retour {
		gap: 10px;
		font-size: 19px;
	}

	.fil__retour svg {
		width: 20px;
		height: 20px;
	}
}

/* Recherche */

.recherche {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: var(--creme);
	border-top: 1px solid rgba(15, 58, 51, 0.1);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
}

.recherche__form {
	max-width: var(--largeur);
	margin: 0 auto;
	padding: 18px var(--marge);
	display: flex;
	gap: 12px;
}

.recherche__champ {
	flex: 1;
	min-width: 0;
	padding: 12px 16px;
	border: 1px solid rgba(15, 58, 51, 0.25);
	border-radius: 6px;
	background: #fff;
	font: inherit;
}

.recherche__valider {
	padding: 12px 22px;
	border: 0;
	border-radius: 6px;
	background: var(--vert);
	color: #fff;
	font: inherit;
	font-weight: 500;
	cursor: pointer;
}

/* ==========================================================================
   Accueil : bandeau
   ========================================================================== */

.accueil-hero {
	position: relative;
	padding: clamp(40px, 3.5vw, 54px) var(--marge) clamp(48px, 5vw, 72px);
	/* Image (format 2:1) calée sur la largeur, fondue vers le crème en bas */
	background-color: var(--creme);
	background-image: linear-gradient(to bottom, rgba(243, 238, 229, 0) 72%, var(--creme)), var(--hero-image);
	background-size: 100% 50vw, 100% auto;
	background-position: center -2.5vw;
	background-repeat: no-repeat;
	isolation: isolate;
}

/* Fondu vers le crème en bas du bandeau, derrière les cartes */
.accueil-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 34%;
	background: linear-gradient(to bottom, rgba(243, 238, 229, 0), var(--creme) 92%);
	z-index: -1;
}

.accueil-hero__titre {
	text-align: center;
	margin-bottom: clamp(140px, 19.5vw, 300px);
}

.accueil-hero__titre .logo {
	margin: 0 auto;
}

.accueil-hero__accroche {
	margin: 0.25em 0 0;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 600;
	font-size: clamp(26px, 3.15vw, 47px);
	line-height: 1.15;
}

/* ==========================================================================
   Accueil : les trois pôles
   ========================================================================== */

.poles {
	max-width: var(--largeur);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.pole {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--creme-carte);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(40, 25, 5, 0.18);
	transition: transform 0.25s, box-shadow 0.25s;
}

.pole:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(40, 25, 5, 0.24);
}

.pole__image {
	width: 100%;
	height: 180px;
	object-fit: cover;
}

.pole__corps {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 18px 30px 24px;
}

.pole__titre {
	margin: 0;
	font-weight: normal;
}

.pole__nom {
	display: block;
	margin-top: 10px;
	color: #a33c17;
	font-family: var(--police-texte);
	font-weight: 600;
	font-size: 22px;
	line-height: 1;
	letter-spacing: 0.28em;
	text-transform: uppercase;
}

.pole__nom::after {
	content: "";
	display: block;
	width: 50px;
	height: 3px;
	margin-top: 18px;
	background: var(--ocre);
}

.pole__corps p {
	max-width: 21em;
	margin: 20px 0 16px;
	font-size: 18.5px;
	line-height: 1.4;
}

/* Toute la carte est cliquable ; la flèche est dessinée ici */
.pole__lien {
	margin-top: auto;
	align-self: flex-start;
	color: #a33c17;
}

/* L'animation porte sur la flèche et non sur le lien : un transform sur le lien
   ramènerait la zone cliquable (::after) à la taille de la flèche */
.pole__fleche {
	display: block;
	width: 30px;
	height: 20px;
	background: currentColor;
	transition: transform 0.25s;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M2 10h25M19 2l8 8-8 8' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M2 10h25M19 2l8 8-8 8' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.pole__lien::after {
	content: "";
	position: absolute;
	inset: 0;
}

.pole:hover .pole__fleche {
	transform: translateX(6px);
}

/* ==========================================================================
   Page À propos
   ========================================================================== */

.conteneur,
.ap-conteneur {
	max-width: var(--largeur);
	margin: 0 auto;
	padding: 0 var(--marge);
}

.ap-hero h1,
.ap-nom h2,
.ap-pourquoi h2,
.ap-approche h2,
.ap-structure h2,
.ap-fondateurs h2,
.ap-fondateurs h3 {
	margin: 0;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	line-height: 1.05;
}

/* Bandeau */
/* Proportions de la maquette : photo entière, titre dans le ciel au-dessus des collines */
.ap-hero {
	display: flex;
	align-items: flex-start;
	aspect-ratio: 3.5;
	min-height: 260px;
	padding-top: clamp(24px, 3.2vw, 56px);
	background: var(--creme) var(--ap-hero-image) center / cover no-repeat;
}

.ap-hero .ap-conteneur {
	width: 100%;
}

.ap-hero__titre {
	max-width: 12em;
	font-size: clamp(32px, 3.5vw, 60px);
	line-height: 1.02;
}

/* Bande verte « Aion + Nea » */
.ap-nom {
	position: relative;
	padding: clamp(36px, 4vw, 56px) 0;
	background-color: var(--vert);
	/* Collines en filigrane */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 200' preserveAspectRatio='none'%3E%3Cpath d='M0 120 Q200 60 400 110 T800 95 T1200 100 T1440 80 V200 H0Z' fill='%23ffffff' fill-opacity='.04'/%3E%3Cpath d='M0 160 Q240 110 480 150 T960 135 T1440 125 V200 H0Z' fill='%23ffffff' fill-opacity='.05'/%3E%3C/svg%3E");
	background-size: 100% 70%;
	background-position: bottom;
	background-repeat: no-repeat;
	color: var(--creme);
}

.ap-nom__inner {
	display: grid;
	grid-template-columns: 2fr 3fr;
	align-items: center;
	gap: clamp(24px, 4vw, 64px);
}

.ap-nom__mot {
	margin: 0;
	text-align: center;
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(56px, 6.6vw, 100px);
	line-height: 1;
	white-space: nowrap;
}

.ap-nom__mot span {
	color: var(--ocre);
	font-style: normal;
}

.ap-nom h2 {
	margin-bottom: 14px;
	color: var(--creme);
	font-size: clamp(28px, 2.8vw, 42px);
}

.ap-nom p:not(.ap-nom__mot) {
	margin: 0;
	max-width: 32em;
	font-size: 20px;
	line-height: 1.45;
}

.ap-nom strong {
	font-weight: 600;
}

/* Pourquoi Aionea ? */
/* Pourquoi Aionea : texte à gauche, photo collée au bord droit, coupée en biais */
.ap-pourquoi {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 39%;
	column-gap: clamp(24px, 3vw, 48px);
	padding-top: clamp(32px, 3vw, 56px);
}

.ap-pourquoi__texte {
	align-self: center;
	padding: clamp(8px, 1vw, 16px) 0 clamp(40px, 4vw, 64px) max(var(--marge), calc((100vw - var(--largeur)) / 2 + var(--marge)));
}

.ap-pourquoi__titre {
	font-size: clamp(52px, 5.6vw, 90px);
}

.ap-pourquoi__texte p {
	margin: 0;
	font-size: clamp(19px, 1.6vw, 24px);
	line-height: 1.45;
}

.ap-pourquoi__texte .ap-pourquoi__conviction {
	margin: clamp(18px, 2vw, 30px) 0 clamp(14px, 1.5vw, 22px);
	color: var(--ocre);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(28px, 2.9vw, 44px);
	line-height: 1.1;
}

.ap-pourquoi__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
	object-position: 75% center;
	clip-path: polygon(clamp(40px, 6vw, 96px) 0, 100% 0, 100% 100%, 0 100%);
}

/* Colonne de texte trop étroite pour les retours à la ligne de la maquette */
@media (max-width: 1250px) {
	.ap-pourquoi__texte .br-large {
		display: none;
	}
}

/* Approche */
.ap-approche {
	padding: clamp(32px, 4vw, 56px) 0;
}

.ap-approche__inner {
	display: grid;
	grid-template-columns: 2fr 3fr;
	align-items: center;
	gap: clamp(24px, 4vw, 64px);
}

.ap-approche__image {
	width: 100%;
	aspect-ratio: 1.4;
	object-fit: cover;
	object-position: center;
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(40, 25, 5, 0.15);
}

.ap-approche h2,
.ap-structure h2 {
	margin-bottom: 18px;
	font-size: clamp(34px, 3.5vw, 54px);
}


.ap-approche p,
.ap-structure p {
	margin: 0 0 14px;
	font-size: 20px;
	line-height: 1.45;
}

.ap-approche strong {
	color: var(--vert);
	font-weight: 600;
}

/* Structure agile */
.ap-structure {
	padding: clamp(24px, 3vw, 40px) 0 clamp(40px, 5vw, 72px);
}

.ap-structure__inner {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: clamp(24px, 6vw, 96px);
	padding-left: clamp(0px, 5vw, 100px);
}

.ap-structure__icone {
	width: clamp(70px, 7vw, 110px);
	height: auto;
	color: var(--vert);
	fill: var(--creme);
	stroke: var(--vert);
	stroke-width: 3;
}

/* Fondateurs */
.ap-fondateurs {
	padding: clamp(24px, 3vw, 40px) 0 clamp(64px, 7vw, 110px);
}

.ap-fondateurs__inner {
	display: grid;
	grid-template-columns: auto 1fr 1fr;
	align-items: start;
	gap: clamp(24px, 3vw, 48px);
}

.ap-fondateurs__titre {
	font-size: clamp(40px, 3.6vw, 56px);
	max-width: 5em;
}

.fondateur {
	display: grid;
	grid-template-columns: minmax(150px, 45%) 1fr;
	align-items: start;
	gap: clamp(16px, 2vw, 28px);
}

.fondateur__portrait {
	width: 100%;
	aspect-ratio: 9 / 16;
	object-fit: cover;
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(40, 25, 5, 0.15);
}

.fondateur__nom {
	margin-bottom: 14px !important;
	font-size: clamp(30px, 2.6vw, 40px);
}

.fondateur p {
	margin: 0;
	font-size: 17.5px;
	line-height: 1.45;
}

.fondateur strong {
	color: var(--vert);
	font-weight: 600;
}

@media (max-width: 1100px) {
	.ap-fondateurs__inner {
		grid-template-columns: 1fr 1fr;
	}

	.ap-fondateurs__titre {
		grid-column: 1 / -1;
		max-width: none;
	}
}

@media (max-width: 800px) {
	/* Retours à la ligne de la maquette, inutiles sur petit écran */
	.br-large {
		display: none;
	}

	.ap-nom__inner,
	.ap-pourquoi,
	.ap-approche__inner,
	.ap-fondateurs__inner {
		grid-template-columns: 1fr;
	}

	/* Titre dans le ciel, collines visibles dessous */
	.ap-hero {
		aspect-ratio: auto;
		min-height: 0;
		padding: 32px 0 170px;
	}

	.ap-nom__mot {
		text-align: left;
	}

	.ap-pourquoi__titre {
		font-size: 46px;
	}

	/* La photo passe sous le texte, coupée en biais en haut */
	.ap-pourquoi__texte {
		padding: 0 var(--marge) 28px;
	}

	.ap-pourquoi__image {
		height: 240px;
		min-height: 0;
		clip-path: polygon(0 40px, 100% 0, 100% 100%, 0 100%);
	}

	.ap-structure__inner {
		padding-left: var(--marge);
		gap: 24px;
	}
}

@media (max-width: 520px) {
	.ap-structure__inner {
		grid-template-columns: 1fr;
	}

	.fondateur {
		grid-template-columns: 130px 1fr;
	}
}

/* ==========================================================================
   Page Studio
   ========================================================================== */

.st-hero h1,
.st-offre h2,
.st-approche h2,
.st-etape h3,
.appel h2 {
	margin: 0;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	line-height: 1.02;
}

/* Bandeau */
.st-hero {
	display: flex;
	align-items: flex-start;
	aspect-ratio: 2.9;
	min-height: 380px;
	padding: clamp(32px, 4.2vw, 68px) 0 40px;
	/* Haut de la photo : texte dans le ciel, collines sous le paragraphe */
	background: var(--creme) var(--st-hero-image) center top / cover no-repeat;
}

.st-hero .conteneur {
	width: 100%;
}

.st-hero__titre {
	font-size: clamp(42px, 5vw, 78px);
}

.st-hero__accroche {
	margin: 0.6em 0 0.5em;
	color: var(--vert-texte);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 600;
	font-size: clamp(24px, 2.3vw, 36px);
	line-height: 1.15;
}

.st-hero__texte {
	max-width: 30em;
	margin: 0;
	color: var(--vert-texte);
	font-size: 19px;
	line-height: 1.4;
}

/* Offres */
.st-offres {
	padding: clamp(40px, 4vw, 56px) 0 clamp(24px, 3vw, 40px);
}

.st-offre {
	display: grid;
	grid-template-columns: 37% 1fr;
	align-items: center;
	gap: clamp(24px, 3vw, 48px);
	margin-bottom: clamp(28px, 3vw, 40px);
}

.st-offre__image {
	width: 100%;
	aspect-ratio: 1.9;
	object-fit: cover;
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(40, 25, 5, 0.15);
}

.st-offre__texte {
	position: relative;
	padding: 4px 0 clamp(28px, 3vw, 40px) clamp(24px, 2.6vw, 40px);
	border-left: 2px solid var(--ocre);
}

/* Pas d'espace en trop sous la dernière offre */
.st-offre:last-child {
	margin-bottom: 0;
}

.st-offre:last-child .st-offre__texte {
	padding-bottom: 4px;
}

/* Filet entre deux offres */
.st-offre + .st-offre .st-offre__texte::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: calc(-1 * clamp(28px, 3vw, 40px) / 2 - 4px);
	border-top: 1px solid rgba(15, 58, 51, 0.12);
}

.st-offre:last-child .st-offre__texte {
	padding-bottom: 8px;
}

.st-offre h2 {
	font-size: clamp(36px, 3.6vw, 56px);
}

.st-offre__accroche {
	margin: 6px 0 14px;
	color: #a33c17;
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 600;
	font-size: clamp(23px, 2vw, 30px);
	line-height: 1.15;
}

.st-offre p:not(.st-offre__accroche) {
	max-width: 36em;
	margin: 0 0 22px;
	font-size: 19px;
	line-height: 1.45;
}

/* Lien souligné avec flèche */
.lien-fleche {
	display: inline-flex;
	align-items: center;
	gap: 22px;
	padding-bottom: 6px;
	border-bottom: 1.5px solid var(--vert);
	color: var(--vert);
	font-weight: 600;
	font-size: 19px;
	text-decoration: none;
}

.lien-fleche::after {
	content: "";
	width: 24px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M2 10h25M19 2l8 8-8 8' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M2 10h25M19 2l8 8-8 8' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.25s;
}

.lien-fleche:hover {
	color: #a33c17;
	border-color: var(--ocre);
}

.lien-fleche:hover::after {
	transform: translateX(5px);
}

/* Notre approche */
.st-approche {
	padding: clamp(28px, 3vw, 40px) 0 clamp(48px, 5vw, 72px);
}

.st-approche__inner {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: clamp(24px, 3vw, 48px);
	padding-top: clamp(28px, 3vw, 40px);
	border-top: 1px solid rgba(15, 58, 51, 0.12);
}

.st-approche__intro {
	display: flex;
	align-items: center;
	gap: clamp(20px, 2vw, 32px);
}

.st-approche__intro h2 {
	font-size: clamp(38px, 3.4vw, 52px);
	max-width: 5em;
}

.st-approche__intro p {
	max-width: 9.5em;
	margin: 0;
	padding: 8px 0 8px clamp(20px, 2vw, 32px);
	border-left: 2px solid var(--ocre);
	color: var(--vert-texte);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 600;
	font-size: clamp(21px, 1.7vw, 26px);
	line-height: 1.2;
}

.st-etapes {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.st-etape {
	position: relative;
	text-align: center;
}

/* Flèche entre deux étapes */
.st-etape + .st-etape::before {
	content: "";
	position: absolute;
	left: -20px;
	top: 52px;
	width: 22px;
	height: 14px;
	background: rgba(15, 58, 51, 0.55);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M2 10h25M19 2l8 8-8 8' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M2 10h25M19 2l8 8-8 8' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.st-etape__icone {
	display: block;
	width: 48px;
	height: 48px;
	margin: 0 auto 12px;
	object-fit: contain;
	fill: none;
	stroke: var(--vert);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.st-etape h3 {
	margin-bottom: 8px;
	font-family: var(--police-texte);
	font-weight: 600;
	font-size: 21px;
}

.st-etape p {
	margin: 0;
	font-size: 16px;
	line-height: 1.4;
}

/* Bandeau d'appel (réutilisable sur d'autres pages) */
.appel {
	padding: clamp(48px, 5vw, 80px) 0;
	background: var(--vert) var(--appel-image) center / cover no-repeat;
}

.appel__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}

.appel__titre {
	padding-left: clamp(24px, 3vw, 40px);
	border-left: 2px solid var(--ocre);
	color: var(--creme) !important;
	font-size: clamp(36px, 3.6vw, 56px);
	line-height: 1.05;
}

.appel__bouton {
	display: inline-flex;
	align-items: center;
	gap: 22px;
	margin-right: clamp(0px, 5vw, 110px);
	padding: 20px 36px;
	border-radius: 8px;
	background: #e4ac4b;
	color: var(--vert);
	font-weight: 600;
	font-size: 21px;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
	transition: background 0.2s, transform 0.2s;
}

.appel__bouton::after {
	content: "";
	width: 26px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M2 10h25M19 2l8 8-8 8' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M2 10h25M19 2l8 8-8 8' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.appel__bouton:hover {
	background: #edbb62;
	transform: translateY(-2px);
}

@media (max-width: 1100px) {
	.st-approche__inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 800px) {
	/* Texte sur fond crème, photo en bandeau dessous avec un fondu */
	.st-hero {
		aspect-ratio: auto;
		min-height: 0;
		padding: 36px 0 250px;
		background-color: var(--creme);
		background-image: linear-gradient(to bottom, var(--creme) 5%, rgba(243, 238, 229, 0) 55%), var(--st-hero-image);
		background-size: 100% 230px, auto 230px;
		background-position: bottom, 70% bottom;
		background-repeat: no-repeat;
	}

	.st-offre {
		grid-template-columns: 1fr;
	}

	.st-offre__texte {
		padding-bottom: 8px;
	}

	.st-offre + .st-offre .st-offre__texte::before {
		display: none;
	}

	.st-etapes {
		grid-template-columns: 1fr 1fr;
		row-gap: 32px;
	}

	.st-etape::before {
		display: none;
	}

	.st-approche__intro {
		flex-direction: column;
		align-items: flex-start;
	}

	.st-approche__intro h2 {
		max-width: none;
	}

	.appel__bouton {
		margin-right: 0;
	}
}

/* Variante sans trait ocre, image assombrie à gauche */
.appel--sobre {
	background-image: linear-gradient(to right, rgba(15, 58, 51, 0.78) 10%, rgba(15, 58, 51, 0.1) 85%), var(--appel-image);
	background-position: center, center 60%;
	background-size: cover;
}

.appel--sobre .appel__titre {
	padding-left: 0;
	border-left: 0;
}

/* ==========================================================================
   Pages d'offre (ex. Contenus éditoriaux)
   ========================================================================== */

.of-hero h1,
.of-intro h2,
.of-format h3,
.bande-verte h2,
.of-pourquoi h2,
.of-atout h3 {
	margin: 0;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	line-height: 1.02;
}

/* Bandeau : texte sur fond crème à gauche, photo qui apparaît à droite */
.of-hero {
	display: flex;
	align-items: center;
	aspect-ratio: 2.33;
	min-height: 420px;
	padding: 48px 0;
	background-color: var(--creme);
	background-image: linear-gradient(to right, var(--creme) 22%, rgba(243, 238, 229, 0.85) 38%, rgba(243, 238, 229, 0) 62%), var(--of-hero-image);
	background-size: cover, auto 100%;
	background-position: center, right center;
	background-repeat: no-repeat;
}

.of-hero .conteneur {
	width: 100%;
}

.of-hero__titre {
	font-size: clamp(40px, 4.4vw, 68px);
}

.of-hero__texte {
	margin: 1.2em 0 0;
	color: var(--vert-texte);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 600;
	font-size: clamp(21px, 1.75vw, 27px);
	line-height: 1.3;
}

/* Intro de section : titre, trait ocre, phrase en italique */
.of-intro {
	display: flex;
	align-items: center;
	gap: clamp(24px, 3vw, 44px);
	margin-bottom: clamp(32px, 3.5vw, 48px);
}

.of-intro h2 {
	font-size: clamp(42px, 4vw, 62px);
}

.of-intro p {
	margin: 0;
	padding: 6px 0 6px clamp(24px, 3vw, 44px);
	border-left: 2px solid var(--ocre);
	color: var(--vert-texte);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 600;
	font-size: clamp(21px, 1.7vw, 26px);
	line-height: 1.3;
}

/* Formats */
.of-formats {
	padding: clamp(40px, 4vw, 56px) 0 clamp(48px, 5vw, 64px);
}

.of-formats__liste {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
}

.of-format {
	padding: 0 clamp(12px, 1.4vw, 22px);
	text-align: center;
}

.of-format + .of-format {
	border-left: 1px solid rgba(15, 58, 51, 0.12);
}

.of-format__icone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	height: 96px;
	margin: 0 auto 22px;
	border-radius: 50%;
	background: #e7e1d3;
}

.of-format__icone svg,
.of-atout svg {
	width: 48px;
	height: 48px;
	fill: none;
	stroke: var(--vert);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.of-format h3 {
	margin-bottom: 14px;
	font-size: clamp(22px, 1.75vw, 27px);
}

.of-format p {
	margin: 0;
	font-size: 17px;
	line-height: 1.4;
}

/* Bande verte (texte clair sur montagnes) */
.bande-verte {
	padding: clamp(40px, 4.5vw, 64px) 0;
	background-color: var(--vert);
	background-image: linear-gradient(to right, rgba(15, 58, 51, 0.78) 10%, rgba(15, 58, 51, 0.1) 85%), var(--bande-image);
	background-size: cover;
	background-position: center, center 60%;
	color: var(--creme);
}

.bande-verte__inner {
	display: flex;
	align-items: center;
	gap: clamp(24px, 3.5vw, 52px);
}

.bande-verte h2 {
	color: var(--creme);
	font-size: clamp(44px, 4.2vw, 64px);
	max-width: 5em;
}

.bande-verte p {
	margin: 0;
	padding: 10px 0 10px clamp(24px, 3.5vw, 52px);
	border-left: 2px solid var(--ocre);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(22px, 1.9vw, 29px);
	line-height: 1.3;
}

/* Pourquoi nous confier... */
.of-pourquoi {
	padding: clamp(44px, 4.5vw, 64px) 0;
}

.of-pourquoi__inner {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: clamp(24px, 3vw, 44px);
}

.of-pourquoi__titre {
	padding-right: clamp(24px, 3vw, 44px);
	border-right: 2px solid var(--ocre);
	font-size: clamp(36px, 3.4vw, 52px);
}

.of-atouts {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(16px, 2vw, 32px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.of-atout {
	text-align: center;
}

.of-atout svg {
	display: block;
	width: 52px;
	height: 52px;
	margin: 0 auto 14px;
}

.of-atout h3 {
	margin-bottom: 10px;
	font-size: clamp(21px, 1.65vw, 25px);
}

.of-atout p {
	margin: 0;
	font-size: 16px;
	line-height: 1.4;
}

@media (max-width: 1100px) {
	.of-formats__liste {
		grid-template-columns: repeat(3, 1fr);
		row-gap: 36px;
	}

	.of-format:nth-child(4) {
		border-left: 0;
	}

	.of-pourquoi__inner {
		grid-template-columns: 1fr;
	}

	.of-pourquoi__titre {
		padding-right: 0;
		border-right: 0;
	}
}

@media (max-width: 800px) {
	/* Photo en bandeau sous le texte */
	.of-hero {
		aspect-ratio: auto;
		min-height: 0;
		padding: 36px 0 250px;
		background-image: linear-gradient(to bottom, var(--creme) 5%, rgba(243, 238, 229, 0) 55%), var(--of-hero-image);
		background-size: 100% 230px, auto 230px;
		background-position: bottom, 70% bottom;
	}

	.of-intro,
	.bande-verte__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.bande-verte h2 {
		max-width: none;
	}

	.of-formats__liste,
	.of-atouts {
		grid-template-columns: 1fr 1fr;
	}

	.of-format,
	.of-format + .of-format {
		border-left: 0;
	}
}

@media (max-width: 480px) {
	.of-formats__liste,
	.of-atouts {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Page Podcasts (reprend les blocs des pages d'offre)
   ========================================================================== */

/* Sur téléphone, le bandeau reprend la mise en page des pages d'offre */
@media (min-width: 801px) {
	.pc-hero {
		aspect-ratio: 3.2;
		min-height: 0;
		background-image: linear-gradient(to right, var(--creme) 37%, rgba(243, 238, 229, 0.6) 44%, rgba(243, 238, 229, 0) 52%), var(--of-hero-image);
	}
}

.pc-hero .of-hero__titre {
	font-size: clamp(38px, 3.9vw, 62px);
}

/* Téléphone : fondu réduit pour que les visages restent nets (Podcasts, Lab) */
@media (max-width: 800px) {
	.pc-hero,
	.lb-hero {
		background-image: linear-gradient(to bottom, var(--creme), rgba(243, 238, 229, 0) 14%), var(--of-hero-image);
	}
}

.pc-hero .of-hero__texte {
	margin-top: 0.9em;
}

.pc-constat .of-intro p {
	font-size: clamp(19px, 1.5vw, 23px);
}

.pc-constat__liste {
	grid-template-columns: repeat(4, 1fr);
}

.pc-constat .of-format__icone,
.pc-etape__rond,
.pc-schema__centre {
	background: #e4e6d6;
}

/* Cartes crème (cibles, approches) */
.pc-cibles,
.pc-approches__liste {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(20px, 2.5vw, 36px);
}

.pc-cibles {
	margin-top: clamp(36px, 3.5vw, 52px);
}

.pc-carte {
	padding: clamp(20px, 2vw, 28px) clamp(22px, 2.6vw, 36px);
	border-radius: 14px;
	background: #efeadd;
}

.pc-carte h2,
.pc-carte h3,
.pc-approches h2,
.pc-methode__titre {
	margin: 0;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	line-height: 1.05;
}

.pc-carte h2 {
	margin-bottom: 14px;
	font-size: clamp(30px, 2.5vw, 38px);
}

.pc-puces {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pc-puces li {
	position: relative;
	padding-left: 26px;
	font-size: 17px;
	line-height: 1.55;
}

.pc-puces li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.5em;
	border-left: 9px solid var(--ocre);
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
}

/* Bande verte : titre plus long que sur les autres pages */
.pc-bande h2 {
	flex: none;
	max-width: none;
	font-size: clamp(36px, 3.3vw, 50px);
}

.pc-bande p {
	font-size: clamp(19px, 1.5vw, 23px);
}

/* Deux approches */
.pc-approches {
	padding: clamp(36px, 3.5vw, 52px) 0 clamp(44px, 4.5vw, 64px);
}

.pc-approches__entete {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 14px;
	margin-bottom: 18px;
}

.pc-approches h2 {
	font-size: clamp(38px, 3.4vw, 52px);
}

.pc-fleche {
	flex: none;
	width: 56px;
	height: 46px;
	margin-top: 22px;
	fill: none;
	stroke: #e4ac4b;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pc-carte--centree {
	text-align: center;
}

.pc-carte h3 {
	margin-bottom: 10px;
	font-size: clamp(25px, 2vw, 31px);
}

.pc-carte--centree p {
	margin: 0;
	font-size: 17px;
	line-height: 1.45;
}

/* Notre méthode : cinq étapes en cercle autour d'un micro */
.pc-methode__inner {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 24px;
	padding-top: clamp(32px, 3vw, 44px);
	padding-bottom: clamp(44px, 4.5vw, 64px);
	border-top: 1px solid rgba(15, 58, 51, 0.25);
}

.pc-methode {
	padding-top: 8px;
}

.pc-methode__titre {
	font-size: clamp(48px, 4.4vw, 68px);
	line-height: 1;
}

.pc-methode__titre::after {
	content: "";
	display: block;
	width: 70px;
	height: 4px;
	margin: 0.5em 0 0.45em;
	background: #d9a12c;
}

.pc-methode__accroche {
	margin: 0;
	color: var(--vert-texte);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(23px, 1.9vw, 29px);
	line-height: 1.25;
}

/* Le schéma suit la largeur disponible : toutes les mesures sont en cqw
   (1cqw = 1 % de sa largeur, 9,59 px à sa taille maximale de 959 px) */
.pc-schema {
	position: relative;
	container-type: inline-size;
	width: 100%;
	max-width: 959px;
	aspect-ratio: 959 / 406;
	justify-self: end;
}

.pc-schema__fleches {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.pc-schema__halo {
	fill: #ebe9dc;
}

.pc-schema__anneau {
	fill: #f6f2e9;
}

.pc-schema__fleches path {
	fill: none;
	stroke: #5e8f2f;
	stroke-width: 3;
	stroke-linecap: round;
}

.pc-schema__fleches marker path {
	stroke-width: 1.6;
	stroke-linejoin: round;
}

.pc-schema__centre {
	position: absolute;
	left: 36.8cqw;
	top: 16.9cqw;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 12.1cqw;
	height: 12.1cqw;
	border-radius: 50%;
}

.pc-schema__centre svg {
	width: 5.6cqw;
	height: 5.6cqw;
	fill: none;
	stroke: var(--vert);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pc-etapes {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pc-etape__rond {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 14.6cqw;
	height: 14.6cqw;
	border-radius: 50%;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: 2.33cqw;
	line-height: 1.05;
	text-align: center;
}

.pc-etape__num {
	margin-bottom: 0.15em;
	font-size: 1.7em;
	line-height: 1;
}

.pc-etape__note {
	position: absolute;
	font-size: 1.7cqw;
	line-height: 1.4;
}

.pc-etape__note::before {
	content: "";
	position: absolute;
	top: 0.75em;
	height: 1px;
	background: rgba(28, 43, 40, 0.35);
}

.pc-etape:nth-child(1) .pc-etape__rond { left: 35.5cqw; top: 0; }
.pc-etape:nth-child(2) .pc-etape__rond { left: 52.3cqw; top: 10cqw; width: 15cqw; height: 15cqw; }
.pc-etape:nth-child(3) .pc-etape__rond { left: 48.2cqw; top: 27.4cqw; }
.pc-etape:nth-child(4) .pc-etape__rond { left: 23.7cqw; top: 27.4cqw; }
.pc-etape:nth-child(5) .pc-etape__rond { left: 19.7cqw; top: 10.2cqw; }

.pc-etape:nth-child(1) .pc-etape__note { left: 64.6cqw; top: 3cqw; }
.pc-etape:nth-child(2) .pc-etape__note { left: 78.7cqw; top: 12.9cqw; }
.pc-etape:nth-child(3) .pc-etape__note { left: 75.7cqw; top: 31.4cqw; }
.pc-etape:nth-child(4) .pc-etape__note { right: 83.3cqw; top: 31.7cqw; text-align: right; }
.pc-etape:nth-child(5) .pc-etape__note { right: 82.8cqw; top: 11.3cqw; text-align: right; }

.pc-etape:nth-child(1) .pc-etape__note::before { left: -10.6cqw; width: 8cqw; }
.pc-etape:nth-child(2) .pc-etape__note::before { left: -9.2cqw; width: 8.6cqw; }
.pc-etape:nth-child(3) .pc-etape__note::before { left: -10.5cqw; width: 7.6cqw; }
.pc-etape:nth-child(4) .pc-etape__note::before { right: -5.2cqw; width: 4.3cqw; }
.pc-etape:nth-child(5) .pc-etape__note::before { display: none; }

@media (max-width: 1250px) {
	.pc-methode__inner {
		grid-template-columns: 1fr;
	}

	.pc-schema {
		justify-self: center;
	}
}

@media (max-width: 1100px) {
	.pc-constat__liste {
		grid-template-columns: 1fr 1fr;
	}

	.pc-constat .of-format:nth-child(3) {
		border-left: 0;
	}
}

/* Schéma remplacé par une liste quand la place manque */
@media (max-width: 1000px) {
	.pc-schema {
		container-type: normal;
		max-width: none;
		aspect-ratio: auto;
		justify-self: stretch;
	}

	.pc-etapes .pc-etape .pc-etape__rond {
		width: 112px;
		height: 112px;
		font-size: 15px;
	}

	.pc-schema__fleches,
	.pc-schema__centre,
	.pc-etape__note::before {
		display: none;
	}

	.pc-etapes {
		display: grid;
		gap: 18px;
	}

	.pc-etape {
		display: flex;
		align-items: center;
		gap: 20px;
	}

	.pc-etapes .pc-etape .pc-etape__rond,
	.pc-etapes .pc-etape .pc-etape__note {
		position: static;
		flex: none;
		text-align: left;
	}

	.pc-etapes .pc-etape .pc-etape__rond {
		text-align: center;
	}

	.pc-etapes .pc-etape .pc-etape__note {
		flex: 1;
		font-size: 16px;
	}

	.pc-etape__note br {
		display: none;
	}
}

@media (max-width: 800px) {
	.pc-cibles,
	.pc-approches__liste {
		grid-template-columns: 1fr;
	}

	.pc-fleche {
		display: none;
	}

	.pc-approches h2 {
		text-align: center;
	}
}

@media (max-width: 480px) {
	.pc-constat__liste {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Page Films & vidéos (reprend les blocs de la page Podcasts)
   ========================================================================== */

@media (min-width: 801px) {
	.fm-hero {
		aspect-ratio: 3.4;
		min-height: 0;
		background-image: linear-gradient(to right, var(--creme) 22%, rgba(243, 238, 229, 0.75) 30%, rgba(243, 238, 229, 0) 42%), var(--of-hero-image);
		background-size: cover, 78% auto;
		background-position: center, right center;
	}

	.fm-hero .of-hero__titre {
		font-size: clamp(38px, 3.9vw, 62px);
	}
}

.pc-carte__accroche {
	margin: -4px 0 14px;
	color: var(--vert-texte);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 600;
	font-size: clamp(19px, 1.5vw, 22px);
	line-height: 1.3;
}

/* Bande verte : deux paragraphes derrière un seul trait ocre */
.fm-bande__texte {
	padding: 6px 0 6px clamp(24px, 3.5vw, 52px);
	border-left: 2px solid var(--ocre);
}

.bande-verte .fm-bande__texte p {
	padding: 0;
	border-left: 0;
}

.bande-verte .fm-bande__ambition {
	margin-top: 0.7em;
	font-family: var(--police-texte);
	font-style: normal;
	font-weight: 600;
	font-size: 17px;
	line-height: 1.45;
}

/* Trois approches narratives */
.fm-approches__liste {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: clamp(16px, 2vw, 28px) 0 0;
	padding: 0;
	list-style: none;
}

.fm-approche {
	padding: 4px clamp(18px, 2.2vw, 34px);
}

.fm-approche:first-child {
	padding-left: 0;
}

.fm-approche:last-child {
	padding-right: 0;
}

.fm-approche + .fm-approche {
	border-left: 2px solid #e4ac4b;
}

.fm-approche__entete {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	margin-bottom: 16px;
}

.fm-approche__num {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: #e4e6d6;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: 28px;
}

.fm-approche h3 {
	margin: 4px 0 6px;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(25px, 2vw, 31px);
	line-height: 1.02;
}

.fm-approche__accroche {
	margin: 0;
	color: var(--vert-texte);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 600;
	font-size: 19px;
}

.fm-approche > p {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

/* Méthode sans annotations : le schéma se centre */
.fm-methode .pc-schema {
	justify-self: center;
}

/* Intitulés plus longs que sur Podcasts : un peu plus petits pour tenir dans les cercles */
.fm-methode .pc-etape__rond {
	font-size: 2.05cqw;
}

@media (max-width: 1000px) {
	/* En liste : petit rond numéroté, intitulé lisible à côté */
	.fm-methode .pc-etapes .pc-etape .pc-etape__rond {
		flex-direction: row;
		gap: 16px;
		width: auto;
		height: auto;
		border-radius: 0;
		background: none;
		font-size: 19px;
		line-height: 1.25;
		text-align: left;
	}

	.fm-methode .pc-etape__rond br {
		display: none;
	}

	.fm-methode .pc-etape__num {
		display: flex;
		flex: none;
		align-items: center;
		justify-content: center;
		width: 52px;
		height: 52px;
		margin: 0;
		border-radius: 50%;
		background: #e4e6d6;
		font-size: 24px;
	}

	.fm-approches__liste {
		grid-template-columns: 1fr;
		row-gap: 28px;
	}

	.fm-approche,
	.fm-approche:first-child,
	.fm-approche:last-child {
		padding: 0;
	}

	.fm-approche + .fm-approche {
		padding-top: 28px;
		border-left: 0;
		border-top: 1px solid rgba(15, 58, 51, 0.15);
	}
}

/* ==========================================================================
   Page Aionea Lab
   ========================================================================== */

@media (min-width: 801px) {
	.lb-hero {
		aspect-ratio: 3.9;
		min-height: 0;
		background-image: linear-gradient(to right, var(--creme) 35%, rgba(243, 238, 229, 0.7) 42%, rgba(243, 238, 229, 0) 52%), var(--of-hero-image);
		background-size: cover, 66% auto;
		background-position: center, right 15%;
	}

	.lb-hero .of-hero__titre {
		font-size: clamp(38px, 3.8vw, 60px);
	}
}

/* Bande verte : titre en capitales, texte dessous */
.lb-bande {
	padding: clamp(32px, 3.2vw, 48px) 0;
	background-color: var(--vert);
	background-image: linear-gradient(to right, rgba(15, 58, 51, 0.92) 25%, rgba(15, 58, 51, 0.35) 80%), var(--bande-image);
	background-size: cover;
	background-position: center, center 60%;
	color: var(--creme);
}

.lb-bande__inner {
	padding-left: clamp(0px, 2.5vw, 28px);
}

.lb-bande h2 {
	margin: 0 0 18px;
	font-family: var(--police-texte);
	font-weight: 600;
	font-size: clamp(24px, 2.2vw, 32px);
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-transform: uppercase;
}

.lb-bande p {
	margin: 0;
	font-size: clamp(17px, 1.45vw, 21px);
	line-height: 1.45;
}

/* Pictogramme du parcours, séparé du texte par un trait doré */
.lb-bande__parcours {
	flex: none;
	width: clamp(110px, 10vw, 150px);
	height: auto;
	fill: none;
	stroke: var(--creme);
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.lb-bande__parcours .lb-bande__plein {
	fill: var(--creme);
	stroke: none;
}

.lb-bande__parcours .lb-bande__pointilles {
	stroke-dasharray: 6 6;
}

.lb-bande__texte {
	padding: 6px 0 6px clamp(24px, 2.5vw, 40px);
	border-left: 2px solid #e4ac4b;
}

/* Bande : parcours | texte | offre IA */
@media (min-width: 1101px) {
	.lb-bande__inner {
		display: grid;
		grid-template-columns: auto 1fr auto;
		align-items: center;
		column-gap: clamp(24px, 2.5vw, 40px);
	}
}

@media (max-width: 1100px) {
	.lb-bande__inner {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		column-gap: clamp(20px, 3vw, 32px);
	}

	.lb-bande__offre {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.lb-bande__inner {
		grid-template-columns: 1fr;
	}

	.lb-bande__parcours {
		width: 96px;
		margin-bottom: 20px;
	}
}

.lb-bande__offre {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.lb-bande__icone {
	flex: none;
	width: 78px;
	height: 78px;
	margin-top: 0;
	fill: none;
	stroke: var(--creme);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.lb-bande h3 {
	margin: 0 0 6px;
	color: var(--creme);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(26px, 2.1vw, 32px);
	line-height: 1.1;
}

.lb-bande__offre p {
	font-size: 17px;
	line-height: 1.35;
}

.lb-bande__bouton {
	margin-top: 18px;
	padding: 11px 26px;
	font-size: 17px;
	white-space: nowrap;
}

@media (max-width: 1100px) {
	.lb-bande__offre {
		margin-top: 26px;
		padding-top: 24px;
		border-top: 2px solid #e4ac4b;
	}
}

@media (max-width: 520px) {
	.lb-bande__offre {
		gap: 14px;
	}

	.lb-bande__icone {
		width: 48px;
		height: 48px;
	}

	.lb-bande__bouton {
		gap: 14px;
		padding: 11px 20px;
	}
}

/* Nos leviers d'intervention */
.lb-leviers {
	padding: clamp(36px, 3.5vw, 52px) 0 clamp(40px, 4vw, 56px);
}

.lb-leviers__accroche {
	margin: 0 0 clamp(32px, 3vw, 44px);
	color: var(--vert-texte);
	font-family: var(--police-titre);
	font-style: italic;
	font-size: clamp(21px, 1.8vw, 27px);
	line-height: 1.3;
}

.lb-leviers__titre {
	margin: 0 0 18px;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(42px, 4.2vw, 64px);
	line-height: 1.05;
}

.lb-leviers__titre::after {
	content: "";
	display: block;
	width: 84px;
	height: 4px;
	margin-top: 0.35em;
	background: #e8b93a;
}

.lb-leviers__colonnes {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.lb-leviers__liste {
	display: grid;
	align-content: start;
	gap: clamp(28px, 3vw, 44px);
	margin: 0;
	padding: 0 clamp(20px, 2.5vw, 36px) 0 0;
	list-style: none;
}

.lb-leviers__liste + .lb-leviers__liste {
	padding: 0 0 0 clamp(20px, 2.5vw, 36px);
	border-left: 1px solid rgba(15, 58, 51, 0.15);
}

.lb-levier {
	display: grid;
	grid-template-columns: 76px 1fr;
	align-items: start;
	gap: 20px;
}

.lb-levier__icone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: #e9e8da;
}

.lb-levier__icone svg {
	width: 42px;
	height: 42px;
	fill: none;
	stroke: var(--vert);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.lb-levier h3 {
	margin: 0 0 6px;
	color: #a33c17;
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(23px, 1.8vw, 27px);
	line-height: 1.1;
}

.lb-levier p {
	margin: 0;
	font-size: 16px;
	line-height: 1.45;
}

/* Carte de l'offre IA */
.lb-ia {
	padding-bottom: clamp(40px, 4vw, 56px);
}

.lb-ia__carte {
	display: grid;
	grid-template-columns: minmax(0, 352px) 1fr;
	align-items: center;
	gap: clamp(24px, 3vw, 44px);
	padding: clamp(18px, 2vw, 28px);
	border-radius: 18px;
	background: #efeadd;
}

.lb-ia__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}

.lb-ia__texte h2 {
	margin: 0 0 14px;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(36px, 3.4vw, 52px);
	line-height: 1.05;
}

.lb-ia__texte p {
	margin: 0 0 26px;
	color: var(--vert-texte);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 600;
	font-size: clamp(21px, 1.8vw, 27px);
	line-height: 1.3;
}

.lb-ia__bouton {
	display: inline-flex;
	align-items: center;
	gap: 22px;
	padding: 16px 34px;
	border-radius: 999px;
	background: #e4ac4b;
	color: var(--vert);
	font-weight: 600;
	font-size: 19px;
	text-decoration: none;
	transition: background 0.2s, transform 0.2s;
}

.lb-ia__bouton::after {
	content: "";
	width: 26px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M2 10h25M19 2l8 8-8 8' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M2 10h25M19 2l8 8-8 8' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.lb-ia__bouton:hover {
	background: #edbb62;
	transform: translateY(-2px);
}

/* Bande de collines en bas de page, sans texte */
.lb-pied {
	height: clamp(70px, 8vw, 120px);
	background: var(--vert) var(--bande-image) center 65% / cover no-repeat;
}

@media (max-width: 900px) {
	.lb-leviers__colonnes {
		grid-template-columns: 1fr;
		row-gap: clamp(28px, 3vw, 44px);
	}

	.lb-leviers__liste,
	.lb-leviers__liste + .lb-leviers__liste {
		padding: 0;
		border-left: 0;
	}
}

@media (max-width: 800px) {
	.lb-ia__carte {
		grid-template-columns: 1fr;
	}

	.lb-levier {
		grid-template-columns: 60px 1fr;
		gap: 16px;
	}

	.lb-levier__icone {
		width: 60px;
		height: 60px;
	}

	.lb-levier__icone svg {
		width: 34px;
		height: 34px;
	}
}

/* ==========================================================================
   Page Offre IA (sous-page de Lab)
   ========================================================================== */

@media (min-width: 801px) {
	.ia-hero {
		aspect-ratio: 4.3;
		min-height: 0;
		padding: 36px 0;
		background-image: linear-gradient(to right, var(--creme) 37%, rgba(243, 238, 229, 0.6) 42%, rgba(243, 238, 229, 0) 49%), var(--of-hero-image);
		background-size: cover, 64% auto;
		background-position: center, right center;
	}

	.ia-hero .of-hero__titre {
		font-size: clamp(38px, 3.9vw, 60px);
	}
}

.ia-hero .of-hero__texte {
	margin-top: 0.7em;
	color: #a33c17;
}

.ia-titre,
.ia-approche h3,
.ia-etape h3,
.ia-formules h2,
.ia-formules h3,
.ia-usage h3 {
	margin: 0;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	line-height: 1.05;
}

.ia-titre {
	font-size: clamp(32px, 2.9vw, 44px);
}

.ia-titre--grand {
	font-size: clamp(40px, 3.6vw, 54px);
}

.ia-accroche {
	margin: 4px 0 0;
	color: var(--vert-texte);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 600;
	font-size: clamp(20px, 1.6vw, 24px);
}

/* Pastille ronde d'icône */
.ia-pastille {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: #e4e6d6;
}

.ia-pastille svg,
.ia-usage__icone svg,
.ia-formules h3 svg {
	width: 38px;
	height: 38px;
	fill: none;
	stroke: var(--vert);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Pourquoi... : quatre approches */
.ia-pourquoi {
	padding: clamp(28px, 3vw, 40px) 0 clamp(36px, 3.5vw, 48px);
}

.ia-approches {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: clamp(22px, 2.2vw, 30px) 0 0;
	padding: 0;
	list-style: none;
}

.ia-approche {
	padding: 0 clamp(14px, 1.6vw, 24px);
}

.ia-approche:first-child {
	padding-left: 0;
}

.ia-approche + .ia-approche {
	border-left: 1px solid rgba(15, 58, 51, 0.15);
}

.ia-approche h3 {
	margin: 14px 0 10px;
	color: #a33c17;
	font-size: clamp(23px, 1.8vw, 27px);
}

.ia-approche p {
	margin: 0;
	font-size: 16px;
	line-height: 1.45;
}

/* Bande verte : trois atouts */
.ia-atouts {
	padding: clamp(36px, 3.6vw, 52px) 0;
	background-color: var(--vert);
	background-image: linear-gradient(to bottom, rgba(15, 58, 51, 0) 20%, rgba(15, 58, 51, 0.88) 55%), var(--bande-image);
	background-size: cover;
	background-position: center, center 40%;
}

.ia-atouts__liste {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 0;
	list-style: none;
}

.ia-atouts__liste li {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 4px 16px;
	color: var(--creme);
	font-family: var(--police-titre);
	font-weight: 600;
	font-size: clamp(21px, 1.75vw, 26px);
	line-height: 1.15;
}

.ia-atouts__liste li + li {
	border-left: 2px solid #e4ac4b;
}

.ia-atouts__liste svg {
	flex: none;
	width: 50px;
	height: 50px;
	fill: none;
	stroke: var(--creme);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Notre méthode : six étapes en ligne */
.ia-methode {
	padding: clamp(28px, 3vw, 40px) 0 clamp(36px, 3.6vw, 52px);
}

.ia-etapes {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	margin: clamp(20px, 2vw, 28px) 0 0;
	padding: 0;
	list-style: none;
}

.ia-etape {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 clamp(10px, 1.2vw, 18px);
	text-align: center;
}

/* Chevron entre deux pastilles */
.ia-etape + .ia-etape::before {
	content: "";
	position: absolute;
	left: -7px;
	top: 14px;
	width: 11px;
	height: 11px;
	border-top: 2.5px solid var(--vert);
	border-right: 2.5px solid var(--vert);
	transform: rotate(45deg);
}

.ia-etape + .ia-etape {
	border-left: 1px solid transparent;
	background: linear-gradient(rgba(15, 58, 51, 0.15), rgba(15, 58, 51, 0.15)) left 62px / 1px calc(100% - 62px) no-repeat;
}

.ia-etape__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0 0 14px;
	border-radius: 50%;
	background: var(--vert);
	color: var(--creme);
	font-weight: 600;
	font-size: 20px;
}

.ia-etape h3 {
	margin-bottom: 8px;
	font-size: clamp(20px, 1.55vw, 24px);
}

.ia-etape p {
	margin: 0;
	font-size: 15px;
	line-height: 1.4;
}

/* De l'audit au déploiement */
.ia-formules {
	padding-bottom: clamp(32px, 3.2vw, 44px);
}

.ia-formules__carte {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: clamp(20px, 2.5vw, 36px);
	padding: clamp(20px, 2.2vw, 30px) clamp(20px, 2.2vw, 30px);
	border-radius: 16px;
	background: #e9e8d8;
}

.ia-formules__titre {
	padding-right: clamp(20px, 2.5vw, 36px);
	border-right: 1px solid rgba(15, 58, 51, 0.2);
	font-size: clamp(36px, 3.2vw, 48px);
}

.ia-formules__titre em {
	font-style: italic;
}

.ia-formules__liste {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
}

.ia-formules__liste li {
	padding: 0 clamp(12px, 1.4vw, 20px);
}

.ia-formules__liste li + li {
	border-left: 1px solid rgba(15, 58, 51, 0.2);
}

.ia-formules h3 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
	font-size: clamp(19px, 1.45vw, 23px);
	white-space: nowrap;
}

.ia-formules h3 svg {
	flex: none;
	width: 28px;
	height: 28px;
}

.ia-formules p {
	margin: 0;
	font-size: 15px;
	line-height: 1.4;
}

/* Exemples d'usages, sur deux colonnes */
.ia-usages {
	padding-bottom: clamp(40px, 4vw, 56px);
}

.ia-usages__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.ia-usages__colonne {
	padding-right: clamp(20px, 2.5vw, 40px);
}

.ia-usages__colonne + .ia-usages__colonne {
	padding: 0 0 0 clamp(20px, 2.5vw, 40px);
	border-left: 2px solid #e4ac4b;
}

.ia-usages__liste {
	display: grid;
	gap: 16px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.ia-usage {
	display: grid;
	grid-template-columns: 62px 1fr;
	align-items: center;
	gap: 18px;
}

.ia-usage__icone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 50px;
	border-radius: 10px;
	background: #e9e8d8;
}

.ia-usage__icone svg {
	width: 30px;
	height: 30px;
}

.ia-usage h3 {
	margin-bottom: 2px;
	font-size: clamp(20px, 1.55vw, 23px);
}

.ia-usage p {
	margin: 0;
	font-size: 15px;
	line-height: 1.35;
}

/* Bandeau final : titre en italique, bouton brique */
.ia-appel .appel__titre {
	font-style: italic;
}

.ia-appel__texte {
	margin: 8px 0 0;
	color: var(--creme);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(20px, 1.7vw, 25px);
	line-height: 1.3;
}

.ia-appel .appel__bouton {
	border-radius: 999px;
	background: #b4491f;
	color: #fff;
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: 24px;
}

.ia-appel .appel__bouton:hover {
	background: #c4572b;
}

@media (max-width: 1100px) {
	.ia-approches,
	.ia-formules__liste {
		grid-template-columns: 1fr 1fr;
		row-gap: 28px;
	}

	.ia-approche:nth-child(3),
	.ia-formules__liste li:nth-child(3) {
		padding-left: 0;
		border-left: 0;
	}

	.ia-etapes {
		grid-template-columns: repeat(3, 1fr);
		row-gap: 32px;
	}

	.ia-etape:nth-child(4) {
		background: none;
	}

	.ia-etape:nth-child(4)::before {
		display: none;
	}

	.ia-formules__carte {
		grid-template-columns: 1fr;
	}

	.ia-formules__titre {
		padding-right: 0;
		border-right: 0;
	}

	.ia-formules__liste li:first-child {
		padding-left: 0;
	}
}

@media (max-width: 800px) {
	/* Texte plus long que la bande : on assombrit tout le ciel */
	.ia-atouts {
		padding-top: 56px;
		background-image: linear-gradient(to bottom, rgba(15, 58, 51, 0) 0, rgba(15, 58, 51, 0.85) 70px, var(--vert) 150px), var(--bande-image);
		background-size: cover, 100% auto;
		background-position: center, center top;
		background-repeat: no-repeat;
	}

	.ia-atouts__liste {
		grid-template-columns: 1fr;
		row-gap: 18px;
	}

	.ia-atouts__liste li {
		justify-content: flex-start;
	}

	.ia-atouts__liste li + li {
		border-left: 0;
	}

	.ia-etapes {
		grid-template-columns: 1fr 1fr;
	}

	.ia-etape:nth-child(4) {
		background: linear-gradient(rgba(15, 58, 51, 0.15), rgba(15, 58, 51, 0.15)) left 62px / 1px calc(100% - 62px) no-repeat;
	}

	.ia-etape:nth-child(odd) {
		background: none;
	}

	.ia-etape:nth-child(odd)::before {
		display: none;
	}

	.ia-usages__inner {
		grid-template-columns: 1fr;
		row-gap: 36px;
	}

	.ia-usages__colonne,
	.ia-usages__colonne + .ia-usages__colonne {
		padding: 0;
		border-left: 0;
	}
}

@media (max-width: 520px) {
	.ia-approches,
	.ia-formules__liste,
	.ia-etapes {
		grid-template-columns: 1fr;
	}

	.ia-approche,
	.ia-approche + .ia-approche,
	.ia-formules__liste li,
	.ia-formules__liste li + li {
		padding: 0;
		border-left: 0;
	}

	.ia-etape + .ia-etape {
		background: none;
	}

	.ia-etape + .ia-etape::before {
		display: none;
	}
}

/* ==========================================================================
   Page Aionea Prospective (reprend les titres et pastilles de l'offre IA)
   ========================================================================== */

@media (min-width: 801px) {
	.pr-hero {
		aspect-ratio: 3.35;
		min-height: 0;
		padding: 36px 0;
		background-image: linear-gradient(to right, var(--creme) 31%, rgba(243, 238, 229, 0.6) 37%, rgba(243, 238, 229, 0) 47%), var(--of-hero-image);
		background-size: cover, auto 100%;
		background-position: center, right center;
	}

	.pr-hero .of-hero__titre {
		font-size: clamp(38px, 4vw, 62px);
	}
}

.pr-citation {
	margin: 0.9em 0 0;
	color: #a33c17;
	font-family: var(--police-titre);
	font-style: italic;
}

.pr-citation blockquote {
	margin: 0;
	font-weight: 600;
	font-size: clamp(21px, 1.75vw, 27px);
	line-height: 1.25;
}

.pr-citation figcaption {
	margin-top: 6px;
	font-weight: 600;
	font-size: clamp(16px, 1.2vw, 19px);
}

/* Présentation : texte, trait doré, trois bénéfices */
.pr-intro {
	padding: clamp(28px, 3vw, 40px) 0 clamp(36px, 3.5vw, 48px);
}

.pr-intro__titre {
	font-style: italic;
	font-weight: 600;
}

.pr-intro__colonnes {
	display: grid;
	grid-template-columns: 1.65fr 1fr;
	align-items: center;
	margin-top: clamp(20px, 2vw, 28px);
}

.pr-intro__texte {
	padding-right: clamp(24px, 3.5vw, 52px);
	border-right: 2px solid #e4ac4b;
}

.pr-intro__texte p {
	margin: 0;
	font-size: 17px;
	line-height: 1.45;
}

.pr-intro__texte p + p {
	margin-top: 1em;
}

.pr-benefices {
	display: grid;
	gap: 20px;
	margin: 0;
	padding: 0 0 0 clamp(24px, 4.5vw, 64px);
	list-style: none;
}

.pr-benefices li {
	display: flex;
	align-items: center;
	gap: 22px;
	color: var(--vert);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 700;
	font-size: clamp(21px, 1.75vw, 26px);
	line-height: 1.1;
}

/* Coche dans un cercle, dessinée en CSS */
.pr-benefices li::before {
	content: "";
	flex: none;
	width: 36px;
	height: 36px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cpath d='M31 15.5A14 14 0 1 1 24 6M12 17l6 6L33 7' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cpath d='M31 15.5A14 14 0 1 1 24 6M12 17l6 6L33 7' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Quatre piliers */
.pr-piliers {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: clamp(32px, 3.5vw, 48px) 0 0;
	padding: 0;
	list-style: none;
}

.pr-pilier {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 clamp(14px, 1.8vw, 28px);
	text-align: center;
}

.pr-pilier + .pr-pilier {
	border-left: 1px solid rgba(15, 58, 51, 0.15);
}

.pr-pilier h3 {
	margin: 14px 0 8px;
	color: #a33c17;
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(25px, 2vw, 30px);
	line-height: 1.05;
}

.pr-pilier p {
	margin: 0;
	font-size: 16px;
	line-height: 1.4;
}

/* Bande verte : Pourquoi la prospective ? */
.pr-pourquoi {
	padding: clamp(36px, 3.6vw, 52px) 0;
	background-color: var(--vert);
	background-image: linear-gradient(to bottom, rgba(15, 58, 51, 0) 15%, rgba(15, 58, 51, 0.88) 55%), var(--bande-image);
	background-size: cover;
	background-position: center, center 40%;
	color: var(--creme);
}

.pr-pourquoi__inner {
	display: flex;
	align-items: center;
	gap: clamp(20px, 2.5vw, 36px);
}

.pr-pourquoi h2 {
	flex: none;
	margin: 0;
	padding-right: clamp(20px, 2.5vw, 36px);
	border-right: 2px solid #e4ac4b;
	color: var(--creme);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 700;
	font-size: clamp(34px, 3.2vw, 48px);
	line-height: 1.05;
}

.pr-raisons {
	display: grid;
	flex: 1;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pr-raisons li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	font-family: var(--police-titre);
	font-weight: 600;
	font-size: clamp(17px, 1.35vw, 20px);
	line-height: 1.15;
	text-align: center;
}

.pr-raisons svg {
	width: 44px;
	height: 44px;
	fill: none;
	stroke: var(--creme);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Nos formats d'intervention : trois cartes */
.pr-formats {
	padding: clamp(28px, 3vw, 40px) 0 clamp(36px, 3.5vw, 48px);
}

.pr-cartes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 1.6vw, 24px);
	margin: clamp(22px, 2.2vw, 30px) 0 0;
	padding: 0;
	list-style: none;
}

.pr-carte {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 16px;
	background: #efeadd;
}

.pr-carte__image {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 3;
	background: #e4e6d6;
}

img.pr-carte__image {
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* Arbre : on garde le haut de l'arbre et le rocher */
.pr-carte__image--arbre {
	object-position: center 40%;
}

.pr-carte__image svg {
	width: 56px;
	height: 56px;
	fill: none;
	stroke: var(--vert);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	opacity: 0.6;
}

.pr-carte__corps {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 18px clamp(18px, 2vw, 26px) 22px;
}

.pr-carte h3 {
	margin: 0 0 12px;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(25px, 2.1vw, 31px);
	line-height: 1.02;
}

.pr-carte p {
	margin: 0 0 22px;
	font-size: 16px;
	line-height: 1.4;
}

.pr-carte__bouton {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	margin-top: auto;
	padding: 11px 22px;
	border-radius: 999px;
	background: #b4491f;
	color: #fff;
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: 19px;
	text-decoration: none;
	transition: background 0.2s;
}

.pr-carte__bouton::after {
	content: "";
	flex: none;
	width: 22px;
	height: 15px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M2 10h25M19 2l8 8-8 8' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M2 10h25M19 2l8 8-8 8' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.pr-carte__bouton:hover {
	background: #c4572b;
}

@media (max-width: 1100px) {
	.pr-piliers {
		grid-template-columns: 1fr 1fr;
		row-gap: 32px;
	}

	.pr-pilier:nth-child(3) {
		border-left: 0;
	}

	.pr-pourquoi__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.pr-pourquoi h2 {
		padding-right: 0;
		border-right: 0;
	}

	.pr-raisons {
		width: 100%;
	}

	.pr-cartes {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 800px) {
	.pr-intro__colonnes {
		grid-template-columns: 1fr;
		row-gap: 28px;
	}

	.pr-intro__texte {
		padding: 0 0 24px;
		border-right: 0;
		border-bottom: 2px solid #e4ac4b;
	}

	.pr-benefices {
		padding-left: 0;
	}

	/* Texte plus long que la bande : on assombrit tout le ciel */
	.pr-pourquoi {
		padding-top: 56px;
		background-image: linear-gradient(to bottom, rgba(15, 58, 51, 0) 0, rgba(15, 58, 51, 0.85) 70px, var(--vert) 150px), var(--bande-image);
		background-size: cover, 100% auto;
		background-position: center, center top;
		background-repeat: no-repeat;
	}

	.pr-raisons {
		grid-template-columns: repeat(3, 1fr);
		row-gap: 24px;
	}

	.pr-cartes {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	.pr-piliers {
		grid-template-columns: 1fr;
	}

	.pr-pilier + .pr-pilier {
		border-left: 0;
	}

	.pr-raisons {
		grid-template-columns: 1fr 1fr;
	}
}

/* ==========================================================================
   Page Robustesse Entreprise (sous-page de Prospective)
   ========================================================================== */

@media (min-width: 801px) {
	.rb-hero {
		aspect-ratio: 3.9;
		min-height: 0;
		padding: 30px 0;
		background-image: linear-gradient(to right, var(--creme) 29%, rgba(243, 238, 229, 0.75) 33%, rgba(243, 238, 229, 0.35) 38%, rgba(243, 238, 229, 0) 46%), var(--of-hero-image);
		background-size: cover, auto 100%;
		background-position: center, right center;
	}

	.rb-hero .of-hero__titre {
		font-size: clamp(44px, 5vw, 76px);
		line-height: 0.98;
	}
}

.rb-hero .of-hero__texte {
	margin-top: 0.6em;
	color: #a33c17;
}

/* Introduction : début de phrase en italique */
.rb-intro {
	padding: clamp(24px, 2.6vw, 36px) 0 clamp(20px, 2vw, 28px);
}

.rb-intro p {
	margin: 0;
	font-size: 18px;
	line-height: 1.45;
}

.rb-intro em {
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(21px, 1.6vw, 24px);
}

.rb-intro strong {
	font-size: 1.2em;
}

/* Encadré : les deux définitions (autonomie, robustesse) */
.rb-definitions {
	margin-top: clamp(18px, 2vw, 26px);
	padding: clamp(16px, 1.8vw, 22px) clamp(18px, 2.2vw, 30px);
	border-radius: 16px;
	background: #f1ebdf;
}

.rb-intro .rb-definitions p {
	color: #a33c17;
	font-size: clamp(18px, 1.5vw, 21px);
	line-height: 1.4;
}

.rb-definitions p + p {
	margin-top: 10px;
}

.rb-definitions b {
	font-weight: 600;
}

/* Un parcours concret : arbre à gauche, titre, quatre coches */
.rb-parcours {
	padding-bottom: clamp(32px, 3.5vw, 48px);
}

.rb-parcours__carte {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: space-evenly;
	align-items: center;
	gap: clamp(20px, 2.5vw, 40px);
	min-height: 190px;
	padding: 24px 0 24px 340px;
	border-radius: 16px;
	background: linear-gradient(to right, rgba(236, 234, 220, 0) 250px, #eceadc 340px), var(--rb-arbre) left center / auto 100% no-repeat, #eceadc;
}

.rb-parcours__carte h2 {
	margin: 0;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(30px, 2.6vw, 40px);
	line-height: 1.05;
}

.rb-parcours__carte h2 em {
	display: block;
	margin-top: 6px;
	font-weight: 600;
	font-size: 0.75em;
}

.rb-coches {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rb-coches li {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 17px;
}

/* Coche dans un cercle (même dessin que sur la page Prospective) */
.rb-coches li::before {
	content: "";
	flex: none;
	width: 28px;
	height: 28px;
	background: var(--vert);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cpath d='M31 15.5A14 14 0 1 1 24 6M12 17l6 6L33 7' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cpath d='M31 15.5A14 14 0 1 1 24 6M12 17l6 6L33 7' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Deux colonnes de texte, trait doré entre les deux */
.rb-colonnes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: clamp(24px, 2.6vw, 36px);
}

.rb-colonnes > div {
	padding-right: clamp(20px, 2.5vw, 40px);
}

.rb-colonnes > div + div {
	padding: 0 0 0 clamp(20px, 2.5vw, 40px);
	border-left: 2px solid #e4ac4b;
}

.rb-colonnes p {
	margin: 0;
	font-size: 16px;
	line-height: 1.45;
}

.rb-colonnes p + p {
	margin-top: 1em;
}

.rb-colonnes strong {
	color: var(--vert);
}

/* Une démarche en 4 étapes */
.rb-demarche {
	padding-bottom: clamp(36px, 3.8vw, 52px);
}

.rb-demarche__titre {
	display: flex;
	align-items: center;
	gap: clamp(20px, 2vw, 28px);
}

.rb-demarche__titre::after {
	content: "";
	flex: 1;
	height: 2px;
	background: #e4ac4b;
}

.rb-etapes {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: clamp(24px, 2.6vw, 36px) 0 0;
	padding: 0;
	list-style: none;
}

.rb-etape {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 clamp(10px, 1.2vw, 18px);
	text-align: center;
}

/* Flèche entre deux étapes */
.rb-etape + .rb-etape::before {
	content: "";
	position: absolute;
	left: -15px;
	top: 32px;
	width: 30px;
	height: 18px;
	background: var(--vert);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M2 10h25M19 2l8 8-8 8' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M2 10h25M19 2l8 8-8 8' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.rb-etape__icone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 82px;
	height: 82px;
	border-radius: 50%;
	background: #e4e6d6;
}

.rb-etape__icone svg {
	width: 42px;
	height: 42px;
	fill: none;
	stroke: var(--vert);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.rb-etape h3 {
	margin: 16px 0 8px;
	color: #a33c17;
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(21px, 1.7vw, 25px);
	line-height: 1.05;
}

.rb-etape p {
	margin: 0;
	font-size: 16px;
	line-height: 1.4;
}

/* Bande verte des bénéfices : reprend la bande de la page Prospective */
.rb-benefices h2 {
	padding-left: clamp(20px, 2vw, 28px);
	border-left: 2px solid #e4ac4b;
}

.rb-benefices .pr-raisons {
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
}

.rb-benefices .pr-raisons li {
	padding: 0 12px;
	font-size: clamp(18px, 1.5vw, 22px);
}

.rb-benefices .pr-raisons li + li {
	border-left: 2px solid #e4ac4b;
}

/* Appel final sur fond crème */
.rb-appel {
	padding: clamp(32px, 3.5vw, 48px) 0;
}

.rb-appel__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	flex-wrap: wrap;
}

.rb-appel h2 {
	margin: 0;
	color: var(--vert);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 700;
	font-size: clamp(28px, 2.3vw, 34px);
	line-height: 1.1;
}

.rb-appel__bouton {
	margin: 0 clamp(0px, 3vw, 44px) 0 0;
	padding: 15px 48px;
	font-size: 23px;
}

@media (max-width: 1100px) {
	.rb-etapes {
		grid-template-columns: 1fr 1fr;
		row-gap: 32px;
	}

	.rb-etape:nth-child(3)::before {
		display: none;
	}
}

/* Titre et coches l'un sous l'autre quand la carte devient étroite */
@media (max-width: 960px) {
	.rb-parcours__carte {
		grid-template-columns: 1fr;
		padding-right: clamp(24px, 3vw, 44px);
	}
}

@media (max-width: 800px) {
	/* L'arbre passe au-dessus du titre */
	.rb-parcours__carte {
		padding: 250px 24px 26px;
		background: linear-gradient(to bottom, rgba(236, 234, 220, 0) 170px, #eceadc 240px), var(--rb-arbre) center top / auto 240px no-repeat, #eceadc;
	}

	.rb-colonnes {
		grid-template-columns: 1fr;
		row-gap: 20px;
	}

	.rb-colonnes > div,
	.rb-colonnes > div + div {
		padding: 0;
		border-left: 0;
	}

	.rb-colonnes > div + div {
		padding-top: 20px;
		border-top: 2px solid #e4ac4b;
	}

	.rb-demarche__titre::after {
		display: none;
	}

	.rb-appel__bouton {
		margin-right: 0;
	}
}

@media (max-width: 520px) {
	.rb-etapes,
	.rb-benefices .pr-raisons {
		grid-template-columns: 1fr;
		row-gap: 24px;
	}

	.rb-etape + .rb-etape::before {
		display: none;
	}

	.rb-benefices .pr-raisons li + li {
		border-left: 0;
	}

	.rb-appel__bouton {
		padding: 14px 28px;
		font-size: 20px;
	}
}

/* ==========================================================================
   Page Études prospectives (sous-page de Prospective)
   Reprend les pastilles, la bande des bénéfices et l'appel de Robustesse
   ========================================================================== */

@media (min-width: 801px) {
	.et-hero {
		aspect-ratio: 4.2;
		min-height: 0;
		padding: 30px 0;
		background-image: linear-gradient(to right, var(--creme) 37%, rgba(243, 238, 229, 0.75) 41%, rgba(243, 238, 229, 0.35) 46%, rgba(243, 238, 229, 0) 54%), var(--of-hero-image);
		background-size: cover, 63% auto;
		background-position: center, right center;
	}

	.et-hero .of-hero__titre {
		font-size: clamp(40px, 4.2vw, 64px);
	}
}

.et-hero .of-hero__texte {
	margin-top: 0.6em;
	color: #a33c17;
}

/* Introduction : trait doré à gauche */
.et-intro {
	padding: clamp(22px, 2.4vw, 32px) 0 clamp(24px, 2.6vw, 36px);
}

.et-intro p {
	margin: 0;
	padding: 4px 0 4px clamp(18px, 2vw, 26px);
	border-left: 3px solid #e4ac4b;
	font-size: clamp(17px, 1.35vw, 20px);
	line-height: 1.45;
}

/* Trois offres en cartes, photo en bas */
.et-offres {
	padding-bottom: clamp(20px, 2vw, 28px);
}

.et-cartes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 1.6vw, 24px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.et-carte {
	display: flex;
	flex-direction: column;
	padding: 20px 8px 8px;
	border-radius: 16px;
	background: linear-gradient(to bottom, #efe8d8, #f6f1e7);
}

.et-carte__entete {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 0 12px;
}

.et-carte__entete .rb-etape__icone {
	flex: none;
}

.et-carte__num {
	display: inline-block;
	padding-bottom: 4px;
	border-bottom: 2px solid #e4ac4b;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
}

.et-carte h2 {
	margin: 10px 0 0;
	color: #a33c17;
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(25px, 2vw, 30px);
	line-height: 1;
}

.et-carte p {
	flex: 1;
	margin: 14px 0 18px;
	padding: 0 clamp(14px, 1.6vw, 24px);
	font-size: 16px;
	line-height: 1.4;
}

.et-carte__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3.3;
	object-fit: cover;
	border-radius: 12px;
}

/* Zoom sur nos études prospectives */
.et-zoom {
	padding-bottom: clamp(32px, 3.5vw, 48px);
}

.et-zoom__carte {
	display: grid;
	grid-template-columns: 1fr 1.75fr;
	align-items: center;
	padding: clamp(22px, 2.4vw, 32px) clamp(20px, 2.4vw, 32px);
	border-radius: 16px;
	background: linear-gradient(to right, #efe7d2, #f6f1e7);
}

.et-zoom__titre {
	padding-right: clamp(20px, 2.5vw, 36px);
	border-right: 2px solid #e4ac4b;
}

.et-zoom__titre h2 {
	margin: 0;
	padding-bottom: 18px;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(32px, 2.8vw, 42px);
	line-height: 1.02;
	background: linear-gradient(#a33c17, #a33c17) left bottom / 80px 2px no-repeat;
}

.et-zoom__titre p {
	margin: 24px 0 0;
	color: var(--vert-texte);
	font-family: var(--police-titre);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(20px, 1.6vw, 24px);
	line-height: 1.25;
}

.et-zoom__texte {
	padding-left: clamp(20px, 2.5vw, 36px);
}

.et-zoom__texte p {
	margin: 0;
	font-size: 15.5px;
	line-height: 1.4;
}

.et-zoom__texte p + p,
.et-zoom__texte p + .et-puces + p {
	margin-top: 0.8em;
}

.et-zoom__texte strong {
	color: var(--vert);
}

.et-puces {
	display: grid;
	gap: 4px;
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
}

.et-puces li {
	position: relative;
	padding-left: 22px;
	font-size: 15.5px;
	line-height: 1.35;
}

.et-puces li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 0.5em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #e4ac4b;
}

.et-zoom__exemples {
	font-family: var(--police-titre);
	font-style: italic;
	font-size: 17px !important;
}

/* Bande des bénéfices : quatre éléments */
/* Titre sans traits dorés de part et d'autre */
.et-benefices h2 {
	padding: 0;
	border: 0;
}

.et-benefices .pr-raisons {
	grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1100px) {
	.et-cartes {
		grid-template-columns: 1fr 1fr;
	}

	.et-zoom__carte {
		grid-template-columns: 1fr;
		row-gap: 24px;
	}

	.et-zoom__titre {
		padding: 0 0 24px;
		border-right: 0;
		border-bottom: 2px solid #e4ac4b;
	}

	.et-zoom__texte {
		padding-left: 0;
	}
}

@media (max-width: 800px) {
	.et-cartes {
		grid-template-columns: 1fr;
	}

	.et-benefices .pr-raisons {
		grid-template-columns: 1fr 1fr;
		row-gap: 24px;
	}

	.et-benefices .pr-raisons li:nth-child(3) {
		border-left: 0;
	}
}

@media (max-width: 520px) {
	.et-benefices .pr-raisons {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Page Conférences, ateliers et séminaires (sous-page de Prospective)
   Reprend les pastilles, les coches et l'appel de Robustesse
   ========================================================================== */

@media (min-width: 801px) {
	.cf-hero {
		aspect-ratio: 2.9;
		min-height: 0;
		background-image: linear-gradient(to right, var(--creme) 22%, rgba(243, 238, 229, 0.8) 32%, rgba(243, 238, 229, 0) 44%), var(--of-hero-image);
		background-size: cover, cover;
		background-position: center, center;
	}

	.cf-hero .of-hero__titre {
		font-size: clamp(44px, 4.6vw, 72px);
		line-height: 0.98;
	}
}

/* Trait brique sous le titre */
.cf-hero .of-hero__titre::after {
	content: "";
	display: block;
	width: 84px;
	height: 4px;
	margin-top: clamp(18px, 2vw, 28px);
	background: #a33c17;
}

.cf-hero .of-hero__texte {
	margin-top: 0.9em;
}

/* Introduction et trois formats */
.cf-formats {
	padding: clamp(28px, 3vw, 40px) 0 clamp(36px, 3.8vw, 52px);
}

.cf-intro {
	margin: 0;
	font-family: var(--police-titre);
	font-weight: 500;
	font-size: clamp(22px, 1.9vw, 28px);
	line-height: 1.3;
}

.cf-intro em {
	color: var(--vert);
	font-weight: 700;
}

.cf-formats__liste {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 2vw, 28px);
	margin: clamp(24px, 2.6vw, 36px) 0 0;
	padding: 0;
	list-style: none;
}

.cf-format {
	padding: clamp(20px, 2vw, 28px);
	border-radius: 16px;
	background: #efeadd;
}

.cf-format h3 {
	margin: 16px 0 8px;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(28px, 2.3vw, 34px);
	line-height: 1.05;
}

.cf-format p {
	margin: 0;
	font-size: 17px;
	line-height: 1.45;
}

/* Thématiques : photo pleine hauteur à gauche, liste à droite */
.cf-themes {
	display: grid;
	grid-template-columns: 43% 1fr;
	background: #eceadc;
}

.cf-themes__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 300px;
	object-fit: cover;
	object-position: left center;
}

.cf-themes__texte {
	padding: clamp(28px, 3vw, 44px) var(--marge) clamp(28px, 3vw, 44px) clamp(28px, 3.5vw, 56px);
}

.cf-themes h2 {
	margin: 0 0 18px;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(30px, 2.6vw, 40px);
	line-height: 1.05;
}

/* Quatre piliers, séparés par un trait fin */
.cf-piliers {
	padding: clamp(36px, 3.8vw, 52px) 0;
}

.cf-piliers__liste {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 0;
	margin-bottom: 0;
	list-style: none;
}

.cf-piliers__liste li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 0 12px;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(22px, 1.8vw, 27px);
	line-height: 1.1;
	text-align: center;
}

.cf-piliers__liste li + li {
	border-left: 2px solid #e4e6d6;
}

@media (max-width: 1000px) {
	.cf-formats__liste {
		grid-template-columns: 1fr;
	}

	.cf-format {
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: 20px;
		align-items: center;
	}

	.cf-format .rb-etape__icone {
		grid-row: span 2;
	}

	.cf-format h3 {
		margin-top: 0;
	}

	.cf-themes {
		grid-template-columns: 1fr;
	}

	.cf-themes__image {
		height: 240px;
		min-height: 0;
	}

	.cf-themes__texte {
		padding-left: var(--marge);
	}
}

@media (max-width: 800px) {
	/* Le conférencier reste visible dans la photo sous le texte */
	.cf-hero {
		background-position: bottom, 40% bottom;
	}

	.cf-piliers__liste {
		grid-template-columns: 1fr 1fr;
		row-gap: 28px;
	}

	.cf-piliers__liste li:nth-child(3) {
		border-left: 0;
	}
}

@media (max-width: 480px) {
	.cf-format {
		display: block;
	}

	.cf-format h3 {
		margin-top: 14px;
	}
}

/* ==========================================================================
   Page Contact
   ========================================================================== */

/* Bandeau : le paysage occupe toute la largeur, fondu crème sous le texte */
@media (min-width: 801px) {
	.ct-hero {
		aspect-ratio: 2.9;
		min-height: 0;
		background-image: linear-gradient(to right, var(--creme) 14%, rgba(243, 238, 229, 0.8) 30%, rgba(243, 238, 229, 0) 52%), var(--of-hero-image);
		background-size: cover, cover;
		background-position: center, center 60%;
	}

	.ct-hero .of-hero__titre {
		font-size: clamp(40px, 4.2vw, 64px);
	}
}

.ct-contact {
	padding: clamp(40px, 4.2vw, 60px) 0 clamp(48px, 5vw, 72px);
}

.ct-contact__inner {
	display: grid;
	grid-template-columns: 1.7fr 1fr;
	align-items: start;
}

/* Formulaire, sur une carte crème */
.ct-formulaire {
	padding: clamp(22px, 2.4vw, 32px) clamp(20px, 2.4vw, 30px) clamp(26px, 2.6vw, 34px);
	border-radius: 16px;
	background: #efeadd;
}

.ct-form {
	display: grid;
	gap: 22px;
}

.ct-ligne {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
}

.ct-champ label {
	display: block;
	margin-bottom: 8px;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: 21px;
	line-height: 1.1;
}

.ct-requis {
	color: #a33c17;
}

.ct-champ input,
.ct-champ textarea {
	display: block;
	width: 100%;
	padding: 11px 16px;
	border: 1px solid rgba(15, 58, 51, 0.28);
	border-radius: 4px;
	background: #fbf8f2;
	color: var(--texte);
	font: inherit;
	font-size: 16px;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.ct-champ textarea {
	min-height: 128px;
	resize: vertical;
}

.ct-champ input::placeholder,
.ct-champ textarea::placeholder {
	color: #6f746c;
}

.ct-champ input:focus,
.ct-champ textarea:focus {
	border-color: var(--vert);
	outline: none;
	box-shadow: 0 0 0 3px rgba(15, 58, 51, 0.12);
}

/* LinkedIn : icône dans le champ */
.ct-linkedin {
	position: relative;
}

.ct-linkedin svg {
	position: absolute;
	left: 14px;
	top: 50%;
	width: 22px;
	height: 22px;
	transform: translateY(-50%);
	fill: none;
	stroke: #5d625a;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	pointer-events: none;
}

.ct-linkedin input {
	padding-left: 50px;
}

.ct-mention {
	margin: -6px 0 0;
	color: #5d625a;
	font-size: 14px;
}

.ct-envoyer {
	justify-self: start;
	margin-top: 4px;
	padding: 14px 30px;
	border: 0;
	font-size: 22px;
	cursor: pointer;
}

/* Champ piège pour les robots, hors de l'écran */
.ct-piege {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Message après envoi */
.ct-avis {
	margin: 0 0 22px;
	padding: 14px 18px;
	border-left: 4px solid var(--vert);
	border-radius: 4px;
	background: #e4e6d6;
	color: var(--vert);
	font-weight: 500;
}

.ct-avis--erreur {
	border-left-color: #a33c17;
	background: #f4e1d6;
	color: #7d2d10;
}

/* Coordonnées, derrière un filet vertical */
.ct-coordonnees {
	align-self: stretch;
	margin-left: clamp(24px, 3vw, 44px);
	padding: 16px 0 0 clamp(24px, 2.4vw, 36px);
	border-left: 1px solid rgba(15, 58, 51, 0.25);
}

.ct-coordonnees h2 {
	margin: 0 0 clamp(32px, 4vw, 60px);
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(34px, 3vw, 44px);
	line-height: 1.05;
}

.ct-moyens {
	display: grid;
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ct-moyen {
	display: flex;
	align-items: flex-start;
	gap: 22px;
}

.ct-pastille {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #e4e6d6;
}

.ct-pastille svg {
	width: 34px;
	height: 34px;
	fill: none;
	stroke: var(--vert);
	stroke-width: 2.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Logo LinkedIn officiel, plein, en vert Aionea */
.ct-pastille svg.ct-logo-in {
	width: 28px;
	height: 28px;
}

.ct-pastille svg.ct-logo-in,
.ct-linkedin svg.ct-logo-in {
	fill: var(--vert);
	stroke: none;
}

.ct-linkedin svg.ct-logo-in {
	width: 20px;
	height: 20px;
}

.ct-moyen h3 {
	margin: 2px 0 4px;
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 700;
	font-size: clamp(23px, 1.8vw, 27px);
	line-height: 1.1;
}

.ct-moyen p {
	margin: 0;
	color: var(--texte);
	font-family: var(--police-titre);
	font-weight: 500;
	font-size: clamp(20px, 1.6vw, 23px);
	line-height: 1.35;
}

.ct-moyen a {
	color: inherit;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
}

.ct-moyen a:hover {
	color: #a33c17;
}

@media (max-width: 900px) {
	.ct-contact__inner {
		grid-template-columns: 1fr;
		row-gap: 40px;
	}

	.ct-coordonnees {
		margin-left: 0;
		padding: 32px 0 0;
		border-left: 0;
		border-top: 1px solid rgba(15, 58, 51, 0.25);
	}

	.ct-coordonnees h2 {
		margin-bottom: 28px;
	}
}

@media (max-width: 560px) {
	.ct-ligne {
		grid-template-columns: 1fr;
	}

	.ct-envoyer {
		justify-self: stretch;
		justify-content: center;
		font-size: 20px;
	}
}

/* ==========================================================================
   Pages standard (en attendant leurs modèles)
   ========================================================================== */

.contenu-standard {
	max-width: 820px;
	margin: 0 auto;
	padding: 64px var(--marge) 96px;
}

.contenu-standard h1,
.contenu-standard h2 {
	color: var(--vert);
	font-family: var(--police-titre);
	font-weight: 600;
	line-height: 1.15;
}

.contenu-standard h1 {
	font-size: clamp(36px, 5vw, 56px);
}

/* ==========================================================================
   Pied de page
   ========================================================================== */

.pied {
	background: var(--creme);
}

.pied__inner {
	max-width: var(--largeur);
	margin: 0 auto;
	padding: 28px var(--marge);
	color: rgba(28, 43, 40, 0.65);
	font-size: 14px;
	text-align: center;
}

.pied__inner p {
	margin: 0;
}

/* ==========================================================================
   Tablettes et mobiles
   ========================================================================== */

@media (max-width: 1350px) {
	.nav__liste a {
		font-size: 18px;
	}
}

@media (max-width: 1100px) {
	/* Image limitée au haut du bandeau (le groupe à gauche reste visible), fondue vers le crème */
	.accueil-hero {
		--hero-hauteur: clamp(520px, 110vw, 900px);
		background-image: linear-gradient(to bottom, rgba(243, 238, 229, 0) 60%, var(--creme)), var(--hero-image);
		background-size: 100% var(--hero-hauteur), auto var(--hero-hauteur);
		background-position: top, 4% top;
		background-repeat: no-repeat;
	}

	.poles {
		grid-template-columns: 1fr;
		max-width: 620px;
	}

	.accueil-hero__titre {
		margin-bottom: clamp(120px, 60vw, 520px);
	}
}

/* Menu replié derrière le bouton à trois traits */
@media (max-width: 1150px) {
	.entete__inner {
		height: 70px;
	}

	.entete .symbole {
		width: 46px;
	}

	.entete .logo {
		width: 170px;
	}

	.entete__menu-bouton {
		display: inline-flex;
		margin-right: -10px;
	}

	.nav {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 70px; /* juste sous la barre, par-dessus le fil de retour */
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 8px var(--marge) 20px;
		background: var(--creme);
		box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
	}

	.nav.est-ouvert {
		display: flex;
	}

	.nav__liste {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.nav__liste a {
		display: block;
		padding: 14px 0;
		border-bottom: 1px solid rgba(15, 58, 51, 0.1);
	}

	.nav__separateur {
		display: none;
	}

	/* Menu déplié : page en cours en brique, sans trait */
	.nav__liste .est-actif a {
		color: #a33c17;
	}

	.nav__liste .est-actif a::after {
		display: none;
	}

	.nav__contact {
		align-self: flex-start;
		margin-top: 18px;
	}
}

/* Téléphones : l'image démarre sous le titre pour que le groupe ne passe pas derrière le texte */
@media (max-width: 600px) {
	.accueil-hero {
		background-image: linear-gradient(to bottom, var(--creme), rgba(243, 238, 229, 0) 14%, rgba(243, 238, 229, 0) 60%, var(--creme)), var(--hero-image);
		background-position: center 120px, 4% 120px;
	}

	.accueil-hero__titre {
		margin-bottom: calc(60vw + 60px);
	}
}

@media (max-width: 520px) {
	.pole__corps {
		padding: 16px 22px 22px;
	}

	.logo--petit {
		width: 140px;
	}

	.pole__nom {
		font-size: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		transition: none !important;
	}
}
