*, *::before, *::after { box-sizing: border-box; }
:root {
  --gouttiere: 24px;
  --largeur: 1120px;
  --largeur-texte: 62ch;
  --r: 12px;
  --t-rapide: .15s ease;
  --titres: Georgia, serif;
  --corps: system-ui, sans-serif;
}
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
body {
  margin: 0;
  background: var(--fond);
  color: var(--encre);
  font-family: var(--corps);
  font-size: 1.0625rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, picture, video { max-width: 100%; height: auto; display: block; }
img { background: var(--accent-clair); }
h1, h2, h3, h4 {
  font-family: var(--titres);
  line-height: 1.12;
  margin: 0 0 .5em;
  text-wrap: balance;
}
p { margin: 0 0 1em; }
p:last-child, ul:last-child, ol:last-child, dl:last-child, table:last-child { margin-bottom: 0; }
a { color: var(--accent-fonce); text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { color: var(--accent); }
strong { font-weight: 650; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 3px; }
::selection { background: var(--accent-clair); color: var(--encre); }
.contenant { width: 100%; max-width: var(--largeur); margin-inline: auto; padding-inline: var(--gouttiere); }
.evite { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.lien-evitement { position: absolute; left: var(--gouttiere); top: -100px; z-index: 100; background: var(--accent); color: var(--accent-contraste); padding: 10px 16px; border-radius: 8px; transition: top var(--t-rapide); }
.lien-evitement:focus { top: 10px; }
.etiq { display: block; margin: 0 0 14px; }
.mention { font-size: .85rem; color: var(--encre-2); }
@media (max-width: 420px) {
  .accueil h1 { font-size: clamp(1.9rem, 1.2rem + 3.6vw, 2.6rem); }
  .accueil h1, .section__tete h2 { overflow-wrap: anywhere; }
}
h1, h2, h3, .etiq, .accueil__sur { overflow-wrap: break-word; }
.mesure { max-width: var(--largeur-texte); }
.contenant.mesure { max-width: calc(var(--largeur-texte) + 2 * var(--gouttiere)); }
.section .mesure h1 { font-size: clamp(2rem, 1.6rem + 1.6vw, 2.9rem); margin-bottom: 1em; }
.section .mesure h2 { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem); margin-top: 1.6em; }
[id] { scroll-margin-top: 84px; }
.bouton {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 13px 20px; min-height: 48px;
  border: 1px solid transparent; border-radius: var(--r);
  font-family: var(--corps); font-size: .95rem; font-weight: 600; line-height: 1.2;
  text-decoration: none; cursor: pointer;
  transition: background var(--t-rapide), border-color var(--t-rapide), color var(--t-rapide), transform var(--t-rapide);
}
.bouton:active { transform: translateY(1px); }
.bouton svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bouton--plein { background: var(--accent); color: var(--accent-contraste); }
.bouton--plein:hover { background: var(--accent-fonce); color: var(--accent-contraste); }
.bouton--contour { border-color: var(--trait-fort); color: var(--encre); background: transparent; }
.bouton--contour:hover { border-color: var(--accent); color: var(--accent-fonce); background: var(--accent-clair); }
.bouton--discret { background: var(--accent-clair); color: var(--accent-fonce); }
.bouton--discret:hover { background: var(--accent); color: var(--accent-contraste); }
.boutons, .accueil__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.entete { position: sticky; top: 0; z-index: 40; background: var(--surface); border-bottom: 1px solid var(--trait); }
.entete__in { display: flex; align-items: center; gap: 20px; min-height: 68px; padding-block: 8px; }
.marque { color: var(--encre); text-decoration: none; margin-right: auto; line-height: 1.1;
  display: grid; grid-template-columns: auto; align-items: center; column-gap: 10px; }
.marque__nom { display: block; }
.marque__ligne { display: block; font-family: var(--corps); font-weight: 400; color: var(--encre-2); }
@media (max-width: 420px) { .marque__ligne { display: none; } }
.marque--logo { grid-template-columns: auto auto; }
.marque__logo { grid-row: 1 / span 2; grid-column: 1; display: block; height: 36px; }
.marque__logo img, .marque__logo svg { display: block; height: 100%; width: auto; max-width: 140px; object-fit: contain; }
.marque--logo .marque__nom, .marque--logo .marque__ligne { grid-column: 2; }
.nav { display: none; flex-wrap: wrap; }
.nav a { color: var(--encre-2); text-decoration: none; padding: 8px 12px; white-space: nowrap; }
.entete .bouton { white-space: nowrap; }
.nav a:hover { color: var(--encre); }
.entete .bouton { display: none; }
@media (min-width: 960px) {
  .nav { display: flex; gap: 2px; }
  .entete .bouton { display: inline-flex; }
  .nav { min-width: 0; }
}
@media (min-width: 960px) and (max-width: 1179px) {
  .entete__in { flex-wrap: wrap; row-gap: 0; }
  .nav { order: 3; flex-basis: 100%; justify-content: flex-start; margin-left: -12px; padding-bottom: 6px; }
}
main *, .entete *, .pied * { grid-auto-columns: minmax(0, 1fr); }
[class$="__faits"] > div { flex-wrap: wrap; }
[class$="__faits"] > div > * { min-width: 0; }
@media (max-width: 480px) {
  [class$="__faits"] > div { flex-direction: column; gap: 2px; }
  html [class$="__faits"] > div > dd { text-align: left; }
}
.accueil { padding-block: clamp(40px, 6vw, 88px) clamp(36px, 5vw, 64px); }
.accueil__in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: center; }
.accueil__in > *, .accueil__texte > * { min-width: 0; }
.accueil__actions { flex-wrap: wrap; }
.accueil h1 { margin-bottom: .3em; }
.accueil__sous { color: var(--encre-2); margin-bottom: 1em; }
.accueil__corps { max-width: 46ch; color: var(--encre-2); }
.accueil__corps p:last-child { margin-bottom: 0; }
.accueil__actions { margin-top: 40px; gap: 16px; }
.accueil__media { position: relative; }
.portrait { margin: 0; overflow: hidden; background: var(--accent-clair); aspect-ratio: 4 / 5; width: 100%; max-width: 440px; margin-inline: auto; }
.portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.accueil__note { display: none; }
@media (min-width: 900px) {
  .accueil__in { grid-template-columns: 1.1fr .9fr; gap: 64px; }
  .portrait { margin-inline: 0 0; margin-left: auto; }
}
@media (min-width: 900px) {
  html[data-compo="gauche"] .accueil__in { grid-template-columns: .9fr 1.1fr; }
  html[data-compo="gauche"] .accueil__texte { order: 2; }
  html[data-compo="gauche"] .accueil__media { order: 1; }
  html[data-compo="gauche"] .portrait { margin-left: 0; margin-right: auto; }
  html[data-compo="gauche"] .portrait img { object-position: center 22%; }
}
@media (max-width: 899.98px) {
  html[data-compo="droite"] .portrait,
  html[data-compo="gauche"] .portrait { margin-inline: 0 auto; }
}
html[data-compo="aucun"] .accueil {
  background: var(--fond-2);
  padding-block: clamp(64px, 10vw, 150px) clamp(44px, 6vw, 84px);
}
html[data-compo="aucun"] .accueil__in { grid-template-columns: minmax(0, 1fr) !important; }
html[data-compo="aucun"] .accueil h1 { font-size: clamp(2.6rem, 1.9rem + 4.2vw, 5.2rem); max-width: 18ch; }
html[data-compo="aucun"] .accueil__sous { max-width: 52ch; font-size: 1.15rem; }
html[data-compo="aucun"] .accueil__corps { max-width: 60ch; columns: 1; }
html[data-compo="aucun"] .accueil + .chiffres {
  background: var(--fond-2);
  border-top: 1px solid var(--trait);
  padding-block: clamp(22px, 2.6vw, 34px);
}
@media (min-width: 900px) {
  html[data-compo="aucun"] .accueil__texte {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    grid-template-rows: auto auto auto;
    column-gap: clamp(48px, 5vw, 88px);
    align-items: end;
  }
  html[data-compo="aucun"] .accueil__sur    { grid-area: 1 / 1 / 2 / 2; }
  html[data-compo="aucun"] .accueil h1      { grid-area: 2 / 1 / 3 / 2; max-width: none; }
  html[data-compo="aucun"] .accueil__sous   { grid-area: 3 / 1 / 4 / 2; margin-bottom: 0; }
  html[data-compo="aucun"] .accueil__corps  { grid-area: 1 / 2 / 4 / 3; columns: 1; max-width: 46ch; }
  html[data-compo="aucun"] .accueil__actions { grid-area: 4 / 1 / 5 / 3; margin-top: 48px; }
  html[data-compo="aucun"] .accueil__corps p:first-child { margin-top: 0; }
  html[data-compo="aucun"] .accueil__corps p:last-child { margin-bottom: 0; }
}
html[data-compo="bandeau"] .accueil__in { grid-template-columns: minmax(0, 1fr) !important; gap: 36px; }
html[data-compo="bandeau"] .accueil__texte { max-width: 40rem; margin-inline: auto; text-align: center; }
html[data-compo="bandeau"] .accueil__corps { max-width: 54ch; margin-inline: auto; }
html[data-compo="bandeau"] .accueil__actions { justify-content: center; }
html[data-compo="bandeau"] .portrait { max-width: none; aspect-ratio: 21 / 9; margin-inline: 0; margin-left: 0; }
html[data-compo="bandeau"] .portrait img { object-position: center 45%; }
@media (max-width: 699px) {
  html[data-compo="bandeau"] .portrait { aspect-ratio: 3 / 2; }
}
.galerie__grille {
  --n: 6;
  --ratio: 1.33;
  --cols: 3;
  --ecart: 18px;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: var(--ecart);
}
@supports (width: round(sqrt(4) * 1px, 1px)) {
  .galerie__grille {
    --cols: clamp(1, round(sqrt(var(--n)) * 1.2 / pow(var(--ratio), 0.35)), 6);
  }
}
@supports (width: mod(5px, 2px)) {
  .galerie__grille {
    --c: clamp(1, round(sqrt(var(--n)) * 1.2 / pow(var(--ratio), 0.35)), 6);
    --o1: calc(1 - min(1, abs(mod(var(--n), var(--c)) - 1)));
    --o2: calc(1 - min(1, abs(mod(var(--n), calc(var(--c) + 1)) - 1)));
    --cols: calc(var(--c) + var(--o1) * (1 + var(--o2)));
  }
}
.galerie__item {
  flex: 0 0 auto;
  width: min(calc(380px * var(--ratio)), max(150px, calc((100% - var(--ecart) * (var(--cols) - 1)) / var(--cols))));
}
@media (max-width: 599.98px) {
  .galerie__item:first-child:nth-last-child(odd):not(:only-child) { width: 100%; }
}
.galerie__item figure { margin: 0; }
.galerie__lien { display: block; border-radius: var(--r-carte, 14px); }
.galerie__lien:hover img { filter: brightness(1.03); }
.galerie__item img {
  display: block;
  width: 100%;
  aspect-ratio: var(--ratio);
  object-fit: cover;
  border-radius: var(--r-carte, 14px);
  border: 1px solid var(--trait);
  background: var(--accent-clair);
}
.galerie__item figcaption {
  margin-top: 10px;
  font-size: .92rem;
  color: var(--encre-2);
  line-height: 1.45;
}
.galerie__note { margin-top: 24px; }
.visionneuse {
  border: 0;
  padding: 0;
  margin: 0;
  width: 100vw;
  height: 100vh;
  max-width: 100vw;
  max-height: 100vh;
  background: transparent;
  color: #fff;
}
.visionneuse::backdrop { background: rgba(12, 12, 12, .93); }
.visionneuse__in {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 56px 64px 24px;
}
.visionneuse__img {
  max-width: 100%;
  max-height: calc(100vh - 120px);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 6px;
  background: #222;
}
.visionneuse__legende {
  margin: 0;
  max-width: 70ch;
  text-align: center;
  font-size: .95rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, .85);
}
.visionneuse__compteur {
  position: fixed;
  top: 20px;
  left: 20px;
  font-size: .85rem;
  color: rgba(255, 255, 255, .7);
}
.visionneuse__bouton {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .35);
  background: rgba(0, 0, 0, .4);
  color: #fff;
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
}
.visionneuse__bouton:hover { background: rgba(255, 255, 255, .18); }
.visionneuse__bouton:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.visionneuse__bouton--prec { left: 12px; }
.visionneuse__bouton--suiv { right: 12px; }
.visionneuse__bouton--fermer { top: 12px; right: 12px; transform: none; }
.visionneuse__bouton svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
body:has(.visionneuse[open]) { overflow: hidden; }
@media (max-width: 699px) {
  .visionneuse__in { padding: 56px 12px 20px; }
  .visionneuse__bouton--prec, .visionneuse__bouton--suiv { top: auto; bottom: 14px; transform: none; }
  .visionneuse__img { max-height: calc(100vh - 150px); }
}
@media print {
  .visionneuse { display: none; }
}
.chiffres__in { display: grid; grid-template-columns: minmax(0, 1fr); }
.chiffre { padding: 18px 0; border-top: 1px solid var(--trait); }
.chiffre:first-child { border-top: 0; }
.chiffre b { display: block; font-family: var(--titres); line-height: 1.1; margin-bottom: 4px; white-space: normal; }
.chiffre b a { white-space: nowrap; }
.chiffre b a { text-decoration: none; color: inherit; }
.chiffre span { display: block; font-size: .82rem; color: var(--encre-2); }
@media (min-width: 700px) {
  .chiffres__in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chiffres__in:has(> :nth-child(3)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .chiffre, .chiffre:first-child, .chiffre:last-child { padding: 22px 20px 20px 24px; border-top: 0; border-left: 1px solid var(--trait); }
  .chiffre:first-child { border-left: 0; padding-left: 0; }
  .chiffre b { margin-bottom: 6px; }
}
@media (min-width: 700px) and (max-width: 899.98px) {
  .chiffres__in:has(> :nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chiffres__in:has(> :nth-child(4)) .chiffre:nth-child(2n + 1) { border-left: 0; padding-left: 0; }
  .chiffres__in:has(> :nth-child(4)) .chiffre:nth-child(n + 3) { border-top: 1px solid var(--trait); }
}
@media (min-width: 900px) {
  .chiffres__in { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .chiffre:nth-child(n) { border-top: 0; border-left: 1px solid var(--trait); padding-left: 24px; }
  .chiffre:nth-child(1) { border-left: 0; padding-left: 0; }
}
.section { padding-block: clamp(40px, 5.6vw, 84px); }
.section__tete h2 { margin-bottom: .6em; }
.section__corps { max-width: var(--largeur-texte); }
.section__corps > :last-child { margin-bottom: 0; }
.texte-media__in, .texte-lieu__in, .contact__in { display: grid; gap: 40px; }
.contact__tel { margin: 18px 0 0; font-size: 1.22rem; font-weight: 600; letter-spacing: .01em; }
.contact__tel a { color: inherit; text-decoration: none; border-bottom: 1px solid currentColor; }
.contact__tel a:hover { opacity: .72; }
.contact__mail { margin: 10px 0 0; }
.contact__mail a { color: inherit; text-decoration: none; border-bottom: 1px solid currentColor; overflow-wrap: anywhere; }
.contact__mail a:hover { opacity: .72; }
.contact__reperes { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 4px; font-size: .92em; color: inherit; }
.contact__reperes b { color: inherit; font-weight: 600; }
.figure { margin: 0; overflow: hidden; }
.figure figcaption { font-size: .9rem; color: var(--encre-2); margin-top: 10px; }
.citation { margin: 28px 0 0; }
.texte__citation { max-width: var(--largeur-texte); }
.lieu { align-self: start; }
.lieu h3 { margin-bottom: .4em; }
.lieu .mention { margin: 20px 0 0; }
@media (min-width: 900px) {
  .texte-media__in { grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
  .texte-lieu__in { grid-template-columns: 1.2fr .8fr; gap: 64px; }
  .contact__in { grid-template-columns: .9fr 1.1fr; gap: 64px; }
}
table { border-collapse: collapse; width: 100%; }
.t td, .h td { padding: 12px 0; border-top: 1px solid var(--trait); vertical-align: baseline; }
.t tr:last-child td, .h tr:last-child td { border-bottom: 1px solid var(--trait); }
.t td:last-child { text-align: right; white-space: nowrap; font-family: var(--titres); }
.t td, .h td { overflow-wrap: break-word; }
.section__corps:has(> .t), .section__corps:has(> .h) { overflow-x: auto; }
.h td:first-child { color: var(--encre-2); width: 38%; }
.h tr[data-aujourdhui] td { font-weight: 650; color: var(--encre); }
ul.motifs, ul.infos-tarifs, ul.coordonnees { list-style: none; margin: 0 0 1em; padding: 0; }
ul.motifs li { padding: 12px 0; border-bottom: 1px solid var(--trait); }
ul.motifs { border-top: 1px solid var(--trait); }
ul.infos-tarifs li, ul.coordonnees li { padding: 5px 0 5px 18px; position: relative; color: var(--encre-2); font-size: .95rem; }
ul.infos-tarifs li::before, ul.coordonnees li::before { content: ''; position: absolute; left: 0; top: .85em; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.reserve { font-size: .9rem; color: var(--encre-2); margin-top: 20px; }
.adresse-forte { font-family: var(--titres); margin: 24px 0 8px; }
.tel-fort { font-family: var(--titres); margin: 0 0 .2em; line-height: 1.1; }
.tel-fort a { text-decoration: none; color: var(--encre); }
.urgence { font-size: .9rem; color: var(--encre-2); }
:where(.section).urgence { font-size: inherit; color: var(--encre); }
dl.pratique { margin: 0 0 1em; display: grid; grid-template-columns: max-content 1fr; gap: 8px 20px; }
dl.pratique dt { color: var(--encre-2); }
dl.pratique dd { margin: 0; }
.services { display: grid; gap: 14px; }
.service { padding: 24px; border: 1px solid var(--trait); }
.service__cle { display: block; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--accent-fonce); margin-bottom: 8px; }
.service h3 { margin-bottom: .35em; }
.service p { margin: 0; color: var(--encre-2); font-size: .95rem; }
.cartes .section__corps { max-width: none; }
@media (min-width: 720px) { .services { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .services { grid-template-columns: repeat(3, 1fr); } }
.tarifs-fort { display: grid; gap: 12px; }
.tarif-carte { padding: 20px; border: 1px solid var(--trait); display: flex; flex-direction: column; gap: 10px; }
.tarif-carte__prix { font-family: var(--titres); font-size: 1.6rem; }
@media (min-width: 720px) { .tarifs-fort { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); } }
.form .champ { margin-bottom: 16px; }
.form label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: 6px; }
.form input[type="text"], .form input[type="email"], .form textarea {
  width: 100%; border: 1px solid var(--trait-fort); background: var(--surface);
  padding: 12px 14px; font: inherit; color: var(--encre); border-radius: var(--r);
}
.form input:focus, .form textarea:focus { outline: 0; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-clair); }
.form textarea { min-height: 130px; resize: vertical; }
.consentement { display: flex; gap: 10px; align-items: flex-start; font-size: .85rem; color: var(--encre-2); margin: 8px 0 18px; }
.consentement input { margin-top: 4px; flex: none; }
.pot-de-miel { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.form button { font: inherit; }
.form__retour { margin-top: 12px; font-size: .95rem; }
.form__retour:empty { display: none; }
.form__retour.ok { color: var(--accent-fonce); }
.form__retour.ko { color: var(--alerte); }
.pied { border-top: 1px solid var(--trait); padding-block: 48px 110px; font-size: .92rem; color: var(--encre-2); }
.pied__grille { display: grid; gap: 32px; }
.pied h2 { font-family: var(--corps); font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--encre); margin-bottom: 12px; }
.pied ul { list-style: none; margin: 0; padding: 0; }
.pied li { padding: 2px 0; }
.pied .h td { padding: 4px 0; border: 0; font-size: .9rem; }
.pied .h tr:last-child td { border-bottom: 0; }
.pied__legal {
  margin: 36px auto 0;
  padding-top: 20px;
  border-top: 1px solid var(--trait);
  max-width: 72ch;
  font-size: .85rem;
  text-align: center;
}
@media (min-width: 800px) {
  .pied__grille { grid-template-columns: 1fr 1.2fr 1fr; }
  .pied { padding-bottom: 48px; }
}
.barre-mobile {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  background: var(--surface); border-top: 1px solid var(--trait);
}
.barre-mobile a { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 6px 12px; font-size: .78rem; font-weight: 600; text-decoration: none; color: var(--encre); }
.barre-mobile a:first-child { background: var(--accent); color: var(--accent-contraste); }
.barre-mobile svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (min-width: 800px) { .barre-mobile { display: none; } }
@media (max-width: 799px) {
  body:has(.barre-mobile) .accueil__actions { display: none; }
}
@media print {
  .entete, .barre-mobile, .form, .lien-evitement { display: none !important; }
  body { background: #fff; color: #000; }
  .section { padding-block: 24px; }
}
:root[data-rythme="ample"] .section   { padding-block: clamp(48px, 6.2vw, 92px); }
:root[data-rythme="ample"]  { --gouttiere: 28px; --r: 16px; }
:root[data-rythme="ample"] .section__tete { margin-bottom: 32px; }
:root[data-rythme="serre"] .section   { padding-block: clamp(40px, 5.6vw, 84px); }
:root[data-rythme="serre"]  { --gouttiere: 20px; --r: 8px; }
:root[data-rythme="serre"] .section__tete { margin-bottom: 32px; }
:root[data-rythme="serre"] .contenant { max-width: 1040px; }
:root .section__tete, :root[data-rythme] .section__tete { margin-bottom: 32px; }
.section__corps > p:not(:last-child), .section__corps > ul:not(:last-child) { margin-bottom: 1.4em; }
@media (max-width: 760px) {
  :root .section, :root[data-rythme] .section { padding-block: 40px; }
  :root .section__tete, :root[data-rythme] .section__tete { margin-bottom: 26px; }
}
:root[data-cartes="plein"] .garanties__liste > li,
:root[data-cartes="plein"] .cheveux__familles > li,
:root[data-cartes="plein"] [class$="__faits"] > div,
:root[data-cartes="plein"] .tarif-carte {
  background: var(--accent-clair);
  border-color: transparent;
  color: var(--encre);
}
:root:root[data-cartes="plein"] .garanties__liste > li *,
:root:root[data-cartes="plein"] .cheveux__familles > li *,
:root:root[data-cartes="plein"] [class$="__faits"] > div *,
:root:root[data-cartes="plein"] .tarif-carte * {
  color: inherit;
}
:root[data-cartes="souligne"] .garanties__liste > li,
:root[data-cartes="souligne"] .cheveux__familles > li,
:root[data-cartes="souligne"] .tarif-carte {
  border: 0;
  border-bottom: 2px solid var(--trait);
  border-radius: 0;
  padding-inline: 0;
}
:root:root[data-cartes="plein"] [class$="__faits"] > div {
  padding: 11px 14px;
  border-radius: 10px;
}
:root[data-cartes="plein"] [class$="__faits"] > div + div {
  margin-top: 6px;
}
:root:root[data-cartes="plein"] .cheveux__familles > li {
  padding: 14px 16px;
  border-radius: 10px;
}
:root:root[data-cartes="plein"] .garanties__liste > li {
  padding: 14px 16px 14px 44px;
  border-radius: 10px;
}
:root:root[data-cartes="plein"] .garanties__liste > li::before {
  left: 14px;
  top: 19.6px;
}
:root[data-cartes="souligne"] .garanties__liste > li,
:root[data-cartes="souligne"] .cheveux__familles > li,
:root[data-cartes="souligne"] .tarif-carte { padding-bottom: 14px; }
:root[data-cartes="souligne"] .garanties__liste > li { padding-left: 30px; }
:root[data-cartes="souligne"] [class$="__faits"] > div {
  border: 0;
  border-left: 3px solid var(--accent);
  border-radius: 0;
  padding-left: 12px;
}
@media (min-width: 900px) {
  :root[data-contact="dessus"] .contact__in { grid-template-columns: 1fr; gap: 36px; }
  :root[data-contact="dessus"] .contact__fiche,
  :root[data-contact="dessus"] .contact__in > aside {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
    align-items: start;
  }
}
:root[data-rythme="ample"]  { --largeur: 1180px; --largeur-texte: 66ch; }
:root[data-rythme="serre"]  { --largeur: 1040px; --largeur-texte: 58ch; }
@media (min-width: 1000px) {
  :root[data-cartes="plein"] .services,
  :root[data-cartes="plein"] .prestations__grille,
  :root[data-cartes="plein"] .cheveux__grille,
  :root[data-cartes="plein"] .garanties__liste {
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
  }
  :root[data-cartes="souligne"] .services,
  :root[data-cartes="souligne"] .prestations__grille,
  :root[data-cartes="souligne"] .cheveux__grille,
  :root[data-cartes="souligne"] .garanties__liste {
    grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  }
}
:root[data-bandes="alternee"] .section:nth-of-type(even):not(.accueil):not(.contact) {
  background: var(--surface);
}
:root[data-bandes="alternee"] .section:nth-of-type(even):not(.accueil):not(.contact) + .section {
  background: transparent;
}
:root[data-bandes="tierce"] .section:nth-of-type(3n + 2):not(.accueil):not(.contact) {
  background: var(--surface);
}
@media (min-width: 900px) {
  :root[data-media="inverse"] .texte-media__in > :first-child,
  :root[data-media="inverse"] .texte-lieu__in > :first-child { order: 2; }
  :root[data-media="inverse"] .texte-media__in > :last-child,
  :root[data-media="inverse"] .texte-lieu__in > :last-child { order: 1; }
  :root[data-media="inverse"] .texte-media__in { grid-template-columns: .85fr 1.15fr; }
  :root[data-media="inverse"] .texte-lieu__in { grid-template-columns: .8fr 1.2fr; }
}
.chiffre span, .service p, .prix__libelle, .garanties__liste > li span {
  overflow-wrap: break-word;
}
.prix .prix__libelle { min-width: 0; overflow-wrap: anywhere; }
.prix__liste > .prix { flex-wrap: wrap; row-gap: 2px; }
.prix__liste > .prix > .prix__libelle { flex: 1 1 11em; }
.bouton { justify-content: center; text-align: center; }
.barre-mobile { column-gap: 1px; background: var(--trait); padding-bottom: env(safe-area-inset-bottom, 0px); }
.barre-mobile a { background: var(--surface); justify-content: center; padding: 7px 6px 9px; gap: 3px; font-size: .72rem; line-height: 1.15; }
.barre-mobile svg { width: 19px; height: 19px; }
main p:not(:has(.bouton)):not(:has(img)) { max-width: var(--largeur-texte); }
@media (max-width: 799px) {
  .pied__action { display: none; }
}
:root .section--dense                      { padding-block: clamp(36px, 4.2vw, 60px); }
:root[data-rythme="ample"] .section--dense { padding-block: clamp(36px, 4.2vw, 60px); }
:root[data-rythme="serre"] .section--dense { padding-block: clamp(36px, 4.2vw, 60px); }
@media (max-width: 760px) { :root .section--dense, :root[data-rythme] .section--dense { padding-block: 34px; } }
.section--dense .section__tete h2 { font-size: clamp(1.15rem, 1.05rem + .45vw, 1.5rem); margin-bottom: .35em; }
.section--dense .section__tete .etiq { margin-bottom: 8px; }
:root[data-rythme="ample"] .section--dense .section__tete { margin-bottom: 18px; }
:root[data-rythme="serre"] .section--dense .section__tete { margin-bottom: 12px; }
:root[data-direction="3"] .section--dense .section__tete { margin-bottom: 18px; }
.section--dense p { margin-bottom: .75em; }
.section--dense .services { gap: 10px; }
.section--dense .service { padding: 18px; }
.section--dense .citation { margin-top: 18px; }
.section--dense .t td, .section--dense .h td { padding-block: 9px; }
.section--dense .figure figcaption { margin-top: 7px; }
.texte-media__in > *, .texte-lieu__in > *, .contact__in > * { min-width: 0; }
.entete__menu { display: none; align-items: center; gap: 8px; margin-left: auto; padding: 8px 14px; border: 1px solid var(--trait); border-radius: 999px; background: transparent; color: var(--encre); font: inherit; font-size: .92rem; line-height: 1; cursor: pointer; }
.entete__menu svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; display: block; }
.entete__menu .entete__menu-fermer { display: none; }
.entete--ouverte .entete__menu .entete__menu-ouvrir { display: none; }
.entete--ouverte .entete__menu .entete__menu-fermer { display: block; }
@media (max-width: 959px) {
  .entete__menu { display: inline-flex; flex: 0 0 auto; }
  .entete__in { flex-wrap: wrap; gap: 12px; }
  .marque { flex: 1 1 0; min-width: 0; }
  .entete--ouverte .nav { display: flex; flex-direction: column; flex-basis: 100%; width: 100%; padding: 4px 0 12px; }
  .entete--ouverte .nav a { padding: 12px 0; border-top: 1px solid var(--trait); white-space: normal; }
}
.galerie__nom { font-size: 1.15rem; margin: 0 0 14px; color: var(--encre); }
.galerie__grille + .galerie__nom { margin-top: 40px; }
.section--dense .galerie__grille + .galerie__nom { margin-top: 26px; }
@media (max-width: 799px) {
  .accueil__in:has(> .accueil__media) { row-gap: 0; }
  .accueil__in:has(> .accueil__media) .accueil__texte { display: contents; }
  .accueil__in:has(> .accueil__media) .accueil__texte > * { order: 3; }
  .accueil__in:has(> .accueil__media) .accueil__texte > .accueil__sur,
  .accueil__in:has(> .accueil__media) .accueil__texte > h1,
  .accueil__in:has(> .accueil__media) .accueil__texte > .accueil__sous { order: 1; }
  .accueil__in:has(> .accueil__media) .accueil__media { order: 2; margin: 18px 0 26px; }
  .accueil__in:has(> .accueil__media) .accueil__sous { margin-bottom: 0; }
  .accueil__in:has(> .accueil__media) .portrait { max-height: 62vh; }
}
@media (min-width: 960px) {
  html[data-entete="centre"] .entete__in { flex-direction: column; justify-content: center; gap: 4px; padding-block: 16px 6px; min-height: 0; }
  html[data-entete="centre"] .marque { margin: 0 auto; text-align: center; justify-items: center; }
  html[data-entete="centre"] .marque--logo { text-align: left; }
  html[data-entete="centre"] .nav { justify-content: center; order: 0; flex-basis: auto; margin-left: 0; padding-bottom: 0; }
  html[data-entete="centre"] [id] { scroll-margin-top: 128px; }
}
@media (min-width: 960px) and (max-width: 1179px) {
  html[data-entete="centre"] .entete__in { flex-wrap: nowrap; }
}
@media (max-width: 959px) {
  html[data-entete="centre"] .entete__in { position: relative; justify-content: center; }
  html[data-entete="centre"] .marque { flex: 0 1 auto; margin: 0 auto; padding-inline: 52px; text-align: center; justify-items: center; }
  html[data-entete="centre"] .marque--logo { text-align: left; }
  html[data-entete="centre"] .entete__menu { position: absolute; right: var(--gouttiere); top: 14px; padding: 9px; }
  html[data-entete="centre"] .entete__menu span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  html[data-entete="centre"] .entete--ouverte .nav { text-align: center; }
  html[data-entete="centre"] .entete--ouverte .nav a { text-align: center; }
}
@media (min-width: 960px) {
  html[data-entete="epure"] .entete__in { position: relative; min-height: 76px; padding-block: 12px; }
  html[data-entete="epure"] .entete__menu { display: inline-flex; flex: 0 0 auto; }
  html[data-entete="epure"] .nav { display: none; }
  html[data-entete="epure"] .entete--ouverte .nav {
    display: flex; flex-direction: column; position: absolute; top: calc(100% + 1px); right: var(--gouttiere);
    min-width: 280px; padding: 10px 0; background: var(--surface); border: 1px solid var(--trait);
    border-top: 0; border-radius: 0 0 14px 14px; box-shadow: 0 18px 40px rgba(0, 0, 0, .10);
  }
  html[data-entete="epure"] .entete--ouverte .nav a { padding: 11px 24px; border-radius: 0; }
  html[data-entete="epure"] .marque { font-size: 1.5rem; }
}
html[data-entete="epure"] .entete { border-bottom-color: transparent; }
@media (max-width: 959px) {
  html[data-entete="epure"] .marque { font-size: 1.3rem; }
  html[data-entete="epure"] .marque__ligne { display: none; }
  html[data-entete="epure"] .entete__menu { border-color: transparent; padding-inline: 4px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: .78rem; }
}
html[data-accueil="plein"] .accueil {
  position: relative; isolation: isolate; overflow: hidden;
  display: flex; align-items: flex-end;
  min-height: clamp(520px, 84vh, 880px);
  padding-block: 0 !important;
  background: color-mix(in srgb, var(--teinte-photo, #15171b) 40%, #0b0c0e) !important; color: #fff; text-align: left;
}
html[data-accueil="plein"] .accueil .accueil__in {
  display: block; position: static;
  padding-block: clamp(120px, 16vh, 180px) clamp(48px, 8vh, 96px);
}
html[data-accueil="plein"] .accueil .accueil__texte { display: block; max-width: 46rem; text-shadow: 0 1px 14px rgba(0, 0, 0, .35); }
html[data-accueil="plein"] .accueil .bouton { text-shadow: none; }
html[data-accueil="plein"] .accueil .bouton--plein { box-shadow: 0 0 0 1.5px rgba(255, 255, 255, .7); }
html[data-accueil="plein"] .accueil .accueil__media { position: absolute; inset: 0; z-index: -1; margin: 0 !important; order: 0; }
html[data-accueil="plein"] .accueil .portrait {
  position: absolute; inset: 0; width: 100% !important; height: 100%; max-width: none !important; max-height: none !important;
  aspect-ratio: auto !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; background: transparent;
}
html[data-accueil="plein"] .accueil .portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
html[data-accueil="plein"] .accueil .accueil__media::after {
  content: ''; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(10, 12, 16, .10) 0%, rgba(10, 12, 16, .28) 45%, rgba(10, 12, 16, .82) 90%, color-mix(in srgb, var(--teinte-photo, #15171b) 40%, #0b0c0e) 100%),
    linear-gradient(90deg, rgba(10, 12, 16, .62) 0%, rgba(10, 12, 16, 0) 70%);
}
html[data-accueil="plein"] .accueil h1,
html[data-accueil="plein"] .accueil .accueil__sur { color: #fff; }
html[data-accueil="plein"] .accueil h1 em { color: inherit; }
html[data-accueil="plein"] .accueil .accueil__sous,
html[data-accueil="plein"] .accueil .accueil__corps { color: rgba(255, 255, 255, .9); }
html[data-accueil="plein"] .accueil .accueil__corps a { color: #fff; }
html[data-accueil="plein"] .accueil .accueil__note { display: none; }
html[data-accueil="plein"] .accueil .bouton--contour { color: #fff; border-color: rgba(255, 255, 255, .75); background: transparent; }
html[data-accueil="plein"] .accueil .bouton--contour:hover { color: #15171b; background: #fff; border-color: #fff; }
html[data-accueil="plein"] .accueil .bouton--discret { color: #fff; background: rgba(255, 255, 255, .16); }
html[data-accueil="plein"] .accueil .bouton--discret:hover { color: #15171b; background: #fff; }
html[data-direction="3"][data-accueil="plein"] .accueil { text-align: center; }
html[data-direction="3"][data-accueil="plein"] .accueil .accueil__texte { margin-inline: auto; }
html[data-direction="3"][data-accueil="plein"] .accueil .accueil__media::after {
  background: linear-gradient(180deg, rgba(10, 12, 16, .30) 0%, rgba(10, 12, 16, .45) 50%, rgba(10, 12, 16, .80) 100%);
}
html[data-accueil="plein"] .accueil .portrait img[src*="portrait"] { object-position: center 22%; }
@media (max-width: 799px) {
  html[data-accueil="plein"] .accueil { min-height: min(640px, 80svh); }
  html[data-accueil="plein"] .accueil .accueil__in { padding-block: 120px 36px; }
  html[data-accueil="plein"] .accueil .accueil__in .accueil__texte { display: block; }
  html[data-accueil="plein"] .accueil .accueil__in .accueil__texte > * { order: 0; }
  html[data-accueil="plein"] .accueil .accueil__in .accueil__media { order: 0; margin: 0 !important; bottom: auto; height: min(80svh, 700px); }
  html[data-accueil="plein"] .accueil .accueil__in .portrait { max-height: none; }
  html[data-accueil="plein"] .accueil .accueil__in .accueil__sous { margin-bottom: .9em; }
  html[data-accueil="plein"] .accueil .accueil__media::after,
  html[data-direction="3"][data-accueil="plein"] .accueil .accueil__media::after {
    background: linear-gradient(180deg, rgba(10, 12, 16, .18) 0%, rgba(10, 12, 16, .45) 32%, rgba(10, 12, 16, .72) 62%, rgba(10, 12, 16, .88) 90%, color-mix(in srgb, var(--teinte-photo, #15171b) 40%, #0b0c0e) 100%);
  }
}
@media (min-width: 1100px) {
  html[data-accueil="partage"] .accueil { padding-block: 0 !important; text-align: left; }
  html[data-accueil="partage"] .accueil .accueil__in {
    max-width: none; padding: 0; gap: 0; align-items: stretch;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    min-height: clamp(440px, 40vw, 700px);
  }
  html[data-accueil="partage"][data-photo="haute"] .accueil .accueil__in { min-height: clamp(560px, 62vw, 920px); }
  html[data-accueil="partage"] .accueil .accueil__texte {
    order: 1; align-self: center;
    padding-block: clamp(56px, 8vh, 112px);
    padding-left: max(var(--gouttiere), calc((100vw - var(--largeur)) / 2 + var(--gouttiere)));
    padding-right: clamp(32px, 5vw, 88px);
  }
  html[data-accueil="partage"] .accueil .accueil__media { order: 2; position: relative; margin: 0 !important; min-height: 100%; }
  html[data-accueil="partage"][data-compo="gauche"] .accueil .accueil__media { order: 1; }
  html[data-accueil="partage"][data-compo="gauche"] .accueil .accueil__texte {
    order: 2;
    padding-left: clamp(32px, 5vw, 88px);
    padding-right: max(var(--gouttiere), calc((100vw - var(--largeur)) / 2 + var(--gouttiere)));
  }
  html[data-accueil="partage"] .accueil .portrait {
    position: absolute; inset: 0; width: 100% !important; height: 100%; max-width: none !important; max-height: none !important;
    aspect-ratio: auto !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important;
  }
  html[data-accueil="partage"] .accueil .portrait img { width: 100%; height: 100%; object-fit: cover; }
  html[data-direction="3"][data-accueil="partage"] .accueil .accueil__texte { text-align: center; }
  html[data-direction="3"][data-accueil="partage"] .accueil .accueil__actions { justify-content: center; }
}
html[data-accueil="partage"] .accueil .accueil__note { display: none; }
@media (max-width: 1099px) {
  html[data-accueil="partage"] .accueil { padding-bottom: clamp(24px, 4vw, 40px) !important; }
  html[data-accueil="partage"] .accueil .accueil__in { grid-template-columns: minmax(0, 1fr) !important; }
  html[data-accueil="partage"] .accueil .accueil__in .accueil__media { order: 2; }
  html[data-accueil="partage"] .accueil .accueil__in .accueil__media { margin-inline: calc(-1 * var(--gouttiere)) !important; }
  html[data-accueil="partage"] .accueil .accueil__in .portrait {
    width: 100% !important; max-width: none !important; max-height: 72svh !important; aspect-ratio: auto !important;
    border: 0 !important; border-radius: 0 !important; margin: 0 !important;
  }
  html[data-accueil="partage"] .accueil .accueil__in .portrait { background: transparent; }
  html[data-accueil="partage"] .accueil .accueil__in .portrait img { width: auto; max-width: 100%; height: auto; max-height: 72svh; margin-inline: auto; object-fit: contain; }
}
html[data-titres="trait"] .section__tete:has(> h2:not(:empty)) > .etiq,
html[data-titres="numero"] .section__tete:has(> h2:not(:empty)) > .etiq { display: none; }
html[data-titres="trait"] .section:not(.section--dense) .section__tete:has(> h2:not(:empty))::before {
  content: ''; display: block; width: 48px; height: 3px; border-radius: 2px;
  background: var(--titre-trait, var(--accent)); margin-bottom: 20px;
}
html[data-titres="numero"] main { counter-reset: rubrique; }
html[data-titres="numero"] .section:not(.section--dense) .section__tete:has(> h2:not(:empty)) { counter-increment: rubrique; }
html[data-titres="numero"] .section:not(.section--dense) .section__tete:has(> h2:not(:empty))::before {
  content: counter(rubrique, decimal-leading-zero); display: block; width: max-content; min-width: 2.6em;
  font-family: var(--corps); font-size: .85rem; font-weight: 600; letter-spacing: .12em; line-height: 1;
  color: var(--titre-marque, var(--accent-fonce)); padding-bottom: 10px; margin-bottom: 18px; border-bottom: 1px solid currentColor;
}
html[data-direction="1"] .section--accent:not(.section--encadre), html[data-direction="2"] .contact { --titre-marque: var(--accent-clair); --titre-trait: var(--accent-clair); }
html[data-direction="3"][data-titres] .section__tete::before { margin-inline: auto; }
html[data-direction="3"][data-titres] .texte-media .section__tete::before { margin-inline: 0; }
@media (min-width: 900px) {
  :root .accueil__in:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
  html[data-compo="gauche"] .accueil__in:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
  html[data-compo="aucun"] .accueil__texte:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
  :root .chiffres__in:not(:has(> :nth-child(4))) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  :root .chiffres__in:not(:has(> :nth-child(3))) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :root .chiffres__in:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
  :root .texte-media__in:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
  :root .texte-lieu__in:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
  :root .contact__in:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
  :root[data-media="inverse"] .texte-media__in:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
  :root[data-media="inverse"] .texte-lieu__in:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 700px) {
  :root .chiffres__in:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
  :root .chiffres__in:has(> :nth-child(3)):not(:has(> :nth-child(3))) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :root .chiffres__in:has(> :nth-child(3)):not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 700px) and (max-width: 899.98px) {
  :root .chiffres__in:has(> :nth-child(4)):not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 720px) {
  :root .services:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 1000px) {
  :root .services:not(:has(> :nth-child(3))) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :root .services:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 800px) {
  :root .pied__grille:not(:has(> :nth-child(3))) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :root .pied__grille:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
}
:root .marque--logo:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
html[data-compo="aucun"] .accueil__in:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
html[data-compo="bandeau"] .accueil__in:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
:root dl.pratique:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
:root .barre-mobile:not(:has(> :nth-child(3))) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
:root .barre-mobile:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) {
  :root .services:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  :root .services:has(> :nth-child(5):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  :root .services:has(> :nth-child(7):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  :root .services:has(> :nth-child(9):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  :root .services:has(> :nth-child(11):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  :root .services:has(> :nth-child(13):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
  :root .services:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  :root .services:has(> :nth-child(7):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  :root .services:has(> :nth-child(10):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  :root .services:has(> :nth-child(13):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.section[data-fond="alt"] { background: var(--bande, var(--surface)) !important; }
.section[data-fond="page"] { background: transparent !important; }
.section[data-fond="fond2"] { background: var(--fond-2) !important; }
@media (min-width: 900px) {
  .galerie__ensembles { display: flex; flex-wrap: wrap; align-items: flex-start; column-gap: 40px; row-gap: 36px; }
  .galerie__ensembles > .galerie__ensemble { flex: var(--n) 1 0; min-width: min(100%, calc(var(--n) * 230px)); }
  .galerie__ensembles > .galerie__ensemble > .galerie__grille { max-width: none; }
}
.galerie__ensemble > .galerie__nom:first-child { margin-top: 0; }
.galerie__ensemble + .galerie__ensemble { margin-top: 36px; }
@media (min-width: 900px) { .galerie__ensembles > .galerie__ensemble + .galerie__ensemble { margin-top: 0; } }
.galerie .galerie__ensemble > .galerie__grille[style*="--ratio:2.20"] { max-width: none; }
.galerie .galerie__ensemble > .galerie__grille[style*="--ratio:2.20"] > .galerie__item { width: 100%; }
.section .contenant :where(p, ul, ol, dl, figure, blockquote, table):last-child { margin-bottom: 0; }
.form label.consentement {
  font-size: .85rem; font-weight: 400; letter-spacing: 0; text-transform: none;
  line-height: 1.5; margin: 14px 0 24px;
}
:root:root[data-compo="bandeau"] .accueil .portrait {
  width: 100%; max-width: none; border-radius: var(--r-grand, 18px); aspect-ratio: 21 / 9;
}
@media (max-width: 699px) {
  :root:root[data-compo="bandeau"] .accueil .portrait { aspect-ratio: 3 / 2; }
}
@media (min-width: 800px) {
  :root:root[data-compo="bandeau"] .accueil .accueil__in { row-gap: 28px; }
  :root:root[data-compo="bandeau"] .accueil .accueil__media { order: 2; margin: 0; }
}
@media (min-width: 960px) {
  :root:root[data-compo="bandeau"] .accueil { padding-top: clamp(28px, 5svh, 72px); }
  :root:root[data-compo="bandeau"] .accueil .accueil__texte { max-width: 60rem; }
  :root:root[data-compo="bandeau"] .accueil h1 { font-size: clamp(2.5rem, 1.4rem + 2.4vw, 3.6rem); }
  :root:root[data-compo="bandeau"] .accueil .accueil__actions { margin-top: 28px; }
  :root:root[data-compo="bandeau"] .accueil .portrait {
    --haut-bandeau: clamp(240px, calc(100svh - 450px), 540px);
    aspect-ratio: auto; height: var(--haut-bandeau); width: min(100%, calc(var(--haut-bandeau) * 2.6)); margin-inline: auto !important;
  }
}
@media (min-width: 800px) {
  :root:root[data-accueil="plein"] .accueil { min-height: clamp(480px, calc(100svh - 90px), 880px); }
  :root:root[data-accueil="plein"] .accueil .accueil__in { padding-block: clamp(72px, 12svh, 180px) clamp(40px, 6svh, 96px); }
}
@media (min-width: 1100px) {
  :root:root[data-accueil="partage"] .accueil .accueil__in { min-height: clamp(420px, min(40vw, calc(100svh - 90px)), 700px); }
  :root:root[data-accueil="partage"][data-photo="haute"] .accueil .accueil__in { min-height: clamp(480px, min(62vw, calc(100svh - 90px)), 920px); }
}
@media (min-width: 960px) {
  :root:root:not([data-accueil="plein"]):not([data-accueil="partage"]):not([data-compo="bandeau"]) .accueil .portrait {
    max-height: max(360px, calc(100svh - 170px));
  }
}
@media (min-width: 1100px) {
  :root:root[data-accueil="partage"] .accueil .accueil__texte { padding-block: clamp(36px, 7svh, 112px); }
}
:root:root[data-compo="bandeau"] .accueil .accueil__sous { margin-inline: auto; }
@media (max-width: 799px) {
  :root:root[data-accueil="plein"] .accueil { min-height: min(460px, 62svh); }
  :root:root[data-accueil="plein"] .accueil .accueil__in { padding-top: clamp(110px, 20svh, 170px); }
  :root:root[data-accueil="plein"] .accueil .accueil__in .accueil__media { bottom: 0; height: auto; max-height: min(80svh, 700px); }
}
.entete__menu { min-height: 44px; min-width: 44px; justify-content: center; }
html:not([data-titres="numero"]):not([data-titres="trait"]) .section__tete > .etiq { margin-bottom: 0 !important; }
html { --compense-titre: .165; }
html[data-direction="1"][data-typo="b"] { --compense-titre: .09; }
html[data-direction="2"][data-typo="b"] { --compense-titre: .07; }
html[data-direction="2"][data-typo="c"], html[data-direction="3"][data-typo="a"], html[data-direction="3"][data-typo="c"] { --compense-titre: -.03; }
html:not([data-titres="numero"]):not([data-titres="trait"]) .section__tete > .etiq + h2 { margin-top: calc(14px + var(--compense-titre) * 1em) !important; }
html[data-titres="pastille"] .section__tete > .etiq {
  display: block;
  width: fit-content;
  max-width: 100%;
  padding: 3px 12px;
  border-radius: 999px;
  background: var(--accent-clair);
  background: color-mix(in srgb, var(--accent) 20%, var(--accent-clair));
  color: var(--accent-fonce);
  font-weight: 600;
}
html[data-titres="pastille"] .section__tete > .etiq::before { display: none !important; }
html[data-titres="pastille"] .section--accent .section__tete > .etiq {
  background: transparent;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 50%, transparent);
  color: inherit;
}
html[data-direction="3"][data-titres="pastille"] .section:not(.texte-media) .section__tete > .etiq { margin-inline: auto; }
:root { --pf-encre: var(--encre); --pf-fond: var(--fond); --pf-accent-fonce: var(--accent-fonce); }
.section--photo { --pf-fond-rubrique: var(--pf-fond); }
html[data-direction="2"] .contact.section--photo { --pf-fond-rubrique: var(--pf-encre); }
html body :is(#pf, .section--photo).section {
  background-color: #1a1a1a !important;
  background-image: linear-gradient(var(--pf-voile, transparent), var(--pf-voile, transparent)), var(--photo-fond) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
.section--photo.photo-fond--sombre { --pf-voile: rgba(14, 14, 14, .7); }
.section--photo.photo-fond--couleur { --pf-voile: var(--pf-accent-fonce); }
html body :is(#pf, .section--photo).section.photo-fond--couleur {
  background-color: var(--pf-accent-fonce) !important;
  background-image: var(--photo-fond) !important;
  background-blend-mode: multiply;
}
.section--photo.photo-fond--encart { --pf-voile: transparent; }
html body :is(#pf, .section--photo).section.photo-fond--encart { padding-block: clamp(40px, 7vw, 96px) !important; }
.section--photo.photo-fond--encart > .contenant {
  background: color-mix(in srgb, var(--pf-fond-rubrique) 95%, transparent) !important;
  border-radius: 16px;
  padding: clamp(22px, 4vw, 48px) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .2);
}
@media (max-width: 600px) {
  .section--photo.photo-fond--encart > .contenant { margin-inline: 12px !important; width: auto !important; }
}
.section--photo.photo-fond--filigrane { --pf-voile: color-mix(in srgb, var(--pf-fond-rubrique) 92%, transparent); }
.section--photo.photo-fond--filigrane { --encre-2: var(--pf-encre); }
.section--photo.photo-fond--filigrane .section__tete > .etiq { color: var(--pf-accent-fonce) !important; }
html[data-direction="2"] .contact.section--photo.photo-fond--filigrane :where(p, li, dd, dt, small, label, td, th, figcaption),
html[data-direction="2"] .contact.section--photo.photo-fond--filigrane .section__tete > .etiq { color: inherit !important; }
html body :is(#pf, .section--photo).section.photo-fond--tete {
  background-color: var(--pf-fond-rubrique) !important;
  background-image: none !important;
  position: relative;
  padding-top: calc(clamp(180px, 26vw, 340px) + clamp(28px, 4vw, 48px)) !important;
}
.section--photo.photo-fond--tete::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: clamp(180px, 26vw, 340px);
  background: linear-gradient(to bottom, transparent 50%, var(--pf-fond-rubrique) 100%), var(--photo-fond) center / cover no-repeat;
  pointer-events: none;
}
.section--photo.photo-fond--tete > .contenant { position: relative; }
.section--photo:is(.photo-fond--sombre, .photo-fond--couleur) {
  color: #fff !important;
  --encre: #fff;
  --encre-2: rgba(255, 255, 255, .88);
  --encre-contraste: #fff;
  --titre-marque: #fff;
  --titre-trait: #fff;
  --surface: rgba(0, 0, 0, .24);
  --accent-clair: rgba(0, 0, 0, .24);
  --trait: rgba(255, 255, 255, .34);
  --trait-fort: #fff;
  --fond: transparent;
  --fond-2: transparent;
  --bande: transparent;
}
.section--photo:is(.photo-fond--sombre, .photo-fond--couleur) :where(p, li, span, dd, dt, h2, h3, h4, small, em, strong, b, i, a, td, th, figcaption, blockquote, cite, label, .etiq):not(:where(.bouton, .bouton *, .lieu *)) { color: #fff !important; }
.section--photo:is(.photo-fond--sombre, .photo-fond--couleur) :is(input, textarea, select) { background: #fff !important; color: #1a1a1a !important; }
.section--photo:is(.photo-fond--sombre, .photo-fond--couleur) .bouton--plein { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6); }
.section--photo:is(.photo-fond--sombre, .photo-fond--couleur) .bouton--discret { background: #fff !important; color: var(--pf-accent-fonce) !important; }
.section--photo:is(.photo-fond--sombre, .photo-fond--couleur) .bouton--discret:hover { background: var(--accent) !important; color: var(--accent-contraste) !important; }
html[data-titres="pastille"] .section--photo:is(.photo-fond--sombre, .photo-fond--couleur) .section__tete > .etiq { background: transparent !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55) !important; }
html body :is(#pf, .section--photo).section.photo-cadrage--haut { background-position: center top !important; }
html body :is(#pf, .section--photo).section.photo-cadrage--bas { background-position: center bottom !important; }
.section--photo.photo-fond--tete.photo-cadrage--haut::before { background-position: 0 0, center top; }
.section--photo.photo-fond--tete.photo-cadrage--bas::before { background-position: 0 0, center bottom; }
html[data-titres="numero"] :is(#pf, .section--accent) .section__tete::before { color: inherit; }
@media (max-width: 959px) {
  html body .entete--ouverte .nav { gap: 0; row-gap: 0; }
  html body .entete--ouverte .nav a { border-radius: 0; color: var(--encre-2); }
  html body .entete--ouverte .nav a:last-child { border-bottom: 1px solid var(--trait); }
}
html body .marque { grid-template-columns: fit-content(21rem); justify-content: start; justify-items: center; text-align: center; }
html body .marque--logo { grid-template-columns: auto fit-content(21rem); }
html body .marque__nom { text-wrap: balance; }
@media (min-width: 900px) {
  .galerie__ensembles.galerie__ensembles--rang { container-type: inline-size; flex-wrap: nowrap; }
  .galerie__ensembles--rang > .galerie__ensemble { flex: 0 0 auto !important; min-width: 0 !important; }
  .galerie__ensembles--rang .galerie__grille { flex-wrap: nowrap; }
  .galerie__ensembles--rang .galerie__grille > .galerie__item.galerie__item {
    width: min(calc(460px * var(--ratio-rang, var(--ratio, 1))), calc((100cqw - (var(--t) - var(--e)) * var(--ecart, 18px) - (var(--e) - 1) * 40px) / var(--t))) !important;
  }
  .galerie__ensembles--rang .galerie__item img { aspect-ratio: var(--ratio-rang, var(--ratio)); }
}
@media (max-width: 959px) {
  html:root body .accueil h1 { font-size: clamp(1.85rem, 1.25rem + 3vw, 3rem); }
  html:root[data-compo="aucun"] body .accueil h1 { font-size: clamp(2.05rem, 1.35rem + 3.6vw, 3.6rem); }
  html:root body main h2 { font-size: clamp(1.45rem, 1.05rem + 2vw, 2.1rem); }
}
@media (max-width: 599px) {
  html:root:not([data-direction="2"]) body .accueil__sous { font-size: 1.125rem; }
  html:root body .marque--long .marque__nom { font-size: max(1rem, .86em); line-height: 1.15; }
  html:root body .marque--tres-long .marque__nom { font-size: max(1rem, .78em); }
}
@media (min-width: 960px) {
  html:root body .accueil h1 { font-size: clamp(2.6rem, 1.5rem + 2.2vw, 3.6rem); }
  html:root[data-compo="aucun"] body .accueil h1 { font-size: clamp(3rem, 1.8rem + 2.8vw, 4.4rem); }
}
:root:root:root[data-accueil="plein"] .accueil { align-items: center; }
@media (max-width: 799px) {
  :root:root:root[data-accueil="plein"] .accueil .accueil__in { padding-top: clamp(56px, 9svh, 88px); padding-bottom: clamp(80px, 13svh, 120px); }
  :root:root:root[data-accueil="plein"] .accueil .accueil__media::after { background: linear-gradient(180deg, rgba(10, 12, 16, .42) 0%, rgba(10, 12, 16, .62) 16%, rgba(10, 12, 16, .66) 60%, rgba(10, 12, 16, .84) 100%); }
}
@media (min-width: 800px) {
  :root:root:root[data-accueil="plein"] .accueil .accueil__in { padding-top: clamp(56px, 9svh, 140px); padding-bottom: clamp(96px, 15svh, 220px); }
  :root:root:root[data-accueil="plein"] .accueil .accueil__media::after { background: linear-gradient(180deg, rgba(10, 12, 16, .38) 0%, rgba(10, 12, 16, .62) 18%, rgba(10, 12, 16, .66) 60%, rgba(10, 12, 16, .84) 100%), linear-gradient(90deg, rgba(10, 12, 16, .55) 0%, rgba(10, 12, 16, 0) 70%); }
  :root:root:root[data-accueil="plein"][data-direction="3"] .accueil .accueil__media::after { background: linear-gradient(180deg, rgba(10, 12, 16, .42) 0%, rgba(10, 12, 16, .62) 18%, rgba(10, 12, 16, .66) 60%, rgba(10, 12, 16, .84) 100%); }
}
html:root .section--photo:is(.photo-fond--sombre, .photo-fond--couleur) .bouton--plein { background: var(--accent); border-color: var(--accent); color: var(--accent-contraste); }
html:root .section--photo:is(.photo-fond--sombre, .photo-fond--couleur) .bouton--plein:hover { background: var(--accent-fonce, var(--accent)); border-color: var(--accent-fonce, var(--accent)); color: var(--accent-contraste); }
html:root .section--photo:is(.photo-fond--sombre, .photo-fond--couleur) .bouton--contour:hover { background: #fff; border-color: #fff; color: var(--pf-accent-fonce, #15171b); }
:where(main) :where(p, li, dd, figcaption, blockquote) { text-wrap: pretty; }
html.pf-differe .section--photo:not(.pf-proche) { --photo-fond: none !important; }
@media (max-width: 699px) {
  html .section--photo[style*="--photo-fond-tel"] { --photo-fond: var(--photo-fond-tel) !important; }
}
@media (min-width: 900px) {
  html[data-accueil="cote"]:not([data-direction="3"]):not([data-compo="bandeau"]):not([data-compo="aucun"]) .accueil__media {
    align-self: stretch;
    container-type: inline-size;
  }
  html[data-accueil="cote"]:not([data-direction="3"]):not([data-compo="bandeau"]):not([data-compo="aucun"]) .accueil__media .portrait {
    position: relative;
    aspect-ratio: auto;
    height: 100%;
    min-height: calc(min(100cqi, 440px) * .75);
    max-height: calc(min(100cqi, 440px) * 1.5);
  }
  html[data-accueil="cote"]:not([data-direction="3"]):not([data-compo="bandeau"]):not([data-compo="aucun"]) .accueil__media .portrait img {
    position: absolute;
    inset: 0;
    object-position: center 5%;
  }
}
@media (min-width: 1100px) {
  html[data-accueil="partage"] .accueil .accueil__texte {
    padding-left: max(var(--gouttiere), calc(100% - var(--largeur) / 2 + var(--gouttiere)));
  }
  html[data-accueil="partage"][data-compo="gauche"] .accueil .accueil__texte {
    padding-left: clamp(32px, 5vw, 88px);
    padding-right: max(var(--gouttiere), calc(100% - var(--largeur) / 2 + var(--gouttiere)));
  }
}
@media (min-width: 960px) {
  html[data-entete="classique"]:not([data-direction="3"]) .entete__in > .nav:last-child { margin-inline-end: -12px; }
}
@media (min-width: 900px) {
  :root[data-direction="1"] .texte__in:has(> :nth-child(2)) > .section__tete { margin-bottom: 0; }
}
html body .marque { grid-template-columns: fit-content(min(21rem, var(--marque-col, 21rem))); }
html body .marque--logo { grid-template-columns: auto fit-content(min(21rem, var(--marque-col, 21rem))); }
@media (max-width: 1099px) {
  html[data-accueil="partage"] .accueil .accueil__in .portrait img { width: 100%; max-width: none; margin-inline: 0; object-fit: cover; }
}
@media (min-width: 900px) {
  html[data-accueil="cote"]:not([data-direction="3"]) .accueil .accueil__in[data-mesure] { grid-template-columns: minmax(0, var(--texte-large)) minmax(0, var(--photo-large)); column-gap: min(clamp(80px, 9.5vw, 136px), calc(100% - var(--texte-large) - var(--photo-large))); justify-content: center; }
  html[data-accueil="cote"][data-compo="gauche"]:not([data-direction="3"]) .accueil .accueil__in[data-mesure] { grid-template-columns: minmax(0, var(--photo-large)) minmax(0, var(--texte-large)); }
}
@media (max-width: 699px) {
 img[style*="--cadre-tel"] { object-position: var(--cadre-tel) !important; }
}
:root,
[data-palette="papier"] {
  --fond:             #f6f2ea;
  --fond-2:           #efe9dd;
  --surface:          #fffdf9;
  --encre:            #1f1b17;
  --encre-2:          #5b544c;
  --trait:            #e2dacb;
  --trait-fort:       #1f1b17;
  --accent:           #46664f;
  --accent-fonce:     #33513c;
  --accent-clair:     #e7eee7;
  --accent-contraste: #ffffff;
  --encre-contraste:  #f6f2ea;
  --alerte:           #8a4b2a;
}
[data-palette="craie"] {
--bande: #e9f2f0;
  --fond:             #ffffff;
  --fond-2:           #f3f5f4;
  --surface:          #ffffff;
  --encre:            #101514;
  --encre-2:          #5c6663;
  --trait:            #e3e7e5;
  --trait-fort:       #101514;
  --accent:           #2f6f6b;
  --accent-fonce:     #21504d;
  --accent-clair:     #e4f0ef;
  --accent-contraste: #ffffff;
  --encre-contraste:  #ffffff;
  --alerte:           #8c3a3a;
}
[data-palette="ivoire"] {
  --fond:             #faf7f1;
  --fond-2:           #f2ede3;
  --surface:          #fffefb;
  --encre:            #1a1917;
  --encre-2:          #615c55;
  --trait:            #dcd5c7;
  --trait-fort:       #1a1917;
  --accent:           #7a4b33;
  --accent-fonce:     #5d3826;
  --accent-clair:     #f3e8e1;
  --accent-contraste: #ffffff;
  --encre-contraste:  #faf7f1;
  --alerte:           #8a4b2a;
}
[data-palette="ardoise"] {
  --fond:             #eceff3;
  --fond-2:           #e2e7ee;
  --surface:          #fbfcfd;
  --encre:            #161b22;
  --encre-2:          #4f5966;
  --trait:            #d3dae3;
  --trait-fort:       #161b22;
  --accent:           #3c5673;
  --accent-fonce:     #2b4159;
  --accent-clair:     #dfe7f0;
  --accent-contraste: #ffffff;
  --encre-contraste:  #eceff3;
  --alerte:           #8a4b2a;
}
[data-palette="sable"] {
  --fond:             #ebe5da;
  --fond-2:           #e0d9cb;
  --surface:          #fdfcfa;
  --encre:            #201d18;
  --encre-2:          #5a5347;
  --trait:            #d9d0bf;
  --trait-fort:       #201d18;
  --accent:           #6b5a37;
  --accent-fonce:     #514426;
  --accent-clair:     #e6ddc9;
  --accent-contraste: #ffffff;
  --encre-contraste:  #ebe5da;
  --alerte:           #8a4b2a;
}
[data-palette="sauge"] {
  --fond:             #edf1ea;
  --fond-2:           #e3e9df;
  --surface:          #fbfdfa;
  --encre:            #171c17;
  --encre-2:          #4f5a4e;
  --trait:            #d6ded2;
  --trait-fort:       #171c17;
  --accent:           #3f6a4c;
  --accent-fonce:     #2d5138;
  --accent-clair:     #dfeade;
  --accent-contraste: #ffffff;
  --encre-contraste:  #edf1ea;
  --alerte:           #8a4b2a;
}
[data-palette="brume"] {
  --fond:             #e2eaf0;
  --fond-2:           #d5e0e8;
  --surface:          #f9fbfd;
  --encre:            #131a1f;
  --encre-2:          #48535c;
  --trait:            #c8d5df;
  --trait-fort:       #131a1f;
  --accent:           #2c6076;
  --accent-fonce:     #1e4756;
  --accent-clair:     #d3e4ec;
  --accent-contraste: #ffffff;
  --encre-contraste:  #e2eaf0;
  --alerte:           #8a4b2a;
}
[data-palette="terracotta"] {
  --fond:             #f2e8e2;
  --fond-2:           #e9dcd3;
  --surface:          #fefcfb;
  --encre:            #221b17;
  --encre-2:          #5f5149;
  --trait:            #e0d0c5;
  --trait-fort:       #221b17;
  --accent:           #8a4c33;
  --accent-fonce:     #6d3a26;
  --accent-clair:     #f2e3da;
  --accent-contraste: #ffffff;
  --encre-contraste:  #f2e8e2;
  --alerte:           #8a4b2a;
}
[data-palette="bleu-nuit"] {
  --fond:             #edecf1;
  --fond-2:           #e4e2ea;
  --surface:          #fcfbfd;
  --encre:            #16151c;
  --encre-2:          #524f5d;
  --trait:            #d8d5e0;
  --trait-fort:       #16151c;
  --accent:           #4a4780;
  --accent-fonce:     #363466;
  --accent-clair:     #e3e1f0;
  --accent-contraste: #ffffff;
  --encre-contraste:  #edecf1;
  --alerte:           #8a4b2a;
}
[data-palette="mousse"] {
  --fond:             #e9ead9;
  --fond-2:           #dedfca;
  --surface:          #fcfcf7;
  --encre:            #1c1d15;
  --encre-2:          #535542;
  --trait:            #d3d5bf;
  --trait-fort:       #1c1d15;
  --accent:           #516029;
  --accent-fonce:     #3d4a1d;
  --accent-clair:     #e7ebd4;
  --accent-contraste: #ffffff;
  --encre-contraste:  #e9ead9;
  --alerte:           #8a4b2a;
}
[data-palette="poudre"] {
  --fond:             #fffbfa;
  --fond-2:           #fbf0f2;
  --bande:            #f7e8ec;
  --surface:          #ffffff;
  --encre:            #2b1b21;
  --encre-2:          #6b4f57;
  --trait:            #ecd6dc;
  --trait-fort:       #2b1b21;
  --accent:           #a1335c;
  --accent-fonce:     #7a2446;
  --accent-clair:     #f7e2ea;
  --accent-contraste: #ffffff;
  --encre-contraste:  #fffbfa;
  --alerte:           #8c3a3a;
}
[data-palette="eau"] {
  --fond:             #f7f9fc;
  --fond-2:           #edf2f8;
  --bande:            #e3ebf5;
  --surface:          #ffffff;
  --encre:            #14202e;
  --encre-2:          #4a5a6c;
  --trait:            #d5dfeb;
  --trait-fort:       #14202e;
  --accent:           #1f5fa6;
  --accent-fonce:     #15477f;
  --accent-clair:     #e1ecf8;
  --accent-contraste: #ffffff;
  --encre-contraste:  #f7f9fc;
  --alerte:           #8c3a3a;
}
[data-palette="marine"] {
  --fond:             #f7f8fa;
  --fond-2:           #eef1f5;
  --bande:            #e6eaf1;
  --surface:          #ffffff;
  --encre:            #141a24;
  --encre-2:          #4b5566;
  --trait:            #d8dee8;
  --trait-fort:       #141a24;
  --accent:           #274777;
  --accent-fonce:     #1b3257;
  --accent-clair:     #e3e9f3;
  --accent-contraste: #ffffff;
  --encre-contraste:  #f7f8fa;
  --alerte:           #8c3a3a;
}
[data-palette="bistrot"] {
  --fond:             #fbf7f1;
  --fond-2:           #f4ede2;
  --bande:            #efe5d6;
  --surface:          #fffdf9;
  --encre:            #231915;
  --encre-2:          #5e4d44;
  --trait:            #e3d6c4;
  --trait-fort:       #231915;
  --accent:           #8c2635;
  --accent-fonce:     #6b1b28;
  --accent-clair:     #f5e3e4;
  --accent-contraste: #ffffff;
  --encre-contraste:  #fbf7f1;
  --alerte:           #8c3a3a;
}
[data-palette="brasserie"] {
  --fond:             #fbf8f2;
  --fond-2:           #f3eee3;
  --bande:            #ece5d6;
  --surface:          #fffdf9;
  --encre:            #1d1f26;
  --encre-2:          #555663;
  --trait:            #e1d9c9;
  --trait-fort:       #1d1f26;
  --accent:           #243f6b;
  --accent-fonce:     #182c4d;
  --accent-clair:     #e3e8f1;
  --accent-contraste: #ffffff;
  --encre-contraste:  #fbf8f2;
  --alerte:           #8c3a3a;
}
[data-palette="argile"] {
  --fond:             #fbf7f3;
  --fond-2:           #f4ece4;
  --bande:            #eee3d8;
  --surface:          #ffffff;
  --encre:            #2a211c;
  --encre-2:          #65564d;
  --trait:            #e6d8cb;
  --trait-fort:       #2a211c;
  --accent:           #8e4e39;
  --accent-fonce:     #7a4331;
  --accent-clair:     #f5e6de;
  --accent-contraste: #ffffff;
  --encre-contraste:  #fbf7f3;
  --alerte:           #8c3a3a;
}
[data-palette="bruyere"] {
  --fond:             #fbf8f9;
  --fond-2:           #f4eef1;
  --bande:            #eee5ea;
  --surface:          #ffffff;
  --encre:            #261d23;
  --encre-2:          #625560;
  --trait:            #e6dae1;
  --trait-fort:       #261d23;
  --accent:           #7a4f6d;
  --accent-fonce:     #5f3d55;
  --accent-clair:     #f3e6ee;
  --accent-contraste: #ffffff;
  --encre-contraste:  #fbf8f9;
  --alerte:           #8c3a3a;
}
[data-palette="froment"] {
  --fond: #fcf8f1;
  --fond-2: #f6eddc;
  --bande: #f1e4cc;
  --surface: #fffdf8;
  --encre: #2a1f14;
  --encre-2: #624f3c;
  --trait: #e8d8bd;
  --trait-fort: #2a1f14;
  --accent: #8f521b;
  --accent-fonce: #6f3f13;
  --accent-clair: #f6e7d2;
  --accent-contraste: #ffffff;
  --encre-contraste: #fcf8f1;
  --alerte: #8c3a3a;
}
[data-palette="nude"] {
  --fond: #fbf9f7;
  --fond-2: #f3eeea;
  --bande: #ece5df;
  --surface: #ffffff;
  --encre: #1c1a19;
  --encre-2: #57514d;
  --trait: #e3dcd6;
  --trait-fort: #1c1a19;
  --accent: #955447;
  --accent-fonce: #77413a;
  --accent-clair: #f4e6e2;
  --accent-contraste: #ffffff;
  --encre-contraste: #fbf9f7;
  --alerte: #8c3a3a;
}
[data-palette="ambre"] {
  --fond: #f8f8f6;
  --fond-2: #efefeb;
  --bande: #e8e7e1;
  --surface: #ffffff;
  --encre: #16181c;
  --encre-2: #4f535b;
  --trait: #dcdcd5;
  --trait-fort: #16181c;
  --accent: #955000;
  --accent-fonce: #733d00;
  --accent-clair: #f7ead6;
  --accent-contraste: #ffffff;
  --encre-contraste: #f8f8f6;
  --alerte: #8c3a3a;
}
[data-palette="nacre"] {
  --fond: #fcfaf8;
  --fond-2: #f5f0ec;
  --bande: #efe8e2;
  --surface: #ffffff;
  --encre: #2a2422;
  --encre-2: #625955;
  --trait: #e8e0da;
  --trait-fort: #2a2422;
  --accent: #80614f;
  --accent-fonce: #654b3d;
  --accent-clair: #f3ebe6;
  --accent-contraste: #ffffff;
  --encre-contraste: #fcfaf8;
  --alerte: #8c3a3a;
}
[data-palette="menthe"] {
  --fond: #f6faf9;
  --fond-2: #eaf4f2;
  --bande: #dfeeeb;
  --surface: #ffffff;
  --encre: #122120;
  --encre-2: #475a57;
  --trait: #d3e5e1;
  --trait-fort: #122120;
  --accent: #1b6a60;
  --accent-fonce: #135048;
  --accent-clair: #dcefeb;
  --accent-contraste: #ffffff;
  --encre-contraste: #f6faf9;
  --alerte: #8c3a3a;
}
[data-palette="pierre"] {
  --fond: #f8f6f2;
  --fond-2: #efebe4;
  --bande: #e7e1d7;
  --surface: #ffffff;
  --encre: #1f1c18;
  --encre-2: #57514a;
  --trait: #ddd6ca;
  --trait-fort: #1f1c18;
  --accent: #8a4a2b;
  --accent-fonce: #6c3920;
  --accent-clair: #f3e3d9;
  --accent-contraste: #ffffff;
  --encre-contraste: #f8f6f2;
  --alerte: #8c3a3a;
}
[data-palette="feuillage"] {
  --fond: #f7f9f4;
  --fond-2: #edf2e6;
  --bande: #e3ebd9;
  --surface: #ffffff;
  --encre: #18200f;
  --encre-2: #4c5840;
  --trait: #d7e1ca;
  --trait-fort: #18200f;
  --accent: #3d6629;
  --accent-fonce: #2f5020;
  --accent-clair: #e3eed9;
  --accent-contraste: #ffffff;
  --encre-contraste: #f7f9f4;
  --alerte: #8c3a3a;
}
[data-palette="argentique"] {
  --fond: #fafafa;
  --fond-2: #f1f1f0;
  --bande: #e9e9e7;
  --surface: #ffffff;
  --encre: #121212;
  --encre-2: #505050;
  --trait: #dedede;
  --trait-fort: #121212;
  --accent: #2b2b2b;
  --accent-fonce: #111111;
  --accent-clair: #ececec;
  --accent-contraste: #ffffff;
  --encre-contraste: #fafafa;
  --alerte: #8c3a3a;
}
[data-palette="cahier"] {
  --fond: #fbfbf8;
  --fond-2: #f2f3ee;
  --bande: #eaece3;
  --surface: #ffffff;
  --encre: #1b1f2a;
  --encre-2: #50566a;
  --trait: #dde0d6;
  --trait-fort: #1b1f2a;
  --accent: #2d4f8f;
  --accent-fonce: #203a6b;
  --accent-clair: #e3eaf6;
  --accent-contraste: #ffffff;
  --encre-contraste: #fbfbf8;
  --alerte: #8c3a3a;
}
[data-palette="ciel"] {
  --fond: #f8f9fb;
  --fond-2: #eff1f6;
  --bande: #e7eaf2;
  --surface: #ffffff;
  --encre: #1d2130;
  --encre-2: #545a6d;
  --trait: #dde1ea;
  --trait-fort: #1d2130;
  --accent: #4a5a8a;
  --accent-fonce: #37446b;
  --accent-clair: #e6e9f3;
  --accent-contraste: #ffffff;
  --encre-contraste: #f8f9fb;
  --alerte: #8c3a3a;
}
[data-palette="olivier"] {
  --fond: #fbf9f5;
  --fond-2: #f4f0e8;
  --bande: #eee8dc;
  --surface: #ffffff;
  --encre: #242520;
  --encre-2: #5a5b52;
  --trait: #e5dfd2;
  --trait-fort: #242520;
  --accent: #5c6848;
  --accent-fonce: #48523a;
  --accent-clair: #eceee3;
  --accent-contraste: #ffffff;
  --encre-contraste: #fbf9f5;
  --alerte: #8c3a3a;
}
[data-palette="reception"] {
  --fond: #fbf9f5;
  --fond-2: #f3efe7;
  --bande: #ece6da;
  --surface: #fffefb;
  --encre: #1f1d1a;
  --encre-2: #58534b;
  --trait: #e2dccf;
  --trait-fort: #1f1d1a;
  --accent: #76572a;
  --accent-fonce: #5c4420;
  --accent-clair: #f3eadb;
  --accent-contraste: #ffffff;
  --encre-contraste: #fbf9f5;
  --alerte: #8c3a3a;
}
html[data-direction="1"] {
  --titres: 'Source Serif 4', Georgia, serif;
  --corps: 'Source Sans 3', system-ui, sans-serif;
  --r: 999px;
  --r-carte: 18px;
}
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/source-serif-400.woff2) format('woff2'); }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/fonts/source-serif-600.woff2) format('woff2'); }
@font-face { font-family: 'Source Serif 4'; font-style: italic; font-weight: 400; font-display: swap; src: url(/assets/fonts/source-serif-400i.woff2) format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/source-sans-400.woff2) format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/fonts/source-sans-600.woff2) format('woff2'); }
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/fraunces-400.woff2) format('woff2'); }
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/fonts/fraunces-600.woff2) format('woff2'); }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 400; font-display: swap; src: url(/assets/fonts/fraunces-400i.woff2) format('woff2'); }
html[data-direction="1"], html[data-direction="1"][data-typo="a"] {
  --titres: 'Source Serif 4', Georgia, serif;
  --corps: 'Source Sans 3', system-ui, sans-serif;
}
html[data-direction="1"][data-typo="b"] {
  --titres: 'Fraunces', Georgia, serif;
  --corps: 'Source Sans 3', system-ui, sans-serif;
}
html[data-direction="1"][data-typo="b"] h1 { letter-spacing: -.025em; }
html[data-direction="1"][data-typo="c"] {
  --titres: 'Source Serif 4', Georgia, serif;
  --corps: 'Source Serif 4', Georgia, serif;
}
html[data-direction="1"][data-typo="c"] body { font-size: 1.09rem; line-height: 1.66; }
html[data-direction="1"][data-typo="c"] .bouton,
html[data-direction="1"][data-typo="c"] .nav,
html[data-direction="1"][data-typo="c"] .etiq,
html[data-direction="1"][data-typo="c"] .barre-mobile,
html[data-direction="1"][data-typo="c"] .champ label { font-family: 'Source Sans 3', system-ui, sans-serif; }
body { font-size: 1.0625rem; line-height: 1.6; }
h1, h2, h3 { font-weight: 400; letter-spacing: -.01em; line-height: 1.08; }
h1 { font-size: clamp(2.6rem, 2rem + 3.4vw, 4.6rem); }
h2 { font-size: clamp(1.9rem, 1.5rem + 1.6vw, 2.7rem); }
h3 { font-size: 1.35rem; font-weight: 600; }
.etiq { font-family: var(--corps); font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.bouton { padding: 14px 22px; }
.bouton--contour { border-color: var(--encre); }
.bouton--contour:hover { background: var(--encre); color: var(--fond); border-color: var(--encre); }
.entete { background: var(--fond); }
.entete__in { min-height: 72px; }
.marque { font-family: var(--titres); font-size: 1.35rem; }
.marque__ligne { font-size: .78rem; letter-spacing: .04em; margin-top: 3px; }
.nav a { border-radius: 999px; font-size: .95rem; }
.nav a:hover { background: var(--fond-2); }
.accueil__in { align-items: end; }
.accueil h1 em { font-style: italic; color: var(--accent); }
.accueil__sous { font-family: var(--titres); font-size: 1.25rem; }
.accueil__corps { font-size: 1.1rem; }
.portrait { border-radius: 18px; }
.chiffres { background: var(--surface); border-block: 1px solid var(--trait); }
.chiffre b { font-weight: 400; font-size: clamp(1.6rem, 1.3rem + 1.4vw, 2.4rem); letter-spacing: -.02em; }
.chiffre span { letter-spacing: .1em; text-transform: uppercase; }
@media (max-width: 899.98px) { .chiffre b { font-size: clamp(1.05rem, 4.6vw, 1.5rem); } }
.section:nth-of-type(odd) { background: var(--surface); }
.section--accent { background: var(--encre) !important; color: var(--fond); }
.section--accent h2 { color: var(--encre-contraste); }
.section--accent .etiq { color: var(--accent-clair); }
.section--accent .section__corps { color: color-mix(in srgb, var(--encre-contraste) 84%, transparent); font-size: 1.1rem; }
.section--accent a { color: var(--encre-contraste); }
.section--accent ul.motifs li, .section--accent .t td { border-color: color-mix(in srgb, var(--encre-contraste) 24%, transparent); }
.section--accent .mention,
.section--accent small,
.section--accent figcaption,
.section--accent dt,
.section--accent ul.infos-tarifs li,
.section--accent ul.coordonnees li,
.section--accent .reserve { color: color-mix(in srgb, var(--encre-contraste) 74%, transparent); }
@media (min-width: 900px) {
  .texte__in { display: grid; grid-template-columns: .8fr 1.2fr; gap: 72px; align-items: start; }
  .texte__in > .texte__citation { grid-column: 2; }
}
.section--encadre .section__corps { background: var(--surface); border: 1px solid var(--trait); border-radius: var(--r-carte); padding: 32px; }
.section--encadre { background: var(--fond-2) !important; }
.section--accent.section--encadre { color: var(--encre); }
.section--accent.section--encadre h2,
.section--accent.section--encadre a,
.section--accent.section--encadre .section__corps strong { color: var(--encre); }
.section--accent.section--encadre .section__corps { color: var(--encre-2); }
.section--accent.section--encadre .etiq { color: var(--accent-fonce); }
.section--accent.section--encadre ul.motifs li,
.section--accent.section--encadre .t td,
.section--accent.section--encadre .faq > div { border-color: var(--trait); }
.section--accent.section--encadre dt { color: var(--encre-2); }
.section--accent.section--encadre dd { color: var(--encre); }
.figure { border-radius: var(--r-carte); }
.citation { font-family: var(--titres); font-style: italic; font-size: clamp(1.4rem, 1.15rem + 1.1vw, 1.9rem); line-height: 1.32; color: var(--accent-fonce); padding-left: 22px; border-left: 3px solid var(--accent); text-wrap: pretty; }
.citation::before { content: '« '; }
.citation::after { content: ' »'; }
.t td:last-child { font-size: 1.4rem; }
.t td, .h td { padding: 14px 0; }
ul.motifs { columns: 1; column-gap: 48px; }
ul.motifs li { break-inside: avoid; font-size: 1.05rem; }
@media (min-width: 900px) { ul.motifs { columns: 2; } }
.adresse-forte { font-size: 1.5rem; }
.tel-fort { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); letter-spacing: -.02em; }
.service { border-radius: var(--r-carte); background: var(--surface); }
.tarif-carte { border-radius: var(--r-carte); background: var(--surface); }
.lieu { background: var(--accent); color: var(--accent-contraste); border-radius: var(--r-carte); padding: 36px; }
.lieu h3 { color: var(--accent-contraste); font-weight: 400; font-size: 1.6rem; }
.lieu .bouton { background: var(--accent-contraste); color: var(--accent-fonce); }
.lieu .mention { color: color-mix(in srgb, var(--accent-contraste) 80%, transparent); }
.form input[type="text"], .form input[type="email"], .form textarea { border-color: var(--trait); border-radius: 10px; }
.form label { letter-spacing: .02em; }
.pied { background: var(--fond); }
@media (min-width: 900px) {
  :root .texte__in:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
}
.urgence__in { display: grid; gap: 32px; align-items: start; }
@media (min-width: 900px) { .urgence__in { grid-template-columns: 1.1fr .9fr; gap: 56px; } }
.urgence__fiche {
  background: var(--surface);
  border: 1px solid var(--trait);
  border-radius: var(--r-carte, 14px);
  padding: 24px;
}
html[data-direction="1"] .section--accent .urgence__fiche { background: color-mix(in srgb, var(--encre-contraste) 8%, transparent); border-color: color-mix(in srgb, var(--encre-contraste) 22%, transparent); }
.urgence__tel {
  display: flex; align-items: center; justify-content: center; gap: 12px;
  padding: 18px 20px; margin-bottom: 20px;
  background: var(--accent); color: var(--accent-contraste);
  border-radius: var(--r, 12px);
  font-family: var(--titres); font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.1rem);
  line-height: 1; text-decoration: none; white-space: nowrap;
}
.urgence__tel:hover { background: var(--accent-fonce); color: var(--accent-contraste); }
.urgence__tel svg { width: 26px; height: 26px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.urgence__faits { margin: 0; display: grid; gap: 0; }
.urgence__faits > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 11px 0; border-top: 1px solid var(--trait); }
html[data-direction="1"] .section--accent .urgence__faits > div { border-color: color-mix(in srgb, var(--encre-contraste) 22%, transparent); }
.urgence__faits dt { font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; color: var(--encre-2); }
html[data-direction="1"] .section--accent .urgence__faits dt { color: color-mix(in srgb, var(--encre-contraste) 72%, transparent); }
.urgence__faits dd { margin: 0; text-align: right; font-weight: 600; }
.urgence__note { margin-top: 18px; }
.prestations__grille { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
@media (min-width: 760px) { .prestations__grille { grid-template-columns: 1fr 1fr; gap: 2px 40px; } }
.prestation { padding: 18px 0; border-top: 1px solid var(--trait); }
.prestation h3 { font-size: 1.1rem; margin-bottom: .25em; }
.prestation p { margin: 0; color: var(--encre-2); font-size: .96rem; }
.prestations__prix { margin-top: 44px; padding: 28px; background: var(--fond-2); border-radius: var(--r-carte, 14px); max-width: 46rem; }
.prestations__prix h3 { font-size: 1.1rem; margin-bottom: .8em; }
.prix__liste { list-style: none; margin: 0 0 16px; padding: 0; }
.prix { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--trait); }
.prix__montant { white-space: nowrap; font-weight: 600; color: var(--accent-fonce); }
.zone__in { display: grid; gap: 28px; }
@media (min-width: 900px) { .zone__in { grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: start; } }
.zone__communes { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 9px; }
.zone__communes li {
  padding: 9px 16px;
  border: 1px solid var(--trait);
  border-radius: 999px;
  background: var(--surface);
  font-size: .95rem;
}
.garanties__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
@media (min-width: 800px) { .garanties__liste { grid-template-columns: 1fr 1fr; gap: 18px 40px; } }
.garanties__liste li { padding-left: 30px; position: relative; }
.garanties__liste li::before {
  content: ''; position: absolute; left: 0; top: .35em;
  width: 17px; height: 17px; border-radius: 50%;
  background: var(--accent-clair);
  box-shadow: inset 0 0 0 5px var(--accent-clair), inset 0 0 0 99px var(--accent);
}
.garanties__liste b { display: block; margin-bottom: 3px; }
.garanties__liste span { color: var(--encre-2); font-size: .95rem; }
.etapes__liste { list-style: none; counter-reset: etape; margin: 40px 0 0; padding: 0; display: grid; gap: 2px; }
@media (min-width: 780px) { .etapes__liste { grid-template-columns: 1fr 1fr; gap: 2px 48px; } }
@media (min-width: 1180px) { .etapes__liste { grid-template-columns: repeat(3, 1fr); } }
.etapes__liste li {
  counter-increment: etape;
  position: relative;
  padding: 22px 0 22px 52px;
  border-top: 1px solid var(--trait);
}
html[data-direction="1"] .section--accent .etapes__liste li { border-color: color-mix(in srgb, var(--encre-contraste) 22%, transparent); }
.etapes__liste li::before {
  content: counter(etape);
  position: absolute; left: 0; top: 20px;
  width: 34px; height: 34px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--accent); color: var(--accent-contraste);
  font-family: var(--titres); font-size: .95rem; line-height: 1;
}
html[data-direction="1"] .section--accent .etapes__liste li::before { background: var(--encre-contraste); color: var(--accent-fonce); }
.etapes__liste h3 { font-size: 1.08rem; margin-bottom: .3em; }
.etapes__liste p { margin: 0; color: var(--encre-2); font-size: .96rem; }
html[data-direction="1"] .section--accent .etapes__liste p { color: color-mix(in srgb, var(--encre-contraste) 82%, transparent); }
.garanties__note { margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--trait); max-width: 62rem; }
html[data-direction="1"] .section--accent .mention,
html[data-direction="1"] .section--accent small {
  color: color-mix(in srgb, var(--encre-contraste) 78%, transparent);
}
html[data-direction="1"] .section--accent .mention a { color: var(--encre-contraste); }
html[data-direction="2"] .contact .urgence,
html[data-direction="2"] .contact .mention,
html[data-direction="2"] .contact small {
  color: color-mix(in srgb, var(--encre-contraste) 82%, transparent);
}
html[data-direction="2"] .contact .urgence a,
html[data-direction="2"] .contact .mention a { color: var(--encre-contraste); }
html[data-direction="1"] .lieu .mention {
  color: color-mix(in srgb, var(--encre-contraste) 94%, transparent);
}
@media (min-width: 900px) {
  .urgence__in:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
  .zone__in:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 760px) {
  .prestations__grille:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 800px) {
  .garanties__liste:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 780px) {
  .etapes__liste:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 1180px) {
  .etapes__liste:not(:has(> :nth-child(3))) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etapes__liste:not(:has(> :nth-child(2))) { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 760px) {
  .prestations__grille:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .prestations__grille:has(> :nth-child(5):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .prestations__grille:has(> :nth-child(7):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .prestations__grille:has(> :nth-child(9):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .prestations__grille:has(> :nth-child(11):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .prestations__grille:has(> :nth-child(13):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 800px) {
  .garanties__liste:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .garanties__liste:has(> :nth-child(5):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .garanties__liste:has(> :nth-child(7):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .garanties__liste:has(> :nth-child(9):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .garanties__liste:has(> :nth-child(11):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .garanties__liste:has(> :nth-child(13):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 780px) {
  .etapes__liste:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .etapes__liste:has(> :nth-child(5):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .etapes__liste:has(> :nth-child(7):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .etapes__liste:has(> :nth-child(9):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .etapes__liste:has(> :nth-child(11):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .etapes__liste:has(> :nth-child(13):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 1180px) {
  .etapes__liste:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .etapes__liste:has(> :nth-child(7):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .etapes__liste:has(> :nth-child(10):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .etapes__liste:has(> :nth-child(13):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.prestations .section__corps + .prestations__grille { margin-top: 28px; }
.section--accent { background: var(--accent-fonce) !important; color: #fff !important; --encre-contraste: #fff; --titre-marque: #fff; --titre-trait: #fff; --surface: rgba(255, 255, 255, .1); --accent-clair: rgba(255, 255, 255, .12); --trait: rgba(255, 255, 255, .3); --fond: transparent; --fond-2: transparent; }
.section--accent :where(p, li, span, dd, dt, h2, h3, h4, small, em, strong, b, i, a, td, th) { color: #fff !important; }
.marque__nom { font-weight: 700 !important; color: var(--accent-fonce) !important; }
.section--accent .etapes__liste li::before { background: #fff !important; color: var(--accent-fonce) !important; }
