/*
Theme Name: Visionary
Theme URI: https://visionaryentreprises.com
Author: Visionary Entreprises IT
Description: Thème bloc sur mesure de Visionary Entreprises IT. Charte stricte : bleu Visionary dominant, orange, rouge et vert du logo en touches, blanc et noir. Tout le contenu est en blocs natifs, modifiable dans l'éditeur.
Version: 1.0.5
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: visionary
Tags: block-theme, full-site-editing, business
*/

/* =========================================================================
   CHARTE STRICTE : toutes les couleurs viennent des six variables ci-dessous,
   relevées au pixel sur le logo officiel. Aucune autre teinte.
   ========================================================================= */
:root {
  --visionary-blue: #114694;
  --visionary-orange: #f7941d;
  --visionary-red: #d9011c;
  --visionary-green: #3eb649;
  --visionary-white: #ffffff;
  --visionary-black: #000000;

  /* dérivés : uniquement transparence ou mélange noir/blanc (gris neutres) */
  --texte-sombre: color-mix(in srgb, var(--visionary-black) 78%, var(--visionary-white));
  --texte-doux: color-mix(in srgb, var(--visionary-black) 58%, var(--visionary-white));
  --neutre-clair: color-mix(in srgb, var(--visionary-black) 4%, var(--visionary-white));
  --texte-sur-bleu: color-mix(in srgb, var(--visionary-white) 84%, transparent);
  --trait-sur-bleu: color-mix(in srgb, var(--visionary-white) 22%, transparent);
  --trait-sur-blanc: color-mix(in srgb, var(--visionary-black) 11%, transparent);
  --ombre: color-mix(in srgb, var(--visionary-black) 22%, transparent);
  --bleu-profond: color-mix(in srgb, var(--visionary-blue) 62%, var(--visionary-black));
  --degrade-bleu: linear-gradient(135deg, var(--visionary-blue) 0%, var(--visionary-blue) 35%, var(--bleu-profond) 100%);
  --calques-bleus: radial-gradient(900px circle at 12% 0%, color-mix(in srgb, var(--visionary-white) 13%, transparent), transparent 60%), radial-gradient(700px circle at 100% 100%, color-mix(in srgb, var(--visionary-black) 28%, transparent), transparent 65%), linear-gradient(160deg, var(--visionary-blue) 0%, var(--visionary-blue) 40%, var(--bleu-profond) 100%);

  --rayon: 6px;
  --conteneur: 1170px;
  --police: 'Figtree', system-ui, sans-serif;
}

/* ---------- tons de section : bleu dominant, blanc en respiration ---------- */
.ton-bleu {
  --fond: var(--visionary-blue);
  --titre: var(--visionary-white);
  --texte: var(--texte-sur-bleu);
  --trait: var(--trait-sur-bleu);
  --accent: var(--visionary-white);
  --accent-texte: var(--visionary-blue);
  --accent-fond: var(--visionary-white);
  background: var(--calques-bleus);
  color: var(--texte);
}
.ton-blanc, .carte, .projet__fiche, .formulaire, .flottant, .jauges, .valeur {
  --titre: var(--visionary-blue);
  --texte: var(--texte-sombre);
  --trait: var(--trait-sur-blanc);
  --accent: var(--visionary-blue);
  --accent-texte: var(--visionary-white);
  --accent-fond: var(--degrade-bleu);
}
.ton-blanc { --fond: var(--visionary-white); background: var(--fond); color: var(--texte); }

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto; }
body {
  margin: 0;
  background: var(--visionary-white);
  color: var(--texte-sombre);
  font: 400 17px/1.65 var(--police);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { margin: 0; color: var(--titre); font-weight: 600; line-height: 1.15; letter-spacing: -.01em; hyphens: none; text-wrap: balance; }
p { margin: 0; }
:focus-visible { outline: 2px solid var(--visionary-orange); outline-offset: 3px; }

/* Gutenberg : l'espacement automatique est coupé dans theme.json (blockGap 0px).
   Filet de sécurité À SPÉCIFICITÉ NULLE, pour ne jamais écraser les marges des composants. */
:where(.wp-block-group) > :where(*), :where(.wp-block-buttons) { margin-block: 0; }
figure.wp-block-image { margin: 0; }
.wp-site-blocks, .wp-block-post-content { overflow-x: clip; }

.conteneur { position: relative; z-index: 1; width: 100%; max-width: var(--conteneur); margin: 0 auto; padding: 0 24px; }

/* ---------- éléments communs ---------- */
.etiquette {
  display: inline-block;
  padding: 5px 12px;
  border: 1px solid var(--trait);
  border-radius: 3px;
  color: var(--titre);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  line-height: 1.4;
}
.etiquette::before, .copyright::before { /* les trois points du logo */
  content: "";
  display: inline-block;
  width: 26px; height: 6px;
  margin: 0 10px 2px 0;
  vertical-align: middle;
  background:
    radial-gradient(circle at 3px 3px, var(--visionary-orange) 3px, transparent 3.5px),
    radial-gradient(circle at 13px 3px, var(--visionary-red) 3px, transparent 3.5px),
    radial-gradient(circle at 23px 3px, var(--visionary-green) 3px, transparent 3.5px);
}
.titre-section { margin-top: 18px; font-size: clamp(32px, 3.3vw, 46px); }
.chapo { margin-top: 18px; max-width: 520px; }

/* boutons : la classe atterrit sur div.wp-block-button, le style va sur le lien */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 14px; }
.wp-block-button.bouton { display: inline-block; background: none; border: 0; padding: 0; border-radius: 0; }
.wp-block-button.bouton .wp-block-button__link {
  position: relative;
  z-index: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 24px;
  border: 0;
  border-radius: 4px;
  background: var(--accent-fond, var(--accent));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--visionary-black) 18%, transparent);
  color: var(--accent-texte);
  font-family: var(--police);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: .03em;
  text-transform: uppercase;
  text-decoration: none;
  overflow: hidden;
}
.wp-block-button.bouton .wp-block-button__link::after { /* halo qui s'étend au survol */
  content: '';
  position: absolute;
  z-index: -1;
  left: 8px; top: 50%;
  width: 22px; height: 22px;
  margin-top: -11px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--accent-texte) 20%, transparent);
  transition: transform .45s cubic-bezier(.2, .7, .2, 1);
}
.wp-block-button.bouton .wp-block-button__link:hover::after { transform: scale(14); }
.wp-block-button.bouton--whatsapp { --accent-fond: var(--visionary-green); --accent-texte: var(--visionary-white); }
.wp-block-button.bouton--whatsapp .wp-block-button__link::before {
  content: '';
  width: 18px; height: 18px;
  background: currentColor;
  -webkit-mask: var(--ico-whatsapp) center / contain no-repeat;
          mask: var(--ico-whatsapp) center / contain no-repeat;
}

/* ---------- pastilles d'icônes : dessinées en pseudo-éléments ----------
   ::before = disque (dégradé bleu, ou blanc sur fond bleu), ::after = icône en masque.
   Chaque composant règle --pt (taille), --px / --py (position). */
:is(.carte, .etape, .valeur, .tuile, .domaine__visuel, .profil, .telephone, .carte-contact, .flottant--expertise, .flottant--clients) { position: relative; }
:is(.carte, .etape, .valeur, .tuile, .domaine__visuel, .profil, .telephone, .carte-contact, .flottant--expertise, .flottant--clients)[class*="ico-"]::before {
  content: '';
  position: absolute;
  z-index: 1;
  left: var(--px); top: var(--py);
  width: var(--pt); height: var(--pt);
  border-radius: 50%;
  background: var(--pf, var(--accent-fond, var(--accent)));
}
:is(.carte, .etape, .valeur, .tuile, .domaine__visuel, .profil, .telephone, .carte-contact, .flottant--expertise, .flottant--clients)[class*="ico-"]::after {
  content: '';
  position: absolute;
  z-index: 2;
  left: var(--px); top: var(--py);
  width: var(--pt); height: var(--pt);
  background: var(--pi, var(--accent-texte));
  -webkit-mask: var(--ico) center / 46% no-repeat;
          mask: var(--ico) center / 46% no-repeat;
  pointer-events: none;
}
/* anneau pointillé qui tourne doucement */
:is(.carte, .etape, .valeur, .tuile, .domaine__visuel, .telephone, .carte-contact)[class*="ico-"]::before {
  outline: 1.5px dashed var(--pf-anneau, var(--accent));
  outline-offset: 5px;
  animation: tourner 24s linear infinite;
}
:is(.carte, .etape):hover::before { animation-duration: 4s; }

/* flèche ronde : un paragraphe qui contient un lien */
.fleche-ronde { width: 34px; height: 34px; }
.fleche-ronde a {
  display: grid; place-items: center;
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--accent-fond, var(--accent));
  font-size: 0;
  color: transparent;
  transition: transform .25s;
}
.fleche-ronde a::before {
  content: '';
  width: 15px; height: 15px;
  background: var(--accent-texte);
  -webkit-mask: var(--ico-arrow) center / contain no-repeat;
          mask: var(--ico-arrow) center / contain no-repeat;
}
.fleche-ronde a:hover { transform: rotate(45deg); }

/* grands cercles de décor sur les sections bleues */
.decor { position: relative; overflow: hidden; }
.decor::before, .decor::after { content: ''; position: absolute; border-radius: 50%; pointer-events: none; }
.decor::before { width: 760px; height: 760px; right: -300px; top: -320px; border: 1px solid var(--trait-sur-bleu); }
.decor::after { width: 560px; height: 560px; left: -260px; bottom: -300px; border: 1px dashed var(--trait-sur-bleu); animation: tourner 90s linear infinite; }

/* quadrillage « plan technique » sur les sections bleues */
.quadrille {
  background:
    linear-gradient(color-mix(in srgb, var(--visionary-white) 6%, transparent) 1px, transparent 1px) -1px -1px / 48px 48px,
    linear-gradient(90deg, color-mix(in srgb, var(--visionary-white) 6%, transparent) 1px, transparent 1px) -1px -1px / 48px 48px,
    var(--calques-bleus);
}

/* ---------- en-tête ---------- */
.entete {
  --titre: var(--visionary-blue);
  --accent: var(--visionary-blue);
  --accent-texte: var(--visionary-white);
  --accent-fond: var(--degrade-bleu);
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  background: var(--visionary-white);
  transition: box-shadow .3s;
}
.admin-bar .entete { top: 32px; }
.entete.est-colle { box-shadow: 0 1px 0 var(--trait-sur-blanc), 0 10px 30px color-mix(in srgb, var(--visionary-black) 8%, transparent); }
.entete::after { /* barre de progression de lecture */
  content: '';
  position: absolute; left: 0; bottom: 0;
  width: 100%; height: 3px;
  background: var(--visionary-blue);
  transform-origin: left;
  transform: scaleX(var(--p, 0));
}
.entete__barre { display: flex; align-items: center; justify-content: space-between; height: 88px; gap: 24px; }
.marque.wp-block-site-logo img { height: 52px; width: auto; }
.marque.wp-block-site-logo { line-height: 0; }
.wp-block-navigation.nav { font-family: var(--police); }
.wp-block-navigation.nav .wp-block-navigation__container { gap: 34px; }
.wp-block-navigation.nav .wp-block-navigation-item__content { position: relative; padding: 6px 0; color: var(--visionary-blue); font-size: 15px; font-weight: 600; }
.wp-block-navigation.nav .wp-block-navigation-item__content::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px; background: var(--visionary-blue); transition: right .25s; }
.wp-block-navigation.nav .wp-block-navigation-item__content:hover::after,
.wp-block-navigation.nav .actif > .wp-block-navigation-item__content::after { right: 0; }
.wp-block-navigation.nav .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--trait-sur-blanc); border-radius: 4px; color: var(--visionary-blue); }
/* panneau mobile : le CSS du bloc est imprimé APRÈS cette feuille, d'où !important (seul endroit justifié) */
.wp-block-navigation.nav .wp-block-navigation__responsive-container.is-menu-open {
  background-color: var(--visionary-white) !important;
  color: var(--visionary-blue) !important;
  padding: 90px 24px 24px;
}
.wp-block-navigation.nav .is-menu-open .wp-block-navigation__container { gap: 0; align-items: stretch; width: 100%; }
.wp-block-navigation.nav .is-menu-open .wp-block-navigation-item__content { display: block; padding: 16px 0; border-bottom: 1px solid var(--trait-sur-blanc); font-size: 20px; }
.entete__actions { display: flex; align-items: center; gap: 18px; }

/* ---------- héros ---------- */
.heros, .heros-page { position: relative; overflow: hidden; }
.heros::before, .heros-page::before { /* réseau de circuits parcouru d'impulsions */
  content: '';
  position: absolute; inset: 0;
  background: var(--svg-reseau) center / cover no-repeat;
  pointer-events: none;
}
.heros { padding: 150px 0 0; }
.heros__grille { display: grid; grid-template-columns: 1.12fr .88fr; align-items: center; gap: 40px; }
.heros__texte { padding-bottom: 90px; }
.heros__texte > * { animation: monter .9s cubic-bezier(.2, .7, .2, 1) both; }
.heros__texte > :nth-child(2) { animation-delay: .12s; }
.heros__texte > :nth-child(4) { animation-delay: .24s; }
.heros__texte > :nth-child(5) { animation-delay: .36s; }
.heros h1 { margin-top: 22px; font-size: clamp(38px, 4vw, 58px); font-weight: 600; line-height: 1.12; }
.mots-rotatifs { display: none; }
.heros__chapo { margin-top: 22px; max-width: 470px; font-size: 18px; }
.heros__boutons { margin-top: 34px; }

/* mot du titre qui s'écrit et s'efface (le span est posé par le script) */
.mot-rotatif { position: relative; white-space: nowrap; }
.mot-rotatif::after { content: ''; display: inline-block; width: 3px; height: .9em; margin-left: 6px; vertical-align: -.08em; background: var(--visionary-white); animation: caret 1s steps(1) infinite; }
.mot-rotatif::before { /* soulignement aux trois couleurs du logo */
  content: '';
  position: absolute; left: 0; right: 9px; bottom: -.04em;
  height: 5px; border-radius: 3px;
  background: linear-gradient(90deg, var(--visionary-orange) 0 33.33%, var(--visionary-red) 33.33% 66.66%, var(--visionary-green) 66.66%);
}

.heros__visuel {
  position: relative;
  height: 600px;
  align-self: end;
  background: /* les trois points */
    radial-gradient(circle 6px at 150px 150px, var(--visionary-orange) 5.5px, transparent 6px),
    radial-gradient(circle 6px at 70px 470px, var(--visionary-red) 5.5px, transparent 6px),
    radial-gradient(circle 6px at calc(100% - 96px) calc(100% - 26px), var(--visionary-white) 5.5px, transparent 6px);
}
.heros__visuel::before { /* anneau pointillé qui tourne */
  content: '';
  position: absolute;
  width: 560px; height: 560px; left: 50%; top: 40px; margin-left: -280px;
  border: 1px dashed var(--trait-sur-bleu);
  border-radius: 50%;
  animation: tourner 60s linear infinite;
}
.heros__visuel::after { /* disque blanc et son anneau fin */
  content: '';
  position: absolute;
  width: 440px; height: 440px; left: 50%; top: 100px; margin-left: -220px;
  border-radius: 50%;
  background: var(--visionary-white);
  outline: 1px solid var(--trait-sur-bleu);
  outline-offset: 30px;
  animation: respirer 7s ease-in-out infinite;
}
.heros__capsule.wp-block-image {
  position: absolute;
  z-index: 2;
  left: 50%; bottom: 0;
  width: 300px; height: 540px;
  margin-left: -150px;
  animation: monter 1.1s cubic-bezier(.2, .7, .2, 1) .2s both;
}
.heros__capsule.wp-block-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; border-radius: 999px 999px 0 0; }
.heros__capsule.wp-block-image::before { /* les carrés du logo */
  content: '';
  position: absolute; left: -150px; top: 90px;
  width: 92px; height: 82px;
  background: var(--svg-carres) center / contain no-repeat;
  animation: flotter 7s ease-in-out infinite;
}
.heros__capsule.wp-block-image::after { /* croquis de flèche bouclée */
  content: '';
  position: absolute; left: -140px; top: -20px;
  width: 120px; height: 69px;
  background: var(--svg-boucle) center / contain no-repeat;
}

.flottant {
  position: absolute;
  z-index: 4;
  padding: 16px 20px;
  border-radius: var(--rayon);
  background-color: var(--visionary-white);
  color: var(--texte-sombre);
  box-shadow: 0 24px 50px var(--ombre);
  animation: flotter 6s ease-in-out infinite;
}
.flottant__petit { color: var(--texte-doux); font-size: 13px; line-height: 1.3; }
.flottant__fort { color: var(--visionary-blue); font-size: 24px; font-weight: 700; line-height: 1.2; }
.flottant--expertise, .flottant--clients { --pt: 46px; --px: 20px; --py: calc(50% - 23px); padding-left: 80px; }
.flottant--expertise { --pf: var(--visionary-orange); --pi: var(--visionary-white); right: -30px; top: 300px; animation-delay: -3s; }
.flottant--clients {
  --pf: var(--visionary-green); --pi: var(--visionary-white);
  right: -20px; bottom: 70px; padding-right: 92px; animation-delay: -2s;
  background: var(--svg-vague) right 20px center / 54px auto no-repeat, var(--visionary-white);
}

/* fenêtre de code : les trois points du logo deviennent les boutons de fenêtre */
.flottant--code { left: -60px; bottom: 120px; width: 292px; padding: 0; overflow: hidden; animation-delay: -4s; }
.fenetre { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-bottom: 1px solid var(--trait-sur-blanc); color: var(--texte-doux); font-size: 12px; font-weight: 600; }
.fenetre::before {
  content: '';
  width: 39px; height: 9px;
  margin-right: 6px;
  background:
    radial-gradient(circle at 4.5px 4.5px, var(--visionary-orange) 4.5px, transparent 5px),
    radial-gradient(circle at 19.5px 4.5px, var(--visionary-red) 4.5px, transparent 5px),
    radial-gradient(circle at 34.5px 4.5px, var(--visionary-green) 4.5px, transparent 5px);
}
.flottant--code .wp-block-code { margin: 0; padding: 12px 14px 14px; border: 0; border-radius: 0; background: none; font: 500 12.5px/1.65 ui-monospace, "Cascadia Code", Consolas, monospace; color: var(--texte-sombre); white-space: pre; overflow: hidden; }
.flottant--code .wp-block-code code { display: inline-block; clip-path: inset(0 100% 0 0); animation: taper 2.4s steps(34) .9s forwards; }
.flottant--code .wp-block-code code::after { content: ''; display: inline-block; width: 7px; height: 13px; margin-left: 3px; vertical-align: -2px; background: var(--visionary-blue); animation: caret 1s steps(1) infinite; }
.flottant--code strong { color: var(--visionary-blue); font-weight: 700; }
.flottant--code em { color: var(--visionary-blue); font-style: normal; }

/* ---------- bandeau défilant des savoir-faire ---------- */
.bandeau { overflow: hidden; padding: 26px 0; border-top: 1px solid var(--trait-sur-bleu); }
.bandeau__piste { display: flex; width: max-content; animation: bandeau 38s linear infinite; }
.bandeau:hover .bandeau__piste { animation-play-state: paused; }
.bandeau__liste.wp-block-list { display: flex; margin: 0; padding: 0; list-style: none; }
.bandeau__liste li {
  position: relative;
  display: flex; align-items: center;
  padding-right: 82px;
  color: var(--visionary-white);
  font-size: clamp(20px, 2.2vw, 30px); font-weight: 600; letter-spacing: -.01em; white-space: nowrap;
  background: linear-gradient(var(--visionary-orange), var(--visionary-orange)) right 34px center / 14px 14px no-repeat; /* un carré du logo entre chaque mot */
}
.bandeau__liste li:nth-child(3n+2) { background-image: linear-gradient(var(--visionary-red), var(--visionary-red)); }
.bandeau__liste li:nth-child(3n) { background-image: linear-gradient(var(--visionary-green), var(--visionary-green)); }
.bandeau__liste li::before { /* cercle de l'icône */
  content: '';
  flex: none;
  width: 46px; height: 46px;
  margin-right: 14px;
  border: 1px solid var(--trait-sur-bleu);
  border-radius: 50%;
  background: color-mix(in srgb, var(--visionary-white) 8%, transparent);
}
.bandeau__liste li::after { /* icône */
  content: '';
  position: absolute; left: 12px; top: 50%;
  width: 22px; height: 22px; margin-top: -11px;
  background: var(--visionary-white);
  -webkit-mask: var(--ico) center / contain no-repeat;
          mask: var(--ico) center / contain no-repeat;
}

/* ---------- sections en deux colonnes ---------- */
.bande { padding: 130px 0; }
.bande--serree { padding-top: 40px; }
.duo { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.duo--inverse > .duo__visuel { order: 2; }
.duo .wp-block-buttons { margin-top: 34px; }

.composition { position: relative; height: 520px; }
.capsule.wp-block-image { position: absolute; overflow: hidden; border-radius: 999px; }
.capsule.wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.compo-a > .capsule--grande { right: 20px; top: 0; width: 330px; height: 520px; }
.compo-a > .capsule--ronde { left: 0; top: 140px; width: 300px; height: 370px; border: 8px solid var(--fond); }
.compo-a::before { /* croquis : escalier et flèche */
  content: ''; position: absolute; z-index: 3; left: 20px; top: 10px; width: 120px; height: 110px;
  background: var(--svg-escalier) center / contain no-repeat;
}
.compo-b > .capsule--haute { left: 0; top: 0; width: 290px; height: 420px; }
.compo-b > .capsule--basse { right: 0; top: 100px; width: 290px; height: 420px; }
.compo-b::before {
  content: ''; position: absolute; z-index: 3; right: 120px; top: 0; width: 110px; height: 101px;
  background: var(--svg-escalier) center / contain no-repeat;
  transform: scaleX(-1);
}
.compo-b::after { /* badge au texte tournant */
  content: '';
  position: absolute; z-index: 4;
  left: 50%; bottom: 10px;
  width: 150px; height: 150px;
  margin-left: -105px;
  border: 6px solid var(--fond);
  border-radius: 50%;
  background: var(--svg-badge) center / 100% no-repeat, var(--degrade-bleu);
}

.jauges {
  margin-top: 34px;
  padding: 26px 28px;
  border: 1px solid var(--trait-sur-blanc);
  border-radius: var(--rayon);
  background: var(--visionary-white);
  color: var(--texte-sombre);
  max-width: 470px;
  box-shadow: 0 18px 40px color-mix(in srgb, var(--visionary-black) 7%, transparent);
}
.jauge { display: grid; grid-template-columns: 1fr auto; column-gap: 12px; font-size: 15px; font-weight: 600; }
.jauge + .jauge { margin-top: 22px; }
.jauge__valeur { color: var(--visionary-blue); }
.jauge::before, .jauge::after { content: ''; grid-row: 2; grid-column: 1 / -1; height: 8px; margin-top: 10px; border-radius: 8px; }
.jauge::before { background: var(--neutre-clair); }
.jauge::after { width: 100%; background: var(--degrade-bleu); transition: width 1.6s cubic-bezier(.2, .7, .2, 1) .3s; }
.js .revele:not(.vu) .jauge::after { width: 0; }

.chiffres { display: flex; margin-top: 36px; max-width: 520px; }
.chiffre { flex: 1; padding: 0 22px; border-left: 1px solid var(--trait); }
.chiffre:first-child { padding-left: 0; border-left: 0; }
.chiffre::before { /* un trait de couleur du logo au-dessus de chaque chiffre */
  content: "";
  display: block;
  width: 26px; height: 3px;
  margin-bottom: 14px;
  border-radius: 3px;
  background: var(--visionary-orange);
}
.chiffre:nth-child(2)::before { background: var(--visionary-red); }
.chiffre:nth-child(3)::before { background: var(--visionary-green); }
.chiffre__nombre { color: var(--titre); font-size: 34px; font-weight: 600; line-height: 1.1; }
.chiffre__libelle { margin-top: 8px; font-size: 14px; line-height: 1.4; }

/* ---------- expertises ---------- */
.expertises { padding: 120px 0 140px; }
.tete-centree { text-align: center; }
.tete-centree .chapo { margin-left: auto; margin-right: auto; }
.grille-expertises {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-areas: "a b c" "d b e";
  gap: 34px 28px;
  margin-top: 60px;
}
.carte {
  --pt: 58px; --px: calc(50% - 29px); --py: 44px;
  padding: 132px 30px 52px;
  border-radius: var(--rayon);
  background: radial-gradient(280px circle at var(--mx, 50%) var(--my, 50%), color-mix(in srgb, var(--visionary-blue) var(--halo, 0%), transparent), transparent 70%), var(--visionary-white);
  color: var(--texte);
  text-align: center;
  font-size: 15.5px;
  box-shadow: 0 22px 44px color-mix(in srgb, var(--visionary-black) 22%, transparent);
}
.carte:hover { --halo: 9%; }
.carte h3 { font-size: 22px; }
.carte h3 + p { margin-top: 12px; }
.carte > .fleche-ronde { position: absolute; left: 50%; bottom: -17px; margin-left: -17px; z-index: 3; }
.carte > .fleche-ronde a { box-shadow: 0 0 0 5px var(--visionary-white); }
.carte--a { grid-area: a; } .carte--b { grid-area: b; } .carte--c { grid-area: c; } .carte--d { grid-area: d; } .carte--e { grid-area: e; }
.carte--vedette { /* la carte inversée : bleue, filet blanc */
  --titre: var(--visionary-white);
  --texte: var(--texte-sur-bleu);
  --accent: var(--visionary-white);
  --accent-texte: var(--visionary-blue);
  --accent-fond: var(--visionary-white);
  background: radial-gradient(280px circle at var(--mx, 50%) var(--my, 50%), color-mix(in srgb, var(--visionary-white) var(--halo-blanc, 0%), transparent), transparent 70%), var(--degrade-bleu);
  border: 1px solid color-mix(in srgb, var(--visionary-white) 45%, transparent);
  display: flex; flex-direction: column; padding-bottom: 22px;
}
.carte--vedette:hover { --halo-blanc: 16%; }
.carte--vedette > .fleche-ronde { position: relative; left: auto; bottom: auto; margin: 26px auto -17px; }
.carte--vedette > .fleche-ronde a { box-shadow: none; }
.carte--vedette > figure.wp-block-image { flex: 1; min-height: 260px; border-radius: 4px; overflow: hidden; }
.carte--vedette > figure.wp-block-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); }

/* ---------- approche ---------- */
.approche { padding: 130px 0; }
.etapes { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 26px; margin-top: 70px; }
.etapes::before { /* le fil qui relie les étapes : orange, rouge, vert, sans mélange */
  content: "";
  position: absolute;
  left: 10%; right: 10%; top: 35px;
  height: 2px;
  background: linear-gradient(90deg, var(--visionary-orange) 0 33.33%, var(--visionary-red) 33.33% 66.66%, var(--visionary-green) 66.66%);
  -webkit-mask: repeating-linear-gradient(90deg, var(--visionary-black) 0 7px, transparent 7px 14px);
          mask: repeating-linear-gradient(90deg, var(--visionary-black) 0 7px, transparent 7px 14px);
  animation: defiler 1.2s linear infinite;
}
.etape { --pt: 72px; --px: calc(50% - 36px); --py: 0px; padding-top: 72px; text-align: center; }
.etape[class*="ico-"]::before { box-shadow: 0 0 0 14px var(--fond); }
.etape--active { --pf: var(--visionary-white); --pi: var(--visionary-blue); }
.etape--active[class*="ico-"]::before { box-shadow: 0 0 0 2px var(--visionary-blue), 0 0 0 14px var(--fond); }
.etape > .etape__num { margin-top: 30px; color: var(--visionary-blue); font-size: 14px; font-weight: 700; letter-spacing: .1em; }
.etape h3 { margin-top: 8px; font-size: 24px; }
.etape h3 + p { margin-top: 12px; font-size: 15.5px; }

/* ---------- réalisations ---------- */
.realisations { padding: 120px 0 140px; scroll-margin-top: 70px; }
.tete-ligne { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; flex-wrap: wrap; }
.filtres { display: flex; flex-wrap: wrap; gap: 8px; }
.filtre {
  padding: 10px 18px;
  border: 1px solid var(--trait);
  border-radius: 4px;
  color: var(--titre);
  font-size: 14px; font-weight: 600; line-height: 1.4;
  cursor: pointer;
  user-select: none;
  transition: background .2s, color .2s, border-color .2s;
}
.filtre:hover { border-color: var(--accent); }
.filtre.actif { background: var(--accent); border-color: var(--accent); color: var(--accent-texte); }
.grille-projets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 56px 28px; margin-top: 56px; }
.projet { position: relative; }
.projet.est-masque { display: none; }
.projet > figure.wp-block-image { height: 300px; border-radius: var(--rayon); overflow: hidden; }
.projet > figure.wp-block-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.projet:hover > figure.wp-block-image img { transform: scale(1.06); }
.projet__fiche {
  position: relative;
  margin: -46px 18px 0;
  padding: 20px 64px 20px 22px;
  border-radius: var(--rayon);
  background: var(--visionary-white);
  color: var(--texte);
  font-size: 14.5px;
  line-height: 1.5;
  box-shadow: 0 18px 40px var(--ombre);
  transition: transform .35s;
}
.projet:hover .projet__fiche { transform: translateY(-6px); }
.projet__cat { color: var(--texte-doux); font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.projet__fiche h3 { margin-top: 6px; font-size: 19px; }
.projet__fiche > .fleche-ronde { position: absolute; right: 18px; top: 50%; margin-top: -17px; }
.projet--large { grid-column: span 2; }
.projet--large > figure.wp-block-image img { object-position: 50% 35%; }

/* ---------- clients ---------- */
.clients { padding: 130px 0; }
.clients .duo { grid-template-columns: .9fr 1.1fr; align-items: start; }
.profils { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.profil {
  --pt: 38px; --px: 16px; --py: calc(50% - 19px);
  display: flex; align-items: center;
  min-height: 68px;
  padding: 14px 16px 14px 68px;
  border: 1px solid var(--trait-sur-blanc);
  border-radius: var(--rayon);
  background: var(--visionary-white);
  color: var(--visionary-blue);
  font-weight: 600;
  font-size: 16px;
  transition: transform .25s, box-shadow .25s;
}
.profil:hover { transform: translateY(-3px); box-shadow: 0 12px 24px color-mix(in srgb, var(--visionary-black) 10%, transparent); }
.profil--plein { grid-column: span 2; padding: 0; border-color: var(--visionary-blue); background: var(--degrade-bleu); }
.profil--plein a { position: relative; display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 66px; padding: 14px 16px; color: var(--visionary-white); }
.profil--plein a::after { content: ''; width: 38px; height: 38px; border-radius: 50%; background: var(--visionary-white); }
.profil--plein a::before { content: ''; position: absolute; right: 27px; top: 50%; width: 16px; height: 16px; margin-top: -8px; z-index: 1; background: var(--visionary-blue); -webkit-mask: var(--ico-arrow) center / contain no-repeat; mask: var(--ico-arrow) center / contain no-repeat; }

/* ---------- contact ---------- */
.contact { padding: 120px 0; border-bottom: 1px solid var(--trait-sur-bleu); scroll-margin-top: 70px; }
.telephones { margin-top: 36px; display: grid; gap: 16px; }
.telephone { --pt: 52px; --px: 0px; --py: calc(50% - 26px); padding-left: 68px; min-height: 60px; display: flex; align-items: center; }
.telephone a { display: block; color: var(--texte-sur-bleu); font-size: 14px; line-height: 1.4; }
.telephone strong { display: block; color: var(--visionary-white); font-size: 24px; font-weight: 600; letter-spacing: .02em; }
.formulaire { padding: 42px 40px; border-radius: var(--rayon); background: var(--visionary-white); color: var(--texte); box-shadow: 0 30px 60px var(--ombre); }
.formulaire h3 { font-size: 26px; }
.formulaire h3 + p { margin-top: 8px; font-size: 15px; color: var(--texte-doux); }

/* Contact Form 7 aux couleurs du thème */
.formulaire .wpcf7 { margin-top: 26px; }
.formulaire .wpcf7 form > p { margin: 0; }
.champs { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.champs .large { grid-column: span 2; }
.champs .wpcf7-form-control-wrap { display: block; }
.champs input, .champs select, .champs textarea {
  display: block;
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--trait-sur-blanc);
  border-radius: 4px;
  background: var(--neutre-clair);
  color: var(--texte-sombre);
  font: 400 15px var(--police);
}
.champs ::placeholder { color: var(--texte-doux); }
.champs textarea { height: 120px; resize: vertical; }
.champs input:focus, .champs select:focus, .champs textarea:focus { outline: 2px solid var(--visionary-blue); outline-offset: -1px; background: var(--visionary-white); }
.formulaire .bouton-envoi {
  margin-top: 18px;
  padding: 15px 24px;
  border: 0;
  border-radius: 4px;
  background: var(--degrade-bleu);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--visionary-black) 18%, transparent);
  color: var(--visionary-white);
  font: 700 14px/normal var(--police);
  letter-spacing: .03em;
  text-transform: uppercase;
  cursor: pointer;
}
.formulaire .wpcf7-spinner, .wpcf7 .hidden-fields-container { display: none; }
.wpcf7 .screen-reader-response { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); border: 0; }
.wpcf7 form.init .wpcf7-response-output, .wpcf7 form.resetting .wpcf7-response-output, .wpcf7 form.submitting .wpcf7-response-output { display: none; }
.formulaire .wpcf7-not-valid-tip { margin-top: 6px; color: var(--visionary-red); font-size: 13px; }
.formulaire .wpcf7 form .wpcf7-response-output { margin: 18px 0 0; padding: 12px 16px; border: 1px solid var(--trait-sur-blanc); border-left: 3px solid var(--visionary-blue); border-radius: 4px; font-size: 14.5px; }
.formulaire .wpcf7 form.sent .wpcf7-response-output { border-left-color: var(--visionary-green); }
.formulaire .wpcf7 form.invalid .wpcf7-response-output, .formulaire .wpcf7 form.failed .wpcf7-response-output { border-left-color: var(--visionary-red); }

/* ---------- pied de page ---------- */
.pied { padding: 90px 0 0; font-size: 15.5px; }
.pied__grille { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.1fr; gap: 48px; }
.pied h4 { font-size: 18px; margin-bottom: 20px; }
.pied .wp-block-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.pied a { transition: color .2s; }
.pied a:hover { color: var(--visionary-white); text-decoration: underline; text-underline-offset: 4px; }
.marque-pied.wp-block-image img { height: 64px; width: auto; }
.pied__intro p { margin-top: 20px; max-width: 320px; }
.pied__bas { margin-top: 70px; padding: 26px 0; border-top: 1px solid var(--trait); display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; font-size: 14px; }

/* ---------- pages intérieures ---------- */
.heros-page { padding: 170px 0 110px; }
.heros-page__grille { display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: 40px; }
.heros-page__texte > * { animation: monter .9s cubic-bezier(.2, .7, .2, 1) both; }
.heros-page__texte > :nth-child(2) { animation-delay: .1s; }
.heros-page__texte > :nth-child(3) { animation-delay: .2s; }
.heros-page__texte > :nth-child(4) { animation-delay: .3s; }
.heros-page h1 { margin-top: 20px; font-size: clamp(38px, 4.4vw, 60px); line-height: 1.1; }
.heros-page .chapo { max-width: 600px; font-size: 18px; }
.ariane { margin-bottom: 22px; font-size: 14px; color: var(--texte-sur-bleu); }
.heros-page__texte > .ariane { margin-top: 14px; } /* même marge que la liste <ol> de la maquette validée */
.ariane a:hover { color: var(--visionary-white); text-decoration: underline; text-underline-offset: 3px; }
.heros-page__decor {
  position: relative; height: 340px;
  background: /* carrés du logo agrandis et trois points */
    var(--svg-carres) center / 147px 131px no-repeat,
    radial-gradient(circle 6px at 18% 22%, var(--visionary-orange) 5.5px, transparent 6px),
    radial-gradient(circle 6px at 84% 82%, var(--visionary-red) 5.5px, transparent 6px),
    radial-gradient(circle 6px at 76% 6%, var(--visionary-white) 5.5px, transparent 6px);
}
.heros-page__decor::before, .heros-page__decor::after { content: ''; position: absolute; left: 50%; border-radius: 50%; border: 1px solid var(--trait-sur-bleu); }
.heros-page__decor::before { width: 340px; height: 340px; top: 0; margin-left: -170px; border-style: dashed; animation: tourner 60s linear infinite; }
.heros-page__decor::after { width: 250px; height: 250px; top: 45px; margin-left: -125px; }
.heros-page__icone {
  position: absolute; z-index: 2; left: 6%; bottom: 8%;
  display: flex; align-items: center; gap: 12px;
  padding: 12px 16px;
  border-radius: var(--rayon);
  background: var(--visionary-white);
  color: var(--visionary-blue);
  font-weight: 700;
  box-shadow: 0 20px 40px var(--ombre);
  animation: flotter 6s ease-in-out infinite;
}
.heros-page__icone::before { content: ''; width: 22px; height: 22px; background: currentColor; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }

/* sous-navigation par ancres */
.sous-nav { position: relative; z-index: 2; margin-top: -32px; }
.sous-nav__liste.wp-block-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0; padding: 14px; list-style: none; border-radius: 10px; background: var(--visionary-white); box-shadow: 0 20px 50px color-mix(in srgb, var(--visionary-black) 14%, transparent); }
.sous-nav__liste a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--trait-sur-blanc); border-radius: 999px; color: var(--visionary-blue); font-size: 14.5px; font-weight: 600; transition: background .2s, color .2s, border-color .2s; }
.sous-nav__liste a:hover { background: var(--degrade-bleu); border-color: var(--visionary-blue); color: var(--visionary-white); }
.sous-nav__liste a::before { content: ''; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }

/* un domaine d'expertise détaillé */
.domaine { padding: 120px 0; scroll-margin-top: 70px; }
.domaine .duo { align-items: start; }
.domaine__visuel { --pt: 64px; --px: 24px; --py: 24px; }
.domaine__visuel[class*="ico-"]::before { box-shadow: 0 16px 30px var(--ombre); }
.domaine__visuel > figure.wp-block-image { height: 520px; border-radius: 240px 240px var(--rayon) var(--rayon); overflow: hidden; }
.domaine__visuel > figure.wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.domaine__num {
  position: absolute; z-index: 2; right: -14px; bottom: -40px;
  font-size: 150px; font-weight: 700; line-height: 1;
  color: transparent;
  -webkit-text-stroke: 2px var(--titre);
  opacity: .9;
  pointer-events: none;
}
.liste-services.wp-block-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 22px; margin: 30px 0 0; padding: 0; list-style: none; }
.liste-services li { position: relative; padding-left: 30px; font-size: 15.5px; line-height: 1.45; }
.liste-services li::before { /* puce ronde */
  content: '';
  position: absolute; left: 0; top: 1px;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--accent-fond, var(--accent));
}
.liste-services li::after { /* coche dessinée par-dessus la puce */
  content: '';
  position: absolute; left: 6px; top: 6px;
  width: 8px; height: 4px;
  border-left: 2px solid var(--accent-texte);
  border-bottom: 2px solid var(--accent-texte);
  transform: rotate(-45deg);
}
.encart {
  margin-top: 30px;
  padding: 18px 20px;
  border-left: 3px solid var(--visionary-orange);
  border-radius: 0 var(--rayon) var(--rayon) 0;
  background: color-mix(in srgb, var(--titre) 7%, transparent);
  font-size: 15.5px;
}
.encart strong { color: var(--titre); }
.domaine .wp-block-buttons { margin-top: 30px; }

/* valeurs */
.valeurs { padding: 120px 0 130px; }
.grille-valeurs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 56px; }
.valeur {
  --pt: 50px; --px: 26px; --py: 30px;
  padding: 104px 26px 32px;
  border-radius: var(--rayon);
  background: linear-gradient(var(--carre, var(--visionary-orange)), var(--carre, var(--visionary-orange))) right 18px top 18px / 10px 10px no-repeat, var(--visionary-white); /* petit carré du logo en coin */
  color: var(--texte-sombre);
  box-shadow: 0 22px 44px color-mix(in srgb, var(--visionary-black) 22%, transparent);
}
.valeur:nth-child(3n+2) { --carre: var(--visionary-red); }
.valeur:nth-child(3n) { --carre: var(--visionary-green); }
.valeur h3 { font-size: 20px; }
.valeur h3 + p { margin-top: 8px; font-size: 15px; line-height: 1.55; }

/* tuiles de solutions */
.solutions-types { padding: 120px 0; }
.grille-tuiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 56px; }
.tuile {
  --pt: 50px; --px: 28px; --py: 30px;
  padding: 104px 28px 30px;
  border: 1px solid var(--trait-sur-blanc);
  border-radius: var(--rayon);
  background: linear-gradient(var(--visionary-blue), var(--visionary-blue)) left top / 0 3px no-repeat, var(--visionary-white); /* filet bleu qui se déploie au survol */
  transition: border-color .25s, box-shadow .25s, background-size .35s cubic-bezier(.2, .7, .2, 1);
}
.tuile:hover { border-color: var(--visionary-blue); background-size: 100% 3px, auto; box-shadow: 0 24px 50px color-mix(in srgb, var(--visionary-black) 12%, transparent); }
.tuile h3 { font-size: 20px; }
.tuile h3 + p { margin-top: 8px; font-size: 15px; line-height: 1.55; }
.tuile--large {
  --titre: var(--visionary-white); --accent: var(--visionary-white); --accent-texte: var(--visionary-blue); --accent-fond: var(--visionary-white);
  grid-column: span 2;
  padding: 30px 28px 30px 100px;
  border-color: var(--visionary-blue);
  background: var(--degrade-bleu);
  color: var(--texte-sur-bleu);
}
.tuile--large h3 { margin-top: 4px; font-size: 24px; }

/* coordonnées */
.coordonnees { padding: 110px 0 120px; }
.coordonnees .duo { align-items: start; }
.cartes-contact { display: grid; gap: 14px; margin-top: 30px; }
.carte-contact {
  --pt: 52px; --px: 22px; --py: calc(50% - 26px);
  display: flex; align-items: center;
  min-height: 97px;
  padding: 20px 22px 20px 92px;
  border: 1px solid var(--trait-sur-blanc);
  border-radius: var(--rayon);
  background: var(--visionary-white);
  color: var(--texte-doux);
  font-size: 13.5px;
  transition: border-color .25s, transform .25s;
}
.carte-contact:has(a):hover { border-color: var(--visionary-blue); transform: translateX(4px); }
.carte-contact a { display: block; }
.carte-contact a::after { content: ''; position: absolute; inset: 0; } /* toute la carte est cliquable */
.carte-contact strong { display: block; color: var(--visionary-blue); font-size: 20px; font-weight: 600; }
.carte-contact--whatsapp { --pf: var(--visionary-green); --pf-anneau: var(--visionary-green); }
.coordonnees .formulaire { box-shadow: 0 30px 70px color-mix(in srgb, var(--visionary-black) 14%, transparent); border: 1px solid var(--trait-sur-blanc); }

/* questions fréquentes (bloc natif Détails) */
.faq { padding: 120px 0; }
.faq .duo { align-items: start; grid-template-columns: .8fr 1.2fr; }
.questions { display: grid; gap: 12px; }
.questions .wp-block-details {
  margin: 0;
  border: 1px solid var(--trait-sur-bleu);
  border-radius: var(--rayon);
  background: color-mix(in srgb, var(--visionary-white) 6%, transparent);
  transition: background .25s;
}
.questions .wp-block-details[open] { background: var(--visionary-white); border-color: var(--visionary-white); }
.questions .wp-block-details summary {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: 20px 22px;
  color: var(--visionary-white);
  font-weight: 600; font-size: 17px;
  cursor: pointer;
  list-style: none;
}
.questions .wp-block-details summary::-webkit-details-marker { display: none; }
.questions .wp-block-details summary::after {
  content: '+';
  display: grid; place-items: center; flex: none;
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--visionary-white);
  color: var(--visionary-blue);
  font-size: 20px; font-weight: 500;
  transition: transform .25s;
}
.questions .wp-block-details[open] summary { color: var(--visionary-blue); }
.questions .wp-block-details[open] summary::after { transform: rotate(45deg); background: var(--degrade-bleu); color: var(--visionary-white); }
.questions .wp-block-details > p { padding: 0 22px 22px; color: var(--texte-sombre); font-size: 15.5px; }

/* appel à l'action de fin de page */
.appel { padding: 100px 0; text-align: center; }
.appel .titre-section { max-width: 760px; margin-left: auto; margin-right: auto; }
.appel .chapo { margin-left: auto; margin-right: auto; }
.appel__boutons.wp-block-buttons { justify-content: center; margin-top: 34px; }

/* ---------- animations ---------- */
.js .revele { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--delai, 0s); }
.js .revele.vu { opacity: 1; transform: none; }

/* cartes qui s'inclinent vers le curseur */
.inclinable { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--ty, 0px)); transition: transform .25s ease-out; }
.js .inclinable.revele { transform: translateY(28px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--delai, 0s); }
.js .inclinable.revele.vu { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--ty, 0px)); transition: opacity .8s ease var(--delai, 0s), transform .6s cubic-bezier(.2, .7, .2, 1) var(--delai, 0s); }
.js .inclinable.revele.vu:hover { transition: transform .25s ease-out; }
.carte.inclinable:hover { --ty: -6px; }

@keyframes flotter { 50% { transform: translateY(-10px); } }
@keyframes tourner { to { transform: rotate(360deg); } }
@keyframes monter { from { opacity: 0; transform: translateY(30px); } }
@keyframes respirer { 50% { transform: scale(1.04); } }
@keyframes defiler { to { -webkit-mask-position: 14px 0; mask-position: 14px 0; } }
@keyframes caret { 50% { opacity: 0; } }
@keyframes taper { to { clip-path: inset(0 0 0 0); } }
@keyframes bandeau { to { transform: translateX(-50%); } }

/* ---------- contact rapide : WhatsApp + assistant (injectés par functions.php) ---------- */
.contact-rapide { position: fixed; right: 22px; bottom: 22px; z-index: 60; display: flex; flex-direction: column; align-items: flex-end; gap: 14px; }
.contact-rapide .ico, .assistant .ico { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-rapide__whatsapp, .contact-rapide__chat {
  position: relative;
  display: grid; place-items: center;
  width: 60px; height: 60px;
  border: 0;
  border-radius: 50%;
  color: var(--visionary-white);
  font-size: 28px;
  cursor: pointer;
  box-shadow: 0 14px 30px color-mix(in srgb, var(--visionary-black) 28%, transparent);
  transition: transform .25s;
}
.contact-rapide__whatsapp:hover, .contact-rapide__chat:hover { transform: translateY(-3px) scale(1.04); }
.contact-rapide__whatsapp { background: var(--visionary-green); }
.contact-rapide__whatsapp::before { /* onde qui pulse */
  content: '';
  position: absolute; inset: 0;
  border-radius: 50%;
  border: 2px solid var(--visionary-green);
  animation: onde 2.4s ease-out infinite;
}
.contact-rapide__bulle {
  position: absolute; right: 74px; top: 50%;
  padding: 8px 14px;
  border-radius: 6px;
  background: var(--visionary-white);
  color: var(--visionary-blue);
  font-size: 14px; font-weight: 600; white-space: nowrap;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--visionary-black) 18%, transparent);
  transform: translate(8px, -50%);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s, transform .25s;
}
.contact-rapide__whatsapp:hover .contact-rapide__bulle { opacity: 1; transform: translate(0, -50%); }
.contact-rapide__chat { background: var(--degrade-bleu); }
.contact-rapide__chat .ico-fermer { display: none; }
.contact-rapide__chat[aria-expanded="true"] .ico-ouvrir, .contact-rapide__chat[aria-expanded="true"] .pastille-notif { display: none; }
.contact-rapide__chat[aria-expanded="true"] .ico-fermer { display: block; font-size: 24px; }
.pastille-notif {
  position: absolute; top: -2px; right: -2px;
  display: grid; place-items: center;
  width: 22px; height: 22px;
  border: 2px solid var(--visionary-white);
  border-radius: 50%;
  background: var(--visionary-red);
  font-size: 11px; font-weight: 700;
}
@keyframes onde { from { transform: scale(1); opacity: .8; } to { transform: scale(1.6); opacity: 0; } }

.assistant {
  position: fixed; right: 22px; bottom: 170px; z-index: 60;
  display: flex; flex-direction: column;
  width: 370px; height: min(560px, calc(100vh - 200px));
  border-radius: 10px;
  background: var(--visionary-white);
  color: var(--texte-sombre);
  font-family: var(--police);
  box-shadow: 0 30px 70px color-mix(in srgb, var(--visionary-black) 30%, transparent);
  overflow: hidden;
  transform-origin: bottom right;
  animation: ouvrir .3s cubic-bezier(.2, .7, .2, 1);
}
.assistant[hidden] { display: none; }
@keyframes ouvrir { from { opacity: 0; transform: translateY(16px) scale(.96); } }
.assistant__tete { display: flex; align-items: center; gap: 12px; padding: 16px 18px; background: var(--calques-bleus); color: var(--visionary-white); }
.assistant__tete strong { display: block; font-size: 16px; }
.assistant__tete small { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--texte-sur-bleu); }
.en-ligne { width: 8px; height: 8px; border-radius: 50%; background: var(--visionary-green); }
.assistant__avatar { position: relative; flex: none; width: 42px; height: 42px; border-radius: 50%; background: var(--visionary-white); }
.assistant__avatar i { position: absolute; border-radius: 2px 0 2px 0; }
.assistant__avatar i:nth-child(1) { left: 15px; top: 11px; width: 7px; height: 7px; background: var(--visionary-red); }
.assistant__avatar i:nth-child(2) { left: 23px; top: 9px; width: 9px; height: 9px; background: var(--visionary-green); }
.assistant__avatar i:nth-child(3) { left: 10px; top: 19px; width: 12px; height: 12px; border-radius: 3px 0 3px 0; background: var(--visionary-orange); }
.assistant__fermer { margin-left: auto; width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 50%; background: color-mix(in srgb, var(--visionary-white) 14%, transparent); color: var(--visionary-white); font-size: 18px; cursor: pointer; }
.assistant__fil { flex: 1; overflow-y: auto; padding: 18px; display: flex; flex-direction: column; gap: 10px; background: var(--neutre-clair); }
.message { max-width: 86%; padding: 11px 14px; border-radius: 12px; font-size: 14.5px; line-height: 1.5; animation: monter .3s ease-out both; }
.message--bot { align-self: flex-start; background: var(--visionary-white); border: 1px solid var(--trait-sur-blanc); border-bottom-left-radius: 3px; }
.message--moi { align-self: flex-end; background: var(--degrade-bleu); color: var(--visionary-white); border-bottom-right-radius: 3px; }
.message a { color: var(--visionary-blue); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.message ul { margin: 6px 0 0; padding-left: 18px; }
.ecrit { display: inline-flex; gap: 5px; padding: 14px 16px; }
.ecrit i { width: 7px; height: 7px; border-radius: 50%; background: var(--visionary-orange); animation: rebond 1s ease-in-out infinite; }
.ecrit i:nth-child(2) { background: var(--visionary-red); animation-delay: .15s; }
.ecrit i:nth-child(3) { background: var(--visionary-green); animation-delay: .3s; }
@keyframes rebond { 40% { transform: translateY(-5px); } }
.assistant__choix { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 14px 0; background: var(--visionary-white); }
.assistant__choix:empty { display: none; }
.assistant__choix button { padding: 7px 12px; border: 1px solid var(--visionary-blue); border-radius: 999px; background: var(--visionary-white); color: var(--visionary-blue); font: 600 13px var(--police); cursor: pointer; transition: background .2s, color .2s; }
.assistant__choix button:hover { background: var(--visionary-blue); color: var(--visionary-white); }
.assistant__saisie { display: flex; gap: 8px; padding: 12px 14px; background: var(--visionary-white); }
.assistant__saisie input { flex: 1; min-width: 0; padding: 11px 14px; border: 1px solid var(--trait-sur-blanc); border-radius: 999px; background: var(--neutre-clair); color: var(--texte-sombre); font: 400 14.5px var(--police); }
.assistant__saisie input:focus { outline: 2px solid var(--visionary-blue); outline-offset: -1px; background: var(--visionary-white); }
.assistant__saisie button { width: 42px; height: 42px; flex: none; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--degrade-bleu); color: var(--visionary-white); font-size: 18px; cursor: pointer; }
.assistant__note { margin: 0; padding: 0 14px 12px; background: var(--visionary-white); color: var(--texte-doux); font-size: 11.5px; text-align: center; }

/* ---------- page 404 et articles ---------- */
.page-simple { padding: 170px 0 110px; }
.page-simple h1 { font-size: clamp(36px, 4vw, 54px); }
.page-simple .wp-block-buttons { margin-top: 30px; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .wp-block-navigation.nav .wp-block-navigation__container { gap: 22px; }
  .wp-block-buttons.entete__actions { display: none; } /* masquer le conteneur core/buttons, pas le bouton */
}
@media (max-width: 960px) {
  .heros-page__grille, .faq .duo { grid-template-columns: 1fr; }
  .heros-page__decor { display: none; }
  .grille-valeurs { grid-template-columns: 1fr 1fr; }
  .grille-tuiles { grid-template-columns: 1fr 1fr; }
  .domaine__visuel > figure.wp-block-image { height: 440px; }
  .heros { padding-top: 130px; }
  .heros__grille, .duo, .clients .duo { grid-template-columns: 1fr; gap: 60px; }
  .heros__texte { padding-bottom: 0; }
  .duo--inverse > .duo__visuel { order: 0; }
  .composition { max-width: 560px; width: 100%; margin: 0 auto; }
  .grille-expertises { grid-template-columns: 1fr 1fr; grid-template-areas: "a c" "b b" "d e"; }
  .carte--vedette > figure.wp-block-image { min-height: 300px; }
  .etapes { grid-template-columns: 1fr 1fr; row-gap: 50px; }
  .etapes::before { display: none; }
  .grille-projets { grid-template-columns: 1fr 1fr; }
  .pied__grille { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 782px) {
  .admin-bar .entete { top: 46px; }
}
@media (max-width: 600px) {
  body { font-size: 16px; }
  .entete__barre { height: 76px; }
  .marque.wp-block-site-logo img { height: 44px; }
  .heros-page { padding: 130px 0 80px; }
  .grille-valeurs, .grille-tuiles, .liste-services.wp-block-list { grid-template-columns: 1fr; }
  .tuile--large { grid-column: auto; padding: 104px 28px 30px; }
  .domaine, .valeurs, .solutions-types, .faq, .coordonnees { padding: 80px 0; }
  .domaine__visuel > figure.wp-block-image { height: 340px; border-radius: 160px 160px var(--rayon) var(--rayon); }
  .domaine__num { font-size: 96px; bottom: -26px; right: 0; }
  .sous-nav__liste a { padding: 8px 12px; font-size: 13.5px; }
  .appel { padding: 80px 0; }
  .contact-rapide { right: 14px; bottom: 14px; gap: 10px; }
  .contact-rapide__whatsapp, .contact-rapide__chat { width: 54px; height: 54px; font-size: 25px; }
  .assistant { right: 10px; left: 10px; bottom: 150px; width: auto; height: min(520px, calc(100vh - 170px)); }
  .bandeau { padding: 18px 0; }
  .bandeau__liste li { padding-right: 58px; background-position: right 22px center; }
  .bandeau__liste li::before { width: 38px; height: 38px; }
  .bandeau__liste li::after { left: 10px; width: 18px; height: 18px; margin-top: -9px; }
  .flottant--code { width: 222px; left: 0; bottom: 96px; }
  .flottant--code .wp-block-code { font-size: 10px; padding: 10px; }
  .bande, .approche, .clients, .contact { padding: 90px 0; }
  .expertises, .realisations { padding: 90px 0 100px; }
  .heros__visuel { height: 470px; background-size: 0 0, 0 0, 0 0; }
  .heros__visuel::before { width: 420px; height: 420px; margin-left: -210px; }
  .heros__visuel::after { width: 300px; height: 300px; margin-left: -150px; top: 120px; outline-offset: 15px; }
  .heros__capsule.wp-block-image { width: 220px; height: 420px; margin-left: -110px; }
  .heros__capsule.wp-block-image::before { left: -90px; top: 20px; transform: scale(.75); }
  .heros__capsule.wp-block-image::after { display: none; }
  .flottant { padding: 12px 14px; }
  .flottant__fort { font-size: 19px; }
  .flottant--expertise, .flottant--clients { --pt: 38px; --px: 14px; --py: calc(50% - 19px); padding-left: 62px; }
  .flottant--expertise { right: 0; top: 230px; }
  .flottant--clients { right: 0; bottom: 40px; padding-right: 14px; background: var(--visionary-white); }
  .composition { height: 400px; }
  .compo-a > .capsule--grande { width: 230px; height: 400px; right: 0; }
  .compo-a > .capsule--ronde { width: 200px; height: 260px; top: 130px; }
  .compo-a::before { width: 80px; height: 73px; }
  .compo-b > .capsule--haute, .compo-b > .capsule--basse { width: 46%; height: 320px; }
  .compo-b > .capsule--basse { top: 80px; }
  .compo-b::before { width: 70px; height: 64px; right: 46%; }
  .compo-b::after { width: 120px; height: 120px; margin-left: -60px; bottom: 0; }
  .chiffre { padding: 0 12px; }
  .chiffre__nombre { font-size: 28px; }
  .grille-expertises { grid-template-columns: 1fr; grid-template-areas: "a" "b" "c" "d" "e"; gap: 40px; }
  .etapes, .grille-projets, .profils, .champs { grid-template-columns: 1fr; }
  .projet--large { grid-column: auto; }
  .projet > figure.wp-block-image { height: 240px; }
  .champs .large, .profil--plein { grid-column: auto; }
  .formulaire { padding: 30px 22px; }
  .pied__grille { grid-template-columns: 1fr; gap: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js .revele { opacity: 1; transform: none; }
  .flottant--code .wp-block-code code { clip-path: none; }
}

/* ---------- icônes (générées depuis la maquette par scripts/construire-wp.ps1) ---------- */
.ico-code { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M8%207l-5%205%205%205M16%207l5%205-5%205M13.5%204l-3%2016'%2F%3E%3C%2Fsvg%3E"); }
.ico-megaphone { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%2010v4a1%201%200%200%200%201%201h3l6%204V5L7%209H4a1%201%200%200%200-1%201zM17%208a5%205%200%200%201%200%208M7%2015l1.5%205H11l-1-5'%2F%3E%3C%2Fsvg%3E"); }
.ico-pen { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%2019l7-7%203%203-7%207-3-3zM18%2013l-1.5-7.5L2%202l3.5%2014.5L13%2018l5-5zM2%202l7.6%207.6'%2F%3E%3Ccircle%20cx%3D'11'%20cy%3D'11'%20r%3D'2'%2F%3E%3C%2Fsvg%3E"); }
.ico-video { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'2'%20y%3D'6'%20width%3D'14'%20height%3D'12'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'M16%2010l6-3v10l-6-3z'%2F%3E%3C%2Fsvg%3E"); }
.ico-cycle { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M21%2012a9%209%200%200%201-15.5%206.2M3%2012a9%209%200%200%201%2015.5-6.2M18.5%202v4h-4M5.5%2022v-4h4'%2F%3E%3C%2Fsvg%3E"); }
.ico-search { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'11'%20cy%3D'11'%20r%3D'7'%2F%3E%3Cpath%20d%3D'M21%2021l-5-5'%2F%3E%3C%2Fsvg%3E"); }
.ico-bulb { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M9%2018h6M10%2021h4M12%203a6%206%200%200%200-3.5%2010.9c.6.5%201%201.2%201%202.1h5c0-.9.4-1.6%201-2.1A6%206%200%200%200%2012%203z'%2F%3E%3C%2Fsvg%3E"); }
.ico-layers { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%202l10%205-10%205L2%207zM2%2017l10%205%2010-5M2%2012l10%205%2010-5'%2F%3E%3C%2Fsvg%3E"); }
.ico-rocket { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2015c-1.5%201.3-2%205-2%205s3.7-.5%205-2c.7-.8.7-2.1-.1-2.9a2.1%202.1%200%200%200-2.9-.1zM12%2015l-3-3a22%2022%200%200%201%202-3.9A12.9%2012.9%200%200%201%2022%202c0%202.7-.8%207.5-6%2011a22.4%2022.4%200%200%201-4%202zM9%2012H4s.6-3%202-4c1.6-1.1%205%200%205%200M12%2015v5s3-.6%204-2c1.1-1.6%200-5%200-5'%2F%3E%3C%2Fsvg%3E"); }
.ico-headset { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%2018v-6a9%209%200%200%201%2018%200v6M21%2019a2%202%200%200%201-2%202h-1a2%202%200%200%201-2-2v-3a2%202%200%200%201%202-2h3zM3%2019a2%202%200%200%200%202%202h1a2%202%200%200%200%202-2v-3a2%202%200%200%200-2-2H3z'%2F%3E%3C%2Fsvg%3E"); }
.ico-arrow { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M7%2017L17%207M8%207h9v9'%2F%3E%3C%2Fsvg%3E"); }
.ico-phone { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%2016.9v3a2%202%200%200%201-2.2%202%2019.8%2019.8%200%200%201-8.6-3.1%2019.5%2019.5%200%200%201-6-6A19.8%2019.8%200%200%201%202.1%204.2%202%202%200%200%201%204.1%202h3a2%202%200%200%201%202%201.7c.1%201%20.4%201.9.7%202.8a2%202%200%200%201-.5%202.1L8%209.9a16%2016%200%200%200%206%206l1.3-1.3a2%202%200%200%201%202.1-.4c.9.3%201.8.6%202.8.7a2%202%200%200%201%201.7%202z'%2F%3E%3C%2Fsvg%3E"); }
.ico-chart { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2020V11M12%2020V5M19%2020v-7'%2F%3E%3C%2Fsvg%3E"); }
.ico-grid { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'3'%20width%3D'7'%20height%3D'7'%20rx%3D'1'%2F%3E%3Crect%20x%3D'14'%20y%3D'3'%20width%3D'7'%20height%3D'7'%20rx%3D'1'%2F%3E%3Crect%20x%3D'3'%20y%3D'14'%20width%3D'7'%20height%3D'7'%20rx%3D'1'%2F%3E%3Crect%20x%3D'14'%20y%3D'14'%20width%3D'7'%20height%3D'7'%20rx%3D'1'%2F%3E%3C%2Fsvg%3E"); }
.ico-users { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M17%2021v-2a4%204%200%200%200-4-4H5a4%204%200%200%200-4%204v2'%2F%3E%3Ccircle%20cx%3D'9'%20cy%3D'7'%20r%3D'4'%2F%3E%3Cpath%20d%3D'M23%2021v-2a4%204%200%200%200-3-3.9M16%203.1a4%204%200%200%201%200%207.8'%2F%3E%3C%2Fsvg%3E"); }
.ico-building { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%2021h18M5%2021V5a2%202%200%200%201%202-2h10a2%202%200%200%201%202%202v16M9%207h2M13%207h2M9%2011h2M13%2011h2M9%2015h2M13%2015h2'%2F%3E%3C%2Fsvg%3E"); }
.ico-store { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%209l1.5-5h15L21%209M3%209v11h18V9M3%209h18M9%2020v-6h6v6'%2F%3E%3C%2Fsvg%3E"); }
.ico-heart { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20.8%204.6a5.5%205.5%200%200%200-7.8%200L12%205.7l-1-1.1a5.5%205.5%200%200%200-7.8%207.8L12%2021.2l8.8-8.8a5.5%205.5%200%200%200%200-7.8z'%2F%3E%3C%2Fsvg%3E"); }
.ico-cap { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%2010L12%205%202%2010l10%205%2010-5zM6%2012v5c3%202%209%202%2012%200v-5'%2F%3E%3C%2Fsvg%3E"); }
.ico-bank { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%2021h18M4%2010h16M12%203l9%205H3zM6%2010v8M10%2010v8M14%2010v8M18%2010v8'%2F%3E%3C%2Fsvg%3E"); }
.ico-spark { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%202v4M12%2018v4M4.9%204.9l2.8%202.8M16.3%2016.3l2.8%202.8M2%2012h4M18%2012h4M4.9%2019.1l2.8-2.8M16.3%207.7l2.8-2.8'%2F%3E%3C%2Fsvg%3E"); }
.ico-briefcase { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'2'%20y%3D'7'%20width%3D'20'%20height%3D'14'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'M16%2021V5a2%202%200%200%200-2-2h-4a2%202%200%200%200-2%202v16'%2F%3E%3C%2Fsvg%3E"); }
.ico-user { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'8'%20r%3D'4'%2F%3E%3Cpath%20d%3D'M4%2021v-1a7%207%200%200%201%2016%200v1'%2F%3E%3C%2Fsvg%3E"); }
.ico-flag { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%2022V4M4%204h13l-2%204%202%204H4'%2F%3E%3C%2Fsvg%3E"); }
.ico-globe { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'9'%2F%3E%3Cpath%20d%3D'M3%2012h18M12%203c2.5%202.6%203.8%205.6%203.8%209s-1.3%206.4-3.8%209c-2.5-2.6-3.8-5.6-3.8-9S9.5%205.6%2012%203z'%2F%3E%3C%2Fsvg%3E"); }
.ico-mobile { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'6'%20y%3D'2'%20width%3D'12'%20height%3D'20'%20rx%3D'2.5'%2F%3E%3Cpath%20d%3D'M11%2018h2'%2F%3E%3C%2Fsvg%3E"); }
.ico-database { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cellipse%20cx%3D'12'%20cy%3D'5'%20rx%3D'8'%20ry%3D'3'%2F%3E%3Cpath%20d%3D'M4%205v14c0%201.7%203.6%203%208%203s8-1.3%208-3V5M4%2012c0%201.7%203.6%203%208%203s8-1.3%208-3'%2F%3E%3C%2Fsvg%3E"); }
.ico-layout { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'3'%20width%3D'18'%20height%3D'18'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'M3%209h18M9%2021V9'%2F%3E%3C%2Fsvg%3E"); }
.ico-share { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'18'%20cy%3D'5'%20r%3D'3'%2F%3E%3Ccircle%20cx%3D'6'%20cy%3D'12'%20r%3D'3'%2F%3E%3Ccircle%20cx%3D'18'%20cy%3D'19'%20r%3D'3'%2F%3E%3Cpath%20d%3D'M8.6%2013.5l6.8%204M15.4%206.5l-6.8%204'%2F%3E%3C%2Fsvg%3E"); }
.ico-chat { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M21%2012a8%208%200%200%201-11.6%207.1L4%2020.5l1.4-4.9A8%208%200%201%201%2021%2012z'%2F%3E%3Cpath%20d%3D'M8.5%2012h.01M12%2012h.01M15.5%2012h.01'%2F%3E%3C%2Fsvg%3E"); }
.ico-whatsapp { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3.5%2020.5l1.3-4.2A8.6%208.6%200%201%201%207.9%2019.4z'%2F%3E%3Cpath%20d%3D'M9.2%208.2c-.3%202.9%202.9%206.6%206.4%206.8l1-1.3c.1-.2%200-.4-.2-.5l-1.6-.8a.4.4%200%200%200-.5.1l-.6.7c-1.2-.5-2.2-1.5-2.7-2.7l.7-.6a.4.4%200%200%200%20.1-.5l-.8-1.6c-.1-.2-.3-.3-.5-.2z'%2F%3E%3C%2Fsvg%3E"); }
.ico-send { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%202L11%2013M22%202l-7%2020-4-9-9-4z'%2F%3E%3C%2Fsvg%3E"); }
.ico-close { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M18%206L6%2018M6%206l12%2012'%2F%3E%3C%2Fsvg%3E"); }
.ico-check { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2012.5l4.5%204.5L19%207.5'%2F%3E%3C%2Fsvg%3E"); }
.ico-pin { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%2022s7-6.2%207-12a7%207%200%200%200-14%200c0%205.8%207%2012%207%2012z'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'10'%20r%3D'2.5'%2F%3E%3C%2Fsvg%3E"); }
.ico-shield { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%202l8%203v6c0%205-3.4%209.4-8%2011-4.6-1.6-8-6-8-11V5z'%2F%3E%3Cpath%20d%3D'M8.5%2012l2.5%202.5%204.5-5'%2F%3E%3C%2Fsvg%3E"); }
.ico-star { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%203l2.7%205.6%206.1.9-4.4%204.3%201%206.1L12%2017l-5.4%202.9%201-6.1-4.4-4.3%206.1-.9z'%2F%3E%3C%2Fsvg%3E"); }
.ico-cart { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'9'%20cy%3D'20'%20r%3D'1.5'%2F%3E%3Ccircle%20cx%3D'18'%20cy%3D'20'%20r%3D'1.5'%2F%3E%3Cpath%20d%3D'M2%203h3l2.4%2012h11.2L21%207H6'%2F%3E%3C%2Fsvg%3E"); }
.ico-gear { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'3'%2F%3E%3Cpath%20d%3D'M19.4%2015a1.7%201.7%200%200%200%20.3%201.8l.1.1a2%202%200%201%201-2.8%202.8l-.1-.1a1.7%201.7%200%200%200-1.8-.3%201.7%201.7%200%200%200-1%201.5V21a2%202%200%201%201-4%200v-.1a1.7%201.7%200%200%200-1.1-1.5%201.7%201.7%200%200%200-1.8.3l-.1.1a2%202%200%201%201-2.8-2.8l.1-.1a1.7%201.7%200%200%200%20.3-1.8%201.7%201.7%200%200%200-1.5-1H3a2%202%200%201%201%200-4h.1a1.7%201.7%200%200%200%201.5-1.1%201.7%201.7%200%200%200-.3-1.8l-.1-.1a2%202%200%201%201%202.8-2.8l.1.1a1.7%201.7%200%200%200%201.8.3H9a1.7%201.7%200%200%200%201-1.5V3a2%202%200%201%201%204%200v.1a1.7%201.7%200%200%200%201%201.5%201.7%201.7%200%200%200%201.8-.3l.1-.1a2%202%200%201%201%202.8%202.8l-.1.1a1.7%201.7%200%200%200-.3%201.8V9a1.7%201.7%200%200%200%201.5%201H21a2%202%200%201%201%200%204h-.1a1.7%201.7%200%200%200-1.5%201z'%2F%3E%3C%2Fsvg%3E"); }
.ico-clock { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'9'%2F%3E%3Cpath%20d%3D'M12%207v5l3%202'%2F%3E%3C%2Fsvg%3E"); }
.ico-menu { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%206h18M3%2012h18M3%2018h18'%2F%3E%3C%2Fsvg%3E"); }
:root {
  --ico-arrow: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M7%2017L17%207M8%207h9v9'%2F%3E%3C%2Fsvg%3E");
  --ico-whatsapp: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3.5%2020.5l1.3-4.2A8.6%208.6%200%201%201%207.9%2019.4z'%2F%3E%3Cpath%20d%3D'M9.2%208.2c-.3%202.9%202.9%206.6%206.4%206.8l1-1.3c.1-.2%200-.4-.2-.5l-1.6-.8a.4.4%200%200%200-.5.1l-.6.7c-1.2-.5-2.2-1.5-2.7-2.7l.7-.6a.4.4%200%200%200%20.1-.5l-.8-1.6c-.1-.2-.3-.3-.5-.2z'%2F%3E%3C%2Fsvg%3E");
  --svg-reseau: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%201440%20900'%20preserveAspectRatio%3D'xMidYMid%20slice'%3E%3Cstyle%3E.l%7Bfill%3Anone%3Bstroke%3A%23ffffff%3Bstroke-opacity%3A.16%3Bstroke-width%3A1.2%7D.n%7Bfill%3A%23114694%3Bstroke%3A%23ffffff%3Bstroke-opacity%3A.45%7D.i%7Bfill%3Anone%3Bstroke%3A%23ffffff%3Bstroke-width%3A2%3Bstroke-linecap%3Around%3Bstroke-dasharray%3A.07%201%3Bstroke-dashoffset%3A1.07%3Banimation%3Ai%205s%20linear%20infinite%7D.o%7Bstroke%3A%23f7941d%7D%40keyframes%20i%7Bto%7Bstroke-dashoffset%3A0%7D%7D%40media%20(prefers-reduced-motion%3Areduce)%7B.i%7Bdisplay%3Anone%7D%7D%3C%2Fstyle%3E%3Cg%20class%3D'l'%3E%3Cpath%20d%3D'M0%20220H260L300%20260H520'%2F%3E%3Cpath%20d%3D'M0%20640H180L230%20590H420L460%20630H640'%2F%3E%3Cpath%20d%3D'M1440%20120H1220L1180%20160H1000'%2F%3E%3Cpath%20d%3D'M760%20900V800L800%20760H960'%2F%3E%3Cpath%20d%3D'M1440%20760H1300L1260%20720H1120'%2F%3E%3C%2Fg%3E%3Cg%20class%3D'n'%3E%3Ccircle%20cx%3D'520'%20cy%3D'260'%20r%3D'4'%2F%3E%3Ccircle%20cx%3D'640'%20cy%3D'630'%20r%3D'4'%2F%3E%3Ccircle%20cx%3D'1000'%20cy%3D'160'%20r%3D'4'%2F%3E%3Ccircle%20cx%3D'960'%20cy%3D'760'%20r%3D'4'%2F%3E%3Ccircle%20cx%3D'1120'%20cy%3D'720'%20r%3D'4'%2F%3E%3C%2Fg%3E%3Cpath%20class%3D'i'%20pathLength%3D'1'%20d%3D'M0%20220H260L300%20260H520'%2F%3E%3Cpath%20class%3D'i%20o'%20pathLength%3D'1'%20style%3D'animation-delay%3A-1.2s%3Banimation-duration%3A6s'%20d%3D'M0%20640H180L230%20590H420L460%20630H640'%2F%3E%3Cpath%20class%3D'i'%20pathLength%3D'1'%20style%3D'animation-delay%3A-2.6s'%20d%3D'M1440%20120H1220L1180%20160H1000'%2F%3E%3Cpath%20class%3D'i'%20pathLength%3D'1'%20style%3D'animation-delay%3A-3.4s%3Banimation-duration%3A4s'%20d%3D'M760%20900V800L800%20760H960'%2F%3E%3Cpath%20class%3D'i'%20pathLength%3D'1'%20style%3D'animation-delay%3A-.6s%3Banimation-duration%3A5.5s'%20d%3D'M1440%20760H1300L1260%20720H1120'%2F%3E%3C%2Fsvg%3E");
  --svg-carres: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2092%2082'%3E%3Cpath%20fill%3D'%23d9011c'%20d%3D'M24%208H44V28A6%206%200%200%201%2038%2034H18V14A6%206%200%200%201%2024%208Z'%2F%3E%3Cpath%20fill%3D'%233eb649'%20d%3D'M56%200H82V26A6%206%200%200%201%2076%2032H50V6A6%206%200%200%201%2056%200Z'%2F%3E%3Cpath%20fill%3D'%23f7941d'%20d%3D'M9%2038H44V73A9%209%200%200%201%2035%2082H0V47A9%209%200%200%201%209%2038Z'%2F%3E%3C%2Fsvg%3E");
  --svg-boucle: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20140%2080'%3E%3Cstyle%3Epath%7Bstroke-dasharray%3A1%3Bstroke-dashoffset%3A1%3Banimation%3At%201.8s%20ease%20.5s%20forwards%7D%40keyframes%20t%7Bto%7Bstroke-dashoffset%3A0%7D%7D%40media%20(prefers-reduced-motion%3Areduce)%7Bpath%7Bstroke-dashoffset%3A0%3Banimation%3Anone%7D%7D%3C%2Fstyle%3E%3Cg%20fill%3D'none'%20stroke%3D'%23ffffff'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20pathLength%3D'1'%20d%3D'M132%2052C116%2022%2080%208%2058%2024c-16%2012-8%2034%208%2030%2016-4%2010-30-12-34-20-4-38%206-46%2022'%2F%3E%3Cpath%20pathLength%3D'1'%20d%3D'M2%2030l6%2013%2013-5'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  --svg-escalier: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20120%20110'%3E%3Cstyle%3Epath%7Bstroke-dasharray%3A1%3Bstroke-dashoffset%3A1%3Banimation%3At%201.8s%20ease%20.8s%20forwards%7D%40keyframes%20t%7Bto%7Bstroke-dashoffset%3A0%7D%7D%40media%20(prefers-reduced-motion%3Areduce)%7Bpath%7Bstroke-dashoffset%3A0%3Banimation%3Anone%7D%7D%3C%2Fstyle%3E%3Cg%20fill%3D'none'%20stroke%3D'%23114694'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20pathLength%3D'1'%20d%3D'M8%20102h22V84h22V66h22V48h22'%2F%3E%3Cpath%20pathLength%3D'1'%20d%3D'M16%2066C20%2036%2046%2016%2088%2013'%2F%3E%3Cpath%20pathLength%3D'1'%20d%3D'M78%204l12%209-10%2010'%2F%3E%3Cpath%20pathLength%3D'1'%20d%3D'M22%2022l-8%207%208%207M36%2022l8%207-8%207'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  --svg-badge: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%20200'%3E%3Cstyle%3Eg.t%7Btransform-origin%3A100px%20100px%3Banimation%3Ar%2018s%20linear%20infinite%7D%40keyframes%20r%7Bto%7Btransform%3Arotate(360deg)%7D%7D%40media%20(prefers-reduced-motion%3Areduce)%7Bg.t%7Banimation%3Anone%7D%7Dtext%7Bfont-family%3AFigtree%2CArial%2Csans-serif%3Bfont-weight%3A600%3Bletter-spacing%3A3px%3Bfill%3A%23ffffff%7D%3C%2Fstyle%3E%3Cdefs%3E%3Cpath%20id%3D'c'%20d%3D'M100%2C100%20m-72%2C0%20a72%2C72%200%201%2C1%20144%2C0%20a72%2C72%200%201%2C1%20-144%2C0'%2F%3E%3C%2Fdefs%3E%3Cg%20class%3D't'%3E%3Ctext%20font-size%3D'17'%20textLength%3D'445'%20lengthAdjust%3D'spacing'%3E%3CtextPath%20href%3D'%23c'%3EB%C3%82TISSONS%20VOTRE%20SUCC%C3%88S%20%C2%B7%20AVEC%20VISIONARY%20%C2%B7%3C%2FtextPath%3E%3C%2Ftext%3E%3C%2Fg%3E%3Cg%20fill%3D'none'%20stroke%3D'%23ffffff'%20stroke-width%3D'3'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M84%20116L116%2084M86%2084h30v30'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  --svg-vague: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2054%2024'%3E%3Cpath%20d%3D'M2%2020c8%200%2010-14%2018-14s8%2010%2015%2010S44%204%2052%204'%20fill%3D'none'%20stroke%3D'%233eb649'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E");
}
