
.nos-clients {
	background-color: #f5f5f5;
}

.nos-clients .contenu .h1,
.nos-clients .contenu ul li:before,
.nos-clients .contenu ul li span,
.nos-clients .contenu ul li a {
	color: #000;
}

.les-bonnes-actus {
	background-color: #f5f5f5;
}

:root {
	--bh-blue: #1e19b8;
	--bh-ink: #050505;
	--bh-paper: #f5f5f1;
	--bh-white: #ffffff;
	--bh-surface-dark: #0a0839;
	--bh-surface-muted-dark: #120f74;
	--bh-text-scale: 1;
	--bh-base-fs-desktop: calc(100vw * 14 / 1400);
	--bh-base-fs-mobile: calc(100vw * 14 / 640);
	--fs: calc(var(--bh-base-fs-desktop) * var(--bh-text-scale));
	--bh-design-width: min(100vw, 1400px);
	--bh-source-unit: calc(var(--bh-design-width) / 1400);
	--bh-frame: calc(1260 * var(--bh-source-unit));
	--bh-gutter: calc(70 * var(--bh-source-unit));
	--bh-title: raleway, "Helvetica Neue", Arial, sans-serif;
	--bh-text: raleway, "Helvetica Neue", Arial, sans-serif;
}

@media only screen and (max-width: 640px) {
	:root {
		--fs: calc(var(--bh-base-fs-mobile) * var(--bh-text-scale));
		--bh-design-width: 100vw;
		--bh-source-unit: calc(var(--bh-design-width) / 640);
		--bh-frame: calc(580 * var(--bh-source-unit));
		--bh-gutter: calc(30 * var(--bh-source-unit));
	}
}

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

html {
	scroll-behavior: smooth;
	/* Prevent iOS/WebKit's pull-to-refresh canvas from exposing content above the page. */
	overscroll-behavior-y: none;
}

body {
	margin: 0;
	overscroll-behavior-y: none;
	background: var(--bh-paper);
	color: var(--bh-ink);
	font-family: var(--bh-text);
	font-size: calc(16px * var(--bh-text-scale));
	line-height: 1.55;
}

/* Keep editorial bullet and numbered lists typographically aligned with surrounding copy. */
.sections-page .zone-texte > ul,
.sections-page .zone-texte > ol {
	font-family: inherit;
	font-size: calc(20 * var(--ratio));
	font-weight: 400;
	letter-spacing: calc(.5 * 14 / 20 * var(--ratio));
	line-height: calc(36 * 14 / 20 * var(--ratio));
}

.sections-page .zone-texte > ul > li,
.sections-page .zone-texte > ol > li {
	font: inherit;
	letter-spacing: inherit;
}

@media only screen and (max-width: 640px) {
	.sections-page .zone-texte > ul,
	.sections-page .zone-texte > ol {
		font-size: calc(24 * var(--ratio));
		letter-spacing: calc(.6 * 14 / 24 * var(--ratio));
		line-height: calc(36 * 14 / 24 * var(--ratio));
	}

	.sections-page .lightblue-bloc .zone-texte > ul,
	.sections-page .lightblue-bloc .zone-texte > ol {
		font-size: calc(20 * var(--ratio));
		letter-spacing: calc(.5 * 14 / 20 * var(--ratio));
		line-height: calc(36 * 14 / 20 * var(--ratio));
	}
}

html.bh-accessibility-dark {
	--bh-blue: #1E19B8;
	--bh-ink: #f5f5f1;
	--bh-paper: var(--bh-surface-dark);
	color-scheme: dark;
}

html.bh-accessibility-dark body,
html.bh-accessibility-dark .bh-main,
html.bh-accessibility-dark .layout,
html.bh-accessibility-dark .bh-page-head,
html.bh-accessibility-dark .bh-home-head,
html.bh-accessibility-dark .bh-site-foot__black,
html.bh-accessibility-dark .nos-clients,
html.bh-accessibility-dark .les-bonnes-actus {
	background-color: var(--bh-paper);
	color: var(--bh-ink);
}

html.bh-accessibility-dark .bh-site-foot__blue {
	background: var(--bh-blue);
}

html.bh-accessibility-dark body.actualites.multiple,
html.bh-accessibility-dark body.realisations.multiple {
	background-image: none;
}

html.bh-accessibility-dark .bh-site-foot__row--members {
	border-top-color: rgb(255 255 255 / 24%);
	border-bottom-color: rgb(255 255 255 / 24%);
}

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

a {
	color: inherit;
	text-decoration: none;
}

.bh-skip-link {
	position: absolute;
	left: var(--bh-gutter);
	top: 12px;
	z-index: 1000;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.bh-skip-link:focus {
	width: auto;
	height: auto;
	margin: 0;
	padding: 10px 14px;
	overflow: visible;
	clip: auto;
	clip-path: none;
	background: var(--bh-white);
	color: #050505;
}

.bh-site-head {
	position: relative;
	z-index: 50;
}

.bh-home-head {
	background: var(--bh-blue);
	color: var(--bh-white);
}

.bh-page-head {
	background: var(--bh-white);
	color: var(--bh-ink);
}

body.actualites.multiple,
body.realisations.multiple {
	background-color: var(--bh-paper);
	background-image: url("https://beehappy.enwebdev.com/wp-content/uploads/2026/07/background-paper-1-scaled.jpg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100% auto;
}

body.actualites.multiple .bh-page-head,
body.realisations.multiple .bh-page-head {
	background: transparent;
}

@media only screen and (max-width: 640px) {
	body.actualites.multiple,
	body.realisations.multiple {
		background-image: url("../images/background-paper-mobile-768.webp");
	}
}

.bh-site-head__inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0;
	width: min(calc(1200 * var(--bh-source-unit)), calc(100% - (var(--bh-gutter) * 2)));
	margin: 0 auto;
	padding: calc(39 * var(--bh-source-unit)) 0 0;
	position: relative;
}

.bh-home-head .bh-site-head__inner {
	justify-content: center;
}

.bh-page-head .bh-site-head__inner {
	width: min(calc(1200 * var(--bh-source-unit)), calc(100% - (var(--bh-gutter) * 2)));
}

.bh-brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}

.bh-brand__mark {
	width: auto;
}

.bh-page-head .bh-brand__mark {
	height: calc(51.34 * var(--bh-source-unit));
}

.bh-home-head .bh-brand {
	position: absolute;
	top: calc(100% + (76 * var(--bh-source-unit)));
	left: 50%;
	transform: translateX(-50%);
	color: var(--bh-white);
}

.bh-home-head .bh-brand__mark {
	width: calc(335.73 * var(--bh-source-unit));
	height: calc(63.31 * var(--bh-source-unit));
}

.bh-main-nav {
	margin: 0 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 0 0 auto;
	min-width: 0;
	font-family: var(--bh-text);
	font-weight: 400;
	text-transform: none;
}

.bh-home-head .bh-main-nav {
	flex: 0 1 auto;
	justify-content: space-between;
	width: auto;
	margin: 0;
}

.bh-main-nav__toggle {
	display: none;
	padding: 0;
	border: 0;
	background: inherit;
	color: inherit;
	cursor: pointer;
	font-size: 1em;
	text-transform: inherit;
	position: relative;
	z-index: 11;
	width: calc(69.27 * var(--bh-source-unit));
	height: calc(69.27 * var(--bh-source-unit));
	border-radius: calc(69.27 * var(--bh-source-unit));
}

.bh-main-nav__toggle span {
	position: absolute;
	overflow: hidden;
	opacity: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.bh-main-nav__toggle::before {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	background: center center / calc(40 * var(--bh-source-unit)) calc(28 * var(--bh-source-unit)) no-repeat url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2240px%22 height=%2228px%22 viewBox=%220 0 40 28%22%3E%3Cpath fill=%22%231E19B8%22 d=%22M2,4h36c1.1,0,2-0.9,2-2s-0.9-2-2-2H2C0.9,0,0,0.9,0,2S0.9,4,2,4z M38,12H2c-1.1,0-2,0.9-2,2s0.9,2,2,2h36 c1.1,0,2-0.9,2-2S39.1,12,38,12z M38,24H2c-1.1,0-2,0.9-2,2s0.9,2,2,2h36c1.1,0,2-0.9,2-2S39.1,24,38,24z%22/%3E%3C/svg%3E");
	transition: background-image 220ms ease;
}

.bh-home-head .bh-main-nav__toggle::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2240px%22 height=%2228px%22 viewBox=%220 0 40 28%22%3E%3Cpath fill=%22%23FFFFFF%22 d=%22M2,4h36c1.1,0,2-0.9,2-2s-0.9-2-2-2H2C0.9,0,0,0.9,0,2S0.9,4,2,4z M38,12H2c-1.1,0-2,0.9-2,2s0.9,2,2,2h36 c1.1,0,2-0.9,2-2S39.1,12,38,12z M38,24H2c-1.1,0-2,0.9-2,2s0.9,2,2,2h36c1.1,0,2-0.9,2-2S39.1,24,38,24z%22/%3E%3C/svg%3E");
}

.bh-main-nav.is-open .bh-main-nav__toggle::before,
.bh-main-nav.active .bh-main-nav__toggle::before {
	background-image: url("data:image/svg+xml,%3Csvg version=%221.1%22 xmlns=%22http://www.w3.org/2000/svg%22 width=%2231.1px%22 height=%2231.1px%22 viewBox=%220 0 31.1 31.1%22%3E%3Cpath fill=%22%23FFFFFF%22 d=%22M18.4,15.6L29.7,4.2c0.8-0.8,0.8-2,0-2.8c-0.8-0.8-2-0.8-2.8,0L15.6,12.7L4.2,1.4c-0.8-0.8-2-0.8-2.8,0 c-0.8,0.8-0.8,2,0,2.8l11.3,11.3L1.4,26.9c-0.8,0.8-0.8,2,0,2.8c0.8,0.8,2,0.8,2.8,0l11.3-11.3l11.3,11.3c0.8,0.8,0.8,2,0,2.8L18.4,15.6z%22/%3E%3C/svg%3E");
}

.bh-main-nav__list {
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	gap: 0;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media only screen and (min-width: 641px) {
	header div nav>ul,
	.bh-main-nav__list {
		padding-right: clamp(170px, 14vw, 210px);
	}
}

header div nav,
.bh-main-nav {
	position: relative;
}

.bh-accessibility-control,
.bh-accessibility__text-size,
.bh-accessibility__controls {
	padding: 0;
}

.bh-accessibility-control {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: auto;
	margin-left: 0;
	line-height: 0;
	transform: none;
	z-index: 20;
}

.bh-accessibility-control__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: calc(8 * var(--bh-source-unit));
	min-height: calc(52 * var(--bh-source-unit));
	padding: calc(10 * var(--bh-source-unit)) calc(18 * var(--bh-source-unit));
	border: 0;
	border-radius: calc(999 * var(--bh-source-unit));
	background: var(--bh-blue);
	color: var(--bh-white);
	font-family: var(--bh-text);
	font-size: calc(12.5 * var(--bh-source-unit));
	font-weight: 800;
	line-height: 1;
	letter-spacing: calc(1.2 * var(--bh-source-unit));
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
}

.bh-accessibility-control__chevron {
	font-size: calc(14 * var(--bh-source-unit));
	line-height: 1;
	transition: transform 180ms ease;
}

.bh-accessibility-control.is-open .bh-accessibility-control__chevron {
	transform: rotate(180deg);
}

.bh-accessibility-control__panel {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	width: clamp(320px, 24vw, 360px);
	max-width: calc(100vw - (var(--bh-gutter) * 2));
	padding: 16px;
	border-radius: 18px;
	background: var(--bh-blue);
	color: var(--bh-white);
	box-shadow: 0 14px 40px rgb(5 5 5 / 25%);
}

.bh-accessibility-control__panel[hidden] {
	display: none;
}

.bh-accessibility-control__panel .bh-accessibility__text-size {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
}

.bh-accessibility-control__panel .bh-accessibility__label,
.bh-accessibility-control__panel .bh-accessibility__status {
	margin: 0;
	font-size: 12px;
	line-height: 1.45;
	letter-spacing: 0;
}

.bh-accessibility-control__panel .bh-accessibility__controls {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
}

.bh-accessibility-control__panel .bh-accessibility__button {
	min-height: 40px;
	padding: 9px 14px;
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: 0.9px;
	white-space: nowrap;
}

.bh-accessibility-control__panel .bh-accessibility__button--small {
	min-width: 48px;
	padding-right: 14px;
	padding-left: 14px;
}

.bh-main-nav__link {
	position: relative;
	display: block;
	padding: 0;
	text-decoration: none;
	text-transform: uppercase;
	font-size: calc(16 * var(--bh-source-unit));
	font-weight: 800;
	line-height: calc(66 * var(--bh-source-unit));
	letter-spacing: calc(3.1 * var(--bh-source-unit));
}

header div nav>ul .nav-item + .nav-item,
.bh-main-nav__item + .bh-main-nav__item {
	margin-left: clamp(28px, 2.5vw, 42px);
}

.bh-main-nav__link::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: max(3px, calc(4 * var(--bh-source-unit)));
	background: currentColor;
	transition: width 220ms ease;
}

.bh-home-head .bh-main-nav__link::before {
	height: max(4px, calc(5 * var(--bh-source-unit)));
}

.bh-main-nav__link:hover::before,
.bh-main-nav__link:focus-visible::before,
.bh-main-nav__link[aria-current="page"]::before,
.current-menu-item > .bh-main-nav__link::before,
.current_page_item > .bh-main-nav__link::before {
	width: 100%;
}

header div nav>ul .nav-item,
.bh-main-nav__item {
	position: relative;
}

header div nav>ul .nav-item--has-children > a,
.bh-main-nav__item--has-children > .bh-main-nav__link {
	padding-right: calc(18 * var(--bh-source-unit));
}

header div nav>ul .nav-item--has-children > a::after,
.bh-main-nav__item--has-children > .bh-main-nav__link::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: calc(8 * var(--bh-source-unit));
	height: calc(8 * var(--bh-source-unit));
	border-right: max(1px, calc(2 * var(--bh-source-unit))) solid currentColor;
	border-bottom: max(1px, calc(2 * var(--bh-source-unit))) solid currentColor;
	transform: translateY(-65%) rotate(45deg);
	transform-origin: center;
}

header div nav>ul .nav-submenu,
.bh-main-nav__sublist {
	list-style: none;
	margin: 0;
	padding: calc(26 * var(--bh-source-unit)) calc(24 * var(--bh-source-unit)) calc(18 * var(--bh-source-unit));
	position: absolute;
	top: 100%;
	left: 50%;
	min-width: calc(270 * var(--bh-source-unit));
	background: var(--bh-white);
	border: 1px solid rgba(5, 5, 5, 0.12);
	box-shadow: 0 calc(18 * var(--bh-source-unit)) calc(50 * var(--bh-source-unit)) rgba(5, 5, 5, 0.12);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(-50%, calc(8 * var(--bh-source-unit)));
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
	z-index: 80;
}

header div nav>ul .nav-item:hover > .nav-submenu,
header div nav>ul .nav-item:focus-within > .nav-submenu,
.bh-main-nav__item:hover > .bh-main-nav__sublist,
.bh-main-nav__item:focus-within > .bh-main-nav__sublist {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-50%, 0);
}

header div nav>ul .nav-submenu .nav-item + .nav-item,
.bh-main-nav__sublist .bh-main-nav__item + .bh-main-nav__item {
	margin: calc(10 * var(--bh-source-unit)) 0 0;
}

header div nav>ul .nav-submenu .nav-item a,
.bh-main-nav__sublist .bh-main-nav__link {
	font-size: calc(12 * var(--bh-source-unit));
	line-height: 1.35;
	letter-spacing: calc(2.2 * var(--bh-source-unit));
	color: var(--bh-blue);
	white-space: nowrap;
}

header div nav>ul .nav-submenu .nav-item a::before,
.bh-main-nav__sublist .bh-main-nav__link::before {
	content: none;
}

header div nav>ul .nav-submenu .nav-item--has-children > a::after,
.bh-main-nav__sublist .bh-main-nav__item--has-children > .bh-main-nav__link::after {
	right: calc(-2 * var(--bh-source-unit));
}

header div nav>ul .nav-submenu .nav-submenu,
.bh-main-nav__sublist .bh-main-nav__sublist {
	top: calc(-18 * var(--bh-source-unit));
	left: calc(100% + (24 * var(--bh-source-unit)));
	transform: translate(0, calc(8 * var(--bh-source-unit)));
}

header div nav>ul .nav-submenu .nav-item:hover > .nav-submenu,
header div nav>ul .nav-submenu .nav-item:focus-within > .nav-submenu,
.bh-main-nav__sublist .bh-main-nav__item:hover > .bh-main-nav__sublist,
.bh-main-nav__sublist .bh-main-nav__item:focus-within > .bh-main-nav__sublist {
	transform: translate(0, 0);
}

@media only screen and (max-width: 640px) {
	header div nav>ul .nav-item,
	.bh-main-nav__item {
		text-align: center;
	}

	header div nav>ul .nav-item--has-children > a,
	.bh-main-nav__item--has-children > .bh-main-nav__link {
		padding-right: 0;
	}

	header div nav>ul .nav-item--has-children > a::after,
	.bh-main-nav__item--has-children > .bh-main-nav__link::after {
		right: calc(-24 * var(--bh-source-unit));
	}

	header div nav>ul .nav-submenu,
	.bh-main-nav__sublist,
	header div nav>ul .nav-submenu .nav-submenu,
	.bh-main-nav__sublist .bh-main-nav__sublist {
		position: static;
		left: auto;
		top: auto;
		min-width: 0;
		margin-top: calc(18 * var(--bh-source-unit));
		padding: calc(18 * var(--bh-source-unit)) 0 0;
		background: transparent;
		border: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
	}

	header div nav>ul .nav-submenu .nav-item a,
	.bh-main-nav__sublist .bh-main-nav__link {
		font-size: calc(18 * var(--bh-source-unit));
		line-height: 1.4;
		letter-spacing: calc(3 * var(--bh-source-unit));
		color: var(--bh-white);
		white-space: normal;
	}
}

.bh-main {
	min-height: 40vh;
}

.bh-main--home {
	background: var(--bh-paper);
	color: var(--bh-ink);
}

.bh-page-title,
.bh-page-wrap {
	width: min(var(--bh-frame), calc(100% - (var(--bh-gutter) * 2)));
	margin-inline: auto;
}

.bh-page-title {
	margin-block: clamp(42px, 8vw, 92px) 18px;
	font-family: var(--bh-title);
	font-size: clamp(44px, 8vw, 112px);
	font-weight: 900;
	line-height: 0.92;
	text-transform: uppercase;
}

.bh-page-wrap {
	padding-block: clamp(32px, 6vw, 80px);
}

.bh-site-foot {
	margin: calc(120 * var(--bh-source-unit)) 0 0;
	color: var(--bh-white);
}

.bh-site-foot__blue {
	background: var(--bh-blue);
}

.bh-site-foot__black {
	background: var(--bh-ink);
}

.bh-site-foot__row {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	width: min(calc(1200 * var(--bh-source-unit)), 100%);
	max-width: 100%;
	margin: 0 auto;
}

.bh-site-foot__row--logo {
	padding: calc(47 * var(--bh-source-unit)) 0 calc(68 * var(--bh-source-unit));
}

.bh-site-foot__logo {
	width: calc(308.11 * var(--bh-source-unit));
	height: auto;
}

.bh-site-foot__row--blue {
	justify-content: flex-start;
	padding: 0 0 calc(60 * var(--bh-source-unit));
}

.bh-site-foot__row--accessibility-shell {
	padding: 0 0 calc(60 * var(--bh-source-unit));
}

.bh-site-foot__column--accessibility {
	max-width: min(calc(520 * var(--bh-source-unit)), 100%);
}

.bh-site-foot__column + .bh-site-foot__column {
	margin-left: calc(72 * var(--bh-source-unit));
}

.bh-site-foot__title {
	margin: 0 0 calc(23 * var(--bh-source-unit));
	font-family: var(--bh-text);
	font-weight: 800;
	font-size: calc(20 * var(--bh-source-unit));
	line-height: calc(24 * var(--bh-source-unit));
	letter-spacing: calc(4 * var(--bh-source-unit));
	text-transform: uppercase;
}

.bh-site-foot__paragraph .bh-site-foot__title {
	margin: 0;
}

.bh-site-foot__items {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.bh-site-foot__link {
	font-size: calc(20 * var(--bh-source-unit));
	line-height: calc(30 * var(--bh-source-unit));
	letter-spacing: calc(0.5 * var(--bh-source-unit));
}

.bh-site-foot__items .bh-site-foot__link:last-child {
	font-weight: 700;
}

.bh-site-foot__paragraph {
	font-size: calc(20 * var(--bh-source-unit));
	line-height: calc(30 * var(--bh-source-unit));
	letter-spacing: calc(0.5 * var(--bh-source-unit));
}

.bh-site-foot__paragraph p {
	margin: 0;
}

.bh-site-foot__address + .bh-site-foot__title {
	margin-top: calc(30 * var(--bh-source-unit));
}

@media only screen and (max-width: 640px) {
	.bh-site-foot__address + .bh-site-foot__title {
		margin-top: calc(34 * var(--bh-source-unit));
	}
}

.bh-site-foot__items--social {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}

.bh-site-foot__items--accessibility {
	gap: calc(18 * var(--bh-source-unit));
}

.bh-accessibility__text-size {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: calc(14 * var(--bh-source-unit));
}

.bh-accessibility__label,
.bh-accessibility__status {
	margin: 0;
	font-size: calc(18 * var(--bh-source-unit));
	line-height: calc(26 * var(--bh-source-unit));
	letter-spacing: calc(0.5 * var(--bh-source-unit));
}

.bh-accessibility__controls {
	display: flex;
	flex-wrap: wrap;
	gap: calc(12 * var(--bh-source-unit));
}

.bh-accessibility__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: calc(48 * var(--bh-source-unit));
	padding: calc(12 * var(--bh-source-unit)) calc(20 * var(--bh-source-unit));
	border: 1px solid currentColor;
	border-radius: calc(999 * var(--bh-source-unit));
	background: transparent;
	color: inherit;
	font-family: var(--bh-text);
	font-size: calc(16 * var(--bh-source-unit));
	font-weight: 700;
	line-height: calc(20 * var(--bh-source-unit));
	letter-spacing: calc(1.2 * var(--bh-source-unit));
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 180ms ease, color 180ms ease, opacity 180ms ease;
}

.bh-accessibility__button--small {
	min-width: calc(58 * var(--bh-source-unit));
	padding-right: calc(16 * var(--bh-source-unit));
	padding-left: calc(16 * var(--bh-source-unit));
}

.bh-accessibility__button:hover,
.bh-accessibility__button:focus-visible,
.bh-accessibility__button.is-active {
	background: var(--bh-white);
	color: var(--bh-blue);
}

html.bh-accessibility-dark .bh-accessibility__button:hover,
html.bh-accessibility-dark .bh-accessibility__button:focus-visible,
html.bh-accessibility-dark .bh-accessibility__button.is-active {
	background: var(--bh-white);
	color: var(--bh-surface-dark);
}

.bh-accessibility__button:focus-visible {
	outline: 2px solid var(--bh-white);
	outline-offset: 2px;
}

.bh-accessibility__button:disabled {
	opacity: 0.45;
	cursor: default;
}

.bh-site-foot__social-item + .bh-site-foot__social-item {
	margin-left: calc(20 * var(--bh-source-unit));
}

.bh-site-foot__social-item a {
	display: block;
	width: calc(62 * var(--bh-source-unit));
	height: calc(62 * var(--bh-source-unit));
}

.bh-site-foot__social-item svg,
.bh-site-foot__social-item img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.bh-site-foot__social-item svg path {
	transition: fill 0.3s;
}

.bh-site-foot__social-item a:hover svg path,
.bh-site-foot__social-item a:focus-visible svg path {
	fill: rgb(255 255 255 / 80%);
}

.bh-site-foot__social-item a:hover img,
.bh-site-foot__social-item a:focus-visible img {
	opacity: 0.8;
}

.bh-site-foot__row--group {
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: calc(50 * var(--bh-source-unit)) 0 calc(34 * var(--bh-source-unit)) 0;
}

.bh-site-foot__group-title {
	margin: 0 0 calc(17 * var(--bh-source-unit));
	font-weight: 500;
	font-size: calc(20 * var(--bh-source-unit));
	line-height: calc(30 * var(--bh-source-unit));
	letter-spacing: calc(0.5 * var(--bh-source-unit));
	text-transform: uppercase;
}

.bh-site-foot__group-link,
.bh-site-foot__row--members a {
	display: block;
	text-decoration: none;
	transition: transform 0.3s;
	text-align: center;
}

.bh-site-foot__group-link:hover,
.bh-site-foot__group-link:focus-visible,
.bh-site-foot__row--members a:hover,
.bh-site-foot__row--members a:focus-visible {
	transform: scale(1.1);
}

.bh-site-foot__group-link img {
	height: calc(81.59 * var(--bh-source-unit));
	width: auto;
}

.bh-site-foot__row--members {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: calc(43 * var(--bh-source-unit)) 0 calc(54 * var(--bh-source-unit)) 0;
	border-top: 1px solid rgb(112 112 112 / 70%);
	border-bottom: 1px solid rgb(112 112 112 / 70%);
}

.bh-site-foot__row--members img {
	height: calc(29 * var(--bh-source-unit));
	width: auto;
}

.bh-site-foot__row--buttons {
	align-items: center;
	justify-content: center;
	padding: calc(79 * var(--bh-source-unit)) 0 calc(70 * var(--bh-source-unit));
}

.bh-site-foot__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: calc(58 * var(--bh-source-unit));
	padding: calc(15 * var(--bh-source-unit)) calc(32 * var(--bh-source-unit));
	border: 1px solid var(--bh-white);
	border-radius: calc(35 * var(--bh-source-unit));
	font-size: calc(20 * var(--bh-source-unit));
	line-height: calc(24 * var(--bh-source-unit));
	letter-spacing: calc(4 * var(--bh-source-unit));
	font-weight: 800;
	text-transform: uppercase;
	transition: background-color 180ms ease, color 180ms ease;
}

.bh-site-foot__button:hover,
.bh-site-foot__button:focus-visible {
	background: var(--bh-white);
	color: var(--bh-ink);
}

.bh-site-foot__row--mentions {
	justify-content: center;
	padding: 0 0 calc(57 * var(--bh-source-unit));
	font-size: calc(15 * var(--bh-source-unit));
	line-height: 1.4;
	letter-spacing: 0;
}

.bh-site-foot__row--mentions p {
	margin-block: 0;
}

.bh-site-foot__row--mentions > * + * {
	margin-left: 0.8em;
	padding-left: 0;
	position: relative;
}

.bh-site-foot__row--mentions > * + *::before {
	content: '-';
	position: static;
	display: inline-block;
	margin-right: 0.8em;
}

.bh-site-foot__row--mentions a {
	position: relative;
}

.bh-site-foot__row--mentions a::after {
	content: '';
	display: block;
	position: absolute;
	bottom: -0.3em;
	height: 1px;
	left: 0;
	width: 0;
	background-color: var(--bh-white);
	transition: width 0.3s;
}

.bh-site-foot__row--mentions a:hover::after,
.bh-site-foot__row--mentions a:focus-visible::after {
	width: 100%;
}

@media (max-width: 640px) {
	.bh-site-head__inner {
		align-items: flex-end;
		width: 100%;
		max-width: 100%;
		padding: calc(39 * var(--bh-source-unit)) calc(30 * var(--bh-source-unit)) 0;
	}

	.bh-page-head .bh-brand__mark {
		height: calc(52.96 * var(--bh-source-unit));
	}

	.bh-main-nav__toggle {
		display: block;
	}

	.bh-main-nav {
		position: absolute;
		top: 0;
		right: 0;
		margin: 0;
		padding: calc(43 * var(--bh-source-unit)) calc(30 * var(--bh-source-unit)) 0;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
	}

	.bh-accessibility-control {
		position: static;
		margin: 0 0 calc(18 * var(--bh-source-unit));
		line-height: 0;
		transform: none;
		align-self: flex-end;
	}

	.bh-accessibility-control__toggle {
		min-height: calc(58 * var(--bh-source-unit));
		padding: calc(14 * var(--bh-source-unit)) calc(20 * var(--bh-source-unit));
		font-size: calc(18 * var(--bh-source-unit));
	}

	.bh-accessibility-control__panel {
		position: absolute;
		right: 0;
		width: min(360px, calc(100vw - (60 * var(--bh-source-unit))));
	}


	.bh-main-nav__list {
		position: fixed;
		top: -100vh;
		left: 0;
		right: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: 100vw;
		height: 100vh;
		padding: 0;
		background: var(--bh-blue);
		color: var(--bh-white);
		transition: top 0.5s ease;
		box-shadow: none;
	}

	.bh-main-nav.is-open,
	.bh-main-nav.active {
		position: fixed;
	}

	.bh-main-nav.is-open .bh-main-nav__list,
	.bh-main-nav.active .bh-main-nav__list {
		top: 0;
	}

	.bh-main-nav__item {
		margin: 0;
	}

	.bh-main-nav__item + .bh-main-nav__item {
		margin-top: calc(167 * var(--bh-source-unit));
		margin-left: 0;
	}

	.bh-main-nav__link {
		color: var(--bh-white);
		font-size: calc(36 * var(--bh-source-unit));
		line-height: calc(42 * var(--bh-source-unit));
		letter-spacing: calc(7.2 * var(--bh-source-unit));
	}

	.bh-main-nav__link::before {
		content: none;
	}

	.bh-home-head .bh-site-head__inner {
		justify-content: flex-end;
	}

	.bh-home-head .bh-brand {
		top: calc(100% + (80 * var(--bh-source-unit)));
	}

	.bh-site-foot__row {
		width: 100%;
		flex-direction: column;
		padding: 0 calc(30 * var(--bh-source-unit)) 0;
	}

	.bh-site-foot__row--logo {
		padding: calc(50 * var(--bh-source-unit)) calc(30 * var(--bh-source-unit)) calc(68 * var(--bh-source-unit));
	}

	.bh-site-foot__row--blue {
		padding: 0 calc(30 * var(--bh-source-unit)) calc(60 * var(--bh-source-unit));
	}

	/* Mobile footer: centered content with text scaled up by 30%. */
	.bh-site-foot__row--logo,
	.bh-site-foot__row--blue,
	.bh-site-foot__row--blue > .bh-site-foot__column,
	.bh-site-foot__items {
		align-items: center;
	}

	.bh-site-foot__row--blue,
	.bh-site-foot__row--blue > .bh-site-foot__column,
	.bh-site-foot__title,
	.bh-site-foot__link,
	.bh-site-foot__paragraph {
		text-align: center;
	}

	.bh-site-foot__row--blue > .bh-site-foot__column {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	.bh-site-foot__title,
	.bh-site-foot__link {
		font-size: calc(26 * var(--bh-source-unit));
	}

	.bh-site-foot__title {
		line-height: calc(31.2 * var(--bh-source-unit));
		letter-spacing: calc(5.2 * var(--bh-source-unit));
	}

	.bh-site-foot__link {
		line-height: calc(39 * var(--bh-source-unit));
		letter-spacing: calc(0.65 * var(--bh-source-unit));
	}

	.bh-site-foot__items--social {
		justify-content: center;
	}

	.bh-site-foot__row--accessibility-shell {
		padding: 0 calc(30 * var(--bh-source-unit)) calc(60 * var(--bh-source-unit));
	}

	.bh-site-foot__column + .bh-site-foot__column {
		margin: calc(88 * var(--bh-source-unit)) 0 0;
	}

	.bh-site-foot__paragraph {
		font-size: calc(31.2 * var(--bh-source-unit));
		line-height: calc(44.2 * var(--bh-source-unit));
		letter-spacing: calc(0.455 * var(--bh-source-unit));
	}

	.bh-site-foot__items--social {
		margin: calc(50 * var(--bh-source-unit)) 0 0;
	}

	.bh-site-foot__items--accessibility {
		gap: calc(20 * var(--bh-source-unit));
	}

	.bh-accessibility__label,
	.bh-accessibility__status {
		font-size: calc(22 * var(--bh-source-unit));
		line-height: calc(30 * var(--bh-source-unit));
	}

	.bh-accessibility__controls {
		gap: calc(16 * var(--bh-source-unit));
	}

	.bh-accessibility__button {
		min-height: calc(64 * var(--bh-source-unit));
		font-size: calc(20 * var(--bh-source-unit));
		line-height: calc(24 * var(--bh-source-unit));
	}

	.bh-site-foot__social-item a {
		width: calc(87 * var(--bh-source-unit));
		height: calc(87 * var(--bh-source-unit));
	}

	.bh-site-foot__social-item + .bh-site-foot__social-item {
		margin-left: calc(30 * var(--bh-source-unit));
	}

	.bh-site-foot__row--group {
		padding: calc(70 * var(--bh-source-unit)) calc(30 * var(--bh-source-unit)) calc(60 * var(--bh-source-unit));
	}

	.bh-site-foot__row--members {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		margin: 0 calc(30 * var(--bh-source-unit));
		width: calc(100% - (60 * var(--bh-source-unit)));
		padding: calc(20 * var(--bh-source-unit)) 0 calc(20 * var(--bh-source-unit)) 0;
	}

	.bh-site-foot__row--members img {
		margin: calc(30 * var(--bh-source-unit)) auto;
	}

	.bh-site-foot__row--mentions {
		flex-direction: row;
		padding: 0 0 calc(68 * var(--bh-source-unit));
	}

	.bh-site-foot__row--mentions > * {
		font-weight: 500;
		font-size: calc(18 * var(--bh-source-unit));
		line-height: calc(30 * var(--bh-source-unit));
		letter-spacing: calc(0.45 * var(--bh-source-unit));
	}
}

@media (max-width: 520px) {
	.bh-site-head__inner {
		gap: 18px;
	}
}

.bh-main--fullbleed .bh-page-wrap--full {
	width: 100%;
	padding: 0;
}

.bh-flex-page .sections-page {
	padding-bottom: 0;
}

.bh-inline-visual {
	margin-top: 32px;
}

.bh-inline-visual img {
	max-width: 100%;
	height: auto;
}

.bh-inline-visual--center {
	display: flex;
	justify-content: center;
	margin-top: 48px;
}

.bh-section-cta {
	display: flex;
	justify-content: center;
	margin-top: 48px;
}

.bh-tags,
.bh-filter-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.bh-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border: 1px solid currentColor;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.bh-news-grid .boite {
	justify-content: space-between;
}

.bh-news-meta {
	display: flex;
	gap: 14px;
	margin-bottom: 14px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bh-links-cloud .zone-texte p {
	margin: 0 0 14px;
}

.bh-masterhead-illustrated {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 760px) minmax(0, 1fr);
	align-items: center;
	gap: 24px;
}

.bh-masterhead-illustrated__content {
	text-align: center;
}

.bh-masterhead-illustrated__media img {
	width: 100%;
	max-width: 280px;
	margin: 0 auto;
}

.bh-realisation-archive-hero .content {
	align-items: center;
}

@media (max-width: 900px) {
	.bh-masterhead-illustrated {
		grid-template-columns: 1fr;
	}

	.bh-masterhead-illustrated__media {
		order: 2;
	}

	.bh-masterhead-illustrated__content {
		order: 1;
	}
}

.bh-flex-page--legal > #masterhead {
	max-width: calc(980 * var(--ratio));
	margin: 0 auto;
	padding: calc(32 * var(--ratio)) calc(24 * var(--ratio)) calc(104 * var(--ratio));
	text-align: center;
}

.bh-flex-page--legal > #masterhead.bh-masterhead-illustrated {
	display: block;
}

.bh-flex-page--legal > #masterhead .bh-masterhead-illustrated__media {
	display: none;
}

.bh-flex-page--legal > #masterhead h1 {
	display: block;
	margin: 0 auto calc(35 * 14 / 80 * var(--ratio));
	color: #1E19B8;
	font-family: "PencilPete";
	font-weight: normal;
	font-size: calc(80 * var(--ratio));
	line-height: calc(70 * 14 / 80 * var(--ratio));
	letter-spacing: calc(2 * 14 / 80 * var(--ratio));
	text-transform: none;
}

.bh-flex-page--legal > #masterhead .description {
	max-width: calc(700 * var(--ratio));
	margin: 0 auto;
	color: #1E19B8;
	font-size: calc(20 * var(--ratio));
	line-height: calc(32 * 14 / 20 * var(--ratio));
	letter-spacing: calc(.5 * 14 / 20 * var(--ratio));
}

.bh-flex-page--legal > .sections-page {
	max-width: calc(980 * var(--ratio));
	margin: 0 auto;
	padding: 0 calc(24 * var(--ratio)) calc(112 * var(--ratio));
}

.bh-flex-page--legal .juste-un-texte {
	padding: 0;
}

.bh-flex-page--legal .juste-un-texte .contenu,
.bh-flex-page--legal .juste-un-texte .zone-texte {
	width: 100%;
	max-width: none;
}

.bh-flex-page--legal .juste-un-texte .zone-texte {
	color: #1E19B8;
	font-size: calc(18 * var(--ratio));
	line-height: calc(32 * 14 / 18 * var(--ratio));
}

.bh-flex-page--legal .juste-un-texte .zone-texte > * {
	margin-top: 0;
	margin-bottom: calc(18 * var(--ratio));
}

.bh-flex-page--legal .juste-un-texte h3.h2 {
	margin: calc(52 * var(--ratio)) 0 calc(18 * var(--ratio));
	color: #1E19B8;
	font-family: var(--bh-text);
	font-size: calc(28 * var(--ratio));
	line-height: calc(34 * 14 / 28 * var(--ratio));
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bh-flex-page--legal .juste-un-texte h3.h2:first-child {
	margin-top: 0;
}

.bh-flex-page--legal .juste-un-texte p {
	text-align: left;
}

@media (max-width: 900px) {
	.bh-flex-page--legal > #masterhead {
		padding: calc(20 * var(--ratio)) calc(16 * var(--ratio)) calc(64 * var(--ratio));
	}

	.bh-flex-page--legal > #masterhead h1 {
		font-size: calc(58 * var(--ratio));
		line-height: calc(56 * 14 / 58 * var(--ratio));
	}

	.bh-flex-page--legal > #masterhead .description,
	.bh-flex-page--legal .juste-un-texte .zone-texte {
		font-size: calc(16 * var(--ratio));
		line-height: calc(28 * 14 / 16 * var(--ratio));
	}

	.bh-flex-page--legal .juste-un-texte h3.h2 {
		font-size: calc(24 * var(--ratio));
		line-height: calc(30 * 14 / 24 * var(--ratio));
	}

	.bh-flex-page--legal > .sections-page {
		padding: 0 calc(16 * var(--ratio)) calc(80 * var(--ratio));
	}
}

.bh-page-head {
	background: var(--bh-paper);
}

.bh-page-head .bh-site-head__inner {
	justify-content: flex-start;
}

.bh-page-head .bh-main-nav {
	margin-left: 0;
}

.bh-page-head .bh-main-nav__link,
header div nav > ul .nav-item a {
	font-size: calc(16 * var(--bh-source-unit));
	line-height: calc(66 * var(--bh-source-unit));
	letter-spacing: calc(3.1 * var(--bh-source-unit));
}

.bh-page-head .bh-main-nav__item + .bh-main-nav__item,
header div nav > ul .nav-item + .nav-item {
	margin-left: calc(82 * var(--bh-source-unit));
}

body.demarche.single .bh-page-wrap--full > .bh-flex-page > #masterhead,
body.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead {
	padding: calc(10 * var(--ratio)) 0 calc(128 * var(--ratio));
	text-align: center;
}

body.demarche.single .bh-page-wrap--full > .bh-flex-page > #masterhead > *:not(.bg),
body.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead > *:not(.bg) {
	position: relative;
	z-index: 1;
}

body.demarche.single .bh-page-wrap--full > .bh-flex-page > #masterhead h1,
body.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead h1 {
	display: inline-block;
	color: #1E19B8;
	font-family: "PencilPete";
	font-weight: normal;
	font-size: calc(80 * var(--ratio));
	line-height: calc(70 * 14 / 80 * var(--ratio));
	letter-spacing: calc(2 * 14 / 80 * var(--ratio));
	margin: 0 auto calc(35 * 14 / 80 * var(--ratio));
	max-width: 100%;
	text-transform: none;
}

body.demarche.single .bh-page-wrap--full > .bh-flex-page > #masterhead .description,
body.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead .description {
	display: block;
	margin: 0 auto;
	color: #1E19B8;
	font-size: calc(20 * var(--ratio));
	line-height: calc(32 * 14 / 20 * var(--ratio));
	letter-spacing: calc(.5 * 14 / 20 * var(--ratio));
	width: calc(668 * 14 / 20 * var(--ratio));
	max-width: 100%;
	padding: 0;
	text-align: center;
}

body.demarche.single .bh-page-wrap--full > .bh-flex-page > #masterhead .image,
body.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead .image {
	margin: 0 auto;
}

body.demarche.single .bh-page-wrap--full > .bh-flex-page > #masterhead .bg,
body.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead .bg {
	z-index: 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

body.demarche.single .bh-page-wrap--full > .bh-flex-page > #masterhead .bg img,
body.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead .bg img {
	width: 100%;
	height: auto;
}

body.realisations.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead {
	padding: calc(10 * var(--ratio)) 0 0;
}

body.realisations.multiple .bh-page-wrap--full > .bh-flex-page > .sections-page .nos-realisations .contenu {
	margin-top: calc(50 * var(--ratio));
}

body.realisations.multiple .bh-page-wrap--full > .bh-flex-page > .sections-page .nos-realisations .contenu .trois-boites {
	margin-top: 0;
}

body.actualites.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead .image {
	width: calc(353.78 * var(--ratio));
	height: calc(270.12 * var(--ratio));
}

body.actualites.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead .image img {
	width: 100%;
	height: auto;
}

body.realisations.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead .image img,
.bh-realisation-archive-hero__visual img {
	width: calc(606.2 * var(--ratio));
	max-width: 100%;
	height: auto;
}

@media only screen and (max-width: 640px) {
	body.demarche.single .bh-page-wrap--full > .bh-flex-page > #masterhead,
	body.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead {
		padding: calc(130 * var(--ratio)) 0 calc(112 * var(--ratio));
	}

	body.demarche.single .bh-page-wrap--full > .bh-flex-page > #masterhead h1,
	body.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead h1 {
		font-size: calc(80 * var(--ratio));
		line-height: calc(90 * 14 / 80 * var(--ratio));
		letter-spacing: calc(2 * 14 / 80 * var(--ratio));
		margin: 0 auto calc(50 * 14 / 60 * var(--ratio));
	}

	body.demarche.single .bh-page-wrap--full > .bh-flex-page > #masterhead .description,
	body.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead .description {
		font-size: calc(24 * var(--ratio));
		line-height: calc(36 * 14 / 24 * var(--ratio));
		letter-spacing: calc(.6 * 14 / 24 * var(--ratio));
		width: inherit;
		padding: 0 calc(20 * var(--ratio));
	}

	body.demarche.single .bh-page-wrap--full > .bh-flex-page > #masterhead .description br,
	body.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead .description br {
		display: none;
	}

	body.realisations.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead {
		padding: calc(130 * var(--ratio)) 0 0;
	}

	body.actualites.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead h1 {
		width: calc(330 * 14 / 60 * var(--ratio));
	}
}

.filters-buttons {
	width: calc(1200 * var(--ratio));
	max-width: 100%;
	margin: calc(55 * var(--ratio)) auto 0;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
}

@media only screen and (max-width: 640px) {
	.filters-buttons {
		width: calc(580 * var(--ratio));
	}
}

.filters-buttons .cta {
	display: block;
	margin: 0;
}

.filters-buttons .cta + .cta {
	margin: 0 0 0 calc(10 * var(--ratio));
}

.filters-buttons .cta.all.active {
	background-color: #1E19B8;
	color: #ffffff;
}

.filters-buttons .cta.filter {
	position: relative;
	width: calc(350 * var(--ratio));
	text-align: left;
	cursor: pointer;
	user-select: none;
}

.filters-buttons .cta.filter::before {
	content: "";
	position: absolute;
	right: calc(20 * 14 / 15 * var(--ratio));
	top: calc(23.2 * 14 / 15 * var(--ratio));
	width: calc(19.7 * 14 / 15 * var(--ratio));
	height: calc(11.6 * 14 / 15 * var(--ratio));
	background-color: #1E19B8;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg version=%221.1%22 xmlns=%22http://www.w3.org/2000/svg%22 width=%2219.7px%22 height=%2211.6px%22 viewBox=%220 0 19.7 11.6%22%3E%3Cpath d=%22M10.6,11.3l8.8-8.8c0.4-0.4,0.4-1.1,0-1.5l-0.6-0.6c-0.4-0.4-1.1-0.4-1.5,0L9.9,7.7L2.5,0.3 C2.1-0.1,1.4-0.1,1,0.3L0.3,1c-0.4,0.4-0.4,1.1,0,1.5l8.8,8.8C9.5,11.7,10.2,11.7,10.6,11.3z%22/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg version=%221.1%22 xmlns=%22http://www.w3.org/2000/svg%22 width=%2219.7px%22 height=%2211.6px%22 viewBox=%220 0 19.7 11.6%22%3E%3Cpath d=%22M10.6,11.3l8.8-8.8c0.4-0.4,0.4-1.1,0-1.5l-0.6-0.6c-0.4-0.4-1.1-0.4-1.5,0L9.9,7.7L2.5,0.3 C2.1-0.1,1.4-0.1,1,0.3L0.3,1c-0.4,0.4-0.4,1.1,0,1.5l8.8,8.8C9.5,11.7,10.2,11.7,10.6,11.3z%22/%3E%3C/svg%3E");
	-webkit-mask-size: auto calc(11.6 * 14 / 15 * var(--ratio));
	mask-size: auto calc(11.6 * 14 / 15 * var(--ratio));
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center center;
	mask-position: center center;
	transition: background-color 0.3s, transform 0.3s;
	transform-origin: center center;
}

.filters-buttons .cta.filter:hover,
.filters-buttons .cta.filter.active {
	background-color: #1E19B8;
	color: #ffffff;
}

.filters-buttons .cta.filter:hover::before,
.filters-buttons .cta.filter.active::before {
	background-color: #ffffff;
}

.filters-buttons .cta.filter.active::before {
	transform: rotate(180deg);
}

.filters {
	width: calc(1200 * var(--ratio));
	max-width: 100%;
	background-color: #ececf9;
	margin: 2em auto 0;
	padding: calc(65 * var(--ratio)) calc(90 * var(--ratio));
	border: 1px solid #1E19B8;
	border-radius: 2em;
}

.filters:not(.active) {
	display: none;
}

@media only screen and (max-width: 640px) {
	.filters {
		width: calc(580 * var(--ratio));
		padding: calc(46 * var(--ratio)) calc(36 * var(--ratio));
	}
}

.filters h2 {
	font-weight: 400;
	font-size: calc(24 * var(--ratio));
	line-height: calc(25 * 14 / 24 * var(--ratio));
	letter-spacing: calc(4.8 * 14 / 24 * var(--ratio));
	color: #000;
	text-align: left;
}

.filters hr {
	margin-top: 3em;
	margin-bottom: 3em;
	border: none;
	outline: none;
	border-top: 1px solid #fff;
	display: block;
}

.filters ul {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	padding: 2em 0 0;
	margin: 0;
}

.filters ul li .button {
	font-weight: 700;
	font-size: calc(12 * var(--ratio));
	line-height: calc(27 * 14 / 12 * var(--ratio));
	letter-spacing: calc(.3 * 14 / 12 * var(--ratio));
	border: none;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #1E19B8;
}

@media only screen and (max-width: 640px) {
	.filters ul li .button {
		font-weight: 700;
		font-size: calc(14 * var(--ratio));
		line-height: calc(40 * 14 / 14 * var(--ratio));
		letter-spacing: calc(.35 * 14 / 14 * var(--ratio));
	}
}

.filters ul li .button:hover,
.filters ul li .button:focus-visible {
	background-color: #1E19B8;
	color: #fff;
}

.bh-realisation-archive-list .trois-boites {
	justify-content: flex-start;
}

.bh-realisation-archive-list .trois-boites .boite {
	background-color: #fff;
	box-shadow: calc(6 * var(--ratio)) calc(6 * var(--ratio)) calc(40 * var(--ratio)) rgba(0,0,0,0.12);
	border-radius: calc(10 * var(--ratio));
	justify-content: flex-start;
	text-align: left;
	overflow: hidden;
}

.bh-realisation-archive-list .trois-boites .boite:nth-child(1n+4) {
	margin-top: calc(78 * var(--ratio));
}

.bh-realisation-archive-list .zone-visuel {
	border-top-left-radius: calc(10 * var(--ratio));
	border-top-right-radius: calc(10 * var(--ratio));
	height: calc(360 * var(--ratio));
	overflow: hidden;
}

.bh-realisation-archive-list .zone-visuel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: calc(10 * var(--ratio)) calc(10 * var(--ratio)) 0 0;
	transition: transform 0.3s;
	transform-origin: center bottom;
}

.bh-realisation-archive-list .boite:hover .zone-visuel img {
	transform: scale(1.03);
}

.bh-realisation-archive-list .zone-texte {
	width: calc(280 * var(--ratio));
	margin: calc(45 * var(--ratio)) auto 0;
}

.bh-realisation-archive-list .zone-texte .h1 {
	font-family: var(--bh-text);
	font-size: calc(35 * var(--ratio));
	line-height: calc(42 * 14 / 35 * var(--ratio));
	letter-spacing: calc(0.875 * 14 / 35 * var(--ratio));
	text-transform: uppercase;
	margin: 0;
}

.bh-realisation-archive-list .resume {
	margin-top: calc(20 * var(--ratio));
	font-size: calc(18 * var(--ratio));
	line-height: calc(29 * 14 / 18 * var(--ratio));
	letter-spacing: calc(0.45 * 14 / 18 * var(--ratio));
}

.bh-realisation-archive-list .realisation-link {
	position: absolute;
	inset: 0;
	text-indent: -9999px;
	overflow: hidden;
}

.bh-realisation-archive-list .boite {
	position: relative;
}

body.contact .bh-main--page.bh-main--fullbleed {
	background-color: #ffffff;
}

body.contact .bh-page-wrap--full {
	max-width: 100%;
	padding: 0;
}

body.contact #masterhead {
	padding: calc(10 * var(--ratio)) 0 calc(128 * var(--ratio));
	text-align: center;
}

body.contact #masterhead > *:not(.bg) {
	position: relative;
	z-index: 1;
}

body.contact #masterhead h1 {
	display: inline-block;
	width: auto;
	max-width: 100%;
	margin: 0 auto calc(35 * 14 / 80 * var(--ratio));
	text-align: center;
	color: #1E19B8;
	font-family: "PencilPete";
	font-weight: 400;
	font-size: calc(80 * var(--ratio));
	line-height: calc(70 * 14 / 80 * var(--ratio));
	letter-spacing: calc(2 * 14 / 80 * var(--ratio));
}

body.contact #masterhead > .image {
	margin: 0 auto;
	width: calc(355.11 * var(--ratio));
	height: calc(252.85 * var(--ratio));
	max-width: 100%;
}

body.contact #masterhead > .image img {
	display: block;
	width: 100%;
	height: auto;
}

body.contact #masterhead .formulaire {
	text-align: left;
}

body.contact .bh-site-foot__button {
	min-height: 0;
	padding: 0 calc(36 * var(--ratio));
	font-size: calc(14 * var(--ratio));
	line-height: calc(52 * var(--ratio));
	letter-spacing: calc(2.8 * var(--ratio));
	color: #ffffff;
}

@media only screen and (max-width: 640px) {
	body.contact #masterhead {
		padding: calc(130 * var(--ratio)) 0 calc(112 * var(--ratio));
	}

	body.contact #masterhead h1 {
		width: calc(484 * 14 / 60 * var(--ratio));
		margin: 0 auto calc(50 * 14 / 60 * var(--ratio));
		font-size: calc(80 * var(--ratio));
		line-height: calc(90 * 14 / 80 * var(--ratio));
		letter-spacing: calc(2 * 14 / 80 * var(--ratio));
	}

	body.contact #masterhead > .image {
		width: calc(355.11 * var(--ratio));
		height: calc(252.85 * var(--ratio));
	}
}

.bh-service-intro,
.bh-service-grid,
.bh-service-method,
.bh-service-faq {
	padding: clamp(56px, 7vw, 96px) 0;
}

.bh-service-intro .contenu,
.bh-service-grid .contenu,
.bh-service-method .contenu,
.bh-service-faq .contenu {
	width: min(var(--bh-frame), calc(100vw - (2 * var(--bh-gutter))));
	margin: 0 auto;
}

.bh-service-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: clamp(24px, 4vw, 64px);
	align-items: start;
}

.bh-service-intro__title .h1,
.bh-service-grid__head .h1,
.bh-service-method__head .h1,
.bh-service-faq__head .h1 {
	margin: 0;
}

.bh-service-intro__text > :first-child,
.bh-service-grid__intro > :first-child,
.bh-service-method__intro > :first-child,
.bh-service-faq__intro > :first-child,
.bh-service-grid__card-text > :first-child,
.bh-service-method__text > :first-child,
.bh-service-faq__answer > :first-child {
	margin-top: 0;
}

.bh-service-intro__text > :last-child,
.bh-service-grid__intro > :last-child,
.bh-service-method__intro > :last-child,
.bh-service-faq__intro > :last-child,
.bh-service-grid__card-text > :last-child,
.bh-service-method__text > :last-child,
.bh-service-faq__answer > :last-child {
	margin-bottom: 0;
}

.bh-service-intro__links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	list-style: none;
	padding: 0;
	margin: 28px 0 0;
}

.bh-service-intro__links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border: 1px solid rgba(5, 5, 5, 0.14);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.7);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.bh-service-intro__links a:hover {
	transform: translateY(-1px);
	border-color: var(--bh-blue);
	background: #fff;
}

.bh-service-grid {
	background: rgba(255, 255, 255, 0.42);
}

.bh-service-grid__head,
.bh-service-method__head,
.bh-service-faq__head {
	max-width: 860px;
	margin-bottom: clamp(28px, 4vw, 44px);
}

.bh-service-grid__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 28px);
}

.bh-service-grid__card,
.bh-service-method__item,
.bh-service-faq__item {
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(5, 5, 5, 0.08);
	border-radius: 18px;
	box-shadow: 0 10px 30px rgba(5, 5, 5, 0.05);
}

.bh-service-grid__card {
	padding: clamp(22px, 2.4vw, 30px);
}

.bh-service-grid__card--linked {
	padding: 0;
}

.bh-service-grid__card-link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	width: 100%;
	height: 100%;
	padding: clamp(22px, 2.4vw, 30px);
	box-sizing: border-box;
	color: inherit;
	text-decoration: none;
}

.bh-service-grid__card-link:focus-visible {
	outline: 3px solid #1E19B8;
	outline-offset: 6px;
}

.bh-service-grid__card .h2,
.bh-service-method__item .h2 {
	margin: 0 0 14px;
}

.bh-service-grid__card .cta {
	display: inline-flex;
	margin-top: 18px;
}

.notre-mission .trois-boites {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(32px, 4vw, 64px) clamp(28px, 3.2vw, 56px);
	align-items: start;
}

.notre-mission .trois-boites .boite {
	width: 100%;
	max-width: none;
	margin: 0;
}

.notre-mission .trois-boites .bh-expertise-card__main,
.notre-mission .trois-boites .bh-expertise-card__main:visited,
.notre-mission .trois-boites .bh-expertise-card__main:hover,
.notre-mission .trois-boites .bh-expertise-card__main:focus {
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

.notre-mission .trois-boites .bh-expertise-card__main:focus-visible {
	outline: 3px solid var(--bh-blue, #1E19B8);
	outline-offset: 6px;
}

.notre-mission .trois-boites .zone-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 12px;
}

.notre-mission .trois-boites .zone-tags .service-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border: 1px solid rgba(5, 5, 5, 0.14);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.7);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.notre-mission .trois-boites .zone-tags .service-link:hover {
	transform: translateY(-1px);
	border-color: var(--bh-blue, #1e19b8);
	background: #fff;
}

@media only screen and (max-width: 640px) {
	.notre-mission .trois-boites {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.notre-mission .trois-boites .zone-tags .service-link {
		font-size: 12px;
		padding: 8px 14px;
	}
}

.bh-service-method__items {
	display: grid;
	gap: 18px;
}

.titre-picto-vs-liste .bh-block10-content {
	font-size: 20px;
	line-height: 1.8;
}

.titre-picto-vs-liste .bh-block10-content__intro {
	margin-bottom: clamp(30px, 3vw, 44px);
}

.titre-picto-vs-liste .bh-block10-content__intro p {
	font-size: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
}

.titre-picto-vs-liste .bh-block10-content__intro > *:last-child,
.titre-picto-vs-liste .bh-block10-content__text > *:last-child {
	margin-bottom: 0;
}

.titre-picto-vs-liste .bh-block10-content__sections {
	display: grid;
	gap: clamp(34px, 3.4vw, 52px);
}

.titre-picto-vs-liste .bh-block10-content__section h3 {
	margin: 0 0 16px;
	font-size: clamp(27px, 2.35vw, 36px);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: 0;
	color: #1E19B8;
}

.titre-picto-vs-liste .bh-block10-content__text p + p {
	margin-top: 18px;
}

/* Block 10 editorial links follow the site's standard blue underline. */
.titre-picto-vs-liste .bh-block10-content__text a {
	color: #1E19B8;
	text-decoration-line: underline;
	text-decoration-thickness: 0.06em;
	text-underline-offset: 0.16em;
}

/* Project-content lists: retain the left inset and add vertical breathing room. */
.sections-page .zone-texte ul li {
	padding: 0 0 0.5em 0.5em;
}

/* Multi-line handwritten headings need enough leading to avoid glyph overlap. */
.titre-texte-vs-visuel .right > .h1 .manus {
	line-height: 1.05;
}

/* Mobile service typography: WYSIWYG paragraph wrappers must inherit the
 * component scale instead of multiplying the site's viewport-based p size. */
@media only screen and (max-width: 640px) {
	.bh-service-pdf-block-2__right p,
	.bh-service-grid__card-text p,
	.bh-simple-centered-text__body p,
	.bh-service-faq__intro p,
	.bh-service-faq__answer p {
		font-size: inherit !important;
		line-height: inherit !important;
		letter-spacing: inherit !important;
	}
}

/* Mobile header: keep the menu trigger and accessibility control on one row. */
@media only screen and (max-width: 640px) {
	header > div > nav,
	header > div > nav.bh-main-nav {
		left: auto;
		width: auto;
		height: auto;
		padding-left: 0;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: flex-end;
		gap: calc(14 * var(--ratio));
	}

	header > div > nav .menu-icon {
		flex: 0 0 auto;
		margin-left: 0;
	}

	header > div > nav .bh-accessibility-control {
		position: relative;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		display: block;
		flex: 0 0 auto;
		align-self: auto;
		width: auto;
		margin: 0;
	}

	header > div > nav .bh-accessibility-control__panel {
		display: grid;
		gap: 12px;
		align-items: start;
	}

	header > div > nav .bh-accessibility-control__panel[hidden] {
		display: none;
	}

	header > div > nav .bh-accessibility-control__panel > .bh-accessibility__button {
		justify-self: start;
	}

	header > div > nav .bh-accessibility-control__panel .bh-accessibility__label,
	header > div > nav .bh-accessibility-control__panel .bh-accessibility__status {
		width: 100%;
		text-align: center;
	}

	header > div > nav .bh-accessibility-control__panel .bh-accessibility__controls {
		flex-wrap: nowrap;
		justify-content: center;
	}
}

/* Structured project quotes arrive from ACF as a paragraph. Keep that
 * editorial wrapper from re-applying the site's responsive paragraph scale. */
.le-client-a-aime .citation > p {
	margin: 0;
	padding: 0;
	font: inherit;
	color: inherit;
	text-align: inherit;
}

@media only screen and (max-width: 640px) {
	.titre-picto-vs-liste .bh-block10-content {
		font-size: 18px;
		line-height: 1.7;
	}
}

.bh-service-method__item {
	padding: clamp(24px, 2.8vw, 34px);
}

.bh-service-method__bullets {
	margin: 18px 0 0;
	padding-left: 20px;
}

.bh-service-method__bullets li + li {
	margin-top: 10px;
}

.bh-service-faq__items {
	display: grid;
	gap: 14px;
}

.bh-service-faq__item {
	overflow: hidden;
}

.bh-service-faq__item summary {
	list-style: none;
	cursor: pointer;
	padding: 22px 64px 22px 24px;
	font-size: clamp(18px, 2vw, 24px);
	font-weight: 700;
	line-height: 1.3;
	position: relative;
}

.bh-service-faq__item summary::-webkit-details-marker {
	display: none;
}

.bh-service-faq__item summary::before,
.bh-service-faq__item summary::after {
	content: '';
	position: absolute;
	right: 24px;
	top: 50%;
	width: 18px;
	height: 2px;
	background: var(--bh-blue);
	transform: translateY(-50%);
	transition: transform 0.2s ease;
}

.bh-service-faq__item summary::after {
	transform: translateY(-50%) rotate(90deg);
}

.bh-service-faq__item[open] summary::after {
	transform: translateY(-50%) rotate(0deg);
}

.bh-service-faq__answer {
	padding: 0 24px 24px;
	width: 100%;
}

body.bh-page-variant-service {
	background: linear-gradient(180deg, #fbfaf7 0%, #f5f1ea 100%);
}

body.bh-page-variant-service .bh-flex-page {
	color: #1f1f2b;
}

body.bh-page-variant-service .breadcrumb,
body.bh-page-variant-service .bh-flex-page > #masterhead {
	width: min(1120px, calc(100vw - 72px));
	max-width: min(1120px, calc(100vw - 72px));
	margin-left: auto;
	margin-right: auto;
}

body.bh-page-variant-service .breadcrumb {
	margin-top: clamp(24px, 3vw, 38px);
	margin-bottom: clamp(28px, 4vw, 48px);
}

.breadcrumb ul li:first-child > .bh-breadcrumb-label {
	display: inline-block;
	color: #1e19b8;
	font-size: calc(12 * var(--ratio));
	font-weight: 700;
	text-transform: uppercase;
}

body.bh-page-variant-service .bh-flex-page > #masterhead {
	padding: clamp(24px, 4vw, 40px) 0 clamp(78px, 9vw, 104px);
	text-align: center;
}

body.bh-page-variant-service .bh-flex-page > #masterhead h1 {
	max-width: 10.5ch;
	margin: 0 auto clamp(24px, 3vw, 32px);
	font-size: clamp(68px, 6.7vw, 96px);
	line-height: 0.94;
	letter-spacing: 0.015em;
}

body.bh-page-variant-service .bh-flex-page > #masterhead .description {
	width: min(720px, 100%);
	margin: 0 auto;
	font-size: clamp(18px, 1.55vw, 23px);
	line-height: 1.72;
	letter-spacing: 0.01em;
	text-align: center;
	color: rgba(31, 31, 43, 0.78);
}

body.bh-page-variant-service .bh-service-intro,
body.bh-page-variant-service .deux-colonnes-titre-texte,
body.bh-page-variant-service .bh-service-grid,
:is(body.bh-page-variant-service, body.home) .bh-service-method,
body.bh-page-variant-service .nos-realisations,
.bh-service-faq {
	position: relative;
}

body.bh-page-variant-service .bh-service-intro,
body.bh-page-variant-service .bh-service-grid,
:is(body.bh-page-variant-service, body.home) .bh-service-method,
.bh-service-faq {
	padding: clamp(72px, 8vw, 120px) 0;
}

body.bh-page-variant-service .bh-service-intro .contenu,
body.bh-page-variant-service .bh-service-grid .contenu,
:is(body.bh-page-variant-service, body.home) .bh-service-method .contenu,
.bh-service-faq .contenu,
body.bh-page-variant-service .deux-colonnes-titre-texte .contenu,
body.bh-page-variant-service .nos-realisations .contenu {
	width: calc(1200 * var(--ratio));
	max-width: calc(100vw - (2 * var(--bh-gutter)));
	margin-left: auto;
	margin-right: auto;
}

body.bh-page-variant-service .bh-service-intro {
	padding-top: 0;
}

body.bh-page-variant-service .bh-service-intro__grid {
	gap: clamp(36px, 5vw, 88px);
	padding: clamp(34px, 4vw, 50px) 0;
	border-top: 1px solid rgba(30, 25, 184, 0.18);
	border-bottom: 1px solid rgba(30, 25, 184, 0.18);
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
}

body.bh-page-variant-service .bh-service-intro__title .h1,
body.bh-page-variant-service .bh-service-grid__head .h1,
:is(body.bh-page-variant-service, body.home) .bh-service-method__head .h1,
.bh-service-faq__head .h1,
body.bh-page-variant-service .deux-colonnes-titre-texte .col > .h1,
body.bh-page-variant-service .nos-realisations .contenu > .h1 {
	font-size: clamp(42px, 4vw, 64px);
	line-height: 0.96;
	letter-spacing: 0.01em;
}

body.bh-page-variant-service .bh-service-intro__text,
body.bh-page-variant-service .bh-service-grid__intro,
:is(body.bh-page-variant-service, body.home) .bh-service-method__intro,
.bh-service-faq__intro,
body.bh-page-variant-service .deux-colonnes-titre-texte .col-droite,
body.bh-page-variant-service .bh-service-grid__card-text,
:is(body.bh-page-variant-service, body.home) .bh-service-method__text,
.bh-service-faq__answer,
body.bh-page-variant-service .nos-realisations .resume {
	font-size: 18px;
	line-height: 1.8;
}

body.bh-page-variant-service .bh-service-intro__text {
	max-width: 34rem;
}

body.bh-page-variant-service .bh-service-intro__links {
	gap: 14px;
	margin-top: 34px;
}

body.bh-page-variant-service .bh-service-intro__links a {
	padding: 12px 20px;
	border-color: rgba(30, 25, 184, 0.2);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.6);
	font-size: 13px;
	letter-spacing: 0.12em;
	color: #1E19B8;
	box-shadow: none;
}

body.bh-page-variant-service .bh-service-intro__links li:first-child a,
body.bh-page-variant-service .bh-service-intro__links a:hover {
	border-color: #1E19B8;
	background: #1E19B8;
	color: #ffffff;
	transform: translateY(-2px);
}

body.bh-page-variant-service .deux-colonnes-titre-texte {
	margin: clamp(28px, 4vw, 44px) 0 0;
}

body.bh-page-variant-service .deux-colonnes-titre-texte .contenu {
	padding: clamp(42px, 5vw, 64px);
	border-radius: 16px;
	background: linear-gradient(135deg, #1E19B8 0%, #2b25cf 52%, #0b0a4b 100%);
	color: #ffffff;
	box-shadow: 0 18px 40px rgba(12, 10, 78, 0.18);
}

body.bh-page-variant-service .deux-colonnes-titre-texte .col > .h1,
body.bh-page-variant-service .deux-colonnes-titre-texte .col-droite,
body.bh-page-variant-service .deux-colonnes-titre-texte .col-droite a {
	color: inherit;
}

body.bh-page-variant-service .deux-colonnes-titre-texte .col-droite p {
	max-width: 32rem;
	margin-bottom: 28px;
	opacity: 0.96;
}

body.bh-page-variant-service .deux-colonnes-titre-texte .cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 15px 24px;
	border-radius: 999px;
	background: #ffffff;
	border: 1px solid #ffffff;
	color: #1E19B8;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	box-shadow: 0 12px 30px rgba(12, 10, 78, 0.18);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.bh-page-variant-service .deux-colonnes-titre-texte .cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 34px rgba(12, 10, 78, 0.22);
}

body.bh-page-variant-service .bh-service-grid {
	padding-top: clamp(56px, 6vw, 84px);
	background: transparent;
}

body.bh-page-variant-service .bh-service-grid .contenu {
	width: calc(1200 * var(--ratio));
	max-width: calc(100vw - (2 * var(--bh-gutter)));
}

body.bh-page-variant-service .bh-service-grid__head {
	display: none !important;
	margin: 0 !important;
	max-height: 0 !important;
	overflow: hidden !important;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__head,
.bh-service-faq__head {
	max-width: 760px;
	margin-bottom: clamp(34px, 4.5vw, 54px);
}

body.bh-page-variant-service .bh-service-grid__cards {
	display: block !important;
	margin-top: clamp(40px, 4vw, 56px);
	column-count: 4 !important;
	column-gap: clamp(18px, 1.8vw, 26px);
}

body.bh-page-variant-service .bh-service-grid__card,
body.bh-page-variant-service .bh-service-grid__card:first-child,
body.bh-page-variant-service .bh-service-grid__card:nth-child(odd) {
	display: inline-block !important;
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 0 clamp(18px, 1.8vw, 26px);
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	padding: clamp(26px, 2.3vw, 34px) clamp(22px, 1.9vw, 28px) !important;
	min-height: 0;
	align-self: start;
	border: 2px solid #ffffff !important;
	border-top: 2px solid #ffffff !important;
	outline: 0 !important;
	border-radius: 18px !important;
	background: #ffffff !important;
	background-image: none !important;
	background-clip: padding-box;
	box-shadow: none !important;
	color: #1E19B8 !important;
	text-decoration: none;
	transition: none;
}

body.bh-page-variant-service .bh-service-grid__card:hover,
body.bh-page-variant-service .nos-realisations .boite:hover {
	transform: none;
	border-color: transparent;
	box-shadow: none !important;
}

body.bh-page-variant-service .bh-service-grid__card .h2 {
	margin: 0 0 18px;
	font-size: clamp(22px, 1.85vw, 30px);
	line-height: 1.05;
	color: #1E19B8;
	text-decoration: none;
	border: 0;
}

body.bh-page-variant-service .bh-service-grid__card .h2 br {
	display: block;
}

body.bh-page-variant-service .bh-service-grid__card .bh-service-grid__card-text {
	font-size: clamp(15px, 1.02vw, 18px);
	line-height: 1.55;
	color: #1E19B8 !important;
	text-decoration: none;
}

body.bh-page-variant-service .bh-service-grid__card .bh-service-grid__card-text p {
	margin-bottom: 0;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item,
.bh-service-faq__item,
body.bh-page-variant-service .nos-realisations .boite {
	border: 1px solid rgba(30, 25, 184, 0.08);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: none;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item .h2,
body.bh-page-variant-service .nos-realisations .boite .h1,
.bh-service-faq__item summary {
	letter-spacing: 0;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method {
	counter-reset: bh-method;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__items {
	gap: 22px;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item {
	position: relative;
	padding: clamp(28px, 3vw, 38px) clamp(28px, 3vw, 38px) clamp(28px, 3vw, 38px) clamp(92px, 8vw, 118px);
	border-left: 4px solid rgba(30, 25, 184, 0.88);
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item::before {
	counter-increment: bh-method;
	content: counter(bh-method, decimal-leading-zero);
	position: absolute;
	left: clamp(28px, 3vw, 38px);
	top: clamp(30px, 3vw, 40px);
	font-size: clamp(24px, 2vw, 30px);
	font-weight: 800;
	line-height: 1;
	color: rgba(30, 25, 184, 0.38);
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item .h2 {
	font-size: clamp(28px, 2.2vw, 34px);
	line-height: 1.08;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__bullets {
	margin-top: 22px;
	padding-left: 0;
	list-style: none;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__bullets li {
	position: relative;
	padding-left: 20px;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__bullets li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #1E19B8;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__bullets li + li {
	margin-top: 12px;
}

body.bh-page-variant-service .nos-realisations {
	padding: clamp(82px, 8vw, 122px) 0;
	background: transparent;
}

body.bh-page-variant-service .bh-service-cases .contenu {
	width: calc(1200 * var(--ratio));
	max-width: calc(100vw - (2 * var(--bh-gutter)));
}

body.bh-page-variant-service .bh-service-cases__head {
	width: 100%;
	max-width: none;
	margin: 0 0 clamp(38px, 4vw, 54px);
	text-align: left;
}

body.bh-page-variant-service .bh-service-cases__head .h1 {
	max-width: none;
	margin: 0 0 18px;
}

body.bh-page-variant-service .bh-service-cases__title-main,
body.bh-page-variant-service .bh-service-cases__title-script {
	display: block;
}

body.bh-page-variant-service .bh-service-cases__title-main {
	font-family: var(--bh-text);
	font-size: clamp(42px, 4vw, 64px);
	font-weight: 300;
	line-height: 0.98;
	letter-spacing: 0.01em;
	text-transform: none;
	color: #111320;
	max-width: none;
}

body.bh-page-variant-service .bh-service-cases__title-script {
	margin-top: 6px;
	font-family: 'PencilPete', var(--bh-text);
	font-size: clamp(54px, 4.6vw, 80px);
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: 0;
	text-transform: none;
	color: #2D2DE1;
}

body.bh-page-variant-service .bh-service-cases__intro {
	max-width: none;
	margin: 0;
	font-size: 20px;
	line-height: 1.58;
	color: #17192a;
}

body.bh-page-variant-service .bh-service-cases__intro p {
	margin: 0;
}

body.bh-page-variant-service .bh-service-cases__rows {
	display: grid;
	gap: clamp(34px, 4vw, 56px);
	border-top: 0;
}

body.bh-page-variant-service .bh-service-cases__row {
	display: grid;
	grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
	gap: clamp(32px, 3.6vw, 56px);
	align-items: center;
	padding: 0;
	border-bottom: 0;
}

body.bh-page-variant-service .bh-service-cases__row--media-left {
	grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
}

body.bh-page-variant-service .bh-service-cases__row--stacked {
	grid-template-columns: minmax(0, 1fr);
}

body.bh-page-variant-service .bh-service-cases__row-content {
	width: 100%;
	max-width: calc(430 * var(--ratio));
	justify-self: center;
}

body.bh-page-variant-service .bh-service-cases__row .h2 {
	margin: 0 0 14px;
	font-size: clamp(28px, 2.5vw, 40px);
	line-height: 1.02;
	letter-spacing: 0;
	text-transform: none;
	color: #111320;
}

body.bh-page-variant-service .bh-service-cases__row-text {
	font-size: 18px;
	line-height: 1.7;
	color: rgba(23, 25, 42, 0.82);
}

body.bh-page-variant-service .bh-service-cases__row-text > *:first-child {
	margin-top: 0;
}

body.bh-page-variant-service .bh-service-cases__row-text > *:last-child {
	margin-bottom: 0;
}

body.bh-page-variant-service .bh-service-cases__row-media {
	display: block;
	width: min(100%, calc(520 * var(--ratio)));
	min-height: clamp(220px, 24vw, 340px);
	aspect-ratio: 1 / 0.72;
	justify-self: center;
	border-radius: 18px;
	overflow: hidden;
	background: #ffffff;
	box-shadow: 0 18px 38px rgba(16, 18, 45, 0.09);
}

body.bh-page-variant-service .bh-service-cases__row-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.bh-page-variant-service .bh-service-cases .trois-boites {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	column-gap: clamp(24px, 1.9vw, 30px);
	row-gap: 0;
	align-items: stretch;
	justify-content: stretch;
}

body.bh-page-variant-service .bh-service-cases .trois-boites > .boite {
	margin: 0 !important;
	width: auto !important;
	max-width: none !important;
	height: 100%;
	justify-self: stretch;
}

body.bh-page-variant-service .bh-service-cases .boite {
	display: flex;
	flex-direction: column;
	padding: 0;
	min-height: 0;
	border: 0 !important;
	border-radius: 16px !important;
	background: #ffffff !important;
	box-shadow: 0 16px 34px rgba(16, 18, 45, 0.08) !important;
	overflow: hidden;
}

body.bh-page-variant-service .bh-service-cases .zone-visuel {
	aspect-ratio: 0.92 / 1;
	background: #ffffff;
	overflow: hidden;
}

body.bh-page-variant-service .bh-service-cases .zone-visuel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

body.bh-page-variant-service .bh-service-cases .zone-texte {
	flex: 1 1 auto;
	padding: 22px 22px 24px;
}

body.bh-page-variant-service .bh-service-cases .boite .h2 {
	margin: 0 0 10px;
	font-size: clamp(20px, 1.8vw, 28px);
	line-height: 1.04;
	letter-spacing: 0;
	text-transform: none;
}

body.bh-page-variant-service .bh-service-cases .resume {
	font-size: 15px;
	line-height: 1.65;
	color: rgba(23, 25, 42, 0.8);
}

body.bh-page-variant-service .bh-service-cases .resume p:last-child {
	margin-bottom: 0;
}

body.bh-page-variant-service .nos-realisations .realisation-link,
body.bh-page-variant-service .bh-section-cta .button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

body.bh-page-variant-service .bh-service-cases .realisation-link {
	margin: 0 22px 24px;
	font-size: 12px;
}

body.bh-page-variant-service .nos-realisations .realisation-link::after,
body.bh-page-variant-service .bh-section-cta .button::after {
	content: '›';
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.15em;
	font-weight: 700;
	line-height: 1;
	transform: translateY(-0.02em);
}

body.bh-page-variant-service .bh-section-cta {
	margin-top: clamp(34px, 4vw, 46px);
	text-align: center;
}

body.bh-page-variant-service .bh-section-cta .button {
	padding: 16px 24px;
	border-radius: 999px;
	background: #1E19B8;
	border: 1px solid #1E19B8;
	color: #ffffff;
	box-shadow: 0 16px 36px rgba(30, 25, 184, 0.18);
}

.bh-service-faq {
	padding-top: clamp(24px, 2.5vw, 42px);
	padding-bottom: clamp(88px, 8vw, 128px);
	background: #efedf8;
}

.bh-service-faq__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 28px;
	align-items: center;
	margin-bottom: 20px;
}

.bh-service-faq__head {
	display: block !important;
	grid-template-columns: none !important;
	max-width: none;
	margin: 0;
}

.bh-service-faq__head .h1 {
	margin: 0 0 16px;
	color: #1E19B8;
	font-family: 'PencilPete', 'Avenir', sans-serif;
	font-size: clamp(74px, 5vw, 96px);
	font-weight: 400;
	line-height: 0.9;
	letter-spacing: 0;
}

.bh-service-faq__intro {
	display: block;
	max-width: none;
	margin: 0;
	margin-right: 20%;
	font-size: clamp(28px, 2vw, 38px);
	line-height: 1.16;
	color: #1f1f2b;
}

.bh-service-faq__intro p {
	margin: 0;
}

.bh-service-faq__visual {
	width: 320px;
	justify-self: end;
}

.bh-service-faq__visual img {
	display: block;
	width: 100%;
	height: auto;
}

.bh-service-faq__items {
	gap: 0;
}

.bh-service-faq__item {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 46px;
	column-gap: 32px;
	align-items: start;
	background: transparent;
	border: 0;
	border-top: 1px solid rgba(30, 25, 184, 0.22);
	border-radius: 0;
	box-shadow: none;
}

.bh-service-faq__item:last-child {
	border-bottom: 1px solid rgba(30, 25, 184, 0.22);
}

.bh-service-faq__item summary {
	display: block;
	position: relative;
	grid-column: 1;
	align-self: start;
	padding: 22px 72px 10px 0;
	font-size: inherit;
	line-height: 1.22;
}

.bh-service-faq__item summary::before,
.bh-service-faq__item summary::after {
	display: none;
}

.bh-service-faq__question {
	display: block;
	max-width: none;
	font-size: clamp(28px, 2.05vw, 38px);
	font-weight: 500;
	line-height: 1.06;
	color: #1E19B8;
	letter-spacing: -0.01em;
}

.bh-service-faq__toggle {
	position: absolute;
	left: calc(200% + 64px);
	top: 22px;
	display: inline-flex;
	justify-self: end;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(30, 25, 184, 0.14);
	flex: 0 0 46px;
}

.bh-service-faq__toggle::before,
.bh-service-faq__toggle::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 16px;
	height: 2px;
	border-radius: 999px;
	background: #1E19B8;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease;
}

.bh-service-faq__toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.bh-service-faq__item[open] .bh-service-faq__toggle::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.bh-service-faq__item[open] {
	border-color: rgba(30, 25, 184, 0.22);
}

.bh-service-faq__answer {
	grid-column: 2;
	width: 100%;
	max-width: none;
	margin: 22px 0 28px;
	padding: 0;
	font-size: 17px;
	line-height: 1.72;
	color: rgba(31, 31, 43, 0.82);
}

@media only screen and (min-width: 1600px) {
	.bh-service-faq .contenu {
		width: calc(1320 * var(--ratio));
		max-width: calc(100vw - (2 * var(--bh-gutter)));
	}

	.bh-service-faq__hero {
		grid-template-columns: minmax(0, 1fr) 360px;
		gap: 34px;
	}

	.bh-service-faq__head {
		grid-template-columns: 1fr;
		row-gap: 18px;
	}

	.bh-service-faq__visual {
		width: 360px;
	}

	.bh-service-faq__intro {
		font-size: clamp(30px, 1.9vw, 42px);
	}

	.bh-service-faq__question {
		font-size: clamp(30px, 1.8vw, 40px);
	}

	.bh-service-faq__answer {
		width: 100%;
	}
}

@media only screen and (max-width: 960px) {
	.bh-service-intro__grid,
	.bh-service-grid__cards {
		grid-template-columns: 1fr;
	}

	body.bh-page-variant-service .bh-service-grid__card:first-child {
		grid-column: auto;
		grid-template-columns: 1fr;
	}

	body.bh-page-variant-service .bh-service-intro__grid {
		padding: 28px 0;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__item {
		padding-left: 82px;
	}

	.bh-service-faq__hero {
		grid-template-columns: 1fr;
		gap: 22px;
		align-items: start;
		margin-bottom: 34px;
	}

	.bh-service-faq__head {
		grid-template-columns: 1fr;
		row-gap: 12px;
	}

	.bh-service-faq__visual {
		width: min(240px, 52vw);
		justify-self: start;
	}

	.bh-service-faq__intro {
		margin-right: 0;
	}

	.bh-service-faq__item {
		display: block;
	}

	.bh-service-faq__item summary {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 46px;
		grid-column: auto;
		align-items: start;
		gap: 24px;
		padding: 22px 0 10px;
	}

	.bh-service-faq__toggle {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
	}

	.bh-service-faq__answer {
		grid-column: auto;
		width: 100%;
		margin: 0 0 24px;
	}

	body.bh-page-variant-service .bh-service-cases__rows,
	body.bh-page-variant-service .bh-service-cases .trois-boites {
		grid-template-columns: 1fr;
		max-width: 720px;
		margin: 0 auto 0 0;
	}

	body.bh-page-variant-service .bh-service-cases__row,
	body.bh-page-variant-service .bh-service-cases__row--media-left {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	body.bh-page-variant-service .bh-service-cases__head .h1 {
		max-width: none;
	}
}

@media only screen and (max-width: 640px) {
	.bh-service-intro,
	.bh-service-grid,
	.bh-service-method,
	.bh-service-faq {
		padding: 48px 0;
	}

	.bh-service-intro__links {
		gap: 10px;
	}

	.bh-service-intro__links a {
		width: 100%;
	}

	.bh-service-faq__item summary {
		padding-right: 0;
	}

	.bh-service-faq__hero {
		gap: 22px;
		margin-bottom: 34px;
	}

	.bh-service-faq__intro {
		max-width: none;
		font-size: clamp(20px, 6vw, 28px);
		line-height: 1.3;
	}

	.bh-service-faq__visual {
		width: min(220px, 52vw);
	}

	.bh-service-faq__question {
		max-width: none;
		font-size: clamp(22px, 7.2vw, 32px);
	}

	.bh-service-faq__toggle {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
	}

	.bh-service-faq__answer {
		width: 100%;
		margin: 0 0 24px;
		font-size: 17px;
		line-height: 1.68;
	}

	body.bh-page-variant-service .bh-flex-page > #masterhead {
		padding: 24px 0 62px;
	}

	body.bh-page-variant-service .bh-flex-page > #masterhead h1 {
		font-size: clamp(50px, 16vw, 76px);
		line-height: 0.94;
	}

	body.bh-page-variant-service .bh-flex-page > #masterhead .description {
		font-size: 18px;
		line-height: 1.7;
		padding: 0 8px;
	}

	body.bh-page-variant-service .bh-service-intro .contenu,
	body.bh-page-variant-service .bh-service-grid .contenu,
	:is(body.bh-page-variant-service, body.home) .bh-service-method .contenu,
	.bh-service-faq .contenu,
	body.bh-page-variant-service .deux-colonnes-titre-texte .contenu,
	body.bh-page-variant-service .nos-realisations .contenu {
		width: calc(580 * var(--ratio));
		max-width: calc(100vw - 32px);
	}

	body.bh-page-variant-service .bh-service-intro__grid,
	body.bh-page-variant-service .deux-colonnes-titre-texte .contenu {
		padding: 26px 22px;
		border-radius: 26px;
	}

	body.bh-page-variant-service .bh-service-intro__title .h1,
	body.bh-page-variant-service .bh-service-grid__head .h1,
	:is(body.bh-page-variant-service, body.home) .bh-service-method__head .h1,
	.bh-service-faq__head .h1,
	body.bh-page-variant-service .deux-colonnes-titre-texte .col > .h1,
	body.bh-page-variant-service .nos-realisations .contenu > .h1 {
		font-size: clamp(34px, 11vw, 48px);
	}

	body.bh-page-variant-service .bh-service-intro__text,
	body.bh-page-variant-service .bh-service-grid__intro,
	:is(body.bh-page-variant-service, body.home) .bh-service-method__intro,
	.bh-service-faq__intro,
	body.bh-page-variant-service .deux-colonnes-titre-texte .col-droite,
	body.bh-page-variant-service .bh-service-grid__card-text,
	:is(body.bh-page-variant-service, body.home) .bh-service-method__text,
	.bh-service-faq__answer,
	body.bh-page-variant-service .nos-realisations .resume {
		font-size: 16px;
		line-height: 1.72;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__item {
		padding: 78px 22px 24px;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__item::before {
		left: 22px;
		top: 24px;
	}

	.bh-service-faq__item summary {
		font-size: 18px;
		padding: 22px 60px 22px 22px;
	}

	.bh-service-faq__answer {
		padding: 0 22px 22px;
	}

	body.bh-page-variant-service .bh-service-cases {
		padding: 56px 0;
	}

	body.bh-page-variant-service .bh-service-cases__head {
		margin-bottom: 32px;
	}

	body.bh-page-variant-service .bh-service-cases__head .h1 {
		max-width: none;
		margin-bottom: 18px;
	}

	body.bh-page-variant-service .bh-service-cases__title-main {
		font-size: clamp(34px, 11vw, 50px);
		max-width: none;
	}

	body.bh-page-variant-service .bh-service-cases__title-script {
		font-size: clamp(42px, 13vw, 64px);
	}

	body.bh-page-variant-service .bh-service-cases__intro {
		font-size: 17px;
		line-height: 1.66;
	}

	body.bh-page-variant-service .bh-service-cases__row,
	body.bh-page-variant-service .bh-service-cases__row--media-left {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	body.bh-page-variant-service .bh-service-cases__row .h2 {
		font-size: clamp(24px, 8vw, 34px);
	}

	body.bh-page-variant-service .bh-service-cases__row-text {
		font-size: 16px;
		line-height: 1.72;
	}

	body.bh-page-variant-service .bh-service-cases .zone-texte {
		padding: 18px 18px 20px;
	}

	body.bh-page-variant-service .nos-realisations.slidable.bh-service-cases .contenu .scroller {
		width: 100%;
		padding: 0;
		overflow: visible;
	}

	body.bh-page-variant-service .nos-realisations.slidable.bh-service-cases .contenu .scroller .trois-boites {
		width: 100%;
		max-width: none;
		margin: 0;
		transition: none;
	}

	body.bh-page-variant-service .nos-realisations.slidable.bh-service-cases .contenu .scroller .trois-boites > .boite {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 24px !important;
	}

	body.bh-page-variant-service .nos-realisations.slidable.bh-service-cases .contenu .scroller .trois-boites > .boite:last-child {
		margin-bottom: 0 !important;
	}

	body.bh-page-variant-service .nos-realisations.slidable.bh-service-cases .contenu .scroller .trois-boites > .boite + .boite {
		margin-left: 0 !important;
	}

	body.bh-page-variant-service .nos-realisations.slidable.bh-service-cases .contenu .scroller .trois-boites .boite .zone-texte {
		width: 100%;
		box-sizing: border-box;
	}

	body.bh-page-variant-service .bh-service-cases .realisation-link {
		margin: 0 18px 20px;
	}
}

@media only screen and (max-width: 420px) {
	body.bh-page-variant-service .bh-service-intro__links a,
	body.bh-page-variant-service .deux-colonnes-titre-texte .cta,
	body.bh-page-variant-service .bh-section-cta .button {
		width: 100%;
		justify-content: center;
	}
}

@media only screen and (min-width: 641px) {
	body:not(.home) header div nav > ul .nav-item a,
	body:not(.home) .bh-page-head .bh-main-nav__link {
		font-size: clamp(13.8px, 1vw, 15px) !important;
		line-height: clamp(56px, 4.1vw, 60px) !important;
		letter-spacing: clamp(2.35px, 0.19vw, 2.95px) !important;
	}

	body:not(.home) header div nav > ul .nav-item + .nav-item,
	body:not(.home) .bh-page-head .bh-main-nav__item + .bh-main-nav__item {
		margin-left: clamp(28px, 2.8vw, 42px) !important;
	}
}

@media only screen and (min-width: 641px) and (max-width: 1366px) {
	body:not(.home) header div nav > ul .nav-item a,
	body:not(.home) .bh-page-head .bh-main-nav__link {
		font-size: clamp(12.4px, 1.2vw, 13.4px) !important;
		line-height: 52px !important;
		letter-spacing: 2px !important;
	}

	body:not(.home) header div nav > ul .nav-item + .nav-item,
	body:not(.home) .bh-page-head .bh-main-nav__item + .bh-main-nav__item {
		margin-left: clamp(18px, 1.8vw, 26px) !important;
	}
}

@media only screen and (min-width: 641px) {
	body.bh-page-variant-service main nav.breadcrumb {
		width: min(1120px, calc(100% - (var(--bh-gutter) * 2))) !important;
		max-width: min(1120px, calc(100% - (var(--bh-gutter) * 2))) !important;
		margin-top: calc(50 * var(--bh-source-unit)) !important;
		margin-right: auto !important;
		margin-bottom: calc(50 * var(--bh-source-unit)) !important;
		margin-left: auto !important;
	}

	body.bh-page-variant-service main article > section.masterhead {
		width: min(1120px, calc(100% - (var(--bh-gutter) * 2))) !important;
		max-width: min(1120px, calc(100% - (var(--bh-gutter) * 2))) !important;
		margin: 0 auto !important;
		padding-top: calc(10 * var(--bh-source-unit)) !important;
		padding-bottom: calc(128 * var(--bh-source-unit)) !important;
	}

	body.bh-page-variant-service main article > section.masterhead > h1 {
		max-width: 100% !important;
		margin-right: auto !important;
		margin-bottom: calc(35 * var(--bh-source-unit)) !important;
		margin-left: auto !important;
		font-family: "PencilPete", raleway, "Helvetica Neue", Arial, sans-serif !important;
		font-weight: 400 !important;
		font-size: calc(80 * var(--bh-source-unit)) !important;
		line-height: calc(70 * var(--bh-source-unit)) !important;
		letter-spacing: calc(2 * var(--bh-source-unit)) !important;
		color: var(--bh-blue) !important;
		text-align: center !important;
		text-transform: none !important;
	}

	body.bh-page-variant-service main article > section.masterhead .description {
		width: min(calc(790 * var(--bh-source-unit)), calc(100% - (var(--bh-gutter) * 2))) !important;
		max-width: 100% !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	body.bh-page-variant-service main article > section.masterhead .description,
	body.bh-page-variant-service main article > section.masterhead .description p {
		font-size: clamp(19px, 1.45vw, 21px) !important;
		line-height: 1.72 !important;
	}
}

@media only screen and (min-width: 641px) and (max-width: 1180px) {
	body.bh-page-variant-service main article > section.masterhead > h1 {
		font-size: clamp(62px, 7.2vw, 74px) !important;
		line-height: 0.92 !important;
	}

	body.bh-page-variant-service main article > section.masterhead .description,
	body.bh-page-variant-service main article > section.masterhead .description p {
		font-size: clamp(18px, 1.8vw, 20px) !important;
	}
}

body.bh-page-variant-service main article > section.masterhead h1,
body.bh-page-variant-service main article > section.masterhead .description,
body.bh-page-variant-service main article > section.masterhead .description p {
	color: var(--bh-blue) !important;
}

@media only screen and (min-width: 641px) {
	body.bh-page-variant-service .bh-service-intro {
		padding-top: 0 !important;
		padding-bottom: calc(76 * var(--bh-source-unit)) !important;
	}

	body.bh-page-variant-service .bh-service-intro .contenu,
	body.bh-page-variant-service .deux-colonnes-titre-texte .contenu,
	body.bh-page-variant-service .bh-service-grid .contenu,
	:is(body.bh-page-variant-service, body.home) .bh-service-method .contenu,
	body.bh-page-variant-service .nos-realisations.slidable .contenu,
	.bh-service-faq .contenu {
		width: min(calc(1200 * var(--bh-source-unit)), calc(100% - (var(--bh-gutter) * 2))) !important;
	}

	body.bh-page-variant-service .bh-service-intro__grid,
	body.bh-page-variant-service .deux-colonnes-titre-texte .contenu {
		display: grid !important;
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
		column-gap: clamp(34px, 4vw, 74px) !important;
		align-items: start !important;
	}

	body.bh-page-variant-service .bh-service-intro__title .h1,
	body.bh-page-variant-service .deux-colonnes-titre-texte .col > .h1,
	body.bh-page-variant-service .bh-service-grid__head .h1,
	:is(body.bh-page-variant-service, body.home) .bh-service-method__head .h1,
	body.bh-page-variant-service .nos-realisations.slidable .contenu > .h1,
	.bh-service-faq__head .h1 {
		font-size: calc(54 * var(--bh-source-unit)) !important;
		line-height: calc(52 * var(--bh-source-unit)) !important;
		letter-spacing: calc(1.1 * var(--bh-source-unit)) !important;
	}

	body.bh-page-variant-service .bh-service-intro__content,
	body.bh-page-variant-service .deux-colonnes-titre-texte .col-droite,
	body.bh-page-variant-service .bh-service-grid__intro,
	:is(body.bh-page-variant-service, body.home) .bh-service-method__intro,
	.bh-service-faq__intro {
		font-size: clamp(18px, 1.35vw, 20px) !important;
		line-height: 1.7 !important;
	}

	body.bh-page-variant-service .bh-service-intro__links {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 0 !important;
		margin-top: calc(36 * var(--bh-source-unit)) !important;
		padding-top: calc(16 * var(--bh-source-unit)) !important;
		border-top: 1px solid rgba(30, 25, 184, 0.24) !important;
	}

	body.bh-page-variant-service .bh-service-intro__links li {
		padding-right: 18px !important;
	}

	body.bh-page-variant-service .bh-service-intro__links a {
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		font-size: clamp(15px, 1.05vw, 17px) !important;
		font-weight: 700 !important;
		line-height: 1.35 !important;
		color: var(--bh-blue) !important;
		text-transform: none !important;
	}

	body.bh-page-variant-service .deux-colonnes-titre-texte {
		margin-top: 0 !important;
		padding-top: calc(30 * var(--bh-source-unit)) !important;
		padding-bottom: calc(76 * var(--bh-source-unit)) !important;
	}

	body.bh-page-variant-service .deux-colonnes-titre-texte .contenu {
		padding: 0 !important;
		background: transparent !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	body.bh-page-variant-service .deux-colonnes-titre-texte .col > .h1 {
		color: var(--bh-blue) !important;
	}

	body.bh-page-variant-service .deux-colonnes-titre-texte .col-droite,
	body.bh-page-variant-service .deux-colonnes-titre-texte .col-droite p {
		color: var(--bh-ink) !important;
	}

	body.bh-page-variant-service .deux-colonnes-titre-texte .col-droite .cta {
		display: inline-flex !important;
		margin-top: calc(18 * var(--bh-source-unit)) !important;
		padding: 0 0 4px !important;
		border: 0 !important;
		border-bottom: 2px solid var(--bh-blue) !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		color: var(--bh-blue) !important;
		font-size: 15px !important;
		font-weight: 800 !important;
		letter-spacing: 1.2px !important;
	}

	body.bh-page-variant-service .bh-service-grid {
		padding-top: calc(14 * var(--bh-source-unit)) !important;
		padding-bottom: calc(76 * var(--bh-source-unit)) !important;
	}

	body.bh-page-variant-service .bh-service-grid__head {
		display: grid !important;
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
		column-gap: clamp(34px, 4vw, 74px) !important;
		align-items: start !important;
		margin-bottom: calc(34 * var(--bh-source-unit)) !important;
	}

	body.bh-page-variant-service .bh-service-grid__cards {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: calc(26 * var(--bh-source-unit)) calc(28 * var(--bh-source-unit)) !important;
	}

	body.bh-page-variant-service .bh-service-grid__card {
		position: relative;
		overflow: hidden;
		padding: calc(20 * var(--bh-source-unit)) calc(18 * var(--bh-source-unit)) !important;
		background: #ffffff !important;
		background-image: none !important;
		background-clip: padding-box !important;
		border: 2px solid #ffffff !important;
		border-top: 2px solid #ffffff !important;
		outline: 0 !important;
		border-radius: calc(14 * var(--bh-source-unit)) !important;
		box-shadow: none !important;
		min-height: 0 !important;
	}

	body.bh-page-variant-service .bh-service-grid__card h3 {
		font-size: clamp(20px, 1.45vw, 24px) !important;
		line-height: 1.16 !important;
		margin-bottom: 12px !important;
	}

	body.bh-page-variant-service .bh-service-grid__card-text {
		font-size: 16px !important;
		line-height: 1.68 !important;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method {
		padding-top: calc(12 * var(--bh-source-unit)) !important;
		padding-bottom: calc(76 * var(--bh-source-unit)) !important;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__head {
		display: grid !important;
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
		column-gap: clamp(34px, 4vw, 74px) !important;
		align-items: start !important;
		margin-bottom: calc(34 * var(--bh-source-unit)) !important;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__items {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: calc(26 * var(--bh-source-unit)) calc(34 * var(--bh-source-unit)) !important;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__item {
		padding: calc(18 * var(--bh-source-unit)) 0 0 !important;
		background: transparent !important;
		border: 0 !important;
		border-top: 2px solid var(--bh-blue) !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		min-height: 0 !important;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__item::before {
		display: none !important;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__item h3 {
		font-size: clamp(22px, 1.55vw, 26px) !important;
		line-height: 1.16 !important;
		margin-bottom: 12px !important;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__bullets {
		margin-top: 14px !important;
		padding-left: 18px !important;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__bullets li {
		margin-bottom: 8px !important;
	}

	body.bh-page-variant-service .nos-realisations.slidable {
		padding-top: calc(18 * var(--bh-source-unit)) !important;
		padding-bottom: calc(76 * var(--bh-source-unit)) !important;
	}

	body.bh-page-variant-service .nos-realisations.slidable .contenu > .h1 {
		max-width: calc(640 * var(--bh-source-unit)) !important;
		margin-bottom: calc(30 * var(--bh-source-unit)) !important;
	}

	body.bh-page-variant-service .nos-realisations .trois-boites {
		gap: calc(24 * var(--bh-source-unit)) !important;
	}

	body.bh-page-variant-service .nos-realisations .trois-boites .boite {
		border-radius: 0 !important;
		box-shadow: none !important;
		border: 1px solid rgba(30, 25, 184, 0.18) !important;
	}

	body.bh-page-variant-service .bh-service-cases .trois-boites .boite {
		border-radius: 16px !important;
		box-shadow: 0 16px 34px rgba(16, 18, 45, 0.08) !important;
		border: 0 !important;
	}

	body.bh-page-variant-service .bh-service-cases__rows {
			gap: calc(34 * var(--bh-source-unit)) !important;
	}

	body.bh-page-variant-service .bh-service-cases__row {
			display: grid !important;
			grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr) !important;
			column-gap: calc(40 * var(--bh-source-unit)) !important;
			align-items: center !important;
	}

	body.bh-page-variant-service .bh-service-cases__row--media-left {
			grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr) !important;
	}

	body.bh-page-variant-service .bh-service-cases__row--stacked {
			grid-template-columns: 1fr !important;
	}

	body.bh-page-variant-service .bh-service-cases__row-content {
			width: 100% !important;
			max-width: calc(430 * var(--bh-source-unit)) !important;
			justify-self: center !important;
	}

	.bh-service-faq {
		padding-top: calc(12 * var(--bh-source-unit)) !important;
		padding-bottom: calc(90 * var(--bh-source-unit)) !important;
	}

	.bh-service-faq__head {
		display: block !important;
		grid-template-columns: none !important;
		column-gap: 0 !important;
		align-items: start !important;
		margin-bottom: calc(24 * var(--bh-source-unit)) !important;
	}

	.bh-service-faq__item {
		border-radius: 0 !important;
		box-shadow: none !important;
		border: 0 !important;
		border-top: 1px solid rgba(30, 25, 184, 0.28) !important;
		background: transparent !important;
	}

	.bh-service-faq__item:last-child {
		border-bottom: 1px solid rgba(30, 25, 184, 0.28) !important;
	}
}

@media only screen and (max-width: 640px) {
	body.bh-page-variant-service header div nav.active > ul {
		top: 0 !important;
		justify-content: flex-start;
		align-items: stretch;
		padding: clamp(82px, 12vh, 104px) calc(50 * var(--ratio)) clamp(112px, 15vh, 140px);
		gap: clamp(14px, 2.4vh, 22px);
		overflow-y: auto;
		box-sizing: border-box;
	}

	body.bh-page-variant-service header div nav.active > ul > .nav-item {
		width: 100%;
		margin: 0 !important;
	}

	body.bh-page-variant-service header div nav.active > ul > .nav-item > a,
	body.bh-page-variant-service header div nav.active > ul .nav-submenu .nav-item a,
	body.bh-page-variant-service .bh-page-head .bh-main-nav.active .bh-main-nav__link {
		color: var(--bh-white) !important;
		font-size: clamp(12px, 3vw, 16px) !important;
		line-height: 1.4 !important;
		letter-spacing: clamp(2px, 0.55vw, 3px) !important;
		text-align: left;
	}

	body.bh-page-variant-service header div nav.active > ul .nav-submenu {
		margin-top: 8px;
		padding-top: 8px;
	}

	body.bh-page-variant-service header div nav.active > ul .nav-submenu .nav-item a {
		font-size: clamp(11px, 2.8vw, 15px) !important;
	}

	body.bh-page-variant-service header div nav .bh-accessibility-control {
		display: none;
		position: fixed;
		left: calc(30 * var(--ratio));
		right: calc(30 * var(--ratio));
		bottom: calc(36 * var(--ratio));
		top: auto;
		width: auto;
		margin: 0;
		z-index: 12;
	}

	body.bh-page-variant-service header div nav.active .bh-accessibility-control {
		display: block;
	}

	body.bh-page-variant-service header div nav .bh-accessibility-control__toggle {
		width: 100%;
		justify-content: space-between;
		min-height: calc(58 * var(--ratio));
		padding: calc(14 * var(--ratio)) calc(20 * var(--ratio));
		background: var(--bh-white);
		color: var(--bh-blue);
	}

	body.bh-page-variant-service header div nav .bh-accessibility-control__panel {
		top: auto;
		right: 0;
		bottom: calc(100% + (12 * var(--ratio)));
		left: 0;
		width: auto;
		max-width: none;
	}

	body.bh-page-variant-service .bh-service-intro__links {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.bh-page-variant-service .deux-colonnes-titre-texte .contenu,
	body.bh-page-variant-service .bh-service-grid__head,
	:is(body.bh-page-variant-service, body.home) .bh-service-method__head,
	.bh-service-faq__head {
		display: block !important;
	}

	body.bh-page-variant-service .bh-service-grid__cards,
	:is(body.bh-page-variant-service, body.home) .bh-service-method__items {
		grid-template-columns: 1fr !important;
	}

	body.bh-page-variant-service .deux-colonnes-titre-texte .contenu {
		padding: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}
}

body.single-realisation.postid-91 #masterhead .textinfo .h1 {
	font-weight: 700 !important;
	letter-spacing: 1.2px !important;
}

body.single-realisation.postid-91 #masterhead .textinfo h2,
body.single-realisation.postid-91 .titre-texte-vs-visuel .right > .h1,
body.single-realisation.postid-91 .lightblue-bloc .zone-titre .h1,
body.single-realisation.postid-91 .le-projet .contenu > .h1,
body.single-realisation.postid-91 .le-projet .contenu .h2 {
	font-weight: 600 !important;
}

body.single-realisation.postid-91 .le-projet .contenu .zone-chiffres .bloc-chiffre .valeur {
	font-weight: 800 !important;
	letter-spacing: calc(0.5 * 14 / 50 * var(--ratio)) !important;
}

body.single-realisation.postid-91 #masterhead .image img,
body.single-realisation.postid-91 .titre-texte-vs-visuel .zone-visuel img,
body.single-realisation.postid-91 .lightblue-bloc .bh-inline-visual img,
body.single-realisation.postid-91 .le-projet .zone-dessin img,
body.single-realisation.postid-91 .numero-vs-texte .image img {
	display: block;
	width: 100%;
	height: auto;
}

body.bh-page-variant-service .bh-service-pdf-block-2 {
	padding: clamp(64px, 6vw, 92px) 0 0;
}

body.bh-page-variant-service .bh-service-pdf-block-2__grid {
	width: min(1380px, calc(100vw - clamp(72px, 7vw, 132px)));
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(520px, 1.16fr) minmax(0, 1fr);
	gap: clamp(28px, 3vw, 52px);
	align-items: start;
}

body.bh-page-variant-service .bh-service-pdf-block-2__left {
	display: grid;
	justify-items: start;
	gap: clamp(12px, 1.3vw, 20px);
	align-self: start;
	max-width: none;
}

body.bh-page-variant-service .bh-service-pdf-block-2__title {
	margin: 0;
	display: grid;
	max-width: none;
	gap: clamp(4px, 0.55vw, 10px);
	font-size: clamp(52px, 4.9vw, 72px);
	line-height: 0.92;
	letter-spacing: -0.02em;
	color: #050505;
}

body.bh-page-variant-service .bh-service-pdf-block-2__title-main {
	display: block;
	max-width: none;
	font-weight: 300;
	text-wrap: balance;
}

body.bh-page-variant-service .bh-service-pdf-block-2__title-script {
	display: block;
	margin-left: 0;
	white-space: nowrap;
	font-family: "PencilPete", cursive;
	font-size: clamp(58px, 4.8vw, 78px);
	line-height: 0.9;
	letter-spacing: 0;
	color: #1E19B8;
}

body.bh-page-variant-service .bh-service-pdf-block-2__picto {
	width: clamp(180px, 16vw, 280px);
	margin-left: clamp(48px, 4vw, 86px);
}

body.bh-page-variant-service .bh-service-pdf-block-2__picto img {
	display: block;
	width: 100%;
	height: auto;
}

body.bh-page-variant-service .bh-service-pdf-block-2__right {
	width: 100%;
	max-width: none;
	padding-top: clamp(12px, 1vw, 22px);
	justify-self: stretch;
	font-size: clamp(18px, 1.22vw, 22px);
	line-height: 1.48;
	letter-spacing: 0;
	color: #050505;
}

body.bh-page-variant-service .bh-service-pdf-block-2__right p {
	margin: 0 0 12px;
}

body.bh-page-variant-service .bh-service-pdf-block-2__right p:last-child {
	margin-bottom: 0;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method {
	padding-top: clamp(54px, 5vw, 76px);
	padding-bottom: clamp(40px, 4vw, 56px);
}

:is(body.bh-page-variant-service, body.home) .bh-service-method .contenu {
	width: min(1200px, calc(100vw - clamp(72px, 7vw, 132px)));
	box-sizing: border-box;
}

.bh-service-method {
	background: #ffffff;
}

.bh-service-method > .contenu {
	padding: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
}

/* Match the generous top rhythm used by the other full-width editorial sections. */
body .sections-page > section.bh-service-method {
	padding-top: clamp(72px, 7.2vw, 100px) !important;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__head {
	display: block !important;
	grid-template-columns: none !important;
	max-width: 860px;
	margin-bottom: clamp(28px, 3vw, 38px);
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__title {
	display: grid;
	gap: 2px;
	margin: 0;
	font-size: clamp(50px, 4.6vw, 64px);
	line-height: 0.96;
	letter-spacing: -0.015em;
	color: #050505;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__title-main {
	display: block;
	font-weight: 300;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__title-script {
	display: block;
	font-family: "PencilPete", cursive;
	font-size: clamp(52px, 4.4vw, 68px);
	line-height: 0.88;
	letter-spacing: 0;
	color: #1E19B8;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__intro {
	display: none;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__items {
	display: grid;
	grid-template-columns: 1fr !important;
	gap: 0;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item,
:is(body.bh-page-variant-service, body.home) .bh-service-method__item:hover {
	display: block;
	padding: clamp(60px, 6.2vw, 84px) clamp(48px, 5vw, 64px) !important;
	border: 0 !important;
	border-radius: 0 !important;
	border-left: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item--split:hover {
	display: grid;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item--media-left:hover {
	display: grid;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item {
	border-top: 1px solid rgba(128, 128, 128, 0.55) !important;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item:first-child {
	border-top: 0 !important;
	padding-top: clamp(36px, 3.8vw, 52px) !important;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item::before {
	display: none;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item--split {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: clamp(32px, 3.8vw, 56px);
	align-items: center;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item--media-left {
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item--media-left .bh-service-method__media {
	order: -1;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__content {
	width: 100%;
	max-width: none;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item--stacked .bh-service-method__content {
	max-width: 100%;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item .h2 {
	margin: 0 0 10px;
	font-size: clamp(18px, 1.22vw, 21px);
	line-height: 1.35;
	font-weight: 700;
	color: #1E19B8;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__text {
	display: none;
	font-size: 22px;
	line-height: 1.6;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__bullets {
	margin: 0;
	padding-left: 0 !important;
	list-style: none;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__bullets li {
	position: relative;
	display: block;
	padding-left: 0;
	text-indent: 20px;
	font-size: 22px;
	line-height: 1.6;
	color: #050505;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__bullets li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.6em;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #050505;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__bullets li + li {
	margin-top: 12px;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__media {
	width: 100%;
	max-width: 100%;
	justify-self: stretch;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__media img {
	display: block;
	width: 100%;
	height: auto;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item--1 .bh-service-method__media {
	width: 100%;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item--3 .bh-service-method__media {
	width: 100%;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item--3 .bh-service-method__media img {
	border-radius: 4px;
}

@media only screen and (max-width: 960px) {
	:is(body.bh-page-variant-service, body.home) .bh-service-method .contenu {
		width: min(700px, calc(100vw - (2 * var(--bh-gutter))));
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__item--split,
	:is(body.bh-page-variant-service, body.home) .bh-service-method__item--media-left {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__item--media-left .bh-service-method__media {
		order: initial;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__item--1 .bh-service-method__media,
	:is(body.bh-page-variant-service, body.home) .bh-service-method__item--3 .bh-service-method__media {
		width: min(220px, 52vw);
	}
	
	:is(body.bh-page-variant-service, body.home) .bh-service-method__title {
		font-size: clamp(40px, 9vw, 54px);
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__title-script {
		font-size: clamp(42px, 9vw, 60px);
	}
}

@media only screen and (max-width: 640px) {
	body.home .bh-service-method__title-main {
		font-size: clamp(32px, 10.2vw, 48px);
		line-height: 0.96;
	}

	body.home .bh-service-method__title-main:only-child {
		font-size: clamp(30px, 9vw, 42px);
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method {
		padding-top: 42px;
		padding-bottom: 34px;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__head {
		margin-bottom: 22px;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__item {
		padding: 30px 0 !important;
	}

	:is(body.bh-page-variant-service, body.home) .bh-service-method__bullets li {
		font-size: 16px;
		line-height: 1.58;
	}
}

@media only screen and (max-width: 960px) {
	body.bh-page-variant-service .bh-service-pdf-block-2 {
		padding-top: 40px;
	}

	body.bh-page-variant-service .bh-service-pdf-block-2__grid {
		width: min(700px, calc(100vw - (2 * var(--bh-gutter))));
		grid-template-columns: 1fr;
		gap: 26px;
		justify-items: center;
	}

	body.bh-page-variant-service .bh-service-pdf-block-2__left {
		justify-items: center;
		text-align: center;
	}

	body.bh-page-variant-service .bh-service-pdf-block-2__title {
		font-size: clamp(40px, 10vw, 56px);
	}

	body.bh-page-variant-service .bh-service-pdf-block-2__title-main {
		max-width: 12ch;
	}

	body.bh-page-variant-service .bh-service-pdf-block-2__title-script {
		font-size: clamp(42px, 9.5vw, 62px);
	}

	body.bh-page-variant-service .bh-service-pdf-block-2__picto {
		width: min(180px, 46vw);
		margin-left: 0;
	}

	body.bh-page-variant-service .bh-service-pdf-block-2__right {
		max-width: 100%;
		justify-self: stretch;
		font-size: clamp(17px, 4.4vw, 21px);
		text-align: left;
	}
}

@media only screen and (max-width: 1120px) {
	body.bh-page-variant-service .bh-service-grid__cards {
		column-count: 3 !important;
	}
}

@media only screen and (max-width: 900px) {
	body.bh-page-variant-service .bh-service-grid__cards {
		column-count: 2 !important;
	}
}

@media only screen and (max-width: 640px) {
	body.bh-page-variant-service .bh-service-grid__cards {
		column-count: 1 !important;
	}
}

@media only screen and (max-width: 640px) {
	body.home .nos-realisations.slidable.bh-service-cases .contenu {
		overflow: visible !important;
	}

	body.home .nos-realisations.slidable.bh-service-cases .scroller {
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		padding: 0 calc(30 * var(--ratio)) 12px !important;
		margin: 0 calc(-30 * var(--ratio));
	}

	body.home .nos-realisations.slidable.bh-service-cases .scroller::-webkit-scrollbar {
		display: none;
	}

	body.home .nos-realisations.slidable.bh-service-cases .scroller .trois-boites {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		justify-content: flex-start !important;
		width: max-content !important;
		min-width: 100%;
		margin: 0 !important;
		gap: calc(24 * var(--ratio));
		transition: none !important;
		padding-right: calc(30 * var(--ratio));
	}

	body.home .nos-realisations.slidable.bh-service-cases .scroller .trois-boites .boite {
		flex: 0 0 calc(492 * var(--ratio));
		width: calc(492 * var(--ratio)) !important;
		margin: calc(10 * var(--ratio)) 0 calc(50 * var(--ratio)) !important;
		scroll-snap-align: start;
	}

	body.home .nos-realisations.slidable.bh-service-cases .scroller .trois-boites .boite + .boite {
		margin-left: 0 !important;
	}

	body.home .nos-realisations.slidable.bh-service-cases .realisation-link {
		z-index: 2;
	}
}

.bh-simple-centered-text {
	padding: calc(72 * var(--ratio)) calc(24 * var(--ratio));
}

/* Block 33 title-only variant: keep the component reusable while tightening
 * only the space below a heading that has no editorial body. */
.bh-simple-centered-text--title-only {
	--bh-title-only-heading-gap: 20px;
	padding-bottom: calc(24 * var(--ratio));
}

.bh-simple-centered-text .contenu {
	max-width: calc(920 * var(--ratio));
	margin: 0 auto;
	text-align: center;
}

.bh-simple-centered-text .h1 {
	margin: 0 auto calc(24 * var(--ratio));
	max-width: calc(760 * var(--ratio));
	line-height: 0.98;
	letter-spacing: -0.02em;
}

.bh-simple-centered-text__title-main,
.bh-simple-centered-text__title-blue {
	display: inline;
}

.bh-simple-centered-text__title-blue {
	color: #1E19B8;
	font-family: "PencilPete", cursive;
	font-size: 1.08em;
	line-height: 0.9;
	letter-spacing: 0;
}

.bh-simple-centered-text__body {
	max-width: calc(720 * var(--ratio));
	margin: 0 auto;
	color: #050505;
	font-size: clamp(18px, 1.22vw, 22px);
	line-height: 1.48;
	letter-spacing: 0;
	text-align: left;
}

.bh-simple-centered-text__body > * {
	margin-top: 0;
	margin-bottom: calc(18 * var(--ratio));
}

.bh-simple-centered-text__body > *:last-child {
	margin-bottom: 0;
}

.bh-simple-centered-text__body p {
	text-align: inherit;
}

/* Block 33 lists: relaxed line spacing, with a clearer break between items. */
.bh-simple-centered-text__body :is(ul, ol) {
	padding-inline-start: 1.35em;
}

.bh-simple-centered-text__body li {
	line-height: 1.8;
}

.bh-simple-centered-text__body li + li {
	margin-top: 12px;
}

.bh-simple-centered-text__body h3 {
	margin: calc(30 * var(--ratio)) 0 calc(12 * var(--ratio));
	color: #050505;
	font-size: clamp(24px, 2vw, 32px);
	line-height: 1.12;
	letter-spacing: -0.01em;
	text-align: left;
}

@media only screen and (max-width: 900px) {
	.bh-simple-centered-text {
		padding: calc(56 * var(--ratio)) calc(16 * var(--ratio));
	}

	.bh-simple-centered-text--title-only {
		--bh-title-only-heading-gap: 12px;
		padding-bottom: calc(16 * var(--ratio));
	}

	.bh-simple-centered-text__body {
		font-size: 17px;
		line-height: 1.55;
	}
}

/* BeeHappy blocks 27/28/31: parity and content legibility fixes. */
.bh-project-split .zone-texte li {
	font-size: calc(20 * var(--ratio));
	line-height: calc(36 * 14 / 20 * var(--ratio));
	letter-spacing: calc(0.5 * 14 / 20 * var(--ratio));
}

.bh-project-split .zone-texte li p {
	font-size: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
}

body.single-realisation .sections-page .bh-project-split .zone-texte ul li a {
	color: #1E19B8;
}

body.bh-page-variant-service .bh-service-grid__cards {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: clamp(18px, 1.8vw, 26px);
	align-items: stretch;
	column-count: initial !important;
}

body.bh-page-variant-service .bh-service-grid__card,
body.bh-page-variant-service .bh-service-grid__card:first-child,
body.bh-page-variant-service .bh-service-grid__card:nth-child(odd) {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	margin: 0;
}

body.bh-page-variant-service .bh-service-grid__card.bh-service-grid__card--linked {
	padding: 0 !important;
}

body.bh-page-variant-service .bh-service-grid__card-link {
	padding: clamp(26px, 2.3vw, 34px) clamp(22px, 1.9vw, 28px);
}

body.bh-page-variant-service .bh-service-grid__card .link {
	margin-top: auto;
}

.bh-project-split .zone-texte ul {
	margin-top: calc(36 * var(--ratio));
	margin-bottom: calc(36 * var(--ratio));
}

.bh-project-split .zone-texte ul > p:empty {
	display: none;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__item--stacked,
:is(body.bh-page-variant-service, body.home) .bh-service-method__item--stacked:hover {
	display: block;
	grid-template-columns: none !important;
}

@media only screen and (max-width: 960px) {
	body.bh-page-variant-service .bh-service-grid__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media only screen and (max-width: 640px) {
	body.bh-page-variant-service .bh-service-grid__cards {
		grid-template-columns: 1fr !important;
	}

	.bh-project-split .zone-texte li {
		font-size: calc(24 * var(--ratio));
		line-height: calc(36 * 14 / 24 * var(--ratio));
		letter-spacing: calc(0.6 * 14 / 24 * var(--ratio));
	}
}

/* Bloc 28: contenu WYSIWYG libre, en paragraphes ou en liste à puces. */
:is(body.bh-page-variant-service, body.home) .bh-service-method__richtext {
	font-size: 18px;
	line-height: 1.8;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__richtext p,
:is(body.bh-page-variant-service, body.home) .bh-service-method__richtext li {
	font-size: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__richtext > :first-child {
	margin-top: 0;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__richtext > :last-child {
	margin-bottom: 0;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__richtext ul {
	margin: 22px 0 0;
	padding-left: 0;
	list-style: none;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__richtext li {
	position: relative;
	padding-left: 20px;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__richtext li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #1E19B8;
}

:is(body.bh-page-variant-service, body.home) .bh-service-method__richtext li + li {
	margin-top: 12px;
}

@media only screen and (max-width: 640px) {
	:is(body.bh-page-variant-service, body.home) .bh-service-method__richtext {
		font-size: 16px;
		line-height: 1.72;
	}
}

/* Actualites archive: avoid cross-browser flex wrapping caused by subpixel rounding. */
body.actualites.multiple .les-bonnes-actus .contenu .trois-boites {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: calc(63 * var(--ratio));
	row-gap: calc(50 * var(--ratio));
	align-items: stretch;
	justify-content: stretch;
}

body.actualites.multiple .les-bonnes-actus .contenu .trois-boites > .boite {
	width: auto;
	min-width: 0;
	margin: 0;
}

@media only screen and (max-width: 640px) {
	body.actualites.multiple .les-bonnes-actus .contenu .trois-boites {
		grid-template-columns: minmax(0, 1fr);
		column-gap: 0;
		row-gap: calc(40 * var(--ratio));
	}
}

/* Realisations archive: keep three stable columns across browser rounding models. */
body.realisations.multiple .nos-realisations .contenu .trois-boites {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: calc(63 * var(--ratio));
	row-gap: calc(78 * var(--ratio));
	align-items: stretch;
	justify-content: stretch;
}

body.realisations.multiple .nos-realisations .contenu .trois-boites > .boite,
body.realisations.multiple .nos-realisations .contenu .trois-boites > .boite:nth-child(1n+4),
body.realisations.multiple .nos-realisations .contenu .trois-boites > .boite + .boite {
	width: auto;
	min-width: 0;
	margin: 0;
}

@media only screen and (max-width: 640px) {
	body.realisations.multiple .nos-realisations .contenu .trois-boites {
		grid-template-columns: minmax(0, 1fr);
		column-gap: 0;
		row-gap: calc(78 * var(--ratio));
	}
}

/* Home cards: use an exact grid above mobile to prevent Firefox subpixel flex wrapping. */
@media only screen and (min-width: 641px) {
	body.home .nos-realisations .contenu .trois-boites,
	body.home .les-bonnes-actus .contenu .trois-boites {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: calc(63 * var(--ratio));
		row-gap: 0;
		align-items: stretch;
		justify-content: stretch;
	}

	body.home .nos-realisations .contenu .trois-boites > .boite,
	body.home .nos-realisations .contenu .trois-boites > .boite + .boite,
	body.home .les-bonnes-actus .contenu .trois-boites > .boite,
	body.home .les-bonnes-actus .contenu .trois-boites > .boite + .boite {
		width: auto;
		min-width: 0;
		margin: 0;
	}
}

/* Realisation cards: consistent title and summary hierarchy on every page. */
.nos-realisations .contenu .trois-boites .boite .zone-texte h3 {
	color: var(--bh-blue);
	font-size: 16px !important;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.nos-realisations .contenu .trois-boites .boite .zone-texte .resume {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.01em;
}

/* Engagement partner rows: avoid Firefox/WebKit subpixel flex wrapping. */
body.demarche.single .ils-nous-accompagnent .trois-boites {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: calc(63 * var(--ratio));
	align-items: stretch;
	justify-content: stretch;
}

body.demarche.single .ils-nous-accompagnent .trois-boites > .boite {
	width: auto;
	min-width: 0;
	margin: 0;
}

@media only screen and (max-width: 640px) {
	body.demarche.single .ils-nous-accompagnent .trois-boites {
		grid-template-columns: minmax(0, 1fr);
		column-gap: 0;
		row-gap: 5em;
	}

	body.demarche.single .ils-nous-accompagnent .trois-boites > .boite:nth-child(2),
	body.demarche.single .ils-nous-accompagnent .trois-boites > .boite:nth-child(3) {
		margin-top: 0;
	}
}

/* Shared legacy page introductions: use the available tablet width. */
@media only screen and (min-width: 641px) and (max-width: 1180px) {
  body.demarche.single .bh-page-wrap--full > .bh-flex-page > #masterhead .description,
  body.multiple .bh-page-wrap--full > .bh-flex-page > #masterhead .description {
    box-sizing: border-box;
    width: min(760px, calc(100% - 64px)) !important;
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}

/* Engagement detail blocks: stack the heading/illustration above the long copy
 * until both columns have enough room to coexist without overlapping. */
@media only screen and (min-width: 641px) and (max-width: 1399px) {
  body.page-id-20 .titre-picto-vs-liste .contenu {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: min(920px, calc(100% - 64px));
    padding: clamp(64px, 8vw, 96px) 0;
    row-gap: clamp(42px, 6vw, 64px);
  }

  body.page-id-20 .titre-picto-vs-liste .contenu > .col,
  body.page-id-20 .titre-picto-vs-liste .contenu > .col:first-child,
  body.page-id-20 .titre-picto-vs-liste .contenu > .col:last-child {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0;
  }

  body.page-id-20 .titre-picto-vs-liste .contenu > .col:first-child {
    text-align: center;
  }

  body.page-id-20 .titre-picto-vs-liste .contenu > .col:first-child .zone-image {
    width: min(180px, 30vw);
    margin: 0 auto;
    padding-top: clamp(24px, 4vw, 40px);
  }

  body.page-id-20 .titre-picto-vs-liste .bh-block10-content {
    width: min(820px, 100%);
    margin: 0 auto;
  }
}

/* Partner cards: never let their paragraph use the old oversized calculated width. */
body.page-id-20 .ils-nous-accompagnent .trois-boites > .boite .paragraphe,
body.page-id-20 .ils-nous-accompagnent .trois-boites > .boite .paragraphe p {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
}

body.page-id-20 .ils-nous-accompagnent .trois-boites > .boite .paragraphe {
  margin: clamp(22px, 2.4vw, 34px) 0 0 !important;
}

body.page-id-20 .ils-nous-accompagnent .trois-boites > .boite .paragraphe p {
  margin: 0 !important;
  overflow-wrap: anywhere;
}

@media only screen and (min-width: 641px) and (max-width: 960px) {
  body.page-id-20.demarche.single .ils-nous-accompagnent .trois-boites {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: clamp(32px, 6vw, 48px);
    row-gap: clamp(56px, 8vw, 72px);
  }

  body.page-id-20 .ils-nous-accompagnent .trois-boites > .boite:nth-child(3):last-child {
    grid-column: 1 / -1;
    width: calc((100% - clamp(32px, 6vw, 48px)) / 2);
    justify-self: center;
  }
}

/* Service pages: white navigation over the dark-mode canvas. */
html.bh-accessibility-dark body.bh-page-variant-service header div nav:not(.active) > ul > .nav-item > a {
	color: #ffffff !important;
}

html.bh-accessibility-dark body.bh-page-variant-service nav.breadcrumb,
html.bh-accessibility-dark body.bh-page-variant-service nav.breadcrumb *,
html.bh-accessibility-dark body.bh-page-variant-service #masterhead h1 {
	color: #b5b5ff !important;
}

html.bh-accessibility-dark body.bh-page-variant-service #masterhead .description,
html.bh-accessibility-dark body.bh-page-variant-service #masterhead .description p {
	color: #f5f5f1 !important;
}

html.bh-accessibility-dark body.bh-page-variant-service .bh-service-pdf-block-2__title-main,
html.bh-accessibility-dark body.bh-page-variant-service .bh-service-pdf-block-2__right,
html.bh-accessibility-dark body.bh-page-variant-service .bh-service-pdf-block-2__right *,
html.bh-accessibility-dark body.bh-page-variant-service .bh-simple-centered-text__title-main,
html.bh-accessibility-dark body.bh-page-variant-service .bh-simple-centered-text__body,
html.bh-accessibility-dark body.bh-page-variant-service .bh-simple-centered-text__body p,
html.bh-accessibility-dark body.bh-page-variant-service .bh-simple-centered-text__body strong,
html.bh-accessibility-dark body.bh-page-variant-service .bh-service-cases__title-main,
html.bh-accessibility-dark body.bh-page-variant-service .bh-service-cases__intro,
html.bh-accessibility-dark body.bh-page-variant-service .bh-service-cases__intro p {
	color: #f5f5f1 !important;
}

html.bh-accessibility-dark body.bh-page-variant-service .bh-service-pdf-block-2__title-script,
html.bh-accessibility-dark body.bh-page-variant-service .bh-simple-centered-text__title-blue,
html.bh-accessibility-dark body.bh-page-variant-service .bh-service-cases__title-script,
html.bh-accessibility-dark body.bh-page-variant-service .bh-simple-centered-text__body a {
	color: #b5b5ff !important;
}

/* Creation de contenus: realization cards aligned with the approved mockup. */
body.bh-page-variant-service .bh-service-cases {
	background: #ffffff;
}

body.bh-page-variant-service .bh-service-cases__intro {
	width: min(820px, 100%);
	max-width: 820px;
	font-size: 20px;
	line-height: 1.65;
}

body.bh-page-variant-service .bh-service-cases__intro p {
	font-size: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
}

body.bh-page-variant-service .bh-service-cases .scroller {
	width: 100%;
	overflow: visible;
}

body.bh-page-variant-service .bh-service-cases .trois-boites {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: clamp(28px, 2.6vw, 40px) !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.bh-page-variant-service .bh-service-cases .trois-boites > .boite {
	display: flex;
	flex-direction: column;
	width: auto !important;
	min-width: 0;
	min-height: 0 !important;
	margin: 0 !important;
	overflow: hidden;
	border: 0 !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.1) !important;
}

body.bh-page-variant-service .bh-service-cases .zone-visuel {
	width: 100%;
	height: auto !important;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #eeeeee;
}

body.bh-page-variant-service .bh-service-cases .zone-visuel img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.bh-page-variant-service .bh-service-cases .zone-texte {
	width: auto;
	margin: 0;
	padding: 26px 24px 30px;
}

body.bh-page-variant-service .bh-service-cases .boite .h2 {
	margin: 0 0 8px;
	font-family: var(--bh-text);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #2825a8;
}

body.bh-page-variant-service .bh-service-cases .resume {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.42;
	color: #171717;
}

body.bh-page-variant-service .bh-service-cases .resume p {
	margin: 0;
	font-size: inherit !important;
	font-weight: inherit;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	color: inherit;
}

html.bh-accessibility-dark body.bh-page-variant-service .bh-service-cases {
	background: #121212;
}

@media only screen and (max-width: 960px) {
	body.bh-page-variant-service .bh-service-cases .trois-boites {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* Service realization cards: neutralize the legacy fixed text width/margins.
 * The old calc(280 * var(--ratio)) rule narrowed the copy panel at every
 * non-mobile width, which clipped titles and activated the three-line clamp
 * unnecessarily. Let the text panel fill the card in both two- and
 * three-column grids. */
body.bh-page-variant-service .bh-service-cases .contenu .trois-boites .boite .zone-texte {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none;
	margin: 0 !important;
	min-width: 0;
}

body.bh-page-variant-service .bh-service-cases .boite .zone-texte .h2 {
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: normal;
}

/* Keep card titles on a readable responsive scale in multi-column layouts.
 * This prevents long one-word client names from being clipped or splitting
 * off a final letter while preserving the compact mobile typography. */
@media only screen and (min-width: 641px) {
	body.bh-page-variant-service .bh-service-cases .boite .zone-texte .h2 {
		font-size: clamp(20px, 2.2vw, 32px) !important;
	}
}

body.bh-page-variant-service .bh-service-cases .contenu .trois-boites .boite .zone-texte .resume {
	display: block !important;
	overflow: visible !important;
	text-overflow: clip !important;
	-webkit-line-clamp: unset !important;
	line-clamp: unset !important;
	-webkit-box-orient: initial !important;
}

@media only screen and (min-width: 641px) and (max-width: 960px) {
	body.bh-page-variant-service .bh-service-cases .contenu .trois-boites .boite .zone-texte {
		padding: 24px 22px 28px;
	}
}

@media only screen and (max-width: 640px) {
	body.bh-page-variant-service .bh-service-cases {
		padding: 48px 0 64px;
	}

	body.bh-page-variant-service .bh-service-cases__intro {
		font-size: 18px;
		line-height: 1.65;
	}

	body.bh-page-variant-service .bh-service-cases .scroller {
		overflow: visible !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.bh-page-variant-service .bh-service-cases .trois-boites {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 24px !important;
		transform: none !important;
	}

	body.bh-page-variant-service .bh-service-cases .trois-boites > .boite {
		width: 100% !important;
	}

	body.bh-page-variant-service .bh-service-cases .zone-texte {
		padding: 22px 20px 26px;
	}

	body.bh-page-variant-service .bh-service-cases .boite .h2 {
		font-size: 13px;
	}

	body.bh-page-variant-service .bh-service-cases .resume {
		font-size: 15px;
		line-height: 1.5;
	}
}

/* Keep desktop submenus aligned and identical in both header variants. */
@media only screen and (min-width: 641px) {
	header div nav > ul .nav-submenu,
	.bh-main-nav__sublist {
		min-width: calc(310 * var(--bh-source-unit));
	}

	body:not(.home) header div nav > ul .nav-submenu > .nav-item,
	.bh-main-nav__sublist > .bh-main-nav__item {
		margin-left: 0 !important;
	}

	body:not(.home) header div nav > ul .nav-submenu > .nav-item + .nav-item,
	.bh-main-nav__sublist > .bh-main-nav__item + .bh-main-nav__item {
		margin-top: calc(10 * var(--bh-source-unit));
	}

	body header div nav > ul .nav-submenu > .nav-item > a,
	body .bh-main-nav__sublist > .bh-main-nav__item > .bh-main-nav__link {
		font-size: clamp(13.8px, 1vw, 15px) !important;
		line-height: clamp(56px, 4.1vw, 60px) !important;
		letter-spacing: clamp(2.35px, 0.19vw, 2.95px) !important;
	}
}

@media only screen and (min-width: 641px) and (max-width: 1366px) {
	body header div nav > ul .nav-submenu > .nav-item > a,
	body .bh-main-nav__sublist > .bh-main-nav__item > .bh-main-nav__link {
		font-size: clamp(12.4px, 1.2vw, 13.4px) !important;
		line-height: 52px !important;
		letter-spacing: 2px !important;
	}
}

.bh-submenu-toggle {
	display: none;
}

.juste-un-texte {
	background-color: transparent;
}

/* Legal pages: keep the typography and rhythm aligned with the current Bee Happy site. */
.bh-flex-page--legal > #masterhead {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: calc(10 * var(--bh-source-unit)) 0 calc(30 * var(--bh-source-unit));
}

.bh-flex-page--legal > #masterhead h1 {
	width: calc(528 * var(--bh-source-unit));
	margin: 0 auto calc(66 * var(--bh-source-unit));
	font-size: calc(80 * var(--bh-source-unit));
	line-height: calc(70 * var(--bh-source-unit));
	letter-spacing: calc(2 * var(--bh-source-unit));
	text-transform: capitalize;
}

.bh-flex-page--legal > #masterhead .description {
	width: calc(668 * var(--bh-source-unit));
	max-width: none;
	margin: 0 auto;
	font-family: Arial, sans-serif;
	font-size: calc(20 * var(--bh-source-unit));
	line-height: calc(32 * var(--bh-source-unit));
	letter-spacing: calc(.5 * var(--bh-source-unit));
}

.bh-flex-page--legal > .sections-page {
	width: calc(1200 * var(--bh-source-unit));
	max-width: none;
	margin: 0 auto;
	padding: 0;
}

.bh-flex-page--legal .juste-un-texte .contenu,
.bh-flex-page--legal .juste-un-texte .zone-texte {
	width: 100%;
	max-width: none;
}

.bh-flex-page--legal .juste-un-texte .zone-texte {
	color: #000;
	font-family: Arial, sans-serif;
}

.bh-flex-page--legal .juste-un-texte h3.h2,
.bh-flex-page--legal .juste-un-texte h3.h2:first-child {
	margin: calc(48 * var(--bh-source-unit)) 0 calc(14.4 * var(--bh-source-unit));
	color: #000;
	font-family: Arial, sans-serif;
	font-size: calc(24 * var(--bh-source-unit));
	font-weight: 600;
	line-height: calc(36 * var(--bh-source-unit));
	letter-spacing: calc(.6 * var(--bh-source-unit));
	text-transform: uppercase;
}

.bh-flex-page--legal .juste-un-texte .zone-texte p {
	margin: 0;
	color: #000;
	font-size: calc(20 * var(--bh-source-unit));
	font-weight: 400;
	line-height: calc(36 * var(--bh-source-unit));
	letter-spacing: calc(.5 * var(--bh-source-unit));
	text-align: left;
}

.bh-flex-page--legal .juste-un-texte .zone-texte p + p {
	margin-top: calc(16 * var(--bh-source-unit));
}

.bh-flex-page--legal .juste-un-texte .zone-texte a {
	color: #1E19B8;
}

@media only screen and (max-width: 640px) {
	.bh-flex-page--legal > #masterhead {
		padding: calc(10 * var(--bh-source-unit)) 0 calc(30 * var(--bh-source-unit));
	}

	.bh-flex-page--legal > #masterhead h1 {
		width: calc(528 * var(--bh-source-unit));
		font-size: calc(80 * var(--bh-source-unit));
		line-height: calc(90 * var(--bh-source-unit));
		margin-bottom: calc(100 * var(--bh-source-unit));
	}

	.bh-flex-page--legal > #masterhead .description {
		width: 100%;
		padding: 0 calc(34.2857 * var(--bh-source-unit));
		font-size: calc(24 * var(--bh-source-unit));
		line-height: calc(36 * var(--bh-source-unit));
		letter-spacing: calc(.6 * var(--bh-source-unit));
	}

	.bh-flex-page--legal > .sections-page {
		width: 100%;
		padding: 0 calc(20 * var(--bh-source-unit));
	}

	.bh-flex-page--legal .juste-un-texte h3.h2,
	.bh-flex-page--legal .juste-un-texte h3.h2:first-child {
		margin: calc(56 * var(--bh-source-unit)) 0 calc(16.8 * var(--bh-source-unit));
		font-size: calc(28 * var(--bh-source-unit));
		line-height: calc(36 * var(--bh-source-unit));
		letter-spacing: calc(.7 * var(--bh-source-unit));
	}

	.bh-flex-page--legal .juste-un-texte .zone-texte p {
		font-size: calc(24 * var(--bh-source-unit));
		line-height: calc(36 * var(--bh-source-unit));
		letter-spacing: calc(.6 * var(--bh-source-unit));
	}

	.bh-flex-page--legal .juste-un-texte .zone-texte p + p {
		margin-top: calc(19.2 * var(--bh-source-unit));
	}
}

@media only screen and (min-width: 641px) {
	.bh-flex-page--legal {
		padding-top: calc(14.6 * var(--bh-source-unit));
	}
}

/* Mobile submenu: collapsed by default, visibly nested, opened by its own arrow. */
@media only screen and (max-width: 640px) {
	header div nav > ul > .nav-item--has-children,
	.bh-main-nav__list > .bh-main-nav__item--has-children {
		display: grid !important;
		grid-template-columns: 40px auto 40px;
		align-items: center;
		justify-content: center;
		width: 100%;
	}

	header div nav > ul > .nav-item--has-children > a,
	.bh-main-nav__list > .bh-main-nav__item--has-children > .bh-main-nav__link {
		grid-column: 2;
	}

	header div nav > ul > .nav-item--has-children > .bh-submenu-toggle,
	.bh-main-nav__list > .bh-main-nav__item--has-children > .bh-submenu-toggle {
		grid-column: 3;
	}

	header div nav > ul > .nav-item--has-children > a::after,
	.bh-main-nav__list > .bh-main-nav__item--has-children > .bh-main-nav__link::after {
		content: none !important;
	}

	.bh-submenu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--bh-white) !important;
		cursor: pointer;
	}

	.bh-submenu-toggle span {
		display: block;
		width: 10px;
		height: 10px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translateY(-3px) rotate(45deg);
		transition: transform 180ms ease;
	}

	.is-submenu-open > .bh-submenu-toggle span {
		transform: translateY(3px) rotate(225deg);
	}

	header div nav > ul .nav-submenu,
	.bh-main-nav__sublist {
		display: none !important;
		grid-column: 1 / -1;
		width: calc(100% - 48px);
		margin: 16px 0 0 48px !important;
		padding: 14px 0 4px 18px !important;
		border-left: 2px solid rgb(255 255 255 / 55%);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	header div nav > ul .is-submenu-open > .nav-submenu,
	.bh-main-nav__item.is-submenu-open > .bh-main-nav__sublist {
		display: block !important;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	header div nav > ul .nav-submenu > .nav-item + .nav-item,
	.bh-main-nav__sublist > .bh-main-nav__item + .bh-main-nav__item {
		margin-top: 10px !important;
	}

	header div nav > ul .nav-submenu > .nav-item > a,
	.bh-main-nav__sublist > .bh-main-nav__item > .bh-main-nav__link {
		padding-top: 7px !important;
		padding-bottom: 7px !important;
		line-height: 1.45 !important;
		text-align: left;
	}
}

/* Démarche: keep the longer hero title on one line without squeezing the side visuals. */
@media only screen and (min-width: 901px) {
	body.page-id-37 #masterhead.bh-masterhead-illustrated h1 {
		font-size: clamp(58px, 4.6vw, 65px) !important;
		line-height: 0.9 !important;
		white-space: nowrap;
	}
}

/* Démarche: the mission block is the blue three-column statement section. */
body.page-id-37 .notre-mission {
	display: flow-root;
	background-color: var(--bh-blue, #1E19B8);
	color: #fff;
}

body.page-id-37 .notre-mission .h1,
body.page-id-37 .notre-mission .h2,
body.page-id-37 .notre-mission .paragraphe,
body.page-id-37 .notre-mission .paragraphe p {
	color: #fff;
}

body.page-id-37 .notre-mission .zone-tags .service-link {
	border-color: #fff;
	background-color: #fff;
	color: var(--bh-blue, #1E19B8);
}

@media only screen and (min-width: 641px) {
	body.page-id-37 .bh-service-intro__grid,
	body.page-id-37 .deux-colonnes-titre-texte .contenu {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.page-id-37 .notre-mission .trois-boites {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: clamp(24px, 2.8vw, 40px);
	}
}

@media only screen and (max-width: 640px) {
	body.page-id-37 .notre-mission .trois-boites {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Mobile navigation: replace viewport-scaled gaps with a centered, scroll-safe rhythm. */
@media only screen and (max-width: 640px) {
	.bh-main-nav.is-open,
	.bh-main-nav.active {
		inset: 0;
		width: 100%;
		height: 100dvh;
		padding: 0;
		display: block;
		z-index: 1000;
	}

	.bh-main-nav.is-open .bh-main-nav__toggle,
	.bh-main-nav.active .bh-main-nav__toggle {
		position: fixed;
		top: clamp(18px, 4vw, 30px);
		right: clamp(18px, 4vw, 30px);
		margin: 0;
		z-index: 1003;
	}

	.bh-main-nav__list {
		box-sizing: border-box;
		min-height: 100dvh;
		height: 100dvh;
		padding: clamp(92px, 14dvh, 150px) clamp(24px, 7vw, 48px) clamp(108px, 16dvh, 154px);
		justify-content: safe center;
		gap: clamp(24px, 4.5dvh, 44px);
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
	}

	.bh-main-nav__list > .bh-main-nav__item,
	.bh-main-nav__list > .bh-main-nav__item + .bh-main-nav__item {
		margin: 0;
	}

	.bh-main-nav__list > .bh-main-nav__item--has-children {
		flex: 0 0 auto;
	}

	.bh-main-nav.is-open .bh-accessibility-control,
	.bh-main-nav.active .bh-accessibility-control {
		position: fixed;
		right: clamp(16px, 4vw, 30px);
		bottom: max(14px, env(safe-area-inset-bottom));
		left: clamp(16px, 4vw, 30px);
		width: auto;
		margin: 0;
		z-index: 1003;
	}

	.bh-main-nav.is-open .bh-accessibility-control__toggle,
	.bh-main-nav.active .bh-accessibility-control__toggle {
		width: 100%;
		justify-content: space-between;
		background: var(--bh-white);
		color: var(--bh-blue);
	}

	.bh-main-nav.is-open .bh-accessibility-control__panel,
	.bh-main-nav.active .bh-accessibility-control__panel {
		top: auto;
		right: 0;
		bottom: calc(100% + 10px);
		width: 100%;
	}
}

/* Apply the validated home mobile menu to the legacy/internal header shell too. */
@media only screen and (max-width: 640px) {
  body.nav-active header > div > nav.active {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100dvh;
    padding: 0;
    display: block;
    z-index: 1000;
  }

  body.nav-active header > div > nav.active > .menu-icon {
    position: fixed;
    top: clamp(18px, 4vw, 30px);
    right: clamp(18px, 4vw, 30px);
    margin: 0;
    z-index: 1003;
  }

  body.nav-active header > div > nav.active > ul {
    position: fixed;
    inset: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: safe center;
    gap: clamp(24px, 4.5dvh, 44px);
    width: 100vw;
    min-height: 100dvh;
    height: 100dvh;
    margin: 0;
    padding: clamp(92px, 14dvh, 150px) clamp(24px, 7vw, 48px) clamp(108px, 16dvh, 154px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }

  body.nav-active header > div > nav.active > ul > .nav-item,
  body.nav-active header > div > nav.active > ul > .nav-item + .nav-item {
    width: auto;
    margin: 0 !important;
  }

  body.nav-active header > div > nav.active > ul > .nav-item > a {
    color: var(--bh-white) !important;
    font-size: calc(36 * var(--bh-source-unit)) !important;
    line-height: calc(42 * var(--bh-source-unit)) !important;
    letter-spacing: calc(7.2 * var(--bh-source-unit)) !important;
    text-align: center;
  }

  body.nav-active header > div > nav.active > ul > .nav-item--has-children {
    flex: 0 0 auto;
    display: grid !important;
    grid-template-columns: 40px auto 40px;
    align-items: center;
    justify-content: center;
    width: 100%;
  }

  body.nav-active header > div > nav.active .bh-accessibility-control {
    position: fixed;
    right: clamp(16px, 4vw, 30px);
    bottom: max(14px, env(safe-area-inset-bottom));
    left: clamp(16px, 4vw, 30px);
    display: block;
    width: auto;
    margin: 0;
    z-index: 1003;
  }

  body.nav-active header > div > nav.active .bh-accessibility-control__toggle {
    width: 100%;
    min-height: calc(58 * var(--bh-source-unit)) !important;
    padding: calc(14 * var(--bh-source-unit)) calc(20 * var(--bh-source-unit)) !important;
    justify-content: space-between;
    background: var(--bh-white);
    color: var(--bh-blue);
    font-size: calc(18 * var(--bh-source-unit)) !important;
  }

  body.nav-active header > div > nav.active .bh-accessibility-control__panel {
    top: auto;
    right: 0;
    bottom: calc(100% + 10px);
    width: 100%;
  }
}

/* Editorial links: visible underline, excluding navigation and button-like links. */
body :where(p, li) a:not(.button):not(.cta):not(.service-link):not(.article-target):not(.realisation-link):not([role="button"]) {
	text-decoration-line: underline;
	text-decoration-thickness: 0.06em;
	text-underline-offset: 0.16em;
}

body :where(header, nav, footer, .breadcrumb, .filters, .zone-cta, .bh-section-cta) :where(p, li) a {
	text-decoration: none !important;
}

/* Numeric anchors generated for stacked flexible-content blocks. */
[id^="bloc-"] {
	scroll-margin-top: clamp(92px, 9vw, 138px);
}

.bh-block-anchor {
	display: block;
	height: 0;
	margin: 0;
	padding: 0;
	visibility: hidden;
}

/* Home dark mode — method blocks keep a full-width blue surface. */
html.bh-accessibility-dark body.home .bh-service-method {
	background: #1e19b8 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.home .bh-service-method > .contenu {
	background: transparent !important;
}

html.bh-accessibility-dark body.home .bh-service-method :is(.bh-service-method__title, .bh-service-method__title-main, .bh-service-method__content, .bh-service-method__content h3, .bh-service-method__richtext, .bh-service-method__richtext p) {
	color: #ffffff !important;
}

html.bh-accessibility-dark body.home .bh-service-method .bh-service-method__title-script {
	color: #000000 !important;
}

/* Dark mode — every SVG added to editorial content is white automatically.
 * Header/footer brand marks, social icons, emojis and realization artwork stay untouched. */
html.bh-accessibility-dark body:not(.single-realisation) .sections-page img[src*=".svg" i]:not(.emoji):not(.wp-smiley),
html.bh-accessibility-dark body.single-post .masterhead .description img[src*=".svg" i]:not(.emoji):not(.wp-smiley),
html.bh-accessibility-dark .masterhead > .image img[src*=".svg" i]:not(.emoji):not(.wp-smiley),
html.bh-accessibility-dark body.single-realisation .zone-dessin img[src*=".svg" i]:not(.emoji):not(.wp-smiley) {
	filter: brightness(0) invert(1) !important;
}

/* Home dark mode — "AGENCE engagée ET RESPONSABLE" block. */
html.bh-accessibility-dark body.home .sections-page > .deux-colonnes-titre-texte:not(.sur-bleu) {
	background: #1e19b8 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.home .sections-page > .deux-colonnes-titre-texte:not(.sur-bleu) .contenu,
html.bh-accessibility-dark body.home .sections-page > .deux-colonnes-titre-texte:not(.sur-bleu) .col,
html.bh-accessibility-dark body.home .sections-page > .deux-colonnes-titre-texte:not(.sur-bleu) h2,
html.bh-accessibility-dark body.home .sections-page > .deux-colonnes-titre-texte:not(.sur-bleu) p,
html.bh-accessibility-dark body.home .sections-page > .deux-colonnes-titre-texte:not(.sur-bleu) a {
	color: #ffffff !important;
}

html.bh-accessibility-dark body.home .sections-page > .deux-colonnes-titre-texte:not(.sur-bleu) h2 .manus {
	color: #000000 !important;
}

html.bh-accessibility-dark body.home .sections-page > .deux-colonnes-titre-texte:not(.sur-bleu) .cta {
	border-color: #ffffff !important;
}

/* Home dark mode — "NOS EXPERTISES" heading. */
html.bh-accessibility-dark body.home .notre-mission > .contenu > h2,
html.bh-accessibility-dark body.home .notre-mission > .contenu > h2 * {
	color: #ffffff !important;
}

/* Home dark mode — realization cards. */
html.bh-accessibility-dark body.home .nos-realisations .boite,
html.bh-accessibility-dark body.home .nos-realisations .boite .zone-texte {
	background: #1e19b8 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.home .nos-realisations .boite .zone-texte :is(h3, .h2, .resume, p) {
	color: #ffffff !important;
}

/* Home dark mode — freelance network heading. */
html.bh-accessibility-dark body.home .notre-reseau-freelance h2 {
	color: #ffffff !important;
}

html.bh-accessibility-dark body.home .notre-reseau-freelance h2 .manus {
	color: #1e19b8 !important;
}

/* Home dark mode — clients list and news section heading. */
html.bh-accessibility-dark body.home .nos-clients > .contenu > h2,
html.bh-accessibility-dark body.home .nos-clients li,
html.bh-accessibility-dark body.home .nos-clients li a,
html.bh-accessibility-dark body.home .les-bonnes-actus > .contenu > h2 {
	color: #ffffff !important;
}

/* Home dark mode — news cards. */
html.bh-accessibility-dark body.home .les-bonnes-actus .boite {
	background: #1e19b8 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.home .les-bonnes-actus .boite :is(.date, .auteur, .auteur span, .titre, h3) {
	color: #ffffff !important;
}

/* Home dark mode — latest realizations heading. */
html.bh-accessibility-dark body.home .nos-realisations .bh-service-cases__head h2,
html.bh-accessibility-dark body.home .nos-realisations .bh-service-cases__title-main {
	color: #ffffff !important;
}

html.bh-accessibility-dark body.home .nos-realisations .bh-section-cta .button {
	color: #ffffff !important;
	border-color: #ffffff !important;
}

/* Dark mode — use the white/blue Bee Happy header logo. */
html.bh-accessibility-dark header .logo img[src*="bee-happy-black-blue.svg"] {
	content: url("../images/brand/bee-happy-white-blue.svg") !important;
}

/* Dark mode — internal page titles and introductions on black. */
html.bh-accessibility-dark body.page:not(.home) #masterhead h1,
html.bh-accessibility-dark body.page:not(.home) #masterhead h1 *,
html.bh-accessibility-dark body.page:not(.home) #masterhead .description,
html.bh-accessibility-dark body.page:not(.home) #masterhead .description *,
html.bh-accessibility-dark body.page:not(.home) #masterhead > p,
html.bh-accessibility-dark body.page:not(.home) #masterhead .bh-masterhead-illustrated__content > p {
	color: #ffffff !important;
}

/* Dark mode — breadcrumbs. */
html.bh-accessibility-dark body.page:not(.home) .breadcrumb,
html.bh-accessibility-dark body.page:not(.home) .breadcrumb :is(a, span, li, p) {
	color: #ffffff !important;
}

/* Engagements dark mode — section heading base text. */
html.bh-accessibility-dark body.page-id-20 .titre-picto-vs-liste h2 {
	color: #ffffff !important;
}

html.bh-accessibility-dark body.page-id-20 .titre-picto-vs-liste h2 .manus {
	color: #1e19b8 !important;
}

html.bh-accessibility-dark body.page-id-20 .bh-block10-content__text a[href*="portal.aprovall.com"] {
	color: #b5b5ff !important;
	font-weight: 700;
	text-decoration: underline 2px #b5b5ff !important;
	text-underline-offset: 4px !important;
}

/* Dark mode — FAQ section and accordion blocks. */
html.bh-accessibility-dark .bh-service-faq {
	background: transparent !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark .bh-service-faq .bh-service-faq__head h2,
html.bh-accessibility-dark .bh-service-faq .bh-service-faq__head .h1 {
	color: #ffffff !important;
}

html.bh-accessibility-dark .bh-service-faq__item {
	background: transparent !important;
	border-color: rgba(255, 255, 255, 0.24) !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark .bh-service-faq__item :is(summary, .bh-service-faq__question, .bh-service-faq__answer, .bh-service-faq__answer p, .bh-service-faq__answer li, .bh-service-faq__answer a) {
	color: #ffffff !important;
}

html.bh-accessibility-dark .bh-service-faq__item summary::before,
html.bh-accessibility-dark .bh-service-faq__item summary::after {
	background: #ffffff !important;
}

/* Engagements dark mode — "Pour aller plus loin" links. */
html.bh-accessibility-dark body.page-id-20 .juste-un-texte a {
	color: #ffffff !important;
}

/* Method dark mode — steps 2 and 4 panels. */
html.bh-accessibility-dark body.page-id-15 .sections-page > .numero-vs-texte:nth-child(2),
html.bh-accessibility-dark body.page-id-15 .sections-page > .numero-vs-texte:nth-child(4) {
	background: #1e19b8 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.page-id-15 .sections-page > .numero-vs-texte:nth-child(2) :is(.numero, h2, h2 *, p, p *, blockquote, a),
html.bh-accessibility-dark body.page-id-15 .sections-page > .numero-vs-texte:nth-child(4) :is(.numero, h2, h2 *, p, p *, blockquote, a) {
	color: #ffffff !important;
}

/* Démarche dark mode — method cards. */
html.bh-accessibility-dark body.page-id-37 .bh-service-method__item {
	background: #1e19b8 !important;
}

html.bh-accessibility-dark body.page-id-37 .bh-service-method__title,
html.bh-accessibility-dark body.page-id-37 .bh-service-method__title * {
	color: #ffffff !important;
}

/* Démarche dark mode — centered explanatory text and post-FAQ CTA. */
html.bh-accessibility-dark body.page-id-37 .bh-simple-centered-text__body,
html.bh-accessibility-dark body.page-id-37 .bh-simple-centered-text__body :is(p, h3, strong, a),
html.bh-accessibility-dark body.page-id-37 .bh-simple-centered-text > .contenu > h2,
html.bh-accessibility-dark body.page-id-37 .bh-simple-centered-text > .contenu > h2 * {
	color: #ffffff !important;
}

/* Actualités dark mode — remove hero paper image. */
html.bh-accessibility-dark body.page-id-210 #masterhead > .bg {
	display: none !important;
}

/* Actualités dark mode — article cards. */
html.bh-accessibility-dark body.page-id-210 .trois-boites > article.boite {
	background: #1e19b8 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.page-id-210 .trois-boites > article.boite :is(.date, .auteur, .auteur span, .titre, h2) {
	color: #ffffff !important;
}

/* Réalisations dark mode — remove hero paper image. */
html.bh-accessibility-dark body.post-type-archive-realisation #masterhead > .bg {
	display: none !important;
}

/* Réalisations dark mode — portfolio cards. */
html.bh-accessibility-dark body.post-type-archive-realisation .trois-boites > article.boite,
html.bh-accessibility-dark body.post-type-archive-realisation .trois-boites > article.boite .zone-texte {
	background: #1e19b8 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.post-type-archive-realisation .trois-boites > article.boite .zone-texte :is(h2, h3, .h1, .resume, p) {
	color: #ffffff !important;
}

html.bh-accessibility-dark body.post-type-archive-realisation .filter.open-filter.cta {
	color: #ffffff !important;
}

/* Contact dark mode — entire form area and left information panel. */
html.bh-accessibility-dark body.page-id-14 .formulaire,
html.bh-accessibility-dark body.page-id-14 .formulaire .left,
html.bh-accessibility-dark body.page-id-14 .formulaire .left .content {
	background: #121212 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.page-id-14 .formulaire .left :is(p, b, a, .link) {
	color: #ffffff !important;
}

html.bh-accessibility-dark body.page-id-14 .formulaire > div::before {
	background: #121212 !important;
}

/* Ekwateur case study dark mode — request headline. */
html.bh-accessibility-dark body.postid-579 .titre-texte-vs-visuel .right > h2,
html.bh-accessibility-dark body.postid-579 .titre-texte-vs-visuel .right > h2 * {
	color: #ffffff !important;
}

/* Realisation detail dark mode — light-blue editorial panel. */
html.bh-accessibility-dark body.single-realisation .lightblue-bloc,
html.bh-accessibility-dark body.single-realisation .lightblue-bloc > .contenu {
	background: #1e19b8 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.single-realisation .lightblue-bloc :is(h2, h2 *, p, p *, a) {
	color: #ffffff !important;
}

/* Realisation detail dark mode — split request/response headings. */
html.bh-accessibility-dark body.single-realisation .bh-project-split .right > h2.h1,
html.bh-accessibility-dark body.single-realisation .bh-project-split .right > h2.h1 * {
	color: #ffffff !important;
}

/* Groupe Brut case study dark mode — key headings. */
html.bh-accessibility-dark body.postid-504 .titre-texte-vs-visuel .right > h2,
html.bh-accessibility-dark body.postid-504 .titre-texte-vs-visuel .right > h2 * {
	color: #ffffff !important;
}

html.bh-accessibility-dark .plume::before,
html.bh-accessibility-dark .plume::after {
	background: #ffffff !important;
}

/* Dark mode — decorative controls that otherwise disappear on black. */
html.bh-accessibility-dark .bh-service-faq__toggle {
	background: #1e19b8 !important;
	border-color: #1e19b8 !important;
}

html.bh-accessibility-dark .bh-service-faq__toggle::before,
html.bh-accessibility-dark .bh-service-faq__toggle::after,
html.bh-accessibility-dark header #bh-page-menu > li > a::before,
html.bh-accessibility-dark body.page-id-15 .sections-page > .numero-vs-texte:nth-child(odd) blockquote p::before,
html.bh-accessibility-dark body.page-id-15 .sections-page > .numero-vs-texte:nth-child(odd) blockquote p::after {
	background: #ffffff !important;
}

/* Société à mission dark mode — white panels become blue. */
html.bh-accessibility-dark body.postid-294 .sections-page > .titre-texte-vs-visuel,
html.bh-accessibility-dark body.postid-294 .sections-page > .titre-sur-texte {
	background: #1e19b8 !important;
	color: #ffffff !important;
}

/* Société à mission dark mode — light-blue panel becomes black. */
html.bh-accessibility-dark body.postid-294 .sections-page > .titre-vs-texte.reverse {
	background: #121212 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.postid-294 .sections-page > :is(.titre-texte-vs-visuel, .titre-sur-texte, .titre-vs-texte.reverse) :is(h1, h1 *, h2, h2 *, h3, h3 *, h4, h4 *, p, p *, li, li *, a, blockquote) {
	color: #ffffff !important;
}

/* Article dark mode — convert legacy light editorial panels consistently. */
html.bh-accessibility-dark body.single-post .sections-page > .titre-texte-vs-visuel,
html.bh-accessibility-dark body.single-post .sections-page > .titre-sur-texte {
	background: #1e19b8 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.single-post .sections-page > .titre-vs-texte.reverse {
	background: #121212 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.single-post .sections-page > :is(.titre-texte-vs-visuel, .titre-sur-texte, .titre-vs-texte.reverse) :is(h1, h1 *, h2, h2 *, h3, h3 *, h4, h4 *, p, p *, li, li *, a, blockquote) {
	color: #ffffff !important;
}

/* Dark mode — header services submenu. */
html.bh-accessibility-dark header .nav-submenu {
	background: #121212 !important;
}

html.bh-accessibility-dark header .nav-submenu a {
	color: #ffffff !important;
}

/* Creation de contenus dark mode — service cards. */
html.bh-accessibility-dark body.bh-page-variant-service .bh-service-grid__card,
html.bh-accessibility-dark body.bh-page-variant-service .bh-service-grid__card-link {
	background: #1e19b8 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.bh-page-variant-service .bh-service-grid__card :is(h2, h3, p, p *, a) {
	color: #ffffff !important;
}

/* Method blocks dark mode — preserve the full-width surface on every page type. */
html.bh-accessibility-dark .bh-service-method {
	background: #1e19b8 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark .bh-service-method > .contenu {
	background: transparent !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.bh-page-variant-service .bh-service-method > .contenu :is(h2, h2 *, h3, h3 *, p, p *, li, li *, a) {
	color: #ffffff !important;
}

html.bh-accessibility-dark body.bh-page-variant-service .bh-service-method li::before {
	background: #ffffff !important;
}

/* Creation de contenus dark mode — portfolio cards. */
html.bh-accessibility-dark body.bh-page-variant-service .bh-service-cases article.boite,
html.bh-accessibility-dark body.bh-page-variant-service .bh-service-cases article.boite .zone-texte {
	background: #1e19b8 !important;
	color: #ffffff !important;
}

html.bh-accessibility-dark body.bh-page-variant-service .bh-service-cases article.boite .zone-texte :is(h2, h3, .resume, p, p *) {
	color: #ffffff !important;
}

html.bh-accessibility-dark .bh-service-faq__intro,
html.bh-accessibility-dark .bh-service-faq__intro * {
	color: #ffffff !important;
}

/* Home dark mode — final contact prompt. */
html.bh-accessibility-dark body.home .bh-simple-centered-text__title-main,
html.bh-accessibility-dark body.home .bh-simple-centered-text__body,
html.bh-accessibility-dark body.home .bh-simple-centered-text__body * {
	color: #ffffff !important;
}

/* Home dark mode — “Pourquoi choisir” heading, preserving its blue script accent. */
html.bh-accessibility-dark body.home .titre-picto-vs-liste h2.h1 {
	color: #ffffff !important;
}

/* Mobile navigation: one blue surface in both themes and one shared close icon. */
@media only screen and (max-width: 640px) {
	html body .bh-main-nav:is(.is-open, .active) > .bh-main-nav__list,
	html body.nav-active header > div > nav.active > ul {
		background: #1e19b8 !important;
	}

	html body .bh-main-nav:is(.is-open, .active) .bh-main-nav__sublist,
	html body.nav-active header > div > nav.active .nav-submenu {
		background: #1e19b8 !important;
	}

	.bh-main-nav:is(.is-open, .active) > .bh-main-nav__toggle::before,
	body.nav-active header > div > nav.active > .menu-icon::before {
		background-color: #ffffff !important;
		background-image: none !important;
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2231.1%22 height=%2231.1%22 viewBox=%220 0 31.1 31.1%22%3E%3Cpath d=%22M18.4,15.6L29.7,4.2c0.8-0.8,0.8-2,0-2.8c-0.8-0.8-2-0.8-2.8,0L15.6,12.7L4.2,1.4c-0.8-0.8-2-0.8-2.8,0c-0.8,0.8-0.8,2,0,2.8l11.3,11.3L1.4,26.9c-0.8,0.8-0.8,2,0,2.8c0.8,0.8,2,0.8,2.8,0l11.3-11.3l11.3,11.3c0.8,0.8,2,0.8,2.8,0c0.8-0.8,0.8-2,0-2.8L18.4,15.6z%22/%3E%3C/svg%3E");
		-webkit-mask-position: center;
		-webkit-mask-repeat: no-repeat;
		-webkit-mask-size: calc(40 * var(--bh-source-unit)) calc(28 * var(--bh-source-unit));
		mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2231.1%22 height=%2231.1%22 viewBox=%220 0 31.1 31.1%22%3E%3Cpath d=%22M18.4,15.6L29.7,4.2c0.8-0.8,0.8-2,0-2.8c-0.8-0.8-2-0.8-2.8,0L15.6,12.7L4.2,1.4c-0.8-0.8-2-0.8-2.8,0c-0.8,0.8-0.8,2,0,2.8l11.3,11.3L1.4,26.9c-0.8,0.8-0.8,2,0,2.8c0.8,0.8,2,0.8,2.8,0l11.3-11.3l11.3,11.3c0.8,0.8,2,0.8,2.8,0c0.8-0.8,0.8-2,0-2.8L18.4,15.6z%22/%3E%3C/svg%3E");
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: calc(40 * var(--bh-source-unit)) calc(28 * var(--bh-source-unit));
	}
}

/* Service block 28 — one shared mobile layout for every service and sub-service page. */
@media only screen and (max-width: 640px) {
	body.bh-page-variant-service .bh-service-method > .contenu {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		padding: 32px 18px 28px !important;
	}

	body.bh-page-variant-service .bh-service-method .bh-service-method__head {
		max-width: none !important;
		margin-bottom: 30px !important;
	}

	body.bh-page-variant-service .bh-service-method .bh-service-method__title {
		width: 100%;
		max-width: 100%;
		font-size: clamp(30px, 9vw, 38px) !important;
		line-height: 0.98 !important;
		overflow-wrap: break-word;
	}

	body.bh-page-variant-service .bh-service-method :is(.bh-service-method__title-main, .bh-service-method__title-script) {
		display: block;
		max-width: 100%;
	}

	body.bh-page-variant-service .bh-service-method :is(.bh-service-method__items, .bh-service-method__item, .bh-service-method__content) {
		min-width: 0;
		max-width: 100%;
	}

	body.bh-page-variant-service .bh-service-method .bh-service-method__item {
		padding: 36px 18px 22px !important;
	}

	body.bh-page-variant-service .bh-service-method :is(.bh-service-method__bullets, .bh-service-method__richtext ul) {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		padding-left: 0 !important;
	}

	body.bh-page-variant-service .bh-service-method :is(.bh-service-method__bullets, .bh-service-method__richtext ul) li {
		min-width: 0;
		padding-left: 18px !important;
		overflow-wrap: break-word;
	}
}

/* Service block 30 — keep titles and rich text inside the mobile viewport. */
@media only screen and (max-width: 640px) {
	body.bh-page-variant-service .bh-service-pdf-block-2__grid {
		box-sizing: border-box;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		min-width: 0;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 24px !important;
	}

	body.bh-page-variant-service :is(.bh-service-pdf-block-2__left, .bh-service-pdf-block-2__right) {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	body.bh-page-variant-service .bh-service-pdf-block-2__title {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		font-size: clamp(30px, 9vw, 38px) !important;
		line-height: 1 !important;
		overflow-wrap: anywhere;
	}

	body.bh-page-variant-service .bh-service-pdf-block-2__title-main {
		width: 100%;
		max-width: 100% !important;
		overflow-wrap: anywhere;
	}

	body.bh-page-variant-service .bh-service-pdf-block-2__title-script {
		width: 100%;
		max-width: 100%;
		white-space: normal !important;
		font-size: clamp(32px, 9.5vw, 40px) !important;
		line-height: 1 !important;
		overflow-wrap: anywhere;
		text-wrap: balance;
	}

	body.bh-page-variant-service .bh-service-pdf-block-2__right,
	body.bh-page-variant-service .bh-service-pdf-block-2__right p {
		overflow-wrap: anywhere;
	}

	/* Long service names were a second source of page-level horizontal scroll. */
	body.bh-page-variant-service .bh-flex-page > section.masterhead h1 {
		max-width: 100%;
		font-size: clamp(42px, 13vw, 52px) !important;
		overflow-wrap: anywhere;
		hyphens: auto;
	}
}

/* Accessibility control — inverse palette in light mode, blue palette in dark mode. */
html:not(.bh-accessibility-dark) body .bh-accessibility-control__toggle,
html:not(.bh-accessibility-dark) body .bh-accessibility-control__panel {
	background: var(--bh-white);
	color: var(--bh-blue);
}

html:not(.bh-accessibility-dark) body .bh-accessibility-control__toggle {
	border: 1px solid var(--bh-blue);
}

html:not(.bh-accessibility-dark) body .bh-accessibility-control__panel .bh-accessibility__button:hover,
html:not(.bh-accessibility-dark) body .bh-accessibility-control__panel .bh-accessibility__button:focus-visible,
html:not(.bh-accessibility-dark) body .bh-accessibility-control__panel .bh-accessibility__button.is-active {
	background: var(--bh-blue);
	color: var(--bh-white);
}

html:not(.bh-accessibility-dark) body .bh-accessibility-control__toggle:focus-visible,
html:not(.bh-accessibility-dark) body .bh-accessibility-control__panel .bh-accessibility__button:focus-visible {
	outline-color: var(--bh-blue);
}

html.bh-accessibility-dark body .bh-accessibility-control__toggle,
html.bh-accessibility-dark body .bh-accessibility-control__panel {
	background: var(--bh-blue) !important;
	color: var(--bh-white) !important;
}

html.bh-accessibility-dark body .bh-accessibility-control__toggle {
	border-color: var(--bh-white) !important;
}

/* The Home uses a taller desktop navigation row than inner templates. */
@media only screen and (min-width: 641px) {
	body.home .bh-accessibility-control {
		top: calc(6.4 * var(--bh-source-unit));
	}
}

/* Home: float the navigation only, without the logo. */
html.bh-nav-scrolled body.home:not(.nav-active) header nav:not(.active):not(.is-open) {
	position: fixed !important;
	top: var(--bh-floating-nav-top) !important;
	right: auto !important;
	bottom: auto !important;
	left: var(--bh-floating-nav-left) !important;
	width: var(--bh-floating-nav-width) !important;
	margin: 0 !important;
	background: var(--bh-blue);
	z-index: 1000;
}

html.bh-nav-scrolled body.home:not(.nav-active) header nav:not(.active):not(.is-open)::after {
	content: "";
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	height: var(--bh-floating-nav-bottom);
	background: var(--bh-blue);
	pointer-events: none;
	z-index: -1;
}

html.bh-accessibility-dark.bh-nav-scrolled body.home:not(.nav-active) header nav:not(.active):not(.is-open),
html.bh-accessibility-dark.bh-nav-scrolled body.home:not(.nav-active) header nav:not(.active):not(.is-open)::after {
	background: var(--bh-surface-dark);
}

/* Other pages: float the original header row so the logo remains visible. */
html.bh-nav-scrolled body:not(.home):not(.nav-active) header > div {
	position: fixed !important;
	top: var(--bh-floating-shell-top) !important;
	right: auto !important;
	bottom: auto !important;
	left: var(--bh-floating-shell-left) !important;
	width: var(--bh-floating-shell-width) !important;
	margin: 0 !important;
	background: var(--bh-white);
	z-index: 1000;
}

html.bh-nav-scrolled body:not(.home):not(.nav-active) header > div::before {
	content: "";
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	height: var(--bh-floating-shell-bottom);
	background: var(--bh-white);
	pointer-events: none;
	z-index: -1;
}

html.bh-accessibility-dark.bh-nav-scrolled body:not(.home):not(.nav-active) header > div,
html.bh-accessibility-dark.bh-nav-scrolled body:not(.home):not(.nav-active) header > div::before {
	background: var(--bh-surface-dark);
}

/* Mobile inner pages: keep a true 10px background below the scrolled hamburger. */
@media only screen and (max-width: 640px) {
	html.bh-nav-scrolled body:not(.home):not(.nav-active) header > div::before {
		height: calc(var(--bh-floating-nav-bottom) + 10px) !important;
	}
}

/* Engagements mobile: reduce oversized checks and reclaim text width. */
@media only screen and (max-width: 640px) {
	body.page-id-20 .titre-picto-vs-liste .bh-block10-content__text ul {
		padding-left: calc(45 * var(--ratio)) !important;
	}

	body.page-id-20 .titre-picto-vs-liste .bh-block10-content__text li::before {
		width: calc(18 * var(--ratio)) !important;
		height: calc(13.2 * var(--ratio)) !important;
		margin-left: calc(-45 * var(--ratio)) !important;
	}
}

/* Site-wide mobile rhythm: consistent top-level spacing, gutters, and bounded titles. */
@media only screen and (max-width: 640px) {
	:root {
		--bh-mobile-block-space: 48px;
	}

	body:not(.single-realisation) section#masterhead {
		box-sizing: border-box;
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding-top: var(--bh-mobile-block-space) !important;
		padding-bottom: var(--bh-mobile-block-space) !important;
	}

	body:not(.single-realisation) #masterhead > h1,
	body:not(.single-realisation) #masterhead > .description {
		box-sizing: border-box;
		width: calc(100vw - (2 * var(--bh-gutter))) !important;
		max-width: none !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	body:not(.single-realisation) section#masterhead > h1 {
		font-size: clamp(36px, 12.5vw, 56px) !important;
		line-height: 1.12 !important;
		text-wrap: balance;
		overflow-wrap: break-word;
	}

	body.home section#masterhead > h1 {
		font-size: clamp(34px, 9.375vw, 48px) !important;
	}

	body.single-post article#masterhead {
		padding-top: var(--bh-mobile-block-space) !important;
		padding-bottom: var(--bh-mobile-block-space) !important;
	}

	body.single-post article#masterhead > h1 {
		font-size: clamp(26px, 7.5vw, 42px) !important;
		line-height: 1.16 !important;
		text-wrap: balance;
		overflow-wrap: break-word;
	}

	body:not(.single-realisation) #masterhead > .description {
		font-size: clamp(15px, 3.75vw, 18px) !important;
		line-height: 1.55 !important;
	}

	body .sections-page > section[id^="bloc-"],
	body .sections-page > .boutons-single[id^="bloc-"],
	body .sections-page > section.bh-service-method[id^="bloc-"] {
		padding-top: var(--bh-mobile-block-space) !important;
		padding-bottom: var(--bh-mobile-block-space) !important;
	}

	body .sections-page > section.bh-simple-centered-text--title-only[id^="bloc-"] {
		padding-bottom: calc(16 * var(--ratio)) !important;
	}

	body .sections-page > section[id^="bloc-"] > .contenu {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	body .sections-page > section[id^="bloc-"]:not(.lightblue-bloc):not(.bh-service-cases) > .contenu {
		box-sizing: border-box;
		width: calc(100% - (2 * var(--bh-gutter))) !important;
		max-width: none !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	body .sections-page > section.lightblue-bloc[id^="bloc-"] {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	body .sections-page > section.lightblue-bloc[id^="bloc-"] > .contenu {
		padding-top: var(--bh-mobile-block-space) !important;
		padding-bottom: var(--bh-mobile-block-space) !important;
	}

	body .sections-page > .numero-vs-texte[id^="bloc-"] {
		padding-top: var(--bh-mobile-block-space) !important;
		padding-bottom: var(--bh-mobile-block-space) !important;
	}

	body .sections-page > .numero-vs-texte[id^="bloc-"] > .contenu {
		box-sizing: border-box;
		width: calc(100% - (2 * var(--bh-gutter))) !important;
		max-width: none !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	body .sections-page > section[id^="bloc-"] h2.h1 {
		max-width: 100%;
		font-size: clamp(26px, 7.8vw, 38px) !important;
		line-height: 1.25 !important;
		text-wrap: balance;
		overflow-wrap: break-word;
	}

	body .sections-page > section.bh-service-pdf-block-2[id^="bloc-"] h2.h1 {
		font-size: clamp(30px, 9vw, 42px) !important;
	}

	body .sections-page > section.bh-service-method[id^="bloc-"] h2.h1,
	body .sections-page > section.bh-service-faq[id^="bloc-"] h2.h1 {
		font-size: clamp(34px, 11vw, 44px) !important;
		line-height: 1 !important;
	}

	body .sections-page > section[id^="bloc-"] h3 {
		max-width: 100%;
		overflow-wrap: break-word;
	}
}

/* Green SEO block 1: align the full block with the site's standard content grid. */
@media only screen and (min-width: 961px) {
	body.page-id-769 #bloc-1 .bh-service-pdf-block-2__grid {
		width: 85.7142857%;
		max-width: 1200px;
	}
}

@media only screen and (max-width: 960px) {
	body.page-id-769 #bloc-1 .bh-service-pdf-block-2__grid {
		width: min(700px, calc(100vw - (2 * var(--bh-gutter)))) !important;
		max-width: calc(100vw - (2 * var(--bh-gutter))) !important;
	}
}

/* Mobile footer: keep the recruitment CTA clear of the member-logo rule. */
@media only screen and (max-width: 640px) {
	.bh-site-foot__row--buttons {
		margin-top: 20px !important;
		margin-bottom: 20px !important;
	}
}

/* === Bee Happy consolidated overrides (formerly beehappy-overrides.css) === */
:root {
  --bh-text-scale: 1;
  --bh-base-fs-desktop: calc(100vw * 14 / 1400);
  --bh-base-fs-mobile: calc(100vw * 14 / 640);
  --fs: calc(var(--bh-base-fs-desktop) * var(--bh-text-scale));
}

@media only screen and (max-width: 640px) {
  :root {
    --fs: calc(var(--bh-base-fs-mobile) * var(--bh-text-scale));
  }

  /* Home block 9 mobile: keep list checks inside the content gutter. */
  body.home #bloc-9.titre-picto-vs-liste .contenu .col:last-child ul {
    box-sizing: border-box;
    padding-left: calc(75 * var(--bh-source-unit));
  }

  body.home #bloc-9.titre-picto-vs-liste .contenu .col:last-child ul li::before {
    box-sizing: border-box;
    left: calc(-75 * var(--bh-source-unit));
    width: calc(30 * var(--bh-source-unit));
    height: calc(22 * var(--bh-source-unit));
    margin-left: 0;
    margin-top: calc(5 * var(--bh-source-unit));
  }
}

html.bh-accessibility-dark {
  color-scheme: dark;
}

/* Home hero: paragraph links stay readable on the blue surface in both themes. */
body.home #masterhead .description p a,
html.bh-accessibility-dark body.home #masterhead .description p a {
  color: #ffffff !important;
  text-decoration-color: #ffffff !important;
}

/* Home expertise cards: blue pictograms/titles in light mode, white in dark mode. */
body.home .notre-mission .trois-boites .bh-expertise-card__main .h2,
body.home .notre-mission .trois-boites .service-link {
  color: #1e19b8 !important;
}

/* Home expertise links: compact inline text, wrapping only when space runs out. */
body.home .notre-mission .trois-boites .zone-tags {
  display: block !important;
  text-align: center;
}

body.home .notre-mission .trois-boites .zone-tags .service-link {
  display: inline-flex !important;
  margin: 3px 4px !important;
  padding: 4px 8px !important;
  border: 1px solid transparent !important;
  background: #ffffff !important;
  font-size: clamp(10px, 0.85vw, 12px) !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  white-space: nowrap !important;
}

body.home .notre-mission .trois-boites .zone-tags .service-link:hover,
body.home .notre-mission .trois-boites .zone-tags .service-link:focus-visible {
  border-color: #1e19b8 !important;
  background: #ffffff !important;
}

body.home .notre-mission .trois-boites .bh-expertise-card__main img[src*=".svg" i] {
  filter: none !important;
}

body.home .notre-mission .bh-expertise-card__main img[src*="picto-mains-coeur-noir.svg" i] {
  content: url("../images/home-expertise/picto-mains-coeur-bleu.svg");
}

body.home .notre-mission .bh-expertise-card__main img[src*="picto-main-dessine.svg" i] {
  content: url("../images/home-expertise/picto-main-dessine-bleu.svg");
}

body.home .notre-mission .bh-expertise-card__main img[src*="picto-terre-aile.svg" i] {
  content: url("../images/home-expertise/picto-terre-aile-bleu.svg");
}

body.home .notre-mission .bh-expertise-card__main img[src*="picto-crayon-pinceau.svg" i] {
  content: url("../images/home-expertise/picto-crayon-pinceau-bleu.svg");
}

html.bh-accessibility-dark body.home .notre-mission .trois-boites .bh-expertise-card__main .h2 {
  color: #ffffff !important;
}

html.bh-accessibility-dark body.home .notre-mission .trois-boites .bh-expertise-card__main img[src*=".svg" i] {
  filter: brightness(0) invert(1) !important;
}

/* Home closing contact block: halve the title-to-paragraph spacing. */
body.home #bloc-11.bh-simple-centered-text .h1 {
  margin-bottom: calc(12 * var(--ratio));
}

/* Home mobile: keep the latest-realizations heading inside the page gutter. */
@media (max-width: 640px) {
  body.home .bh-service-cases .bh-service-cases__head {
    box-sizing: border-box;
    padding-inline: calc(30 * var(--ratio));
  }

  body.home .bh-service-cases .bh-service-cases__head > .h1 {
    font-size: calc(44 * var(--ratio));
  }

  body.home .nos-realisations.slidable.bh-service-cases .scroller {
    margin-inline: 0 !important;
    scroll-padding-left: calc(30 * var(--ratio)) !important;
  }

  body.home #bloc-6 > .contenu {
    margin-bottom: calc(36.4 * var(--ratio)) !important;
  }

  body.home #bloc-6 .bh-section-cta {
    margin-top: 32px !important;
  }

  body.home #bloc-6 + .notre-reseau-freelance > .contenu {
    margin-top: calc(36.4 * var(--ratio)) !important;
  }

  html.bh-nav-scrolled body.home:not(.nav-active) header nav:not(.active):not(.is-open)::after {
    height: calc(var(--bh-floating-nav-bottom) + (20 * var(--ratio))) !important;
  }
}

/* Desktop footer: three equal columns with the logo inside column one. */
@media (min-width: 641px) {
  .bh-site-foot__blue {
    position: relative;
  }

  .bh-site-foot__blue::before,
  .bh-site-foot__blue::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 5px;
    bottom: -5px;
    border-left: 1px solid rgb(112 112 112 / 70%);
    pointer-events: none;
  }

  .bh-site-foot__blue::before {
    left: calc(50% - (212 * var(--bh-source-unit)));
  }

  .bh-site-foot__blue::after {
    left: calc(50% + (212 * var(--bh-source-unit)));
  }

  .bh-site-foot__row--logo {
    position: absolute;
    z-index: 1;
    top: calc(47 * var(--bh-source-unit));
    left: 50%;
    padding: 0;
    transform: translateX(-50%);
    pointer-events: none;
  }

  .bh-site-foot__row--blue {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: calc(72 * var(--bh-source-unit));
    align-items: start;
    padding: calc(47 * var(--bh-source-unit)) 0 calc(60 * var(--bh-source-unit));
  }

  .bh-site-foot__row--blue > .bh-site-foot__column {
    min-width: 0;
    margin: 0 !important;
  }

  .bh-site-foot__row--blue > .bh-site-foot__column:first-child {
    padding-top: calc((96 * var(--bh-source-unit)) + 20px);
  }
}

html.bh-accessibility-dark body,
html.bh-accessibility-dark .layout,
html.bh-accessibility-dark .content-section,
html.bh-accessibility-dark .lightblue-bloc,
html.bh-accessibility-dark .bg-news,
html.bh-accessibility-dark .formulaire,
html.bh-accessibility-dark .popin-mentions {
  background-color: #121212 !important;
  color: #f5f5f1 !important;
}

html.bh-accessibility-dark body.actualites.multiple,
html.bh-accessibility-dark body.realisations.multiple {
  background-image: none !important;
}

/* Keep white archive-hero copy readable over the paper texture in dark mode. */
html.bh-accessibility-dark body.tax-activite #masterhead > .bg img,
html.bh-accessibility-dark body.tax-client #masterhead > .bg img {
  filter: brightness(0.38) contrast(1.08);
}

/* Shared realization filter: one reusable dark-mode surface on every archive/filter URL. */
html.bh-accessibility-dark #filters {
  background-color: #1e19b8 !important;
}

html.bh-accessibility-dark #filters .button:not(.active) {
  background-color: #0a0839 !important;
  color: #ffffff !important;
}

html.bh-accessibility-dark #filters .button.active,
html.bh-accessibility-dark #filters .button:not(.active):hover,
html.bh-accessibility-dark #filters .button:not(.active):focus-visible {
  background-color: #1e19b8 !important;
  color: #ffffff !important;
}

/* Shared testimonial block on every realization detail page. */
html.bh-accessibility-dark .le-client-a-aime h2,
html.bh-accessibility-dark .le-client-a-aime h2 *,
html.bh-accessibility-dark .le-client-a-aime .citation,
html.bh-accessibility-dark .le-client-a-aime .citation * {
  color: #ffffff !important;
}

html.bh-accessibility-dark .le-client-a-aime .citation::before,
html.bh-accessibility-dark .le-client-a-aime .citation::after {
  background-color: #ffffff !important;
}

html.bh-accessibility-dark body.tax-activite .nos-realisations article.boite,
html.bh-accessibility-dark body.tax-activite .nos-realisations article.boite .zone-texte,
html.bh-accessibility-dark body.tax-client .nos-realisations article.boite,
html.bh-accessibility-dark body.tax-client .nos-realisations article.boite .zone-texte {
  background-color: #1e19b8 !important;
}

html.bh-accessibility-dark body.tax-activite .nos-realisations article.boite .zone-texte h3,
html.bh-accessibility-dark body.tax-client .nos-realisations article.boite .zone-texte h3 {
  color: #ffffff !important;
}

html.bh-accessibility-dark body.tax-activite .nos-realisations article.boite .zone-texte .resume,
html.bh-accessibility-dark body.tax-activite .nos-realisations article.boite .zone-texte .resume *,
html.bh-accessibility-dark body.tax-client .nos-realisations article.boite .zone-texte .resume,
html.bh-accessibility-dark body.tax-client .nos-realisations article.boite .zone-texte .resume * {
  color: #d2d2cf !important;
}

html.bh-accessibility-dark a,
html.bh-accessibility-dark h1,
html.bh-accessibility-dark h2,
html.bh-accessibility-dark h3,
html.bh-accessibility-dark h4,
html.bh-accessibility-dark p,
html.bh-accessibility-dark li,
html.bh-accessibility-dark span {
  color: inherit;
}

body.single-realisation.postid-91 #masterhead .textinfo .h1 {
  font-weight: 700;
  letter-spacing: 1.2px;
}

body.single-realisation.postid-91 #masterhead .textinfo h2,
body.single-realisation.postid-91 .titre-texte-vs-visuel .right > .h1,
body.single-realisation.postid-91 .lightblue-bloc .zone-titre .h1,
body.single-realisation.postid-91 .le-projet .contenu > .h1,
body.single-realisation.postid-91 .le-projet .contenu .h2 {
  font-weight: 600;
}

body.single-realisation.postid-91 .le-projet .contenu .zone-chiffres .bloc-chiffre .valeur {
  font-weight: 800;
  letter-spacing: calc(0.5 * 14 / 50 * var(--ratio));
}

body.single-realisation.postid-91 #masterhead .image img,
body.single-realisation.postid-91 .lightblue-bloc .bh-inline-visual img,
body.single-realisation.postid-91 .le-projet .zone-dessin img,
body.single-realisation.postid-91 .numero-vs-texte .image img {
  display: block;
  width: 100%;
  height: auto;
}

body.single-realisation.postid-91 .titre-texte-vs-visuel .zone-visuel img {
  display: block;
  width: calc(527 * var(--ratio));
  max-width: 100%;
  height: auto;
}

.bh-site-foot__link,
.bh-site-foot__row--mentions a,
.bh-site-foot__row--mentions p {
  color: #fff;
}

.bh-site-foot__row--mentions {
  justify-content: center;
}

body.contact .formulaire > div .formulaire-zone form .content-form > ul.double-odd > li .asterisque p {
  margin-top: calc(14 * var(--ratio));
  font-style: normal;
}

body.contact #bh_contact_captcha_answer {
  text-transform: none;
}

body.bh-contact-modal-open {
  overflow: hidden;
}

.bh-contact-success-modal[hidden] {
  display: none !important;
}

.bh-contact-success-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(18, 18, 18, 0.72);
  backdrop-filter: blur(5px);
}

.bh-contact-success-modal__panel {
  position: relative;
  width: min(620px, 100%);
  max-height: calc(100dvh - 48px);
  overflow-y: auto;
  box-sizing: border-box;
  padding: clamp(36px, 6vw, 64px);
  border: 3px solid #1e19b8;
  border-radius: 28px;
  background: #fff;
  color: #171717;
  text-align: center;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.3);
}

.bh-contact-success-modal__close {
  position: absolute;
  top: 14px;
  right: 16px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #1e19b8;
  color: #fff;
  font: 400 32px/1 Arial, sans-serif;
  cursor: pointer;
}

.bh-contact-success-modal__close:focus-visible,
.bh-contact-success-modal__linkedin:focus-visible {
  outline: 3px solid #ffcc00;
  outline-offset: 4px;
}

.bh-contact-success-modal h2 {
  margin: 0 0 18px;
  color: #1e19b8;
  font-size: clamp(38px, 6vw, 64px);
  line-height: 1;
}

.bh-contact-success-modal p {
  margin: 0;
  color: #171717;
  font-size: clamp(18px, 2.1vw, 24px);
  line-height: 1.5;
}

.bh-contact-success-modal .bh-contact-success-modal__follow {
  margin-top: 18px;
  font-weight: 700;
}

.bh-contact-success-modal__wink {
  display: inline-flex;
  width: 1.05em;
  height: 1.05em;
  vertical-align: -0.14em;
}

.bh-contact-success-modal__wink svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.bh-contact-success-modal__linkedin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin-top: 28px;
  padding: 12px 24px;
  border-radius: 999px;
  background: #1e19b8;
  color: #fff !important;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.bh-contact-success-modal__linkedin:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(30, 25, 184, 0.28);
}

@media only screen and (max-width: 640px) {
  .bh-contact-success-modal {
    padding: 16px;
  }

  .bh-contact-success-modal__panel {
    max-height: calc(100dvh - 32px);
    padding: 48px 22px 32px;
    border-radius: 22px;
  }

  .bh-contact-success-modal__close {
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
  }

  .bh-contact-success-modal__linkedin {
    width: 100%;
    box-sizing: border-box;
  }
}

@media only screen and (max-width: 640px) {
  header div nav .bh-accessibility-control {
    display: none;
    position: fixed;
    left: calc(30 * var(--ratio));
    right: calc(30 * var(--ratio));
    bottom: calc(36 * var(--ratio));
    top: auto;
    margin: 0;
    z-index: 12;
  }

  header div nav.active .bh-accessibility-control {
    display: block;
  }

  header div nav .bh-accessibility-control__toggle {
    width: 100%;
    justify-content: space-between;
    min-height: calc(58 * var(--ratio));
    padding: calc(14 * var(--ratio)) calc(20 * var(--ratio));
    background: #ffffff;
    color: #1e19b8;
  }

  header div nav .bh-accessibility-control__panel {
    top: auto;
    right: 0;
    bottom: calc(100% + (12 * var(--ratio)));
    left: 0;
    width: auto;
    max-width: none;
  }

  .bh-main-nav .bh-accessibility-control {
    display: none;
    position: fixed;
    left: calc(30 * var(--bh-source-unit));
    right: calc(30 * var(--bh-source-unit));
    bottom: calc(36 * var(--bh-source-unit));
    top: auto;
    margin: 0;
    z-index: 21;
  }

  .bh-main-nav.is-open .bh-accessibility-control,
  .bh-main-nav.active .bh-accessibility-control {
    display: block;
  }

  .bh-main-nav .bh-accessibility-control__toggle {
    width: 100%;
    justify-content: space-between;
    background: var(--bh-white);
    color: var(--bh-blue);
  }

  .bh-main-nav .bh-accessibility-control__panel {
    top: auto;
    right: 0;
    bottom: calc(100% + (12 * var(--bh-source-unit)));
    left: 0;
    width: auto;
    max-width: none;
  }
}

/* Mobile realisation heroes and full-width light-blue editorial blocks. */
@media only screen and (max-width: 640px) {
  body.single-realisation #masterhead .textinfo {
    text-align: center;
  }

  body.single-realisation #masterhead .textinfo > h2,
  body.single-realisation #masterhead .textinfo > h1 {
    text-align: center;
  }

  body.single-realisation #masterhead .textinfo > ul {
    justify-content: center;
  }

  body.single-realisation .lightblue-bloc > .contenu {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    margin-right: 0;
    margin-left: 0;
  }

  body.single-realisation .lightblue-bloc .zone-titre {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
    padding-right: var(--bh-gutter);
    padding-left: var(--bh-gutter);
    text-align: center;
  }

  body.single-realisation .lightblue-bloc .zone-titre > h2.h1 {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    font-size: clamp(46px, 15vw, 58px) !important;
    text-align: center;
  }

  body.single-realisation .lightblue-bloc .zone-texte {
    box-sizing: border-box;
    width: calc(100% - (2 * var(--bh-gutter)));
    max-width: none;
    margin-right: auto;
    margin-left: auto;
  }
}

/* Dark-mode palette trial (2026-09-25).
 * Light blue stays Bee Happy blue; white becomes deep blue; pale grey and
 * the crumpled-paper texture become blue-black. Typography follows later. */
html.bh-accessibility-dark {
  --bh-blue: #1e19b8;
  --bh-paper: #0a0839;
  --bh-surface-dark: #0a0839;
  --bh-surface-muted-dark: #120f74;
}

/* Surfaces that are Bee Happy blue in light mode keep the brand blue. */
html.bh-accessibility-dark body.home .bh-home-head,
html.bh-accessibility-dark body.home #masterhead,
html.bh-accessibility-dark .deux-colonnes-titre-texte.sur-bleu,
html.bh-accessibility-dark body.page-id-37 .notre-mission,
html.bh-accessibility-dark body.page-id-20 .ils-nous-accompagnent,
html.bh-accessibility-dark body.page-id-14 .formulaire,
html.bh-accessibility-dark body.single-realisation .lightblue-bloc > .contenu,
html.bh-accessibility-dark .bh-site-foot__blue {
  background-color: #1e19b8 !important;
}

/* Surfaces that are white in light mode become deep blue. */
html.bh-accessibility-dark .bh-page-head,
html.bh-accessibility-dark header .nav-submenu,
html.bh-accessibility-dark .bh-service-method,
html.bh-accessibility-dark body.home:not(#bh-dark-palette-override) .bh-service-method,
html.bh-accessibility-dark body.home .sections-page > .deux-colonnes-titre-texte:not(.sur-bleu),
html.bh-accessibility-dark body:not(#bh-dark-palette-override):not(.single-realisation) .sections-page > .titre-texte-vs-visuel,
html.bh-accessibility-dark .bh-service-cases,
html.bh-accessibility-dark body:not(#bh-dark-palette-override) article.boite,
html.bh-accessibility-dark body:not(#bh-dark-palette-override) article.boite .zone-texte,
html.bh-accessibility-dark body:not(#bh-dark-palette-override) .bh-service-grid__card,
html.bh-accessibility-dark body:not(#bh-dark-palette-override) .bh-service-grid__card-link,
html.bh-accessibility-dark body.page-id-14,
html.bh-accessibility-dark body.page-id-14 .formulaire .left,
html.bh-accessibility-dark body.page-id-14 .formulaire .left .content,
html.bh-accessibility-dark body.page-id-14 .formulaire > div::before {
  background-color: #120f74 !important;
}

/* Pale grey, pale lavender and paper surfaces become blue-black. */
html.bh-accessibility-dark body,
html.bh-accessibility-dark .bh-main,
html.bh-accessibility-dark .layout,
html.bh-accessibility-dark .bh-site-foot__black,
html.bh-accessibility-dark .nos-clients,
html.bh-accessibility-dark .les-bonnes-actus,
html.bh-accessibility-dark body:not(#bh-dark-palette-override) .sections-page > .titre-sur-texte,
html.bh-accessibility-dark body:not(#bh-dark-palette-override) .sections-page > .titre-vs-texte.reverse,
html.bh-accessibility-dark body.single-realisation .sections-page > .titre-texte-vs-visuel,
html.bh-accessibility-dark body.single-realisation .lightblue-bloc,
html.bh-accessibility-dark body.page-id-15 .sections-page > .numero-vs-texte:nth-child(2),
html.bh-accessibility-dark body.page-id-15 .sections-page > .numero-vs-texte:nth-child(4),
html.bh-accessibility-dark body:not(.single-post) .zone-visuel {
  background-color: #0a0839 !important;
}

/* Dark-mode shell continuity: no light service canvas behind the menu or footer gap. */
html.bh-accessibility-dark body.bh-page-variant-service {
  background-image: none !important;
}

/* Paint the former footer margin inside the footer so no light root canvas can show through. */
html.bh-accessibility-dark .bh-site-foot {
  margin-top: 0 !important;
  padding-top: calc(120 * var(--bh-source-unit));
  background-color: #0a0839 !important;
}

/* Home dark mode: distinct full-width color bands with explicit vertical rhythm. */
html.bh-accessibility-dark body.home #bloc-6 {
  background-color: #0a0839 !important;
}

html.bh-accessibility-dark body.home #bloc-7,
html.bh-accessibility-dark body.home #bloc-8 {
  background-color: #1e19b8 !important;
  color: #ffffff !important;
}

@media only screen and (min-width: 641px) {
  html.bh-accessibility-dark body.home #bloc-6 {
    padding-top: calc(100 * var(--ratio)) !important;
    padding-bottom: calc(100 * var(--ratio)) !important;
  }

  html.bh-accessibility-dark body.home #bloc-6 > .contenu,
  html.bh-accessibility-dark body.home #bloc-9 > .contenu {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  html.bh-accessibility-dark body.home #bloc-7 {
    padding-top: calc(138 * var(--ratio)) !important;
    padding-bottom: calc(100 * var(--ratio)) !important;
  }

  html.bh-accessibility-dark body.home #bloc-8 {
    padding-top: calc(100 * var(--ratio)) !important;
    padding-bottom: calc(100 * var(--ratio)) !important;
  }

  html.bh-accessibility-dark body.home #bloc-9 {
    padding-top: calc(120 * var(--ratio)) !important;
    padding-bottom: calc(120 * var(--ratio)) !important;
  }

  html.bh-accessibility-dark body.home #bloc-7 > .contenu,
  html.bh-accessibility-dark body.home #bloc-8 > .contenu {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* PencilPete is always white on the dark-mode palette. */
html.bh-accessibility-dark :is(
  #masterhead h1,
  #masterhead h1 *,
  .manus,
  .manus *,
  .plume,
  .plume *,
  .bh-service-method__title-script,
  .bh-service-method__title-script *,
  .bh-service-pdf-block-2__title-script,
  .bh-service-pdf-block-2__title-script *,
  .bh-service-cases__title-script,
  .bh-service-cases__title-script *,
  .bh-simple-centered-text__title-blue,
  .bh-simple-centered-text__title-blue *,
  .bh-service-faq__head .h1,
  .bh-service-faq__head .h1 *
) {
  color: #ffffff !important;
}

/* Dark-mode typography: every text-bearing descendant on the blue palette is white. */
html.bh-accessibility-dark body:not(#bh-dark-text-override),
html.bh-accessibility-dark body:not(#bh-dark-text-override) * {
  color: #ffffff !important;
}

/* Preserve dark copy on the few controls whose own surface remains white. */
html.bh-accessibility-dark body:not(#bh-dark-text-override) :is(
  .service-link,
  .service-link *,
  .bh-main-nav__sublist,
  .bh-main-nav__sublist *,
  .bh-accessibility__button.is-active,
  .bh-accessibility__button.is-active *
) {
  color: #1e19b8 !important;
}

/* The paper photo is a pale-grey surface in the dark palette, not media. */
html.bh-accessibility-dark #masterhead > .bg:has(img[src*="background-paper-1"]),
html.bh-accessibility-dark #masterhead > .bg:has(source[srcset*="background-paper-1"]) {
  background: #0a0839 !important;
}

html.bh-accessibility-dark #masterhead > .bg img[src*="background-paper-1"],
html.bh-accessibility-dark #masterhead > .bg picture:has(source[srcset*="background-paper-1"]) {
  visibility: hidden !important;
}

/* Flexible blocks 17/18: map their light surfaces into the shared dark
 * palette so newly inserted numbered sections work without page-specific CSS. */
html.bh-accessibility-dark .sections-page > .numero-vs-texte {
  background-color: #120f74 !important;
  color: #ffffff !important;
}

html.bh-accessibility-dark .sections-page > .numero-vs-texte:nth-child(even),
html.bh-accessibility-dark .sections-page > .numero-vs-texte.reverse {
  background-color: #0a0839 !important;
}

html.bh-accessibility-dark .sections-page > .numero-vs-texte :is(
  .numero,
  h2,
  h2 *,
  p,
  p *,
  blockquote,
  blockquote *,
  a,
  strong,
  b
) {
  color: #ffffff !important;
}

html.bh-accessibility-dark .sections-page > .numero-vs-texte blockquote p::before,
html.bh-accessibility-dark .sections-page > .numero-vs-texte blockquote p::after {
  background-color: #ffffff !important;
}

html.bh-accessibility-dark.bh-nav-scrolled body:not(.home):not(.nav-active) header > div,
html.bh-accessibility-dark.bh-nav-scrolled body:not(.home):not(.nav-active) header > div::before {
  background: #120f74 !important;
}


/* Mobile contact legal copy: keep the consent and required-fields note readable. */
@media only screen and (max-width: 640px) {
  body.contact #optin + label span,
  body.contact #optin + label a,
  body.contact .formulaire > div .formulaire-zone form .content-form > ul.double-odd > li .asterisque p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
}

/* Footer carbon badge, matching the Groupe Brut treatment. */
.bh-site-foot__row--mentions {
  padding-bottom: 0;
}

.bh-site-foot__carbon {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(calc(1200 * var(--bh-source-unit)), 100%);
  max-width: 100%;
  margin: 0 auto;
  padding: 24px 16px calc(57 * var(--bh-source-unit));
  color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 15px;
  line-height: 1.15;
  text-align: center;
}

.bh-site-foot__carbon-panel {
  display: flex;
  justify-content: center;
  max-width: 100%;
}

.bh-site-foot__carbon-metric,
.bh-site-foot__carbon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 29px;
  margin: 3px 0;
  padding: 4px 8px;
  border: 2px solid #00ffbc;
  font: inherit;
  text-align: center;
}

.bh-site-foot__carbon-metric {
  min-width: 123px;
  border-right: 0;
  border-radius: 5px 0 0 5px;
  background: #fff;
  color: #0e11a8 !important;
}

.bh-site-foot__carbon-link {
  border: 0;
  border-radius: 0 5px 5px 0;
  background: #00ffbc;
  color: #0e11a8 !important;
  font-weight: 700;
  text-decoration: none;
}

.bh-site-foot__carbon-metric sub {
  position: relative;
  top: 0.3em;
  color: inherit !important;
  font-size: 0.7em;
  vertical-align: middle;
}

.bh-site-foot__carbon-ranking {
  margin: 3px 0 0;
  color: #fff !important;
  font: inherit;
}

html.bh-accessibility-dark body:not(#bh-dark-text-override) .bh-site-foot__carbon-metric,
html.bh-accessibility-dark body:not(#bh-dark-text-override) .bh-site-foot__carbon-link,
html.bh-accessibility-dark body:not(#bh-dark-text-override) .bh-site-foot__carbon-metric sub {
  color: #0e11a8 !important;
}

@media only screen and (max-width: 640px) {
  .bh-site-foot__carbon {
    padding-top: 20px;
    padding-bottom: 32px;
    font-size: 13px;
  }

  .bh-site-foot__carbon-metric {
    min-width: 108px;
  }
}

/* Home mobile hero: preserve the header-logo clearance after the global rhythm pass. */
@media only screen and (max-width: 640px) {
  body.home section#masterhead {
    padding-top: calc(210 * var(--ratio)) !important;
  }
}

/* Open mobile navigation uses a blue surface in dark mode: submenu links stay white. */
@media only screen and (max-width: 640px) {
  html.bh-accessibility-dark body:not(#bh-dark-text-override) .bh-main-nav:is(.is-open, .active) .bh-main-nav__sublist .bh-main-nav__link,
  html.bh-accessibility-dark body.nav-active:not(#bh-dark-text-override) header > div > nav.active .nav-submenu .nav-item > a {
    color: #ffffff !important;
  }
}

/* Realisation activity tags: Bee Happy blue pills with white text in dark mode. */
html.bh-accessibility-dark body.single-realisation .masterhead .content ul.activites > li {
  background-color: #1E19B8 !important;
  color: #ffffff !important;
}

/* Dark mode: white hover surfaces keep blue CTA text for readable contrast. */
html.bh-accessibility-dark body:not(#bh-dark-text-override) footer.bh-site-foot a.bh-site-foot__button:hover:not(#bh-dark-hover-override#bh-dark-hover-override),
html.bh-accessibility-dark body:not(#bh-dark-text-override) footer.bh-site-foot a.bh-site-foot__button:focus-visible:not(#bh-dark-hover-override#bh-dark-hover-override),
html.bh-accessibility-dark body.page-id-37:not(#bh-dark-text-override) section#bloc-12.nos-campagnes a.cta:hover:not(#bh-dark-hover-override#bh-dark-hover-override),
html.bh-accessibility-dark body.page-id-37:not(#bh-dark-text-override) section#bloc-12.nos-campagnes a.cta:focus-visible:not(#bh-dark-hover-override#bh-dark-hover-override) {
  background-color: #ffffff !important;
  color: #1E19B8 !important;
}

/* Responsive content-frame normalization.
 * Structural blocks share the legacy 1200/1400 frame. Readability-oriented
 * inner copy can remain narrower inside that common frame. */
body .notre-mission .trois-boites > .boite .paragraphe,
body .notre-mission .trois-boites > .boite .paragraphe p {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

@media only screen and (min-width: 641px) {
  :root {
    --bh-responsive-content-frame: min(
      calc(1200 * var(--bh-source-unit)),
      calc(100vw - (2 * var(--bh-gutter)))
    );
  }

  body.bh-page-variant-service .sections-page > section[id^="bloc-"] > .contenu,
  body.bh-page-variant-service .sections-page > .numero-vs-texte[id^="bloc-"] > .contenu,
  body .sections-page > section.bh-simple-centered-text[id^="bloc-"] > .contenu,
  body.page-id-20 .titre-picto-vs-liste .contenu {
    box-sizing: border-box;
    width: var(--bh-responsive-content-frame) !important;
    max-width: var(--bh-responsive-content-frame) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body .sections-page > section.bh-simple-centered-text[id^="bloc-"] > .contenu > .h1,
  body .sections-page > section.bh-simple-centered-text[id^="bloc-"] > .contenu > .bh-simple-centered-text__body {
    width: min(100%, clamp(760px, 65.714vw, 920px));
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}

@media only screen and (min-width: 641px) and (max-width: 1099px) {
  body.bh-page-variant-service .bh-service-pdf-block-2__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 26px;
    justify-items: center;
  }

  body.bh-page-variant-service .bh-service-pdf-block-2__left {
    width: 100%;
    max-width: 100%;
  }

  body.bh-page-variant-service .bh-service-pdf-block-2__title {
    width: min(560px, 100%);
    max-width: 100%;
    justify-items: center;
  }

  body.bh-page-variant-service .bh-service-pdf-block-2__title-main {
    width: 100%;
    max-width: none;
  }

  body.bh-page-variant-service .bh-service-pdf-block-2__title-script {
    width: 100%;
  }

  body.bh-page-variant-service .bh-service-pdf-block-2__right {
    width: min(760px, 100%);
    margin-right: auto;
    margin-left: auto;
  }

  body .deux-colonnes-titre-texte .contenu,
  body.page-id-37 .deux-colonnes-titre-texte .contenu,
  body.home .deux-colonnes-titre-texte .contenu,
  body .titre-picto-vs-liste .contenu,
  body.home .titre-picto-vs-liste .contenu {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: clamp(36px, 6vw, 54px) !important;
  }

  body .deux-colonnes-titre-texte .contenu > .col,
  body .titre-picto-vs-liste .contenu > .col,
  body .titre-picto-vs-liste .contenu > .col:first-child,
  body .titre-picto-vs-liste .contenu > .col:last-child {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
  }

  body .titre-picto-vs-liste .contenu > .col:first-child {
    text-align: center;
  }

  body .titre-picto-vs-liste .contenu > .col:first-child .zone-image {
    margin-right: auto;
    margin-left: auto;
  }

  body.home .nos-realisations .contenu .trois-boites,
  body.home .les-bonnes-actus .contenu .trois-boites,
  body .notre-mission .contenu .trois-boites {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: clamp(28px, 4vw, 40px) !important;
    row-gap: clamp(40px, 6vw, 60px) !important;
  }

  body.home .nos-realisations .contenu .trois-boites > .boite:nth-child(3):last-child,
  body.home .les-bonnes-actus .contenu .trois-boites > .boite:nth-child(3):last-child,
  body .notre-mission .contenu .trois-boites > .boite:nth-child(3):last-child {
    grid-column: 1 / -1;
    width: calc((100% - clamp(28px, 4vw, 40px)) / 2);
    justify-self: center;
  }

  body.home .nos-realisations .trois-boites .boite .zone-texte {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 24px 22px 28px !important;
  }

  body.home .nos-realisations .trois-boites .boite .zone-texte .h2 {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  body.home .les-bonnes-actus .trois-boites .boite .titre {
    width: calc(100% - 48px) !important;
    max-width: calc(100% - 48px) !important;
    overflow-wrap: anywhere;
  }
}

@media only screen and (max-width: 640px) {
  body .sections-page > section.bh-simple-centered-text[id^="bloc-"] {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body .sections-page > section.bh-simple-centered-text[id^="bloc-"] > .contenu {
    width: var(--bh-frame) !important;
    max-width: var(--bh-frame) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

/* Responsive desktop header: logo row, accessibility row, full-width single-line menu. */
@media only screen and (min-width: 641px) and (max-width: 1500px) {
  header > div,
  .bh-site-head__inner {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(1380px, calc(100% - 48px)) !important;
    margin-inline: auto;
    padding-top: 24px;
  }

  header > div > .logo,
  .bh-home-head .bh-brand {
    position: static;
    order: 0;
    margin: 0 0 14px;
    transform: none;
  }

  header > div > .logo img,
  .bh-home-head .bh-brand__mark {
    width: clamp(220px, 22vw, 320px) !important;
    height: auto !important;
  }

  header > div > nav,
  .bh-main-nav,
  .bh-home-head .bh-main-nav {
    box-sizing: border-box;
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding-top: 60px;
  }

  header > div > nav > ul,
  .bh-main-nav__list {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding-right: 0 !important;
    gap: clamp(12px, 2.4vw, 38px);
  }

  header > div > nav > ul > .nav-item,
  header > div > nav > ul > .nav-item + .nav-item,
  .bh-main-nav__list > .bh-main-nav__item,
  .bh-main-nav__list > .bh-main-nav__item + .bh-main-nav__item {
    margin-left: 0 !important;
  }

  header > div > nav > ul > .nav-item > a,
  .bh-main-nav__list > .bh-main-nav__item > .bh-main-nav__link {
    font-size: clamp(12px, 1.08vw, 16px) !important;
    line-height: clamp(44px, 4.2vw, 60px) !important;
    letter-spacing: clamp(1.6px, 0.2vw, 3px) !important;
    white-space: nowrap;
  }

  header > div > nav > .bh-accessibility-control,
  .bh-main-nav > .bh-accessibility-control {
    top: 0;
    right: 0;
  }

  header > div > nav > .bh-accessibility-control .bh-accessibility-control__toggle,
  .bh-main-nav > .bh-accessibility-control .bh-accessibility-control__toggle {
    min-height: clamp(38px, 3.6vw, 52px);
    padding: clamp(8px, 0.8vw, 10px) clamp(14px, 1.3vw, 18px);
    font-size: clamp(11px, 1vw, 12.5px);
  }

  body.home #masterhead.masterhead {
    padding-top: clamp(56px, 10vw, 160px) !important;
  }
}

/* Mobile submenu: center the nested panel inside its parent menu row. */
@media only screen and (max-width: 640px) {
  header div nav > ul .nav-submenu,
  .bh-main-nav__sublist {
    box-sizing: border-box;
    justify-self: stretch;
    width: 100%;
    margin: 14px 0 0 !important;
    padding: 14px 0 2px !important;
    border-top: 1px solid rgb(255 255 255 / 45%);
    border-left: 0;
    transform: none !important;
  }

  header div nav > ul .nav-submenu > .nav-item > a,
  .bh-main-nav__sublist > .bh-main-nav__item > .bh-main-nav__link {
    text-align: center;
  }
}

/* Block 32 editorial lists share one rhythm across every variant and list type. */
.sections-page .bh-block32 :is(ul, ol):not(:is(ul, ol) :is(ul, ol)) {
  font-family: inherit;
  font-size: calc(20 * var(--ratio));
  font-weight: 400;
  letter-spacing: calc(.5 * 14 / 20 * var(--ratio));
  line-height: 1.5;
}

.sections-page .bh-block32 :is(ul, ol) > li {
  padding: 0 0 .5em .5em;
  font: inherit;
  letter-spacing: inherit;
}

.sections-page .bh-block32 :is(ul, ol) a {
  color: #1E19B8;
}

@media only screen and (max-width: 640px) {
  .sections-page .bh-block32 :is(ul, ol):not(:is(ul, ol) :is(ul, ol)) {
    font-size: calc(24 * var(--ratio));
    letter-spacing: calc(.6 * 14 / 24 * var(--ratio));
    line-height: 1.5;
  }
}

html.bh-accessibility-dark .sections-page .bh-block32 :is(ul, ol) a {
  color: #ffffff;
}

/* Keep WordPress-generated emoji images inline in news previous/next buttons. */
.boutons-single .bh-news-nav__label img.emoji,
.boutons-single .bh-news-nav__label img.wp-smiley {
	display: inline-block !important;
	width: 1em !important;
	max-width: 1em !important;
	height: 1em !important;
	margin: 0 0.08em !important;
	padding: 0 !important;
	vertical-align: -0.1em !important;
	object-fit: contain !important;
}

/* iOS Safari home: keep legacy document scrollbar styling from reserving a visible side gutter. */
@media only screen and (max-width: 640px) {
  html:has(body.home),
  body.home {
    overscroll-behavior-x: none;
    scrollbar-width: none;
  }

  html:has(body.home)::-webkit-scrollbar,
  body.home::-webkit-scrollbar {
    width: 0;
    height: 0;
    background: transparent;
  }

  body.home .nos-realisations.slidable.bh-service-cases .scroller {
    overscroll-behavior-inline: contain;
  }
}


/* Home mobile Safari: use the full-width header shell for the scroll background. */
@media only screen and (max-width: 640px) {
  html.bh-nav-scrolled body.home:not(.nav-active) header nav:not(.active):not(.is-open)::after {
    content: none !important;
  }

  html.bh-nav-scrolled body.home:not(.nav-active) header > div::before {
    content: "";
    position: fixed;
    z-index: 999;
    top: 0;
    right: 0;
    left: 0;
    height: calc(var(--bh-floating-nav-bottom) + (20 * var(--ratio)));
    background: var(--bh-blue);
    pointer-events: none;
    transition: none !important;
  }

  html.bh-accessibility-dark.bh-nav-scrolled body.home:not(.nav-active) header > div::before {
    background: var(--bh-surface-dark);
  }
}
