/*!
Theme Name: pfa
Author: Studio Equinoxe
Description: Thème Passerelles France Afrique
Version: 1.0.0
License: GNU General Public License v2 or later
Tags: custom-background, custom-logo, custom-menu, featured-images, translation-ready
*/
*, *::before, *::after {
	box-sizing: border-box;
}
html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}
body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd {
	margin: 0;
}
ul[class], ol[class] {
	list-style: none;
	margin: 0;
	padding: 0;
}
img, picture, svg, video {
	display: block;
	max-width: 100%;
}
img {
	height: auto;
}
button, input, select, textarea {
	font: inherit;
	color: inherit;
}
button {
	cursor: pointer;
}
a {
	color: inherit;
	text-decoration: none;
}
:root {
	--pfa-beige: #f7f3eb;
	--pfa-sable: #e5d9c9;
	--pfa-vert: #0c3032;
	--pfa-vert-clair: #3ab198;
	--pfa-dore: #c19f7c;
	--pfa-ocre: #c05735;
	--pfa-blanc: #fff;
	--pfa-vert-carte: #234344;
	--pfa-vert-80: rgba(12, 48, 50, 0.8);
	--pfa-vert-60: rgba(12, 48, 50, 0.6);
	--pfa-vert-20: rgba(12, 48, 50, 0.2);
	--pfa-beige-60: rgba(247, 243, 235, 0.6);
	--pfa-beige-30: rgba(247, 243, 235, 0.3);
	--font-titre: "Space Grotesk", "Helvetica Neue", Arial, sans-serif;
	--font-texte: "figtree", "Figtree", "Helvetica Neue", Arial, sans-serif;
	--fs-hero: clamp(2.375rem, 4.6vw, 4rem);
	--fs-h2: clamp(2rem, 3.4vw, 3rem);
	--fs-h3: clamp(1.25rem, 1.6vw, 1.5rem);
	--fs-h4: 1.25rem;
	--fs-lead: clamp(1rem, 1.25vw, 1.125rem);
	--fs-body: 1rem;
	--fs-small: 0.9375rem;
	--fs-xsmall: 0.8125rem;
	--pfa-scrollbar: 0px;
	--pfa-content: 1320px;
	--pfa-gutter: 60px;
	--pfa-piste-w: min(100vw - var(--pfa-scrollbar) - (var(--pfa-gutter) * 2), var(--pfa-content));
	--pfa-radius: 10px;
	--pfa-radius-sm: 10px;
	--pfa-radius-lg: 10px;
	--pfa-section-y: clamp(4rem, 7.5vw, 7.5rem);
	--pfa-gap: 30px;
	--pfa-onglet-w: 318px;
	--pfa-onglet-h: 89px;
	--pfa-onglet-biais: 54px;
	--pfa-hero-top: 40px;
	--pfa-header-h: calc(var(--pfa-hero-top) + var(--pfa-onglet-h));
}
body {
	--pfa-accent: var(--pfa-dore);
	font-family: var(--font-texte);
	font-size: var(--fs-body);
	font-weight: 400;
	line-height: 1.6;
	color: var(--pfa-vert);
	background: var(--pfa-blanc);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}
#page {
	position: relative;
}
body.pfa-accent-ocre {
	--pfa-accent: var(--pfa-ocre);
}
body.pfa-accent-vert-clair {
	--pfa-accent: var(--pfa-vert-clair);
}
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-titre);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.01em;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	border: none;
	margin: 0;
	padding: 0;
	color: #C05735;
}
.wpcf7-not-valid-tip, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output {
	color: #C05735;
}
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output{
	border-color: var(--pfa-beige);
	padding: 0;
	margin: 0;
}
strong, b {
	font-weight: 700;
}
p + p {
	margin-top: 1em;
}
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	word-wrap: normal !important;
}
.skip-link:focus {
	clip: auto !important;
	clip-path: none;
	height: auto;
	width: auto;
	display: block;
	position: fixed !important;
	top: 12px;
	left: 12px;
	z-index: 100000;
	padding: 12px 20px;
	background: var(--pfa-vert);
	color: var(--pfa-beige);
	font-size: var(--fs-small);
}
:focus-visible {
	outline: 2px solid var(--pfa-vert-clair);
	outline-offset: 3px;
}
input:focus-visible, textarea:focus-visible, select:focus-visible {
	outline: none;
}
.pfa-container {
	width: min(100% - (var(--pfa-gutter) * 2), var(--pfa-content));
	margin-inline: auto;
}
.pfa-container--bleed-right {
	width: auto;
	max-width: none;
	margin-right: 0;
	margin-left: max(var(--pfa-gutter), calc((100% - var(--pfa-content)) / 2));
}
.pfa-section {
	padding-block: var(--pfa-section-y);
}
.pfa-section--tight {
	padding-block: calc(var(--pfa-section-y) * 0.6);
}
.pfa-section--vert {
	background: var(--pfa-vert);
	color: var(--pfa-beige);
}
.pfa-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--pfa-gap);
	margin-bottom: clamp(2rem, 4vw, 3.75rem);
}
.pfa-section-title {
	font-size: var(--fs-h2);
	max-width: 16em;
}
.pfa-section-head--center {
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.pfa-section-head--center .pfa-section-title {
	max-width: 23em;
}
.pfa-section-lead {
	font-size: var(--fs-lead);
	line-height: 1.55;
	max-width: 52ch;
}
.pfa-section-head--split .pfa-section-lead {
	text-align: right;
	max-width: 46ch;
}
.pfa-rule {
	width: 84px;
	height: 1px;
	background: currentColor;
	opacity: 0.45;
	border: 0;
	margin: 18px 0 20px;
}
.pfa-btn {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 16px 26px;
	font-family: var(--font-texte);
	font-size: var(--fs-small);
	font-weight: 400;
	line-height: 1.2;
	border: 1px solid transparent;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.pfa-btn__icone {
	width: 18px;
	height: 18px;
	flex: none;
	transition: transform 0.25s ease;
}
.pfa-btn:hover .pfa-btn__icone, .pfa-btn:focus-visible .pfa-btn__icone {
	transform: translateX(4px);
}
.pfa-btn--dore {
	background: var(--pfa-dore);
	color: var(--pfa-beige);
}
.pfa-btn--dore:hover, .pfa-btn--dore:focus-visible {
	background: var(--pfa-vert);
}
.pfa-btn--vert {
	background: var(--pfa-vert);
	color: var(--pfa-beige);
}
.pfa-btn--vert:hover, .pfa-btn--vert:focus-visible {
	background: var(--pfa-dore);
}
.pfa-btn--contour {
	border-color: var(--pfa-beige);
	color: var(--pfa-beige);
}
.pfa-btn--contour:hover, .pfa-btn--contour:focus-visible {
	background: var(--pfa-beige);
	color: var(--pfa-vert);
}
.pfa-btn--contour-dore {
	border-color: var(--pfa-dore);
	color: var(--pfa-dore);
}
.pfa-btn--contour-dore:hover, .pfa-btn--contour-dore:focus-visible {
	background: var(--pfa-dore);
	color: var(--pfa-beige);
}
.pfa-lien-fleche {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: var(--fs-small);
	font-weight: 700;
	border-bottom: 1px solid currentColor;
	padding-bottom: 3px;
}
.pfa-lien-fleche .pfa-btn__icone {
	width: 15px;
	height: 15px;
}
.pfa-lien-fleche:hover .pfa-btn__icone, .pfa-lien-fleche:focus-visible .pfa-btn__icone {
	transform: translateX(4px);
}
.pfa-dossier {
	position: relative;
	background: var(--pfa-sable);
	border-radius: var(--pfa-radius-lg);
	padding-top: var(--pfa-onglet-h);
	clip-path: polygon(0 0, var(--pfa-onglet-w) 0, calc(var(--pfa-onglet-w) + var(--pfa-onglet-biais)) var(--pfa-onglet-h), 100% var(--pfa-onglet-h), 100% 100%, 0 100%);
}
.pfa-dossier--beige {
	background: var(--pfa-beige);
}
.pfa-carte {
	display: flex;
	flex-direction: column;
	background: var(--pfa-beige);
	color: var(--pfa-vert);
	border-radius: var(--pfa-radius);
	overflow: hidden;
	height: 100%;
}
.pfa-carte__media {
	aspect-ratio: 418 / 300;
	overflow: hidden;
}
.pfa-carte__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pfa-carte__corps {
	padding: 28px 30px 34px;
}
.pfa-carte__titre {
	font-size: var(--fs-h3);
}
.pfa-carte__texte {
	font-size: var(--fs-small);
	line-height: 1.6;
}
.pfa-tuile {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 162px;
	padding: 24px 28px;
	border-radius: var(--pfa-radius-sm);
	overflow: hidden;
	color: var(--pfa-blanc);
	isolation: isolate;
}
.pfa-tuile img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
	transition: transform 0.5s ease;
}
.pfa-tuile::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to top, var(--pfa-vert-80) 0%, rgba(12, 48, 50, 0.15) 70%);
}
.pfa-tuile:hover img, .pfa-tuile:focus-visible img {
	transform: scale(1.05);
}
.pfa-tuile__titre {
	font-size: var(--fs-h4);
	font-weight: 700;
	line-height: 1.2;
}
.pfa-pilier {
	background: var(--pfa-vert-carte);
	border-radius: var(--pfa-radius);
	padding: 34px 32px 40px;
	height: 100%;
}
.pfa-pilier__icone {
	width: 41px;
	height: 41px;
	margin-bottom: 30px;
}
.pfa-pilier__titre {
	font-size: var(--fs-h3);
}
.pfa-pilier__texte {
	font-size: var(--fs-small);
	line-height: 1.6;
}
.pfa-etape {
	position: relative;
	isolation: isolate;
	height: 100%;
	--pfa-etape-onglet-w: 66%;
	--pfa-etape-onglet-h: 94px;
	padding: calc(var(--pfa-etape-onglet-h) + 26px) 30px 36px;
}
.pfa-etape::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--pfa-sable);
	border-radius: var(--pfa-radius);
	clip-path: polygon(0 0, var(--pfa-etape-onglet-w) 0, var(--pfa-etape-onglet-w) var(--pfa-etape-onglet-h), 100% var(--pfa-etape-onglet-h), 100% 100%, 0 100%);
}
@supports (clip-path: shape(from 0 0, close)) {
	.pfa-etape::before {
		clip-path: shape(from var(--pfa-radius) 0, hline to calc(var(--pfa-etape-onglet-w) - var(--pfa-radius)), arc to var(--pfa-etape-onglet-w) var(--pfa-radius) of var(--pfa-radius) cw, vline to calc(var(--pfa-etape-onglet-h) - var(--pfa-radius)), arc to calc(var(--pfa-etape-onglet-w) + var(--pfa-radius)) var(--pfa-etape-onglet-h) of var(--pfa-radius) ccw, hline to calc(100% - var(--pfa-radius)), arc to 100% calc(var(--pfa-etape-onglet-h) + var(--pfa-radius)) of var(--pfa-radius) cw, vline to calc(100% - var(--pfa-radius)), arc to calc(100% - var(--pfa-radius)) 100% of var(--pfa-radius) cw, hline to var(--pfa-radius), arc to 0 calc(100% - var(--pfa-radius)) of var(--pfa-radius) cw, vline to var(--pfa-radius), arc to var(--pfa-radius) 0 of var(--pfa-radius) cw, close);
	}
}
.pfa-etape__num {
	position: absolute;
	top: 22px;
	right: 32px;
	font-family: var(--font-titre);
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	display: block;
}
.pfa-etape__titre {
	font-size: 1.125rem;
	margin-bottom: 10px;
	min-height: calc(2 * 1.12em);
}
.pfa-etape__texte {
	font-size: var(--fs-small);
	line-height: 1.55;
}
.pfa-carrousel__piste {
	display: flex;
	gap: var(--pfa-gap);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding-bottom: 4px;
}
.pfa-carrousel__piste::-webkit-scrollbar {
	display: none;
}
.pfa-carrousel__item {
	flex: 0 0 var(--pfa-slide-w, 100%);
	scroll-snap-align: start;
}
.pfa-carrousel__nav {
	display: flex;
	gap: 12px;
	flex: none;
}
.pfa-carrousel__btn {
	width: 52px;
	height: 52px;
	display: grid;
	place-items: center;
	background: transparent;
	border: 1px solid currentColor;
	color: inherit;
	transition: background-color 0.25s ease, color 0.25s ease, opacity 0.25s ease;
}
.pfa-carrousel__btn svg {
	width: 22px;
	height: 22px;
}
.pfa-carrousel__btn:hover:not(:disabled) {
	background: var(--pfa-vert);
	color: var(--pfa-beige);
}
.pfa-carrousel__btn:disabled {
	opacity: 0.3;
	cursor: default;
}
.pfa-carrousel--fixe .pfa-carrousel__nav {
	display: none;
}
.pfa-carrousel--fixe .pfa-container--bleed-right {
	width: min(100% - (var(--pfa-gutter) * 2), var(--pfa-content));
	margin-inline: auto;
}
.pfa-carrousel--fixe .pfa-carrousel__piste {
	justify-content: center;
}
.pfa-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 30px;
}
.pfa-form__champ {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.pfa-form__champ--large {
	grid-column: 1 / -1;
}
.pfa-form__label {
	font-size: var(--fs-small);
}
.pfa-form input[type="text"], .pfa-form input[type="email"], .pfa-form input[type="tel"], .pfa-form textarea, .pfa-form select {
	width: 100%;
	padding: 10px 18px;
	font-size: var(--fs-small);
	background: var(--pfa-blanc);
	border: 1px solid transparent;
	border-radius: 5px;
	transition: border-color 0.2s ease;
}
.pfa-form textarea {
	height: 50px;
	resize: vertical;
}
.pfa-form input::placeholder, .pfa-form textarea::placeholder {
	color: var(--pfa-vert-60);
}
.pfa-form input:focus, .pfa-form textarea:focus {
	border-color: var(--pfa-dore);
	outline: none;
}
.pfa-form__mentions {
	grid-column: 1 / -1;
	font-size: var(--fs-xsmall);
	line-height: 1.5;
	color: var(--pfa-vert-60);
}
.pfa-form__mentions strong {
	color: var(--pfa-vert);
	font-weight: 400;
}
.pfa-form__actions {
	grid-column: 1 / -1;
}
.pfa-grille {
	display: grid;
	gap: var(--pfa-gap);
}
.pfa-grille--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pfa-grille--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pfa-grille--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.pfa-texte-centre {
	text-align: center;
}
.pfa-hero {
	padding-top: var(--pfa-hero-top);
}
.pfa-hero__panneau {
	padding-top: calc(var(--pfa-onglet-h) + clamp(2rem, 5vw, 5.5rem));
	padding-inline: clamp(1.5rem, 7vw, 7rem);
	padding-bottom: clamp(3rem, 6vw, 5.5rem);
}
.pfa-hero__grille {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 194px;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
	padding-top: clamp(2rem, 4vw, 3.5rem);
}
.pfa-fil {
	font-size: var(--fs-small);
	margin-bottom: clamp(1.5rem, 3vw, 2.75rem);
}
.pfa-fil a {
	opacity: 0.7;
}
.pfa-fil a:hover {
	opacity: 1;
}
.pfa-fil span {
	font-weight: 700;
}
.pfa-hero__titre {
	font-size: var(--fs-hero);
	line-height: 1.08;
	max-width: 100%;
}
.pfa-hero__panneau .pfa-rule {
	width: 104px;
	margin: clamp(1.5rem, 3vw, 2.5rem) 0;
}
.pfa-hero__intro {
	font-size: var(--fs-lead);
	line-height: 1.55;
	max-width: 60ch;
}
.pfa-hero__intro p + p {
	margin-top: 1em;
}
.pfa-hero__cta {
	margin-top: clamp(2rem, 3.5vw, 2.75rem);
}
.pfa-hero__visuel {
	order: 2;
	aspect-ratio: 194 / 472;
	border-radius: var(--pfa-radius);
	overflow: hidden;
	margin: 0;
}
.pfa-hero__visuel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pfa-texte {
	max-width: 78ch;
	font-size: var(--fs-body);
	line-height: 1.75;
}
.pfa-texte h2 {
	font-size: var(--fs-h3);
	margin: 2em 0 0.6em;
}
.pfa-texte h3 {
	font-size: var(--fs-h4);
	margin: 1.6em 0 0.5em;
}
.pfa-texte ul, .pfa-texte ol {
	margin: 1em 0;
	padding-left: 1.2em;
}
.pfa-texte li + li {
	margin-top: 0.4em;
}
.pfa-texte a {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.page-contenu .pfa-texte--large {
	width: 100%;
}
.page-contenu .pfa-texte > *:first-child {
	margin-top: 0;
}
.erreur404__panneau {
	padding-top: calc(var(--pfa-onglet-h) + clamp(2rem, 5vw, 5.5rem));
	margin-bottom: 50px;
}
.erreur404__code {
	font-family: var(--font-titre);
	font-weight: 700;
	font-size: clamp(5rem, 13vw, 12rem);
	line-height: 0.9;
	letter-spacing: -0.02em;
}
.erreur404__titre {
	font-size: var(--fs-h2);
	margin-top: clamp(0.75rem, 1.5vw, 1.25rem);
}
.erreur404__texte {
	font-size: var(--fs-lead);
	line-height: 1.5;
	max-width: 46em;
}
.erreur404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
}
.accueil-contact__panneau {
	width: min(100%, 870px);
	margin-inline: auto;
	background: var(--pfa-beige);
	border-radius: var(--pfa-radius);
	padding: 30px;
}
.accueil-contact__panneau .wpcf7-form-control-wrap {
	display: block;
}
.accueil-contact__panneau .wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	font-size: var(--fs-xsmall);
	color: var(--pfa-ocre);
}
.accueil-contact__panneau .wpcf7-response-output {
	grid-column: 1 / -1;
	margin: 20px 0 0;
	padding: 14px 18px;
	font-size: var(--fs-small);
	border: 1px solid var(--pfa-dore);
	border-radius: var(--pfa-radius);
}
.accueil-contact__panneau .wpcf7-spinner {
	margin-left: 12px;
}
.accueil-contact__panneau .pfa-form__acceptation {
	grid-column: 1 / -1;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: var(--fs-xsmall);
	line-height: 1.5;
	color: var(--pfa-vert-60);
}
.accueil-contact__panneau .pfa-form__acceptation .wpcf7-list-item {
	margin: 0;
}
.accueil-contact__panneau input[type="submit"], .accueil-contact__panneau .wpcf7-submit {
	background: var(--pfa-dore);
	color: var(--pfa-beige);
	border: 0;
	border-radius: 0;
	padding: 16px 30px;
	font-size: var(--fs-small);
	transition: background-color 0.25s ease;
}
.accueil-contact__panneau input[type="submit"]:hover, .accueil-contact__panneau .wpcf7-submit:hover {
	background: var(--pfa-vert);
}
.pfa-etape__badge {
	position: absolute;
	top: 26px;
	left: 28px;
	display: inline-block;
	font-family: var(--font-texte);
	font-size: var(--fs-xsmall);
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pfa-vert);
	background: var(--pfa-dore);
	border-radius: 6px;
	padding: 7px 12px;
}
.pfa-hero--media-gauche .pfa-hero__grille {
	grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
	gap: clamp(2rem, 7vw, 7rem);
	padding-top: 0;
	align-items: center;
}
.pfa-hero__texte {
	order: 1;
}
.pfa-hero--media-gauche .pfa-hero__visuel {
	order: 1;
	aspect-ratio: 425 / 445;
}
.pfa-hero--media-gauche .pfa-hero__texte {
	order: 2;
}
.pfa-hero--media-gauche .pfa-hero__titre {
	font-size: clamp(2.25rem, 3.8vw, 3.375rem);
}
.pfa-hero--media-gauche .pfa-hero__intro {
	max-width: 42ch;
}
.pfa-intro {
	text-align: center;
	max-width: 80ch;
	margin-inline: auto;
}
.pfa-intro p {
	font-size: var(--fs-lead);
	line-height: 1.55;
}
.pfa-intro p + p {
	margin-top: 1.2em;
}
.pfa-intro p.pfa-dore {
	color: var(--pfa-dore);
	font-size: var(--fs-body);
}
.pfa-panneau-image {
	position: relative;
}
.pfa-panneau-image > h2 {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	margin: 0;
	max-width: 62%;
}
.pfa-panneau-image__carte {
	position: relative;
	isolation: isolate;
	border-radius: var(--pfa-radius);
	color: var(--pfa-beige);
	--pfa-panneau-onglet-w: 71%;
	min-height: 780px;
	display: flex;
	align-items: flex-end;
	border-radius: var(--pfa-radius-lg);
	padding: calc(var(--pfa-onglet-h) + clamp(2.5rem, 5vw, 4rem)) clamp(2rem, 7.6vw, 6.875rem) clamp(3rem, 7vw, 6.25rem);
	clip-path: polygon(var(--pfa-panneau-onglet-w) 0, 100% 0, 100% 100%, 0 100%, 0 var(--pfa-onglet-h), calc(var(--pfa-panneau-onglet-w) - var(--pfa-onglet-biais)) var(--pfa-onglet-h));
}
@supports (clip-path: shape(from 0 0, close)) {
	.pfa-panneau-image__carte {
		clip-path: shape(from calc(var(--pfa-panneau-onglet-w) + var(--pfa-radius)) 0, hline to calc(100% - var(--pfa-radius)), arc to 100% var(--pfa-radius) of var(--pfa-radius) cw, vline to calc(100% - var(--pfa-radius)), arc to calc(100% - var(--pfa-radius)) 100% of var(--pfa-radius) cw, hline to var(--pfa-radius), arc to 0 calc(100% - var(--pfa-radius)) of var(--pfa-radius) cw, vline to calc(var(--pfa-onglet-h) + var(--pfa-radius)), arc to var(--pfa-radius) var(--pfa-onglet-h) of var(--pfa-radius) cw, hline to calc(var(--pfa-panneau-onglet-w) - var(--pfa-onglet-biais) - var(--pfa-radius)), arc to calc(var(--pfa-panneau-onglet-w) - var(--pfa-onglet-biais) + 5.19px) calc(var(--pfa-onglet-h) - 8.55px) of var(--pfa-radius) ccw, line to calc(var(--pfa-panneau-onglet-w) - 5.19px) 8.55px, arc to calc(var(--pfa-panneau-onglet-w) + var(--pfa-radius)) 0 of var(--pfa-radius) cw, close);
	}
}
.pfa-panneau-image__carte > img {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pfa-panneau-image__carte::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(12, 48, 50, 0.08) 0%, rgba(12, 48, 50, 0.18) 45%, rgba(12, 48, 50, 0.62) 100%);
}
.pfa-panneau-image__corps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(2rem, 4vw, 3.5rem);
	width: 100%;
}
.pfa-panneau-image__corps h3 {
	font-size: var(--fs-h4);
	margin-bottom: 18px;
	color: white;
}
.pfa-panneau-image__corps hr {
	width: 84px;
	height: 1px;
	background: white;
	border: 0;
	margin: 0 0 20px;
}
.pfa-panneau-image__corps p {
	font-size: var(--fs-small);
	line-height: 1.6;
	color: white;
}
.pfa-duo {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: stretch;
}
.pfa-duo > figure {
	margin: 0;
	display: flex;
}
.pfa-duo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--pfa-radius);
}
.pfa-duo h2 {
	font-size: var(--fs-h2);
	line-height: 1.12;
	margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
}
.pfa-chiffres-ligne {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 4vw, 3rem);
	margin-top: clamp(2.5rem, 5vw, 4rem);
}
.pfa-chiffres-ligne > div {
	display: flex;
	align-items: flex-end;
	gap: 18px;
}
.pfa-chiffres-ligne > div + div {
	border-left: 1px solid var(--pfa-vert-20);
	padding-left: clamp(1.5rem, 4vw, 3rem);
}
.pfa-chiffres-ligne strong {
	font-family: var(--font-titre);
	font-size: clamp(2.5rem, 4.3vw, 3.875rem);
	font-weight: 700;
	line-height: 1.05;
}
.pfa-chiffres-ligne strong span {
	font-size: clamp(1.75rem, 3.1vw, 2.8125rem);
}
.pfa-chiffres-ligne span {
	font-size: var(--fs-small);
	font-weight: 700;
	line-height: 1.4;
	max-width: 45%;
}
.pfa-piliers {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2.25rem);
}
.pfa-piliers > * {
	display: flex;
	align-items: center;
	margin: 0;
	background: var(--pfa-dore);
	border-radius: var(--pfa-radius);
	padding: clamp(1.5rem, 3vw, 2rem);
	font-family: var(--font-titre);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.35;
}
.pfa-chiffres-ligne em {
	display: block;
	font-style: normal;
	font-size: var(--fs-xsmall);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pfa-vert-60);
	margin-top: 10px;
}
.pfa-hero--texte .pfa-hero__grille {
	grid-template-columns: minmax(0, 1fr);
	padding-top: 0;
}
.pfa-hero--texte .pfa-hero__titre {
	max-width: 18em;
}
.pfa-hero__intro{
	font-size: 25px;
}
.pfa-texte--large {
	width: 100%;
	max-width: none;
}
.pfa-texte--large > * + * {
	margin-top: clamp(3.5rem, 7vw, 6.25rem);
}
.pfa-texte--large > *:first-child {
	margin-top: 0;
}
.pfa-texte--large h2 {
	font-size: var(--fs-h2);
	line-height: 1.12;
	margin: 0 0 clamp(1.75rem, 3.5vw, 2.75rem);
}
.pfa-texte--large > * + h2 {
	margin-top: clamp(3.5rem, 7vw, 6.25rem);
}
.wp-block-column > *:first-child {
	margin-top: 0;
}
.pfa-texte--large h3 {
	font-size: var(--fs-h3);
	margin: 0 0 12px;
}
.pfa-texte--large .pfa-intro h2 {
	margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
}
.pfa-texte--large p + p {
	margin-top: 1.1em;
}
.pfa-texte--large .pfa-usages > p + p, .pfa-texte--large .pfa-piliers > p + p, .pfa-texte--large .pfa-grille > p + p, .pfa-texte--large .pfa-orientation > p + p, .pfa-texte--large .pfa-chiffres-ligne > p + p {
	margin-top: 0;
}
.pfa-texte--large .pfa-btn {
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
	text-decoration: none;
}
.pfa-texte--large .pfa-section-head--split {
	align-items: flex-start;
}
.pfa-texte--large .pfa-btn::after {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 27' fill='none'%3E%3Cpath d='M12.99 26.2L25.85 13.34L12.86 0.35M25.85 13.34L0 13.22' stroke='%23F7F3EB' stroke-width='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.25s ease;
}
.pfa-texte--large .pfa-btn:hover::after {
	transform: translateX(4px);
}
.pfa-texte--large .pfa-btn--contour::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 27' fill='none'%3E%3Cpath d='M12.99 26.2L25.85 13.34L12.86 0.35M25.85 13.34L0 13.22' stroke='%230C3032' stroke-width='1.4'/%3E%3C/svg%3E");
}
.pfa-orientation {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--pfa-gap);
}
.pfa-orientation > div {
	--pfa-orient-w: 26.2%;
	--pfa-orient-h: 45px;
	--pfa-orient-b: 24px;
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 224fr) minmax(0, 292fr);
	gap: clamp(1.25rem, 2.9vw, 2.625rem);
	align-items: stretch;
	padding: calc(var(--pfa-orient-h) + clamp(2rem, 4.4vw, 4rem)) clamp(1.25rem, 3vw, 2.6875rem) clamp(1.75rem, 3.4vw, 3.0625rem);
}
.pfa-orientation > div::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--pfa-beige);
	border-radius: var(--pfa-radius);
	clip-path: polygon(0 0, var(--pfa-orient-w) 0, calc(var(--pfa-orient-w) + var(--pfa-orient-b)) var(--pfa-orient-h), 100% var(--pfa-orient-h), 100% 100%, 0 100%);
}
@supports (clip-path: shape(from 0 0, close)) {
	.pfa-orientation > div::before {
		clip-path: shape(from var(--pfa-radius) 0, hline to calc(var(--pfa-orient-w) - var(--pfa-radius)), arc to calc(var(--pfa-orient-w) + 4.71px) 8.82px of var(--pfa-radius) cw, line to calc(var(--pfa-orient-w) + var(--pfa-orient-b) - 4.71px) calc(var(--pfa-orient-h) - 8.82px), arc to calc(var(--pfa-orient-w) + var(--pfa-orient-b) + var(--pfa-radius)) var(--pfa-orient-h) of var(--pfa-radius) ccw, hline to calc(100% - var(--pfa-radius)), arc to 100% calc(var(--pfa-orient-h) + var(--pfa-radius)) of var(--pfa-radius) cw, vline to calc(100% - var(--pfa-radius)), arc to calc(100% - var(--pfa-radius)) 100% of var(--pfa-radius) cw, hline to var(--pfa-radius), arc to 0 calc(100% - var(--pfa-radius)) of var(--pfa-radius) cw, vline to var(--pfa-radius), arc to var(--pfa-radius) 0 of var(--pfa-radius) cw, close);
	}
}
.pfa-orientation figure {
	margin: 0;
}
.pfa-orientation img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: clamp(13.75rem, 21vw, 19.0625rem);
	object-fit: cover;
	border-radius: var(--pfa-radius);
}
.pfa-orientation > div > div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.pfa-orientation h3 {
	font-size: 1.1875rem;
	line-height: 1.33;
	margin: 0;
}
.pfa-orientation .pfa-rule {
	margin: 20px 0;
}
.pfa-orientation p {
	font-size: 1rem;
	line-height: 1.25;
}
.pfa-orientation ul {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	font-size: 1rem;
	line-height: 1.25;
}
.pfa-orientation li {
	position: relative;
	padding-left: 20px;
}
.pfa-orientation li + li {
	margin-top: 0;
}
.pfa-orientation li::before {
	content: "•";
	position: absolute;
	left: 0px;
}
.pfa-orientation .pfa-btn {
	margin-top: auto;
	max-width: 100%;
}
.pfa-bloc-vert {
	--pfa-bleed: max(var(--pfa-gutter), (100vw - var(--pfa-scrollbar) - var(--pfa-content)) / 2);
	background: var(--pfa-vert);
	color: var(--pfa-beige);
	margin-inline: calc(-1 * var(--pfa-bleed));
	padding: clamp(3.5rem, 6.9vw, 6.1875rem) var(--pfa-bleed);
}
.pfa-bloc-vert > * + * {
	margin-top: clamp(3rem, 7.7vw, 6.9375rem);
}
[data-aos] {
	transition: opacity 350ms cubic-bezier(0.16, 1, 0.3, 1), transform 350ms cubic-bezier(0.16, 1, 0.3, 1);
}
[data-aos-actif] [data-aos] {
	opacity: 0;
}
[data-aos-actif] [data-aos="fade-right"] {
	transform: translate3d(-40px, 0, 0);
}
[data-aos-actif] [data-aos="zoom-in"] {
	transform: scale(0.95);
}
[data-aos-actif] [data-aos][data-aos-delay="100"] {
	transition-delay: 100ms;
}
[data-aos-actif] [data-aos][data-aos-delay="200"] {
	transition-delay: 200ms;
}
[data-aos-actif] [data-aos][data-aos-delay="300"] {
	transition-delay: 300ms;
}
[data-aos-actif] [data-aos][data-aos-delay="400"] {
	transition-delay: 400ms;
}
[data-aos-actif] [data-aos][data-aos-delay="500"] {
	transition-delay: 500ms;
}
[data-aos-actif] [data-aos][data-aos-vu] {
	opacity: 1;
	transform: none;
}
@media (max-width: 1199px) {
	:root {
		--pfa-gutter: 32px;
		--pfa-gap: 24px;
		--pfa-onglet-w: 240px;
		--pfa-onglet-h: 72px;
		--pfa-onglet-biais: 40px;
		--pfa-hero-top: 32px;
	}
	.pfa-hero__grille {
		grid-template-columns: minmax(0, 1fr);
	}
	.pfa-hero__visuel {
		display: none;
	}
	.pfa-hero--media-gauche .pfa-hero__grille {
		grid-template-columns: minmax(0, 1fr);
	}
	.pfa-hero--media-gauche .pfa-hero__visuel {
		display: block;
		aspect-ratio: 16 / 9;
		margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
	}
}
@media (max-width: 1024px) {
	.pfa-hero {
		padding-top: var(--pfa-header-h);
	}
	.pfa-form textarea {
	    height: auto;
	}
	.pfa-hero .pfa-dossier {
		clip-path: none;
	}
	.pfa-hero__panneau, .pfa-hero--media-gauche .pfa-hero__panneau {
		padding-top: clamp(2rem, 5vw, 3rem);
	}
	.pfa-hero__panneau.erreur404__panneau {
		padding-top: clamp(2.5rem, 6vw, 4rem);
	}
	.pfa-orientation, .pfa-orientation > div {
		grid-template-columns: minmax(0, 1fr);
	}
	.pfa-orientation > div {
		--pfa-orient-w: 40%;
		--pfa-orient-h: 36px;
		--pfa-orient-b: 20px;
	}
	.pfa-orientation img, .pfa-cta-photo img {
		min-height: 0;
		height: 400px;
	}
	.pfa-grille--3, .pfa-grille--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.pfa-form {
		grid-template-columns: minmax(0, 1fr);
	}
	.pfa-panneau-image > h2 {
		position: static;
		max-width: none;
		margin-bottom: clamp(1.5rem, 3vw, 2rem);
	}
	.pfa-panneau-image__carte {
		min-height: 0;
		clip-path: none;
		padding-top: clamp(2.5rem, 5vw, 4rem);
	}
	.pfa-panneau-image__corps {
		grid-template-columns: minmax(0, 1fr);
	}
	.pfa-duo {
		grid-template-columns: minmax(0, 1fr);
	}
	.pfa-chiffres-ligne {
		grid-template-columns: minmax(0, 1fr);
	}
	.pfa-chiffres-ligne > div + div {
		border-left: 0;
		padding-left: 0;
	}
	.pfa-piliers {
		grid-template-columns: minmax(0, 1fr);
	}
	.pfa-chiffres-ligne, .pfa-membre {
	    grid-template-columns: 1fr;
	}
	.pfa-chiffres-ligne > div {
	    flex-direction: column;
	    text-align: center;
	    align-items: center;
	}
	.pfa-bloc-vert .pfa-chiffres-ligne > div + div {
	    padding-left: 0;
	}
}
@media (max-width: 640px) {
	:root {
		--pfa-gutter: 20px;
		--pfa-gap: 16px;
		--pfa-onglet-w: 200px;
		--pfa-onglet-h: 64px;
		--pfa-onglet-biais: 32px;
		--pfa-hero-top: 20px;
	}
	.pfa-section-head--split .pfa-section-lead {
		text-align: left;
		max-width: 100%;
	}
	.pfa-texte--large .pfa-section-head--split {
		align-items: flex-start;
		flex-direction: column;
	}
	.pfa-hero__intro {
		font-size: 18px;
	}
	.pfa-grille--2, .pfa-grille--3, .pfa-grille--4 {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (prefers-reduced-motion: reduce) {
	[data-aos-actif] [data-aos] {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
