/* STRATES — mise en page des pages Astro. */
body.site-shell {
	--strates-accent: var(--frontmark-footer-category-heading, #c57939);
	--strates-card-radius: 0.75rem;
	--frontmark-astro-page-gutter: 40px;
	--frontmark-astro-mobile-gutter: 22px;
	--frontmark-astro-max-width: 1600px;
	--frontmark-astro-main-width: 1600px;
	--frontmark-astro-content-width: 1120px;
	--frontmark-astro-main-padding: 72px;
	--frontmark-astro-content-padding: 64px;
	--frontmark-astro-mobile-main-padding: 44px;
	--frontmark-astro-mobile-content-padding: 44px;
	background: #fff;
}

/* Contact page ----------------------------------------------------------- */

.prose:has(> .contact-intro) {
  max-width: none;
  padding-inline: clamp(1.5rem, 4vw, 4.5rem);
}

.prose > .contact-intro,
.prose > .contact-direct,
.prose:has(> .contact-details) {
  width: min(100%, 76rem);
  margin-inline: auto;
}

.prose:has(> .contact-intro) > .lead {
  display: none;
}

.prose:has(> .contact-details) > .contact-intro,
.prose:has(> .contact-details) > .contact-direct {
  grid-column: 1 / -1;
}

body.site-shell .contact-intro > .mkdocs-container-inner,
body.site-shell .contact-details > .mkdocs-container-inner,
body.site-shell .contact-form-panel > .mkdocs-container-inner,
body.site-shell .contact-direct > .mkdocs-container-inner {
  width: 100%;
  max-width: none;
  text-transform: none;
}

html:has(body.site-shell .contact-intro) .frontmark-header-brand {
  width: clamp(9rem, 13vw, 12rem);
  min-width: clamp(9rem, 13vw, 12rem);
}

html:has(body.site-shell .contact-intro) .frontmark-header-brand img {
  display: block;
  flex: 0 0 100%;
  width: 100% !important;
  min-width: 100%;
  height: auto !important;
  max-width: none;
}

body.site-shell .contact-intro > .mkdocs-container-inner > :first-child {
  --mkdocs-container-fg: rgb(197, 121, 57);
  margin: 0 0 2.2rem;
  color: rgb(197, 121, 57) !important;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

body.site-shell .contact-intro > .mkdocs-container-inner > :first-child::after {
  display: block;
  width: 2rem;
  height: 1px;
  margin-top: 0.9rem;
  background: rgb(197, 121, 57);
  content: "";
}

body.site-shell .contact-intro > .mkdocs-container-inner > :first-child strong {
  --mkdocs-container-fg: rgb(197, 121, 57);
  color: rgb(197, 121, 57) !important;
}

body.site-shell .contact-intro h1 {
  --mkdocs-container-fg: #111;
  max-width: none;
  margin: 0;
  color: #111 !important;
  font-size: clamp(3rem, 4.5vw, 4.5rem) !important;
  font-weight: 400 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.02 !important;
  text-transform: none !important;
}

body.site-shell .contact-intro h1::after {
  display: block;
  width: 2.7rem;
  height: 2px;
  margin: 2rem 0 2.1rem;
  background: rgb(197, 121, 57);
  content: "";
}

body.site-shell .contact-intro h1 + p {
  --mkdocs-container-fg: #1b1b1b;
  max-width: 34rem;
  margin-bottom: 2rem;
  color: #1b1b1b !important;
  font-size: clamp(1.02rem, 1.4vw, 1.22rem);
  line-height: 1.55;
}

body.site-shell .contact-intro > .mkdocs-container-inner > :last-child {
  --mkdocs-container-fg: #494949;
  max-width: 34rem;
  margin-bottom: 0;
  color: #494949 !important;
  font-size: 1rem;
  line-height: 1.65;
}

.prose:has(> .contact-details) {
  display: grid;
  grid-template-columns: minmax(15rem, 0.7fr) minmax(0, 1.65fr);
  align-items: stretch;
}

.contact-details {
  --mkdocs-container-link: #171717;
  border-right: 1px solid #d9d9d9;
}

.contact-details > .mkdocs-container-inner > p:first-child {
  margin: 0;
}

.contact-details > .mkdocs-container-inner > p:first-child img {
  width: min(100%, 13rem);
  height: auto;
  margin: 0;
}

.contact-details > .mkdocs-container-inner > hr {
  width: 2.1rem;
  margin: 2rem 0 2.4rem;
  border: 0;
  border-top: 2px solid rgb(197, 121, 57);
}

.contact-details > .mkdocs-container-inner > p:not(:first-child) {
  margin: 0;
  color: #232323 !important;
  font-size: 0.95rem;
  line-height: 1.75;
}

.contact-details > .mkdocs-container-inner > ul {
  display: grid;
  gap: 1.65rem;
  margin: 3.2rem 0 0;
  padding: 0;
  list-style: none;
}

.contact-details > .mkdocs-container-inner > ul > li {
  position: relative;
  min-height: 2rem;
  margin: 0;
  padding-left: 3.5rem;
  color: #171717;
  font-size: 0.95rem;
  line-height: 1.7;
}

.contact-details > .mkdocs-container-inner > ul > li::before {
  position: absolute;
  top: -0.15rem;
  left: 0;
  width: 2.2rem;
  height: 2.2rem;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}

.contact-details > .mkdocs-container-inner > ul > li:nth-child(1)::before {
  background-image: url("https://assets.ia86.cc/i/uU3rTHWemp.webp");
}

.contact-details > .mkdocs-container-inner > ul > li:nth-child(2)::before {
  background-image: url("https://assets.ia86.cc/i/A3b89BQjMw.webp");
}

.contact-details > .mkdocs-container-inner > ul > li:nth-child(3)::before {
  background-image: url("https://assets.ia86.cc/i/pZyOFdGIHS.webp");
}

.contact-details > .mkdocs-container-inner a {
  color: #171717 !important;
  text-decoration: none;
}

.contact-details > .mkdocs-container-inner a:hover {
  --mkdocs-container-link: rgb(197, 121, 57);
  color: rgb(197, 121, 57) !important;
}

.prose .contact-form-panel .mkdocs-form {
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.prose .contact-form-panel .mkdocs-form-header {
  display: none;
}

.prose .contact-form-panel .mkdocs-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 2.4rem;
  padding: 0;
}

.prose .contact-form-panel .mkdocs-form-field {
  gap: 0.55rem;
  margin: 0;
}

.prose .contact-form-panel .mkdocs-form-field:nth-child(n + 5) {
  grid-column: 1 / -1;
}

.prose .contact-form-panel .mkdocs-form-field:has(input[type="file"]) {
  position: relative;
}

.prose .contact-form-panel .mkdocs-form-field:has(input[type="file"])::before {
  position: absolute;
  top: 3.55rem;
  left: 50%;
  z-index: 1;
  min-height: 2rem;
  padding-left: 2.4rem;
  background-image: url("https://assets.ia86.cc/i/qiztbXRyNS.webp");
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 2.1rem 2.1rem;
  color: #252525;
  content: "Joindre un fichier ou déposer ici";
  font-size: 0.9rem;
  line-height: 2rem;
  pointer-events: none;
  transform: translateX(-50%);
  white-space: nowrap;
}

.prose .contact-form-panel .mkdocs-form-label {
  color: #141414;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.015em;
  text-transform: uppercase;
}

.prose .contact-form-panel .mkdocs-form-label strong {
  --mkdocs-container-fg: rgb(197, 121, 57);
  color: rgb(197, 121, 57) !important;
}

.prose .contact-form-panel .mkdocs-form-field input,
.prose .contact-form-panel .mkdocs-form-field textarea {
  width: 100%;
  color: #171717;
  font: inherit;
}

.prose .contact-form-panel .mkdocs-form-field input:not([type="file"]) {
  padding: 0.25rem 0 0.65rem;
  border: 0;
  border-bottom: 1px solid #c9c9c9;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.prose .contact-form-panel .mkdocs-form-field input:not([type="file"]):focus {
  border-color: rgb(197, 121, 57);
  outline: 0;
}

.prose .contact-form-panel .mkdocs-form-field textarea {
  min-height: 8.6rem;
  padding: 0.8rem;
  border: 1px solid #c9c9c9;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  resize: vertical;
}

.prose .contact-form-panel .mkdocs-form-field textarea:focus {
  border-color: rgb(197, 121, 57);
  outline: 0;
}

.prose .contact-form-panel .mkdocs-form-field input[type="file"] {
  box-sizing: border-box;
  min-height: 7.2rem;
  padding: 0;
  border: 1px dashed #c4c4c4;
  border-radius: 0;
  background-color: transparent;
  color: transparent;
  cursor: pointer;
}

.prose .contact-form-panel .mkdocs-form-field input[type="file"]::file-selector-button {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: transparent;
  cursor: pointer;
  opacity: 0;
}

.prose .contact-form-panel .mkdocs-form-note {
  color: #777;
  font-size: 0.78rem;
  text-align: center;
}

.prose .contact-form-panel .mkdocs-form-field:has(input[type="file"]) .mkdocs-form-note {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  z-index: 1;
  pointer-events: none;
}

.prose .contact-form-panel .mkdocs-form-actions {
  display: flex;
  justify-content: flex-start;
  margin-top: 2rem;
  padding: 0;
  border: 0;
  background: transparent;
}

.prose .contact-form-panel .mkdocs-form-reset {
  display: none;
}

.prose .contact-form-panel .mkdocs-form-submit {
  width: auto;
  min-width: 15.5rem;
  height: auto;
  inline-size: auto;
  block-size: auto;
  padding: 1rem 1.5rem;
  border: 1px solid #090909;
  border-radius: 0;
  background: #090909;
  color: #fff !important;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.prose .contact-form-panel .mkdocs-form-submit .mkdocs-icon {
  display: none;
}

.prose .contact-form-panel .mkdocs-form-submit:hover {
  border-color: rgb(197, 121, 57);
  background: rgb(197, 121, 57);
}

.contact-direct {
  text-align: center;
}

.contact-direct > .mkdocs-container-inner > hr {
  width: 2rem;
  margin: 0 auto 1.15rem;
  border: 0;
  border-top: 1px solid rgb(197, 121, 57);
}

.contact-direct > .mkdocs-container-inner > p {
  margin: 0.4rem auto;
}

.contact-direct > .mkdocs-container-inner > p:nth-of-type(1) {
  --mkdocs-container-fg: #1b1b1b;
  color: #1b1b1b !important;
  font-size: 0.86rem;
  text-transform: uppercase;
}

.contact-direct > .mkdocs-container-inner > p:nth-of-type(1) strong {
  --mkdocs-container-fg: #1b1b1b;
  color: #1b1b1b !important;
  font-weight: 800;
}

.contact-direct > .mkdocs-container-inner > p:nth-of-type(2) {
  --mkdocs-container-fg: rgb(197, 121, 57);
  color: rgb(197, 121, 57) !important;
  font-size: 0.94rem;
}

.contact-direct > .mkdocs-container-inner > p:nth-of-type(3) {
  --mkdocs-container-fg: #555;
  color: #555 !important;
  font-size: 0.78rem;
}

@media (max-width: 56rem) {
  .prose:has(> .contact-intro) {
    padding-inline: clamp(1rem, 5vw, 2rem);
  }

  .contact-intro h1 {
    font-size: clamp(2.6rem, 12vw, 4rem) !important;
  }

  .prose:has(> .contact-details) {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-details {
    border-right: 0;
    border-bottom: 1px solid #d9d9d9;
  }

  .prose .contact-form-panel .mkdocs-form-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .prose .contact-form-panel .mkdocs-form-field:nth-child(n + 5) {
    grid-column: auto;
  }

  .prose .contact-form-panel .mkdocs-form-submit {
    width: 100%;
    min-width: 0;
    inline-size: 100%;
  }
}

/* Composants partagés par l'accueil et les pages Domaine. */
.strates-domain-card,
.domaine1-project-card {
	border-radius: var(--strates-card-radius);
	overflow: hidden;
}

.strates-discover-link,
.mkdocs-container .strates-discover-link {
	--mkdocs-container-link: #111311;
	display: inline-flex;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #111311 !important;
	box-shadow: none;
	font-size: clamp(0.76rem, 0.9vw, 0.84rem);
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
}

.strates-discover-link:hover,
.strates-discover-link:focus-visible,
.mkdocs-container .strates-discover-link:hover,
.mkdocs-container .strates-discover-link:focus-visible {
	--mkdocs-container-link: var(--strates-accent);
	border: 0;
	background: transparent;
	color: var(--strates-accent) !important;
	box-shadow: none;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 1rem;
}

.home-feature-content.prose > .mkdocs-container,
.home-feature-content.prose > .mkdocs-parallax,
.site-shell .content-main > .mkdocs-container {
	margin-block: 0;
}

.site-shell .mkdocs-container-root-flow {
	margin-block: 0;
}

.site-shell .mkdocs-container-root > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
	font-size: 1rem;
	line-height: 1.6;
}

.site-main:has(> .strates-root-shell) {
	padding-block-start: var(--frontmark-astro-main-padding, 72px);
}

.strates-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	overflow: hidden !important;
}

/* En-tête transparent du conteneur root. */
html:has(.strates-root-shell) {
	--frontmark-nav-height: 68px;
}

html:has(.strates-root-shell) .frontmark-header-shell {
	border-bottom-color: transparent !important;
	background: transparent !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

html:has(.strates-root-shell) .frontmark-header-brand,
html:has(.strates-root-shell) .frontmark-header-nav {
	visibility: hidden;
}

html:has(.strates-root-shell) .frontmark-header-menu summary {
	border-color: transparent !important;
	background: transparent !important;
	color: #f5f3ee !important;
	box-shadow: none !important;
}

html:has(.strates-root-shell) .frontmark-header-menu summary:hover,
html:has(.strates-root-shell) .frontmark-header-menu summary:focus-visible {
	border-color: rgba(255, 255, 255, 0.32) !important;
	background: rgba(255, 255, 255, 0.08) !important;
}

/* Premier écran. */
.strates-root-shell {
	--mkdocs-container-height: 100svh !important;
	left: auto;
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	transform: none;
}

.strates-root-shell > .mkdocs-container-inner {
	position: relative;
	display: flex;
	box-sizing: border-box;
	width: 100%;
	min-height: 100svh;
	padding: clamp(5rem, 10svh, 7rem) clamp(1.5rem, 5vw, 4rem) clamp(7rem, 13svh, 9rem);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #000;
	color: #f8f7f4;
	text-align: center;
}

.strates-root-shell h1,
.mkdocs-container.strates-root-shell h1 {
	position: relative;
	z-index: 1;
	margin: 0 0 0.4rem;
	color: #fff !important;
	font-size: clamp(1.25rem, 2.2vw, 1.75rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.15;
}

.strates-root-mark {
	position: relative;
	z-index: 0;
	inset: auto;
	width: clamp(8.5rem, 18vw, 9.5rem);
	max-width: none;
	margin: 0 0 clamp(2rem, 6svh, 4rem);
	opacity: 1;
	pointer-events: none;
	transform: none;
}

.strates-root-mark img {
	display: block;
	width: 100%;
	height: auto;
}

.strates-root-logo,
.strates-root-shell > .mkdocs-container-inner > p:not(.strates-root-mark) {
	position: relative;
	z-index: 1;
}

.strates-root-logo {
	display: block;
	width: clamp(26rem, 68vw, 42rem);
	max-width: calc(100% - 2.5rem);
	height: auto;
	margin-inline: auto !important;
	object-fit: contain;
	transform: none;
}

.strates-root-logo img {
	display: block;
	width: 100%;
	height: auto;
}

.strates-root-shell > .mkdocs-container-inner > p:not(.strates-root-logo):not(.strates-root-mark):not(:has(.strates-root-scroll)) {
	max-width: none;
	margin: 1.2rem 0 0;
	color: #e5e2dc !important;
	font-size: clamp(1rem, 1.6vw, 1.25rem);
	font-weight: 300;
	letter-spacing: -0.015em;
	line-height: 1.45;
	transform: translateX(-0.35rem);
}

.strates-root-shell > .mkdocs-container-inner > p:has(> .strates-root-scroll) {
	position: static;
	height: 0;
	margin: 0;
}

.strates-root-scroll,
.mkdocs-container .strates-root-scroll {
	position: absolute;
	inset-inline-start: 50%;
	inset-block-end: clamp(1.25rem, 2vh, 1.6rem);
	display: grid;
	justify-items: center;
	gap: 0.62rem;
	width: 4.5rem;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #f5f3ee !important;
	box-shadow: none;
	text-decoration: none;
	transform: translateX(-50%);
}

.strates-root-scroll::before {
	content: "";
	width: 1px;
	height: 2.1rem;
	background: rgba(255, 255, 255, 0.55);
	transform-origin: center top;
	animation: strates-scroll-line 1.8s ease-in-out infinite;
}

.strates-root-scroll {
	font-size: 0.61rem;
	font-weight: 600;
	letter-spacing: 0.035em;
	line-height: 1;
}

.strates-root-scroll::after {
	content: "↓";
	position: static;
	inset: auto;
	width: auto;
	height: 1.45rem;
	border: 0;
	background: transparent !important;
	color: rgba(255, 255, 255, 0.68);
	font-size: 1.4rem;
	font-weight: 200;
	line-height: 1;
	animation: strates-scroll-arrow 1.2s ease-in-out infinite;
}

@keyframes strates-scroll-line {
	0%, 100% { opacity: 0.42; transform: scaleY(0.76); }
	50% { opacity: 0.9; transform: scaleY(1); }
}

@keyframes strates-scroll-arrow {
	0%, 100% { opacity: 0.52; transform: translateY(-0.12rem); }
	50% { opacity: 1; transform: translateY(0.22rem); }
}

@media (min-width: 64rem) {
	.strates-root-shell {
		--mkdocs-container-height: 100svh !important;
	}

	.strates-root-shell > .mkdocs-container-inner {
		min-height: 100svh;
	}

	.strates-root-mark {
		inset: auto;
		width: clamp(22.5rem, 33vw, 33rem);
		max-width: min(calc(100vw - 4rem), 48svh);
		margin-bottom: -4rem;
	}

	.strates-root-logo {
		width: 60vw;
		max-width: none;
		margin-block: 0 !important;
		transform: none;
	}

	.strates-root-shell > .mkdocs-container-inner > p:not(.strates-root-logo):not(.strates-root-mark):not(:has(.strates-root-scroll)) {
		transform: translateX(-0.5rem);
	}
}

/* Introduction de la section des expertises uniquement. */
.site-main > .strates-intro {
	width: min(100%, 60rem);
	margin-inline: auto;
	text-align: center;
}

/* Titres éditoriaux de la page. */
.site-main > h1,
.site-main > h2,
.site-main > h3 {
	margin: clamp(1.75rem, 4vw, 2.75rem) 0 1.25rem;
	color: #625d56;
	font-family: var(--frontmark-font-heading, "Barlow", "Helvetica Neue", Arial, sans-serif);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.15;
	text-align: center;
	text-transform: none;
}

.site-main > h1 {
	font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.site-main > h2 {
	font-size: clamp(1.55rem, 2.4vw, 2rem);
}

.site-main > h3 {
	font-size: clamp(1.25rem, 2vw, 1.6rem);
}

.site-main > h1::after,
.site-main > h2::after,
.site-main > h3::after {
	content: "";
	display: block;
	width: 1.9rem;
	height: 1px;
	margin: 0.75rem auto 0;
	background: var(--strates-accent);
}

/* Domaines d’expertise. */
.strates-expertises {
	box-sizing: border-box;
	width: min(100%, 74rem);
	margin: 0 auto;
	padding: clamp(2rem, 5vw, 4.75rem) clamp(1.35rem, 5vw, 3.5rem) clamp(4rem, 8vw, 7rem);
	color: #171918;
}

.strates-expertises-heading {
	margin: 0 auto clamp(2.8rem, 5vw, 4.5rem);
	text-align: center;
}

.strates-expertises-heading h2,
.mkdocs-container .strates-expertises-heading h2 {
	margin: 0;
	color: #101211 !important;
	font-size: clamp(1.75rem, 3.2vw, 2.45rem);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1.14;
}

.strates-heading-rule {
	display: block;
	width: 1.85rem;
	height: 1px;
	margin: 0.85rem auto 0.95rem;
	background: var(--strates-accent);
}

.strates-expertises-heading p,
.mkdocs-container .strates-expertises-heading p {
	max-width: none;
	margin: 0 auto;
	color: #555954 !important;
	font-size: clamp(0.86rem, 1.25vw, 1rem);
	font-weight: 300;
	line-height: 1.55;
}

.mkdocs-container-grid-fixed:has(> .strates-domain-card) {
	width: min(100%, 74rem);
	margin: clamp(0.85rem, 2vw, 1.25rem) auto;
}

.strates-domain-card {
	--mkdocs-container-link: #111311;
	position: relative;
	min-height: 31rem;
	border: 1px solid #d8d3ca;
	background: #fff;
	box-shadow: 0 0.35rem 1.2rem rgba(32, 27, 20, 0.035);
	text-align: left;
	transition: background-color 180ms ease, transform 180ms ease;
}

.strates-domain-card > .mkdocs-container-inner {
	--strates-domain-card-pad: clamp(1.25rem, 2.5vw, 1.65rem);
	display: flex;
	box-sizing: border-box;
	min-height: 100%;
	padding: 0 var(--strates-domain-card-pad) var(--strates-domain-card-pad);
	flex-direction: column;
	align-items: flex-start;
}

.strates-domain-card:hover {
	z-index: 1;
	background: #f7f3ed;
	transform: translateY(-0.2rem);
}

.strates-domain-card > .mkdocs-container-inner > p:first-child {
	display: block;
	width: calc(100% + (2 * var(--strates-domain-card-pad)));
	margin: 0 calc(-1 * var(--strates-domain-card-pad)) 1.25rem;
	line-height: 0;
	overflow: hidden;
}

.strates-domain-card > .mkdocs-container-inner > p:nth-of-type(2) {
	display: flex;
	margin: 0 0 1rem;
	align-items: center;
	gap: 0.9rem;
}

.strates-domain-card > .mkdocs-container-inner > p:nth-of-type(2) strong,
.strates-domain-card > .mkdocs-container-inner > p:nth-of-type(2) mark {
	padding: 0;
	background: transparent;
	color: var(--strates-accent);
	font-size: clamp(1.5rem, 2.5vw, 1.85rem);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1;
}

.strates-domain-card .strates-domain-icon {
	width: 3rem;
	height: 3rem;
	margin: 0;
	object-fit: contain;
}

.strates-domain-card .strates-domain-cover {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.strates-domain-card .strates-domain-cover img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.strates-domain-card h3,
.mkdocs-container .strates-domain-card h3 {
	margin: 0;
	color: #202320 !important;
	font-size: clamp(1rem, 1.7vw, 1.18rem);
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1.25;
	text-align: left;
	text-transform: uppercase;
}

.strates-domain-card p,
.mkdocs-container .strates-domain-card p {
	max-width: none;
	margin: 0.75rem 0 0;
	color: #656963 !important;
	font-size: 0.88rem;
	line-height: 1.55;
	text-align: left;
}

.strates-domain-card em {
	color: var(--strates-accent);
	font-style: normal;
}

.strates-domain-card p:has(> .strates-discover-link) {
	margin-top: 0.85rem;
	padding-top: 0;
}

/* Transition vers les expertises complémentaires. */
.strates-complementary {
	--mkdocs-container-link: #fff;
	margin-top: clamp(3.5rem, 7vw, 6rem) !important;
}

.strates-complementary > .mkdocs-container-inner {
	display: flex;
	box-sizing: border-box;
	width: 100%;
	min-height: clamp(19rem, 33vw, 25rem);
	padding: clamp(3.25rem, 7vw, 5.5rem) clamp(1.5rem, 5vw, 4rem);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.strates-complementary-icon {
	width: 4rem;
	margin: 0 auto 1rem !important;
	line-height: 0;
}

.strates-complementary-icon img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}

.strates-complementary h2,
.mkdocs-container.strates-complementary h2 {
	max-width: 24ch;
	margin: 0 auto;
	color: #202320 !important;
	font-size: clamp(1.65rem, 3.1vw, 2.35rem);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1.08;
	text-align: center;
}

.strates-complementary > .mkdocs-container-inner > p:not(.strates-complementary-icon):not(:has(.strates-complementary-link)) {
	max-width: 62ch;
	margin: 1rem auto 0;
	color: #625d56 !important;
	font-size: clamp(0.9rem, 1.3vw, 1rem);
	line-height: 1.55;
	text-align: center;
}

.strates-complementary > .mkdocs-container-inner > p:has(.strates-complementary-link) {
	margin: 1.25rem 0 0;
}

.strates-complementary-link,
.mkdocs-container.strates-complementary .strates-complementary-link {
	min-height: 2.8rem;
	margin: 0;
	padding: 0.1rem 1.4rem;
	border: 1px solid #111311;
	border-radius: 0;
	background: #111311;
	color: #fff !important;
	box-shadow: none;
	font-size: 0.69rem;
	font-weight: 700;
	letter-spacing: 0.075em;
	text-decoration: none;
	text-transform: uppercase;
}

.strates-complementary-link:hover,
.strates-complementary-link:focus-visible,
.mkdocs-container.strates-complementary .strates-complementary-link:hover,
.mkdocs-container.strates-complementary .strates-complementary-link:focus-visible {
	border-color: var(--strates-accent);
	background: var(--strates-accent);
	color: #fff !important;
}

/* Section connaissance. */
.strates-knowledge {
	display: grid;
	box-sizing: border-box;
	width: min(100%, 74rem);
	min-height: 34rem;
	margin: 0 auto;
	padding: clamp(4rem, 9vw, 7.5rem) clamp(1.35rem, 6vw, 4rem);
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.9fr);
	align-items: center;
	gap: clamp(3rem, 8vw, 7rem);
}

.strates-section-index,
.mkdocs-container .strates-section-index {
	margin: 0 0 1.1rem;
	color: #b48a59 !important;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.17em;
}

.strates-knowledge h2,
.strates-method h2,
.strates-section-heading h2,
.strates-contact h2,
.mkdocs-container .strates-knowledge h2,
.mkdocs-container .strates-method h2,
.mkdocs-container .strates-section-heading h2,
.mkdocs-container .strates-contact h2 {
	margin: 0;
	font-size: clamp(2rem, 4.6vw, 3.6rem);
	font-weight: 300;
	letter-spacing: -0.04em;
	line-height: 1.05;
}

.strates-knowledge-copy > p:last-child,
.mkdocs-container .strates-knowledge-copy > p:last-child {
	max-width: 47ch;
	margin: 1.5rem 0 0;
	color: #d7d2c9 !important;
	font-size: clamp(1rem, 1.4vw, 1.1rem);
	line-height: 1.75;
}

.strates-knowledge-art {
	position: relative;
	min-height: 20rem;
}

.strates-knowledge-art img {
	position: absolute;
	display: block;
	object-fit: contain;
	filter: brightness(1.8) grayscale(1);
	opacity: 0.72;
}

.strates-art-arch {
	inset-inline-start: 3%;
	inset-block-end: 0;
	width: 14rem;
}

.strates-art-bat {
	inset-inline-end: 6%;
	inset-block-start: 4%;
	width: 8rem;
}

.strates-art-cloud {
	inset-inline-end: 0;
	inset-block-end: 6%;
	width: 9rem;
}

/* Méthode. */
.strates-method {
	display: grid;
	box-sizing: border-box;
	width: min(100%, 74rem);
	margin: 0 auto;
	padding: clamp(4.5rem, 9vw, 8rem) clamp(1.35rem, 6vw, 4rem);
	grid-template-columns: minmax(18rem, 0.8fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(3rem, 9vw, 8rem);
}

.strates-method-visual {
	display: grid;
	place-items: center;
	min-height: 27rem;
	border: 1px solid #d5cfc5;
	background: #e9e3da;
}

.strates-method-visual img {
	width: min(72%, 17rem);
	height: auto;
}

.strates-method-copy > p:not(.strates-section-index),
.mkdocs-container .strates-method-copy > p:not(.strates-section-index) {
	margin: 1.25rem 0 0;
	color: #5e625d !important;
}

.strates-method-steps {
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
}

.strates-method-steps li {
	display: grid;
	padding: 1.15rem 0;
	grid-template-columns: 2.8rem 1fr;
	gap: 1rem;
	border-top: 1px solid #cfc8bd;
}

.strates-method-steps li > span {
	color: #a57b4b;
	font-size: 0.7rem;
	letter-spacing: 0.14em;
}

.strates-method-steps strong {
	display: block;
	font-size: 1.05rem;
	font-weight: 600;
}

.strates-method-steps p,
.mkdocs-container .strates-method-steps p {
	margin: 0.25rem 0 0;
	color: #686b66 !important;
	font-size: 0.88rem;
}

/* Traces. */
.strates-traces {
	box-sizing: border-box;
	width: min(100%, 74rem);
	margin: 0 auto;
	padding: clamp(4.5rem, 9vw, 7.5rem) clamp(1.35rem, 6vw, 4rem);
}

.strates-section-heading {
	margin-block-end: clamp(2.5rem, 5vw, 4rem);
	text-align: center;
}

.strates-traces-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.2rem, 3vw, 2rem);
}

.strates-traces-grid article {
	padding: 2.25rem 1.5rem;
	border: 1px solid #ded9d1;
	background: #fbfaf8;
	text-align: center;
}

.strates-traces-grid img {
	width: 7rem;
	height: 7rem;
	margin: 0 auto 1.3rem;
	object-fit: contain;
}

.strates-traces-grid h3,
.mkdocs-container .strates-traces-grid h3 {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 500;
}

.strates-traces-grid p,
.mkdocs-container .strates-traces-grid p {
	margin: 0.7rem auto 0;
	color: #666a64 !important;
	font-size: 0.88rem;
	line-height: 1.6;
}

/* Appel final. */
.strates-contact {
	display: flex;
	box-sizing: border-box;
	width: min(100%, 64rem);
	margin: 0 auto;
	padding: clamp(4.5rem, 10vw, 8rem) clamp(1.35rem, 5vw, 3rem);
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.strates-contact img {
	width: clamp(14rem, 34vw, 22rem);
	height: auto;
	margin: 0 auto 2.5rem;
}

.strates-contact p,
.mkdocs-container .strates-contact p {
	max-width: 52ch;
	margin: 1.25rem auto 0;
	color: #ccc7be !important;
}

.strates-button,
.mkdocs-container .strates-button {
	display: inline-flex;
	min-height: 2.9rem;
	margin-top: 2rem;
	padding: 0.1rem 1.5rem;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--strates-accent);
	color: #f7f3ec !important;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 180ms ease, color 180ms ease;
}

.strates-button:hover,
.strates-button:focus-visible {
	background: var(--strates-accent);
	color: #090909 !important;
}

@media (max-width: 52rem) {
	.strates-domain-grid,
	.strates-traces-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.strates-knowledge,
	.strates-method {
		grid-template-columns: minmax(0, 1fr);
	}

	.strates-knowledge-art {
		min-height: 17rem;
	}

	.strates-method-visual {
		min-height: 20rem;
	}
}

@media (max-width: 38rem) {
	body.site-shell {
		--frontmark-astro-mobile-main-padding: 44px;
		--frontmark-astro-mobile-content-padding: 44px;
	}

	.site-main:has(> .strates-root-shell) {
		padding-block-start: var(--frontmark-astro-mobile-main-padding, 44px);
	}

	html:has(.strates-root-shell) {
		--frontmark-nav-height: 60px;
	}

	.strates-root-shell {
		--mkdocs-container-height: 100svh !important;
	}

	.strates-root-shell > .mkdocs-container-inner {
		min-height: 100svh;
		padding-inline: 1.2rem;
		padding-block-start: 5rem;
		padding-block-end: 7rem;
	}

	.strates-root-mark {
		inset: auto;
		width: clamp(7rem, 31vw, 8rem);
		max-width: none;
		margin-bottom: clamp(2rem, 5svh, 3rem);
		transform: none;
	}

	.strates-root-logo {
		width: min(21rem, calc(100% - 1rem));
		transform: none;
	}

	.strates-root-shell > .mkdocs-container-inner > p:not(.strates-root-logo):not(.strates-root-mark):not(:has(.strates-root-scroll)) {
		max-width: 20rem;
		font-size: 1rem;
		transform: translateX(-0.25rem);
	}

	.strates-root-scroll,
	.mkdocs-container .strates-root-scroll {
		inset-block-end: 1.25rem;
	}

	.strates-domain-grid,
	.strates-traces-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.strates-domain-card {
		min-height: 32rem;
	}

	.strates-desktop-break {
		display: none;
	}

	.strates-knowledge-art {
		min-height: 14rem;
	}

	.strates-art-arch {
		width: 11rem;
	}

	.strates-art-bat,
	.strates-art-cloud {
		width: 6rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.strates-root-scroll::after {
		animation: none;
	}

	.strates-root-scroll::before {
		animation: none;
	}

	.strates-domain-card {
		transition: none;
	}
}

/* Pages Domaine — modèle partagé. */
html:not(.frontmark-header-transparent-scrolled):has(body.site-shell .domaine1-hero) .frontmark-header-shell {
	border-bottom-color: transparent !important;
	background: transparent !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

html:has(body.site-shell .domaine1-hero) .frontmark-header-brand {
	width: clamp(9rem, 13vw, 12rem);
	min-width: clamp(9rem, 13vw, 12rem);
}

html:has(body.site-shell .domaine1-hero) .frontmark-header-brand img {
	display: block;
	flex: 0 0 100%;
	width: 100% !important;
	min-width: 100%;
	height: auto !important;
	max-width: none;
}

body.site-shell:has(.domaine1-hero) {
	--frontmark-astro-max-width: 76rem;
	--frontmark-astro-main-width: 76rem;
	--frontmark-astro-content-width: 76rem;
	background: #f5f4f1;
}

body.site-shell:has(.domaine1-hero) .content-main {
	padding-block-end: 0;
}

.domaine1-hero {
	min-height: 100svh;
	overflow: hidden;
}

body.site-shell .content-main > .domaine1-hero {
	margin-block-start: calc(0px - var(--frontmark-nav-height, 92px) - var(--frontmark-header-overhang, 0px) - var(--frontmark-astro-content-padding, 64px)) !important;
}

.domaine1-hero::after {
	background-image:
		linear-gradient(90deg, rgba(4, 4, 3, 0.9) 0%, rgba(4, 4, 3, 0.64) 35%, rgba(4, 4, 3, 0.14) 72%, rgba(4, 4, 3, 0.28) 100%),
		linear-gradient(0deg, rgba(4, 4, 3, 0.7) 0%, transparent 48%),
		var(--mkdocs-container-image, none);
	background-position: center 48%;
}

.domaine1-hero > .mkdocs-container-inner {
	box-sizing: border-box;
	text-shadow: 0 0.12rem 1.4rem rgba(0, 0, 0, 0.42);
}

.domaine1-hero > .mkdocs-container-inner > p:first-child {
	margin: 0 0 clamp(1.2rem, 3svh, 2rem);
	line-height: 1;
}

.domaine1-hero mark {
	padding: 0;
	background: transparent;
	color: var(--strates-accent);
	font-size: clamp(3rem, 6vw, 5.5rem);
	font-weight: 200;
	letter-spacing: -0.045em;
}

.domaine1-hero h1,
.mkdocs-container.domaine1-hero h1 {
	max-width: 11ch;
	margin: 0;
	color: #fff !important;
	font-size: clamp(2.6rem, 5.4vw, 5rem);
	font-weight: 500;
	letter-spacing: -0.035em;
	line-height: 0.98;
	text-transform: uppercase;
}

.domaine1-hero-title-line {
	white-space: nowrap;
}

.domaine1-hero > .mkdocs-container-inner > p:nth-of-type(2) {
	--mkdocs-container-fg: var(--strates-accent);
	margin: clamp(1rem, 2.5svh, 1.65rem) 0 0;
	color: var(--strates-accent) !important;
	font-size: clamp(1.05rem, 1.8vw, 1.35rem);
	letter-spacing: 0.01em;
}

.domaine1-hero > .mkdocs-container-inner > p:nth-of-type(2) em {
	font-style: normal;
}

.domaine1-hero > .mkdocs-container-inner > p:nth-of-type(3) {
	max-width: 34rem;
	margin: clamp(1rem, 2.5svh, 1.5rem) 0 0;
	color: #f1eee8 !important;
	font-size: clamp(1rem, 1.4vw, 1.18rem);
	line-height: 1.6;
}

.domaine1-hero > .mkdocs-container-inner > p:has(> .domaine1-scroll) {
	position: static;
	height: 0;
	margin: 0;
}

.domaine1-scroll,
.mkdocs-container .domaine1-scroll {
	position: absolute;
	inset-inline-start: 50%;
	inset-block-end: clamp(1.25rem, 2.6svh, 2rem);
	display: grid;
	justify-items: center;
	gap: 0.5rem;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff !important;
	box-shadow: none;
	font-size: 0.61rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-decoration: none;
	transform: translateX(-50%);
}

.domaine1-scroll::before {
	content: "";
	width: 1px;
	height: 2rem;
	background: rgba(255, 255, 255, 0.68);
	animation: strates-scroll-line 1.8s ease-in-out infinite;
}

.domaine1-scroll::after {
	content: "↓";
	color: rgba(255, 255, 255, 0.82);
	font-size: 1.25rem;
	font-weight: 200;
	line-height: 1;
	animation: strates-scroll-arrow 1.2s ease-in-out infinite;
}

.mkdocs-container-grid-fixed:has(> .domaine1-overview-copy) {
	--mkdocs-container-grid-gap: 0;
	box-sizing: border-box;
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	padding-inline: max(1rem, calc((100vw - 76rem) / 2));
	background: #fff;
}

.domaine1-overview-copy,
.domaine1-benefits {
	margin: 0;
}

.domaine1-overview-copy h2,
.mkdocs-container .domaine1-overview-copy h2 {
	max-width: 13ch;
	margin: 0 0 clamp(1.7rem, 4vw, 2.6rem);
	color: #1d1c19 !important;
	font-size: clamp(2rem, 3.8vw, 3.35rem);
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 1.03;
}

.domaine1-overview-copy h2::before {
	content: "";
	display: block;
	width: 2.2rem;
	height: 1px;
	margin-block-end: 1.25rem;
	background: var(--strates-accent);
}

.domaine1-overview-copy p,
.mkdocs-container .domaine1-overview-copy p {
	max-width: 48ch;
	margin: 0 0 1.35rem;
	color: #5d5a54 !important;
	font-size: clamp(0.95rem, 1.2vw, 1.05rem);
	line-height: 1.75;
}

.domaine1-overview-copy p:last-child {
	margin-top: 1.8rem;
	margin-bottom: 0;
}

.domaine1-overview-copy mark {
	padding: 0;
	background: transparent;
	color: var(--strates-accent);
}

.domaine1-benefits ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.domaine1-benefits li {
	position: relative;
	min-height: 4.4rem;
	margin: 0;
	padding: 0 0 1.55rem 5rem;
	border-bottom: 1px solid #d9d5ce;
	color: #6a665f;
	font-size: 0.92rem;
	line-height: 1.6;
}

.domaine1-benefits li + li {
	margin-top: 1.55rem;
}

.domaine1-benefits li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.domaine1-benefits li p,
.mkdocs-container .domaine1-benefits li p {
	margin: 0;
	color: inherit !important;
}

.domaine1-benefits .domaine1-benefit-icon {
	position: absolute;
	inset-block-start: 0.1rem;
	inset-inline-start: 0;
	display: block;
	width: 3.3rem;
	height: 3.3rem;
	object-fit: contain;
}

.domaine1-benefits strong {
	display: inline-block;
	max-width: 26ch;
	margin-bottom: 0.35rem;
	color: #282621;
	font-size: clamp(0.94rem, 1.2vw, 1.05rem);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.25;
	text-transform: uppercase;
}

.domaine1-projects-heading,
.domaine1-projects-cta,
.domaine1-photo-credits {
	margin-block: 0;
}

.domaine1-projects-heading > .mkdocs-container-inner > p:first-child {
	--mkdocs-container-fg: var(--strates-accent);
	width: 100%;
	max-width: none;
	margin: 0 auto 0.6rem;
	color: var(--strates-accent) !important;
	font-size: 0.73rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-align: center;
	text-transform: uppercase;
}

.domaine1-projects-heading h2,
.mkdocs-container .domaine1-projects-heading h2 {
	max-width: 25ch;
	margin: 0 auto;
	color: #211f1c !important;
	font-size: clamp(1.9rem, 3.5vw, 3rem);
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1.08;
}

.domaine1-projects-heading h2::after {
	content: "";
	display: block;
	width: 2.2rem;
	height: 1px;
	margin: 1.25rem auto 0;
	background: var(--strates-accent);
}

.mkdocs-container-grid-fixed:has(> .domaine1-project-card) {
	box-sizing: border-box;
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	padding: 0 max(1rem, calc((100vw - 76rem) / 2)) clamp(2.5rem, 6vw, 5rem);
	background: #f5f4f1;
}

.domaine1-project-card {
	border: 1px solid #e1ddd6;
	box-shadow: 0 0.75rem 2.4rem rgba(44, 38, 29, 0.08);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.domaine1-project-card:hover {
	transform: translateY(-0.3rem);
	box-shadow: 0 1.1rem 3rem rgba(44, 38, 29, 0.13);
}

.domaine1-project-card > .mkdocs-container-inner {
	display: flex;
	box-sizing: border-box;
	min-height: 100%;
	padding-block-end: 1.35rem;
	flex-direction: column;
}

.domaine1-project-card > .mkdocs-container-inner > :not(.domaine1-project-cover) {
	margin-inline: 1.25rem;
}

.domaine1-project-card .domaine1-project-cover {
	width: 100%;
	margin: 0 0 1.2rem;
	line-height: 0;
	overflow: hidden;
}

.domaine1-project-card .domaine1-project-cover img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 320ms ease;
}

.domaine1-project-card:hover .domaine1-project-cover img {
	transform: scale(1.035);
}

.domaine1-project-card p,
.mkdocs-container .domaine1-project-card p {
	margin-block: 0.65rem 0;
	color: #68645d !important;
	font-size: 0.82rem;
	line-height: 1.55;
}

.domaine1-project-card .domaine1-project-cover + p {
	--mkdocs-container-fg: var(--strates-accent);
	margin-block-start: 0;
	color: var(--strates-accent) !important;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.domaine1-project-card .domaine1-project-cover + p em {
	font-style: normal;
}

.domaine1-project-card h3,
.mkdocs-container .domaine1-project-card h3 {
	margin-block: 0.55rem 0;
	color: #24221e !important;
	font-size: 1.18rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.domaine1-project-card p:has(> .strates-discover-link) {
	margin-top: auto;
	padding-top: 1.15rem;
}

.domaine1-cta,
.mkdocs-container .domaine1-cta {
	--mkdocs-container-link: #fff;
	margin: 0;
	padding: 0.9rem 1.5rem;
	border: 1px solid #111;
	border-radius: 0;
	background: #111;
	color: #fff !important;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.domaine1-cta:hover,
.domaine1-cta:focus-visible {
	--mkdocs-container-link: #111;
	border-color: var(--strates-accent);
	background: var(--strates-accent);
	color: #111 !important;
}

.domaine1-photo-credits p,
.mkdocs-container .domaine1-photo-credits p {
	max-width: 90ch;
	margin: 0 auto;
	color: #777169 !important;
	font-size: 0.68rem;
	line-height: 1.55;
}

.domaine1-photo-credits a {
	color: inherit !important;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

@media (max-width: 70rem) {
	.mkdocs-container-grid-fixed:has(> .domaine1-project-card) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mkdocs-container-grid-fixed > .domaine1-project-card {
		grid-column: auto;
	}
}

@media (max-width: 56rem) {
	.mkdocs-container-grid-fixed:has(> .domaine1-overview-copy) {
		grid-template-columns: minmax(0, 1fr);
	}

	.mkdocs-container-grid-fixed > .domaine1-overview-copy,
	.mkdocs-container-grid-fixed > .domaine1-benefits {
		grid-column: 1;
	}

	.domaine1-overview-copy h2,
	.mkdocs-container .domaine1-overview-copy h2 {
		max-width: 18ch;
	}

	.domaine1-hero::after {
		background-position: 58% center;
	}
}

@media (max-width: 47.5rem) {
	body.site-shell .content-main > .domaine1-hero {
		margin-block-start: calc(0px - var(--frontmark-nav-height, 92px) - var(--frontmark-header-overhang, 0px) - var(--frontmark-astro-mobile-content-padding, 44px)) !important;
	}
}

@media (max-width: 40rem) {
	html:has(body.site-shell .domaine1-hero) .frontmark-header-brand {
		width: clamp(7.5rem, 34vw, 9rem);
		min-width: clamp(7.5rem, 34vw, 9rem);
	}

	.domaine1-hero {
		padding: 5.5rem 1.25rem 6.5rem !important;
	}

	.domaine1-hero::after {
		background-image:
			linear-gradient(90deg, rgba(4, 4, 3, 0.82), rgba(4, 4, 3, 0.3)),
			linear-gradient(0deg, rgba(4, 4, 3, 0.76) 0%, rgba(4, 4, 3, 0.12) 64%),
			var(--mkdocs-container-image, none);
		background-position: 61% center;
	}

	.domaine1-hero mark {
		font-size: clamp(2.7rem, 15vw, 4rem);
	}

	.domaine1-hero h1,
	.mkdocs-container.domaine1-hero h1 {
		font-size: clamp(2.35rem, 11vw, 3.5rem);
	}

	.domaine1-scroll,
	.mkdocs-container .domaine1-scroll {
		inset-block-end: 1.1rem;
	}

	.mkdocs-container-grid-fixed:has(> .domaine1-project-card) {
		grid-template-columns: minmax(0, 1fr);
	}

	.domaine1-benefits li {
		padding-inline-start: 4.25rem;
	}

	.domaine1-benefits .domaine1-benefit-icon {
		width: 2.8rem;
		height: 2.8rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.domaine1-scroll::before,
	.domaine1-scroll::after {
		animation: none;
	}

	.domaine1-project-card,
	.domaine1-project-card .domaine1-project-cover img {
		transition: none;
	}
}

/* Page Expertises -------------------------------------------------------- */

body.site-shell:has(.expertise-intro) {
	--frontmark-astro-max-width: 76rem;
	background: #fff;
}

html:has(body.site-shell .expertise-intro) .frontmark-header-brand {
	width: clamp(9rem, 13vw, 12rem);
	min-width: clamp(9rem, 13vw, 12rem);
}

html:has(body.site-shell .expertise-intro) .frontmark-header-brand img {
	display: block;
	flex: 0 0 100%;
	width: 100% !important;
	min-width: 100%;
	height: auto !important;
	max-width: none;
}

body.site-shell .expertise-intro,
body.site-shell .expertise-chain-heading,
body.site-shell .expertise-chain-end,
body.site-shell .expertise-credits {
	margin-block: 0 !important;
}

body.site-shell .expertise-intro > .mkdocs-container-inner,
body.site-shell .expertise-chain-heading > .mkdocs-container-inner,
body.site-shell .expertise-chain-end > .mkdocs-container-inner,
body.site-shell .expertise-credits > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
}

body.site-shell .expertise-intro h1 {
	--mkdocs-container-fg: #161513;
	margin: 0;
	color: #161513 !important;
	font-size: clamp(2.65rem, 5vw, 4.8rem) !important;
	font-weight: 400 !important;
	letter-spacing: 0.015em !important;
	line-height: 1.05 !important;
	text-align: center;
	text-transform: uppercase !important;
}

body.site-shell .expertise-intro h1::after,
body.site-shell .expertise-intro h2::after,
body.site-shell .expertise-chain-heading h2::after {
	display: block;
	width: 2.4rem;
	height: 2px;
	margin: 1.5rem auto 0;
	background: rgb(197, 121, 57);
	content: "";
}

body.site-shell .expertise-intro > .mkdocs-container-inner > p:first-of-type {
	--mkdocs-container-fg: #292723;
	margin: clamp(1.8rem, 3vw, 2.6rem) auto clamp(2.2rem, 4vw, 3.2rem);
	color: #292723 !important;
	font-size: clamp(0.67rem, 1.1vw, 0.86rem);
	font-weight: 600;
	letter-spacing: 0.015em;
	line-height: 2;
	text-align: center;
	text-transform: uppercase;
}

body.site-shell .expertise-intro > .mkdocs-container-inner > p:first-of-type mark {
	--mkdocs-container-fg: rgb(197, 121, 57);
	margin-inline: 0.35rem;
	padding: 0;
	background: transparent;
	color: rgb(197, 121, 57) !important;
	font-size: 1.15em;
}

body.site-shell .expertise-intro h2,
body.site-shell .expertise-chain-heading h2 {
	--mkdocs-container-fg: #1e1d1a;
	margin: 0;
	color: #1e1d1a !important;
	font-size: clamp(1.25rem, 2.3vw, 1.75rem) !important;
	font-weight: 500 !important;
	letter-spacing: 0.025em !important;
	line-height: 1.25 !important;
	text-align: center;
	text-transform: uppercase !important;
}

body.site-shell .expertise-intro h2 + p {
	--mkdocs-container-fg: #69645d;
	max-width: 52rem;
	margin: 1.8rem auto 0;
	color: #69645d !important;
	font-size: clamp(0.9rem, 1.25vw, 1rem);
	line-height: 1.72;
	text-align: center;
}

body.site-shell .content-main > .expertise-visual {
	position: relative;
	width: 100vw;
	margin: 0 calc(50% - 50vw) !important;
	overflow: hidden;
}

body.site-shell .expertise-visual > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
	padding: 0;
}

body.site-shell .expertise-visual p {
	margin: 0;
}

body.site-shell .expertise-visual .expertise-banner {
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: clamp(15rem, 27vw, 28rem);
	margin: 0 !important;
	overflow: hidden;
}

body.site-shell .expertise-visual .expertise-banner img {
	display: block;
	width: 100% !important;
	min-width: 100%;
	max-width: none !important;
	height: 100% !important;
	margin: 0;
	object-fit: cover;
	object-position: center;
	filter: saturate(0.88) contrast(1.08);
	transform: scale(1.002);
}

body.site-shell .expertise-visual::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: "";
}

body.site-shell .expertise-visual-01 .expertise-banner img {
	object-position: center 58%;
}

body.site-shell .expertise-visual-01::after {
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.34), transparent 48%, rgba(197, 121, 57, 0.12));
}

body.site-shell .expertise-visual-02 .expertise-banner img {
	filter: grayscale(1) contrast(1.55) brightness(0.74);
}

body.site-shell .expertise-visual-02::after {
	background:
		linear-gradient(100deg, rgba(33, 38, 160, 0.76), rgba(0, 201, 181, 0.55) 38%, rgba(129, 205, 25, 0.6) 69%, rgba(236, 153, 26, 0.28)),
		repeating-linear-gradient(0deg, transparent 0 21px, rgba(255, 255, 255, 0.08) 22px);
	mix-blend-mode: screen;
}

body.site-shell .expertise-visual-03 .expertise-banner img {
	filter: grayscale(0.72) contrast(1.38) brightness(0.68);
}

body.site-shell .expertise-visual-03::after {
	background-image:
		repeating-linear-gradient(28deg, transparent 0 19px, rgba(255, 255, 255, 0.19) 20px, transparent 21px 38px),
		repeating-linear-gradient(152deg, transparent 0 25px, rgba(197, 121, 57, 0.18) 26px, transparent 27px 48px);
	mix-blend-mode: screen;
}

body.site-shell .expertise-visual-04 .expertise-banner img {
	filter: grayscale(1) contrast(1.45) brightness(0.67);
}

body.site-shell .expertise-visual-04::after {
	background-image:
		linear-gradient(rgba(197, 121, 57, 0.12) 1px, transparent 1px),
		linear-gradient(90deg, rgba(197, 121, 57, 0.12) 1px, transparent 1px);
	background-size: 52px 52px;
}

body.site-shell .expertise-visual-05 .expertise-banner img {
	object-position: center 54%;
	filter: saturate(1.25) contrast(1.18) brightness(0.8);
}

body.site-shell .expertise-visual-05::after {
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.48), transparent 35%, rgba(197, 121, 57, 0.16));
}

body.site-shell .expertise-visual-06 .expertise-banner img {
	filter: saturate(0.72) contrast(1.35) brightness(0.76);
}

body.site-shell .expertise-visual-06::after {
	background: radial-gradient(circle at 68% 48%, rgba(255, 207, 126, 0.22), transparent 28%), linear-gradient(90deg, rgba(0, 0, 0, 0.34), transparent);
}

body.site-shell .expertise-visual-07 .expertise-banner img {
	filter: saturate(0.9) contrast(1.3) brightness(0.7);
}

body.site-shell .expertise-visual-07::after {
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.52), transparent 54%, rgba(197, 121, 57, 0.16));
}

body.site-shell .mkdocs-container-grid-fixed:has(> .expertise-step-number) {
	position: relative;
	display: grid;
	grid-template-columns: minmax(8.5rem, 0.42fr) minmax(0, 1.58fr);
	gap: 0;
	width: min(calc(100% - clamp(2rem, 8vw, 8rem)), 76rem);
	margin: 0 auto;
	background: #fff;
}

body.site-shell .mkdocs-container-grid-fixed:has(> .expertise-step-number)::after {
	position: absolute;
	right: 0;
	bottom: 1.25rem;
	left: 0;
	height: 1px;
	background: rgb(197, 121, 57);
	content: "";
}

body.site-shell .expertise-step-number,
body.site-shell .expertise-step-copy {
	min-width: 0;
	margin: 0 !important;
}

body.site-shell .expertise-step-number > .mkdocs-container-inner,
body.site-shell .expertise-step-copy > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
}

body.site-shell .expertise-step-number > .mkdocs-container-inner {
	display: flex;
	min-height: 100%;
	justify-content: flex-end;
	border-right: 1px solid rgba(197, 121, 57, 0.42);
	padding-right: clamp(1.5rem, 3vw, 2.6rem);
}

body.site-shell .expertise-step-number p {
	margin: 0;
}

body.site-shell .expertise-step-number mark {
	--mkdocs-container-fg: rgb(197, 121, 57);
	padding: 0;
	background: transparent;
	color: rgb(197, 121, 57) !important;
	font-size: clamp(3.6rem, 7vw, 5.8rem);
	font-weight: 300;
	letter-spacing: -0.04em;
	line-height: 0.92;
	white-space: nowrap;
}

body.site-shell .expertise-step-copy {
	scroll-margin-top: calc(var(--frontmark-nav-height, 92px) + 1rem);
}

body.site-shell .expertise-step-copy h2 {
	--mkdocs-container-fg: #24221f;
	margin: 0;
	color: #24221f !important;
	font-size: clamp(1.1rem, 2vw, 1.45rem) !important;
	font-weight: 650 !important;
	letter-spacing: 0.015em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}

body.site-shell .expertise-step-copy > .mkdocs-container-inner > p:first-of-type {
	margin: 0.45rem 0 1.15rem;
}

body.site-shell .expertise-step-copy > .mkdocs-container-inner > p:first-of-type em {
	--mkdocs-container-fg: rgb(197, 121, 57);
	color: rgb(197, 121, 57) !important;
	font-size: 0.88rem;
	font-style: normal;
	font-weight: 650;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

body.site-shell .expertise-step-copy > .mkdocs-container-inner > p:last-child {
	--mkdocs-container-fg: #5f5a53;
	max-width: 47rem;
	margin: 0;
	color: #5f5a53 !important;
	font-size: clamp(0.9rem, 1.2vw, 1rem);
	line-height: 1.65;
}

body.site-shell .expertise-chain-heading h2 {
	font-size: clamp(1.4rem, 2.5vw, 1.9rem) !important;
}

body.site-shell .mkdocs-container-grid-fixed:has(> .expertise-chain-item) {
	--expertise-chain-gap: clamp(1.75rem, 2.4vw, 2.4rem);
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--expertise-chain-gap);
	width: min(calc(100% - clamp(2rem, 8vw, 8rem)), 76rem);
	margin: 0 auto;
	background: #fff;
}

body.site-shell .expertise-chain-item {
	position: relative;
	min-width: 0;
	margin: 0 !important;
	overflow: visible !important;
}

body.site-shell .expertise-chain-item > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
}

body.site-shell .expertise-chain-item > .mkdocs-container-inner > p {
	margin: 0;
}

body.site-shell .expertise-chain-item .expertise-chain-image {
	display: block;
	width: 100% !important;
	max-width: none !important;
	aspect-ratio: 4 / 3;
	margin: 0 !important;
	overflow: hidden;
}

body.site-shell .expertise-chain-item .expertise-chain-image img {
	display: block;
	width: 100% !important;
	min-width: 100%;
	max-width: none !important;
	height: 100% !important;
	margin: 0;
	object-fit: cover;
	filter: saturate(0.75) contrast(1.12);
}

body.site-shell .expertise-chain-item > .mkdocs-container-inner > p:last-child {
	--mkdocs-container-fg: #2d2a26;
	padding: 0.85rem 0.25rem 0;
	color: #2d2a26 !important;
	font-size: clamp(0.66rem, 0.95vw, 0.78rem);
	letter-spacing: 0.015em;
	text-align: center;
	text-transform: uppercase;
}

body.site-shell .expertise-chain-item:not(:last-child)::after {
	position: absolute;
	top: calc((100% - 2.1rem) / 2);
	right: calc(-0.5 * var(--expertise-chain-gap));
	bottom: auto;
	left: auto;
	z-index: 2;
	width: auto;
	height: auto;
	color: rgb(197, 121, 57);
	content: "→";
	font-size: 1.35rem;
	font-weight: 500;
	line-height: 1;
	transform: translate(50%, -50%);
}

body.site-shell .expertise-chain-end p {
	--mkdocs-container-fg: #36332e;
	width: 100%;
	max-width: none !important;
	margin: 0 auto;
	color: #36332e !important;
	font-size: clamp(0.9rem, 1.4vw, 1.05rem);
	text-align: center;
}

body.site-shell .expertise-credits {
	border-top: 1px solid #e2ded7;
}

body.site-shell .expertise-credits p,
body.site-shell .expertise-credits a {
	--mkdocs-container-fg: #77736d;
	--mkdocs-container-link: #77736d;
	margin: 0;
	color: #77736d !important;
	font-size: 0.68rem;
	line-height: 1.6;
}

@media (max-width: 56rem) {
	body.site-shell .expertise-intro h1 {
		font-size: clamp(2.15rem, 9vw, 3.4rem) !important;
	}

	body.site-shell .expertise-intro > .mkdocs-container-inner > p:first-of-type {
		font-size: 0.68rem;
		line-height: 2.3;
	}

	body.site-shell .expertise-visual .expertise-banner {
		height: clamp(13rem, 52vw, 20rem);
	}

	body.site-shell .mkdocs-container-grid-fixed:has(> .expertise-step-number) {
		grid-template-columns: minmax(4.5rem, 0.34fr) minmax(0, 1.66fr);
		width: min(calc(100% - 2rem), 76rem);
	}

	body.site-shell .expertise-step-number,
	body.site-shell .expertise-step-copy {
		padding-block: 2.7rem !important;
		padding-inline: clamp(0.75rem, 3vw, 1.35rem) !important;
	}

	body.site-shell .expertise-step-number {
		grid-column: 1 !important;
	}

	body.site-shell .expertise-step-copy {
		grid-column: 2 !important;
	}

	body.site-shell .expertise-step-number > .mkdocs-container-inner {
		justify-content: center;
		padding-right: clamp(0.6rem, 2vw, 1rem);
	}

	body.site-shell .expertise-step-number mark {
		font-size: clamp(2.7rem, 10vw, 4rem);
	}

	body.site-shell .mkdocs-container-grid-fixed:has(> .expertise-chain-item) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem 0.9rem;
		width: min(calc(100% - 2rem), 76rem);
	}

	body.site-shell .expertise-chain-item {
		grid-column: auto !important;
	}

	body.site-shell .expertise-chain-item:not(:last-child)::after {
		display: none;
	}
}

@media (max-width: 32rem) {
	body.site-shell .expertise-intro {
		padding-block: 3.5rem !important;
	}

	body.site-shell .expertise-intro > .mkdocs-container-inner > p:first-of-type {
		margin-block: 2rem 3rem;
	}

	body.site-shell .expertise-step-copy h2 {
		font-size: 1rem !important;
	}

	body.site-shell .expertise-step-copy > .mkdocs-container-inner > p:first-of-type em {
		font-size: 0.72rem;
	}
}

/* Page Réseau de compétences -------------------------------------------- */

body.site-shell:has(.competences-intro) {
	background: #fff;
}

html:has(body.site-shell .competences-intro) .frontmark-header-brand {
	width: clamp(9rem, 13vw, 12rem);
	min-width: clamp(9rem, 13vw, 12rem);
}

html:has(body.site-shell .competences-intro) .frontmark-header-brand img {
	display: block;
	width: 100% !important;
	min-width: 100%;
	height: auto !important;
	max-width: none;
}

body.site-shell:has(.competences-intro) .content-main > article.prose > .lead {
	display: none;
}

body.site-shell .competences-intro,
body.site-shell .competences-credits {
	margin-block: 0 !important;
}

body.site-shell .competences-intro > .mkdocs-container-inner,
body.site-shell .competences-credits > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
}

body.site-shell .competences-intro > .mkdocs-container-inner > p:first-of-type {
	--mkdocs-container-fg: rgb(197, 121, 57);
	margin: 0 0 1.5rem;
	color: rgb(197, 121, 57) !important;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}

body.site-shell .competences-intro > .mkdocs-container-inner > p:first-of-type::after {
	display: block;
	width: 2.2rem;
	height: 1px;
	margin-top: 0.85rem;
	background: rgb(197, 121, 57);
	content: "";
}

body.site-shell .competences-intro > .mkdocs-container-inner > p:first-of-type strong {
	color: rgb(197, 121, 57) !important;
}

body.site-shell .competences-intro h1 {
	--mkdocs-container-fg: #151412;
	margin: 0;
	color: #151412 !important;
	font-size: clamp(2.75rem, 5.2vw, 5.1rem) !important;
	font-weight: 400 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.02 !important;
	text-transform: uppercase !important;
}

body.site-shell .competences-intro h1::after {
	display: block;
	width: 2.55rem;
	height: 2px;
	margin: 1.8rem 0 1.75rem;
	background: rgb(197, 121, 57);
	content: "";
}

body.site-shell .competences-intro h2 {
	--mkdocs-container-fg: #22201d;
	max-width: none;
	margin: 0 0 1.15rem;
	color: #22201d !important;
	font-size: clamp(1.25rem, 2.2vw, 1.75rem) !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.3 !important;
	text-transform: none !important;
}

body.site-shell .competences-intro > .mkdocs-container-inner > p:not(:first-of-type) {
	--mkdocs-container-fg: #4e4a44;
	max-width: 72rem;
	margin: 0 0 0.75rem;
	color: #4e4a44 !important;
	font-size: clamp(0.88rem, 1.15vw, 1rem);
	line-height: 1.58;
}

body.site-shell .competences-intro > .mkdocs-container-inner > p:last-child {
	margin-bottom: 0;
}

body.site-shell .mkdocs-container-grid-fixed:has(> .competence-copy) {
	--mkdocs-container-grid-gap: 0;
	display: grid;
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	border-top: 1px solid rgba(197, 121, 57, 0.52);
	background: #fff;
	grid-template-columns: minmax(22rem, 0.39fr) minmax(0, 0.61fr);
	gap: 0;
}

body.site-shell .competence-copy,
body.site-shell .competence-media {
	min-width: 0;
	min-height: clamp(23rem, 28vw, 28rem);
	margin: 0 !important;
}

body.site-shell .competence-copy {
	padding: clamp(2.2rem, 2.8vw, 3rem) clamp(1.5rem, 4.5vw, 4.5rem) !important;
	padding-left: max(clamp(1.5rem, 5vw, 4.5rem), calc((100vw - 76rem) / 2)) !important;
}

body.site-shell .competence-copy > .mkdocs-container-inner,
body.site-shell .competence-media > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
}

body.site-shell .competence-copy h2 {
	--mkdocs-container-fg: #1d1b18;
	max-width: 18ch;
	margin: 0 0 0.5rem;
	color: #1d1b18 !important;
	font-size: clamp(1.75rem, 2.4vw, 2.4rem) !important;
	font-weight: 400 !important;
	letter-spacing: -0.025em !important;
	line-height: 1.08 !important;
	text-transform: none !important;
}

body.site-shell .competence-copy-rendr h2 {
	font-size: clamp(2.3rem, 3.6vw, 3.2rem) !important;
}

body.site-shell .competence-copy-organisation h2 {
	max-width: none;
	font-size: clamp(1.75rem, 2.3vw, 2.3rem) !important;
}

body.site-shell .competence-copy h2 mark {
	padding: 0;
	background: transparent;
	color: rgb(197, 121, 57) !important;
}

body.site-shell .competence-copy > .mkdocs-container-inner > p:first-of-type {
	margin: 0 0 1.1rem;
}

body.site-shell .competence-copy > .mkdocs-container-inner > p:first-of-type em {
	--mkdocs-container-fg: rgb(197, 121, 57);
	color: rgb(197, 121, 57) !important;
	font-size: 0.76rem;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}

body.site-shell .competence-copy > .mkdocs-container-inner > p:not(:first-of-type) {
	--mkdocs-container-fg: #4e4a44;
	max-width: 46ch;
	margin: 0 0 0.9rem;
	color: #4e4a44 !important;
	font-size: clamp(0.78rem, 0.9vw, 0.82rem);
	line-height: 1.55;
}

body.site-shell .competence-copy-organisation > .mkdocs-container-inner > p:first-of-type {
	--mkdocs-container-fg: #4e4a44;
	max-width: 46ch;
	margin: 0 0 0.9rem;
	color: #4e4a44 !important;
	font-size: clamp(0.78rem, 0.9vw, 0.82rem);
	line-height: 1.55;
}

body.site-shell .competence-copy > .mkdocs-container-inner > p:last-child {
	margin-bottom: 0;
}

body.site-shell .competence-media {
	position: relative;
	padding: 0 !important;
	overflow: hidden;
}

body.site-shell .competence-media > .mkdocs-container-inner,
body.site-shell .competence-media > .mkdocs-container-inner > p,
body.site-shell .competence-media .competence-photo {
	height: 100%;
	margin: 0 !important;
}

body.site-shell .competence-media > .mkdocs-container-inner {
	position: absolute;
	inset: 0;
}

body.site-shell .competence-media .competence-photo {
	display: block;
	width: 100% !important;
	max-width: none !important;
	overflow: hidden;
}

body.site-shell .competence-media .competence-photo img {
	display: block;
	width: 100% !important;
	min-width: 100%;
	max-width: none !important;
	height: 100% !important;
	margin: 0;
	object-fit: cover;
	filter: saturate(0.86) contrast(1.08);
	transition: transform 500ms ease;
}

body.site-shell .competence-media:hover .competence-photo img {
	transform: scale(1.018);
}

body.site-shell .competence-media-rendr .competence-photo img {
	object-position: center 58%;
	filter: saturate(0.72) contrast(1.16) brightness(0.72);
}

body.site-shell .competence-media-rendr::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background-image:
		repeating-linear-gradient(22deg, transparent 0 24px, rgba(226, 235, 231, 0.3) 25px, transparent 26px 48px),
		repeating-linear-gradient(158deg, transparent 0 32px, rgba(197, 121, 57, 0.34) 33px, transparent 34px 62px),
		radial-gradient(circle at 68% 42%, rgba(125, 205, 202, 0.46), transparent 37%);
	content: "";
	mix-blend-mode: screen;
}

body.site-shell .competence-media-freitas .competence-photo img {
	object-position: center;
	filter: saturate(0.82) contrast(1.12) brightness(0.82);
}

body.site-shell .competence-media-besson .competence-photo img {
	object-position: center 62%;
	filter: saturate(0.8) contrast(1.12) brightness(0.82);
}

body.site-shell .competence-media-team .competence-photo img {
	object-position: center 48%;
	filter: saturate(0.82) contrast(1.12) brightness(0.76);
}

body.site-shell .competences-credits {
	border-top: 1px solid #e2ded7;
}

body.site-shell .competences-credits p,
body.site-shell .competences-credits a {
	--mkdocs-container-fg: #77736d;
	--mkdocs-container-link: #77736d;
	margin: 0;
	color: #77736d !important;
	font-size: 0.66rem;
	line-height: 1.55;
}

@media (max-width: 56rem) {
	body.site-shell .mkdocs-container-grid-fixed:has(> .competence-copy) {
		grid-template-columns: minmax(0, 1fr);
	}

	body.site-shell .mkdocs-container-grid-fixed > .competence-copy,
	body.site-shell .mkdocs-container-grid-fixed > .competence-media {
		grid-column: 1 !important;
	}

	body.site-shell .competence-copy {
		min-height: 0;
		padding: 3rem max(1.5rem, calc((100vw - 42rem) / 2)) !important;
	}

	body.site-shell .competence-copy > .mkdocs-container-inner > p:not(:first-of-type) {
		max-width: 62ch;
	}

	body.site-shell .competence-media {
		min-height: clamp(17rem, 66vw, 29rem);
	}
}

@media (max-width: 32rem) {
	body.site-shell .competences-intro {
		padding-block: 3.5rem !important;
	}

	body.site-shell .competences-intro h1 {
		font-size: clamp(2.2rem, 11vw, 3.2rem) !important;
	}

	body.site-shell .competences-intro h2 {
		font-size: 1.15rem !important;
	}

	body.site-shell .competence-copy h2 {
		font-size: 1.85rem !important;
	}

	body.site-shell .competence-copy-rendr h2 {
		font-size: 2.55rem !important;
	}
}

/* Page Notre équipe & notre réseau -------------------------------------- */

body.site-shell:has(.network-intro) {
	background: #fff;
}

html:has(body.site-shell .network-intro) .frontmark-header-brand {
	width: clamp(9rem, 13vw, 12rem);
	min-width: clamp(9rem, 13vw, 12rem);
}

html:has(body.site-shell .network-intro) .frontmark-header-brand img {
	display: block;
	width: 100% !important;
	min-width: 100%;
	height: auto !important;
	max-width: none;
}

body.site-shell:has(.network-intro) .content-main > article.prose > .lead {
	display: none;
}

body.site-shell .network-intro {
	margin-block: 0 !important;
}

body.site-shell .network-intro > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
}

body.site-shell .network-intro > .mkdocs-container-inner > p:first-of-type {
	margin: 0 0 0.55rem;
	color: rgb(218, 93, 25) !important;
	font-size: 1.05rem;
	font-weight: 800;
}

body.site-shell .network-intro h1 {
	--mkdocs-container-fg: #111;
	max-width: 48rem;
	margin: 0;
	color: #111 !important;
	font-size: clamp(3rem, 6vw, 5.4rem) !important;
	font-weight: 850 !important;
	letter-spacing: -0.055em !important;
	line-height: 0.96 !important;
	text-transform: uppercase !important;
}

body.site-shell .network-intro h1::after {
	display: block;
	width: 2.7rem;
	height: 3px;
	margin: 1.25rem 0 2.25rem;
	background: rgb(218, 93, 25);
	content: "";
}

body.site-shell .network-intro h2 {
	--mkdocs-container-fg: #171614;
	margin: 0 0 0.45rem;
	color: #171614 !important;
	font-size: clamp(1.2rem, 2.2vw, 1.65rem) !important;
	font-weight: 850 !important;
	letter-spacing: -0.015em !important;
	text-transform: uppercase !important;
}

body.site-shell .network-intro > .mkdocs-container-inner > p:last-child {
	max-width: 51rem;
	margin: 0;
	color: #34312d !important;
	font-size: clamp(0.88rem, 1.15vw, 1rem);
	line-height: 1.65;
}

body.site-shell .mkdocs-container-grid-fixed:has(> .network-person-card) {
	display: grid;
	box-sizing: border-box;
	width: min(calc(100% - clamp(3rem, 10vw, 8rem)), 68rem);
	margin: 0 auto;
	padding-bottom: clamp(2rem, 4vw, 3.25rem);
	background: #fff;
	align-items: start;
}

body.site-shell .mkdocs-container-grid-fixed[data-mkdocs-container-grid-columns="3"]:has(> .network-person-card) {
	width: min(calc(100% - clamp(3rem, 10vw, 8rem)), 52rem);
}

body.site-shell .network-person-card {
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

body.site-shell .network-person-card > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
}

body.site-shell .network-person-card .network-person-photo {
	display: block;
	width: clamp(7.3rem, 11vw, 9rem) !important;
	max-width: none !important;
	aspect-ratio: 1;
	margin: 0 auto 0.75rem !important;
	overflow: hidden;
	border: 1px solid rgba(24, 22, 19, 0.16);
	border-radius: 50%;
	background: #eeeae4;
}

body.site-shell .network-person-card .network-person-photo img {
	display: block;
	width: 100% !important;
	min-width: 100%;
	max-width: none !important;
	height: 100% !important;
	margin: 0;
	object-fit: cover;
	object-position: center;
	transition: transform 420ms ease;
}

body.site-shell .network-person-card:hover .network-person-photo img {
	transform: scale(1.045);
}

body.site-shell .network-person-card h3 {
	--mkdocs-container-fg: #171614;
	margin: 0;
	color: #171614 !important;
	font-size: clamp(1rem, 1.45vw, 1.2rem) !important;
	font-weight: 850 !important;
	line-height: 1.15 !important;
}

body.site-shell .network-person-card p {
	margin: 0.25rem 0 0;
	color: #3f3b36 !important;
	font-size: clamp(0.7rem, 0.9vw, 0.8rem);
	line-height: 1.45;
}

body.site-shell .network-person-card p em {
	color: rgb(218, 93, 25) !important;
	font-size: 1.08em;
	font-style: normal;
	font-weight: 700;
}

body.site-shell .network-divider {
	position: relative;
	margin-block: 0 !important;
}

body.site-shell .network-divider::before {
	position: absolute;
	top: 50%;
	right: clamp(1.5rem, 5vw, 4rem);
	left: clamp(1.5rem, 5vw, 4rem);
	height: 1px;
	background: #bdb8b0;
	content: "";
}

body.site-shell .network-divider > .mkdocs-container-inner {
	position: relative;
	z-index: 1;
	display: flex;
	width: 100%;
	max-width: none;
	justify-content: center;
}

body.site-shell .network-divider .network-divider-mark {
	display: block;
	box-sizing: content-box;
	width: clamp(4.5rem, 7vw, 6rem) !important;
	height: clamp(4.5rem, 7vw, 6rem);
	margin: 0 !important;
	padding-inline: clamp(1.5rem, 3vw, 2.5rem);
	background: #fff;
}

body.site-shell .network-divider .network-divider-mark img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0;
	object-fit: contain;
}

body.site-shell .network-partners-heading {
	margin-block: 0 !important;
}

body.site-shell .network-partners-heading > .mkdocs-container-inner {
	display: grid;
	width: 100%;
	max-width: none;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: start;
	gap: clamp(2rem, 6vw, 6rem);
}

body.site-shell .network-partners-heading h2 {
	--mkdocs-container-fg: #171614;
	margin: 0;
	color: #171614 !important;
	font-size: clamp(1.35rem, 2.6vw, 2rem) !important;
	font-weight: 850 !important;
	letter-spacing: -0.025em !important;
	line-height: 1.12 !important;
	text-transform: uppercase !important;
}

body.site-shell .network-partners-heading p {
	margin: 0;
	color: #34312d !important;
	font-size: clamp(0.82rem, 1.05vw, 0.94rem);
	line-height: 1.65;
}

body.site-shell .mkdocs-container-grid-fixed:has(> .network-partner-card) {
	display: grid;
	box-sizing: border-box;
	width: min(calc(100% - clamp(3rem, 10vw, 8rem)), 76rem);
	margin: 0 auto;
	padding-block: clamp(3rem, 6vw, 5rem) clamp(1rem, 2vw, 2rem);
	background: #fff;
	align-items: start;
}

body.site-shell .network-partner-card {
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

body.site-shell .network-partner-card > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
}

body.site-shell .network-partner-card h3 {
	--mkdocs-container-fg: #171614;
	display: flex;
	margin: 0 0 0.7rem;
	align-items: center;
	gap: 0.8rem;
	color: #171614 !important;
	font-size: clamp(1.05rem, 1.7vw, 1.35rem) !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	white-space: nowrap;
}

body.site-shell .network-partner-card h3::before,
body.site-shell .network-partner-card h3::after {
	flex: 1 1 1.5rem;
	height: 2px;
	background: rgb(218, 93, 25);
	content: "";
}

body.site-shell .network-partner-rendr h3 {
	font-size: clamp(1.65rem, 2.5vw, 2.1rem) !important;
	font-weight: 400 !important;
}

body.site-shell .network-partner-rendr h3 mark {
	--mkdocs-container-fg: rgb(218, 93, 25);
	padding: 0;
	background: transparent;
	color: rgb(218, 93, 25) !important;
}

body.site-shell .network-partner-card p {
	margin: 0.55rem 0 0;
	color: #3f3b36 !important;
	font-size: clamp(0.72rem, 0.88vw, 0.82rem);
	line-height: 1.58;
}

body.site-shell .network-partner-card p em {
	display: block;
	margin-bottom: 0.9rem;
	color: rgb(218, 93, 25) !important;
	font-size: 0.92em;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

body.site-shell .network-partner-card p strong {
	color: #2a2723 !important;
	font-weight: 600;
}

body.site-shell .mkdocs-container-grid-fixed:has(> .network-skill-card) {
	display: grid;
	box-sizing: border-box;
	width: min(calc(100% - clamp(3rem, 10vw, 8rem)), 76rem);
	margin: 0 auto;
	padding-bottom: clamp(2rem, 4vw, 3.5rem);
	background: #fff;
	align-items: start;
}

body.site-shell .network-skill-card {
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

body.site-shell .network-skill-card > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
}

body.site-shell .network-skill-card .network-skill-icon {
	display: block;
	width: clamp(3.9rem, 5.5vw, 5rem) !important;
	height: clamp(3.9rem, 5.5vw, 5rem);
	margin: 0 auto 0.85rem !important;
}

body.site-shell .network-skill-card .network-skill-icon img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0;
	object-fit: contain;
}

body.site-shell .network-skill-card h3 {
	--mkdocs-container-fg: #171614;
	min-height: 2.4em;
	margin: 0;
	color: #171614 !important;
	font-size: clamp(0.8rem, 1.05vw, 0.94rem) !important;
	font-weight: 850 !important;
	line-height: 1.2 !important;
}

body.site-shell .network-skill-card p {
	margin: 0.35rem auto 0;
	color: #3f3b36 !important;
	font-size: clamp(0.67rem, 0.8vw, 0.75rem);
	line-height: 1.52;
}

body.site-shell .network-promises {
	margin-block: 0 !important;
}

body.site-shell .network-promises > .mkdocs-container-inner {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 76rem !important;
	margin-inline: auto !important;
}

body.site-shell .network-promises p {
	display: grid;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 auto !important;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: clamp(1rem, 3vw, 2.5rem);
	font-size: clamp(0.78rem, 1.15vw, 1rem);
	line-height: 1.4;
	text-align: center;
}

body.site-shell .network-promises strong {
	display: block;
	max-width: 14ch;
	justify-self: center;
	color: #171614 !important;
	font-size: clamp(1.05rem, 1.8vw, 1.45rem);
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
}

body.site-shell .network-promises mark {
	--mkdocs-container-fg: rgb(218, 93, 25);
	padding: 0;
	background: transparent;
	color: rgb(218, 93, 25) !important;
	font-size: 1.35em;
	font-weight: 700;
	text-align: center;
}

@media (max-width: 60rem) {
	body.site-shell .mkdocs-container-grid-fixed:has(> .network-person-card),
	body.site-shell .mkdocs-container-grid-fixed[data-mkdocs-container-grid-columns="3"]:has(> .network-person-card) {
		width: min(calc(100% - 2rem), 44rem);
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 2.5rem 1.5rem !important;
	}

	body.site-shell .mkdocs-container-grid-fixed:has(> .network-person-card) > .network-person-card,
	body.site-shell .mkdocs-container-grid-fixed:has(> .network-partner-card) > .network-partner-card,
	body.site-shell .mkdocs-container-grid-fixed:has(> .network-skill-card) > .network-skill-card {
		grid-column: auto !important;
	}

	body.site-shell .mkdocs-container-grid-fixed:has(> .network-partner-card) {
		width: min(calc(100% - 2rem), 44rem);
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 3.25rem !important;
	}

	body.site-shell .mkdocs-container-grid-fixed:has(> .network-skill-card) {
		width: min(calc(100% - 2rem), 48rem);
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 2.75rem 1.5rem !important;
	}
}

@media (max-width: 42rem) {
	body.site-shell .network-intro {
		padding-block: 3.5rem !important;
	}

	body.site-shell .network-intro h1 {
		font-size: clamp(2.65rem, 13vw, 4rem) !important;
	}

	body.site-shell .network-partners-heading > .mkdocs-container-inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 1rem;
	}

	body.site-shell .mkdocs-container-grid-fixed:has(> .network-skill-card) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.site-shell .network-promises p {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.65rem;
	}

	body.site-shell .network-promises mark {
		display: none;
	}
}

@media (max-width: 30rem) {
	body.site-shell .mkdocs-container-grid-fixed:has(> .network-person-card),
	body.site-shell .mkdocs-container-grid-fixed[data-mkdocs-container-grid-columns="3"]:has(> .network-person-card) {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* Page Pourquoi STRATES ? ----------------------------------------------- */

body.site-shell:has(.why-hero) {
	background: #fff;
}

html:has(body.site-shell .why-hero) .frontmark-header-brand {
	width: clamp(9rem, 13vw, 12rem);
	min-width: clamp(9rem, 13vw, 12rem);
}

html:has(body.site-shell .why-hero) .frontmark-header-brand img {
	display: block;
	width: 100% !important;
	min-width: 100%;
	height: auto !important;
	max-width: none;
}

body.site-shell:has(.why-hero) .content-main > article.prose > .lead {
	display: none;
}

body.site-shell .content-main > article.prose:has(> .why-gallery) {
	position: relative;
	isolation: isolate;
}

body.site-shell .content-main > article.prose:has(> .why-gallery)::before {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100svh;
	background: #090806 url("https://assets.ia86.cc/i/vE8EegWlvi.webp") center 48% / cover no-repeat;
	content: "";
}

body.site-shell .why-hero {
	position: relative;
	z-index: 2;
	overflow: hidden;
	background: transparent;
}

body.site-shell .why-hero::after {
	z-index: 0;
	background-image:
		linear-gradient(90deg, rgba(2, 2, 2, 0.94) 0%, rgba(2, 2, 2, 0.72) 32%, rgba(2, 2, 2, 0.2) 66%, rgba(2, 2, 2, 0.34) 100%),
		linear-gradient(0deg, rgba(2, 2, 2, 0.7) 0%, transparent 52%);
	background-position: center;
}

body.site-shell .why-hero > .mkdocs-container-inner {
	position: static;
	width: 100%;
	max-width: none;
}

body.site-shell .why-hero > .mkdocs-container-inner > :not(.why-gallery) {
	position: relative;
	z-index: 1;
}

body.site-shell .why-hero > .mkdocs-container-inner > p:has(> .domaine1-scroll) {
	position: static;
}

body.site-shell .why-hero .domaine1-scroll {
	z-index: 1;
}

body.site-shell .why-hero h1,
body.site-shell .mkdocs-container.why-hero h1 {
	max-width: 10ch;
	margin: 0;
	color: #fff !important;
	font-size: clamp(3rem, 6.2vw, 5.7rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.05em !important;
	line-height: 0.98 !important;
	text-transform: uppercase !important;
}

body.site-shell .why-hero h1 mark {
	--mkdocs-container-fg: rgb(236, 105, 15);
	padding: 0;
	background: transparent;
	color: rgb(236, 105, 15) !important;
	font-size: 1em;
	font-weight: 800;
	letter-spacing: inherit;
}

body.site-shell .why-hero > .mkdocs-container-inner > p:first-of-type {
	--mkdocs-container-fg: rgb(236, 105, 15);
	max-width: 31rem;
	margin: clamp(1.6rem, 3.5svh, 2.4rem) 0 0;
	color: rgb(236, 105, 15) !important;
	font-size: clamp(1.2rem, 2.2vw, 1.65rem);
	line-height: 1.35;
}

body.site-shell .why-hero > .mkdocs-container-inner > p:first-of-type strong {
	color: inherit !important;
	font-weight: 550;
}

body.site-shell .why-hero > .mkdocs-container-inner > p:nth-of-type(2) {
	--mkdocs-container-fg: #f4f1eb;
	max-width: 33rem;
	margin: clamp(1rem, 2.2svh, 1.5rem) 0 0;
	color: #f4f1eb !important;
	font-size: clamp(0.95rem, 1.35vw, 1.12rem);
	line-height: 1.58;
}

body.site-shell .why-chain-heading,
body.site-shell .why-decision-heading {
	margin-block: 0 !important;
}

body.site-shell .why-chain-heading > .mkdocs-container-inner,
body.site-shell .why-decision-heading > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
}

body.site-shell .why-chain-heading h2,
body.site-shell .why-decision-heading h2 {
	--mkdocs-container-fg: #171614;
	max-width: 42rem;
	margin: 0 auto;
	color: #171614 !important;
	font-size: clamp(1.7rem, 3.25vw, 2.7rem) !important;
	font-weight: 450 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.12 !important;
}

body.site-shell .why-chain-heading h2::after,
body.site-shell .why-decision-heading h2::after {
	display: block;
	width: 2.75rem;
	height: 2px;
	margin: 1.25rem auto 0;
	background: rgb(236, 105, 15);
	content: "";
}

body.site-shell .mkdocs-container-grid-fixed:has(> .why-chain-card) {
	display: grid;
	box-sizing: border-box;
	width: min(calc(100% - clamp(3rem, 8vw, 7rem)), 76rem);
	margin: 0 auto;
	padding-bottom: clamp(4rem, 8vw, 7rem);
	background: #fff;
	align-items: start;
}

body.site-shell .why-chain-card,
body.site-shell .why-value-card,
body.site-shell .why-decision-card {
	position: relative;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

body.site-shell .why-chain-card,
body.site-shell .why-decision-card {
	overflow: visible;
}

body.site-shell .why-chain-card > .mkdocs-container-inner,
body.site-shell .why-value-card > .mkdocs-container-inner,
body.site-shell .why-decision-card > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
}

body.site-shell .why-chain-card:not(:last-child)::after,
body.site-shell .why-decision-card:not(:last-child)::after {
	position: absolute;
	z-index: 2;
	top: 2rem;
	bottom: auto;
	left: auto;
	right: calc(-1 * clamp(1.35rem, 2.7vw, 2.4rem));
	width: clamp(1.6rem, 2.5vw, 2.15rem);
	aspect-ratio: 1;
	background: url("https://assets.ia86.cc/i/xDFy7JjY3K.webp") center / contain no-repeat;
	content: "";
	transform: none;
}

body.site-shell .why-chain-card:not(:last-child)::after {
	top: clamp(2.2rem, 3vw, 2.8rem);
	transform: translateY(-50%);
}

body.site-shell .why-chain-card .why-chain-icon {
	display: block;
	width: clamp(4.4rem, 6vw, 5.6rem) !important;
	height: clamp(4.4rem, 6vw, 5.6rem);
	margin: 0 auto 1rem !important;
}

body.site-shell .why-chain-card .why-chain-icon img,
body.site-shell .why-value-card .why-value-icon img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0;
	object-fit: contain;
}

body.site-shell .why-chain-card h3,
body.site-shell .why-value-card h3,
body.site-shell .why-decision-card h3 {
	--mkdocs-container-fg: #171614;
	margin: 0;
	color: #171614 !important;
	font-size: clamp(0.78rem, 1.05vw, 0.96rem) !important;
	font-weight: 850 !important;
	letter-spacing: -0.01em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}

body.site-shell .why-chain-card h3 {
	min-height: 3.5em;
}

body.site-shell .why-chain-card p,
body.site-shell .why-value-card p,
body.site-shell .why-decision-card p {
	margin: 0.7rem auto 0;
	color: #3d3934 !important;
	font-size: clamp(0.66rem, 0.82vw, 0.76rem);
	line-height: 1.58;
}

body.site-shell .why-gallery {
	--mkdocs-carousel-accent: rgb(236, 105, 15);
	--mkdocs-carousel-gap: 0;
	--mkdocs-carousel-height: 100%;
	--mkdocs-carousel-aspect-ratio: auto;
	--mkdocs-carousel-image-fit: cover;
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: auto;
	left: 0;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	height: 100svh;
	margin: 0;
	overflow: hidden;
}

body.site-shell .why-gallery .slick-list,
body.site-shell .why-gallery .mkdocs-carousel-track:not(.slick-initialized) {
	overflow: hidden;
	border-radius: 0;
}

body.site-shell .why-gallery .mkdocs-carousel-track,
body.site-shell .why-gallery .slick-list,
body.site-shell .why-gallery .slick-track,
body.site-shell .why-gallery .slick-slide,
body.site-shell .why-gallery .slick-slide > div,
body.site-shell .why-gallery .mkdocs-carousel-slide,
body.site-shell .why-gallery .mkdocs-carousel-slide > p {
	height: 100%;
}

body.site-shell .why-gallery .mkdocs-carousel-slide,
body.site-shell .why-gallery .mkdocs-carousel-slide > p {
	margin: 0;
	padding-inline: 0;
}

body.site-shell .why-gallery .mkdocs-carousel-slide :is(img, picture img) {
	width: 100% !important;
	height: 100% !important;
	background: #0a0907;
	object-fit: cover;
	object-position: center;
}

body.site-shell .why-gallery .slick-dots {
	display: none !important;
}

body.site-shell .why-terrain-banner {
	position: relative;
	margin-block: 0 !important;
	overflow: hidden;
}

body.site-shell .why-terrain-banner::after {
	background-image:
		linear-gradient(90deg, rgba(4, 3, 2, 0.87) 0%, rgba(4, 3, 2, 0.5) 37%, rgba(4, 3, 2, 0.08) 69%),
		var(--mkdocs-container-image, none);
	background-position: center;
}

body.site-shell .why-terrain-banner > .mkdocs-container-inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: none;
	text-shadow: 0 0.12rem 1.2rem rgba(0, 0, 0, 0.55);
}

body.site-shell .why-terrain-banner h2,
body.site-shell .why-terrain-banner h3 {
	margin: 0;
	font-size: clamp(2rem, 4vw, 3.6rem) !important;
	font-weight: 450 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.12 !important;
}

body.site-shell .why-terrain-banner h2 {
	--mkdocs-container-fg: #fff;
	color: #fff !important;
}

body.site-shell .why-terrain-banner h3 {
	--mkdocs-container-fg: rgb(236, 105, 15);
	margin-top: 1.1rem;
	color: rgb(236, 105, 15) !important;
}

body.site-shell .mkdocs-container-grid-fixed:has(> .why-value-card) {
	display: grid;
	box-sizing: border-box;
	width: min(calc(100% - clamp(3rem, 8vw, 7rem)), 76rem);
	margin: 0 auto;
	padding-block: clamp(4rem, 7vw, 6rem);
	background: #fff;
	align-items: stretch;
}

body.site-shell .why-value-card {
	padding-inline: clamp(0.8rem, 2vw, 1.5rem) !important;
}

body.site-shell .why-value-card + .why-value-card {
	border-left: 1px solid #d9d5ce;
}

body.site-shell .why-value-card .why-value-icon {
	display: block;
	width: clamp(4rem, 5.5vw, 5rem) !important;
	height: clamp(4rem, 5.5vw, 5rem);
	margin: 0 auto 1rem !important;
}

body.site-shell .why-value-card h3 {
	font-size: clamp(0.82rem, 1.1vw, 1rem) !important;
}

body.site-shell .why-decision-heading {
	padding-bottom: clamp(1.5rem, 3vw, 2.5rem) !important;
}

body.site-shell .mkdocs-container-grid-fixed:has(> .why-decision-card) {
	display: grid;
	box-sizing: border-box;
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw);
	padding: 0 max(clamp(1.5rem, 5vw, 4rem), calc((100vw - 76rem) / 2)) clamp(4rem, 7vw, 6rem);
	background: #f5f4f1;
	align-items: start;
}

body.site-shell .why-decision-card:not(:last-child)::after {
	display: none;
}

body.site-shell .why-decision-card:not(:last-child) .why-decision-image::after {
	position: absolute;
	z-index: 2;
	top: 50%;
	right: calc(-1 * clamp(1.25rem, 3vw, 2.5rem));
	width: clamp(1.8rem, 3vw, 2.5rem);
	aspect-ratio: 1;
	background: url("https://assets.ia86.cc/i/xDFy7JjY3K.webp") center / contain no-repeat;
	content: "";
	transform: translate(50%, -50%);
}

body.site-shell .why-decision-card h3 {
	margin-bottom: 0.85rem;
}

body.site-shell .why-decision-card .why-decision-image {
	position: relative;
	display: block;
	width: 100% !important;
	height: clamp(11rem, 19vw, 16rem);
	margin: 0 !important;
	overflow: visible;
	border: 1px solid rgba(30, 28, 24, 0.12);
	background: #fff;
}

body.site-shell .why-decision-card .why-decision-image img {
	display: block;
	width: 100% !important;
	min-width: 100%;
	max-width: none !important;
	height: 100% !important;
	margin: 0;
	object-fit: cover;
}

body.site-shell .why-decision-card:nth-child(2) .why-decision-image img,
body.site-shell .why-decision-card:nth-child(3) .why-decision-image img {
	object-fit: contain;
}

body.site-shell .why-decision-card p:last-child {
	max-width: 22rem;
	font-size: clamp(0.72rem, 0.92vw, 0.84rem);
}

body.site-shell .why-cta {
	margin-block: 0 !important;
}

body.site-shell .why-cta > .mkdocs-container-inner {
	display: grid;
	width: 100%;
	max-width: none;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(1.5rem, 4vw, 3.5rem);
}

body.site-shell .why-cta .why-cta-logo {
	display: block;
	width: clamp(4.5rem, 7vw, 6rem) !important;
	height: clamp(4.5rem, 7vw, 6rem);
	margin: 0 !important;
}

body.site-shell .why-cta .why-cta-logo img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0;
	object-fit: contain;
}

body.site-shell .why-cta h2 {
	--mkdocs-container-fg: #fff;
	margin: 0;
	color: #fff !important;
	font-size: clamp(1.35rem, 2.6vw, 2.1rem) !important;
	font-weight: 450 !important;
	letter-spacing: -0.025em !important;
	line-height: 1.28 !important;
}

body.site-shell .why-cta h2 mark {
	--mkdocs-container-fg: rgb(236, 105, 15);
	padding: 0;
	background: transparent;
	color: rgb(236, 105, 15) !important;
}

body.site-shell .why-cta > .mkdocs-container-inner > p:last-child {
	margin: 0;
}

body.site-shell .why-cta-button,
body.site-shell .mkdocs-container .why-cta-button {
	border: 1px solid rgb(236, 105, 15) !important;
	border-radius: 0;
	padding: 0.85rem 1.35rem;
	background: transparent !important;
	color: #fff !important;
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.025em;
	text-transform: uppercase;
}

body.site-shell .why-cta-button:hover,
body.site-shell .why-cta-button:focus-visible {
	background: rgb(236, 105, 15) !important;
	color: #111 !important;
	transform: translateY(-2px);
}

@media (max-width: 70rem) {
	body.site-shell .mkdocs-container-grid-fixed:has(> .why-chain-card) {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 3.5rem 2rem !important;
	}

	body.site-shell .mkdocs-container-grid-fixed:has(> .why-value-card) {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 3.5rem 0 !important;
	}

	body.site-shell .mkdocs-container-grid-fixed:has(> .why-chain-card) > .why-chain-card,
	body.site-shell .mkdocs-container-grid-fixed:has(> .why-value-card) > .why-value-card {
		grid-column: auto !important;
	}

	body.site-shell .why-chain-card::after {
		display: none;
	}

}

@media (max-width: 48rem) {
	body.site-shell .why-hero h1,
	body.site-shell .mkdocs-container.why-hero h1 {
		font-size: clamp(2.65rem, 11.5vw, 4.5rem) !important;
	}

	body.site-shell .mkdocs-container-grid-fixed:has(> .why-chain-card),
	body.site-shell .mkdocs-container-grid-fixed:has(> .why-value-card) {
		width: min(calc(100% - 2rem), 40rem);
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.site-shell .why-value-card + .why-value-card {
		border-left: 0;
	}

	body.site-shell .why-value-card:nth-child(even) {
		border-left: 1px solid #d9d5ce;
	}

	body.site-shell .mkdocs-container-grid-fixed:has(> .why-decision-card) {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 3.5rem !important;
	}

	body.site-shell .mkdocs-container-grid-fixed:has(> .why-decision-card) > .why-decision-card {
		grid-column: auto !important;
	}

	body.site-shell .why-decision-card::after {
		display: none;
	}

	body.site-shell .why-decision-card .why-decision-image::after {
		display: none;
	}

	body.site-shell .why-decision-card .why-decision-image {
		height: clamp(13rem, 55vw, 22rem);
	}

	body.site-shell .why-cta > .mkdocs-container-inner {
		grid-template-columns: auto minmax(0, 1fr);
	}

	body.site-shell .why-cta > .mkdocs-container-inner > p:last-child {
		grid-column: 1 / -1;
		justify-self: center;
	}
}

@media (max-width: 32rem) {
	body.site-shell .mkdocs-container-grid-fixed:has(> .why-chain-card),
	body.site-shell .mkdocs-container-grid-fixed:has(> .why-value-card) {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.site-shell .why-value-card {
		border-left: 0 !important;
	}

	body.site-shell .why-cta > .mkdocs-container-inner {
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		text-align: center;
	}

	body.site-shell .why-cta > .mkdocs-container-inner > p:last-child {
		grid-column: auto;
	}
}

/* Page Sécurité & Méthode ----------------------------------------------- */

body.site-shell:has(.method-intro) {
	background: #fff;
}

html:has(body.site-shell .method-intro) .frontmark-header-brand {
	width: clamp(9rem, 13vw, 12rem);
	min-width: clamp(9rem, 13vw, 12rem);
}

html:has(body.site-shell .method-intro) .frontmark-header-brand img {
	display: block;
	width: 100% !important;
	min-width: 100%;
	height: auto !important;
	max-width: none;
}

body.site-shell:has(.method-intro) .content-main > article.prose > .lead {
	display: none;
}

body.site-shell .method-intro {
	margin-block: 0 !important;
}

body.site-shell .method-intro > .mkdocs-container-inner {
	display: grid;
	width: 100%;
	max-width: none;
	grid-template-columns: minmax(20rem, 0.86fr) minmax(0, 1.14fr);
	grid-template-rows: auto auto auto;
	align-items: start;
	column-gap: clamp(3rem, 9vw, 8rem);
	row-gap: clamp(1rem, 2vw, 1.6rem);
}

body.site-shell .method-intro h1 {
	--mkdocs-container-fg: #111;
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	color: #111 !important;
	font-size: clamp(3.1rem, 6vw, 5.6rem) !important;
	font-weight: 850 !important;
	letter-spacing: -0.055em !important;
	line-height: 0.96 !important;
	text-transform: uppercase !important;
}

body.site-shell .method-intro h1::after {
	display: block;
	width: 3rem;
	height: 3px;
	margin: 1.5rem 0 0;
	background: rgb(236, 105, 15);
	content: "";
}

body.site-shell .method-intro h2 {
	--mkdocs-container-fg: #24211e;
	grid-column: 1;
	grid-row: 2 / span 2;
	margin: 0;
	color: #24211e !important;
	font-size: clamp(1.7rem, 3.1vw, 2.65rem) !important;
	font-weight: 400 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.15 !important;
}

body.site-shell .method-intro p {
	max-width: 44rem;
	margin: 0;
	color: #35312d !important;
	font-size: clamp(0.92rem, 1.2vw, 1.05rem);
	line-height: 1.68;
}

body.site-shell .method-intro p:nth-of-type(1) {
	grid-column: 2;
	grid-row: 1;
}

body.site-shell .method-intro p:nth-of-type(2) {
	grid-column: 2;
	grid-row: 2;
}

body.site-shell .method-intro p:nth-of-type(3) {
	grid-column: 2;
	grid-row: 3;
}

body.site-shell .method-intro p strong {
	color: #171614 !important;
	font-weight: 850;
}

body.site-shell .mkdocs-container-grid-fixed:has(> .method-step-track) {
	display: grid;
	box-sizing: border-box;
	width: min(calc(100% - clamp(3rem, 8vw, 7rem)), 76rem);
	min-height: clamp(17rem, 26vw, 22rem);
	margin: 0 auto;
	padding-block: clamp(1.5rem, 3vw, 2.5rem);
	background: #fff;
	grid-template-columns: 5.2rem 6.3rem minmax(15rem, 0.9fr) minmax(21rem, 1.28fr) !important;
	align-items: stretch;
	gap: clamp(1.5rem, 4vw, 3.5rem) !important;
}

body.site-shell .mkdocs-container-grid-fixed:has(> .method-step-track):first-of-type {
	padding-top: clamp(2rem, 4vw, 3.5rem);
}

body.site-shell .method-step-track,
body.site-shell .method-step-number,
body.site-shell .method-step-copy,
body.site-shell .method-step-media {
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

body.site-shell .method-step-track {
	overflow: visible;
}

body.site-shell .method-step-track > .mkdocs-container-inner,
body.site-shell .method-step-number > .mkdocs-container-inner,
body.site-shell .method-step-copy > .mkdocs-container-inner,
body.site-shell .method-step-media > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
}

body.site-shell .method-step-track > .mkdocs-container-inner {
	position: relative;
	height: 100%;
	min-height: 100%;
}

body.site-shell .method-step-track .method-step-arrow {
	position: absolute;
	z-index: 0;
	top: 0.25rem;
	left: 50%;
	display: block;
	width: 1.25rem !important;
	height: calc(100% + clamp(2.5rem, 5vw, 4rem));
	margin: 0 !important;
	overflow: visible;
	background: linear-gradient(rgb(236, 105, 15), rgb(236, 105, 15)) center top / 2px calc(100% - 0.45rem) no-repeat;
	transform: translateX(-50%);
}

body.site-shell .method-step-track .method-step-arrow img {
	display: none;
}

body.site-shell .method-step-track .method-step-arrow::after {
	position: absolute;
	bottom: 0.15rem;
	left: 50%;
	box-sizing: border-box;
	width: 1.1rem;
	height: 1.1rem;
	border-right: 3px solid rgb(236, 105, 15);
	border-bottom: 3px solid rgb(236, 105, 15);
	content: "";
	transform: translateX(-50%) rotate(45deg);
	transform-origin: center;
}

body.site-shell .method-step-track .method-step-picto {
	position: relative;
	z-index: 1;
	display: block;
	box-sizing: border-box;
	width: 5rem !important;
	height: 5rem;
	margin: 0 auto !important;
	overflow: hidden;
	border: 1px solid #bdb8b0;
	border-radius: 50%;
	padding: 0.8rem;
	background: #fff;
}

body.site-shell .method-step-track .method-step-picto img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0;
	object-fit: contain;
}

body.site-shell .method-step-number p {
	margin: 0;
	line-height: 1;
}

body.site-shell .method-step-number mark {
	--mkdocs-container-fg: #e5e4e2;
	padding: 0;
	background: transparent;
	color: #e5e4e2 !important;
	font-size: clamp(4.3rem, 7vw, 6.4rem);
	font-weight: 750;
	letter-spacing: -0.065em;
	line-height: 0.86;
}

body.site-shell .method-step-copy h2 {
	--mkdocs-container-fg: #171614;
	margin: 0;
	color: #171614 !important;
	font-size: clamp(1.3rem, 2vw, 1.7rem) !important;
	font-weight: 850 !important;
	letter-spacing: -0.025em !important;
	line-height: 1.1 !important;
	text-transform: uppercase !important;
}

body.site-shell .method-step-copy p {
	margin: 0.7rem 0 0;
	color: #393530 !important;
	font-size: clamp(0.76rem, 0.96vw, 0.88rem);
	line-height: 1.55;
}

body.site-shell .method-step-copy p:first-of-type {
	--mkdocs-container-fg: rgb(236, 105, 15);
	margin-top: 0.35rem;
	color: rgb(236, 105, 15) !important;
	font-size: clamp(0.86rem, 1.12vw, 1rem);
}

body.site-shell .method-step-copy p:first-of-type strong {
	color: inherit !important;
	font-weight: 700;
}

body.site-shell .method-step-copy p:last-child mark {
	--mkdocs-container-fg: rgb(236, 105, 15);
	padding: 0;
	background: transparent;
	color: rgb(236, 105, 15) !important;
	font-size: 0.92em;
	font-weight: 500;
}

body.site-shell .method-step-media,
body.site-shell .method-step-media > .mkdocs-container-inner,
body.site-shell .method-step-media > .mkdocs-container-inner > p {
	height: 100%;
}

body.site-shell .method-step-media .method-step-photo {
	display: block;
	width: 100% !important;
	height: 100%;
	min-height: clamp(15rem, 23vw, 19rem);
	margin: 0 !important;
	overflow: hidden;
	border: 1px solid rgba(29, 26, 22, 0.1);
	border-radius: 0.85rem;
	background: #f3f2ef;
	box-shadow: 0 0.85rem 2.4rem rgba(35, 31, 26, 0.08);
}

body.site-shell .method-step-media .method-step-photo img {
	display: block;
	width: 100% !important;
	min-width: 100%;
	max-width: none !important;
	height: 100% !important;
	margin: 0;
	object-fit: cover;
}

body.site-shell .method-step-media-contain .method-step-photo img {
	object-fit: contain;
}

body.site-shell .method-safety {
	--method-safety-divider-y: clamp(2rem, 4vw, 3.25rem);
	position: relative;
	margin-block: 0 !important;
}

body.site-shell .method-safety::before {
	position: absolute;
	top: var(--method-safety-divider-y);
	right: clamp(1.5rem, 5vw, 4rem);
	left: clamp(1.5rem, 5vw, 4rem);
	height: 1px;
	background: rgb(236, 105, 15);
	content: "";
}

body.site-shell .method-safety > .mkdocs-container-inner {
	position: static;
	display: grid;
	width: 100%;
	max-width: none;
	grid-template-columns: minmax(16rem, 0.76fr) minmax(0, 1.24fr);
	grid-template-rows: auto auto;
	align-items: start;
	gap: clamp(1.25rem, 3vw, 2.5rem) clamp(3rem, 8vw, 7rem);
}

body.site-shell .method-safety .method-safety-shield {
	position: absolute;
	z-index: 2;
	top: var(--method-safety-divider-y);
	left: 50%;
	display: block;
	box-sizing: content-box;
	width: clamp(3.8rem, 5.5vw, 4.8rem) !important;
	height: clamp(3.8rem, 5.5vw, 4.8rem);
	margin: 0 !important;
	padding-inline: 0.75rem;
	background: #fff;
	transform: translate(-50%, -50%);
}

body.site-shell .method-safety .method-safety-shield img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0;
	object-fit: contain;
}

body.site-shell .method-safety h1,
body.site-shell .method-safety h2 {
	--mkdocs-container-fg: #171614;
	grid-column: 1;
	margin: 0;
	color: #171614 !important;
	text-transform: uppercase !important;
}

body.site-shell .method-safety h1 {
	grid-row: 1;
	font-size: clamp(1.45rem, 2.7vw, 2.1rem) !important;
	font-weight: 850 !important;
}

body.site-shell .method-safety h2 {
	grid-row: 2;
	font-size: clamp(1.25rem, 2.4vw, 1.85rem) !important;
	font-weight: 400 !important;
}

body.site-shell .method-safety h2::after {
	display: block;
	width: 2.6rem;
	height: 3px;
	margin-top: 1.2rem;
	background: rgb(236, 105, 15);
	content: "";
}

body.site-shell .method-safety > .mkdocs-container-inner > p:not(.method-safety-shield) {
	grid-column: 2;
	grid-row: 1;
	max-width: 48rem;
	margin: 0;
	color: #302d29 !important;
	font-size: clamp(0.86rem, 1.08vw, 0.98rem);
	line-height: 1.58;
}

body.site-shell .method-safety > .mkdocs-container-inner > p strong {
	color: #171614 !important;
	font-weight: 850;
}

body.site-shell .method-safety ul {
	display: grid;
	grid-column: 2;
	grid-row: 2;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.site-shell .method-safety li {
	margin: 0;
	border-left: 1px solid #e2ded8;
	padding: 0 clamp(0.75rem, 2vw, 1.5rem);
}

body.site-shell .method-safety li:first-child {
	border-left: 0;
}

body.site-shell .method-safety li p {
	display: flex;
	margin: 0;
	align-items: center;
	gap: 0.7rem;
	color: rgb(236, 105, 15) !important;
	font-size: clamp(0.72rem, 0.9vw, 0.82rem);
	line-height: 1.35;
}

body.site-shell .method-safety li strong {
	color: rgb(236, 105, 15) !important;
	font-weight: 550;
}

body.site-shell .method-safety .method-commitment-icon {
	display: block;
	flex: 0 0 auto;
	width: 2.8rem !important;
	height: 2.8rem;
	margin: 0 !important;
}

body.site-shell .method-safety .method-commitment-icon img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0;
	object-fit: contain;
}

@media (max-width: 64rem) {
	body.site-shell .method-intro > .mkdocs-container-inner {
		grid-template-columns: minmax(16rem, 0.8fr) minmax(0, 1.2fr);
		column-gap: 3rem;
	}

	body.site-shell .mkdocs-container-grid-fixed:has(> .method-step-track) {
		width: min(calc(100% - 2rem), 48rem);
		grid-template-columns: 4.8rem 5.5rem minmax(0, 1fr) !important;
		gap: 1.5rem !important;
	}

	body.site-shell .method-step-track {
		grid-column: 1 !important;
		grid-row: 1 / span 2;
	}

	body.site-shell .method-step-number {
		grid-column: 2 !important;
		grid-row: 1;
	}

	body.site-shell .method-step-copy {
		grid-column: 3 !important;
		grid-row: 1;
	}

	body.site-shell .method-step-media {
		grid-column: 2 / -1 !important;
		grid-row: 2;
		margin-top: 1rem !important;
	}

	body.site-shell .method-step-track .method-step-arrow {
		height: calc(100% + 2rem);
	}

	body.site-shell .method-step-track .method-step-arrow::after {
		width: 0.75rem;
		height: 0.75rem;
		border-right-width: 2px;
		border-bottom-width: 2px;
	}

	body.site-shell .method-safety > .mkdocs-container-inner {
		grid-template-columns: minmax(14rem, 0.65fr) minmax(0, 1.35fr);
		column-gap: 3rem;
	}
}

@media (max-width: 44rem) {
	body.site-shell .method-intro {
		padding-block: 4rem !important;
	}

	body.site-shell .method-intro > .mkdocs-container-inner {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
		gap: 1.4rem;
	}

	body.site-shell .method-intro h1,
	body.site-shell .method-intro h2,
	body.site-shell .method-intro p:nth-of-type(1),
	body.site-shell .method-intro p:nth-of-type(2),
	body.site-shell .method-intro p:nth-of-type(3) {
		grid-column: 1;
		grid-row: auto;
	}

	body.site-shell .method-intro h1 {
		font-size: clamp(2.75rem, 14vw, 4.4rem) !important;
	}

	body.site-shell .method-intro h2 {
		margin-bottom: 1rem;
	}

	body.site-shell .mkdocs-container-grid-fixed:has(> .method-step-track) {
		grid-template-columns: 4.2rem minmax(0, 1fr) !important;
		gap: 1rem !important;
	}

	body.site-shell .method-step-track {
		grid-column: 1 !important;
		grid-row: 1 / span 3;
	}

	body.site-shell .method-step-number {
		grid-column: 2 !important;
		grid-row: 1;
	}

	body.site-shell .method-step-copy {
		grid-column: 2 !important;
		grid-row: 2;
	}

	body.site-shell .method-step-media {
		grid-column: 1 / -1 !important;
		grid-row: 3;
	}

	body.site-shell .method-step-track .method-step-picto {
		width: 4.1rem !important;
		height: 4.1rem;
		padding: 0.65rem;
	}

	body.site-shell .method-safety > .mkdocs-container-inner {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
		gap: 1rem;
	}

	body.site-shell .method-safety h1,
	body.site-shell .method-safety h2,
	body.site-shell .method-safety > .mkdocs-container-inner > p:not(.method-safety-shield),
	body.site-shell .method-safety ul {
		grid-column: 1;
		grid-row: auto;
	}

	body.site-shell .method-safety ul {
		grid-template-columns: minmax(0, 1fr);
		gap: 1rem;
		margin-top: 1rem;
	}

	body.site-shell .method-safety li,
	body.site-shell .method-safety li:first-child {
		border-top: 1px solid #e2ded8;
		border-left: 0;
		padding: 1rem 0 0;
	}

	body.site-shell .method-safety li:first-child {
		border-top: 0;
	}
}

/* Page Histoire --------------------------------------------------------- */

body.site-shell:has(.history-intro) {
	background: #fff;
}

html:has(body.site-shell .history-intro) .frontmark-header-brand {
	width: clamp(9rem, 13vw, 12rem);
	min-width: clamp(9rem, 13vw, 12rem);
}

html:has(body.site-shell .history-intro) .frontmark-header-brand img {
	display: block;
	width: 100% !important;
	min-width: 100%;
	height: auto !important;
	max-width: none;
}

body.site-shell:has(.history-intro) .content-main > article.prose > .lead {
	display: none;
}

body.site-shell .history-intro {
	margin-block: 0 !important;
}

body.site-shell .history-intro > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
}

body.site-shell .history-intro h1 {
	--mkdocs-container-fg: #171614;
	margin: 0;
	color: #171614 !important;
	font-size: clamp(2.6rem, 4.8vw, 4.2rem) !important;
	font-weight: 400 !important;
	letter-spacing: -0.045em !important;
	line-height: 1.04 !important;
	text-transform: none !important;
}

body.site-shell .history-intro h1::after {
	display: block;
	width: 2.65rem;
	height: 2px;
	margin: 1.5rem 0 2rem;
	background: rgb(197, 121, 57);
	content: "";
}

body.site-shell .history-intro p {
	--mkdocs-container-fg: #3f3b36;
	max-width: 74rem;
	margin: 0 0 1.35rem;
	color: #3f3b36 !important;
	font-size: clamp(0.9rem, 1.2vw, 1rem);
	line-height: 1.62;
}

body.site-shell .history-intro p:last-child {
	margin-bottom: 0;
}

body.site-shell .mkdocs-container-grid-fixed:has(> .history-strata-visual) {
	--mkdocs-container-grid-gap: clamp(2.5rem, 6vw, 5rem);
	display: grid;
	box-sizing: border-box;
	width: min(calc(100% - clamp(3rem, 10vw, 8rem)), 76rem);
	margin: 0 auto;
	border-top: 1px solid #d9d5ce;
	padding-block: clamp(3.5rem, 7vw, 6rem);
	background: #fff;
	grid-template-columns: minmax(18rem, 0.92fr) minmax(0, 1.08fr);
	align-items: stretch;
	gap: var(--mkdocs-container-grid-gap);
}

body.site-shell .history-strata-visual,
body.site-shell .history-timeline {
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	align-self: stretch;
}

body.site-shell .history-strata-visual > .mkdocs-container-inner,
body.site-shell .history-timeline > .mkdocs-container-inner {
	width: 100%;
	max-width: none;
}

body.site-shell .history-strata-visual > .mkdocs-container-inner {
	height: 100%;
}

body.site-shell .history-strata-visual p,
body.site-shell .history-strata-image {
	margin: 0 !important;
	height: 100%;
}

body.site-shell .history-strata-image {
	display: block;
	width: 100% !important;
	max-width: none !important;
}

body.site-shell .history-strata-image img {
	display: block;
	width: 100% !important;
	min-width: 100%;
	max-width: none !important;
	height: 100% !important;
	margin: 0;
	object-fit: cover;
	object-position: top center;
}

body.site-shell .history-timeline ul {
	display: grid;
	grid-auto-rows: 1fr;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.site-shell .history-timeline li {
	position: relative;
	min-height: clamp(8.5rem, 12vw, 11rem);
	margin: 0;
	padding: 0 0 clamp(1.15rem, 2vw, 1.75rem) clamp(3.6rem, 5vw, 4.25rem);
	color: #3f3b36;
	font-size: clamp(0.76rem, 0.95vw, 0.88rem);
	line-height: 1.52;
}

body.site-shell .history-timeline li:last-child {
	padding-bottom: 0;
}

body.site-shell .history-timeline li > p {
	margin: 0;
	color: #3f3b36 !important;
}

body.site-shell .history-timeline li > p:not(.history-timeline-arrow) {
	padding-top: 0.45rem;
}

body.site-shell .history-timeline li > p:last-child {
	max-width: 49rem;
}

body.site-shell .history-timeline li mark {
	--mkdocs-container-fg: rgb(218, 93, 25);
	padding: 0;
	background: transparent;
	color: rgb(218, 93, 25) !important;
	font-size: 0.92em;
	font-weight: 650;
	letter-spacing: 0.015em;
	text-transform: uppercase;
}

body.site-shell .history-timeline li strong {
	display: inline-block;
	margin: 0.2rem 0 0.16rem;
	color: #24211e !important;
	font-size: 1.08em;
	font-weight: 900 !important;
}

body.site-shell .history-timeline .history-timeline-arrow {
	position: absolute;
	top: 0.1rem;
	left: 0;
	display: block;
	width: auto !important;
	max-width: none !important;
	height: calc(100% - 0.65rem) !important;
	aspect-ratio: 360 / 1360;
	margin: 0 !important;
}

body.site-shell .history-timeline .history-timeline-arrow img {
	display: block;
	width: 100% !important;
	min-width: 100%;
	height: 100% !important;
	margin: 0;
	object-fit: contain;
}

@media (max-width: 56rem) {
	body.site-shell .mkdocs-container-grid-fixed:has(> .history-strata-visual) {
		width: min(calc(100% - 2rem), 44rem);
		grid-template-columns: minmax(0, 1fr);
		gap: 3rem;
	}

	body.site-shell .mkdocs-container-grid-fixed > .history-strata-visual,
	body.site-shell .mkdocs-container-grid-fixed > .history-timeline {
		grid-column: 1 !important;
	}

	body.site-shell .history-strata-visual {
		width: min(100%, 29rem);
		margin-inline: auto !important;
		align-self: start;
	}

	body.site-shell .history-strata-visual > .mkdocs-container-inner,
	body.site-shell .history-strata-visual p,
	body.site-shell .history-strata-image {
		height: auto;
	}

	body.site-shell .history-strata-image img {
		height: auto !important;
		object-fit: contain;
	}

	body.site-shell .history-timeline li {
		min-height: 9.5rem;
		font-size: 0.84rem;
	}
}

@media (max-width: 32rem) {
	body.site-shell .history-intro {
		padding-block: 3.5rem !important;
	}

	body.site-shell .history-intro h1 {
		font-size: clamp(2.35rem, 12vw, 3.25rem) !important;
	}

	body.site-shell .history-strata-visual {
		width: min(92%, 23rem);
	}

	body.site-shell .history-timeline li {
		padding-left: 3.35rem;
	}
}
