/*
|--------------------------------------------------------------------------
| ALP Assist'Admin
|--------------------------------------------------------------------------
| Thème principal — composants de la page d’accueil
|--------------------------------------------------------------------------
*/

/* ==========================================================================
   VARIABLES
   ========================================================================== */

:root {
	--alp-navy: #07325f;
	--alp-navy-dark: #05284c;
	--alp-green: #54894d;
	--alp-green-dark: #44733f;
	--alp-cream: #f8f5ed;
	--alp-white: #ffffff;
	--alp-text: #292929;
	--alp-border: #e7e5df;
	--alp-container: 1500px;

	/* Design system */
	--alp-section-space: 96px;
	--alp-button-height: 52px;
	--alp-button-radius: 6px;
	--alp-card-radius: 12px;
	--alp-transition: 180ms ease;
	--alp-shadow-soft: 0 10px 35px rgba(7, 50, 95, 0.05);
	--alp-shadow-card: 0 15px 35px rgba(7, 50, 95, 0.14);
}

/* ==========================================================================
   BASE ET RÉINITIALISATION
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	overflow-x: hidden;
	color: var(--alp-text);
	background: var(--alp-white);
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

img,
svg {
	display: block;
	max-width: 100%;
}

a {
	color: inherit;
	text-decoration: none;
}

button,
input,
textarea,
select {
	font: inherit;
}

ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.alp-skip-link {
	position: fixed;
	z-index: 99999;
	top: 12px;
	left: 12px;
	padding: 10px 16px;
	color: var(--alp-white);
	background: var(--alp-navy);
	transform: translateY(-160%);
}

.alp-skip-link:focus {
	transform: translateY(0);
}

/* ==========================================================================
   HEADER
   ========================================================================== */

.alp-header {
	position: relative;
	z-index: 100;
	width: 100%;
	background: var(--alp-white);
}

.alp-header__container {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr) 205px;
	align-items: center;
	gap: 32px;
	width: min(calc(100% - 56px), var(--alp-container));
	height: 126px;
	margin-inline: auto;
}

.alp-header__branding {
	display: flex;
	align-items: center;
	height: 100%;
}

.alp-header__branding .custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.alp-header__branding .custom-logo {
	width: auto;
	max-width: 245px;
	max-height: 108px;
	object-fit: contain;
}

.alp-header__site-name {
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2rem;
	font-weight: 700;
}

.alp-header__navigation {
	justify-self: center;
}

.alp-header__menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(25px, 2.1vw, 43px);
}

.alp-header__menu > li {
	position: relative;
}

.alp-header__menu a {
	position: relative;
	display: flex;
	align-items: center;
	height: 48px;
	padding: 0;
	color: var(--alp-navy) !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
}

.alp-header__menu a:hover,
.alp-header__menu a:focus-visible,
.alp-header__menu > .current-menu-item > a,
.alp-header__menu > .current_page_item > a,
.alp-header__menu > .current-menu-ancestor > a {
	color: var(--alp-green) !important;
}

.alp-header__menu > .current-menu-item > a::after,
.alp-header__menu > .current_page_item > a::after,
.alp-header__menu > .current-menu-ancestor > a::after {
	position: absolute;
	right: 0;
	bottom: 1px;
	left: 0;
	height: 2px;
	background: var(--alp-green);
	content: "";
}

.alp-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.alp-header__quote {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	min-width: 192px;
	height: 52px;
	padding: 0 23px;
	color: var(--alp-white) !important;
	background: var(--alp-green);
	border: 1px solid var(--alp-green);
	border-radius: 6px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		transform 180ms ease;
}

.alp-header__quote:hover,
.alp-header__quote:focus-visible {
	color: var(--alp-white) !important;
	background: var(--alp-green-dark);
	border-color: var(--alp-green-dark);
	transform: translateY(-1px);
}

.alp-header__quote-arrow {
	font-size: 18px;
	line-height: 1;
}

.alp-header__toggle {
	display: none;
}

/* ==========================================================================
   HERO — STRUCTURE
   ========================================================================== */

.alp-hero {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: var(--alp-white);
}

.alp-hero__layout {
	display: grid;
	grid-template-columns: 50% 50%;
	width: 100%;
	height: 650px;
}

.alp-hero__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	height: 650px;
	padding:
		38px
		118px
		34px
		max(58px, calc((100vw - var(--alp-container)) / 2 + 28px));
	background: var(--alp-white);
}

/* ==========================================================================
   HERO — TEXTE
   ========================================================================== */

.alp-hero__eyebrow {
	margin: 0 0 18px;
	color: var(--alp-green);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.alp-hero__title {
	width: 100%;
	max-width: 690px;
	margin: 0;
	color: var(--alp-navy) !important;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(52px, 3.55vw, 68px);
	font-weight: 400;
	line-height: 1.03;
	letter-spacing: -0.035em;
}

.alp-hero__highlight {
	width: 100%;
	max-width: 610px;
	margin: 15px 0 26px;
	color: var(--alp-green) !important;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(39px, 2.75vw, 52px);
	font-style: italic;
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -0.02em;
}

.alp-hero__description {
	max-width: 590px;
	margin: 0;
	color: #303030;
	font-size: 16px;
	line-height: 1.55;
}

/* ==========================================================================
   HERO — BOUTONS
   ========================================================================== */

.alp-hero__buttons {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 24px;
	margin-top: 26px;
}

.alp-hero__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 52px;
	padding: 0 27px;
	border: 2px solid transparent;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	transition:
		color 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease,
		transform 180ms ease;
}

.alp-hero__button--primary {
	gap: 14px;
	min-width: 260px;
	color: var(--alp-white) !important;
	background: var(--alp-green);
	border-color: var(--alp-green);
}

.alp-hero__button--primary:link,
.alp-hero__button--primary:visited {
	color: var(--alp-white) !important;
}

.alp-hero__button--primary:hover,
.alp-hero__button--primary:focus-visible {
	color: var(--alp-white) !important;
	background: var(--alp-green-dark);
	border-color: var(--alp-green-dark);
	transform: translateY(-1px);
}

.alp-hero__button--secondary {
	min-width: 225px;
	color: var(--alp-navy) !important;
	background: var(--alp-white);
	border-color: var(--alp-navy);
}

.alp-hero__button--secondary:link,
.alp-hero__button--secondary:visited {
	color: var(--alp-navy) !important;
}

.alp-hero__button--secondary:hover,
.alp-hero__button--secondary:focus-visible {
	color: var(--alp-white) !important;
	background: var(--alp-navy);
	border-color: var(--alp-navy);
	transform: translateY(-1px);
}

/* ==========================================================================
   HERO — ENGAGEMENTS
   ========================================================================== */

.alp-hero__commitments {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	width: 100%;
	max-width: 665px;
	margin-top: 31px;
}

.alp-hero__commitment {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	align-items: center;
	gap: 11px;
	color: var(--alp-navy);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
}

.alp-hero__commitment-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	color: var(--alp-navy);
}

.alp-hero__commitment-icon svg {
	width: 38px;
	height: 38px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* ==========================================================================
   HERO — PHOTO
   ========================================================================== */

.alp-hero__visual {
	position: relative;
	z-index: 3;
	height: 650px;
	overflow: visible;
}

.alp-hero__image {
	width: 100%;
	height: 650px;
	object-fit: cover;
	object-position: 53% center;
}

.alp-hero__fade {
	position: absolute;
	z-index: 4;
	inset: 0 auto 0 0;
	width: 205px;
	background: linear-gradient(
		90deg,
		#ffffff 0%,
		rgba(255, 255, 255, 0.96) 19%,
		rgba(255, 255, 255, 0.74) 46%,
		rgba(255, 255, 255, 0.24) 77%,
		rgba(255, 255, 255, 0) 100%
	);
	pointer-events: none;
}

/* ==========================================================================
   HERO — TRACÉ POINTILLÉ
   ========================================================================== */

.alp-hero__path {
	position: absolute;
	z-index: 7;
	top: 76px;
	left: -210px;
	display: block;
	width: 220px;
	height: 500px;
	overflow: visible;
	color: var(--alp-green);
	pointer-events: none;
}

.alp-hero__path path {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 6 9;
}


/* ==========================================================================
   HERO — TROMBONE
   ========================================================================== */

.alp-hero__paperclip {
	position: absolute;
	z-index: 10;
	top: 150px;
	left: -140px;
	display: block;
	width: 42px;
	height: 78px;
	color: var(--alp-green);
	transform: rotate(16deg);
	transform-origin: center;
	pointer-events: none;
}

.alp-hero__paperclip svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* ==========================================================================
   HERO — CARTES FLOTTANTES
   ========================================================================== */

.alp-feature-card {
	position: absolute;
	z-index: 9;
	left: -73px;
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	width: 248px;
	min-height: 112px;
	padding: 15px 17px;
	background: rgba(255, 255, 255, 0.97);
	border: 1px solid rgba(7, 50, 95, 0.06);
	border-radius: 12px;
	box-shadow: 0 13px 32px rgba(7, 50, 95, 0.14);
	backdrop-filter: blur(7px);
}

.alp-feature-card--reactivity {
	top: 54px;
}

.alp-feature-card--billing {
	top: 226px;
}

.alp-feature-card--privacy {
	top: 402px;
}

.alp-feature-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	padding: 8px;
	color: var(--alp-navy);
	background: var(--alp-cream);
	border-radius: 50%;
}

.alp-feature-card__icon svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-feature-card__content h2 {
	margin: 0 0 6px;
	color: var(--alp-navy);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.15;
}

.alp-feature-card__content p {
	margin: 0;
	color: #353535;
	font-size: 12px;
	line-height: 1.4;
}
.alp-feature-card__accent {
	stroke: var(--alp-green);
}

/* ==========================================================================
   ÉCRANS INTERMÉDIAIRES
   ========================================================================== */

@media (max-width: 1280px) {

	.alp-header__container {
		grid-template-columns: 225px minmax(0, 1fr) 180px;
		gap: 22px;
		height: 112px;
	}

	.alp-header__branding .custom-logo {
		max-width: 210px;
		max-height: 96px;
	}

	.alp-header__menu {
		gap: 23px;
	}

	.alp-header__menu a {
		font-size: 14px;
	}

	.alp-header__quote {
		min-width: 172px;
		padding-inline: 18px;
	}

	.alp-hero__layout,
	.alp-hero__content,
	.alp-hero__visual,
	.alp-hero__image {
		height: 630px;
	}

	.alp-hero__content {
		padding-right: 54px;
	}

	.alp-hero__title {
		font-size: clamp(48px, 4vw, 58px);
	}

	.alp-hero__highlight {
		font-size: clamp(40px, 3.55vw, 50px);
	}

	.alp-feature-card {
		left: -58px;
		width: 232px;
	}

	.alp-feature-card--reactivity {
		top: 46px;
	}

	.alp-feature-card--billing {
		top: 211px;
	}

	.alp-feature-card--privacy {
		top: 380px;
	}

	.alp-hero__path {
		left: -190px;
	}

	.alp-hero__paperclip {
		left: -122px;
	}
}

/* ==========================================================================
   TABLETTE ET MENU MOBILE
   ========================================================================== */

@media (max-width: 1050px) {

	/* Header
	   ====================================================================== */

	.alp-header__container {
		grid-template-columns: 1fr auto;
		width: calc(100% - 40px);
		height: 84px;
		gap: 20px;
	}

	.alp-header__branding .custom-logo {
		width: auto;
		max-width: 165px;
		max-height: 72px;
		object-fit: contain;
	}

.alp-header__navigation {
	position: absolute;
	z-index: 200;
	top: 100%;
	right: 0;
	left: 0;

	display: none;

	width: 100%;
	padding: 8px 22px 18px;

	background: var(--alp-white);
	border-top: 1px solid rgba(7, 50, 95, 0.08);
	box-shadow: 0 18px 30px rgba(7, 50, 95, 0.14);
}

.alp-header__navigation.is-open {
	display: block;
}

.alp-header__menu {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	gap: 0;
	width: 100%;
}

.alp-header__menu > li {
	width: 100%;
}

.alp-header__menu a {
	display: flex;
	align-items: center;

	width: 100%;
	height: auto;
	min-height: 46px;
	padding: 12px 4px;

	color: var(--alp-navy) !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;

	border-bottom: 1px solid rgba(7, 50, 95, 0.06);
}

.alp-header__menu > li:last-child a {
	border-bottom: 0;
}

.alp-header__menu > .current-menu-item > a::after,
.alp-header__menu > .current_page_item > a::after,
.alp-header__menu > .current-menu-ancestor > a::after {
	display: none;
}

.alp-header__menu > .current-menu-item > a,
.alp-header__menu > .current_page_item > a,
.alp-header__menu > .current-menu-ancestor > a {
	color: var(--alp-green) !important;
}

.alp-header__toggle {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;

	width: 46px;
	height: 46px;
	padding: 10px;

	background: transparent;
	border: 0;
	border-radius: 6px;
	box-shadow: none;

	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

.alp-header__toggle > span:not(.screen-reader-text) {
	display: block;

	width: 24px;
	height: 2px;
	margin: 0;

	background: var(--alp-navy);
	border: 0;
	border-radius: 999px;

	transition:
		transform 180ms ease,
		opacity 180ms ease;
}
.alp-header__toggle:hover,
.alp-header__toggle:focus-visible {
	background: rgba(7, 50, 95, 0.05);
	outline: none;
}
.alp-header__toggle,
.alp-header__toggle:hover,
.alp-header__toggle:focus,
.alp-header__toggle:focus-visible,
.alp-header__toggle:active {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	color: var(--alp-navy) !important;
}
/* Hamburger mobile fiable */
.alp-header__toggle > span:not(.screen-reader-text) {
	display: none !important;
}

.alp-header__toggle > span:nth-of-type(2) {
	display: block !important;
	width: 24px;
	height: 2px;
	margin: 0;
	background: var(--alp-navy) !important;
	border: 0 !important;
	border-radius: 999px;
	box-shadow:
		0 -7px 0 var(--alp-navy),
		0 7px 0 var(--alp-navy);
}

	/* Hero accueil
	   ====================================================================== */

	.alp-hero__layout {
		grid-template-columns: 1fr;
		height: auto;
	}

	.alp-hero__content {
		height: auto;
		padding:
			54px
			max(32px, calc((100vw - 760px) / 2))
			46px;
	}

	.alp-hero__visual,
	.alp-hero__image {
		height: 540px;
	}

	.alp-hero__fade {
		display: none;
	}

	.alp-feature-card {
		left: 34px;
	}

	.alp-feature-card--reactivity {
		top: 32px;
	}

	.alp-feature-card--billing {
		top: 194px;
	}

	.alp-feature-card--privacy {
		top: 356px;
	}

	.alp-hero__path {
		top: 60px;
		left: -5px;
	}

	.alp-hero__paperclip {
		top: 91px;
		left: 63px;
	}
}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 680px) {

	.alp-header__container {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 16px;
		width: calc(100% - 32px);
		height: 82px;
	}

	.alp-header__branding {
		min-width: 0;
		width: auto;
		overflow: visible;
	}

	.alp-header__branding .custom-logo-link {
		display: inline-flex;
		align-items: center;
		width: auto;
		max-width: none;
		overflow: visible;
	}

	.alp-header__branding .custom-logo {
		display: block;
		width: auto !important;
		max-width: 155px !important;
		height: auto !important;
		max-height: 68px !important;
		object-fit: contain;
	}

	.alp-header__actions {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		min-width: 0;
	}

	.alp-header__quote {
		display: none !important;
	}

	.alp-header__toggle {
		flex: 0 0 46px;
		width: 46px;
		height: 46px;
		padding: 10px;
	}

	.alp-header__toggle {
		flex: 0 0 46px;
		width: 46px;
		height: 46px;
		padding: 10px;
	}

	/* ==============================================================
	   HERO ACCUEIL — MOBILE
	   ============================================================== */

    .alp-hero__content {
    	padding: 36px 20px 34px;
    }

    .alp-hero__eyebrow {
    	margin-bottom: 12px;
	    font-size: 11px;
    }

    .alp-hero__title {
    	font-size: clamp(36px, 10.8vw, 46px);
    	line-height: 1.02;
    }

    .alp-hero__highlight {
    	margin-top: 10px;
	    font-size: clamp(31px, 9.4vw, 40px);
	    line-height: 1.05;
    }

    .alp-hero__description {
    	margin-top: 18px;
    	font-size: 14px;
    	line-height: 1.6;
    }

	.alp-hero__buttons {
		flex-direction: column;
		align-items: stretch;
		gap: 13px;
	}

	.alp-hero__button {
		width: 100%;
		min-width: 0;
	}

	.alp-hero__commitments {
		grid-template-columns: 1fr;
		gap: 15px;
		margin-top: 29px;
	}

	.alp-hero__visual,
	.alp-hero__image {
		height: 500px;
	}

	.alp-hero__image {
		object-position: 58% center;
	}

	.alp-hero__path,
	.alp-hero__paperclip {
		display: none;
	}

	.alp-feature-card {
		left: 18px;
		grid-template-columns: 46px minmax(0, 1fr);
		width: min(225px, calc(100% - 36px));
		min-height: 94px;
		padding: 12px 13px;
	}

	.alp-feature-card__icon {
		width: 46px;
		height: 46px;
	}

	.alp-feature-card--reactivity {
		top: 20px;
	}

	.alp-feature-card--billing {
		top: 133px;
	}

	.alp-feature-card--privacy {
		top: 246px;
	}
}
/* ==========================================================================
   BANDE DES ENGAGEMENTS
   ========================================================================== */

.alp-trust {
	position: relative;
	z-index: 4;
	width: 100%;
	background: var(--alp-navy);
}

.alp-trust__container {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: min(calc(100% - 56px), var(--alp-container));
	min-height: 158px;
	margin-inline: auto;
}

.alp-trust__item {
	position: relative;
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-width: 0;
	padding: 28px 34px;
	color: var(--alp-white);
}

.alp-trust__item:not(:last-child)::after {
	position: absolute;
	top: 31px;
	right: 0;
	bottom: 31px;
	width: 1px;
	background: rgba(255, 255, 255, 0.26);
	content: "";
}

.alp-trust__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	color: var(--alp-white);
}

.alp-trust__icon svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-trust__icon .alp-trust__icon-accent {
	stroke: var(--alp-green);
	stroke-width: 2.1;
}

.alp-trust__content {
	min-width: 0;
}

.alp-trust__content h3 {
	margin: 0 0 7px;
	color: var(--alp-white);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
}

.alp-trust__content p {
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 13px;
	line-height: 1.45;
}

@media (max-width: 1100px) {

	.alp-trust__container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.alp-trust__item:nth-child(2)::after {
		display: none;
	}

	.alp-trust__item:nth-child(-n + 2) {
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}
}

@media (max-width: 680px) {

	.alp-trust__container {
		grid-template-columns: 1fr;
		width: calc(100% - 32px);
	}

	.alp-trust__item {
		padding: 24px 8px;
	}

	.alp-trust__item:not(:last-child) {
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}

	.alp-trust__item::after {
		display: none;
	}
}
/* ==========================================================================
   SERVICES
   ========================================================================== */

.alp-services {
	width: 100%;
	padding: 24px 28px 34px;
	background: #ffffff;
}

.alp-services__container {
	width: min(100%, 1460px);
	margin-inline: auto;
}

.alp-services__header {
	margin: 0 auto 18px;
	text-align: center;
}

.alp-services__title {
	margin: 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 44px;
	font-weight: 400;
	line-height: 1.1;
}

.alp-services__subtitle {
	margin: 7px 0 70px;
	color: #333333;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 15px;
	font-style: italic;
	line-height: 1.4;
}

.alp-services__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.alp-service-card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(290px, 55%) minmax(220px, 45%);
	min-height: 330px;
	overflow: hidden;
	padding: 0;
	background:
		linear-gradient(
			100deg,
			#fbfaf7 0%,
			#ffffff 58%,
			#fbfaf7 100%
		);
	border: 1px solid #f0eee7;
	border-radius: 28px;
	box-shadow: 0 10px 35px rgba(7, 50, 95, 0.05);
}

.alp-service-card__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	padding: 42px 32px 34px 42px;
}

.alp-service-card__header {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 14px;
}

.alp-service-card__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	padding: 12px;
	color: var(--alp-green-dark);
	background: #f4f0e6;
	border-radius: 50%;
}

.alp-service-card__icon svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-service-card__accent {
	stroke: var(--alp-green);
	stroke-width: 2.5;
}

.alp-service-card__prefix {
	margin: 0 0 1px;
	color: #252525;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 20px;
	line-height: 1;
}

.alp-service-card__title {
	margin: 0;
	color: var(--alp-green-dark);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 23px;
	font-weight: 500;
	line-height: 1.05;
	text-transform: uppercase;
}

.alp-service-card__list {
	display: grid;
	gap: 6px;
	margin: 0 0 18px 83px;
	padding: 0;
	list-style: none;
}

.alp-service-card__list li {
	position: relative;
	padding-left: 23px;
	color: #222222;
	font-size: 12px;
	line-height: 1.35;
}

.alp-service-card__list li::before{
    position:absolute;
    top:50%;
    left:0;
    width:13px;
    height:13px;
    border:1.5px solid #7b7b7b;
    border-radius:3px;
    content:"";
    transform:translateY(-50%);
}

.alp-service-card__list li::after {
	position: absolute;
	top: 50%;
	left: 3px;
	width: 7px;
	height: 4px;
	border-bottom: 1.5px solid var(--alp-green);
	border-left: 1.5px solid var(--alp-green);
	content: "";
	transform: translateY(-65%) rotate(-45deg);
}

.alp-service-card__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	align-self: flex-start;
	min-height: 34px;
	margin-top: auto;
	padding: 8px 16px;
	color: var(--alp-white) !important;
	background: var(--alp-green);
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	transition:
		background-color 180ms ease,
		transform 180ms ease;
}

.alp-service-card__link:hover,
.alp-service-card__link:focus-visible {
	color: var(--alp-white) !important;
	background: var(--alp-green-dark);
	transform: translateY(-1px);
}

.alp-service-card__illustration {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding: 14px 22px 10px 0;
	color: #52749a;
}

.alp-service-card__illustration::before {
	position: absolute;
	inset: 0;
	background: radial-gradient(
		circle at center,
		rgba(248, 244, 234, 0.68),
		rgba(255, 255, 255, 0) 68%
	);
	content: "";
}

.alp-service-card__illustration img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	max-width: 430px;
	height: auto;
	object-fit: contain;
}

.alp-service-card--individuals .alp-service-card__illustration {
	color: #52749a;
}

@media (max-width: 1120px) {

	.alp-service-card {
		grid-template-columns: 58% 42%;
	}

	.alp-service-card__content {
		padding-left: 28px;
	}

	.alp-service-card__list {
		margin-left: 75px;
	}

	.alp-service-card__illustration {
		padding-right: 12px;
	}
}

@media (max-width: 900px) {

	.alp-services__grid {
		grid-template-columns: 1fr;
		max-width: 720px;
		margin-inline: auto;
	}

	.alp-service-card {
		grid-template-columns: minmax(300px, 58%) minmax(220px, 42%);
	}
}

@media (max-width: 620px) {

	.alp-services {
		padding: 28px 16px 40px;
	}

	.alp-services__title {
		font-size: 24px;
	}

	.alp-service-card {
		grid-template-columns: 1fr;
	}

	.alp-service-card__content {
		padding: 28px 24px 20px;
	}

	.alp-service-card__header {
		align-items: flex-start;
	}

	.alp-service-card__icon {
		width: 66px;
		height: 66px;
	}

	.alp-service-card__prefix {
		font-size: 18px;
	}

	.alp-service-card__title {
		font-size: 21px;
	}

	.alp-service-card__list {
		margin-left: 0;
	}

	.alp-service-card__illustration {
		min-height: 220px;
		padding: 0 22px 22px;
	}

	.alp-service-card__illustration img {
		max-width: 290px;
	}
}
/* ==========================================================================
   POURQUOI CHOISIR
   ========================================================================== */

.alp-why {
	position: relative;
	width: 100%;
	padding:50px 28px 90px;
	background: var(--alp-white);
}

.alp-why__container {
	width: min(100%, 1320px);
	margin-inline: auto;
}

.alp-why__header {
	margin: 0 auto 52px;
	text-align: center;
}

.alp-why__title {
	margin: 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 3vw, 48px);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.alp-why__divider {
	display: block;
	width: 72px;
	height: 3px;
	margin: 20px auto 0;
	background: var(--alp-green);
	border-radius: 999px;
}

.alp-why__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.alp-why__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	padding: 12px 38px 8px;
	text-align: center;

	transition:
		transform .25s ease,
		color .25s ease;
}
.alp-why__item:hover {
	transform: translateY(-6px);
}

.alp-why__item:not(:last-child)::after {
	position: absolute;
	top: 18px;
	right: 0;
	bottom: 34px;
	width: 1px;
	background: rgba(7, 50, 95, 0.13);
	content: "";
}

.alp-why__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 104px;
	height: 104px;
	margin-bottom: 22px;
	padding: 22px;
	color: var(--alp-navy);
	background: #f8f3ea;
	border-radius: 50%;
	box-shadow: 0 8px 20px rgba(7,50,95,.05);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease;
}

.alp-why__icon svg {
	width: 28px;
    height: 28px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-why__accent {
	stroke: var(--alp-green);
	stroke-width: 2.2;
}

.alp-why__item-title {
	margin: 0 0 8px;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
}

.alp-why__text {
	max-width: 245px;
	margin: 0;
	color: #4b4b4b;
	font-size: 14px;
	line-height: 1.6;
}

.alp-why__item:hover .alp-why__icon {
transform:scale(1.06);
	box-shadow: 0 14px 34px rgba(7, 50, 95, 0.1);
}

/* Nouveaux pictogrammes — Pourquoi choisir ALP */
.alp-why__icon img {
	display: block;
	width: 48px;
	height: 48px;
	object-fit: contain;
}
@media (max-width: 980px) {

	.alp-why {
		padding: 68px 24px 74px;
	}

	.alp-why__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.alp-why__item {
		padding: 30px 34px;
	}

	.alp-why__item:nth-child(2)::after {
		display: none;
	}

	.alp-why__item:nth-child(-n + 2) {
		border-bottom: 1px solid rgba(7, 50, 95, 0.12);
	}
}

@media (max-width: 620px) {

	.alp-why {
		padding: 58px 18px 62px;
	}

	.alp-why__header {
		margin-bottom: 34px;
	}

	.alp-why__title {
		font-size: clamp(30px, 9vw, 38px);
	}

	.alp-why__grid {
		grid-template-columns: 1fr;
	}

	.alp-why__item {
		padding: 30px 18px;
	}

	.alp-why__item:not(:last-child) {
		border-bottom: 1px solid rgba(7, 50, 95, 0.12);
	}

	.alp-why__item::after {
		display: none;
	}

	.alp-why__icon {
		width: 82px;
		height: 82px;
		padding: 18px;
	}

	.alp-why__text {
		max-width: 320px;
	}
}
/* ==========================================================================
   À PROPOS — ACCUEIL
   ========================================================================== */

.alp-about-home {
	position: relative;
	width: 100%;
	padding: 64px 28px 70px;
	background: #ffffff;
	overflow: hidden;
}

.alp-about-home__container {
	display: grid;
	grid-template-columns: minmax(0, 500px) minmax(0, 610px);
	align-items: center;
	justify-content: center;
	gap: clamp(60px, 7vw, 110px);

	width: min(100%, 1220px);
	margin: 0 auto;
}


/* ==========================================================================
   VISUEL GAUCHE
   ========================================================================== */

.alp-about-home__visual {
	position: relative;
	width: 100%;
	max-width: 500px;
	padding-bottom: 34px;
}

.alp-about-home__composition {
	position: relative;
	overflow: hidden;

	width: 100%;

	border: 1px solid rgba(7, 50, 95, 0.08);
	border-radius: 22px;

	background: #f7f2e8;

	box-shadow:
		0 18px 45px rgba(7, 50, 95, 0.07);
}

.alp-about-home__composition-image {
	display: block;

	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;

	object-fit: cover;
	object-position: center;
}


/* ==========================================================================
   LOGO
   ========================================================================== */

.alp-about-home__logo {
	position: absolute;
	z-index: 2;

	top: 50%;
	left: 50%;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 180px;
	height: 180px;
	padding: 20px;

	border-radius: 50%;

	background: rgba(255, 255, 255, 0.95);

	border: 1px solid rgba(7, 50, 95, 0.06);

	box-shadow:
		0 12px 30px rgba(7, 50, 95, 0.10);

	transform: translate(-50%, -50%);
}

.alp-about-home__logo img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: contain;
}


/* ==========================================================================
   CARTE ANNE-LAURE
   ========================================================================== */

.alp-about-home__identity {
	position: absolute;
	z-index: 3;

	right: 24px;
	bottom: 0;

	padding: 12px 17px;

	background: #ffffff;

	border: 1px solid rgba(7, 50, 95, 0.08);
	border-radius: 10px;

	box-shadow:
		0 10px 25px rgba(7, 50, 95, 0.08);
}

.alp-about-home__identity strong,
.alp-about-home__identity span {
	display: block;
}

.alp-about-home__identity strong {
	color: var(--alp-navy);

	font-family: Georgia, "Times New Roman", serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
}

.alp-about-home__identity span {
	margin-top: 3px;

	color: var(--alp-green-dark);

	font-size: 10px;
	line-height: 1.3;
}


/* ==========================================================================
   CONTENU DROITE
   ========================================================================== */

.alp-about-home__content {
	position: relative;
	width: 100%;
	max-width: 610px;
}

.alp-about-home__eyebrow {
	margin: 0 0 10px;

	color: var(--alp-green);

	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;

	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.alp-about-home__title {
	margin: 0;
	max-width: 590px;

	color: var(--alp-navy);

	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(36px, 3vw, 48px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.alp-about-home__divider {
	display: block;

	width: 56px;
	height: 2px;

	margin: 18px 0;

	background: var(--alp-green);
	border-radius: 999px;
}

.alp-about-home__text {
	max-width: 590px;
	margin: 0;

	color: #414141;

	font-size: 14px;
	line-height: 1.7;
}


/* Valeurs */

.alp-about-home__values {
	display: flex;
	flex-wrap: wrap;
	align-items: center;

	gap: 12px 22px;

	margin: 22px 0 26px;
	padding: 0;

	list-style: none;
}

.alp-about-home__values li {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	color: var(--alp-navy);

	font-size: 12px;
	font-weight: 700;
}

.alp-about-home__values li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 22px;
	height: 22px;

	color: #ffffff;
	background: var(--alp-green);

	border-radius: 50%;

	font-size: 10px;
}


/* Bouton */

.alp-about-home__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;

	min-height: 46px;
	padding: 11px 20px;

	color: #ffffff !important;
	background: var(--alp-green);

	border: 2px solid var(--alp-green);
	border-radius: var(--alp-button-radius);

	font-size: 12px;
	font-weight: 700;

	transition:
		background-color var(--alp-transition),
		border-color var(--alp-transition),
		transform var(--alp-transition);
}

.alp-about-home__link:hover,
.alp-about-home__link:focus-visible {
	color: #ffffff !important;

	background: var(--alp-green-dark);
	border-color: var(--alp-green-dark);

	transform: translateY(-2px);
}


/* ==========================================================================
   TABLETTE
   ========================================================================== */

@media (max-width: 900px) {

	.alp-about-home {
		padding: 56px 24px 62px;
	}

	.alp-about-home__container {
		grid-template-columns: 1fr;
		gap: 48px;

		max-width: 680px;
	}

	.alp-about-home__visual {
		max-width: 520px;
		margin: 0 auto;
	}

	.alp-about-home__content {
		margin: 0 auto;
		text-align: center;
	}

	.alp-about-home__divider {
		margin-left: auto;
		margin-right: auto;
	}

	.alp-about-home__values {
		justify-content: center;
	}
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 620px) {

	.alp-about-home {
		padding: 44px 16px 52px;
	}

	.alp-about-home__container {
		gap: 38px;
	}

	.alp-about-home__visual {
		padding-bottom: 42px;
	}

	.alp-about-home__composition {
		border-radius: 16px;
	}

	.alp-about-home__logo {
		width: 140px;
		height: 140px;
		padding: 15px;
	}

	.alp-about-home__identity {
		right: 12px;
		padding: 10px 13px;
	}

	.alp-about-home__identity strong {
		font-size: 14px;
	}

	.alp-about-home__identity span {
		font-size: 9px;
	}

	.alp-about-home__title {
		font-size: clamp(30px, 9vw, 39px);
	}

	.alp-about-home__text {
		font-size: 13px;
	}

	.alp-about-home__values {
		justify-content: flex-start;

		width: max-content;
		max-width: 100%;

		margin-left: auto;
		margin-right: auto;

		text-align: left;
	}

	.alp-about-home__link {
		width: 100%;
		max-width: 340px;
	}
}
/* Finitions À propos accueil */

.alp-about-home__logo {
	width: 160px;
	height: 160px;
	padding: 18px;
}

.alp-about-home__identity {
	bottom: 10px;
	right: 22px;
}

.alp-about-home {
	padding-top: 54px;
	padding-bottom: 58px;
}
/* ==========================================================================
   COMMENT ÇA FONCTIONNE
   ========================================================================== */

.alp-process {
	position: relative;
	width: 100%;
	padding: 52px 28px 62px;
	background: var(--alp-white);
}

.alp-process__container {
	width: min(100%, 1420px);
	margin-inline: auto;
}

.alp-process__header {
	margin: 0 auto 34px;
	text-align: center;
}

.alp-process__title {
	margin: 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(32px, 3vw, 42px);
	font-weight: 400;
	line-height: 1.08;
	text-transform: none;
}

.alp-process__divider {
	display: block;
	width: 52px;
	height: 2px;
	margin: 14px auto 0;
	background: var(--alp-green);
	border-radius: 999px;
}

.alp-process__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}

.alp-process__step {
	position: relative;
	min-width: 0;
	padding: 0 24px;
	text-align: center;
}

.alp-process__top {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;

	min-height: 160px;
	margin-bottom: 2px;
}

.alp-process__icon {
	position: relative;
	z-index: 2;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 150px;
	height: 150px;
	padding: 20px;

	background: var(--alp-cream);
	border: 1px solid rgba(7, 50, 95, 0.06);
	border-radius: 50%;

	box-shadow: 0 10px 24px rgba(7, 50, 95, 0.06);

	transition:
		transform 200ms ease,
		box-shadow 200ms ease;
}

.alp-process__icon img {
	display: block;

	width: 104px;
	height: 104px;

	object-fit: contain;
}
.alp-process__connector {
	position: absolute;
	z-index: 1;

	top: 74px;
	left: calc(50% + 78px);

	width: calc(100% - 156px);
	height: 34px;

	color: var(--alp-green);
	pointer-events: none;
}

.alp-process__connector svg {
	width: 100%;
	height: 100%;
	overflow: visible;

	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 4 6;
}

.alp-process__connector-arrow {
	fill: var(--alp-green);
	stroke: var(--alp-green);
	stroke-width: 1.5;
	stroke-dasharray: none;
}
.alp-process__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 38px;
	height: 38px;

	background: var(--alp-green);
	color: #fff;
	border-radius: 50%;

	font-family: Georgia, "Times New Roman", serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
}
.alp-process__heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 9px;
	margin-bottom: 10px;
}
.alp-process__step-title {
	margin: 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.2;
}

.alp-process__text {
	max-width: 250px;
	margin: 0 auto;
	color: #454545;
	font-size: 13px;
	line-height: 1.55;
}
/* Tablette
   ========================================================================== */

@media (max-width: 980px) {

	.alp-process {
		padding: 58px 24px 62px;
	}

	.alp-process__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 42px 0;
	}

	.alp-process__connector {
		display: none;
	}

	.alp-process__step {
		padding: 0 32px;
	}

	.alp-process__step:nth-child(odd) {
		border-right: 1px solid rgba(7, 50, 95, 0.1);
	}

	.alp-process__step:nth-child(-n + 2) {
		padding-bottom: 38px;
		border-bottom: 1px solid rgba(7, 50, 95, 0.1);
	}
}

/* Mobile
   ========================================================================== */

@media (max-width: 620px) {

	.alp-process {
		padding: 38px 18px 42px;
	}

	.alp-process__header {
		margin-bottom: 18px;
	}

	.alp-process__title {
		font-size: 27px;
	}

	.alp-process__divider {
		margin-top: 10px;
	}

	.alp-process__steps {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.alp-process__step {
		padding: 21px 12px 23px;
		border-right: 0 !important;
	}

	.alp-process__step:not(:last-child) {
		border-bottom: 1px solid rgba(7, 50, 95, 0.08);
	}

	.alp-process__step:nth-child(-n + 2) {
		padding-bottom: 23px;
	}

	.alp-process__top {
		min-height: 112px;
		margin-bottom: 3px;
	}

	.alp-process__icon {
		width: 108px;
		height: 108px;
		padding: 14px;
	}

	.alp-process__icon img {
		width: 74px;
		height: 74px;
	}

	.alp-process__heading {
		gap: 7px;
		margin-bottom: 7px;
	}

	.alp-process__number {
		width: 34px;
		height: 34px;
		font-size: 14px;
	}

	.alp-process__step-title {
		font-size: 18px;
		line-height: 1.2;
	}

	.alp-process__text {
		max-width: 290px;
		margin-inline: auto;
		font-size: 13px;
		line-height: 1.5;
	}
}
/* ==========================================================================
   ACTUALITÉS ET AVIS CLIENTS
   ========================================================================== */

.alp-news-reviews {
	position: relative;
	width: 100%;
	padding: 22px 28px 28px;
	background: var(--alp-white);
	border-top: 1px solid rgba(7, 50, 95, 0.12);
}

.alp-news-reviews__container {
	width: min(100%, 1460px);
	margin-inline: auto;
}

.alp-news-reviews__columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 42px;
}

.alp-home-news,
.alp-home-reviews {
	min-width: 0;
}

.alp-news-reviews__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 35px;
	margin-bottom: 12px;
	border-bottom: 1px solid rgba(7, 50, 95, 0.12);
}

.alp-news-reviews__heading {
	margin: 0;
	padding-bottom: 8px;
	color: var(--alp-navy);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

.alp-news-reviews__all-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding-bottom: 8px;
	color: var(--alp-navy);
	font-size: 10px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

.alp-news-reviews__all-link:hover,
.alp-news-reviews__all-link:focus-visible {
	color: var(--alp-green-dark);
}

/* Actualités
   ========================================================================== */

.alp-home-news__grid,
.alp-home-reviews__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.alp-home-news-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 224px;
	overflow: hidden;
	background: #fbfaf7;
	border: 1px solid rgba(7, 50, 95, 0.05);
	border-radius: 9px;
	box-shadow: 0 5px 16px rgba(7, 50, 95, 0.035);
	transition:
		transform var(--alp-transition),
		box-shadow var(--alp-transition);
}

.alp-home-news-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(7, 50, 95, 0.075);
}

.alp-home-news-card__media {
	display: block;
	height: 66px;
	overflow: hidden;
	background: #ede9df;
}

.alp-home-news-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease;
}

.alp-home-news-card:hover .alp-home-news-card__image {
	transform: scale(1.035);
}

.alp-home-news-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 66px;
	color: var(--alp-navy);
	background:
		linear-gradient(
			135deg,
			#f1eee5,
			#fbfaf7
		);
}

.alp-home-news-card__placeholder svg {
	width: 44px;
	height: 44px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
	opacity: 0.55;
}

.alp-home-news-card__accent {
	stroke: var(--alp-green);
	stroke-width: 2;
}

.alp-home-news-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 13px 16px 12px;
}

.alp-home-news-card__category {
	align-self: flex-start;
	margin: 0 0 9px;
	padding: 4px 8px;
	color: var(--alp-green-dark);
	background: rgba(84, 137, 77, 0.08);
	border-radius: 999px;
	font-size: 8px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.alp-home-news-card__title {
	margin: 0;
	color: var(--alp-navy);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.28;
}

.alp-home-news-card__title a {
	color: inherit;
}

.alp-home-news-card__title a:hover,
.alp-home-news-card__title a:focus-visible {
	color: var(--alp-green-dark);
}

.alp-home-news-card__excerpt {
	display: -webkit-box;
	margin: 9px 0 0;
	overflow: hidden;
	color: #454545;
	font-size: 10px;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.alp-home-news-card__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: flex-start;
	margin-top: auto;
	color: var(--alp-green-dark);
	font-size: 9px;
	font-weight: 700;
	line-height: 1.2;
}

.alp-home-news-card__link:hover,
.alp-home-news-card__link:focus-visible {
	color: var(--alp-navy);
}

/* Avis
   ========================================================================== */

.alp-home-review-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	height: 224px;
	padding: 18px 18px 14px;
	text-align: center;
	background: #fbfaf7;
	border: 1px solid rgba(7, 50, 95, 0.05);
	border-radius: 9px;
	box-shadow: 0 5px 16px rgba(7, 50, 95, 0.035);
	transition:
		transform var(--alp-transition),
		box-shadow var(--alp-transition);
}

.alp-home-review-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(7, 50, 95, 0.075);
}

.alp-home-review-card__stars {
	margin-bottom: 12px;
	color: var(--alp-green);
	font-size: 17px;
	line-height: 1;
	letter-spacing: 0.1em;
}

.alp-home-review-card__quote {
	margin: 0;
}

.alp-home-review-card__quote p {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: #303030;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 12px;
	font-style: italic;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.alp-home-review-card__author {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin-top: auto;
	text-align: left;
}

.alp-home-review-card__avatar,
.alp-home-review-card__photo {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 50%;
}

.alp-home-review-card__photo {
	object-fit: cover;
}

.alp-home-review-card__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--alp-white);
	background: var(--alp-green);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 13px;
	font-weight: 700;
}

.alp-home-review-card__identity {
	min-width: 0;
}

.alp-home-review-card__identity strong,
.alp-home-review-card__identity small {
	display: block;
}

.alp-home-review-card__identity strong {
	color: var(--alp-navy);
	font-size: 11px;
	line-height: 1.3;
}

.alp-home-review-card__identity small {
	margin-top: 2px;
	color: #636363;
	font-size: 9px;
	line-height: 1.3;
}

/* États sans contenu
   ========================================================================== */

.alp-home-news-card--empty,
.alp-home-review-card--empty {
	opacity: 0.75;
}

/* Tablette
   ========================================================================== */

@media (max-width: 1100px) {

	.alp-news-reviews {
		padding: 38px 24px 44px;
	}

	.alp-news-reviews__columns {
		grid-template-columns: 1fr;
		gap: 40px;
		max-width: 820px;
		margin-inline: auto;
	}
}

/* Petit écran
   ========================================================================== */

@media (max-width: 760px) {

	.alp-home-news__grid,
	.alp-home-reviews__grid {
		grid-template-columns: 1fr;
		max-width: 420px;
		margin-inline: auto;
	}

	.alp-home-news-card,
	.alp-home-review-card {
		height: auto;
		min-height: 224px;
	}

	.alp-news-reviews__header {
		align-items: flex-end;
	}

	.alp-news-reviews__heading {
		font-size: 16px;
	}
}

/* Mobile
   ========================================================================== */

@media (max-width: 520px) {

	.alp-news-reviews {
		padding: 34px 16px 40px;
	}

	.alp-news-reviews__header {
		align-items: flex-start;
		flex-direction: column;
		gap: 2px;
		padding-bottom: 8px;
	}

	.alp-news-reviews__heading,
	.alp-news-reviews__all-link {
		padding-bottom: 0;
	}
}
/* ==========================================================================
   APPEL À L’ACTION
   ========================================================================== */

.alp-cta {
	position: relative;
	width: 100%;
	overflow: hidden;
	background:
		linear-gradient(
			90deg,
			var(--alp-green-dark),
			var(--alp-green)
		);
}

.alp-cta__container {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr) auto;
	align-items: center;
	gap: 22px;
	width: min(calc(100% - 56px), 1320px);
	min-height: 82px;
	margin-inline: auto;
	padding: 12px 0;
}

.alp-cta__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 11px;
	color: var(--alp-white);
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 50%;
}

.alp-cta__icon svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-cta__accent {
	stroke: rgba(255, 255, 255, 0.72);
	stroke-width: 2.1;
}

.alp-cta__content {
	min-width: 0;
}

.alp-cta__title {
	margin: 0 0 2px;
	color: var(--alp-white);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(21px, 1.8vw, 28px);
	font-weight: 400;
	line-height: 1.15;
}

.alp-cta__text {
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: 14px;
	line-height: 1.5;
}

.alp-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-width: 250px;
	min-height: var(--alp-button-height);
	padding: 13px 24px;
	color: var(--alp-green-dark) !important;
	background: var(--alp-white);
	border: 2px solid var(--alp-white);
	border-radius: var(--alp-button-radius);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	transition:
		color var(--alp-transition),
		background-color var(--alp-transition),
		border-color var(--alp-transition),
		transform var(--alp-transition);
}

.alp-cta__button:hover,
.alp-cta__button:focus-visible {
	color: var(--alp-white) !important;
	background: transparent;
	border-color: rgba(255, 255, 255, 0.9);
	transform: translateY(-2px);
}

.alp-cta__decoration {
	position: absolute;
	z-index: 1;
	bottom: -15px;
	width: 150px;
	height: 110px;
	color: rgba(255, 255, 255, 0.18);
	pointer-events: none;
}

.alp-cta__decoration svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-cta__decoration--left {
	left: 18px;
}

.alp-cta__decoration--right {
	right: 18px;
}

/* Tablette
   ========================================================================== */

@media (max-width: 900px) {

	.alp-cta__container {
		grid-template-columns: 60px minmax(0, 1fr);
		width: calc(100% - 48px);
		padding: 26px 0;
	}

	.alp-cta__button {
		grid-column: 1 / -1;
		justify-self: start;
		margin-left: 88px;
	}

	.alp-cta__decoration {
		opacity: 0.7;
	}
}

/* Mobile
   ========================================================================== */

@media (max-width: 620px) {

	.alp-cta__container {
		grid-template-columns: 1fr;
		gap: 16px;
		width: calc(100% - 32px);
		padding: 34px 0 38px;
		text-align: center;
	}

	.alp-cta__icon {
		margin-inline: auto;
	}

	.alp-cta__title {
		font-size: 27px;
	}

	.alp-cta__button {
		grid-column: auto;
		justify-self: stretch;
		width: 100%;
		min-width: 0;
		margin-left: 0;
	}

	.alp-cta__decoration {
		width: 110px;
		height: 82px;
		opacity: 0.45;
	}

	.alp-cta__decoration--left {
		left: -24px;
	}

	.alp-cta__decoration--right {
		right: -24px;
	}
}
/* ==========================================================================
   FOOTER COMPACT
   ========================================================================== */

.alp-footer {
	width: 100%;
	margin: 0;
	color: var(--alp-white);
	background: var(--alp-navy);
}

.alp-footer__main {
	padding: 30px 28px 24px;
	background:
		linear-gradient(
			100deg,
			#082e58,
			#07325f
		);
}

.alp-footer__container {
	display: grid;
	grid-template-columns:
		minmax(220px, 1.15fr)
		minmax(170px, 0.9fr)
		minmax(230px, 1fr)
		minmax(190px, 0.9fr)
		minmax(210px, 1fr);
	gap: 0;
	width: min(100%, 1450px);
	margin-inline: auto;
}

/* Colonnes
   ========================================================================== */

.alp-footer__brand,
.alp-footer__column {
	min-width: 0;
	padding: 0 28px;
}

.alp-footer__brand {
	padding-left: 0;
}

.alp-footer__column {
	border-left: 1px solid rgba(255, 255, 255, 0.25);
}

.alp-footer__column:last-child {
	padding-right: 0;
}

/* Logo
   ========================================================================== */

.alp-footer__logo {
	max-width: 190px;
	margin-bottom: 10px;
}

.alp-footer__logo .custom-logo-link {
	display: block;
}

.alp-footer__logo img {
	display: block;
	width: auto;
	max-width: 180px;
	max-height: 92px;
	object-fit: contain;
}

.alp-footer__tagline {
	margin: 0;
	color: rgba(255, 255, 255, 0.86);
	font-size: 12px;
	line-height: 1.5;
}

.alp-footer__copyright {
	margin: 22px 0 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 10px;
	line-height: 1.4;
}

/* Titres
   ========================================================================== */

.alp-footer__title {
	margin: 0 0 16px;
	color: var(--alp-white);
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

/* Navigation
   ========================================================================== */

.alp-footer__nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.alp-footer__nav a {
	color: rgba(255, 255, 255, 0.9);
	font-size: 12px;
	line-height: 1.3;
	transition: color var(--alp-transition);
}

.alp-footer__nav a:hover,
.alp-footer__nav a:focus-visible {
	color: #9bc48f;
}

/* Coordonnées
   ========================================================================== */

.alp-footer__contact,
.alp-footer__simple-list {
	display: grid;
	gap: 13px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.alp-footer__contact li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 12px;
	line-height: 1.4;
}

.alp-footer__contact a {
	color: inherit;
}

.alp-footer__contact a:hover,
.alp-footer__contact a:focus-visible {
	color: #9bc48f;
}

.alp-footer__contact-icon {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 23px;
	height: 23px;
	color: var(--alp-white);
}

.alp-footer__contact-icon svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Interventions
   ========================================================================== */

.alp-footer__simple-list li {
	position: relative;
	padding-left: 17px;
	color: rgba(255, 255, 255, 0.88);
	font-size: 12px;
	line-height: 1.45;
}

.alp-footer__simple-list li::before {
	position: absolute;
	top: 0.55em;
	left: 0;
	width: 5px;
	height: 5px;
	background: #8ebc83;
	border-radius: 50%;
	content: "";
}

/* Réseaux
   ========================================================================== */

.alp-footer__social-text {
	max-width: 230px;
	margin: 0;
	color: rgba(255, 255, 255, 0.84);
	font-size: 11px;
	line-height: 1.5;
}

.alp-footer__socials {
	display: flex;
	gap: 12px;
	margin-top: 15px;
}

.alp-footer__socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	color: var(--alp-white);
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 9px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	transition:
		color var(--alp-transition),
		background-color var(--alp-transition);
}

.alp-footer__socials a:hover,
.alp-footer__socials a:focus-visible {
	color: var(--alp-navy);
	background: var(--alp-white);
}

/* Barre légale
   ========================================================================== */

.alp-footer__bottom {
	padding: 14px 28px;
	background: #052748;
}

.alp-footer__bottom-container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	width: min(100%, 1450px);
	margin-inline: auto;
}

.alp-footer__bottom a {
	color: rgba(255, 255, 255, 0.84);
	font-size: 11px;
}

.alp-footer__bottom a:hover,
.alp-footer__bottom a:focus-visible {
	color: #9bc48f;
}

.alp-footer__bottom span {
	color: rgba(255, 255, 255, 0.38);
}

/* Tablette
   ========================================================================== */

@media (max-width: 1100px) {

	.alp-footer__container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 0;
	}

	.alp-footer__brand,
	.alp-footer__column {
		padding: 0 26px;
	}

	.alp-footer__brand,
	.alp-footer__column:nth-child(3),
	.alp-footer__column:nth-child(5) {
		border-left: 0;
	}

	.alp-footer__brand {
		padding-left: 26px;
	}
}

/* Mobile
   ========================================================================== */

@media (max-width: 650px) {

	.alp-footer__main {
		padding: 30px 18px 24px;
	}

	.alp-footer__container {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.alp-footer__brand,
	.alp-footer__column {
		padding: 24px 0;
		border: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	}

	.alp-footer__brand {
		padding-top: 0;
	}

	.alp-footer__column:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}

	.alp-footer__nav {
		max-width: 380px;
	}

	.alp-footer__copyright {
		margin-top: 16px;
	}

	.alp-footer__bottom-container {
		flex-wrap: wrap;
		gap: 8px 16px;
	}
}
/* ==========================================================================
   HERO SIGNATURE — PAGES INTERNES
   ========================================================================== */

.alp-signature-hero {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 34px 28px 58px;
	background:
		linear-gradient(
			180deg,
			#fbf8f1 0%,
			var(--alp-cream) 100%
		);
}

.alp-signature-hero::before {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(7, 50, 95, 0.022) 1px, transparent 1px),
		linear-gradient(90deg, rgba(7, 50, 95, 0.022) 1px, transparent 1px);
	background-size: 34px 34px;
	content: "";
	pointer-events: none;
}

.alp-signature-hero__container {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr);
	align-items: center;
	gap: clamp(60px, 7vw, 110px);
	width: min(100%, 1380px);
	margin-inline: auto;
}

.alp-signature-hero__content {
	position: relative;
	z-index: 3;
	max-width: 720px;
	padding: 4px 0 8px;
}

/* Fil d'Ariane
   ========================================================================== */

.alp-signature-hero__breadcrumb {
	display: none;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 34px;
	color: rgba(7, 50, 95, 0.58);
	font-size: 11px;
	line-height: 1.3;
}

.alp-signature-hero__breadcrumb a {
	color: var(--alp-green-dark);
	font-weight: 700;
}

.alp-signature-hero__breadcrumb a:hover,
.alp-signature-hero__breadcrumb a:focus-visible {
	color: var(--alp-navy);
}

/* Texte
   ========================================================================== */

.alp-signature-hero__eyebrow {
	margin: 0 0 14px;
	color: var(--alp-green);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.alp-signature-hero__title {
	max-width: 760px;
	margin: 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(48px, 4.4vw, 70px);
	font-weight: 400;
	line-height: 1.02;
	letter-spacing: -0.04em;
}

.alp-signature-hero__title span {
	display: block;
	margin-top: 8px;
	color: var(--alp-green-dark);
	font-style: italic;
	font-size: 0.78em;
	line-height: 1.05;
}

.alp-signature-hero__text {
	max-width: 650px;
	margin: 24px 0 0;
	color: #3d3d3d;
	font-size: 15px;
	line-height: 1.7;
}

/* Signature végétale
   ========================================================================== */

.alp-signature-hero__signature {
	display: flex;
	align-items: center;
	gap: 11px;
	width: min(100%, 250px);
	margin: 24px 0 26px;
	color: var(--alp-green);
}

.alp-signature-hero__signature > span {
	flex: 1;
	height: 1px;
	background: rgba(84, 137, 77, 0.48);
}

.alp-signature-hero__signature svg {
	flex: 0 0 auto;
	width: 31px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Actions
   ========================================================================== */

.alp-signature-hero__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 22px;
}

.alp-signature-hero__primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 48px;
	padding: 11px 21px;
	color: var(--alp-white) !important;
	background: var(--alp-green);
	border: 2px solid var(--alp-green);
	border-radius: var(--alp-button-radius);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	box-shadow: 0 8px 20px rgba(68, 115, 63, 0.12);
	transition:
		background-color var(--alp-transition),
		border-color var(--alp-transition),
		transform var(--alp-transition),
		box-shadow var(--alp-transition);
}

.alp-signature-hero__primary:hover,
.alp-signature-hero__primary:focus-visible {
	color: var(--alp-white) !important;
	background: var(--alp-green-dark);
	border-color: var(--alp-green-dark);
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(68, 115, 63, 0.17);
}

.alp-signature-hero__arrow {
	transition: transform var(--alp-transition);
}

.alp-signature-hero__primary:hover .alp-signature-hero__arrow,
.alp-signature-hero__primary:focus-visible .alp-signature-hero__arrow {
	transform: translateX(3px);
}

.alp-signature-hero__secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 11px 20px;
	color: var(--alp-white) !important;
	background: var(--alp-navy);
	border: 2px solid var(--alp-navy);
	border-radius: var(--alp-button-radius);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	transition:
		background-color var(--alp-transition),
		border-color var(--alp-transition),
		transform var(--alp-transition);
}

.alp-signature-hero__secondary > span {
	color: currentColor;
	transition: transform var(--alp-transition);
}

.alp-signature-hero__secondary:hover,
.alp-signature-hero__secondary:focus-visible {
	color: var(--alp-navy) !important;
	background: transparent;
	border-color: var(--alp-navy);
	transform: translateY(-2px);
}

.alp-signature-hero__secondary:hover > span,
.alp-signature-hero__secondary:focus-visible > span {
	transform: translateX(3px);
}

/* Badges
   ========================================================================== */

.alp-signature-hero__badges {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 28px;
}

.alp-signature-hero__badges li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	padding: 7px 11px;
	color: var(--alp-navy);
	background: rgba(255, 255, 255, 0.68);
	border: 1px solid rgba(7, 50, 95, 0.07);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	box-shadow: 0 4px 12px rgba(7, 50, 95, 0.035);
}

.alp-signature-hero__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	color: var(--alp-white);
	background: var(--alp-green);
	border-radius: 50%;
	font-size: 9px;
	line-height: 1;
}

/* Visuel
   ========================================================================== */

.alp-signature-hero__visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 560px;
}

.alp-signature-hero__visual-shape {
	position: absolute;
	z-index: 1;
	top: 56px;
	right: 25px;
	width: 84%;
	height: 76%;
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.9),
			rgba(239, 234, 220, 0.64)
		);
	border: 1px solid rgba(7, 50, 95, 0.045);
	border-radius: 42% 58% 48% 52% / 52% 42% 58% 48%;
	transform: rotate(-4deg);
}

.alp-signature-hero__illustration {
	position: relative;
	z-index: 3;
	display: block;
	width: min(100%, 570px);
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 22px 35px rgba(7, 50, 95, 0.08));
}

.alp-signature-hero__placeholder {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(100%, 500px);
	min-height: 390px;
	color: var(--alp-navy);
	background: rgba(255, 255, 255, 0.62);
	border: 1px dashed rgba(7, 50, 95, 0.15);
	border-radius: 30px;
}

.alp-signature-hero__placeholder span {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 72px;
	letter-spacing: -0.06em;
	opacity: 0.12;
}

.alp-signature-hero__placeholder small {
	margin-top: 8px;
	color: var(--alp-green-dark);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Filigranes
   ========================================================================== */

.alp-signature-hero__watermark {
	position: absolute;
	z-index: 0;
	right: -12px;
	bottom: -55px;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(180px, 22vw, 330px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.08em;
	opacity: 0.025;
	pointer-events: none;
}

.alp-signature-hero__keyword {
	position: absolute;
	z-index: 1;
	top: 68px;
	right: 28px;
	color: var(--alp-green);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(54px, 7vw, 105px);
	font-style: italic;
	line-height: 1;
	opacity: 0.055;
	transform: rotate(-5deg);
	pointer-events: none;
}

/* Tablette
   ========================================================================== */

@media (max-width: 1050px) {

	.alp-signature-hero {
		padding: 38px 24px 56px;
	}

	.alp-signature-hero__container {
		grid-template-columns: 1fr;
		gap: 28px;
		max-width: 780px;
	}

	.alp-signature-hero__content {
		max-width: 100%;
	}

.alp-signature-hero__visual {
	min-height: 340px;
	margin-top: -35px;
}

	.alp-signature-hero__illustration {
		width: min(100%, 520px);
	}

	.alp-signature-hero__visual-shape {
		top: 24px;
		right: 8%;
		left: 8%;
		width: auto;
		height: 85%;
	}

	.alp-signature-hero__keyword {
		top: auto;
		right: 0;
		bottom: 320px;
	}
}

/* Mobile
   ========================================================================== */

@media (max-width: 620px) {

	.alp-signature-hero {
		padding: 28px 16px 44px;
	}

	.alp-signature-hero::before {
		background-size: 28px 28px;
	}

	.alp-signature-hero__breadcrumb {
		margin-bottom: 26px;
	}

	.alp-signature-hero__eyebrow {
		font-size: 10px;
	}

	.alp-signature-hero__title {
		font-size: clamp(39px, 11.5vw, 50px);
	}

	.alp-signature-hero__text {
		margin-top: 20px;
		font-size: 14px;
		line-height: 1.65;
	}

	.alp-signature-hero__signature {
		margin: 21px 0 23px;
	}

	.alp-signature-hero__actions {
		align-items: stretch;
		flex-direction: column;
		gap: 14px;
	}

	.alp-signature-hero__primary {
		width: 100%;
	}

	.alp-signature-hero__secondary {
		align-self: flex-start;
	}

	.alp-signature-hero__badges {
		align-items: stretch;
		flex-direction: column;
	}

	.alp-signature-hero__badges li {
		align-self: flex-start;
	}

	.alp-signature-hero__visual {
		min-height: 330px;
	}

	.alp-signature-hero__visual-shape {
		top: 25px;
		right: 0;
		left: 0;
		height: 82%;
	}

	.alp-signature-hero__illustration {
		width: min(100%, 390px);
	}

	.alp-signature-hero__placeholder {
		min-height: 285px;
	}

	.alp-signature-hero__watermark {
		right: -18px;
		bottom: -25px;
		font-size: 170px;
	}

	.alp-signature-hero__keyword {
		display: none;
	}
}
/* ==========================================================================
   PROFESSIONNELS — BÉNÉFICES
   ========================================================================== */

.alp-pro-benefits {
	position: relative;
	width: 100%;
	padding: 72px 28px 82px;
	background:
		linear-gradient(
			180deg,
			#fbf8f1 0%,
			#fffdf9 100%
		);
}

.alp-pro-benefits__container {
	width: min(100%, 1380px);
	margin-inline: auto;
}

.alp-pro-benefits__header {
	max-width: 960px;
	margin: 0 auto 48px;
	text-align: center;
}

.alp-pro-benefits__eyebrow {
	margin: 0 0 12px;
	color: var(--alp-green);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.alp-pro-benefits__title {
	margin: 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(38px, 4vw, 58px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.alp-pro-benefits__title span {
	display: block;
	margin-top: 4px;
	color: var(--alp-green);
}

.alp-pro-benefits__signature {
	display: flex;
	align-items: center;
	gap: 12px;
	width: min(100%, 430px);
	margin: 24px auto 22px;
	color: var(--alp-green);
}

.alp-pro-benefits__signature > span {
	flex: 1;
	height: 1px;
	background: rgba(84, 137, 77, 0.55);
}

.alp-pro-benefits__signature svg {
	flex: 0 0 auto;
	width: 34px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-pro-benefits__intro {
	max-width: 900px;
	margin: 0 auto;
	color: var(--alp-navy);
	font-size: 15px;
	line-height: 1.7;
}

/* Grille
   ========================================================================== */

.alp-pro-benefits__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

/* Cartes
   ========================================================================== */

.alp-pro-benefit-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	overflow: hidden;
	padding: 0 30px 32px;
	text-align: center;
	background: rgba(255, 255, 255, 0.84);
	border: 1px solid rgba(7, 50, 95, 0.07);
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(7, 50, 95, 0.055);
	transition:
		transform var(--alp-transition),
		box-shadow var(--alp-transition);
}

.alp-pro-benefit-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 17px 38px rgba(7, 50, 95, 0.09);
}

.alp-pro-benefit-card__visual {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100% + 60px);
	height: 230px;
	margin: 0 -30px;
	overflow: hidden;
	background:
		radial-gradient(
			circle at center,
			rgba(248, 245, 237, 0.82),
			rgba(255, 255, 255, 0) 72%
		);
}

.alp-pro-benefit-card__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.alp-pro-benefit-card__icon {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin-top: -13px;
	color: var(--alp-green);
	background: #fbf8ef;
	border: 1px solid rgba(84, 137, 77, 0.12);
	border-radius: 50%;
	box-shadow: 0 7px 17px rgba(7, 50, 95, 0.06);
}

.alp-pro-benefit-card__icon svg {
	width: 30px;
	height: 30px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-pro-benefit-card__title {
	margin: 18px 0 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
}

.alp-pro-benefit-card__divider {
	display: block;
	width: 34px;
	height: 2px;
	margin: 14px auto 16px;
	background: var(--alp-green);
	border-radius: 999px;
}

.alp-pro-benefit-card__text {
	max-width: 330px;
	margin: 0;
	color: #3d4650;
	font-size: 13px;
	line-height: 1.65;
}

/* Tablette
   ========================================================================== */

@media (max-width: 980px) {

	.alp-pro-benefits {
		padding: 64px 24px 70px;
	}

	.alp-pro-benefits__grid {
		grid-template-columns: 1fr;
		max-width: 620px;
		margin-inline: auto;
	}

	.alp-pro-benefit-card__visual {
		height: 280px;
	}
}

/* Mobile
   ========================================================================== */

@media (max-width: 620px) {

	.alp-pro-benefits {
		padding: 52px 16px 58px;
	}

	.alp-pro-benefits__header {
		margin-bottom: 34px;
	}

	.alp-pro-benefits__title {
		font-size: clamp(32px, 9.5vw, 41px);
	}

	.alp-pro-benefits__intro {
		font-size: 14px;
	}

	.alp-pro-benefit-card {
		padding-right: 22px;
		padding-bottom: 27px;
		padding-left: 22px;
	}

	.alp-pro-benefit-card__visual {
		width: calc(100% + 44px);
		height: 215px;
		margin-right: -22px;
		margin-left: -22px;
	}

	.alp-pro-benefit-card__title {
		font-size: 20px;
	}

	.alp-pro-benefit-card__text {
		font-size: 13px;
	}
}
/* ==========================================================================
   PROFESSIONNELS — PRESTATIONS
   ========================================================================== */

.alp-pro-services {
	position: relative;
	width: 100%;
	padding: 78px 28px 54px;
	background: #fffdf9;
	scroll-margin-top: 100px;
}

.alp-pro-services__container {
	width: min(100%, 1380px);
	margin-inline: auto;
}

/* En-tête
   ========================================================================== */

.alp-pro-services__header {
	max-width: 1050px;
	margin: 0 auto 46px;
	text-align: center;
}

.alp-pro-services__eyebrow {
	margin: 0 0 12px;
	color: var(--alp-green);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.alp-pro-services__eyebrow::after {
	display: block;
	width: 54px;
	height: 1px;
	margin: 13px auto 0;
	background: var(--alp-green);
	content: "";
}

.alp-pro-services__title {
	margin: 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(38px, 4vw, 58px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.alp-pro-services__signature {
	display: flex;
	align-items: center;
	gap: 12px;
	width: min(100%, 420px);
	margin: 22px auto 18px;
	color: var(--alp-green);
}

.alp-pro-services__signature > span {
	flex: 1;
	height: 1px;
	background: rgba(84, 137, 77, 0.52);
}

.alp-pro-services__signature svg,
.alp-pro-services__leaf {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-pro-services__signature svg {
	flex: 0 0 auto;
	width: 34px;
	height: 24px;
}

.alp-pro-services__intro {
	max-width: 790px;
	margin: 0 auto;
	color: var(--alp-navy);
	font-size: 15px;
	line-height: 1.7;
}

/* Grille
   ========================================================================== */

.alp-pro-services__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

/* Carte
   ========================================================================== */

.alp-pro-service-card {
	display: grid;
	grid-template-columns: minmax(190px, 0.8fr) minmax(0, 1.2fr);
	align-items: center;
	min-height: 300px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(7, 50, 95, 0.08);
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(7, 50, 95, 0.055);
	transition:
		transform var(--alp-transition),
		box-shadow var(--alp-transition);
}

.alp-pro-service-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 15px 34px rgba(7, 50, 95, 0.085);
}

/* Illustration
   ========================================================================== */

.alp-pro-service-card__visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	min-width: 0;
	padding: 24px 8px 24px 20px;
}

.alp-pro-service-card__visual::before {
	position: absolute;
	width: 210px;
	height: 210px;
	background: rgba(248, 244, 232, 0.75);
	border-radius: 50%;
	content: "";
}

.alp-pro-service-card__visual img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	max-width: 245px;
	height: 220px;
	object-fit: contain;
}

/* Contenu
   ========================================================================== */

.alp-pro-service-card__content {
	min-width: 0;
	padding: 30px 30px 30px 16px;
}

.alp-pro-service-card__heading {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.alp-pro-service-card__number {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	color: var(--alp-green);
	background: #f8f4e8;
	border: 1px solid rgba(84, 137, 77, 0.1);
	border-radius: 50%;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 21px;
	line-height: 1;
}

.alp-pro-service-card__title {
	margin: 1px 0 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(21px, 1.7vw, 27px);
	font-weight: 600;
	line-height: 1.12;
}

.alp-pro-service-card__divider {
	display: block;
	width: 34px;
	height: 2px;
	margin: 16px 0 16px 68px;
	background: var(--alp-green);
	border-radius: 999px;
}

.alp-pro-service-card__list {
	display: grid;
	gap: 7px;
	margin: 0;
	padding: 0 0 0 68px;
	list-style: none;
}

.alp-pro-service-card__list li {
	position: relative;
	color: var(--alp-navy);
	font-size: 13px;
	line-height: 1.45;
}

.alp-pro-service-card__list li::before {
	position: absolute;
	top: 0.58em;
	left: -17px;
	width: 5px;
	height: 5px;
	background: var(--alp-green);
	border-radius: 50%;
	content: "";
}

/* Note finale
   ========================================================================== */

.alp-pro-services__note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	margin-top: 30px;
	color: var(--alp-green);
}

.alp-pro-services__leaf {
	flex: 0 0 auto;
	width: 29px;
	height: 21px;
}

.alp-pro-services__note p {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

.alp-pro-services__note p > span {
	width: 1px;
	height: 18px;
	background: rgba(84, 137, 77, 0.55);
}

.alp-pro-services__note strong {
	color: var(--alp-green-dark);
	font-weight: 600;
}

/* Tablette
   ========================================================================== */

@media (max-width: 1100px) {

	.alp-pro-services__grid {
		grid-template-columns: 1fr;
		max-width: 760px;
		margin-inline: auto;
	}

	.alp-pro-service-card {
		grid-template-columns: 260px minmax(0, 1fr);
		min-height: 250px;
	}
}

@media (max-width: 700px) {

	.alp-pro-services {
		padding: 58px 16px 44px;
	}

	.alp-pro-services__header {
		margin-bottom: 34px;
	}

	.alp-pro-services__title {
		font-size: clamp(32px, 9vw, 41px);
	}

	.alp-pro-services__intro {
		font-size: 14px;
	}

	.alp-pro-service-card {
		grid-template-columns: 1fr;
	}

	.alp-pro-service-card__visual {
		min-height: 220px;
		padding: 22px 22px 0;
	}

	.alp-pro-service-card__visual::before {
		width: 190px;
		height: 190px;
	}

	.alp-pro-service-card__visual img {
		max-width: 280px;
		height: 210px;
	}

	.alp-pro-service-card__content {
		padding: 16px 24px 28px;
	}

	.alp-pro-service-card__number {
		width: 46px;
		height: 46px;
		font-size: 19px;
	}

	.alp-pro-service-card__title {
		font-size: 22px;
	}

	.alp-pro-service-card__divider {
		margin-left: 62px;
	}

	.alp-pro-service-card__list {
		padding-left: 62px;
	}

	.alp-pro-services__note {
		align-items: flex-start;
	}

	.alp-pro-services__note p {
		flex-direction: column;
		gap: 5px;
	}

	.alp-pro-services__note p > span {
		width: 34px;
		height: 1px;
		margin: 5px 0;
	}
}
/* ==========================================================================
   PROFESSIONNELS — PROCESSUS D'ACCOMPAGNEMENT
   ========================================================================== */

.alp-pro-process {
	position: relative;
	width: 100%;
	padding: 78px 28px 72px;
	overflow: hidden;
	background:
		linear-gradient(
			180deg,
			#fbf8f1 0%,
			#fffdf9 100%
		);
}

.alp-pro-process__container {
	width: min(100%, 1380px);
	margin-inline: auto;
}

/* En-tête
   ========================================================================== */

.alp-pro-process__header {
	max-width: 960px;
	margin: 0 auto 46px;
	text-align: center;
}

.alp-pro-process__eyebrow {
	margin: 0 0 13px;
	color: var(--alp-green);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.alp-pro-process__eyebrow::after {
	display: block;
	width: 74px;
	height: 1px;
	margin: 13px auto 0;
	background: var(--alp-green);
	content: "";
}

.alp-pro-process__title {
	margin: 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(38px, 4vw, 58px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.alp-pro-process__signature {
	display: flex;
	align-items: center;
	gap: 12px;
	width: min(100%, 490px);
	margin: 22px auto 18px;
	color: var(--alp-green);
}

.alp-pro-process__signature > span {
	flex: 1;
	height: 1px;
	background: rgba(84, 137, 77, 0.52);
}

.alp-pro-process__signature svg {
	flex: 0 0 auto;
	width: 34px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-pro-process__intro {
	max-width: 790px;
	margin: 0 auto;
	color: var(--alp-navy);
	font-size: 15px;
	line-height: 1.7;
}

/* Étapes
   ========================================================================== */

.alp-pro-process__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
}

.alp-pro-process-step {
	position: relative;
	min-width: 0;
	text-align: center;
}

.alp-pro-process-step__top {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 185px;
}

.alp-pro-process-step__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 164px;
	height: 164px;
	color: var(--alp-navy);
	background:
		radial-gradient(
			circle at center,
			#fffdf8 0%,
			#faf5e9 100%
		);
	border: 1px solid rgba(84, 137, 77, 0.16);
	border-radius: 50%;
	box-shadow: 0 10px 25px rgba(7, 50, 95, 0.055);
}

.alp-pro-process-step__icon svg {
	width: 88px;
	height: 88px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-pro-process-step__icon svg path:last-child,
.alp-pro-process-step__icon svg circle:last-child {
	stroke: var(--alp-green);
}

/* Connecteur
   ========================================================================== */

.alp-pro-process-step__connector {
	position: absolute;
	top: 50%;
	right: calc(-50% + 44px);
	display: flex;
	align-items: center;
	width: calc(100% - 68px);
	color: var(--alp-green);
	transform: translateY(-50%);
}

.alp-pro-process-step__connector > span {
	flex: 1;
	height: 2px;
	background-image:
		radial-gradient(
			circle,
			currentColor 1.5px,
			transparent 2px
		);
	background-position: left center;
	background-size: 9px 2px;
	background-repeat: repeat-x;
}

.alp-pro-process-step__connector svg {
	flex: 0 0 auto;
	width: 26px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Contenu étape
   ========================================================================== */

.alp-pro-process-step__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-top: -6px;
	color: var(--alp-white);
	background: var(--alp-green);
	border-radius: 50%;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 20px;
	line-height: 1;
	box-shadow: 0 5px 12px rgba(84, 137, 77, 0.18);
}

.alp-pro-process-step__title {
	margin: 14px 0 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
}

.alp-pro-process-step__divider {
	display: block;
	width: 34px;
	height: 2px;
	margin: 15px auto 17px;
	background: var(--alp-green);
	border-radius: 999px;
}

.alp-pro-process-step__text {
	max-width: 290px;
	margin: 0 auto;
	color: #344252;
	font-size: 13px;
	line-height: 1.65;
}

/* Note finale
   ========================================================================== */

.alp-pro-process__note {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr) 110px;
	align-items: center;
	gap: 22px;
	margin-top: 48px;
	padding: 24px 34px;
	background: rgba(255, 255, 255, 0.66);
	border: 1px solid rgba(84, 137, 77, 0.13);
	border-radius: 13px;
	box-shadow: 0 7px 20px rgba(7, 50, 95, 0.04);
}

.alp-pro-process__note-leaf {
	display: block;
	width: 96px;
	height: auto;
	fill: none;
	stroke: var(--alp-green);
	stroke-width: 1.4;
	stroke-linecap: round;
	stroke-linejoin: round;
	opacity: 0.76;
}

.alp-pro-process__note-leaf--right {
	justify-self: end;
	transform: scaleX(-1);
}

.alp-pro-process__note-content {
	text-align: center;
}

.alp-pro-process__note-content p {
	margin: 0;
	color: var(--alp-navy);
	font-size: 14px;
	line-height: 1.55;
}

.alp-pro-process__note-content strong {
	color: var(--alp-green-dark);
	font-weight: 700;
}

.alp-pro-process__note-content > span {
	display: block;
	width: 46px;
	height: 2px;
	margin: 12px auto;
	background: var(--alp-green);
	border-radius: 999px;
}

/* Tablette
   ========================================================================== */

@media (max-width: 1050px) {

	.alp-pro-process__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 28px;
		max-width: 760px;
		margin-inline: auto;
	}

	.alp-pro-process-step__connector {
		display: none;
	}

	.alp-pro-process__note {
		grid-template-columns: 80px minmax(0, 1fr) 80px;
	}
}

/* Mobile
   ========================================================================== */

@media (max-width: 620px) {

	.alp-pro-process {
		padding: 58px 16px 54px;
	}

	.alp-pro-process__header {
		margin-bottom: 36px;
	}

	.alp-pro-process__title {
		font-size: clamp(32px, 9vw, 41px);
	}

	.alp-pro-process__intro {
		font-size: 14px;
	}

	.alp-pro-process__steps {
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.alp-pro-process-step {
		padding-bottom: 4px;
	}

	.alp-pro-process-step__top {
		min-height: auto;
	}

	.alp-pro-process-step__icon {
		width: 144px;
		height: 144px;
	}

	.alp-pro-process-step__icon svg {
		width: 76px;
		height: 76px;
	}

	.alp-pro-process-step__number {
		margin-top: 12px;
	}

	.alp-pro-process-step__text {
		max-width: 360px;
	}

	.alp-pro-process__note {
		grid-template-columns: 1fr;
		gap: 15px;
		padding: 23px 20px;
	}

	.alp-pro-process__note-leaf {
		width: 70px;
		margin-inline: auto;
	}

	.alp-pro-process__note-leaf--right {
		display: none;
	}

	.alp-pro-process__note-content p {
		font-size: 13px;
	}
}
/* ==========================================================================
   PROFESSIONNELS — FAQ
   ========================================================================== */

.alp-pro-faq {
	position: relative;
	width: 100%;
	padding: 76px 28px 0;
	background: #fffdf9;
}

.alp-pro-faq__container {
	width: min(100%, 1240px);
	margin-inline: auto;
}

/* En-tête
   ========================================================================== */

.alp-pro-faq__header {
	max-width: 850px;
	margin: 0 auto 38px;
	text-align: center;
}

.alp-pro-faq__eyebrow {
	margin: 0 0 13px;
	color: var(--alp-green);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.alp-pro-faq__eyebrow::after {
	display: block;
	width: 74px;
	height: 1px;
	margin: 13px auto 0;
	background: var(--alp-green);
	content: "";
}

.alp-pro-faq__title {
	margin: 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(40px, 4.2vw, 60px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.alp-pro-faq__signature {
	display: flex;
	align-items: center;
	gap: 12px;
	width: min(100%, 490px);
	margin: 22px auto 18px;
	color: var(--alp-green);
}

.alp-pro-faq__signature > span {
	flex: 1;
	height: 1px;
	background: rgba(84, 137, 77, 0.5);
}

.alp-pro-faq__signature svg {
	flex: 0 0 auto;
	width: 34px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-pro-faq__intro {
	max-width: 720px;
	margin: 0 auto;
	color: var(--alp-navy);
	font-size: 15px;
	line-height: 1.65;
}

/* Accordéon
   ========================================================================== */

.alp-pro-faq__list {
	display: grid;
	gap: 7px;
}

.alp-pro-faq-item {
	overflow: hidden;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(7, 50, 95, 0.075);
	border-radius: 9px;
	box-shadow: 0 5px 15px rgba(7, 50, 95, 0.035);
	transition:
		border-color var(--alp-transition),
		box-shadow var(--alp-transition);
}

.alp-pro-faq-item[open] {
	border-color: rgba(84, 137, 77, 0.22);
	box-shadow: 0 8px 22px rgba(7, 50, 95, 0.06);
}

/* Question
   ========================================================================== */

.alp-pro-faq-item__question {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) 30px;
	align-items: center;
	gap: 18px;
	min-height: 76px;
	padding: 10px 28px;
	color: var(--alp-navy);
	cursor: pointer;
	list-style: none;
}

.alp-pro-faq-item__question::-webkit-details-marker {
	display: none;
}

.alp-pro-faq-item__question::marker {
	display: none;
	content: "";
}

.alp-pro-faq-item__question:hover .alp-pro-faq-item__label {
	color: var(--alp-green-dark);
}

.alp-pro-faq-item__question:focus-visible {
	outline: 2px solid var(--alp-green);
	outline-offset: -3px;
}

/* Icône
   ========================================================================== */

.alp-pro-faq-item__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	color: var(--alp-green-dark);
	background: #f6f6e9;
	border: 1px solid rgba(84, 137, 77, 0.18);
	border-radius: 50%;
}

.alp-pro-faq-item__icon svg {
	width: 27px;
	height: 27px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-pro-faq-item__label {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	transition: color var(--alp-transition);
}

/* Chevron
   ========================================================================== */

.alp-pro-faq-item__chevron {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--alp-green-dark);
	transition: transform var(--alp-transition);
}

.alp-pro-faq-item__chevron svg {
	width: 22px;
	height: 13px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-pro-faq-item[open] .alp-pro-faq-item__chevron {
	transform: rotate(180deg);
}

/* Réponse
   ========================================================================== */

.alp-pro-faq-item__answer {
	padding: 0 78px 24px 98px;
}

.alp-pro-faq-item__answer p {
	max-width: 900px;
	margin: 0;
	padding-top: 3px;
	color: #3c4854;
	font-size: 14px;
	line-height: 1.7;
}
.alp-pro-faq-item__answer p + p {
	margin-top: 16px;
}

/* CTA
   ========================================================================== */

.alp-pro-faq__cta {
	position: relative;
	display: grid;
	grid-template-columns: 70px minmax(0, 1fr) auto;
	align-items: center;
	gap: 22px;
	margin-top: 20px;
	padding: 27px 30px;
	overflow: hidden;
	color: var(--alp-white);
	background:
		linear-gradient(
			100deg,
			var(--alp-green-dark),
			var(--alp-green)
		);
	border-radius: 10px 10px 0 0;
}

.alp-pro-faq__cta::after {
	position: absolute;
	right: -30px;
	bottom: -70px;
	width: 260px;
	height: 220px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.alp-pro-faq__cta-icon {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	color: var(--alp-white);
}

.alp-pro-faq__cta-icon svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-pro-faq__cta-content {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.alp-pro-faq__cta-content h3 {
	margin: 0 0 7px;
	color: var(--alp-white);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 21px;
	font-weight: 600;
	line-height: 1.25;
}

.alp-pro-faq__cta-content p {
	max-width: 700px;
	margin: 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 13px;
	line-height: 1.55;
}

/* Bouton CTA
   ========================================================================== */

.alp-pro-faq__cta-button {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 13px;
	min-width: 280px;
	padding: 13px 20px;
	color: var(--alp-green-dark) !important;
	background: var(--alp-white);
	border: 2px solid var(--alp-white);
	border-radius: 9px;
	text-decoration: none;
	transition:
		transform var(--alp-transition),
		background-color var(--alp-transition),
		color var(--alp-transition);
}

.alp-pro-faq__cta-button:hover,
.alp-pro-faq__cta-button:focus-visible {
	color: var(--alp-white) !important;
	background: transparent;
	transform: translateY(-2px);
}

.alp-pro-faq__cta-button-icon {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
}

.alp-pro-faq__cta-button-icon svg {
	width: 30px;
	height: 30px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-pro-faq__cta-button > span:last-child {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.alp-pro-faq__cta-button strong {
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}

.alp-pro-faq__cta-button small {
	font-size: 11px;
	font-weight: 400;
	line-height: 1.2;
}

/* Responsive
   ========================================================================== */

@media (max-width: 900px) {

	.alp-pro-faq__cta {
		grid-template-columns: 60px minmax(0, 1fr);
	}

	.alp-pro-faq__cta-button {
		grid-column: 1 / -1;
		justify-self: center;
	}
}

@media (max-width: 620px) {

	.alp-pro-faq {
		padding: 58px 16px 0;
	}

	.alp-pro-faq__header {
		margin-bottom: 30px;
	}

	.alp-pro-faq__title {
		font-size: clamp(32px, 10vw, 42px);
	}

	.alp-pro-faq__intro {
		font-size: 14px;
	}

	.alp-pro-faq-item__question {
		grid-template-columns: 42px minmax(0, 1fr) 24px;
		gap: 12px;
		min-height: 68px;
		padding: 10px 14px;
	}

	.alp-pro-faq-item__icon {
		width: 40px;
		height: 40px;
	}

	.alp-pro-faq-item__icon svg {
		width: 23px;
		height: 23px;
	}

	.alp-pro-faq-item__label {
		font-size: 16px;
	}

	.alp-pro-faq-item__chevron svg {
		width: 18px;
	}

	.alp-pro-faq-item__answer {
		padding: 0 18px 20px 68px;
	}

	.alp-pro-faq-item__answer p {
		font-size: 13px;
	}

	.alp-pro-faq__cta {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 25px 20px;
		text-align: center;
	}

	.alp-pro-faq__cta-icon {
		margin-inline: auto;
	}

	.alp-pro-faq__cta-content h3 {
		font-size: 20px;
	}

	.alp-pro-faq__cta-button {
		width: 100%;
		min-width: 0;
		justify-content: center;
	}
}
/* ==========================================================================
   RETOUCHES DESKTOP — PAGE PROFESSIONNELS
   ========================================================================== */

/* 1. Header légèrement plus compact */
@media (min-width: 1101px) {

	.site-header,
	.elementor-location-header {
		min-height: auto;
	}


	/* 2. Hero : badges un peu plus proches des boutons */
	.alp-professionals .alp-signature-hero__badges {
		margin-top: 20px;
	}

	/* 3. Section accompagnement : parcours remonté */
	.alp-pro-process__header {
		margin-bottom: 30px;
	}

	.alp-pro-process__steps {
		margin-top: -6px;
	}

	.alp-pro-process__note {
		margin-top: 34px;
	}

	/* 4. Transition accompagnement → FAQ plus compacte */
	.alp-pro-faq {
		padding-top: 56px;
	}
}
@media (min-width: 1101px) {
	header img.custom-logo,
	header .custom-logo-link img,
	.elementor-location-header img.custom-logo,
	.elementor-location-header .custom-logo-link img,
	.elementor-widget-theme-site-logo img,
	.elementor-widget-image img {
		max-height: 86px !important;
		width: auto !important;
	}
}
/* ==========================================================================
   FINITIONS TABLETTE — PAGE PROFESSIONNELS
   ========================================================================== */

@media (min-width: 621px) and (max-width: 980px) {

	/* Hero : illustration légèrement remontée */
	.alp-signature-hero__visual {
		min-height: 320px;
		margin-top: -48px;
	}

	/* Bénéfices : cartes un peu plus compactes */
	.alp-pro-benefits__grid {
		max-width: 620px;
	}

	.alp-pro-benefit-card__visual {
		height: 240px;
	}

	.alp-pro-benefit-card {
		padding-bottom: 27px;
	}

	.alp-pro-benefit-card__title {
		margin-top: 14px;
	}

	.alp-pro-benefit-card__divider {
		margin-top: 11px;
		margin-bottom: 13px;
	}
}

/* ==========================================================================
   FINITIONS MOBILE — PAGE PROFESSIONNELS
   ========================================================================== */

@media (max-width: 600px) {

	/* Hero : les deux boutons exactement à la même largeur */
	.alp-signature-hero__actions {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 12px;
	}

	.alp-signature-hero__primary,
	.alp-signature-hero__secondary {
		width: 100% !important;
		max-width: none !important;
		align-self: stretch !important;
		justify-content: center !important;
	}

	/* Bouton retour en haut */
	.hfe-scroll-to-top-button {
		width: 42px !important;
		height: 42px !important;
		right: 12px !important;
		bottom: 15px !important;
		font-size: 14px !important;
	}
}
/* ==========================================================================
   CTA ACCUEIL — VERSION CONTENUE
   Cohérente avec le CTA de la page Professionnels
   ========================================================================== */

.alp-cta {
	width: min(calc(100% - 56px), 1240px);
	margin-inline: auto;
	overflow: hidden;
	border-radius: 10px 10px 0 0;
}

.alp-cta__container {
	width: 100%;
	min-height: 96px;
	padding: 16px 30px;
}

/* Tablette */
@media (max-width: 900px) {

	.alp-cta {
		width: calc(100% - 48px);
	}

	.alp-cta__container {
		width: 100%;
		padding: 24px;
	}
}

/* Mobile */
@media (max-width: 620px) {

	.alp-cta {
		width: calc(100% - 32px);
		border-radius: 10px 10px 0 0;
	}

	.alp-cta__container {
		width: 100%;
		padding: 28px 20px 30px;
	}
}
/* ==========================================================================
   PARTICULIERS — BÉNÉFICES TABLETTE
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

	.alp-individuals-benefits .alp-pro-benefits__grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.alp-individuals-benefits .alp-pro-benefit-card {
		width: min(100%, 620px);
		margin-inline: auto;
		padding-bottom: 26px;
	}

	.alp-individuals-benefits .alp-pro-benefit-card__visual {
		height: 250px;
	}

	.alp-individuals-benefits .alp-pro-benefit-card__visual img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.alp-individuals-benefits .alp-pro-benefit-card__icon {
		margin-top: -24px;
	}

	.alp-individuals-benefits .alp-pro-benefit-card__title {
		margin-top: 14px;
	}

	.alp-individuals-benefits .alp-pro-benefit-card__text {
		max-width: 420px;
		margin-inline: auto;
	}
}
/* ==========================================================================
   PAGE À PROPOS — QUI SUIS-JE ?
   ========================================================================== */

.alp-about-intro {
	padding: 110px 0;
	background: #fbf8f1;
}

.alp-about-intro__container {
	width: min(1320px, calc(100% - 80px));
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(340px, 0.65fr);
	gap: 70px;
	align-items: center;
}

.alp-about-intro__eyebrow {
	margin: 0 0 14px;
	color: #4f8f49;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.alp-about-intro__title {
	max-width: 780px;
	margin: 0;
	color: #07325f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 4vw, 64px);
	font-weight: 400;
	line-height: 1.05;
}

.alp-about-intro__title span {
	display: block;
	color: #568f4d;
}

.alp-about-intro__signature {
	display: flex;
	align-items: center;
	gap: 16px;
	width: min(430px, 100%);
	margin: 30px 0 32px;
}

.alp-about-intro__signature > span {
	flex: 1;
	height: 1px;
	background: rgba(79, 143, 73, 0.45);
}

.alp-about-intro__signature svg {
	display: block;
	flex: 0 0 30px;
	width: 30px;
	height: 22px;
	fill: none;
	stroke: #568f4d;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-about-intro__text {
	max-width: 760px;
	color: #183b62;
	font-size: 17px;
	line-height: 1.75;
}

.alp-about-intro__text p {
	margin: 0 0 18px;
}

.alp-about-intro__text p:last-child {
	margin-bottom: 0;
}

/* Localisation */

.alp-about-intro__locations {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 38px;
}

.alp-about-location {
	display: flex;
	align-items: center;
	gap: 13px;
	min-height: 92px;
	padding: 18px;
	background: #fff;
	border: 1px solid rgba(7, 50, 95, 0.09);
	border-radius: 15px;
	box-shadow: 0 10px 26px rgba(7, 50, 95, 0.05);
}

.alp-about-location__icon {
	display: grid;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	place-items: center;
	color: #568f4d;
	background: #faf8ee;
	border: 1px solid rgba(86, 143, 77, 0.18);
	border-radius: 50%;
	font-size: 21px;
	line-height: 1;
}

.alp-about-location strong,
.alp-about-location div > span {
	display: block;
}

.alp-about-location strong {
	color: #07325f;
	font-size: 14px;
	line-height: 1.3;
}

.alp-about-location div > span {
	margin-top: 4px;
	color: #617184;
	font-size: 12px;
	line-height: 1.35;
}

/* Cartouche à droite */

.alp-about-intro__quote {
	position: relative;
	display: flex;
	min-height: 430px;
	padding: 60px 48px;
	overflow: hidden;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: #f6f2e7;
	border: 1px solid rgba(86, 143, 77, 0.15);
	border-radius: 24px;
	box-shadow: 0 22px 45px rgba(7, 50, 95, 0.07);
}

.alp-about-intro__quote-decoration {
	margin-bottom: 30px;
}

.alp-about-intro__quote-decoration svg {
	display: block;
	width: 88px;
	height: 68px;
	fill: none;
	stroke: #78a96f;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-about-intro__quote p {
	max-width: 390px;
	margin: 0;
	color: #07325f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 31px;
	line-height: 1.3;
}

.alp-about-intro__quote p strong {
	display: block;
	margin-top: 5px;
	color: #568f4d;
	font-weight: 400;
}

.alp-about-intro__quote-line {
	width: 48px;
	height: 2px;
	margin: 26px 0 20px;
	background: #568f4d;
}

.alp-about-intro__quote small {
	max-width: 330px;
	color: #526a82;
	font-size: 14px;
	line-height: 1.55;
}
/* ==========================================================================
   PAGE À PROPOS — MA FAÇON DE TRAVAILLER
   ========================================================================== */

.alp-about-method {
	padding: 110px 0 120px;
	background: #fff;
}

.alp-about-method__container {
	width: min(1320px, calc(100% - 80px));
	margin: 0 auto;
}

/* --------------------------------------------------------------------------
   EN-TÊTE
   -------------------------------------------------------------------------- */

.alp-about-method__header {
	max-width: 850px;
	margin: 0 auto 64px;
	text-align: center;
}

.alp-about-method__eyebrow {
	margin: 0 0 14px;
	color: #4f8f49;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.alp-about-method__title {
	margin: 0;
	color: #07325f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 4vw, 60px);
	font-weight: 400;
	line-height: 1.08;
}

.alp-about-method__title span {
	display: block;
	color: #568f4d;
}

.alp-about-method__signature {
	display: flex;
	align-items: center;
	gap: 16px;
	width: min(420px, 80%);
	margin: 28px auto 30px;
}

.alp-about-method__signature > span {
	flex: 1;
	height: 1px;
	background: rgba(79, 143, 73, 0.4);
}

.alp-about-method__signature svg {
	display: block;
	flex: 0 0 30px;
	width: 30px;
	height: 22px;
	fill: none;
	stroke: #568f4d;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-about-method__intro {
	max-width: 720px;
	margin: 0 auto;
	color: #526a82;
	font-size: 17px;
	line-height: 1.7;
}

/* --------------------------------------------------------------------------
   LES 5 PILIERS
   -------------------------------------------------------------------------- */

.alp-about-method__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}

.alp-about-method-card {
	position: relative;
	min-width: 0;
	padding: 34px 24px 32px;
	text-align: center;
	background: #fbf8f1;
	border: 1px solid rgba(7, 50, 95, 0.08);
	border-radius: 18px;
	box-shadow: 0 12px 28px rgba(7, 50, 95, 0.05);
}

.alp-about-method-card__icon {
	display: grid;
	width: 66px;
	height: 66px;
	margin: 0 auto 22px;
	place-items: center;
	background: #fff;
	border: 1px solid rgba(86, 143, 77, 0.2);
	border-radius: 50%;
	box-shadow: 0 8px 18px rgba(7, 50, 95, 0.05);
}

.alp-about-method-card__icon svg {
	display: block;
	width: 36px;
	height: 36px;
	fill: none;
	stroke: #568f4d;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-about-method-card__title {
	margin: 0;
	color: #07325f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 23px;
	font-weight: 400;
	line-height: 1.2;
}

.alp-about-method-card__divider {
	display: block;
	width: 34px;
	height: 2px;
	margin: 17px auto;
	background: #78a96f;
}

.alp-about-method-card__text {
	margin: 0;
	color: #526a82;
	font-size: 14px;
	line-height: 1.65;
}
/* ==========================================================================
   PAGE À PROPOS — CE QUI COMPTE DANS MON ACCOMPAGNEMENT
   ========================================================================== */

.alp-about-matters {
	padding: 110px 0 120px;
	background: #fbf8f1;
}

.alp-about-matters__container {
	width: min(1320px, calc(100% - 80px));
	margin: 0 auto;
}

/* --------------------------------------------------------------------------
   EN-TÊTE
   -------------------------------------------------------------------------- */

.alp-about-matters__header {
	max-width: 880px;
	margin: 0 auto 62px;
	text-align: center;
}

.alp-about-matters__eyebrow {
	margin: 0 0 14px;
	color: #4f8f49;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.alp-about-matters__title {
	margin: 0;
	color: #07325f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 4vw, 60px);
	font-weight: 400;
	line-height: 1.08;
}

.alp-about-matters__title span {
	display: block;
	color: #568f4d;
}

.alp-about-matters__signature {
	display: flex;
	align-items: center;
	gap: 16px;
	width: min(420px, 80%);
	margin: 28px auto 30px;
}

.alp-about-matters__signature > span {
	flex: 1;
	height: 1px;
	background: rgba(79, 143, 73, 0.4);
}

.alp-about-matters__signature svg {
	display: block;
	flex: 0 0 30px;
	width: 30px;
	height: 22px;
	fill: none;
	stroke: #568f4d;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-about-matters__intro {
	max-width: 760px;
	margin: 0 auto;
	color: #526a82;
	font-size: 17px;
	line-height: 1.7;
}

/* --------------------------------------------------------------------------
   3 GRANDES CARTES
   -------------------------------------------------------------------------- */

.alp-about-matters__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.alp-about-matters-card {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 330px;
	padding: 42px 34px 36px;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: #fff;
	border: 1px solid rgba(7, 50, 95, 0.08);
	border-radius: 20px;
	box-shadow: 0 14px 32px rgba(7, 50, 95, 0.055);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease;
}

.alp-about-matters-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 38px rgba(7, 50, 95, 0.08);
}

.alp-about-matters-card__icon {
	display: grid;
	width: 84px;
	height: 84px;
	margin-bottom: 26px;
	place-items: center;
	color: #568f4d;
	background: #f8f5ed;
	border: 1px solid rgba(86, 143, 77, 0.16);
	border-radius: 50%;
}

.alp-about-matters-card__icon svg {
	display: block;
	width: 46px;
	height: 46px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-about-matters-card__title {
	margin: 0;
	color: #07325f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 27px;
	font-weight: 400;
	line-height: 1.2;
}

.alp-about-matters-card__divider {
	display: block;
	width: 38px;
	height: 2px;
	margin: 18px auto 19px;
	background: #78a96f;
}

.alp-about-matters-card__text {
	max-width: 330px;
	margin: 0;
	color: #526a82;
	font-size: 14px;
	line-height: 1.7;
}
/* ==========================================================================
   PAGE À PROPOS — UNE RELATION DE PROXIMITÉ
   ========================================================================== */

.alp-about-proximity {
	padding: 110px 0 120px;
	background: #ffffff;
}

.alp-about-proximity__container {
	width: min(1320px, calc(100% - 80px));
	margin: 0 auto;

	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
	gap: 70px;
	align-items: center;
}

/* --------------------------------------------------------------------------
   CONTENU GAUCHE
   -------------------------------------------------------------------------- */

.alp-about-proximity__eyebrow {
	margin: 0 0 14px;
	color: #4f8f49;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.alp-about-proximity__title {
	max-width: 720px;
	margin: 0;
	color: #07325f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 4vw, 60px);
	font-weight: 400;
	line-height: 1.08;
}

.alp-about-proximity__title span {
	display: block;
	color: #568f4d;
}

.alp-about-proximity__signature {
	display: flex;
	align-items: center;
	gap: 16px;
	width: min(420px, 100%);
	margin: 28px 0 30px;
}

.alp-about-proximity__signature > span {
	flex: 1;
	height: 1px;
	background: rgba(79, 143, 73, 0.4);
}

.alp-about-proximity__signature svg {
	display: block;
	flex: 0 0 30px;
	width: 30px;
	height: 22px;
	fill: none;
	stroke: #568f4d;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-about-proximity__text {
	max-width: 700px;
	color: #526a82;
	font-size: 17px;
	line-height: 1.75;
}

.alp-about-proximity__text p {
	margin: 0 0 20px;
}

.alp-about-proximity__text p:last-child {
	margin-bottom: 0;
}

.alp-about-proximity__text strong {
	color: #07325f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 20px;
	font-weight: 400;
}

/* --------------------------------------------------------------------------
   PANNEAU DROIT
   -------------------------------------------------------------------------- */

.alp-about-proximity__panel {
	position: relative;
	padding: 42px 38px 36px;
	background: #fbf8f1;
	border: 1px solid rgba(86, 143, 77, 0.15);
	border-radius: 22px;
	box-shadow: 0 18px 42px rgba(7, 50, 95, 0.07);
}

.alp-about-proximity__panel-icon {
	display: grid;
	width: 76px;
	height: 76px;
	margin: 0 auto 22px;
	place-items: center;
	color: #568f4d;
	background: #ffffff;
	border: 1px solid rgba(86, 143, 77, 0.18);
	border-radius: 50%;
	box-shadow: 0 8px 18px rgba(7, 50, 95, 0.05);
}

.alp-about-proximity__panel-icon svg {
	display: block;
	width: 42px;
	height: 42px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-about-proximity__panel h3 {
	margin: 0 0 30px;
	color: #07325f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 30px;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
}

/* --------------------------------------------------------------------------
   LIEUX / MODES D’ACCOMPAGNEMENT
   -------------------------------------------------------------------------- */

.alp-about-proximity__places {
	display: grid;
	gap: 12px;
}

.alp-about-proximity__place {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 15px;
	align-items: start;
	padding: 18px 18px;
	background: rgba(255, 255, 255, 0.84);
	border: 1px solid rgba(7, 50, 95, 0.07);
	border-radius: 13px;
}

.alp-about-proximity__place > span {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	color: #ffffff;
	background: #568f4d;
	border-radius: 50%;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 15px;
	line-height: 1;
}

.alp-about-proximity__place strong {
	display: block;
	color: #07325f;
	font-size: 15px;
	line-height: 1.3;
}

.alp-about-proximity__place p {
	margin: 5px 0 0;
	color: #617184;
	font-size: 13px;
	line-height: 1.55;
}

.alp-about-proximity__note {
	margin: 26px 0 0;
	padding-top: 22px;
	color: #526a82;
	border-top: 1px solid rgba(86, 143, 77, 0.18);
	font-size: 13px;
	font-style: italic;
	line-height: 1.6;
	text-align: center;
}
/* ==========================================================================
   PAGE À PROPOS — CTA FINAL
   ========================================================================== */

.alp-about-cta {
	padding: 70px 0 0;
	background: #fff;
}

.alp-about-cta__container {
	position: relative;
	width: min(1240px, calc(100% - 80px));
	margin: 0 auto;
	padding: 54px 70px 48px;
	overflow: hidden;
	text-align: center;
	background:
		linear-gradient(
			110deg,
			#44733f 0%,
			#54894d 100%
		);
	border-radius: 18px 18px 0 0;
}

.alp-about-cta__content {
	position: relative;
	z-index: 2;
	max-width: 850px;
	margin: 0 auto;
}

.alp-about-cta__eyebrow {
	margin: 0 0 12px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.alp-about-cta__title {
	margin: 0;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(38px, 4vw, 56px);
	font-weight: 400;
	line-height: 1.08;
}

.alp-about-cta__title span {
	display: block;
	color: #fff;
	font-style: italic;
}

.alp-about-cta__text {
	max-width: 760px;
	margin: 22px auto 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 15px;
	line-height: 1.7;
}

.alp-about-cta__actions {
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 30px;
}

.alp-about-cta__button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-width: 280px;
	min-height: 64px;
	padding: 12px 20px;
	border: 2px solid #fff;
	border-radius: 9px;
	text-align: left;
	transition:
		transform 180ms ease,
		background-color 180ms ease,
		color 180ms ease;
}

.alp-about-cta__button > span:first-child {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.alp-about-cta__button strong,
.alp-about-cta__button small {
	display: block;
}

.alp-about-cta__button strong {
	font-size: 13px;
	line-height: 1.2;
	text-transform: uppercase;
}

.alp-about-cta__button small {
	font-size: 11px;
	font-weight: 400;
	line-height: 1.3;
}

.alp-about-cta__button--primary {
	color: #44733f !important;
	background: #fff;
}

.alp-about-cta__button:hover,
.alp-about-cta__button:focus-visible {
	transform: translateY(-2px);
}

.alp-about-cta__button--primary:hover,
.alp-about-cta__button--primary:focus-visible {
	color: #fff !important;
	background: transparent;
}

.alp-about-cta__reassurance {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 24px 0 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 11px;
}

.alp-about-cta__decoration {
	position: absolute;
	z-index: 1;
	bottom: -18px;
	width: 150px;
	height: 120px;
	color: rgba(255, 255, 255, 0.13);
	pointer-events: none;
}

.alp-about-cta__decoration svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-about-cta__decoration--left {
	left: 22px;
}

.alp-about-cta__decoration--right {
	right: 22px;
	transform: scaleX(-1);
}
/* ==========================================================================
   PAGE À PROPOS — AJUSTEMENTS DES ESPACEMENTS DESKTOP
   ========================================================================== */

@media (min-width: 1025px) {

	/* Resserre la transition Hero -> Qui suis-je ? */
	.alp-about-intro {
		padding-top: 80px;
	}

	/* Resserre la transition Proximité -> CTA final */
	.alp-about-cta {
		padding-top: 35px;
	}
}
/* ==========================================================================
   PAGE À PROPOS — TABLETTE
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

	/* ----------------------------------------------------------------------
	   QUI SUIS-JE ?
	   ---------------------------------------------------------------------- */

	.alp-about-intro {
		padding: 80px 0 90px;
	}

	.alp-about-intro__container {
		width: min(100% - 48px, 900px);
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.alp-about-intro__title {
		max-width: 720px;
		font-size: clamp(46px, 6vw, 58px);
	}

	.alp-about-intro__text {
		max-width: 760px;
	}

	.alp-about-intro__locations {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
	}

	.alp-about-location {
		min-width: 0;
		padding: 16px;
	}

	.alp-about-location strong {
		font-size: 13px;
	}

	.alp-about-intro__quote {
		width: min(100%, 560px);
		min-height: 330px;
		margin-inline: auto;
		padding: 44px 42px;
	}

	.alp-about-intro__quote p {
		font-size: 29px;
	}


	/* ----------------------------------------------------------------------
	   MA FAÇON DE TRAVAILLER
	   ---------------------------------------------------------------------- */

	.alp-about-method {
		padding: 85px 0 95px;
	}

	.alp-about-method__container {
		width: min(100% - 48px, 900px);
	}

	.alp-about-method__header {
		margin-bottom: 48px;
	}

	.alp-about-method__title {
		font-size: clamp(42px, 6vw, 54px);
	}

	.alp-about-method__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}

	.alp-about-method-card {
		min-height: 280px;
		padding: 30px 28px;
	}

	.alp-about-method-card:last-child {
		grid-column: 1 / -1;
		width: min(100%, 360px);
		justify-self: center;
	}

	.alp-about-method-card__title {
		font-size: 24px;
	}

	.alp-about-method-card__text {
		max-width: 290px;
		margin-inline: auto;
		font-size: 14px;
	}


	/* ----------------------------------------------------------------------
	   CE QUI COMPTE DANS MON ACCOMPAGNEMENT
	   ---------------------------------------------------------------------- */

	.alp-about-matters {
		padding: 85px 0 95px;
	}

	.alp-about-matters__container {
		width: min(100% - 48px, 900px);
	}

	.alp-about-matters__header {
		margin-bottom: 48px;
	}

	.alp-about-matters__title {
		font-size: clamp(42px, 6vw, 54px);
	}

	.alp-about-matters__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 16px;
	}

	.alp-about-matters-card {
		min-height: 360px;
		padding: 34px 22px 30px;
	}

	.alp-about-matters-card__icon {
		width: 72px;
		height: 72px;
	}

	.alp-about-matters-card__icon svg {
		width: 39px;
		height: 39px;
	}

	.alp-about-matters-card__title {
		font-size: 24px;
	}

	.alp-about-matters-card__text {
		font-size: 13px;
		line-height: 1.65;
	}


	/* ----------------------------------------------------------------------
	   RELATION DE PROXIMITÉ
	   ---------------------------------------------------------------------- */

	.alp-about-proximity {
		padding: 85px 0 90px;
	}

	.alp-about-proximity__container {
		width: min(100% - 48px, 900px);
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.alp-about-proximity__title {
		max-width: 720px;
		font-size: clamp(44px, 6vw, 56px);
	}

	.alp-about-proximity__text {
		max-width: 720px;
	}

	.alp-about-proximity__panel {
		width: min(100%, 650px);
		margin-inline: auto;
	}


	/* ----------------------------------------------------------------------
	   CTA
	   ---------------------------------------------------------------------- */

	.alp-about-cta {
		padding-top: 35px;
	}

	.alp-about-cta__container {
		width: calc(100% - 48px);
		padding: 48px 42px 42px;
	}

	.alp-about-cta__title {
		font-size: clamp(40px, 6vw, 52px);
	}
}
@media (min-width: 768px) and (max-width: 1024px) {

	.alp-about-intro {
		padding-top: 48px;
	}

}
/* ==========================================================================
   À PROPOS — TABLETTE : FINITION SECTION QUI SUIS-JE
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

	/* Citation */
	.alp-about-intro__quote {
		width: min(100%, 560px);
		margin: 40px auto 0;
		padding: 48px 40px;
	}

	/* Réduit l'espace sous toute la section */
	.alp-about-intro {
		padding-bottom: 56px;
	}

}
/* ==========================================================================
   À PROPOS — TABLETTE : ESPACE AVANT L'ILLUSTRATION DU HERO
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

	.alp-about img[src*="hero-a-propos"] {
		display: block;
		margin-top: 36px;
	}

}
/* ==========================================================================
   PAGE À PROPOS — SMARTPHONE
   ========================================================================== */

@media (max-width: 600px) {

	/* ======================================================================
	   HERO À PROPOS
	   ====================================================================== */

	.alp-about .alp-signature-hero {
		padding: 28px 12px 30px;
	}

	.alp-about .alp-signature-hero__container {
		width: 100%;
		gap: 28px;
	}

	.alp-about .alp-signature-hero__title {
		font-size: clamp(34px, 10vw, 43px);
		line-height: 1.06;
	}

	.alp-about .alp-signature-hero__title span {
		margin-top: 8px;
		font-size: 0.78em;
	}

	.alp-about .alp-signature-hero__text {
		font-size: 14px;
		line-height: 1.65;
	}

	.alp-about .alp-signature-hero__actions {
		width: 100%;
	}

	.alp-about .alp-signature-hero__primary,
	.alp-about .alp-signature-hero__secondary {
		width: 100% !important;
		max-width: none !important;
		align-self: stretch !important;
		justify-content: center;
	}

	.alp-about .alp-signature-hero__badges {
		gap: 8px;
		margin-top: 22px;
	}

	.alp-about .alp-signature-hero__badges li {
		width: max-content;
		max-width: 100%;
	}

	.alp-about .alp-signature-hero__visual {
		min-height: 0;
		margin-top: 22px;
	}

	.alp-about .alp-signature-hero__illustration {
		width: 100%;
		margin-top: 0;
	}


	/* ======================================================================
	   QUI SUIS-JE ?
	   ====================================================================== */

	.alp-about-intro {
		padding: 54px 0 62px;
	}

	.alp-about-intro__container {
		display: grid;
		width: calc(100% - 32px);
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.alp-about-intro__content {
		min-width: 0;
		width: 100%;
	}

	.alp-about-intro__eyebrow {
		font-size: 11px;
	}

	.alp-about-intro__title {
		width: 100%;
		max-width: none;
		font-size: clamp(34px, 10.5vw, 43px);
		line-height: 1.06;
	}

	.alp-about-intro__signature {
		width: min(100%, 300px);
		margin: 25px 0 27px;
	}

	.alp-about-intro__text {
		width: 100%;
		max-width: none;
		font-size: 14px;
		line-height: 1.7;
	}

	.alp-about-intro__text p {
		margin-bottom: 17px;
	}

	/* Localisations : une carte par ligne */

	.alp-about-intro__locations {
		display: grid;
		width: 100%;
		grid-template-columns: 1fr;
		gap: 11px;
		margin-top: 28px;
	}

	.alp-about-location {
		width: 100%;
		min-height: 76px;
		padding: 14px 16px;
		gap: 13px;
	}

	.alp-about-location__icon {
		flex-basis: 40px;
		width: 40px;
		height: 40px;
	}

	.alp-about-location strong {
		font-size: 13px;
	}

	.alp-about-location div > span {
		font-size: 12px;
	}

	/* Citation sous le contenu */

	.alp-about-intro__quote {
		width: 100%;
		min-height: 0;
		margin: 0;
		padding: 38px 24px;
		border-radius: 18px;
	}

	.alp-about-intro__quote-decoration {
		margin-bottom: 22px;
	}

	.alp-about-intro__quote-decoration svg {
		width: 68px;
		height: 52px;
	}

	.alp-about-intro__quote p {
		font-size: 27px;
		line-height: 1.25;
	}

	.alp-about-intro__quote-line {
		margin: 22px 0 17px;
	}

	.alp-about-intro__quote small {
		font-size: 13px;
	}


	/* ======================================================================
	   MA FAÇON DE TRAVAILLER
	   ====================================================================== */

	.alp-about-method {
		padding: 62px 0 68px;
	}

	.alp-about-method__container {
		width: calc(100% - 32px);
	}

	.alp-about-method__header {
		margin-bottom: 36px;
	}

	.alp-about-method__eyebrow {
		font-size: 11px;
	}

	.alp-about-method__title {
		font-size: clamp(34px, 10vw, 42px);
		line-height: 1.08;
	}

	.alp-about-method__signature {
		width: min(100%, 280px);
		margin: 24px auto;
	}

	.alp-about-method__intro {
		font-size: 14px;
		line-height: 1.7;
	}

	/* 5 cartes : une par ligne */

	.alp-about-method__grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.alp-about-method-card,
	.alp-about-method-card:last-child {
		width: 100%;
		min-height: 0;
		grid-column: auto;
		justify-self: stretch;
		padding: 28px 22px 26px;
	}

	.alp-about-method-card__icon {
		width: 62px;
		height: 62px;
		margin-bottom: 18px;
	}

	.alp-about-method-card__icon svg {
		width: 33px;
		height: 33px;
	}

	.alp-about-method-card__title {
		font-size: 23px;
	}

	.alp-about-method-card__divider {
		margin: 14px auto;
	}

	.alp-about-method-card__text {
		max-width: 320px;
		margin-inline: auto;
		font-size: 14px;
		line-height: 1.65;
	}


	/* ======================================================================
	   CE QUI COMPTE DANS MON ACCOMPAGNEMENT
	   ====================================================================== */

	.alp-about-matters {
		padding: 62px 0 68px;
	}

	.alp-about-matters__container {
		width: calc(100% - 32px);
	}

	.alp-about-matters__header {
		margin-bottom: 36px;
	}

	.alp-about-matters__eyebrow {
		font-size: 11px;
		line-height: 1.45;
	}

	.alp-about-matters__title {
		font-size: clamp(34px, 10vw, 42px);
		line-height: 1.08;
	}

	.alp-about-matters__signature {
		width: min(100%, 280px);
		margin: 24px auto;
	}

	.alp-about-matters__intro {
		font-size: 14px;
		line-height: 1.7;
	}

	/* 3 grandes cartes : une par ligne */

	.alp-about-matters__grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.alp-about-matters-card {
		width: 100%;
		min-height: 0;
		padding: 30px 22px 28px;
	}

	.alp-about-matters-card__icon {
		width: 72px;
		height: 72px;
		margin-bottom: 20px;
	}

	.alp-about-matters-card__icon svg {
		width: 39px;
		height: 39px;
	}

	.alp-about-matters-card__title {
		font-size: 25px;
		line-height: 1.18;
	}

	.alp-about-matters-card__divider {
		margin: 15px auto 16px;
	}

	.alp-about-matters-card__text {
		max-width: 320px;
		font-size: 14px;
		line-height: 1.65;
	}


	/* ======================================================================
	   UNE RELATION DE PROXIMITÉ
	   ====================================================================== */

	.alp-about-proximity {
		padding: 62px 0 68px;
	}

	.alp-about-proximity__container {
		display: grid;
		width: calc(100% - 32px);
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.alp-about-proximity__content {
		min-width: 0;
		width: 100%;
	}

	.alp-about-proximity__eyebrow {
		font-size: 11px;
	}

	.alp-about-proximity__title {
		width: 100%;
		max-width: none;
		font-size: clamp(34px, 10vw, 42px);
		line-height: 1.08;
	}

	.alp-about-proximity__signature {
		width: min(100%, 280px);
		margin: 24px 0 25px;
	}

	.alp-about-proximity__text {
		width: 100%;
		max-width: none;
		font-size: 14px;
		line-height: 1.7;
	}

	.alp-about-proximity__text strong {
		font-size: 18px;
		line-height: 1.45;
	}

	/* Panneau sous le texte */

	.alp-about-proximity__panel {
		width: 100%;
		margin: 0;
		padding: 30px 18px 26px;
		border-radius: 18px;
	}

	.alp-about-proximity__panel-icon {
		width: 64px;
		height: 64px;
		margin-bottom: 19px;
	}

	.alp-about-proximity__panel-icon svg {
		width: 35px;
		height: 35px;
	}

	.alp-about-proximity__panel h3 {
		margin-bottom: 24px;
		font-size: 26px;
	}

	.alp-about-proximity__place {
		grid-template-columns: 40px minmax(0, 1fr);
		gap: 12px;
		padding: 15px;
	}

	.alp-about-proximity__place > span {
		width: 38px;
		height: 38px;
		font-size: 13px;
	}

	.alp-about-proximity__place strong {
		font-size: 13px;
	}

	.alp-about-proximity__place p {
		font-size: 12px;
	}

	.alp-about-proximity__note {
		margin-top: 20px;
		padding-top: 18px;
		font-size: 12px;
	}


	/* ======================================================================
	   CTA FINAL
	   ====================================================================== */

	.alp-about-cta {
		padding-top: 26px;
	}

	.alp-about-cta__container {
		width: calc(100% - 32px);
		padding: 38px 20px 34px;
		border-radius: 14px 14px 0 0;
	}

	.alp-about-cta__eyebrow {
		font-size: 10px;
	}

	.alp-about-cta__title {
		font-size: clamp(32px, 10vw, 40px);
		line-height: 1.08;
	}

	.alp-about-cta__text {
		margin-top: 18px;
		font-size: 13px;
		line-height: 1.65;
	}

	.alp-about-cta__actions {
		width: 100%;
		margin-top: 24px;
	}

	.alp-about-cta__button {
		width: 100%;
		min-width: 0;
		min-height: 60px;
		padding: 11px 16px;
	}

	.alp-about-cta__reassurance {
		flex-direction: column;
		gap: 4px;
		margin-top: 20px;
		line-height: 1.4;
	}

	.alp-about-cta__reassurance > span {
		display: none;
	}

	.alp-about-cta__decoration {
		width: 105px;
		height: 84px;
	}


	/* ======================================================================
	   SÉCURITÉ ANTI-DÉBORDEMENT
	   ====================================================================== */

	.alp-about-intro *,
	.alp-about-method *,
	.alp-about-matters *,
	.alp-about-proximity *,
	.alp-about-cta * {
		min-width: 0;
	}

	.alp-about-intro,
	.alp-about-method,
	.alp-about-matters,
	.alp-about-proximity,
	.alp-about-cta {
		overflow-x: hidden;
	}
}
/* ==========================================================================
   PAGE À PROPOS — FINITIONS SMARTPHONE
   À placer APRÈS le patch mobile précédent
   ========================================================================== */

@media (max-width: 600px) {

	/* ----------------------------------------------------------------------
	   HERO — réduire légèrement la hauteur globale
	   ---------------------------------------------------------------------- */

	.alp-about .alp-signature-hero {
		padding-bottom: 22px;
	}

	.alp-about .alp-signature-hero__container {
		gap: 22px;
	}

	.alp-about .alp-signature-hero__badges {
		margin-top: 16px;
	}

	.alp-about .alp-signature-hero__visual {
		margin-top: 10px;
	}


	/* ----------------------------------------------------------------------
	   QUI SUIS-JE ?
	   ---------------------------------------------------------------------- */

	.alp-about-intro {
		padding-top: 48px;
		padding-bottom: 54px;
	}

	.alp-about-intro__container {
		gap: 32px;
	}

	.alp-about-intro__locations {
		margin-top: 24px;
	}

	.alp-about-intro__quote {
		padding: 34px 22px;
	}


	/* ----------------------------------------------------------------------
	   MA FAÇON DE TRAVAILLER
	   Cartes un peu plus compactes
	   ---------------------------------------------------------------------- */

	.alp-about-method {
		padding-top: 54px;
		padding-bottom: 58px;
	}

	.alp-about-method__header {
		margin-bottom: 30px;
	}

	.alp-about-method__grid {
		gap: 14px;
	}

	.alp-about-method-card,
	.alp-about-method-card:last-child {
		padding: 24px 20px 23px;
	}

	.alp-about-method-card__icon {
		width: 56px;
		height: 56px;
		margin-bottom: 15px;
	}

	.alp-about-method-card__icon svg {
		width: 30px;
		height: 30px;
	}

	.alp-about-method-card__title {
		font-size: 22px;
	}

	.alp-about-method-card__divider {
		margin: 12px auto;
	}


	/* ----------------------------------------------------------------------
	   CE QUI COMPTE...
	   ---------------------------------------------------------------------- */

	.alp-about-matters {
		padding-top: 54px;
		padding-bottom: 58px;
	}

	.alp-about-matters__header {
		margin-bottom: 30px;
	}

	.alp-about-matters__grid {
		gap: 16px;
	}

	.alp-about-matters-card {
		padding: 27px 20px 25px;
	}

	.alp-about-matters-card__icon {
		width: 66px;
		height: 66px;
		margin-bottom: 17px;
	}

	.alp-about-matters-card__title {
		font-size: 23px;
	}


	/* ----------------------------------------------------------------------
	   RELATION DE PROXIMITÉ
	   Le titre était un peu trop imposant sur 390 px
	   ---------------------------------------------------------------------- */

	.alp-about-proximity {
		padding-top: 54px;
		padding-bottom: 58px;
	}

	.alp-about-proximity__container {
		gap: 32px;
	}

	.alp-about-proximity__title {
		font-size: clamp(32px, 9.3vw, 39px);
		line-height: 1.08;
	}

	.alp-about-proximity__panel {
		padding: 27px 16px 24px;
	}

	.alp-about-proximity__panel h3 {
		font-size: 24px;
		line-height: 1.2;
	}

	.alp-about-proximity__place {
		padding: 14px 12px;
	}


	/* ----------------------------------------------------------------------
	   CTA FINAL
	   Important : même largeur visuelle que les autres sections
	   ---------------------------------------------------------------------- */

	.alp-about-cta {
		padding: 26px 16px 0;
	}

	.alp-about-cta__container {
		width: 100%;
		max-width: none;
		margin: 0 auto;
		padding: 34px 18px 30px;
		border-radius: 14px 14px 0 0;
	}

	.alp-about-cta__title {
		font-size: clamp(32px, 9.5vw, 39px);
	}

	.alp-about-cta__button {
		min-height: 56px;
	}

}
/* ==========================================================================
   PAGE ACTUALITÉS — DESKTOP
   ========================================================================== */

.alp-news-page {
	background: #fff;
}

/* --------------------------------------------------------------------------
   HERO
   -------------------------------------------------------------------------- */

.alp-news-hero {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 34px 28px 58px;
	background:
		linear-gradient(
			180deg,
			#fbf8f1 0%,
			#f8f5ed 100%
		);
	border-bottom: 1px solid rgba(82, 137, 76, 0.12);
}

.alp-news-hero__container {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr);
	align-items: center;
	gap: clamp(60px, 7vw, 110px);
	width: min(100%, 1380px);
	margin-inline: auto;
}

.alp-news-hero__eyebrow {
	margin: 0 0 18px;
	color: #4f8a49;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.alp-news-hero__title {
	max-width: 860px;
	margin: 0 auto;
	color: #07396a;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(48px, 5vw, 66px);
	font-weight: 400;
	line-height: 1.06;
}

.alp-news-hero__title span {
	display: block;
	margin-top: 8px;
	color: #4f8a49;
	font-style: italic;
}

.alp-news-hero__signature {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	width: min(420px, 100%);
	margin: 26px auto 22px;
	color: #4f8a49;
}

.alp-news-hero__signature > span {
	flex: 1;
	height: 1px;
	background: rgba(79, 138, 73, 0.45);
}

.alp-news-hero__signature svg {
	width: 28px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-news-hero__intro {
	max-width: 760px;
	margin: 0 auto;
	color: #173f67;
	font-size: 16px;
	line-height: 1.75;
}

/* --------------------------------------------------------------------------
   RESSOURCES
   -------------------------------------------------------------------------- */

.alp-news-resources {
	padding: 38px 0 84px;
	background: #fff;
}

.alp-news-resources__container {
	width: min(1240px, calc(100% - 80px));
	margin: 0 auto;
}

.alp-news-resources__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

/* ==========================================================================
   ACTUALITÉS — CARTES AVEC APERÇU DES SITES
   ========================================================================== */

.alp-news-resource-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(7, 57, 106, 0.1);
	border-radius: 18px;
	box-shadow: 0 12px 30px rgba(7, 57, 106, 0.06);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease;
}

.alp-news-resource-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 36px rgba(7, 57, 106, 0.1);
}

/* Aperçu du site */

.alp-news-resource-card__preview {
	position: relative;
	display: block;
	height: 210px;
	overflow: hidden;
	background: #f4f2eb;
}

.alp-news-resource-card__preview img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform 300ms ease;
}

.alp-news-resource-card:hover .alp-news-resource-card__preview img {
	transform: scale(1.025);
}

.alp-news-resource-card__preview-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	padding: 7px 11px;
	color: #4f8a49;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(79, 138, 73, 0.2);
	border-radius: 999px;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	box-shadow: 0 4px 14px rgba(7, 57, 106, 0.06);
}

/* Contenu */

.alp-news-resource-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px 25px 24px;
}

.alp-news-resource-card__category {
	margin: 0 0 12px;
	color: #4f8a49;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.alp-news-resource-card__title {
	margin: 0;
	color: #07396a;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 27px;
	font-weight: 400;
	line-height: 1.18;
}

.alp-news-resource-card__text {
	margin: 16px 0 0;
	color: #4e6175;
	font-size: 13px;
	line-height: 1.65;
}

.alp-news-resource-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: auto;
	padding-top: 22px;
	border-top: 1px solid rgba(7, 57, 106, 0.08);
}

.alp-news-resource-card__source {
	color: #6b7d8d;
	font-size: 11px;
	font-weight: 600;
}

.alp-news-resource-card__link,
.alp-news-resource-card__link:visited {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #07396a !important;
	font-size: 11px;
	font-weight: 700;
	text-decoration: none;
	opacity: 1 !important;
}

.alp-news-resource-card__link:hover,
.alp-news-resource-card__link:focus-visible {
	color: #4f8a49 !important;
}
/* --------------------------------------------------------------------------
   CTA
   -------------------------------------------------------------------------- */

.alp-news-cta {
	padding: 10px 0 0;
	background: #fff;
}

.alp-news-cta__container {
	width: min(1180px, calc(100% - 80px));
	margin: 0 auto;
	padding: 54px 64px 50px;
	text-align: center;
	background: linear-gradient(
		110deg,
		#44733f 0%,
		#54894d 100%
	);
	border-radius: 18px 18px 0 0;
}

.alp-news-cta__eyebrow {
	margin: 0 0 12px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.alp-news-cta__title {
	max-width: 800px;
	margin: 0 auto;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(38px, 4vw, 52px);
	font-weight: 400;
	line-height: 1.08;
}

.alp-news-cta__title span {
	display: block;
	font-style: italic;
}

.alp-news-cta__text {
	max-width: 700px;
	margin: 20px auto 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: 14px;
	line-height: 1.7;
}

.alp-news-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-width: 190px;
	margin-top: 28px;
	padding: 14px 22px;
	color: #44733f;
	background: #fff;
	border: 2px solid #fff;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
	transition:
		background-color 180ms ease,
		color 180ms ease,
		transform 180ms ease;
}

.alp-news-cta__button:hover,
.alp-news-cta__button:focus-visible {
	color: #fff;
	background: transparent;
	transform: translateY(-2px);
}

/* --------------------------------------------------------------------------
   TABLETTE
   -------------------------------------------------------------------------- */

@media (min-width: 768px) and (max-width: 1024px) {

	.alp-news-hero {
		padding: 72px 0 68px;
	}

	.alp-news-hero__container,
	.alp-news-resources__container,
	.alp-news-cta__container {
		width: calc(100% - 48px);
	}

	.alp-news-resources {
		padding: 70px 0 78px;
	}

	.alp-news-resources__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.alp-news-resource-card:last-child {
		grid-column: 1 / -1;
		width: min(100%, 520px);
		justify-self: center;
	}

	.alp-news-cta__container {
		padding: 48px 40px 44px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {

	.alp-news-resource-card__preview {
		height: 190px;
	}

}

/* --------------------------------------------------------------------------
   SMARTPHONE
   -------------------------------------------------------------------------- */

@media (max-width: 600px) {

	.alp-news-hero {
		padding: 52px 0 48px;
	}

	.alp-news-hero__container,
	.alp-news-resources__container {
		width: calc(100% - 32px);
	}

	.alp-news-hero__eyebrow {
		font-size: 10px;
	}

	.alp-news-hero__title {
		font-size: clamp(34px, 10vw, 42px);
	}

	.alp-news-hero__intro {
		font-size: 14px;
	}

	.alp-news-resources {
		padding: 54px 0 62px;
	}

	.alp-news-resources__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.alp-news-resource-card {
		min-height: 0;
		padding: 24px 20px 22px;
	}

	.alp-news-resource-card__title {
		font-size: 25px;
	}

	.alp-news-resource-card__footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.alp-news-cta {
		padding: 24px 16px 0;
	}

	.alp-news-cta__container {
		width: 100%;
		padding: 38px 20px 34px;
	}

	.alp-news-cta__title {
		font-size: clamp(32px, 9.5vw, 40px);
	}

	.alp-news-cta__button {
		width: 100%;
	}
}
@media (max-width: 600px) {

	.alp-news-resource-card__preview {
		height: 185px;
	}

	.alp-news-resource-card__content {
		padding: 21px 18px 20px;
	}

	.alp-news-resource-card__title {
		font-size: 24px;
	}

}
/* =========================================================
   ACTUALITÉS — CORRECTION CONTRASTE LIENS / CTA
   ========================================================= */

.alp-news-resource-card__link,
.alp-news-resource-card__link:visited {
	color: #07396a !important;
	opacity: 1 !important;
}

.alp-news-resource-card__link:hover,
.alp-news-resource-card__link:focus {
	color: #4f8a49 !important;
}

.alp-news-cta__button,
.alp-news-cta__button:visited {
	color: #44733f !important;
	background: #ffffff !important;
	opacity: 1 !important;
}

.alp-news-cta__button:hover,
.alp-news-cta__button:focus {
	color: #ffffff !important;
	background: transparent !important;
	border-color: #ffffff !important;
}
/* ==========================================================================
   ACCUEIL — ACTUALITÉS : SOURCES OFFICIELLES
   ========================================================================== */

.alp-home-news-card__media {
	position: relative;
	height: 82px;
}

.alp-home-news-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.alp-home-news-card__official {
	position: absolute;
	top: 7px;
	left: 7px;
	padding: 4px 6px;
	color: #44733f;
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid rgba(84, 137, 77, 0.16);
	border-radius: 999px;
	font-size: 6px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	box-shadow: 0 2px 7px rgba(7, 50, 95, 0.06);
}

.alp-home-news-card__source {
	display: block;
	margin-top: 7px;
	color: #727c86;
	font-size: 8px;
	font-weight: 600;
	line-height: 1.3;
}

.alp-home-news-card__link {
	margin-top: auto;
}
/* ==========================================================================
   ACCUEIL — LIENS "VOIR TOUTES..."
   ========================================================================== */

.alp-news-reviews .alp-news-reviews__header .alp-news-reviews__all-link,
.alp-news-reviews .alp-news-reviews__header .alp-news-reviews__all-link span {
	color: #07325f !important;
	opacity: 1 !important;
	font-weight: 600;
}

.alp-news-reviews .alp-news-reviews__header .alp-news-reviews__all-link:hover,
.alp-news-reviews .alp-news-reviews__header .alp-news-reviews__all-link:hover span,
.alp-news-reviews .alp-news-reviews__header .alp-news-reviews__all-link:focus-visible,
.alp-news-reviews .alp-news-reviews__header .alp-news-reviews__all-link:focus-visible span {
	color: #54894d !important;
}
.alp-news-resource-card__preview {
	position: relative;
	display: block;
	overflow: hidden;
	background: #f7f5ef;
}

.alp-news-resource-card__preview img {
	display: block;
	width: 100%;
	height: 210px;
	object-fit: cover;
	object-position: top center;
	transition: transform 0.35s ease;
}

.alp-news-resource-card__preview:hover img {
	transform: scale(1.025);
}
/* =========================================================
   PAGE ACTUALITÉS — MOBILE
   ========================================================= */

@media (max-width: 767px) {

	/* HERO */
	.alp-news-hero {
		padding: 52px 20px 48px;
	}

	.alp-news-hero__title {
		font-size: clamp(2rem, 9vw, 2.7rem);
		line-height: 1.08;
	}

	.alp-news-hero__intro {
		font-size: 0.95rem;
		line-height: 1.65;
		max-width: 330px;
		margin-left: auto;
		margin-right: auto;
	}


	/* ZONE DES CARTES */
	.alp-news-resources {
		padding: 54px 16px;
	}

	.alp-news-resources__container {
		width: 100%;
	}

	.alp-news-resources__grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}


	/* CARTES */
	.alp-news-resource-card {
		width: 100%;
		border-radius: 18px;
	}


	/* APERÇU DES SITES */
	.alp-news-resource-card__preview img {
		height: 190px;
		object-fit: cover;
		object-position: top center;
	}


	/* CONTENU */
	.alp-news-resource-card__content {
		padding: 24px 22px 22px;
	}

	.alp-news-resource-card__title {
		font-size: 1.65rem;
		line-height: 1.12;
	}

	.alp-news-resource-card__text {
		font-size: 0.94rem;
		line-height: 1.6;
	}


	/* PIED DES CARTES */
	.alp-news-resource-card__footer {
		gap: 12px;
		flex-wrap: wrap;
	}

	.alp-news-resource-card__link {
		white-space: nowrap;
	}


	/* CTA */
	.alp-news-page .alp-cta {
		margin-top: 8px;
	}

}
/* ==========================================================================
   PAGE CONTACT — DESKTOP
   ========================================================================== */

.alp-contact-page {
	background: #fff;
}

/* --------------------------------------------------------------------------
   HERO
   -------------------------------------------------------------------------- */

.alp-contact-hero {
	padding: 88px 0 76px;
	background: linear-gradient(
		180deg,
		#fbf8f1 0%,
		#f8f5ed 100%
	);
	border-bottom: 1px solid rgba(7, 50, 95, 0.08);
}

.alp-contact-hero__container {
	width: min(1050px, calc(100% - 80px));
	margin: 0 auto;
	text-align: center;
}

.alp-contact-hero__eyebrow {
	margin: 0 0 16px;
	color: var(--alp-green);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.alp-contact-hero__title {
	max-width: 820px;
	margin: 0 auto;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(48px, 5vw, 66px);
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -0.03em;
}

.alp-contact-hero__title span {
	display: block;
	margin-top: 7px;
	color: var(--alp-green);
	font-style: italic;
}

.alp-contact-hero__signature {
	display: flex;
	align-items: center;
	gap: 14px;
	width: min(420px, 100%);
	margin: 20px auto 18px;
	color: var(--alp-green);
}
.alp-contact-hero__signature > span {
	flex: 1;
	height: 1px;
	background: rgba(84, 137, 77, 0.45);
}

.alp-contact-hero__signature svg {
	width: 31px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-contact-hero__intro {
	max-width: 720px;
	margin: 0 auto;
	color: var(--alp-navy);
	font-size: 15px;
	line-height: 1.7;
}

.alp-contact-hero__badges {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}

.alp-contact-hero__badges li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	color: var(--alp-navy);
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(7, 50, 95, 0.07);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
}

.alp-contact-hero__badges li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	color: #fff;
	background: var(--alp-green);
	border-radius: 50%;
	font-size: 9px;
}

/* --------------------------------------------------------------------------
   CONTENU PRINCIPAL
   -------------------------------------------------------------------------- */

.alp-contact-main {
	padding: 48px 0 92px;
	background: #fff;
}

.alp-contact-main__container {
	display: grid;
	grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
	gap: 54px;
	width: min(1240px, calc(100% - 80px));
	margin: 0 auto;
	align-items: start;
}

/* --------------------------------------------------------------------------
   COLONNE COORDONNÉES
   -------------------------------------------------------------------------- */

.alp-contact-details {
	padding: 34px 30px 30px;
	background: #fbf8f1;
	border: 1px solid rgba(7, 50, 95, 0.08);
	border-radius: 20px;
	box-shadow: 0 14px 34px rgba(7, 50, 95, 0.05);
}

.alp-contact-details__eyebrow,
.alp-contact-form__eyebrow {
	margin: 0 0 10px;
	color: var(--alp-green);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.alp-contact-details__title,
.alp-contact-form__title {
	margin: 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 1.15;
}

.alp-contact-details__intro,
.alp-contact-form__intro {
	margin: 16px 0 0;
	color: #526a82;
	font-size: 14px;
	line-height: 1.7;
	max-width: 520px;
}

.alp-contact-details__list {
	display: grid;
	gap: 12px;
	margin-top: 26px;
}

.alp-contact-detail {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 15px;
	color: var(--alp-navy);
	background: #fff;
	border: 1px solid rgba(7, 50, 95, 0.07);
	border-radius: 12px;
}

a.alp-contact-detail {
	transition:
		transform 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease;
}

a.alp-contact-detail:hover,
a.alp-contact-detail:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(84, 137, 77, 0.24);
	box-shadow: 0 8px 18px rgba(7, 50, 95, 0.06);
}

.alp-contact-detail__icon {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	color: var(--alp-green-dark);
	background: #f7f4ea;
	border: 1px solid rgba(84, 137, 77, 0.16);
	border-radius: 50%;
}

.alp-contact-detail__icon svg {
	width: 23px;
	height: 23px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-contact-detail small,
.alp-contact-detail strong {
	display: block;
}

.alp-contact-detail small {
	color: #6c7b8b;
	font-size: 10px;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.alp-contact-detail strong {
	margin-top: 3px;
	color: var(--alp-navy);
	font-size: 14px;
	line-height: 1.3;
}

.alp-contact-details__note {
	margin-top: 22px;
	padding: 18px 19px;
	background: rgba(84, 137, 77, 0.07);
	border-left: 3px solid var(--alp-green);
	border-radius: 9px;
}

.alp-contact-details__note strong {
	color: var(--alp-navy);
	font-size: 13px;
}

.alp-contact-details__note p {
	margin: 6px 0 0;
	color: #526a82;
	font-size: 12px;
	line-height: 1.6;
}
/* Réassurance
   ========================================================================== */

.alp-contact-details__reassurance {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid rgba(7, 50, 95, 0.08);
}

.alp-contact-details__reassurance-icon {
	display: flex;
	flex: 0 0 34px;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: var(--alp-green);
	background: rgba(84, 137, 77, 0.08);
	border-radius: 50%;
}

.alp-contact-details__reassurance-icon svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-contact-details__reassurance strong {
	display: block;
	margin: 1px 0 5px;
	color: var(--alp-navy);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.45;
}

.alp-contact-details__reassurance p {
	margin: 0;
	color: #566676;
	font-size: 12px;
	line-height: 1.6;
}

/* --------------------------------------------------------------------------
   FORMULAIRE
   -------------------------------------------------------------------------- */

.alp-contact-form {
	padding: 34px 34px 32px;
	background: #fff;
	border: 1px solid rgba(7, 50, 95, 0.09);
	border-radius: 20px;
	box-shadow: 0 14px 34px rgba(7, 50, 95, 0.06);
}

.alp-contact-form__form {
	display: grid;
	gap: 18px;
	margin-top: 28px;
}

.alp-contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.alp-contact-field {
	display: grid;
	gap: 7px;
}

.alp-contact-field label {
	color: var(--alp-navy);
	font-size: 12px;
	font-weight: 700;
}

.alp-contact-field label span {
	color: var(--alp-green);
}

.alp-contact-field input,
.alp-contact-field select,
.alp-contact-field textarea {
	width: 100%;
	border: 1px solid rgba(7, 50, 95, 0.10);
	border-radius: 8px;
	background: #fff;
	color: #2e3d4b;
	font-size: 14px;
	outline: none;
	box-shadow: 0 2px 8px rgba(7, 50, 95, 0.015);
	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		background-color 180ms ease;
}

.alp-contact-field input,
.alp-contact-field select {
	height: 46px;
	padding: 0 13px;
}

.alp-contact-field textarea {
	min-height: 160px;
	padding: 12px 13px;
	resize: vertical;
}

.alp-contact-field input:focus,
.alp-contact-field select:focus,
.alp-contact-field textarea:focus {
	border-color: rgba(84, 137, 77, 0.7);
	box-shadow: 0 0 0 3px rgba(84, 137, 77, 0.08);
	background: #fffefb;
}

.alp-contact-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: #566676;
	font-size: 11px;
	line-height: 1.5;
	cursor: pointer;
}

.alp-contact-consent input {
	flex: 0 0 auto;
	margin-top: 2px;
	accent-color: var(--alp-green);
}
.alp-contact-consent a {
	color: var(--alp-green);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.alp-contact-consent a:hover,
.alp-contact-consent a:focus-visible {
	color: var(--alp-green-dark);
}

.alp-contact-consent input:focus-visible {
	outline: 2px solid var(--alp-green);
	outline-offset: 3px;
}
.alp-contact-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	justify-self: start;
	min-height: 50px;
	padding: 12px 22px;
	color: #fff;
	background: var(--alp-green);
	border: 2px solid var(--alp-green);
	border-radius: 7px;
	font-size: 13px;
	font-weight: 700;
	text-transform: none;
	cursor: pointer;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		transform 180ms ease;
}

.alp-contact-form__submit:hover,
.alp-contact-form__submit:focus-visible {
	background: var(--alp-green-dark);
	border-color: var(--alp-green-dark);
	transform: translateY(-1px);
}

/* Messages succès / erreur */

.alp-contact-form__message {
	margin-top: 20px;
	padding: 13px 15px;
	border-radius: 8px;
	font-size: 13px;
	line-height: 1.5;
}

.alp-contact-form__message--success {
	color: #2f6530;
	background: rgba(84, 137, 77, 0.1);
	border: 1px solid rgba(84, 137, 77, 0.22);
}

.alp-contact-form__message--error {
	color: #8c3535;
	background: rgba(170, 72, 72, 0.08);
	border: 1px solid rgba(170, 72, 72, 0.18);
}

/* --------------------------------------------------------------------------
   TABLETTE
   -------------------------------------------------------------------------- */

@media (min-width: 768px) and (max-width: 1024px) {

	.alp-contact-hero {
		padding: 72px 0 64px;
	}

	.alp-contact-hero__container,
	.alp-contact-main__container {
		width: calc(100% - 48px);
	}

	.alp-contact-main {
		padding: 70px 0 76px;
	}

	.alp-contact-main__container {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.alp-contact-details,
	.alp-contact-form {
		width: min(100%, 720px);
		margin-inline: auto;
	}
}

/* --------------------------------------------------------------------------
   MOBILE
   -------------------------------------------------------------------------- */

@media (max-width: 600px) {

	.alp-contact-hero {
		padding: 38px 16px 46px;
	}

	.alp-contact-hero__container {
		width: 100%;
	}

	.alp-contact-hero__title {
		font-size: clamp(34px, 10vw, 42px);
	}

	.alp-contact-hero__intro {
		font-size: 14px;
	}

	.alp-contact-hero__badges {
		align-items: stretch;
		flex-direction: column;
	}

	.alp-contact-hero__badges li {
		align-self: center;
	}

	.alp-contact-main {
		padding: 38px 0 40px;
	}

	.alp-contact-main__container {
		width: calc(100% - 32px);
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.alp-contact-details,
	.alp-contact-form {
		padding: 26px 20px 24px;
		border-radius: 16px;
	}

	.alp-contact-details__title,
	.alp-contact-form__title {
		font-size: 29px;
	}

	.alp-contact-form__grid {
		grid-template-columns: 1fr;
	}

	.alp-contact-form__submit {
		width: 100%;
		justify-self: stretch;
	}

	.alp-contact-detail {
		padding: 13px;
	}

	.alp-contact-detail strong {
		font-size: 13px;
	}
}
/* CONTACT — correction bouton formulaire */

.alp-contact-form__submit,
.alp-contact-form__submit:visited {
	color: #ffffff !important;
}

.alp-contact-form__submit span {
	color: #ffffff !important;
}

.alp-contact-form__submit:hover,
.alp-contact-form__submit:focus-visible,
.alp-contact-form__submit:hover span,
.alp-contact-form__submit:focus-visible span {
	color: #ffffff !important;
}
/* CONTACT — bouton Envoyer ma demande */

.alp-contact-form__submit,
.alp-contact-form__submit:hover,
.alp-contact-form__submit:focus,
.alp-contact-form__submit:focus-visible,
.alp-contact-form__submit:active {
	color: #ffffff !important;
	background: var(--alp-green) !important;
	border: 2px solid var(--alp-green) !important;
	outline: none !important;
	box-shadow: none !important;
}

.alp-contact-form__submit:hover,
.alp-contact-form__submit:focus-visible {
	background: var(--alp-green-dark) !important;
	border-color: var(--alp-green-dark) !important;
	transform: translateY(-1px);
}
@media (min-width: 601px) and (max-width: 900px) {

	.alp-contact-main__container {
		width: min(600px, calc(100% - 48px));
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.alp-contact-form__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}
/* ==========================================================================
   CONTACT — MONOGRAMME ALP DISCRET DANS LE HERO
   ========================================================================== */

.alp-contact-hero {
	position: relative;
	overflow: hidden;
}

.alp-contact-hero__container {
	position: relative;
	z-index: 2;
}

.alp-contact-hero__monogram {
	position: absolute;
	z-index: 1;
	top: 50%;
	right: clamp(-90px, -4vw, -45px);
	transform: translateY(-50%);
	pointer-events: none;
}

.alp-contact-hero__monogram-circle {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 190px;
	height: 190px;
	color: rgba(7, 50, 95, 0.24);
	border: 1.5px solid rgba(84, 137, 77, 0.24);
	border-radius: 50%;
}

.alp-contact-hero__monogram-circle::before {
	content: "";
	position: absolute;
	top: -8px;
	left: 36px;
	width: 78px;
	height: 18px;
	background: #f9f6ee;
}

.alp-contact-hero__monogram-main {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 54px;
	line-height: 1;
	letter-spacing: 0.12em;
}

.alp-contact-hero__monogram-sub {
	margin-top: 8px;
	color: rgba(84, 137, 77, 0.42);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
}

.alp-contact-hero__monogram-leaf {
	position: absolute;
	right: -12px;
	bottom: 4px;
	width: 62px;
	height: 50px;
	fill: none;
	stroke: rgba(84, 137, 77, 0.5);
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
/* ==========================================================================
   CONTACT — TABLETTE
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

	.alp-contact-page {
		overflow-x: hidden;
	}

	.alp-contact-hero {
		padding: 62px 0 58px;
	}

	.alp-contact-hero__container {
		width: min(680px, calc(100% - 48px));
		margin-inline: auto;
	}

	.alp-contact-hero__title {
		font-size: 44px;
		line-height: 1.08;
	}

	.alp-contact-hero__intro {
		max-width: 610px;
		margin-inline: auto;
		font-size: 14px;
	}

	.alp-contact-hero__monogram {
		display: none;
	}

	.alp-contact-main {
		padding: 60px 0 68px;
	}

	.alp-contact-main__container {
		display: grid;
		grid-template-columns: 1fr;
		gap: 28px;
		width: min(660px, calc(100% - 48px));
		margin-inline: auto;
		padding: 0;
	}

	.alp-contact-details,
	.alp-contact-form {
		width: 100%;
		max-width: none;
		margin: 0;
	}

	.alp-contact-form__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.alp-contact-field,
	.alp-contact-field input,
	.alp-contact-field select,
	.alp-contact-field textarea {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

}
/* ==========================================================================
   CONTACT — SMARTPHONE
   ========================================================================== */

@media (max-width: 600px) {

	.alp-contact-page {
		overflow-x: hidden;
	}

	/* HERO */
	.alp-contact-hero {
		padding: 50px 16px 46px;
	}

	.alp-contact-hero__container {
		width: 100%;
		margin-inline: auto;
	}

	.alp-contact-hero__title {
		font-size: clamp(34px, 10vw, 42px);
		line-height: 1.08;
	}

	.alp-contact-hero__intro {
		max-width: 340px;
		margin-inline: auto;
		font-size: 14px;
	}

	.alp-contact-hero__badges {
		align-items: center;
		flex-direction: column;
		gap: 10px;
	}

	.alp-contact-hero__badges li {
		align-self: center;
	}

	.alp-contact-hero__monogram {
		display: none;
	}


	/* CONTENU PRINCIPAL */
	.alp-contact-main {
		padding: 54px 0 60px;
	}

	.alp-contact-main__container {
		display: grid;
		grid-template-columns: 1fr;
		gap: 24px;
		width: calc(100% - 32px);
		margin-inline: auto;
		padding: 0;
	}


	/* CARTES */
	.alp-contact-details,
	.alp-contact-form {
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 26px 20px 24px;
		border-radius: 16px;
	}

	.alp-contact-details__title,
	.alp-contact-form__title {
		font-size: 29px;
	}


	/* COORDONNÉES */
	.alp-contact-detail {
		padding: 13px;
	}

	.alp-contact-detail strong {
		font-size: 13px;
	}


	/* FORMULAIRE */
	.alp-contact-form__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.alp-contact-field,
	.alp-contact-field input,
	.alp-contact-field select,
	.alp-contact-field textarea {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

	.alp-contact-form__submit {
		width: 100%;
		justify-self: stretch;
	}

}
/* ==========================================================================
   CONTACT — CORRECTIF FINAL TABLETTE
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {

	/* Empêche tout débordement horizontal */
	.alp-contact-page,
	.alp-contact-main,
	.alp-contact-main__container,
	.alp-contact-details,
	.alp-contact-form {
		box-sizing: border-box;
		max-width: 100%;
	}

	.alp-contact-page,
	.alp-contact-main {
		overflow-x: hidden;
	}

	/* Conteneur central */
	.alp-contact-main__container {
		display: block;
		width: calc(100% - 120px);
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
		padding: 0;
	}

	/* Cartes */
	.alp-contact-details,
	.alp-contact-form {
		display: block;
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.alp-contact-form {
		margin-top: 28px;
	}

	/* Aucun enfant ne peut agrandir la carte */
	.alp-contact-details *,
	.alp-contact-form * {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
	}

	/* Textes */
	.alp-contact-details__intro,
	.alp-contact-form__intro,
	.alp-contact-details__note p,
	.alp-contact-detail strong {
		width: 100%;
		overflow-wrap: anywhere;
	}

	/* Formulaire tablette = une seule colonne */
	.alp-contact-form__grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
		width: 100%;
	}

	.alp-contact-field {
		width: 100%;
	}

	.alp-contact-field input,
	.alp-contact-field select,
	.alp-contact-field textarea {
		display: block;
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

}
/* ==========================================================================
   ACTUALITÉS + CONTACT — QUADRILLAGE DE FOND
   ========================================================================== */

.alp-news-hero,
.alp-contact-hero {
	position: relative;
	overflow: hidden;
}

.alp-news-hero::before,
.alp-contact-hero::before {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(7, 50, 95, 0.022) 1px, transparent 1px),
		linear-gradient(90deg, rgba(7, 50, 95, 0.022) 1px, transparent 1px);
	background-size: 34px 34px;
	content: "";
	pointer-events: none;
}
/* ==========================================================================
   ACTUALITÉS — ILLUSTRATION FILIGRANE DU HERO
   ========================================================================== */

.alp-news-hero {
	position: relative;
	overflow: hidden;
}

.alp-news-hero__container {
	position: relative;
	z-index: 2;
}

.alp-news-hero__illustration {
	position: absolute;
	z-index: 1;
	top: 50%;
	right: -18px;
	width: 210px;
	height: 190px;
	color: rgba(7, 50, 95, 0.17);
	transform: translateY(-50%) rotate(3deg);
	pointer-events: none;
}

.alp-news-hero__illustration svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.alp-news-hero__illustration-accent {
	fill: rgba(84, 137, 77, 0.06);
	stroke: rgba(84, 137, 77, 0.42);
}

.alp-news-hero__illustration-check {
	stroke: rgba(84, 137, 77, 0.62);
	stroke-width: 2.2;
}

.alp-news-hero__illustration-leaf {
	stroke: rgba(84, 137, 77, 0.38);
}
@media (min-width: 768px) and (max-width: 1024px) {

	.alp-news-hero__illustration {
		right: -42px;
		width: 170px;
		height: 155px;
		opacity: 0.55;
	}

}

@media (max-width: 767px) {

	.alp-news-hero__illustration {
		display: none;
	}

}
/* ==========================================================================
   ACCUEIL — HARMONISATION DES FONDS
   ========================================================================== */

/* Services : blanc */
.alp-services {
	background: #ffffff;
}

/* Pourquoi choisir : crème */
.alp-why {
	background: #f8f5ed;
}

/* À propos : blanc */
.alp-about-home {
	background: #ffffff;
}

/* Comment ça fonctionne : crème */
.alp-process {
	background: #f8f5ed;
}

/* Actualités & avis : blanc */
.alp-news-reviews {
	background: #ffffff;
}

/* CTA : on garde le vert existant */
/* ==========================================================================
   ACCUEIL — HARMONISATION DES CARTES
   ========================================================================== */

/* Cartes Services */
.alp-service-card {
	background: #ffffff;
}

/* Icônes Services */
.alp-service-card__icon {
	background: #f8f5ed;
}

/* Pourquoi choisir */
.alp-why__icon {
	background: #ffffff;
}

/* Actualités & Avis */
.alp-home-news-card,
.alp-home-review-card {
	background: #f8f5ed;
}
/* ==========================================================================
   PROFESSIONNELS — HARMONISATION DES FONDS
   ========================================================================== */

/* Bénéfices : blanc */
.alp-professionals .alp-pro-benefits {
	background: #ffffff;
}

/* Prestations : crème */
.alp-professionals .alp-pro-services {
	background: #f8f5ed;
}

/* Processus d'accompagnement : blanc */
.alp-professionals .alp-pro-process {
	background: #ffffff;
}

/* FAQ : crème */
.alp-professionals .alp-pro-faq {
	background: #f8f5ed;
}
/* ==========================================================================
   PROFESSIONNELS — HARMONISATION DES CARTES
   ========================================================================== */

/* Cartes bénéfices sur fond blanc */
.alp-professionals .alp-pro-benefit-card {
	background: #f8f5ed;
}

/* Cartes prestations sur fond crème */
.alp-professionals .alp-pro-service-card {
	background: #ffffff;
}

/* Note du processus sur fond blanc */
.alp-professionals .alp-pro-process__note {
	background: #fffdf9;
	border: 1px solid rgba(84, 137, 77, 0.18);
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(7, 50, 95, 0.035);
}

/* FAQ sur fond crème */
.alp-professionals .alp-pro-faq-item {
	background: #ffffff;
}
/* ==========================================================================
   PARTICULIERS — HARMONISATION DES FONDS
   ========================================================================== */

/* Bénéfices : blanc */
.alp-individuals-benefits {
	background: #ffffff;
}

/* Prestations : crème */
.alp-individuals-services {
	background: #f8f5ed;
}

/* Processus / accompagnement : blanc */
.alp-individuals-process {
	background: #ffffff;
}

/* FAQ : crème */
.alp-individuals-faq {
	background: #f8f5ed;
}
/* ==========================================================================
   PARTICULIERS — HARMONISATION DES CARTES
   ========================================================================== */

/* Cartes bénéfices sur fond blanc */
.alp-individuals-benefits .alp-pro-benefit-card {
	background: #f8f5ed;
}

/* Cartes prestations sur fond crème */
.alp-individuals-services .alp-pro-service-card {
	background: #ffffff;
}

/* Note / encart du processus sur fond blanc */
.alp-individuals-process .alp-pro-process__note {
	background: #fffdf9;
	border: 1px solid rgba(84, 137, 77, 0.18);
	box-shadow: 0 8px 24px rgba(7, 50, 95, 0.035);
}

/* FAQ sur fond crème */
.alp-individuals-faq .alp-pro-faq-item {
	background: #ffffff;
}
/* ==========================================================================
   PARTICULIERS — HARMONISATION DES FONDS
   ========================================================================== */

/* 1. BÉNÉFICES : fond blanc */
.alp-individuals-benefits {
	background: #ffffff;
}

/* Cartes crème */
.alp-individuals-benefits .alp-pro-benefit-card {
	background: #f8f5ed;
}


/* 2. PRESTATIONS : fond crème */
.alp-individuals-services {
	background: #f8f5ed;
}

/* Cartes blanches */
.alp-individuals-services .alp-pro-service-card {
	background: #ffffff;
}


/* 3. FAQ : fond crème */
.alp-individuals-faq {
	background: #f8f5ed;
}

/* Questions blanches */
.alp-individuals-faq .alp-pro-faq-item {
	background: #ffffff;
}
/* ==========================================================================
   PARTICULIERS — HARMONISATION SECTION PROCESSUS
   ========================================================================== */

/* Section processus : fond blanc */
.alp-individuals .alp-pro-process {
	background: #ffffff;
}

/* Encart de conclusion : blanc chaud */
.alp-individuals .alp-pro-process__note {
	background: #fffdf9;
	border: 1px solid rgba(84, 137, 77, 0.18);
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(7, 50, 95, 0.035);
}
/* ==========================================================================
   À PROPOS — HARMONISATION DES FONDS
   ========================================================================== */

/* 1. QUI SUIS-JE ? — blanc */
.alp-about .alp-about-intro {
	background: #ffffff;
}

/* Cartouche sur fond blanc : crème */
.alp-about .alp-about-intro__quote {
	background: #f8f5ed;
}


/* 2. MA FAÇON DE TRAVAILLER — crème */
.alp-about .alp-about-method {
	background: #f8f5ed;
}

/* Cartes blanches sur fond crème */
.alp-about .alp-about-method-card {
	background: #ffffff;
}


/* 3. CE QUI COMPTE DANS MON ACCOMPAGNEMENT — blanc */
.alp-about .alp-about-matters {
	background: #ffffff;
}

/* Cartes crème sur fond blanc */
.alp-about .alp-about-matters-card {
	background: #f8f5ed;
}


/* 4. UNE RELATION DE PROXIMITÉ — crème */
.alp-about .alp-about-proximity {
	background: #f8f5ed;
}

/* Panneau blanc sur fond crème */
.alp-about .alp-about-proximity__panel {
	background: #ffffff;
}

/* Cartes internes légèrement crème */
.alp-about .alp-about-proximity__place {
	background: #fbf8f1;
}


/* 5. CTA — fond de transition blanc */
.alp-about .alp-about-cta {
	background: #ffffff;
}
/* ==========================================================================
   ACTUALITÉS — HERO HARMONISÉ
   ========================================================================== */

.alp-news-hero {
	position: relative;
	overflow: hidden;
	background: #f8f5ed;
}

/* Quadrillage commun aux autres pages */
.alp-news-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(7, 50, 95, 0.022) 1px, transparent 1px),
		linear-gradient(90deg, rgba(7, 50, 95, 0.022) 1px, transparent 1px);
	background-size: 34px 34px;
	pointer-events: none;
}

.alp-news-hero__container {
	position: relative;
	z-index: 2;

	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
	align-items: center;
	gap: clamp(50px, 6vw, 100px);

	width: min(1320px, calc(100% - 80px));
	margin: 0 auto;
	padding: 32px 0 30px;
}


/* ==========================================================================
   TEXTE
   ========================================================================== */

.alp-news-hero__content {
	max-width: 650px;
}

.alp-news-hero__eyebrow,
.alp-news-hero__title,
.alp-news-hero__intro {
	text-align: left;
}

.alp-news-hero__title {
	margin-left: 0;
	margin-right: 0;
}

.alp-news-hero__signature {
	justify-content: flex-start;
	margin-left: 0;
	margin-right: 0;
}

.alp-news-hero__intro {
	max-width: 620px;
	margin-left: 0;
	margin-right: 0;
}


/* ==========================================================================
   ILLUSTRATION
   ========================================================================== */

.alp-news-hero__visual {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
}

.alp-news-hero__visual img {
	display: block;
	width: min(100%, 570px);
	height: auto;
	object-fit: contain;
}

/* ==========================================================================
   TABLETTE
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1100px) {

	.alp-news-hero__container {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr);
		gap: 34px;
		width: calc(100% - 64px);
		padding: 70px 0;
	}

	.alp-news-hero__visual img {
		max-width: 430px;
	}

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767px) {

	.alp-news-hero__container {
		display: flex;
		flex-direction: column;
		gap: 32px;
		width: calc(100% - 40px);
		padding: 52px 0 46px;
	}

	.alp-news-hero__content {
		width: 100%;
		max-width: none;
	}

	.alp-news-hero__eyebrow,
	.alp-news-hero__title,
	.alp-news-hero__intro {
		text-align: center;
	}

	.alp-news-hero__signature {
		justify-content: center;
		margin-left: auto;
		margin-right: auto;
	}

	.alp-news-hero__intro {
		margin-left: auto;
		margin-right: auto;
	}

	.alp-news-hero__visual {
		width: 100%;
	}

	.alp-news-hero__visual img {
		width: min(100%, 460px);
		margin: 0 auto;
	}

}
/* ==========================================================================
   CONTACT — HARMONISATION DES FONDS
   ========================================================================== */

/* HERO : crème + quadrillage */
.alp-contact-hero {
	position: relative;
	background: #f8f5ed;
}

.alp-contact-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(7, 50, 95, 0.022) 1px, transparent 1px),
		linear-gradient(90deg, rgba(7, 50, 95, 0.022) 1px, transparent 1px);
	background-size: 34px 34px;
	pointer-events: none;
}

.alp-contact-hero__container {
	position: relative;
	z-index: 2;
}


/* ZONE CONTACT PRINCIPALE : blanc */
.alp-contact-main {
	background: #ffffff;
}


/* CARTE COORDONNÉES : crème */
.alp-contact-details {
	background: #f8f5ed;
}


/* CARTE FORMULAIRE : blanc */
.alp-contact-form {
	background: #ffffff;
}


/* PETITES CARTES DE CONTACT : blanc */
.alp-contact-detail {
	background: #ffffff;
}


/* ENCADRÉ INTERVENTIONS : vert très doux */
.alp-contact-details__note {
	background: #eef2e7;
}


/* CHAMPS : blanc */
.alp-contact-field input,
.alp-contact-field select,
.alp-contact-field textarea {
	background: #ffffff;
}
/* ==========================================================================
   HEADER PHP — CORRECTIONS APRÈS DÉSACTIVATION UAE
   ========================================================================== */

.alp-header {
	background: #fff;
}

.alp-header__container {
	position: relative;
	z-index: 10;
}

.alp-header__menu,
.alp-header__menu a,
.alp-header__quote {
	font-family: "Lato", Arial, sans-serif;
}

/* Menu principal */
.alp-header__menu a {
	color: var(--alp-navy);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

/* Bouton devis */
.alp-header__quote {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 192px;
	height: 52px;
	padding: 0 22px;
	color: #fff !important;
	background: var(--alp-green);
	border: 1px solid var(--alp-green);
	border-radius: 6px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.15;
	text-decoration: none;
	overflow: hidden;
}

/* Flèche intégrée au bouton */
.alp-header__quote-arrow {
	display: inline-block;
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: 18px;
	line-height: 1;
}

/* Neutralise un éventuel ancien style hérité */
.alp-header__quote::before,
.alp-header__quote::after,
.alp-header__quote-arrow::before,
.alp-header__quote-arrow::after {
	content: none !important;
	display: none !important;
}
/* Cache le bouton menu mobile sur ordinateur */
@media (min-width: 1051px) {
	.alp-header__toggle {
		display: none !important;
	}
}
#demande-devis {
	scroll-margin-top: 110px;
}
/* ==========================================================================
   PARTICULIERS — HERO MÊME HAUTEUR VISUELLE QUE PROFESSIONNELS
   ========================================================================== */

@media (min-width: 1025px) {

	.alp-individuals .alp-signature-hero {
		padding-top: 34px;
		padding-bottom: 34px;
	}

	.alp-individuals .alp-signature-hero__breadcrumb {
		margin-bottom: 22px;
	}

	.alp-individuals .alp-signature-hero__text {
		margin-top: 18px;
	}

	.alp-individuals .alp-signature-hero__signature {
		margin-top: 18px;
		margin-bottom: 20px;
	}
}
/* ==========================================================================
   PAGE MENTIONS LÉGALES
   ========================================================================== */

.alp-legal-page {
	background: #ffffff;
}

.alp-legal-hero {
	position: relative;
	overflow: hidden;
	padding: 72px 24px 64px;
	background: var(--alp-cream);
	border-bottom: 1px solid rgba(7, 50, 95, 0.08);
}

.alp-legal-hero::before {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(
			rgba(7, 50, 95, 0.022) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(7, 50, 95, 0.022) 1px,
			transparent 1px
		);
	background-size: 34px 34px;
	content: "";
	pointer-events: none;
}

.alp-legal-hero__container {
	position: relative;
	z-index: 2;
	width: min(100%, 900px);
	margin-inline: auto;
	text-align: center;
}

.alp-legal-hero__eyebrow {
	margin: 0 0 14px;
	color: var(--alp-green);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.alp-legal-hero__title {
	margin: 0;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 5vw, 62px);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -0.03em;
}

.alp-legal-hero__intro {
	max-width: 700px;
	margin: 20px auto 0;
	color: #526a82;
	font-size: 15px;
	line-height: 1.7;
}

.alp-legal-content {
	padding: 72px 24px 90px;
	background: #ffffff;
}

.alp-legal-content__container {
	display: grid;
	gap: 18px;
	width: min(100%, 980px);
	margin-inline: auto;
}

.alp-legal-card {
	padding: 30px 32px;
	background: #ffffff;
	border: 1px solid rgba(7, 50, 95, 0.08);
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(7, 50, 95, 0.04);
}

.alp-legal-card h2 {
	margin: 0 0 18px;
	color: var(--alp-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 27px;
	font-weight: 400;
	line-height: 1.2;
}

.alp-legal-card h2::after {
	display: block;
	width: 42px;
	height: 2px;
	margin-top: 12px;
	background: var(--alp-green);
	content: "";
}

.alp-legal-card p {
	margin: 0;
	color: #52606e;
	font-size: 14px;
	line-height: 1.75;
}

.alp-legal-card p + p {
	margin-top: 16px;
}

.alp-legal-card strong {
	color: var(--alp-navy);
}

.alp-legal-card a {
	color: var(--alp-green-dark);
	font-weight: 700;
}

.alp-legal-card a:hover,
.alp-legal-card a:focus-visible {
	color: var(--alp-navy);
}

@media (max-width: 600px) {

	.alp-legal-hero {
		padding: 46px 16px 42px;
	}

	.alp-legal-hero__eyebrow {
		font-size: 10px;
	}

	.alp-legal-hero__title {
		font-size: clamp(34px, 10vw, 42px);
	}

	.alp-legal-hero__intro {
		font-size: 14px;
	}

	.alp-legal-content {
		padding: 42px 16px 54px;
	}

	.alp-legal-card {
		padding: 24px 20px;
		border-radius: 12px;
	}

	.alp-legal-card h2 {
		font-size: 24px;
	}

	.alp-legal-card p {
		font-size: 13px;
	}
}
/* ==============================================================
   BOUTON RETOUR EN HAUT
   ============================================================== */

.alp-back-to-top {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 999;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 48px;
	height: 48px;
	padding: 0;

	background: #548f4f;
	border: 1px solid #548f4f;
	border-radius: 10px;

	color: #ffffff;
	cursor: pointer;

	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);

	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);

	transition:
		opacity 0.25s ease,
		visibility 0.25s ease,
		transform 0.25s ease,
		background-color 0.2s ease,
		border-color 0.2s ease;
}

.alp-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.alp-back-to-top svg {
	width: 22px;
	height: 22px;

	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Survol ordinateur */
.alp-back-to-top:hover {
	background: #0b3b68;
	border-color: #0b3b68;
	transform: translateY(-3px);
}

/* Navigation clavier */
.alp-back-to-top:focus-visible {
	outline: 3px solid rgba(84, 143, 79, 0.3);
	outline-offset: 3px;
}

/* Mobile */
@media (max-width: 767px) {

	.alp-back-to-top {
		right: 16px;
		bottom: 16px;

		width: 44px;
		height: 44px;

		border-radius: 9px;
	}

	.alp-back-to-top svg {
		width: 20px;
		height: 20px;
	}
}
/* ==============================================================
   RETOUR EN HAUT
   ============================================================== */

body .alp-back-to-top {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 9999;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 42px;
	padding: 0;

	background-color: #548f4f !important;
	border: 1px solid #548f4f !important;
	border-radius: 8px;

	color: #ffffff !important;
	cursor: pointer;

	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);

	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);

	transition:
		opacity 0.25s ease,
		visibility 0.25s ease,
		transform 0.25s ease,
		background-color 0.2s ease;
}

body .alp-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

body .alp-back-to-top svg {
	display: block;
	width: 17px;
	height: 17px;

	fill: none !important;
	stroke: #ffffff !important;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body .alp-back-to-top:hover {
	background-color: #467a42 !important;
	border-color: #467a42 !important;
	transform: translateY(-2px);
}

body .alp-back-to-top:focus,
body .alp-back-to-top:focus-visible {
	background-color: #548f4f !important;
	border-color: #548f4f !important;
	color: #ffffff !important;
	outline: 2px solid rgba(84, 143, 79, 0.28);
	outline-offset: 3px;
}

@media (max-width: 767px) {
	body .alp-back-to-top {
		right: 15px;
		bottom: 15px;
		width: 42px;
		height: 42px;
	}
}
/* Nouveaux pictogrammes — Process */

.alp-process__icon img {
	display: block;
	width: 78px;
	height: 78px;
	object-fit: contain;
}
.alp-contact-consent a {
	color: var(--alp-green-dark);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.alp-contact-consent a:hover,
.alp-contact-consent a:focus-visible {
	color: var(--alp-navy);
}
/* Évite la coupure des coordonnées */
.toplevel_page_alp-contacts .widefat td:nth-child(3),
.toplevel_page_alp-contacts .widefat td:nth-child(4) {
	white-space: nowrap;
}

/* Donne un peu plus de place au tableau */
.toplevel_page_alp-contacts .wrap {
	max-width: 1400px;
}