
	body{
		font-family: 'Manrope';
		font-weight: 400;
		font-size: 16px;
		margin-top: 5px;
	}

	::selection{
		background-color: var(--vert-fonce);
		color: #ffffff;
	}
	::-moz-selection{
		background-color: var(--vert-fonce);
		color: #ffffff;
	}

	html,
	body{
		max-width: 100%;
		overflow-x: clip;
	}

	a{
		text-decoration: none;
		color: var(--vert-fonce);
	}

	p{
		margin-top: 0px;
	}

	.margin-0{
		margin: 0px;
	}

	section .cdf-container p{
		margin-bottom: 30px;
	}

/*---------------------------------------------------COLOR----------------------------------------------*/

	:root {
	  --vert-fonce: #001919;
	  --vert-intermediaire: #1d5150;
	  --vert-accent: #243939;
	  --cdf-modal-error: #b47266;
	  --cdf-header-height: 70px;
	  --cdf-logo-width: 230px;
	  --cdf-header-bar-height: 70px;
	  --cdf-contact-panel-top: 70px;
	  --cdf-panel-ease: cubic-bezier(0.4, 0, 0.2, 1);
	  --cdf-panel-duration: 0.55s;
	  --cdf-curtain-ease: cubic-bezier(0.76, 0, 0.24, 1);
	  --cdf-curtain-duration: 0.95s;
	  --cdf-reveal-ease: cubic-bezier(0.16, 1, 0.3, 1);
	  --cdf-menu-panel-duration: 1.05s;
	  --cdf-autofill-bg: rgba(29, 81, 80, 0.18);
	  --cdf-bottom-strip-height: 52px;
	  --cdf-content-width: 1200px;
	  --cdf-content-padding: 30px;
	  --cdf-bp-desktop: 1200px;
	  --cdf-bp-tablet: 768px;
	  --cdf-tablet-padding: 48px;
	}

/*---------------------------------------------------HEADER----------------------------------------------*/

	.cdf-header{
		position: absolute;
		width: 100%;
		z-index: 1100;
		transition: background-color 0.35s var(--cdf-panel-ease);
	}
		.cdf-header.is-panel-open{
			position: fixed;
		}
			.cdf-header.is-panel-open .cdf-header__bar{
				border-bottom-color: rgba(0, 25, 25, 0.12);
				border-left-color: rgba(0, 25, 25, 0.12);
			}

		.cdf-header.cdf-header--contact-open.cdf-header--contact-closing.is-panel-open .cdf-header__logo .cdf-logo__default,
		.cdf-header.cdf-header--menu-open.cdf-header--menu-closing.is-panel-open .cdf-header__logo .cdf-logo__default{
			opacity: 1;
			transition: opacity 0.75s var(--cdf-curtain-ease) 0.06s;
		}
		.cdf-header.cdf-header--contact-open.cdf-header--contact-closing.is-panel-open .cdf-header__logo .cdf-logo__panel,
		.cdf-header.cdf-header--menu-open.cdf-header--menu-closing.is-panel-open .cdf-header__logo .cdf-logo__panel{
			opacity: 0;
			transition: opacity 0.75s var(--cdf-curtain-ease) 0.06s;
		}
		.cdf-header.cdf-header--contact-open.cdf-header--contact-closing.is-panel-open .cdf-header__logo .cdf-logo--filter img,
		.cdf-header.cdf-header--menu-open.cdf-header--menu-closing.is-panel-open .cdf-header__logo .cdf-logo--filter img{
			filter: brightness(100);
			transition: filter 0.75s var(--cdf-curtain-ease) 0.06s;
		}
		.cdf-header.cdf-header--contact-open::before{
			content: '';
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			height: var(--cdf-contact-panel-top, var(--cdf-header-bar-height));
			background: #fff;
			z-index: -1;
			pointer-events: none;
			opacity: 1;
			transition: opacity 0.75s var(--cdf-curtain-ease) 0.06s;
		}
		.cdf-header.cdf-header--contact-open.cdf-header--contact-closing::before{
			opacity: 0;
		}
		.cdf-header.cdf-header--contact-open.cdf-header--contact-closing.is-panel-open .cdf-header__bar,
		.cdf-header.cdf-header--menu-open.cdf-header--menu-closing.is-panel-open .cdf-header__bar{
			border-bottom-color: rgba(255, 255, 255, 0.3);
			border-left-color: rgba(255, 255, 255, 0.3);
			transition: border-color 0.75s var(--cdf-curtain-ease) 0.06s;
		}
		.cdf-header.cdf-header--contact-open.cdf-header--contact-closing.is-panel-open .cdf-header__contact-btn,
		.cdf-header.cdf-header--menu-open.cdf-header--menu-closing.is-panel-open .cdf-header__contact-btn{
			background-color: white;
			color: var(--vert-intermediaire);
			transition: background-color 0.75s var(--cdf-curtain-ease) 0.06s, color 0.75s var(--cdf-curtain-ease) 0.06s;
		}
		.cdf-header.cdf-header--contact-open.cdf-header--contact-closing .cdf-header__toggle,
		.cdf-header.cdf-header--menu-open.cdf-header--menu-closing .cdf-header__toggle{
			color: white;
			transition: color 0.75s var(--cdf-curtain-ease) 0.06s;
		}
		.cdf-header.cdf-header--menu-open.cdf-header--menu-closing .cdf-header__lang{
			opacity: 0;
			visibility: hidden;
			pointer-events: none;
			transition: opacity 0.75s var(--cdf-curtain-ease) 0.06s, visibility 0.75s var(--cdf-curtain-ease) 0.06s;
		}

		.cdf-header .cdf-header__inner{
			display: flex;
		}
			.cdf-header__logo{
				padding: 40px;
			}
				.cdf-header__logo img{
					width: 150px;
				}
				.cdf-logo--dual{
					position: relative;
					display: block;
				}
				.cdf-logo--dual img{
					transition: opacity 0.75s var(--cdf-curtain-ease);
				}
				.cdf-logo__default{
					opacity: 1;
				}
				.cdf-logo__panel{
					position: absolute;
					top: 0;
					left: 0;
					opacity: 0;
				}
				.cdf-header.is-panel-open:not(.cdf-header--menu-closing):not(.cdf-header--contact-closing) .cdf-logo__default{
					opacity: 0;
				}
				.cdf-header.is-panel-open:not(.cdf-header--menu-closing):not(.cdf-header--contact-closing) .cdf-logo__panel{
					opacity: 1;
				}
				.cdf-logo--filter img{
					filter: brightness(100);
					transition: filter 0.75s var(--cdf-curtain-ease);
				}
				.cdf-header.is-panel-open:not(.cdf-header--menu-closing):not(.cdf-header--contact-closing) .cdf-logo--filter img{
					filter: none;
				}

			.cdf-header__bar{
				width: 100%;
				display: flex;
				height: 70px;
				justify-content: space-between;
				align-items: stretch;
				border-bottom: 0.8px solid rgba(255,255,255, 0.3);
				border-left: 0.8px solid rgba(255,255,255, 0.3);
				transition: border-color 0.75s var(--cdf-curtain-ease);
			}
				.cdf-header__bar-left{
					display: flex;
					align-items: center;
					gap: 24px;
				}

				.cdf-header__toggle{
					display: inline-flex;
					align-items: center;
					gap: 12px;
					background-color: transparent;
					border: 0;
					padding: 0 20px;
					color: white;
					text-transform: uppercase;
					font-family: 'Manrope';
					font-weight: 600;
					letter-spacing: 2px;
					cursor: pointer;
					transition: color 0.75s var(--cdf-curtain-ease);
				}
					.cdf-header.is-panel-open .cdf-header__toggle{
						color: var(--vert-fonce);
					}
					.cdf-header__toggle-label{
						display: inline-block;
						min-width: 4.5em;
						text-align: left;
					}

				.cdf-header__toggle-group{
					position: relative;
					display: inline-flex;
					align-items: center;
				}

				.cdf-header__lang{
					position: absolute;
					left: calc(100% + 12px);
					top: 50%;
					transform: translateY(-50%);
					z-index: 5;
					width: max-content;
					opacity: 0;
					visibility: hidden;
					pointer-events: none;
					transition:
						opacity 0.35s var(--cdf-panel-ease),
						visibility 0.35s var(--cdf-panel-ease);
				}
					.cdf-header.cdf-header--menu-open .cdf-header__lang{
						opacity: 1;
						visibility: visible;
						pointer-events: auto;
					}
					.cdf-header__lang-trigger{
						display: inline-flex;
						align-items: center;
						padding: 0;
						border: 0;
						background: transparent;
						cursor: pointer;
						color: inherit;
						font: inherit;
					}
						.cdf-header__lang-trigger:disabled{
							cursor: default;
						}
						.cdf-header__lang-trigger img{
							display: block;
							width: 22px;
							height: auto;
						}
					.cdf-header__lang-dropdown{
						position: absolute;
						top: 100%;
						left: 50%;
						transform: translateX(-50%) translateY(4px);
						min-width: 0;
						padding: 7px;
						background: #fff;
						border: none;
						box-shadow: 0 8px 24px rgba(0, 0, 0, 0.07);
						opacity: 0;
						visibility: hidden;
						pointer-events: none;
						transition: opacity 0.2s var(--cdf-panel-ease), visibility 0.2s var(--cdf-panel-ease), transform 0.2s var(--cdf-panel-ease);
						transition-delay: 0.08s;
						z-index: 1200;
						border-radius: 0px 0px 10px 10px;
					}
						.cdf-header__lang-dropdown::before{
							content: '';
							position: absolute;
							top: -10px;
							left: -6px;
							right: -6px;
							height: 10px;
						}
					.cdf-header__lang-option{
						display: flex;
						align-items: center;
						justify-content: center;
						padding: 6px;
						border-radius: 2px;
						transition: background 0.2s ease;
					}
						.cdf-header__lang-option:hover,
						.cdf-header__lang-option:focus-visible{
							background: rgba(0, 25, 25, 0.06);
						}
						.cdf-header__lang-option img{
							display: block;
							width: 22px;
							height: auto;
						}
					@media (hover: hover){
						.cdf-header__lang:hover .cdf-header__lang-dropdown,
						.cdf-header__lang:focus-within .cdf-header__lang-dropdown{
							opacity: 1;
							visibility: visible;
							pointer-events: auto;
							transform: translateX(-50%) translateY(0);
							transition-delay: 0s;
						}
					}
					.cdf-header__lang.is-expanded .cdf-header__lang-dropdown{
						opacity: 1;
						visibility: visible;
						pointer-events: auto;
						transform: translateX(-50%) translateY(0);
						transition-delay: 0s;
					}

				.cdf-burger{
					position: relative;
					display: inline-flex;
					flex-direction: column;
					justify-content: center;
					width: 22px;
					height: 16px;
					flex-shrink: 0;
				}
					.cdf-burger__line{
						display: block;
						width: 100%;
						height: 2px;
						background-color: currentColor;
						border-radius: 1px;
						transform-origin: center;
						transition:
							transform 0.4s var(--cdf-panel-ease),
							opacity 0.25s var(--cdf-panel-ease),
							top 0.4s var(--cdf-panel-ease),
							width 0.4s var(--cdf-panel-ease);
					}
					.cdf-burger__line:nth-child(1){
						position: absolute;
						top: 0;
						left: 0;
					}
					.cdf-burger__line:nth-child(2){
						position: absolute;
						top: 50%;
						left: 0;
						width: 57%;
						transform: translateY(-50%);
					}
					.cdf-burger__line:nth-child(3){
						position: absolute;
						bottom: 0;
						left: 0;
					}
					.cdf-header__toggle.is-active .cdf-burger__line:nth-child(1){
						top: 50%;
						width: 100%;
						transform: translateY(-50%) rotate(45deg);
					}
					.cdf-header__toggle.is-active .cdf-burger__line:nth-child(2){
						opacity: 0;
						width: 100%;
						transform: translateY(-50%) scaleX(0);
					}
					.cdf-header__toggle.is-active .cdf-burger__line:nth-child(3){
						bottom: auto;
						top: 50%;
						width: 100%;
						transform: translateY(-50%) rotate(-45deg);
					}

				/* Survol du toggle : les barres et le label s'agrandissent légèrement.
				   Basé sur :hover → s'applique à l'ouverture comme à la fermeture. */
				.cdf-header__toggle .cdf-burger{
					transition: transform 0.35s var(--cdf-panel-ease);
				}
				.cdf-header__toggle .cdf-header__toggle-label{
					transform-origin: left center;
					transition: transform 0.35s var(--cdf-panel-ease);
				}
				.cdf-header__toggle:hover .cdf-burger,
				.cdf-header__toggle:focus-visible .cdf-burger{
					transform: scale(1.18);
				}
				.cdf-header__toggle:hover .cdf-header__toggle-label,
				.cdf-header__toggle:focus-visible .cdf-header__toggle-label{
					transform: scale(1.08);
				}
				@media (prefers-reduced-motion: reduce){
					.cdf-header__toggle:hover .cdf-burger,
					.cdf-header__toggle:focus-visible .cdf-burger,
					.cdf-header__toggle:hover .cdf-header__toggle-label,
					.cdf-header__toggle:focus-visible .cdf-header__toggle-label{
						transform: none;
					}
				}

				.cdf-header__contact-btn{
					background-color: white;
					color: var(--vert-intermediaire);
					text-transform: uppercase;
					padding-left: 50px;
					padding-right: 50px;
					border-radius: 0;
					border: none;
					font-family: 'Manrope';
					font-weight: 600;
					letter-spacing: 2px;
					cursor: pointer;
					transition: background-color 0.75s var(--cdf-curtain-ease), color 0.75s var(--cdf-curtain-ease);
				}
					.cdf-header__contact-btn:hover{
						background-color: var(--vert-fonce);
						color: white;
					}
					.cdf-header.is-panel-open .cdf-header__contact-btn{
						background-color: var(--vert-intermediaire);
						color: #fff;
					}
					.cdf-header.is-panel-open .cdf-header__contact-btn:hover{
						background-color: var(--vert-fonce);
					}

				body.cdf-panel-open{
					overflow: hidden;
				}

				.cdf-scroll-backdrop{
					position: fixed;
					inset: 0;
					background: #fff;
					z-index: 998;
					pointer-events: none;
					opacity: 0;
					transition: opacity 0.35s var(--cdf-panel-ease);
				}
					.cdf-scroll-backdrop.is-visible{
						opacity: 1;
					}

		/*---------------------------------------------------FORMULAIRE DE CONTACT----------------------------------------------*/

			.cdf-contact-form{
				background-color: var(--vert-fonce) !important;
				color: white;
				padding: 50px;
				max-width: 500px;
				margin-top: 20px;
				position: relative;
				color-scheme: dark;
			}
				.cdf-contact-form:after{
					content: '';
					background-color: var(--cdf-modal-error);
					position: absolute;
					bottom: 0px;
					right: -5px;
					width: 5px;
					height: 80%;
				}
				.cdf-contact-form__steps{
					display: grid;
					grid-template-columns: 1fr;
				}
				.cdf-contact-form__step{
					grid-area: 1 / 1;
					opacity: 0;
					visibility: hidden;
					transform: translateY(14px);
					transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s;
					pointer-events: none;
				}
				.cdf-contact-form__step.is-active{
					opacity: 1;
					visibility: visible;
					transform: translateY(0);
					pointer-events: auto;
				}

					.cdf-contact-form__field label{
						display: block;
		  				text-transform: uppercase;
		  				letter-spacing: 0.5px;
		  				font-weight: 700;
		  				font-size: 13px;
		  				opacity: 0.9;
					}
					.cdf-contact-form__field input,
					.cdf-contact-form__field textarea,
					.cdf-contact-form__field select{
						width: 80%;
						background: none;
						border-width: 0px 0px 1px 0px;
						border-color: rgba(255,255,255,0.1);
						border-radius: 0;
						color: rgba(255,255,255,0.95);
						outline: none;
						padding: 8px 0px 10px 0px;
						margin-bottom: 8px;
						font-family: 'Manrope';
						font-size: 16px;
						line-height: 1.5;
						resize: none;
						-webkit-appearance: none;
						-moz-appearance: none;
						appearance: none;
					}
					.cdf-contact-form__field select{
						background-color: transparent;
						padding-right: 24px;
						cursor: pointer;
					}
					.cdf-contact-form__field:has(select){
						position: relative;
					}
					.cdf-contact-form__field:has(select)::after{
						content: '';
						position: absolute;
						right: calc(20% + 2px);
						bottom: 22px;
						width: 9px;
						height: 9px;
						background: url('../img/arrow.svg') center / contain no-repeat;
						filter: invert(1);
						pointer-events: none;
						transform: rotate(90deg);
					}
					@supports (-webkit-touch-callout: none){
						.cdf-contact-form__field select{
							border-radius: 0 !important;
							-webkit-border-radius: 0;
						}
					}
					.cdf-contact-form__field input:-webkit-autofill,
					.cdf-contact-form__field input:-webkit-autofill:hover,
					.cdf-contact-form__field input:-webkit-autofill:focus,
					.cdf-contact-form__field input:-webkit-autofill:active,
					.cdf-contact-form__field textarea:-webkit-autofill,
					.cdf-contact-form__field textarea:-webkit-autofill:hover,
					.cdf-contact-form__field textarea:-webkit-autofill:focus,
					.cdf-contact-form__field textarea:-webkit-autofill:active,
					.cdf-contact-form__field select:-webkit-autofill,
					.cdf-contact-form__field select:-webkit-autofill:hover,
					.cdf-contact-form__field select:-webkit-autofill:focus,
					.cdf-contact-form__field select:-webkit-autofill:active{
						-webkit-box-shadow: 0 0 0 1000px var(--cdf-autofill-bg) inset;
						box-shadow: 0 0 0 1000px var(--cdf-autofill-bg) inset;
						-webkit-text-fill-color: rgba(255,255,255,0.95);
						caret-color: rgba(255,255,255,0.95);
						border-bottom-color: rgba(255,255,255,0.18);
						transition: background-color 99999s ease-out 0s;
					}
					.cdf-contact-form__field input:autofill,
					.cdf-contact-form__field input:-moz-autofill,
					.cdf-contact-form__field textarea:autofill,
					.cdf-contact-form__field textarea:-moz-autofill,
					.cdf-contact-form__field select:autofill,
					.cdf-contact-form__field select:-moz-autofill{
						background-color: var(--cdf-autofill-bg) !important;
						color: rgba(255,255,255,0.95) !important;
						border-bottom-color: rgba(255,255,255,0.18);
						box-shadow: 0 0 0 1000px var(--cdf-autofill-bg) inset;
					}

					.cdf-contact-form__actions{
						display: flex;
						align-items: flex-end;
						justify-content: space-between;
						gap: 24px;
						margin-top: 28px;
						width: 80%;
					}
					.cdf-contact-form__actions--end{
						justify-content: flex-end;
					}
					.cdf-contact-form__actions--back{
						display: none;
						margin: 0 0 4px;
						width: 80%;
					}
					.cdf-contact-form__btn{
						position: relative;
						display: inline-block;
						margin: 0;
						padding: 0 0 12px;
						border: 0;
						background: none;
						color: #fff;
						font-family: 'Manrope', sans-serif;
						font-size: 12px;
						font-weight: 600;
						letter-spacing: 1.5px;
						text-transform: uppercase;
						cursor: pointer;
						transition: transform 0.35s ease;
					}
						.cdf-contact-form__btn::before{
							content: '';
							position: absolute;
							left: 0;
							bottom: 0;
							width: 70%;
							height: 3px;
							background-color: var(--vert-accent);
							transform: scaleX(0);
							transform-origin: left;
							transition: transform 0.35s ease;
						}
						.cdf-contact-form__btn:hover,
						.cdf-contact-form__btn:focus-visible{
							transform: translateY(-2px);
						}
						.cdf-contact-form__btn:hover::before,
						.cdf-contact-form__btn:focus-visible::before{
							transform: scaleX(1);
						}
						.cdf-contact-form__btn--next::after,
						.cdf-contact-form__btn--submit::after{
							content: '';
							display: inline-block;
							width: 9px;
							height: 9px;
							margin-left: 10px;
							background-image: url('../img/arrow.svg');
							background-size: contain;
							background-repeat: no-repeat;
							filter: invert(1);
							vertical-align: middle;
							transition: transform 0.5s ease;
						}
						.cdf-contact-form__btn--next:hover::after,
						.cdf-contact-form__btn--submit:hover::after{
							transform: translateX(5px);
						}
						.cdf-contact-form__btn--prev{
							padding-left: 20px;
						}
						.cdf-contact-form__btn--prev::after{
							content: '';
							position: absolute;
							left: 0;
							top: 3px;
							width: 9px;
							height: 9px;
							background-image: url('../img/arrow.svg');
							background-size: contain;
							background-repeat: no-repeat;
							filter: invert(1);
							transform: rotate(180deg);
							transition: transform 0.5s ease;
						}
						.cdf-contact-form__btn--prev:hover::after,
						.cdf-contact-form__btn--prev:focus-visible::after{
							transform: rotate(180deg) translateX(5px);
						}
						.cdf-contact-form__btn:disabled{
							opacity: 0.5;
							cursor: not-allowed;
						}
						.cdf-contact-form__btn--submit{
							display: inline-flex;
							align-items: center;
							gap: 10px;
						}
						.cdf-contact-form__btn-loader{
							display: none;
							flex-shrink: 0;
							width: 11px;
							height: 11px;
							border: 2px solid rgba(255,255,255,0.25);
							border-top-color: #ffffff;
							border-radius: 50%;
							animation: cdf-contact-form-spin 0.65s linear infinite;
						}
						.cdf-contact-form.is-submitting .cdf-contact-form__btn--submit::after{
							display: none;
						}
						.cdf-contact-form.is-submitting .cdf-contact-form__btn-loader{
							display: inline-block;
						}
						@keyframes cdf-contact-form-spin{
							to{
								transform: rotate(360deg);
							}
						}

/*---------------------------------------------------BOTTOM NAV----------------------------------------------*/

				.cdf-bottom-strip{
					position: fixed;
					left: 0;
					right: 0;
					bottom: 0;
					z-index: 999999999;
					pointer-events: none;
				}
					body.cdf-is-loading .cdf-bottom-strip{
						display: none;
					}
					.cdf-bottom-strip__inner{
						max-width: var(--cdf-content-width);
						width: 100%;
						margin: 0 auto;
						display: flex;
						align-items: stretch;
						justify-content: space-between;
						pointer-events: none;
					}

				.cdf-bottom-nav{
					position: relative;
					flex: 0 1 auto;
					opacity: 0;
					visibility: hidden;
					pointer-events: none;
					transform: translateY(100%);
					transition:
						opacity 0.35s var(--cdf-panel-ease),
						visibility 0.35s var(--cdf-panel-ease),
						transform 0.35s var(--cdf-panel-ease);
				}
					.cdf-bottom-nav.is-visible{
						opacity: 1;
						visibility: visible;
						pointer-events: auto;
						transform: translateY(0);
					}
					.cdf-bottom-nav__actions{
						display: inline-flex;
						align-items: stretch;
					}
					.cdf-bottom-nav__btn{
						display: inline-flex;
						align-items: center;
						justify-content: center;
						gap: 12px;
						min-height: 45px;
						padding: 0 45px;
						border: 0;
						border-radius: 0;
						font-family: 'Manrope';
						font-size: 14px;
						font-weight: 600;
						letter-spacing: 2px;
						text-transform: uppercase;
						cursor: pointer;
						transition: background-color 0.35s var(--cdf-panel-ease), color 0.35s var(--cdf-panel-ease);
					}
					.cdf-bottom-nav__menu{
						background: #fff;
						color: var(--vert-fonce);
						margin-right: 5px;
					}
						.cdf-bottom-nav__menu:hover{
							background: rgba(255, 255, 255, 0.92);
						}
						.cdf-bottom-nav__menu .cdf-burger{
							position: relative;
							display: inline-flex;
							flex-direction: column;
							justify-content: center;
							width: 22px;
							height: 16px;
							flex-shrink: 0;
							color: currentColor;
						}
							.cdf-bottom-nav__menu .cdf-burger__line{
								display: block;
								width: 100%;
								height: 2px;
								background-color: currentColor;
								border-radius: 1px;
								transform-origin: center;
								transition:
									transform 0.4s var(--cdf-panel-ease),
									opacity 0.25s var(--cdf-panel-ease),
									top 0.4s var(--cdf-panel-ease),
									width 0.4s var(--cdf-panel-ease);
							}
							.cdf-bottom-nav__menu .cdf-burger__line:nth-child(1){
								position: absolute;
								top: 0;
								left: 0;
							}
							.cdf-bottom-nav__menu .cdf-burger__line:nth-child(2){
								position: absolute;
								top: 50%;
								left: 0;
								width: 57%;
								transform: translateY(-50%);
							}
							.cdf-bottom-nav__menu .cdf-burger__line:nth-child(3){
								position: absolute;
								bottom: 0;
								left: 0;
							}
							.cdf-bottom-nav__menu.is-active .cdf-burger__line:nth-child(1){
								top: 50%;
								width: 100%;
								transform: translateY(-50%) rotate(45deg);
							}
							.cdf-bottom-nav__menu.is-active .cdf-burger__line:nth-child(2){
								opacity: 0;
								width: 100%;
								transform: translateY(-50%) scaleX(0);
							}
							.cdf-bottom-nav__menu.is-active .cdf-burger__line:nth-child(3){
								bottom: auto;
								top: 50%;
								width: 100%;
								transform: translateY(-50%) rotate(-45deg);
							}
					.cdf-bottom-nav__contact{
						background: var(--vert-fonce);
						color: #fff;
					}
						.cdf-bottom-nav__contact:hover{
							background: var(--vert-intermediaire);
						}
						.cdf-bottom-nav__contact.is-active{
							background: var(--vert-intermediaire);
						}

				@media screen and (max-width: 900px){
					.cdf-bottom-nav__actions{
						gap: 0;
					}
					.cdf-bottom-nav__menu{
						margin-right: 0;
					}
				}

				.cdf-scroll-top{
					position: relative;
					flex-shrink: 0;
					align-self: stretch;
					display: inline-flex;
					align-items: center;
					justify-content: center;
					width: 45px;
					min-height: 45px;
					padding: 0;
					border: 0;
					background: #fff;
					color: var(--vert-fonce);
					cursor: pointer;
					opacity: 0;
					visibility: hidden;
					pointer-events: none;
					transform: translateY(12px);
					transition:
						opacity 0.35s var(--cdf-panel-ease),
						visibility 0.35s var(--cdf-panel-ease),
						transform 0.35s var(--cdf-panel-ease),
						background-color 0.35s var(--cdf-panel-ease);
				}
					body.cdf-panel-open .cdf-scroll-top{
						opacity: 0;
						visibility: hidden;
						pointer-events: none;
					}
					.cdf-scroll-top.is-visible{
						opacity: 1;
						visibility: visible;
						pointer-events: auto;
						transform: translateY(0);
					}
					.cdf-scroll-top:hover{
						background: rgba(255, 255, 255, 0.92);
					}
					.cdf-scroll-top::after{
						content: '';
						display: block;
						width: 10px;
						height: 10px;
						background-image: url('../img/arrow.svg');
						background-size: contain;
						background-repeat: no-repeat;
						transform: rotate(-90deg);
						margin-top: 4px;
						transition: margin-top 0.35s var(--cdf-panel-ease);
					}
					.cdf-scroll-top:hover::after{
						margin-top: -2px;
					}

				.cdf-contact-modal{
					position: fixed;
					inset: 0;
					z-index: 1200;
					display: flex;
					align-items: center;
					justify-content: center;
					padding: 24px;
				}
					.cdf-contact-modal[hidden]{
						display: none;
					}
					.cdf-contact-modal__backdrop{
						position: absolute;
						inset: 0;
						background: rgba(0, 25, 25, 0.45);
					}
					.cdf-contact-modal__dialog{
						position: relative;
						z-index: 1;
						width: min(100%, 420px);
						padding: 32px 28px 24px;
						background: #fff;
						color: var(--vert-fonce);
						box-shadow: 0 20px 60px rgba(0, 25, 25, 0.18);
						text-align: center;
					}
					.cdf-contact-modal.is-success .cdf-contact-modal__dialog{
						background: var(--vert-intermediaire);
						color: #fff;
					}
					.cdf-contact-modal.is-error .cdf-contact-modal__dialog{
						background: var(--cdf-modal-error);
						color: #fff;
					}
					.cdf-contact-modal__message{
						margin: 0 0 24px;
						font-size: 16px;
						line-height: 1.5;
					}
					.cdf-contact-modal__close{
						display: inline-flex;
						align-items: center;
						justify-content: center;
						min-height: 45px;
						padding: 0 24px;
						border: 0;
						background: #fff;
						color: var(--vert-fonce);
						font-family: 'Manrope', sans-serif;
						font-size: 14px;
						font-weight: 600;
						letter-spacing: 2px;
						text-transform: uppercase;
						cursor: pointer;
					}
					.cdf-contact-modal.is-success .cdf-contact-modal__close{
						color: var(--vert-intermediaire);
					}
					.cdf-contact-modal.is-error .cdf-contact-modal__close{
						color: var(--cdf-modal-error);
					}

				.cdf-menu-overlay[hidden],
				.cdf-contact-panel[hidden]{
					display: none !important;
				}

				.cdf-menu-overlay{
					position: fixed;
					top: 0;
					left: 0;
					right: 0;
					height: 100vh;
					height: 100dvh;
					z-index: 1000;
					display: grid;
					grid-template-columns: var(--cdf-logo-width) minmax(0, 1fr);
					background: transparent;
					visibility: hidden;
					pointer-events: none;
					opacity: 1;
					overflow: hidden;
				}

				.cdf-menu-overlay__curtain{
					position: absolute;
					inset: 0;
					z-index: 5;
					display: flex;
					pointer-events: none;
				}
					.cdf-menu-overlay__curtain span{
						flex: 1 1 0;
						background: #fff;
						transform: scaleY(1);
						transform-origin: top center;
						will-change: transform;
						transition: transform var(--cdf-curtain-duration) var(--cdf-curtain-ease);
					}
					.cdf-menu-overlay.is-open .cdf-menu-overlay__curtain span{
						transform: scaleY(0);
					}
					.cdf-menu-overlay.is-open .cdf-menu-overlay__curtain span:nth-child(1){
						transition-delay: 0.04s;
						transform-origin: top center;
					}
					.cdf-menu-overlay.is-open .cdf-menu-overlay__curtain span:nth-child(2){
						transition-delay: 0.1s;
						transform-origin: bottom center;
					}
					.cdf-menu-overlay.is-open .cdf-menu-overlay__curtain span:nth-child(3){
						transition-delay: 0.16s;
						transform-origin: top center;
					}
					.cdf-menu-overlay.is-open .cdf-menu-overlay__curtain span:nth-child(4){
						transition-delay: 0.22s;
						transform-origin: bottom center;
					}
					.cdf-menu-overlay.is-open .cdf-menu-overlay__curtain span:nth-child(5){
						transition-delay: 0.28s;
						transform-origin: top center;
					}
					.cdf-menu-overlay.is-closing .cdf-menu-overlay__curtain span{
						animation: cdfCurtainPeelOut var(--cdf-curtain-duration) var(--cdf-curtain-ease) both;
						transition: none;
					}
					.cdf-menu-overlay.is-closing .cdf-menu-overlay__curtain span:nth-child(1){ animation-delay: 0.28s; transform-origin: top center; }
					.cdf-menu-overlay.is-closing .cdf-menu-overlay__curtain span:nth-child(2){ animation-delay: 0.22s; transform-origin: bottom center; }
					.cdf-menu-overlay.is-closing .cdf-menu-overlay__curtain span:nth-child(3){ animation-delay: 0.16s; transform-origin: top center; }
					.cdf-menu-overlay.is-closing .cdf-menu-overlay__curtain span:nth-child(4){ animation-delay: 0.1s; transform-origin: bottom center; }
					.cdf-menu-overlay.is-closing .cdf-menu-overlay__curtain span:nth-child(5){ animation-delay: 0.04s; transform-origin: top center; }

				@keyframes cdfCurtainPeelOut{
					from{
						transform: scaleY(1);
						opacity: 1;
					}
					to{
						transform: scaleY(0);
						opacity: 0;
					}
				}

					.cdf-menu-overlay__gutter{
						background: #fff;
						min-height: 100%;
						transform: translateX(-100%);
						transition: transform var(--cdf-menu-panel-duration) var(--cdf-curtain-ease);
					}
					.cdf-menu-overlay.is-open{
						visibility: visible;
						pointer-events: auto;
					}
					.cdf-menu-overlay.is-open .cdf-menu-overlay__gutter{
						transform: translateX(0);
						transition-delay: 0.12s;
					}
					.cdf-menu-overlay.is-closing{
						visibility: visible;
						pointer-events: none;
					}
					.cdf-menu-overlay.is-closing .cdf-menu-overlay__gutter{
						transform: translateX(0);
						background-color: transparent;
						transition: none;
					}
					.cdf-menu-overlay__inner{
						display: grid;
						grid-template-columns: 2fr 3fr;
						height: 100%;
						min-height: 0;
						background: #fff;
					}
					.cdf-menu-overlay.is-closing .cdf-menu-overlay__inner{
						background-color: transparent;
						transition: none;
					}
					.cdf-menu-overlay__nav{
						display: flex;
						align-items: center;
						padding: var(--cdf-header-bar-height) 48px 48px 0;
						overflow-y: auto;
						min-height: 0;
						border-left: 0.8px solid rgba(0, 25, 25, 0.12);
						-webkit-overflow-scrolling: touch;
						transform: translateX(-48px);
						opacity: 0;
						transition:
							transform var(--cdf-menu-panel-duration) var(--cdf-curtain-ease),
							opacity 0.55s var(--cdf-curtain-ease);
					}
						.cdf-menu-overlay.is-open .cdf-menu-overlay__nav{
							transform: translateX(0);
							opacity: 1;
							transition-delay: 0.28s;
						}
						.cdf-menu-overlay.is-closing .cdf-menu-overlay__nav{
							opacity: 0;
							visibility: hidden;
							transition: none;
						}
					.cdf-menu-overlay__list{
						list-style: none;
						margin: 0;
						padding: 0 50px;
						width: 100%;
					}
						.cdf-menu-overlay__list > li{
							opacity: 0;
							transform: translateY(28px);
							clip-path: inset(0 0 100% 0);
							transition-property: opacity, transform, clip-path, margin-bottom, padding-bottom;
							transition-duration: 0.55s, 0.65s, 0.65s, 0.35s, 0.35s;
							transition-timing-function: var(--cdf-curtain-ease), var(--cdf-curtain-ease), var(--cdf-curtain-ease), ease, ease;
							transition-delay: 0s, 0s, 0s, 0s, 0s;
							position: relative;
							margin-bottom: 18px;
							text-transform: uppercase;
							font-weight: 600; 
							letter-spacing: 2px;
							font-size: 20px;
							color: var(--vert-intermediaire);
						}
							.cdf-menu-overlay__list > li:not(.current-menu-item){
								margin-bottom: 2px;
							}

						.cdf-menu-overlay__list > li > a{
							color: inherit;
							text-decoration: none;
							transition: color 0.35s ease;
							padding-bottom: 9px;
							display: inline-block;
						}
						.cdf-menu-overlay.is-open .cdf-menu-overlay__list > li{
							opacity: 1;
							transform: translateY(0);
							clip-path: inset(0 0 0 0);
						}
						.cdf-menu-overlay.is-open .cdf-menu-overlay__list > li:not(.current-menu-item) > a{
							color: rgba(29, 81, 80, 0.22);
							color: color-mix(in srgb, var(--vert-intermediaire) 22%, transparent);
						}
						.cdf-menu-overlay.is-open .cdf-menu-overlay__list > li:not(.current-menu-item):hover > a{
							color: var(--vert-intermediaire);
							padding-bottom: 9px;
						}
						.cdf-menu-overlay.is-closing .cdf-menu-overlay__list > li{
							opacity: 0;
							visibility: hidden;
							transition: none !important;
						}

							.cdf-menu-overlay__list > li.current-menu-item{
								margin-bottom: 30px;
							}
								.cdf-menu-overlay__list > li:before{
									content: '';
								    position: absolute;
								    left: 0;
								    bottom: 0;
								    width: 100%;
								    max-width: 100px;
								    height: 4px;
								    background-color: rgba(29, 81, 80, 0.2);
								    transform: scaleX(0);
								    transform-origin: left;
								    transition: transform 0.35s ease;
								}
								.cdf-menu-overlay__list > li.current-menu-item:before{
									transform: scaleX(1);
								}
								.cdf-menu-overlay__list > li:after{
								    content: '';
								    background-image: url('../img/arrow.svg');
								    background-size: contain;
								    width: 12px;
								    height: 12px;
								    margin-left: 12px;
								    top: 7px;
								    position: absolute;
								    background-repeat: no-repeat;
								    filter: invert(25%) sepia(39%) saturate(690%) hue-rotate(130deg) brightness(89%) contrast(88%);
								    transition: margin-left 0.5s ease;
								    opacity: 0.2;
								}
								.cdf-menu-overlay__list > li.current-menu-item:after{
									opacity: 1;
								}

								.cdf-menu-overlay__list > li:not(.current-menu-item):hover{
									margin-bottom: 12px;
								}
									.cdf-menu-overlay__list > li:hover::before{
									    transform: scaleX(1);
									}
									.cdf-menu-overlay__list > li:hover::after{
									    margin-left: 17px;
									    transition: margin-left 0.5s ease;
									    opacity: 1;
									}


						.cdf-menu-overlay.is-open .cdf-menu-overlay__list > li:nth-child(1){ transition-delay: 0.38s, 0.38s, 0.38s, 0s, 0s; }
						.cdf-menu-overlay.is-open .cdf-menu-overlay__list > li:nth-child(2){ transition-delay: 0.46s, 0.46s, 0.46s, 0s, 0s; }
						.cdf-menu-overlay.is-open .cdf-menu-overlay__list > li:nth-child(3){ transition-delay: 0.54s, 0.54s, 0.54s, 0s, 0s; }
						.cdf-menu-overlay.is-open .cdf-menu-overlay__list > li:nth-child(4){ transition-delay: 0.62s, 0.62s, 0.62s, 0s, 0s; }
						.cdf-menu-overlay.is-open .cdf-menu-overlay__list > li:nth-child(5){ transition-delay: 0.70s, 0.70s, 0.70s, 0s, 0s; }
						.cdf-menu-overlay.is-open .cdf-menu-overlay__list > li:nth-child(6){ transition-delay: 0.78s, 0.78s, 0.78s, 0s, 0s; }
						.cdf-menu-overlay__visual{
							overflow: hidden;
							height: 100%;
							min-height: 0;
							transform: translateX(56px) scale(1.08);
							opacity: 0;
							transition:
								transform var(--cdf-menu-panel-duration) var(--cdf-curtain-ease),
								opacity 0.65s var(--cdf-curtain-ease);
						}
						.cdf-menu-overlay.is-open .cdf-menu-overlay__visual{
							transform: translateX(0) scale(1);
							opacity: 1;
							transition-delay: 0.34s;
						}
						.cdf-menu-overlay.is-closing .cdf-menu-overlay__visual{
							opacity: 0;
							visibility: hidden;
							transition: none;
						}
							.cdf-menu-overlay__visual img{
								width: 100%;
								height: 100%;
								object-fit: cover;
								display: block;
								transform: scale(1.12);
								transition: transform 1.4s var(--cdf-curtain-ease);
							}
							.cdf-menu-overlay.is-open .cdf-menu-overlay__visual img{
								transform: scale(1);
							}
							.cdf-menu-overlay.is-closing .cdf-menu-overlay__visual img{
								transform: scale(1.08);
								transition-duration: 0.45s;
							}

				.cdf-contact-panel{
					position: fixed;
					left: 0;
					right: 0;
					top: var(--cdf-contact-panel-top, var(--cdf-header-bar-height));
					height: calc(100vh - var(--cdf-contact-panel-top, var(--cdf-header-bar-height)));
					height: calc(100dvh - var(--cdf-contact-panel-top, var(--cdf-header-bar-height)));
					z-index: 1000;
					display: grid;
					grid-template-columns: var(--cdf-logo-width) minmax(0, 1fr);
					background: transparent;
					visibility: hidden;
					pointer-events: none;
					opacity: 1;
					overflow: hidden;
				}
					.cdf-contact-panel__curtain{
						position: absolute;
						inset: 0;
						z-index: 5;
						display: flex;
						pointer-events: none;
					}
						.cdf-contact-panel__curtain span{
							flex: 1 1 0;
							background: #fff;
							transform: scaleY(1);
							transform-origin: top center;
							will-change: transform;
							transition: transform var(--cdf-curtain-duration) var(--cdf-curtain-ease);
						}
						.cdf-contact-panel.is-open .cdf-contact-panel__curtain span{
							transform: scaleY(0);
						}
						.cdf-contact-panel.is-open .cdf-contact-panel__curtain span:nth-child(1){
							transition-delay: 0.04s;
							transform-origin: top center;
						}
						.cdf-contact-panel.is-open .cdf-contact-panel__curtain span:nth-child(2){
							transition-delay: 0.1s;
							transform-origin: bottom center;
						}
						.cdf-contact-panel.is-open .cdf-contact-panel__curtain span:nth-child(3){
							transition-delay: 0.16s;
							transform-origin: top center;
						}
						.cdf-contact-panel.is-open .cdf-contact-panel__curtain span:nth-child(4){
							transition-delay: 0.22s;
							transform-origin: bottom center;
						}
						.cdf-contact-panel.is-open .cdf-contact-panel__curtain span:nth-child(5){
							transition-delay: 0.28s;
							transform-origin: top center;
						}
						.cdf-contact-panel.is-closing .cdf-contact-panel__curtain span{
							animation: cdfCurtainPeelOut var(--cdf-curtain-duration) var(--cdf-curtain-ease) both;
							transition: none;
						}
						.cdf-contact-panel.is-closing .cdf-contact-panel__curtain span:nth-child(1){ animation-delay: 0.28s; transform-origin: top center; }
						.cdf-contact-panel.is-closing .cdf-contact-panel__curtain span:nth-child(2){ animation-delay: 0.22s; transform-origin: bottom center; }
						.cdf-contact-panel.is-closing .cdf-contact-panel__curtain span:nth-child(3){ animation-delay: 0.16s; transform-origin: top center; }
						.cdf-contact-panel.is-closing .cdf-contact-panel__curtain span:nth-child(4){ animation-delay: 0.1s; transform-origin: bottom center; }
						.cdf-contact-panel.is-closing .cdf-contact-panel__curtain span:nth-child(5){ animation-delay: 0.04s; transform-origin: top center; }
					.cdf-contact-panel__gutter{
						background: #fff;
						min-height: 100%;
						transform: translateX(-100%);
						transition: transform var(--cdf-menu-panel-duration) var(--cdf-curtain-ease);
					}
					.cdf-contact-panel.is-open{
						visibility: visible;
						pointer-events: auto;
					}
					.cdf-contact-panel.is-open .cdf-contact-panel__gutter{
						transform: translateX(0);
						transition-delay: 0.12s;
					}
					.cdf-contact-panel.is-closing{
						top: 0;
						height: 100vh;
						height: 100dvh;
						visibility: visible;
						pointer-events: none;
					}
					.cdf-contact-panel.is-closing .cdf-contact-panel__inner{
						padding-top: var(--cdf-contact-panel-top, var(--cdf-header-bar-height));
						height: 100%;
						box-sizing: border-box;
						background-color: transparent;
						transition: none;
					}
					.cdf-contact-panel.is-closing .cdf-contact-panel__gutter{
						transform: translateX(0);
						background-color: transparent;
						transition: none;
						visibility: hidden;
					}
					.cdf-contact-panel__inner{
						display: grid;
						grid-template-columns: 1.2fr 2fr;
						height: 100%;
						min-height: 0;
						background: #fff;
						position: relative;
						z-index: 1;
					}
					.cdf-contact-panel__map{
						min-height: 0;
						height: 100%;
						overflow: hidden;
						background: #e8e8e8;
						transform: translateX(-56px) scale(1.08);
						opacity: 0;
						transition:
							transform var(--cdf-menu-panel-duration) var(--cdf-curtain-ease),
							opacity 0.65s var(--cdf-curtain-ease);
						border-left: 0.8px solid rgba(0, 25, 25, 0.12);
					}
						.cdf-contact-panel.is-open .cdf-contact-panel__map{
							transform: translateX(0) scale(1);
							opacity: 1;
							visibility: visible;
							transition-delay: 0.28s;
						}
						.cdf-contact-panel.is-closing .cdf-contact-panel__map{
							opacity: 0;
							visibility: hidden;
							transition: none;
						}
						.cdf-contact-panel__map iframe{
							width: 100%;
							height: 100%;
							border: 0;
							display: block;
						}
					.cdf-contact-panel__content{
						display: flex;
						flex-direction: column;
						min-height: 0;
						height: 100%;
						padding: 48px 56px 48px 48px;
						overflow-x: hidden;
						overflow-y: auto;
						-webkit-overflow-scrolling: touch;
						transform: translateX(56px);
						opacity: 0;
						transition:
							transform var(--cdf-menu-panel-duration) var(--cdf-curtain-ease),
							opacity 0.65s var(--cdf-curtain-ease);
					}
						.cdf-contact-panel.is-open .cdf-contact-panel__content{
							transform: translateX(0);
							opacity: 1;
							visibility: visible;
							transition-delay: 0.34s;
						}
						.cdf-contact-panel.is-closing .cdf-contact-panel__content{
							opacity: 0;
							visibility: hidden;
							transition: none;
						}
						.cdf-contact-panel__label,
						.cdf-contact-panel__address,
						.cdf-contact-panel__phone,
						.cdf-contact-panel__form{
							opacity: 0;
							transform: translateY(28px);
							clip-path: inset(0 0 100% 0);
							transition:
								opacity 0.55s var(--cdf-curtain-ease),
								transform 0.65s var(--cdf-curtain-ease),
								clip-path 0.65s var(--cdf-curtain-ease);
						}
						.cdf-contact-panel__label{
							text-transform: uppercase;
							font-weight: 600;
							letter-spacing: 2px;
							font-size: 16px;
							color: var(--vert-intermediaire);
							margin-bottom: 30px;
						}
							.cdf-contact-panel__address .cdf-adresse-local{
								margin-bottom: 3px;
							}
							.cdf-contact-panel__address .cdf-infos-parking{
								margin-bottom: 20px !important;
								font-size: 15px;
								opacity: 0.85;
							}

						.cdf-site-title{
							font-weight: 700;
							font-size: 30px;
							text-transform: lowercase;
							margin-bottom: 10px;
							opacity: 0.9;
						}
							.cdf-site-title:first-letter{
								text-transform: uppercase;
							}

						.cdf-contact-panel__phone a{
							color: var(--vert-fonce) !important;
  							font-weight: 400;
  							font-size: 28px;
						}
							.cdf-contact-panel__phone a:hover{
								color: var(--vert-intermediaire) !important;
							}

						.cdf-contact-panel.is-open .cdf-contact-panel__label,
						.cdf-contact-panel.is-open .cdf-contact-panel__address,
						.cdf-contact-panel.is-open .cdf-contact-panel__phone,
						.cdf-contact-panel.is-open .cdf-contact-panel__form{
							opacity: 1;
							visibility: visible;
							transform: translateY(0);
							clip-path: inset(0 0 0 0);
						}
						.cdf-contact-panel.is-open .cdf-contact-panel__label{ transition-delay: 0.38s; }
						.cdf-contact-panel.is-open .cdf-contact-panel__address{ transition-delay: 0.46s; }
						.cdf-contact-panel.is-open .cdf-contact-panel__phone{ transition-delay: 0.54s; }
						.cdf-contact-panel.is-open .cdf-contact-panel__form{ transition-delay: 0.62s; }
						.cdf-contact-panel.is-closing .cdf-contact-panel__label,
						.cdf-contact-panel.is-closing .cdf-contact-panel__address,
						.cdf-contact-panel.is-closing .cdf-contact-panel__phone,
						.cdf-contact-panel.is-closing .cdf-contact-panel__form{
							opacity: 0;
							visibility: hidden;
							transition: none !important;
						}
						.cdf-contact-panel__content a{
							color: inherit;
						}
						.cdf-contact-panel__form{
							flex: 1 1 auto;
							min-height: 0;
						}
							.cdf-contact-panel__form form,
							.cdf-contact-panel__form .wpcf7-form{
								background: transparent;
							}

				@media screen and (max-width: 900px){
					.cdf-header .cdf-header__inner{
						flex-wrap: nowrap;
						align-items: center;
					}
						.cdf-header__logo{
							flex-shrink: 0;
						}
							.cdf-header__logo img{
								width: 100px;
							}
						.cdf-header__bar{
							height: auto;
							min-height: 56px;
							border: none;
							height: 82px !important;
  							border-bottom: 1px solid rgba(255,255,255, 0.3) !important;
							justify-content: flex-end;
						}
							.cdf-header__bar-left{
								gap: 12px;
								transform: translateX(-80px);
								align-items: center;
							}
							.cdf-header__toggle{
								padding: 0 10px;
								font-size: 12px;
								letter-spacing: 1.5px;
								gap: 8px;
							}
								.cdf-header__toggle-label{
									min-width: auto;
								}
							.cdf-header__contact-btn{
								display: none;
							}

					.cdf-bottom-nav{
						flex: 1 1 auto;
						min-width: 0;
					}
						.cdf-bottom-nav__actions{
							width: 100%;
							gap: 0;
						}
							.cdf-bottom-nav__btn{
								flex: 1 1 0;
								min-height: var(--cdf-bottom-strip-height);
								padding: 0 16px;
								font-size: 12px;
								letter-spacing: 1.5px;
							}

					.cdf-scroll-top{
						width: var(--cdf-bottom-strip-height);
						min-height: var(--cdf-bottom-strip-height);
					}

					.cdf-menu-overlay__inner{
						grid-template-columns: 1fr;
					}
					.cdf-menu-overlay{
						grid-template-columns: 1fr;
					}
						.cdf-menu-overlay__gutter{
							display: none;
						}
					.cdf-menu-overlay__nav{
						align-items: center;
						padding: var(--cdf-contact-panel-top, var(--cdf-header-bar-height)) 24px 32px;
					}
					.cdf-menu-overlay__visual{
						display: none;
					}
						.cdf-menu-overlay__list{
							padding: 0 20px;
						}

					.cdf-contact-panel{
						grid-template-columns: 1fr;
					}
						.cdf-contact-panel.is-open{
							z-index: 1060;
						}
						.cdf-contact-panel:not(.is-open){
							z-index: 999;
							pointer-events: none !important;
						}
						body.cdf-contact-open .cdf-bottom-strip{
							visibility: hidden;
							pointer-events: none;
						}
						.cdf-contact-panel__gutter{
							display: none;
						}
						.cdf-contact-panel__inner{
							grid-template-columns: 1fr;
							grid-template-rows: minmax(0, 1fr);
							height: 100%;
							min-height: 0;
							overflow: hidden;
						}
						.cdf-contact-panel__map{
							display: none;
						}
						.cdf-contact-panel__content{
							display: block;
							height: 100%;
							min-height: 0;
							max-height: 100%;
							padding: 32px 28px calc(40px + env(safe-area-inset-bottom, 0px));
							border-left: none;
							overflow-y: auto;
							overflow-x: hidden;
							-webkit-overflow-scrolling: touch;
							overscroll-behavior: contain;
						}
						.cdf-contact-panel__label{
							margin-bottom: 16px;
							font-size: 13px;
						}
						.cdf-contact-panel__content .cdf-site-title{
							font-size: 22px;
							margin-bottom: 8px;
						}
						.cdf-contact-panel__phone{
							margin-bottom: 4px;
						}
						.cdf-contact-panel__phone a{
							font-size: 20px;
						}
						.cdf-contact-panel__address .cdf-infos-parking{
							margin-bottom: 12px !important;
							font-size: 14px;
						}
						.cdf-contact-panel__form{
							flex: none;
							min-height: auto;
							overflow: visible;
							clip-path: none !important;
							transform: none !important;
							margin-top: 28px;
						}
						.cdf-contact-panel.is-open .cdf-contact-panel__form{
							clip-path: none !important;
							transform: none !important;
						}
						.cdf-contact-form{
							max-width: none;
							width: 100%;
							padding: 40px 32px 44px;
							margin-top: 0;
							box-sizing: border-box;
						}
							.cdf-contact-form__field input,
							.cdf-contact-form__field textarea,
							.cdf-contact-form__field select,
							.cdf-contact-form__actions{
								width: 100%;
							}
							.cdf-contact-form__field textarea{
								min-height: 100px;
							}
							.cdf-contact-form__actions--back{
								display: block;
								width: 100%;
								margin: 0 0 20px;
							}
							.cdf-contact-form__prev--footer{
								display: none;
							}
							.cdf-contact-form__actions--split{
								justify-content: flex-end;
							}
							.cdf-contact-form__field:has(select)::after{
								right: 0;
							}
				}

				@media screen and (max-width: 480px){
						.cdf-header__lang{
							left: calc(100% + 8px);
						}
						.cdf-header__toggle{
							padding: 0 8px;
							font-size: 11px;
						}
					.cdf-menu-overlay__nav{
						padding: 24px 20px;
					}
					.cdf-contact-panel__content{
						padding: 28px 24px calc(36px + env(safe-area-inset-bottom, 0px));
					}
						.cdf-contact-panel__form{
							margin-top: 24px;
						}
						.cdf-contact-form{
							padding: 36px 28px 40px;
						}
				}

/*---------------------------------------------------MAIN----------------------------------------------*/

	/* Dévoilement au scroll  */
	.cdf-reveal-ready [data-cdf-reveal]{
		opacity: 0;
		transform: translateY(52px);
		transition:
			opacity 1s var(--cdf-reveal-ease),
			transform 1.15s var(--cdf-reveal-ease);
		transition-delay: var(--cdf-reveal-delay, 0s);
		will-change: opacity, transform;
	}
	.cdf-reveal-ready [data-cdf-reveal].is-revealed{
		opacity: 1;
		transform: none;
		will-change: auto;
	}

	.cdf-reveal-ready [data-cdf-reveal-img] img{
		-webkit-clip-path: inset(100% 0 0 0);
		clip-path: inset(100% 0 0 0);
		transition:
			-webkit-clip-path 1.25s var(--cdf-reveal-ease) calc(var(--cdf-reveal-delay, 0s) + 0.06s),
			clip-path 1.25s var(--cdf-reveal-ease) calc(var(--cdf-reveal-delay, 0s) + 0.06s),
			transform 0.6s var(--cdf-reveal-ease);
		will-change: clip-path;
	}
	.cdf-reveal-ready [data-cdf-reveal-img].is-revealed img{
		-webkit-clip-path: inset(0 0 0 0);
		clip-path: inset(0 0 0 0);
		will-change: auto;
	}
	.cdf-reveal-ready [data-cdf-reveal-zoom]{
		opacity: 0;
		transform: scale(1.18);
		transform-origin: center;
		transition:
			opacity 1.1s var(--cdf-reveal-ease),
			transform 2.8s var(--cdf-reveal-ease);
		transition-delay: var(--cdf-reveal-delay, 0s);
		will-change: opacity, transform;
	}
	.cdf-reveal-ready [data-cdf-reveal-zoom].is-revealed{
		opacity: 1;
		transform: none;
		will-change: auto;
	}
	.cdf-reveal-ready .cdf-text-image--image-droite [data-cdf-reveal-zoom],
	.cdf-reveal-ready .cdf-profile-detail--reverse.cdf-profile-detail [data-cdf-reveal-zoom]{
		transform-origin: right center;
	}
	.cdf-reveal-ready .cdf-text-image--image-gauche [data-cdf-reveal-zoom],
	.cdf-reveal-ready .cdf-accordion-image [data-cdf-reveal-zoom],
	.cdf-reveal-ready .cdf-image-text-list [data-cdf-reveal-zoom],
	.cdf-reveal-ready .cdf-profile-detail [data-cdf-reveal-zoom]{
		transform-origin: left center;
	}
	.cdf-reveal-ready .cdf-staff-grid__photo[data-cdf-reveal-zoom]{
		overflow: hidden;
	}

	.cdf-reveal-ready [data-cdf-reveal-text]{
		opacity: 0;
		transform: translateY(26px);
		-webkit-clip-path: inset(-2px -24px 100% -24px);
		clip-path: inset(-2px -24px 100% -24px);
		transition:
			opacity 1.2s var(--cdf-reveal-ease),
			transform 1.3s var(--cdf-reveal-ease),
			-webkit-clip-path 1.1s var(--cdf-reveal-ease),
			clip-path 1.1s var(--cdf-reveal-ease);
		transition-delay: var(--cdf-text-delay, calc(var(--cdf-reveal-delay, 0s) + 0.12s));
		will-change: opacity, transform, clip-path;
	}
	.cdf-reveal-ready [data-cdf-reveal-text].is-revealed{
		opacity: 1;
		transform: none;
		-webkit-clip-path: inset(-2px -24px -12px -24px);
		clip-path: inset(-2px -24px -12px -24px);
		will-change: auto;
	}

	@media (prefers-reduced-motion: reduce){
		.cdf-reveal-ready [data-cdf-reveal],
		.cdf-reveal-ready [data-cdf-reveal-text],
		.cdf-reveal-ready [data-cdf-reveal-zoom],
		.cdf-reveal-ready [data-cdf-reveal-img] img{
			opacity: 1;
			transform: none;
			-webkit-clip-path: none;
			clip-path: none;
			transition: none;
		}
	}

	.cdf-container{
		width: 100%;
		max-width: min(100%, var(--cdf-content-width));
		margin-inline: auto;
		padding-inline: var(--cdf-content-padding);
		box-sizing: border-box;
		min-width: 0;
	}

	@media screen and (max-width: 1199px){
		html,
		body{
			max-width: 100%;
			overflow-x: clip;
		}

		.cdf-main,
		.cdf-main > section,
		.cdf-container,
		.cdf-footer,
		.cdf-footer__grid,
		.cdf-bottom-strip__inner{
			max-width: 100%;
			box-sizing: border-box;
		}

		.cdf-container > *,
		.cdf-main img:not(.cdf-hero__bg),
		.cdf-main video,
		.cdf-main iframe,
		.cdf-main svg,
		.cdf-full-width-image__img{
			max-width: 100%;
			box-sizing: border-box;
		}

		.cdf-main img:not(.cdf-hero__bg),
		.cdf-main video:not(.cdf-hero__bg--video),
		.cdf-full-width-image__img{
			height: auto;
		}

		.cdf-hero__bg,
		.cdf-hero__bg--video{
			width: 100%;
			height: 100%;
			max-width: none;
			max-height: none;
			object-fit: cover;
		}
	}

	@media screen and (min-width: 1200px){
		.cdf-container{
			width: var(--cdf-content-width);
			padding-inline: 0;
			position: relative;
		}
			section:not(.cdf-hero):not(.cdf-section--dark):not(.cdf-accordion-image) .cdf-container:before{
				content: '';
				position: absolute;
				left: 0px;
				top: 0px;
				height: 100%;
				width: 1px;
				background-color: rgba(0, 0, 0, 0.3);
				z-index: 999;
			}

			section:not(.cdf-hero):not(.cdf-section--dark):not(.cdf-accordion-image) .cdf-container:after{
				content: '';
				position: absolute;
				right: 0px;
				top: 0px;
				height: 100%;
				width: 1px;
				background-color: rgba(0, 0, 0, 0.3);
				z-index: 999;
			}
	}

	/*---------------------------------------------------WYSIWYG (TEXTE LIBRE)----------------------------------------------*/

		.cdf-wysiwyg .cdf-container{
			padding: 60px 0 90px 0;
		}
			.cdf-wysiwyg__content h2{
				margin: 40px 0 16px 0;
			}
			.cdf-wysiwyg__content h3{
				margin: 30px 0 12px 0;
				font-size: 22px;
			}
			.cdf-wysiwyg__content p{
				margin-bottom: 18px;
				line-height: 1.7em;
			}
			.cdf-wysiwyg__content ul,
			.cdf-wysiwyg__content ol{
				margin: 0 0 18px 1.2em;
				line-height: 1.7em;
			}
			.cdf-wysiwyg__content li{
				margin-bottom: 8px;
			}
			.cdf-wysiwyg__content a{
				color: var(--vert-intermediaire);
				text-decoration: underline;
			}
				.cdf-wysiwyg .cdf-container:after,
				.cdf-wysiwyg .cdf-container:before{
					width: 0px !important;
				}

		@media screen and (max-width: 1200px){
			.cdf-wysiwyg .cdf-container{
				padding: 60px 30px 90px 30px;
			}
		}

	/*---------------------------------------------------TITLE----------------------------------------------*/

		h2{
			font-size: 36px;
  			line-height: 1.1em;
		}
		.cdf-section--dark h2{
			color: white !important;
		}

	/*---------------------------------------------------HERO----------------------------------------------*/


		.cdf-hero{
			min-height: 50vh;
			display: flex;
			text-align: center;
			align-items: end;
			justify-content: center;
			position: relative;
			overflow: hidden;
		}
		.home .cdf-hero{
			min-height: 100vh;
			min-height: 100dvh;
			align-items: stretch;
		}
			.home .cdf-hero__bg{
				object-position: center center;
			}
			.home .cdf-hero__overlay{
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				width: 100%;
				min-height: 100%;
				flex: 1 1 auto;
				padding-top: var(--cdf-header-bar-height, 70px);
				padding-bottom: clamp(32px, 4vh, 56px);
				box-sizing: border-box;
			}
			.home .cdf-hero__overlay > .cdf-container{
				width: 100%;
				flex: 0 0 auto;
			}
			.cdf-hero__bg{
				position: absolute;
				inset: 0;
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				z-index: 0;
				pointer-events: none;
			}
			.cdf-hero__bg--video{
				display: block;
			}
			.cdf-hero--has-video .cdf-hero__bg--video,
			.cdf-hero--has-video .cdf-hero__bg--embed iframe{
				filter: brightness(0.6) hue-rotate(-15deg);
			}
			.cdf-hero__bg--embed{
				overflow: hidden;
				position: absolute;
				inset: 0;
				width: 100%;
				height: 100%;
			}
				.cdf-hero__bg--embed iframe{
					position: absolute;
					top: 50%;
					left: 50%;
					width: 300%;
					height: 300%;
					max-width: none;
					border: 0;
					transform: translate(-50%, -50%);
					pointer-events: none;
				}
			.cdf-hero__overlay{
				position: relative;
				z-index: 1;
				width: 100%;
			}
			.cdf-hero h1{
				color: white;
				font-size: 45px;
				font-weight: 600;
				line-height: 1.1em;
				margin-bottom: 40px;
			}
			.home .cdf-hero h1{
				margin-bottom: 30px;
				font-weight: 400;
			}
				.cdf-hero h1 strong{
					font-weight: 600;
				}

				.cdf-hero__content{
					display: grid;
  					justify-content: center;
  					justify-items: center;
				}

				/* Animation d'entree legere du hero : etat masque actif uniquement
				   quand le JS a pose .cdf-hero-ready (sinon le texte reste visible). */
				.cdf-hero-ready .cdf-hero__title,
				.cdf-hero-ready .cdf-hero__subtitle,
				.cdf-hero-ready .cdf-hero__cta{
					opacity: 0;
					transform: translateY(16px);
					transition:
						opacity 0.8s var(--cdf-panel-ease),
						transform 0.8s var(--cdf-panel-ease);
					will-change: opacity, transform;
				}
				.cdf-hero.is-hero-in .cdf-hero__title,
				.cdf-hero.is-hero-in .cdf-hero__subtitle,
				.cdf-hero.is-hero-in .cdf-hero__cta{
					opacity: 1;
					transform: translateY(0);
				}
				/* Cascade : titre, puis sous-titre, puis CTA. */
				.cdf-hero.is-hero-in .cdf-hero__title{ transition-delay: 0.08s; }
				.cdf-hero.is-hero-in .cdf-hero__subtitle{ transition-delay: 0.22s; }
				.cdf-hero.is-hero-in .cdf-hero__cta{ transition-delay: 0.36s; }

				@media (prefers-reduced-motion: reduce){
					.cdf-hero-ready .cdf-hero__title,
					.cdf-hero-ready .cdf-hero__subtitle,
					.cdf-hero-ready .cdf-hero__cta{
						opacity: 1;
						transform: none;
						transition: none;
					}
				}
				.cdf-hero__subtitle{
					color: white;
					text-transform: uppercase;
					font-weight: 600;
					letter-spacing: 2px;
					font-size: 14px;
					line-height: 1.3em;
					margin-bottom: 60px !important;
					width: 300px;
				}

				.cdf-hero__play{
					display: inline-flex;
					align-items: center;
					justify-content: center;
					flex-shrink: 0;
					width: 68px;
					height: 68px;
					margin: 28px auto 0;
					padding: 0;
					border: 2px solid rgba(255, 255, 255, 0.85);
					border-radius: 50%;
					background: transparent;
					cursor: pointer;
					box-sizing: border-box;
					transition:
						transform 0.45s var(--cdf-panel-ease),
						background-color 0.35s ease,
						border-color 0.35s ease;
					-webkit-tap-highlight-color: transparent;
				}
					.cdf-hero__play::before{
						content: '';
						display: block;
						flex-shrink: 0;
						margin-left: 3px;
						border-style: solid;
						border-width: 11px 0 11px 18px;
						border-color: transparent transparent transparent #ffffff;
					}
					.cdf-hero__play:hover,
					.cdf-hero__play:focus-visible{
						transform: scale(1.06);
						background: rgba(0, 25, 25, 0.15);
						border-color: #ffffff;
					}

				@media screen and (min-width: 1200px){
					.cdf-hero--has-video .cdf-hero__overlay{
						min-height: 100%;
						position: relative;
					}
					.cdf-hero--has-video .cdf-hero__play{
						position: absolute;
						right: max(
							clamp(40px, 4vw, 72px),
							var(--cdf-hero-play-right-limit, clamp(40px, 4vw, 72px))
						);
						bottom: clamp(40px, 4vw, 64px);
						left: auto;
						margin: 0;
						z-index: 2;
					}
				}

				@media screen and (max-width: 1199px){
					.cdf-hero--has-video .cdf-hero__overlay{
						min-height: auto;
						display: flex;
						flex-direction: column;
						align-items: center;
					}
					.home .cdf-hero--has-video .cdf-hero__overlay{
						min-height: 100%;
						justify-content: center;
					}
					body:not(.home) .cdf-hero--has-video .cdf-hero__overlay{
						justify-content: flex-start;
					}
					.cdf-hero--has-video .cdf-hero__play{
						position: static;
						right: auto;
						bottom: auto;
						left: auto;
						margin: 28px auto 0;
					}
				}

				.cdf-link-arrow{
					position: relative;
					display: inline-block;
					padding-bottom: 6px;
					padding-right: 22px;
					text-transform: uppercase;
					font-weight: 600;
					letter-spacing: 2px;
					font-size: 14px;
					line-height: 1.2em;
					transition:
						transform 0.5s var(--cdf-panel-ease),
						color 0.35s ease;
					color: var(--vert-intermediaire);
				}
				.cdf-main .cdf-link-arrow::before{
					content: '';
					position: absolute;
					left: 0;
					bottom: -5px;
					width: 30%;
					height: 2px;
					background-color: currentColor;
					transform: scaleX(0);
					transform-origin: left center;
					transition: transform 0.5s var(--cdf-panel-ease);
				}
				.cdf-hero .cdf-link-arrow{
					color: white;
				}
					.cdf-link-arrow::after{
						content: '';
						position: absolute;
						right: 0;
						top: 3px;
						width: 10px;
						height: 10px;
						background-image: url('../img/arrow.svg');
						background-size: contain;
						background-repeat: no-repeat;
						background-position: center;
						transform: translateX(0);
						transform-origin: center center;
						transition: transform 0.5s var(--cdf-panel-ease);
						filter: invert(23%) sepia(13%) saturate(2067%) hue-rotate(130deg) brightness(102%) contrast(86%);
					}
					.cdf-hero .cdf-link-arrow::after{
						filter: invert(1);
					}
					.cdf-main .cdf-link-arrow:hover,
					.cdf-main .cdf-link-arrow:focus-visible{
						transform: translateX(-6px);
					}
						.cdf-main .cdf-link-arrow:hover::before,
						.cdf-main .cdf-link-arrow:focus-visible::before{
							transform: scaleX(1);
						}
						.cdf-main .cdf-link-arrow:hover::after,
						.cdf-main .cdf-link-arrow:focus-visible::after{
							transform: translateX(10px);
						}

		.cdf-hero:after{
			content: '';
			background-image: url('../img/point-effect.png');
			background-size: contain;
			background-repeat: no-repeat;
			position: absolute;
			right: 0px;
			bottom: 0px;
			height: 80%;
			width: 200px;
		}

		body:not(.home) .cdf-hero:after{
			height: 135%;
  			width: 233px;
  			background-position: right;
		}

		@media screen and (max-width: 767px){
			.cdf-hero h1{
				font-size: 35px;
			}

			body:not(.home) .cdf-hero__bg{
				object-position: center center;
			}
		}

		/* Pages intérieures — tablette & mobile : hauteur au contenu, sous-titre centré, marge sous le header. */
		@media screen and (max-width: 1199px){
			body:not(.home) .cdf-hero:not(.cdf-hero--has-video){
				min-height: auto;
				height: auto;
				align-items: flex-start;
				justify-content: flex-start;
			}

			body:not(.home) .cdf-hero--has-video{
				min-height: 60vh;
			}

			.cdf-hero--has-video .cdf-hero__bg--video,
			.cdf-hero--has-video .cdf-hero__bg--embed{
				position: absolute;
				inset: 0;
				width: 100%;
				height: 100%;
				object-fit: cover;
			}

			body:not(.home) .cdf-hero .cdf-hero__overlay{
				padding-top: calc(var(--cdf-contact-panel-top, var(--cdf-header-bar-height, 70px)) + 72px);
				padding-bottom: 52px;
				box-sizing: border-box;
			}

			body:not(.home) .cdf-hero__content{
				justify-items: center;
				width: 100%;
			}

			body:not(.home) .cdf-hero__subtitle{
				margin-inline: auto;
				text-align: center;
				width: min(100%, 360px);
			}

			body:not(.home) .cdf-hero__cta{
				text-align: center;
			}
		}

		@media screen and (max-width: 1200px){
			.cdf-hero{
				min-height: 60vh;
				overflow: hidden;
			}
			.home .cdf-hero{
				min-height: 100vh;
			}
			body:not(.home) .cdf-hero:not(.cdf-hero--has-video){
				min-height: auto;
			}
			body:not(.home) .cdf-hero--has-video{
				min-height: 60vh;
			}
		}
	/*--------------------------------------BREADCRUMB-----------------------------------------*/

		.cdf-breadcrumb .cdf-container ol{
			margin: 0px;
			padding: 50px 0px 0px 45px;
		}
			.cdf-breadcrumb .cdf-container ol span{
				text-transform: uppercase;
  				font-weight: 600;
  				letter-spacing: 1.3px;
  				font-size: 13.5px;
  				padding-right: 20px;
			}
			.cdf-breadcrumb .cdf-container ol span.breadcrumb_last{
				color: var(--vert-intermediaire);
			}
				.cdf-breadcrumb .cdf-container ol span a{
					position: relative;
				}
					.cdf-breadcrumb .cdf-container ol span a:after{
						content: '';
						position: absolute;
						right: -16px;
						top: 5px;
						width: 8px;
						height: 8px;
						background-image: url('../img/arrow.svg');
						background-size: contain;
						background-repeat: no-repeat;
						background-position: center;
						opacity: 0.3;
					}

		@media screen and (max-width: 1200px){
			.cdf-breadcrumb .cdf-container ol{
				padding-left: 0px !important;
			}
		}

	/*---------------------------------------------------TEXTE & IMAGES---------------------------------------------*/

		.cdf-text-image-bloc .cdf-text-image__grid,
		.cdf-intro-split__grid,
		.cdf-two-columns-text__grid,
		.cdf-image-text-list__grid,
		.cdf-profile-detail__grid{
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			grid-template-rows: 1fr;
			grid-row-gap: 0px; 
			max-width: 100%;
			padding: 50px 0px;
			align-items: center;
		}
		body:not(.home) .cdf-text-image-bloc .cdf-container{
			padding-bottom: 60px;
		}
		.cdf-profile-detail:not(.cdf-profile-detail--reverse){
			border-top: solid 1px rgba(0, 0, 0, 0.3);
		}	
			@media screen and (min-width: 1200px){
				.cdf-profile-detail.cdf-profile-detail--reverse .cdf-profile-detail__grid .cdf-imagequotes{
					order: 2;
				}
				.cdf-profile-detail.cdf-profile-detail--reverse .cdf-profile-detail__grid .cdf-profile-detail__content{
					order: 1;
				}
				.cdf-profile-detail.cdf-profile-detail--reverse .cdf-profile-detail__content,
				.cdf-profile-detail.cdf-profile-detail--reverse .cdf-profile-detail__quote{
					text-align: right;
				}
			}
				.cdf-profile-detail .cdf-profile-detail__grid{
					padding-top: 0px;
				}
					.cdf-reveal-ready .cdf-profile-detail.cdf-profile-detail--reverse .cdf-profile-detail__quote[data-cdf-reveal-text].is-revealed{
						clip-path: inset(-2px -65px -12px -24px);
					}
					.cdf-reveal-ready .cdf-profile-detail .cdf-profile-detail__quote[data-cdf-reveal-text].is-revealed{
						clip-path: inset(-2px -50px -12px -65px);
					}
					.cdf-profile-detail__quote p{
						font-size: 14px;
						position: relative;
					}
						.cdf-profile-detail__quote p:after{
							content: '';
							background-image: url('../img/quotes.svg');
							background-size: contain;
							background-repeat: no-repeat;
							width: 25px;
							height: 25px;
							position: absolute;
							top: 0px;
							left: -52px;
							filter: invert(84%) sepia(17%) saturate(3693%) hue-rotate(305deg) brightness(74%) contrast(86%);
						}
						.cdf-profile-detail--reverse .cdf-profile-detail__quote p:after{
							right: -52px;
							left: initial;
							filter: invert(26%) sepia(23%) saturate(959%) hue-rotate(130deg) brightness(95%) contrast(95%);
						}

		.cdf-two-columns-text__grid{
			align-items: start;
			padding: 80px 40px 70px 40px;
			gap: 50px;
		}

		.cdf-intro-split{
			border-bottom: solid 1px rgba(0, 0, 0, 0.3);
		}
			.cdf-intro-split__grid{
				padding-bottom: 90px;
			}

		/*----------------------DROITE---------------------------*/

			.cdf-intro-split__intro{
				padding-left: 45px;
				width: 105%;
			}

			.cdf-text-image--image-droite .cdf-text-image__content,
			.cdf-intro-split .cdf-intro-split__content .cdf-intro-spit-border{
				width: 105%;
				padding-left: 40px;
				border-left: 5px solid var(--vert-intermediaire);
			}
			.cdf-text-image--image-droite .cdf-text-image__content,
			.cdf-profile-detail .cdf-profile-detail__content{
				width: 115%;
			}
			.cdf-profile-detail:not(.cdf-profile-detail--reverse) .cdf-profile-detail__content{
				margin-left: -90px;
			}
			body:not(.home).page-template .cdf-text-image__media{
				text-align: right;
			}
				.cdf-profile-detail .cdf-profile-detail__role,
				.cdf-staff-grid__role{
					text-transform: uppercase;
  					font-weight: 600;
  					letter-spacing: 1.3px;
  					font-size: 13.5px;
  					padding-right: 20px;
				}
				.cdf-text-image--image-droite .cdf-text-image__content h2 strong,
				.cdf-intro-split .cdf-intro-split__content h2 strong,
				.cdf-image-text-list__grid h2 strong,
				.cdf-profile-detail.cdf-profile-detail--reverse .cdf-profile-detail__role{
					color: var(--vert-intermediaire);
				}
				.cdf-two-columns-text__grid h2 strong,
				.cdf-profile-detail .cdf-profile-detail__role{
					color: var(--cdf-modal-error);
				}
				.cdf-text-image--image-droite .cdf-text-image__media img,
				.cdf-intro-split .cdf-intro-split__media img,
				.cdf-profile-detail.cdf-profile-detail--reverse img{
					transform: translateX(120px);
					height: 100%;
					object-fit: cover;
				}
				.cdf-intro-split .cdf-intro-split__media img,
				.cdf-profile-detail.cdf-profile-detail--reverse img{
					transform: translateX(140px);
				}

				.cdf-text-image--image-droite .cdf-text-image__media,
				.cdf-text-image--image-gauche .cdf-text-image__media,
				.cdf-intro-split__media,
				.cdf-image-text-list .cdf-image-text-list__media,
				.cdf-profile-detail .cdf-profile-detail__media{
					position: relative;
				}
				.cdf-profile-detail.cdf-profile-detail--reverse .cdf-profile-detail__media{
					text-align: right;
				}
					.cdf-text-image--image-droite .cdf-text-image__media:after,
					.cdf-intro-split__media:after,
					.cdf-profile-detail.cdf-profile-detail--reverse .cdf-profile-detail__media:after{
						content: '';
					    position: absolute;
					    right: 0px;
					    top: 0px;
					    height: 100%;
					    width: 1px;
					    background-color: rgb(255, 255, 255);
					    z-index: 9999;
					}

					.cdf-text-image--image-gauche .cdf-text-image__media:after,
					.cdf-image-text-list__media:after,
					.cdf-profile-detail:not(.cdf-profile-detail--reverse) .cdf-profile-detail__media:after{
						content: '';
					    position: absolute;
					    left: 0px;
					    top: 0px;
					    height: 100%;
					    width: 1px;
					    background-color: rgba(255, 255, 255, 0.7);
					    z-index: 9999;
					}

		/*-----------------------GAUCHE----------------------*/

			.cdf-text-image--image-gauche .cdf-container{
				padding-bottom: 60px;
			}
				.cdf-text-image--image-gauche .cdf-text-image__content h2 strong,
				.cdf-accordion-image h2 strong{
					color: var(--cdf-modal-error);
				}
				.cdf-text-image--image-gauche .cdf-text-image__content{
					padding-right: 100px;
				}
				.cdf-image-text-list__content{
					padding-right: 90px;
				}
					.cdf-text-image--image-gauche .cdf-text-image__media img,
					.cdf-image-text-list__media img,
					.cdf-profile-detail:not(.cdf-profile-detail--reverse) .cdf-profile-detail__media img{
						transform: translateX(-120px);
						height: 100%;
						object-fit: cover;
					}
					.cdf-profile-detail:not(.cdf-profile-detail--reverse) .cdf-profile-detail__media img{
						transform: translateX(-140px);
					}
					.cdf-image-text-list .cdf-image-text-list__media{
						align-self: stretch;
					}
					.cdf-profile-detail .cdf-imagequotes .cdf-profile-detail__media img{
						height: auto;
						object-fit: contain;
					}

					.cdf-text-image--image-gauche .cdf-link-arrow,
					.cdf-accordion-image .cdf-link-arrow,
					.cdf-section--dark.cdf-services-slider .slick-slider .cdf-link-arrow,
					.cdf-two-columns-text__grid .cdf-link-arrow{
						color: var(--cdf-modal-error) !important;
					}
						.cdf-text-image--image-gauche .cdf-link-arrow:after,
						.cdf-accordion-image .cdf-link-arrow:after,
						.cdf-section--dark.cdf-services-slider .slick-slider .cdf-link-arrow:after,
						.cdf-two-columns-text__grid .cdf-link-arrow:after{
							filter: invert(51%) sepia(14%) saturate(1180%) hue-rotate(321deg) brightness(95%) contrast(91%);
						}

		/* Sauts de ligne éditoriaux : visibles uniquement en desktop (≥ 1200px). */
		@media screen and (max-width: 1199px){
			.cdf-text-image-bloc .cdf-text-image__grid br,
			.cdf-intro-split .cdf-intro-split__grid br,
			.cdf-two-columns-text__grid br,
			.cdf-image-text-list__grid h2 br,
			.cdf-profile-detail .cdf-profile-detail__content br,
			.cdf-profile-detail__quote br,
			.cdf-accordion-image .cdf-container br{
				display: none;
			}
		}

		@media screen and (max-width: 767px){
			.cdf-text-image-bloc .cdf-text-image__grid,
			.cdf-intro-split .cdf-intro-split__grid,
			.cdf-two-columns-text__grid,
			.cdf-image-text-list__grid,
			.cdf-profile-detail__grid{
				grid-template-columns: 1fr;
			}
			.cdf-profile-detail:not(.cdf-profile-detail--reverse) .cdf-profile-detail__content{
				margin-left: 0px;
			}
			.cdf-two-columns-text__grid{
				padding: 40px 0px 70px 0px !important;
				gap: 0px;
			}

				.cdf-text-image--image-droite .cdf-text-image__grid,
				.cdf-intro-split .cdf-intro-split__grid,
				.cdf-two-columns-text__grid{
					padding-bottom: 0px;
				}
					.cdf-text-image--image-droite .cdf-text-image__content,
					.cdf-intro-split .cdf-intro-split__grid .cdf-intro-spit-border,
					.cdf-intro-split__intro,
					.cdf-profile-detail .cdf-profile-detail__content{
						width: 100%;
						padding: 0px;
						border: 0px;
					}

					.cdf-intro-split__grid{
						padding-bottom: 50px !important;
					}

				.cdf-text-image--image-gauche .cdf-text-image__grid{
					padding: 0px;
					margin-top: -20px;
				}

				.cdf-text-image-bloc .cdf-text-image__content{
					margin-bottom: 40px;
				}
				.cdf-text-image--image-gauche .cdf-text-image__content{
					padding-right: 0px;
				}
						.cdf-text-image--image-gauche .cdf-text-image__media img{
							transform: translateX(-30px);
						}
		}


	/*---------------------------------------------------SLIDER SERVICES----------------------------------------------*/

		.cdf-services-slider{
			padding-bottom: 150px !important;
		}
			.cdf-services-slider__header,
			.cdf-services-slider__nav{
				display: grid;
				justify-content: space-between;
				align-items: end;
				grid-template-columns: repeat(2, 1fr);
				grid-template-rows: 1fr;
				grid-column-gap: 0px;
				grid-row-gap: 0px; 
				margin-bottom: 40px;
			}
			.cdf-services-slider__nav{
				margin-bottom: 0px;
				align-items: center;
				margin-top: 40px;
			}
				.cdf-services-slider__nav .right-float{
					justify-content: end;
					display: flex;
				}

			.cdf-services-slider .slick-list{
				overflow: visible !important;
  				clip-path: inset(-50px -400px -50px 0px);
			}		
				.cdf-services-slider .soin-item{
					margin-right: 10px;
					height: 400px;
					position: relative;
					width: 340px;
				}
					.cdf-services-slider .soin-item .thumb-soin{
						width: 100%;
  						overflow: hidden;
  						height: 100%;
  						background-color: white;
					}
					.cdf-services-slider .slick-slide:not(.slick-active) .thumb-soin{
						background-color: transparent;
					}
					.cdf-services-slider .slick-slide:not(.slick-current) .thumb-soin{
						opacity: 0.8;
						background-color: rgba(255,255,255,0.5);
					}

				.slick-current.slick-active + .slick-active + .slick-active .cdf-link-arrow{
					opacity: 0.2;
				}
					.slick-current.slick-active + .slick-active + .slick-active .thumb-soin{
						opacity: 0.3;
						background-color: rgba(255,255,255,0.3);
					}
						.cdf-services-slider .soin-item .thumb-soin img{
							height: 100%;
							object-fit: cover;
							width: 100%;
							opacity: 0.3;
						}

				.cdf-services-slider .slick-slide:not(.slick-active){
					opacity: 0.15;
					mix-blend-mode: multiply;
				}

					.cdf-services-slider .soin-item .content-soin{
						position: absolute;
						bottom: 20px;
						left: 40px;
						width: 200px;
					}

			.cdf-slider-prev,
			.cdf-slider-next{
				background: none;
				border: 0px;
				cursor: pointer;
				padding: 0px;
			}
					.cdf-slider-prev img,
					.cdf-slider-next img{
						filter: invert(1);
						opacity: 0.1;
					}
					.cdf-slider-prev img{
						transform: rotate(-180deg);
					}
							.cdf-slider-prev img:hover,
							.cdf-slider-next img:hover{
								opacity: 0.8;
							}
							.cdf-slider-next img{
								opacity: 1;
							}


		@media screen and (max-width: 767px){
			.cdf-services-slider__header,
			.cdf-services-slider__nav{
				grid-template-columns: repeat(1, 1fr);
			}
				.cdf-services-slider__nav .right-float{
					display: block;
					margin-top: 30px;
				}
		}

	/*---------------------------------------------------ARCHIVES CPT----------------------------------------------*/

		.cdf-hero--archive{
			background-color: var(--vert-fonce);
		}

		.cdf-cards-archive{
			background-color: #ffffff;
		}
		.cdf-cards-archive .cdf-container{
			padding: 50px 0 120px;
		}
			.cdf-cards-archive__grid{
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				gap: 24px;
			}
				.cdf-cards-archive__item{
					position: relative;
					height: 400px;
					overflow: hidden;
				}
					.cdf-cards-archive__thumb{
						width: 100%;
						height: 100%;
						overflow: hidden;
						background-color: var(--vert-fonce);
					}
						.cdf-cards-archive__thumb img{
							width: 100%;
							height: 100% !important;
							object-fit: cover;
							transition: transform 0.6s var(--cdf-reveal-ease);
						}
					.cdf-cards-archive__thumb:hover img{
						transform: scale(1.06);
					}
					.cdf-cards-archive__item:after{
						content: '';
						position: absolute;
						inset: 0;
						pointer-events: none;
						background: linear-gradient(
							to top,
							rgba(0, 25, 25, 0.85) 0%,
							rgba(0, 25, 25, 0.25) 40%,
							rgba(0, 25, 25, 0) 70%
						);
					}
					.cdf-cards-archive__content{
						position: absolute;
						z-index: 1;
						bottom: 20px;
						left: 40px;
						right: 40px;
					}
						.cdf-cards-archive__title{
							margin-bottom: 12px;
						}
						.cdf-cards-archive__title a{
							color: #ffffff;
						}
						.cdf-cards-archive__item .cdf-link-arrow{
							color: #ffffff !important;
						}
							.cdf-cards-archive__item .cdf-link-arrow::after{
								filter: invert(1);
							}

		@media screen and (max-width: 1199px){
			.cdf-cards-archive__grid{
				grid-template-columns: repeat(2, 1fr);
			}
		}
		@media screen and (max-width: 767px){
			.cdf-cards-archive__grid{
				grid-template-columns: 1fr;
			}
		}
		@media (prefers-reduced-motion: reduce){
			.cdf-cards-archive__thumb:hover img{
				transform: none;
			}
		}

	/*---------------------------------------------------STAFF GRID----------------------------------------------*/

		.cdf-staff-grid .cdf-staff-grid__list{
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			grid-template-rows: 1fr;
			grid-column-gap: 0px;
			grid-row-gap: 20px; 
			padding: 50px 45px 110px 45px;
		}
			.cdf-staff-grid__item h3{
				font-size: 25px;
  				margin-bottom: 5px;
			}
			.cdf-staff-grid__item p{
				margin-bottom: 15px !important;
			}
				.cdf-staff-grid__item .cdf-staff-grid__role{
					color: var(--vert-intermediaire);
				}
					.cdf-staff-grid__item:nth-child(even) .cdf-staff-grid__role{
						color: var(--cdf-modal-error);
					}

		@media screen and (max-width: 767px){
			.cdf-staff-grid .cdf-staff-grid__list{
				grid-template-columns: repeat(1, 1fr);
				padding: 50px 0px 110px 0px;
			}
		}



	/*---------------------------------------------------ACCORDION IMAGE & FAQ----------------------------------------------*/

		.cdf-accordion-image .cdf-container{
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			grid-template-rows: 1fr;
			grid-column-gap: 0px;
			grid-row-gap: 0px; 
			max-width: 100%;
			position: relative;
		}	
		.cdf-faq .cdf-container{
			padding: 20px 45px 110px 45px;
		}
			.cdf-faq .cdf-container h2{
				margin-bottom: 50px;
			}
					.cdf-faq .cdf-container h2 strong{
						color: var(--cdf-modal-error);
					}

			.cdf-accordion-image .cdf-accordion-image__grid .cdf-accordion-image__media{
				position: relative;
			}
				.cdf-accordion-image .cdf-accordion-image__grid .cdf-accordion-image__media:before{
					content: '';
  					position: absolute;
  					top: 0px;
  					left: -120px;
  					width: 100%;
  					height: 1px;
  					background-color: rgba(255,255,255,0.5);
  					z-index: 99999;
				}
					.cdf-accordion-image .cdf-accordion-image__grid img{
						transform: translateX(-120px) translateY(-40px);
						object-fit: cover;
						max-width: 500px;
					}

			.cdf-accordion-image__content{
				border-width: 0px 1px 0px 1px;
				border-style: solid;
				border-color: rgba(0, 0, 0, 0.4);
				padding: 80px 40px;
				align-items: center;
				display: flex;
			}
				.cdf-accordion{
					margin-bottom: 45px;
					width: 102%;
  					margin-left: -1%;
				}
					.cdf-accordion .equipement-item,
					.cdf-faq__question{
						background-color: #fbf8f7;
  						padding: 12px 30px;
  						margin-bottom: 10px;
  						cursor: pointer;
  						position: relative;
  						transition: padding 0.5s ease;
					}
					.cdf-accordion .equipement-item:first-child,
					.cdf-accordion .equipement-item:hover,
					.cdf-faq__question:hover,
					.cdf-faq__item[open] .cdf-faq__question{
						background-color: var(--cdf-modal-error);
					}
					.cdf-faq__item .cdf-faq__question{
						list-style: none;
					}
					.cdf-faq__question::-webkit-details-marker {
					    display: none;
					}
						.cdf-accordion .equipement-item:hover{
							padding: 15px 35px;
							transition: padding 0.5s ease;
						}
							.cdf-accordion .equipement-item:first-child:hover,
							.cdf-faq__item[open] .cdf-faq__question:hover{
								background-color: #333;
							}
								.cdf-accordion .equipement-item:after,
								.cdf-faq__item .cdf-faq__question:after{
									content: '';
	  								position: absolute;
	  								right: 26px;
	  								top: calc(50% - 4px);
	  								width: 10px;
	  								height: 10px;
	  								background-image: url('../img/arrow.svg');
	  								background-size: contain;
	  								background-repeat: no-repeat;
	  								transform: rotate(-70deg);
	  								opacity: 0.8;
	  								transition: transform 1s ease;
								}
									.cdf-accordion .equipement-item:first-child:after,
									.cdf-accordion .equipement-item:hover:after,
									.cdf-faq__item[open] .cdf-faq__question:after,
									.cdf-faq__item .cdf-faq__question:hover:after{
										opacity: 1;
										filter: invert(1);
										transform: rotate(-5deg);
										transition: transform 1s ease;
									}
									.cdf-faq__item[open] .cdf-faq__question:after{
										transform: rotate(110deg);
									}

						.cdf-faq__answer{
							padding: 10px 30px;
						}
						.cdf-accordion .equipement-item h3{
							margin: 0px !important;
						}
							.cdf-accordion .equipement-item h3 a,
							.cdf-faq__item .cdf-faq__question{
								color: #333;
								opacity: 0.8;
							}
							.cdf-accordion .equipement-item h3 a{
								font-size: 14px !important;
							}
							.cdf-accordion .equipement-item:first-child h3 a,
							.cdf-accordion .equipement-item:hover h3 a,
							.cdf-faq__item[open] .cdf-faq__question,
							.cdf-faq__question:hover{
								color: white;
								opacity: 1;
							}
							.cdf-faq__item .cdf-faq__question{
								font-weight: 600;
							}


		@media screen and (max-width: 767px){
			.cdf-accordion-image .cdf-container{
				grid-template-columns: repeat(1, 1fr);
			}

			.cdf-accordion-image .cdf-accordion-image__grid img{
				width: 100%;
			}
			.cdf-accordion-image__content{
				border: none;
				padding: 0px;
				margin-bottom: 55px;
			}
			.cdf-faq .cdf-container{
				padding-inline: 30px;
			}
				.cdf-faq .cdf-container .cdf-faq__question{
					padding-right: 70px;
				}
		}

	/*---------------------------------------------------OPENING HOURS---------------------------------------------*/

		.cdf-section--dark{
			background-color: var(--vert-fonce);
			color: rgba(255, 255, 255, 0.8);
			padding: 100px 0px;
		}
			.cdf-opening-hours .cdf-opening-hours__grid{
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				grid-column-gap: 30px;
				grid-row-gap: 0px; 
				max-width: 100%;
				align-items: center;
			}
				.cdf-opening-hours .cdf-opening-hours__grid .cdf-opening-hours__intro{
					width: 75%;
				}
					.cdf-section--dark .cdf-link-arrow{
						color: white !important;
					}
						.cdf-section--dark .cdf-link-arrow:after{
							filter: invert(1);
						}


				.cdf-opening-hours .cdf-opening-hours__grid .cdf-opening-hours__table{
					background-color: #051e1e;
					padding: 60px 80px;
					position: relative;
				}
					.cdf-opening-hours .cdf-opening-hours__grid .cdf-opening-hours__table:before{
						content: '';
						background-color: var(--cdf-modal-error);
						position: absolute;
						bottom: 0px;
						left: -5px;
						width: 5px;
						height: 80%;
					}

				.cdf-opening-hours__table .cdf-opening-hours__row{
					font-weight: 900;
					font-size: 16px;
					padding: 20px 40px 20px 20px;
					display: flex;
					justify-content: space-between;
				}
				.cdf-opening-hours__table .cdf-opening-hours__row:not(:last-child){
					border-bottom: 1px solid rgba(255, 255, 255, 0.1);
				}
					.cdf-opening-hours__table .cdf-opening-hours__row dt{ 
						text-transform: uppercase;
					}

		@media screen and (max-width: 767px){
			.cdf-opening-hours .cdf-opening-hours__grid{
				grid-template-columns: repeat(1, 1fr);
			}
				.cdf-opening-hours .cdf-opening-hours__grid .cdf-opening-hours__table{
					padding: 40px 20px;
				}
				.cdf-opening-hours__table .cdf-opening-hours__row{
					font-size: 14px;
					padding: 20px 5px;
				}
		}

	/*---------------------------------------------------FULL WIDTH IMG----------------------------------------------*/

		.cdf-full-width-image{
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			grid-template-rows: 1fr;
			grid-column-gap: 0px;
			grid-row-gap: 0px; 
			max-width: 100%;
			position: relative;
		}
				.cdf-full-width-image:before{
					content: '';
					height: 100%;
					position: absolute;
					border-width: 0px 1px 0px 1px;
					border-color: rgba(255,255,255,0.5);
					border-style: solid;
					left: 50%;
					transform: translateX(-50%);
					width: calc(var(--cdf-content-width) - 2px);
				}

			.cdf-full-width-image img{
				height: 350px;
				object-fit: cover;
				width: 100%;
			}

	/*------------------ZOOM IMAGES AU SURVOL (contenu dans le cadre)------------------*/

		.cdf-image-gallery .slick-img,
		.cdf-staff-grid__photo{
			overflow: hidden;
		}
		.cdf-image-gallery .slick-img{
			margin-right: 8px;
		}
			.cdf-services-slider .soin-item .thumb-soin img,
			.cdf-image-gallery .slick-img img{
				transition: transform 0.6s var(--cdf-reveal-ease);
			}
				.cdf-services-slider .soin-item .thumb-soin:hover img,
				.cdf-image-gallery .slick-img:hover img,
				.cdf-staff-grid__photo:hover img{
					transform: scale(1.06);
				}

		@media (prefers-reduced-motion: reduce){
			.cdf-services-slider .soin-item .thumb-soin:hover img,
			.cdf-image-gallery .slick-img:hover img,
			.cdf-staff-grid__photo:hover img{
				transform: none;
			}
		}

		@media screen and (max-width: 767px){
			.cdf-full-width-image{
				grid-template-columns: 1fr;
			}
			.cdf-full-width-image img{
				height: 240px;
			}
			.cdf-full-width-image:before{
				display: none;
			}
		}

	/*---------------------------------------------------IMAGES GALLERIE----------------------------------------------*/


		.cdf-image-gallery .cdf-container{
			padding: 120px 0px;
		}
			.cdf-image-gallery__track img{
				height: 375px !important;
				object-fit: cover;
				width: 375px;
				cursor: pointer;
			}

			.cdf-image-gallery .slick-list{
				overflow: visible !important;
  				clip-path: inset(-50px -400px -50px 0px);
  				z-index: 9999;
  			}
  				.cdf-image-gallery .slick-list .slick-img.slick-slide:not(.slick-active){
  					background-color: white;
  				}
  					.cdf-image-gallery .slick-list  .slick-slide:not(.slick-active) img{
  						opacity: 0.3;
  					}

			.cdf-image-gallery__nav{
				margin-top: 30px;
				padding-left: 30px;
			}
				.cdf-image-gallery__nav img{
					filter: invert(8%) sepia(83%) saturate(418%) hue-rotate(131deg) brightness(97%) contrast(104%);
				}

		@media screen and (max-width: 1200px){
			.cdf-image-gallery .cdf-container{
				margin-inline: auto;
  				padding-inline: var(--cdf-content-padding);
			}
		}

	/*------------------------LIGHTBOX GALERIE------------------------*/

		.cdf-lightbox{
			position: fixed;
			inset: 0;
			z-index: 2147483000;
			display: flex;
			align-items: center;
			justify-content: center;
			padding: clamp(16px, 5vw, 64px);
			box-sizing: border-box;
			background: rgba(10, 26, 24, 0.92);
			opacity: 0;
			visibility: hidden;
			-webkit-backdrop-filter: blur(0px);
			backdrop-filter: blur(0px);
			transition:
				opacity 0.45s var(--cdf-reveal-ease),
				visibility 0s linear 0.45s,
				-webkit-backdrop-filter 0.6s var(--cdf-reveal-ease),
				backdrop-filter 0.6s var(--cdf-reveal-ease);
		}
		.cdf-lightbox.is-open{
			opacity: 1;
			visibility: visible;
			-webkit-backdrop-filter: blur(6px);
			backdrop-filter: blur(6px);
			transition:
				opacity 0.45s var(--cdf-reveal-ease),
				visibility 0s,
				-webkit-backdrop-filter 0.6s var(--cdf-reveal-ease),
				backdrop-filter 0.6s var(--cdf-reveal-ease);
		}

		.cdf-lightbox__figure{
			margin: 0;
			max-width: min(1100px, 92vw);
			max-height: 86vh;
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 14px;
		}
			.cdf-lightbox__img{
				display: block;
				max-width: 100%;
				max-height: 78vh;
				width: auto;
				height: auto;
				object-fit: contain;
				border-radius: 4px;
				box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
				opacity: 0;
				transform: scale(0.86) translateY(14px);
				transition:
					opacity 0.5s var(--cdf-reveal-ease),
					transform 0.6s var(--cdf-reveal-ease);
				will-change: opacity, transform;
			}
			.cdf-lightbox.is-open .cdf-lightbox__img{
				opacity: 1;
				transform: none;
			}
			.cdf-lightbox.is-open .cdf-lightbox__img.is-swapping{
				opacity: 0;
				transform: scale(0.97);
			}

		.cdf-lightbox__video{
			width: min(1100px, 92vw);
			max-height: 78vh;
			aspect-ratio: 16 / 9;
			border-radius: 4px;
			overflow: hidden;
			box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
			opacity: 0;
			transform: scale(0.86) translateY(14px);
			transition:
				opacity 0.5s var(--cdf-reveal-ease),
				transform 0.6s var(--cdf-reveal-ease);
		}
			.cdf-lightbox__video iframe,
			.cdf-lightbox__video video{
				display: block;
				width: 100%;
				height: 100%;
				border: 0;
				background: #000;
			}
		.cdf-lightbox.is-open.is-video .cdf-lightbox__video{
			opacity: 1;
			transform: none;
		}
		.cdf-lightbox.is-video .cdf-lightbox__img{
			display: none;
		}

		.cdf-lightbox__close,
		.cdf-lightbox__nav{
			position: absolute;
			border: 0;
			background: none;
			color: #fff;
			cursor: pointer;
			display: flex;
			align-items: center;
			justify-content: center;
			transition: transform 0.4s var(--cdf-panel-ease);
			-webkit-tap-highlight-color: transparent;
		}
			.cdf-lightbox__close:focus-visible,
			.cdf-lightbox__nav:focus-visible{
				outline: 2px solid #fff;
				outline-offset: 2px;
			}
			.cdf-lightbox__close{
				top: clamp(14px, 3vw, 28px);
				right: clamp(14px, 3vw, 28px);
				width: 46px;
				height: 46px;
			}
				.cdf-lightbox__close::before,
				.cdf-lightbox__close::after{
					content: '';
					position: absolute;
					top: 50%;
					left: 50%;
					width: 22px;
					height: 2px;
					background: currentColor;
					border-radius: 1px;
				}
				.cdf-lightbox__close::before{ transform: translate(-50%, -50%) rotate(45deg); }
				.cdf-lightbox__close::after{ transform: translate(-50%, -50%) rotate(-45deg); }

			.cdf-lightbox__nav{
				top: 50%;
				width: 54px;
				height: 54px;
				margin-top: -27px;
			}
			.cdf-lightbox__nav--prev{ left: clamp(10px, 3vw, 32px); }
			.cdf-lightbox__nav--next{ right: clamp(10px, 3vw, 32px); }
				.cdf-lightbox__nav::before{
					content: '';
					width: 20px;
					height: 20px;
					background-image: url('../img/arrow.svg');
					background-size: contain;
					background-repeat: no-repeat;
					background-position: center;
					filter: invert(1);
				}
				.cdf-lightbox__nav--prev::before{ transform: rotate(-180deg); }
			.cdf-lightbox__close:hover{ transform: scale(1.08); }
			.cdf-lightbox__nav--prev:hover{ transform: translateX(-6px); }
			.cdf-lightbox__nav--next:hover{ transform: translateX(6px); }
			.cdf-lightbox__nav[hidden]{ display: none; }

		@media (prefers-reduced-motion: reduce){
			.cdf-lightbox,
			.cdf-lightbox__img,
			.cdf-lightbox__video{
				transition-duration: 0.001s;
			}
			.cdf-lightbox__img,
			.cdf-lightbox__video{ transform: none; }
		}


/*---------------------------------------------------CURSEUR PERSONNALISÉ----------------------------------------------*/

	/* Curseur flèche + traînée de points */
	@media (hover: hover) and (pointer: fine){
		html.cdf-has-cursor,
		html.cdf-has-cursor *{
			cursor: none !important;
		}
		html.cdf-has-cursor select{
			cursor: pointer !important;
		}

		.cdf-cursor{
			position: fixed;
			top: 0;
			left: 0;
			z-index: 2147483600;
			pointer-events: none;
			transform: translate3d(-100px, -100px, 0);
			will-change: transform;
		}
			.cdf-cursor__arrow{
				position: absolute;
				top: 0;
				left: 0;
				width: 40px;
				height: 40px;
				margin: -20px 0 0 -20px;
				color: var(--vert-fonce);
				fill: currentColor;
				transform: rotate(-135deg) scale(0.38);
				transform-origin: center;
				transition:
					transform 0.3s var(--cdf-reveal-ease),
					opacity 0.3s ease,
					color 0.3s ease;
			}
			.cdf-cursor.is-active .cdf-cursor__arrow{
				transform: rotate(-135deg) scale(0.56);
			}
			.cdf-cursor.is-hidden .cdf-cursor__arrow{
				opacity: 0;
			}

		.cdf-cursor-dot{
			position: fixed;
			top: 0;
			left: 0;
			width: 6px;
			height: 6px;
			margin: -3px 0 0 -3px;
			border-radius: 50%;
			background-color: var(--vert-intermediaire);
			pointer-events: none;
			z-index: 2147483550;
			opacity: 0;
			will-change: transform, opacity;
			transition: background-color 0.3s ease;
		}

		html.cdf-cursor-on-dark .cdf-cursor__arrow{
			color: #ffffff;
		}
		html.cdf-cursor-on-dark .cdf-cursor-dot{
			background-color: rgba(255, 255, 255, 0.9);
		}
	}


/*---------------------------------------------------TABLETTE (768px – 1199px)----------------------------------------------*/

	@media screen and (min-width: 768px) and (max-width: 1199px){
		:root{
			--cdf-content-padding: var(--cdf-tablet-padding);
		}

		h2{
			font-size: 32px;
		}

		.cdf-container{
			position: relative;
			padding-inline: var(--cdf-tablet-padding);
		}

		section:not(.cdf-hero):not(.cdf-section--dark):not(.cdf-accordion-image) .cdf-container:before,
		section:not(.cdf-hero):not(.cdf-section--dark):not(.cdf-accordion-image) .cdf-container:after{
			content: '';
			position: absolute;
			top: 0;
			height: 100%;
			width: 1px;
			background-color: rgba(0, 0, 0, 0.3);
			z-index: 999;
		}
		section:not(.cdf-hero):not(.cdf-section--dark):not(.cdf-accordion-image) .cdf-container:before{
			left: 0;
		}
		section:not(.cdf-hero):not(.cdf-section--dark):not(.cdf-accordion-image) .cdf-container:after{
			right: 0;
		}

		.cdf-wysiwyg .cdf-container{
			padding: 60px var(--cdf-tablet-padding) 90px var(--cdf-tablet-padding);
		}

		.home .cdf-hero{
			min-height: 85vh;
			min-height: 85dvh;
			align-items: stretch;
		}
		.cdf-hero h1{
			font-size: 40px;
			margin-bottom: 28px;
		}

		.cdf-text-image-bloc .cdf-text-image__grid,
		.cdf-intro-split .cdf-intro-split__grid,
		.cdf-two-columns-text__grid,
		.cdf-image-text-list__grid,
		.cdf-profile-detail__grid{
			padding: 40px 0;
			gap: 24px;
		}

		.cdf-two-columns-text__grid{
			padding: 60px 20px 60px 20px !important;
			gap: 36px;
		}

		.cdf-intro-split__intro{
			padding-left: 24px;
			width: 100%;
		}

		.cdf-text-image--image-droite .cdf-text-image__content,
		.cdf-intro-split .cdf-intro-split__content .cdf-intro-spit-border{
			width: 100%;
			padding-left: 24px;
			border-left-width: 4px;
		}

		.cdf-text-image--image-gauche .cdf-text-image__content{
			padding-right: 36px;
		}

		.cdf-image-text-list__content{
			padding-right: 36px;
		}

		.cdf-profile-detail:not(.cdf-profile-detail--reverse) .cdf-profile-detail__content{
			margin-left: -24px;
			width: 105%;
		}

		.cdf-profile-detail.cdf-profile-detail--reverse .cdf-profile-detail__grid .cdf-imagequotes{
			order: 2;
		}
		.cdf-profile-detail.cdf-profile-detail--reverse .cdf-profile-detail__grid .cdf-profile-detail__content{
			order: 1;
		}
		.cdf-profile-detail.cdf-profile-detail--reverse .cdf-profile-detail__content,
		.cdf-profile-detail.cdf-profile-detail--reverse .cdf-profile-detail__quote{
			text-align: right;
		}

		.cdf-text-image--image-droite .cdf-text-image__media img,
		.cdf-intro-split .cdf-intro-split__media img,
		.cdf-profile-detail.cdf-profile-detail--reverse img{
			transform: translateX(48px);
		}
		.cdf-intro-split .cdf-intro-split__media img,
		.cdf-profile-detail.cdf-profile-detail--reverse img{
			transform: translateX(56px);
		}

		.cdf-text-image--image-gauche .cdf-text-image__media img,
		.cdf-image-text-list__media img,
		.cdf-profile-detail:not(.cdf-profile-detail--reverse) .cdf-profile-detail__media img{
			transform: translateX(-48px);
		}
		.cdf-profile-detail:not(.cdf-profile-detail--reverse) .cdf-profile-detail__media img{
			transform: translateX(-56px);
		}

		.cdf-staff-grid .cdf-staff-grid__list{
			grid-template-columns: repeat(2, 1fr);
			padding: 50px 20px 90px 20px;
			gap: 28px 24px;
		}

		.cdf-cards-archive__item{
			height: 360px;
		}
		.cdf-cards-archive__content{
			left: 28px;
			right: 28px;
		}

		.cdf-accordion-image .cdf-container{
			grid-template-columns: repeat(2, 1fr);
		}
		.cdf-accordion-image .cdf-accordion-image__grid img{
			transform: translateX(-48px) translateY(-24px);
			max-width: 100%;
			width: 100%;
		}
		.cdf-accordion-image__content{
			border-width: 0 1px 0 1px;
			padding: 48px 28px;
			margin-bottom: 0;
		}

		.cdf-opening-hours .cdf-opening-hours__grid{
			grid-template-columns: repeat(2, 1fr);
			gap: 24px;
		}
		.cdf-opening-hours .cdf-opening-hours__grid .cdf-opening-hours__intro{
			width: 100%;
		}
		.cdf-opening-hours .cdf-opening-hours__grid .cdf-opening-hours__table{
			padding: 44px 36px;
		}

		.cdf-services-slider__header,
		.cdf-services-slider__nav{
			grid-template-columns: repeat(2, 1fr);
		}
		.cdf-services-slider .soin-item{
			width: 300px;
			height: 360px;
		}

		.cdf-full-width-image:before{
			width: calc(100% - (var(--cdf-tablet-padding) * 2));
		}
		.cdf-full-width-image img{
			height: 300px;
		}

		.cdf-image-gallery .cdf-container{
			padding: 90px 0;
		}
		.cdf-image-gallery__track img{
			height: 320px !important;
			width: 320px;
		}

		.cdf-section--dark{
			padding: 80px 0;
		}

		.cdf-footer__grid{
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
			gap: 48px;
			align-items: start;
		}
		.cdf-footer__col--nav{
			margin-top: 0;
		}
		.cdf-footer__col--nav ul{
			height: auto;
			columns: 2;
			gap: 0 48px;
		}

		.cdf-faq .cdf-container{
			padding: 20px 28px 90px 28px;
		}
	}

	/* Menu overlay tablette (901–1199 px) : nav plus large, visuel réduit. */
	@media screen and (min-width: 901px) and (max-width: 1199px){
		.cdf-menu-overlay__inner{
			grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
		}

		.cdf-menu-overlay__nav{
			padding: var(--cdf-header-bar-height) 32px 32px 0;
		}

		.cdf-menu-overlay__list{
			padding: 0 24px;
		}

		.cdf-menu-overlay__list > li{
			font-size: 18px;
			letter-spacing: 1.6px;
		}

		.cdf-menu-overlay__visual{
			transform: translateX(36px) scale(1.03);
		}

		.cdf-menu-overlay.is-open .cdf-menu-overlay__visual{
			transform: translateX(0) scale(1);
		}

		.cdf-menu-overlay__visual img{
			transform: scale(1.05);
		}

		.cdf-menu-overlay.is-open .cdf-menu-overlay__visual img{
			transform: scale(1);
		}
	}


/*---------------------------------------------------FOOTER----------------------------------------------*/


	.cdf-footer{
		background-color: var(--vert-fonce);
		color: white;
		padding: 80px 0px 0px 0px;
	}

	@media screen and (max-width: 900px){
		.cdf-footer{
			padding-bottom: calc(var(--cdf-bottom-strip-height) + env(safe-area-inset-bottom, 0px));
		}

		.picto-footer{
			margin: 0;
		}
			.picto-footer img{
				display: block;
				margin-inline: auto;
				transform: translateY(0px) !important;
			}
	}
		.cdf-footer a{
			color: white;
		}
		.cdf-footer ul{
			list-style: none;
    		padding: 0;
    		margin: 0;
		}
			.cdf-footer ul li{
				margin-bottom: 10px;
				text-transform: uppercase;
				font-weight: 600; 
				letter-spacing: 2px;
				font-size: 14px;
				position: relative;
				padding-bottom: 0px;
    			transition:
		        padding-bottom 0.35s ease,
		        margin-bottom 0.35s ease;
			}
			.cdf-footer ul li.current-menu-item{
				padding-bottom: 10px;
			}
				.cdf-footer ul li:before{
					content: '';
				    position: absolute;
				    left: 0;
				    bottom: 0;
				    width: 70%;
				    height: 3px;
				    background-color: var(--vert-accent);
				    transform: scaleX(0);
				    transform-origin: left;
				    transition: transform 0.35s ease;
				}
				.cdf-footer ul li::after{
				    content: '';
				    background-image: url('../img/arrow.svg');
				    background-size: contain;
				    width: 10px;
				    height: 10px;
				    margin-left: 12px;
				    top: 5px;
				    position: absolute;
				    background-repeat: no-repeat;
				    filter: invert(1);
				    transition: margin-left 0.5s ease;
				}

				.cdf-footer ul li:hover{
				    padding-bottom: 12px;
				}
					.cdf-footer ul li:hover::before{
					    transform: scaleX(1);
					}
					.cdf-footer ul li:hover::after{
					    margin-left: 17px;
					}

				.cdf-footer ul li.current-menu-item{
				    padding-bottom: 12px;
				}
					.cdf-footer ul li.current-menu-item::before{
					    transform: scaleX(1);
					}

				.cdf-footer ul li:after{
					content: '';
					background-image: url('../img/arrow.svg');
					background-size: contain;
					width: 10px;
					height: 100px;
					margin-left: 12px;
					top: 5px;
					position: absolute;
					background-repeat: no-repeat;
					filter: invert(1);
					transition: margin-left 0.5s ease;
				}
					.cdf-footer ul li:hover:after{
						margin-left: 17px;
						transition: margin-left 0.5s ease;
					}


		.cdf-footer__logo{
			text-align: center;
		}
			.cdf-footer__logo img{
				width: 150px;
				filter: brightness(100);
			}

		.cdf-contact-panel__address p,
		.cdf-footer__address p{
			margin: 0 0 0.45em;
		}

		.cdf-contact-panel__address p:last-child,
		.cdf-footer__address p:last-child{
			margin-bottom: 0;
		}

		.cdf-footer__address .cdf-infos-parking{
			display: none;
		}

	.cdf-footer__grid{
		width: 100%;
		padding: 60px var(--cdf-content-padding);
		justify-content: space-between;
	}
		.cdf-footer__col--nav ul{
			width: 100%;
			gap: 0px 100px;
			columns: 2;
			height: 115px;
		}
			.cdf-footer__col--nav ul li{
				align-self: start;
			}

	.cdf-footer__bottom{
		text-align: center;
		margin-top: 60px;
	}
		.cdf-footer__bottom p{
			margin-bottom: 0px;
		}
		.cdf-footer__bottom .cdf-footer__credits{
			padding-bottom: 40px;
			padding-top: 5px;
		}
			.cdf-footer__bottom .cdf-footer__credits img{
				filter: invert(1);
				transform: translateY(2px);
				margin-left: 5px;
			}

	.picto-footer{
		margin-bottom: 0px;
		text-align: center;
	}
			.picto-footer img{
				transform: translateY(5px);
  				object-position: bottom;
  				object-fit: contain;
			}

	@media screen and (min-width: 1200px){
		.cdf-footer__grid{
			width: var(--cdf-content-width);
			margin: auto;
			padding-left: 0px;
			padding-right: 0px;
			display: flex;
		}
	}

	@media screen and (max-width: 767px){
		.cdf-footer__col--nav{
			margin-top: 60px;
		}
	}

	@media screen and (max-width: 900px){
		.cdf-footer ul li:before{
			width: 35%;
		}
	}

	@media screen and (max-width: 600px){
		.cdf-footer ul li{
			margin-bottom: 20px;
		}

		.cdf-footer__col--nav ul{
			gap: 0px;
			columns: 1;
			height: auto;
		}

		.cdf-footer__bottom{
			text-align: left;
			padding: 0px 30px;
		}
	}



