/*
Theme Name: Ceamine Solutions
Theme URI: https://www.ceamine.com
Author: Ceamine Solutions Ltd
Description: Thème bloc sur mesure de Ceamine Solutions. Toutes les pages se modifient dans l'éditeur de blocs.
Version: 1.0.1
Requires at least: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ceamine
Tags: block-theme, full-site-editing, business
*/

/* =========================================================
   Ceamine Solutions — maquette
   Registre : fond blanc bleuté, une famille sans-serif,
   un seul bleu (électrique + cyan). Pied de page et appel
   à l'action en bleu nuit (zones .pied / .appel-panneau).
   ========================================================= */

:root {
  /* palette */
  --nuit: #050a18;
  --nuit-2: #070e22;
  --marine: #0b1530;
  --bleu: #1a6bff;
  --bleu-fonce: #0f4fe0;
  --cyan: #1cb5f5;
  --blanc: #ffffff;
  --ciel: #f5f8fe;
  --ciel-2: #eaf0fb;

  /* jetons — zone claire (par défaut) */
  --fond: var(--ciel);
  --fond-2: var(--ciel-2);
  --surface: #ffffff;
  --surface-2: #f8faff;
  --titre: #0b1530;
  --texte: #4a5672;
  --texte-fort: #1f2a44;
  --accent: var(--bleu);
  --ico: var(--bleu);
  --trait: rgba(26, 107, 255, .12);
  --trait-fort: rgba(26, 107, 255, .26);
  --contour: rgba(11, 21, 48, .8);
  --verre: rgba(255, 255, 255, .78);
  --champ: #ffffff;
  --ombre: 0 24px 60px -30px rgba(11, 40, 120, .28);
  --reseau-trait: 26, 107, 255;
  --reseau-point: #1a6bff;
  --reseau-halo: rgba(26, 107, 255, .5);

  --rayon: 8px;
  --rayon-l: 16px;
  --police: "Nunito Sans", system-ui, sans-serif;
  --gouttiere: 48px;
}

/* jetons — zones bleu nuit */
.pied, .appel-panneau {
  --fond: var(--nuit);
  --fond-2: var(--nuit-2);
  --surface: var(--marine);
  --surface-2: var(--nuit-2);
  --titre: #ffffff;
  --texte: #aab4c8;
  --texte-fort: #dfe6f2;
  --accent: var(--cyan);
  --ico: var(--cyan);
  --trait: rgba(28, 181, 245, .16);
  --trait-fort: rgba(28, 181, 245, .32);
  --contour: rgba(255, 255, 255, .85);
  --verre: rgba(5, 10, 24, .6);
  --ombre: none;
  --reseau-trait: 40, 120, 255;
  --reseau-point: #5fc4ff;
  --reseau-halo: #3fb8ff;
  color: var(--texte);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--fond);
  color: var(--texte);
  font-family: var(--police);
  font-size: 18px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { color: var(--titre); margin: 0; line-height: 1.15; font-weight: 700; hyphens: none; text-wrap: balance; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
figure { margin: 0; }
em { font-style: normal; color: var(--accent); }

.enveloppe { width: 100%; max-width: 1392px; margin: 0 auto; padding: 0 var(--gouttiere); }

.ico { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.ico-s { width: 16px; height: 16px; }
.ico-l { width: 24px; height: 24px; stroke-width: 1.6; }

/* ---------- Boutons ---------- */
.bouton {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 14px 28px; border-radius: var(--rayon);
  font-weight: 700; font-size: 17px; line-height: 1.2; color: var(--titre);
  border: 1.5px solid transparent;
  transition: background .2s, border-color .2s, transform .2s, box-shadow .2s, color .2s;
  white-space: nowrap;
}
.bouton-l { padding: 18px 28px; }
.bouton-plein { color: var(--blanc); background: linear-gradient(180deg, #2077ff, var(--bleu-fonce)); box-shadow: 0 10px 30px -10px rgba(26,107,255,.7); }
.bouton-plein:hover { transform: translateY(-2px); box-shadow: 0 16px 36px -10px rgba(26,107,255,.9); }
.bouton-contour { border-color: var(--contour); }
.bouton-contour:hover { border-color: var(--accent); color: var(--accent); }
.bouton .ico { transition: transform .2s; }
.bouton:hover .ico { transform: translateX(3px); }

/* ---------- Surtitre ---------- */
.surtitre {
  display: flex; align-items: center; gap: 14px;
  color: var(--accent); font-size: 15px; font-weight: 700;
  letter-spacing: .28em; text-transform: uppercase;
  margin-bottom: 22px;
}
.puce { width: 0; height: 0; border-left: 8px solid var(--accent); border-top: 6px solid transparent; border-bottom: 6px solid transparent; }

/* ---------- En-tête ---------- */
.entete { position: fixed; inset: 0 0 auto; z-index: 50; transition: background .3s, box-shadow .3s; }
.entete.defile { box-shadow: 0 1px 0 var(--trait), 0 10px 30px -20px rgba(11,40,120,.25); }
/* Fond flouté sur un pseudo-élément, jamais sur .entete : un backdrop-filter fait de
   l'élément le bloc conteneur de ses descendants en position fixed — le panneau du menu
   mobile se retrouverait enfermé dans les 88 px de l'en-tête, invisible, page bloquée. */
.entete::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: rgba(245,248,254,.86); backdrop-filter: blur(14px); opacity: 0; transition: opacity .3s; }
.entete.defile::before { opacity: 1; }
.entete-ligne { display: flex; align-items: center; gap: 40px; height: 124px; transition: height .3s; }
.entete.defile .entete-ligne { height: 88px; }
.marque { display: flex; align-items: center; gap: 16px; }
.marque-logo { height: 70px; width: auto; transition: height .3s; }
.entete.defile .marque-logo { height: 56px; }
.pied .marque-logo { filter: drop-shadow(0 0 14px rgba(28,140,255,.3)); }
.nav { display: flex; gap: 40px; margin-left: auto; margin-right: 24px; }
.nav a { position: relative; display: flex; align-items: center; gap: 6px; color: var(--titre); font-size: 17px; font-weight: 600; padding: 10px 0; }
.nav a:hover, .nav a.actif { color: var(--accent); }
.nav a.actif::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10px; height: 3px; border-radius: 2px; background: var(--accent); }
.burger { display: none; }

/* ---------- Héros ---------- */
.heros { position: relative; padding-top: 124px; overflow: hidden; isolation: isolate;
  background: radial-gradient(55% 70% at 72% 42%, rgba(28,181,245,.16), transparent 70%), radial-gradient(40% 50% at 90% 10%, rgba(26,107,255,.10), transparent 70%), var(--fond); }
.heros-scene { position: absolute; top: 0; right: 0; width: 64%; height: 900px; z-index: -1; }
.heros-reseau { position: absolute; inset: 0; width: 100%; height: 100%; }
.heros-objet { position: absolute; left: 22%; top: 170px; width: 640px; height: 640px; }
.grand-c { position: absolute; left: 130px; top: 10px; width: 390px; height: auto; animation: flotte 7s ease-in-out infinite;
  filter: drop-shadow(0 18px 30px rgba(26,107,255,.35)) drop-shadow(0 0 60px rgba(28,181,245,.35)) saturate(1.1); }
.socle { position: absolute; left: -80px; top: 420px; width: 800px; height: 220px; }
.socle g { stroke: var(--bleu); }
.socle-coeur { fill: var(--cyan); filter: blur(7px); animation: pulse 3.5s ease-in-out infinite; }
@keyframes flotte { 50% { transform: translateY(-14px); } }
@keyframes pulse { 50% { opacity: .55; } }

.heros-grille { min-height: 610px; display: flex; align-items: center; padding-bottom: 40px; }
.heros-texte { max-width: 640px; }
.heros-titre { font-size: 68px; line-height: 1.12; letter-spacing: -.015em; margin-bottom: 28px; }
.heros-titre em { display: block; }
.heros-intro { font-size: 21px; line-height: 1.6; color: var(--texte); max-width: 540px; margin-bottom: 44px; }
.heros-actions { display: flex; gap: 28px; flex-wrap: wrap; }

.chiffres {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--trait); border-radius: var(--rayon-l);
  background: var(--verre); box-shadow: var(--ombre);
  backdrop-filter: blur(10px);
  padding: 34px 0; margin-bottom: 120px;
}
.chiffre { display: flex; align-items: center; justify-content: center; gap: 30px; padding: 6px 24px; }
.chiffre + .chiffre { border-left: 1px solid var(--trait-fort); }
.chiffre-ico { width: 64px; height: 64px; color: var(--ico); stroke-width: 1.3; }
.chiffre strong { display: block; color: var(--titre); font-size: 38px; font-weight: 600; line-height: 1.1; }
.chiffre span { color: var(--texte); font-size: 18px; }

/* ---------- Sections ---------- */
.section { padding: 120px 0; }
.titre-section { font-size: 48px; letter-spacing: -.01em; }
.entete-section { display: grid; grid-template-columns: 1.15fr 1fr; gap: 80px; align-items: end; margin-bottom: 64px; }
.entete-section-texte { font-size: 19px; max-width: 520px; }

/* Services */
.services { padding-top: 0; }
.grille-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.carte-service {
  position: relative; display: flex; flex-direction: column; gap: 14px;
  padding: 36px 34px; border-radius: var(--rayon-l);
  background: linear-gradient(180deg, var(--surface), var(--surface-2));
  border: 1px solid var(--trait); box-shadow: var(--ombre);
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
.carte-service:hover { border-color: var(--trait-fort); transform: translateY(-4px); box-shadow: 0 30px 70px -30px rgba(11,40,120,.38); }
.carte-service h3 { font-size: 23px; }
.carte-service p { font-size: 17px; }
.carte-ico { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 12px; background: rgba(26,107,255,.08); border: 1px solid var(--trait-fort); color: var(--ico); margin-bottom: 8px; }
.carte-ico .ico { width: 28px; height: 28px; stroke-width: 1.5; }
.lien-fleche { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 10px; color: var(--accent); font-weight: 700; font-size: 16px; }
.lien-fleche .ico { width: 18px; height: 18px; transition: transform .2s; }
.lien-fleche:hover .ico { transform: translateX(4px); }

.carte-vedette { grid-column: span 2; grid-row: span 2; flex-direction: row; padding: 0; overflow: hidden; gap: 0; }
.carte-photo { position: relative; flex: 0 0 46%; }
.carte-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.carte-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(26,107,255,.25), transparent 60%); }
.carte-corps { display: flex; flex-direction: column; gap: 16px; padding: 48px 44px; }
.carte-vedette h3 { font-size: 32px; }
.carte-vedette p { font-size: 18px; }
.etiquettes { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 8px; }
.etiquettes li { font-size: 14px; font-weight: 600; color: var(--texte-fort); padding: 6px 12px; border-radius: 6px; border: 1px solid var(--trait-fort); background: rgba(26,107,255,.05); }

/* À propos */
.apropos { padding-top: 40px; background: linear-gradient(180deg, var(--fond), var(--fond-2) 50%, var(--fond)); }
.apropos-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 96px; align-items: center; }
.apropos-visuel { position: relative; height: 620px; }
.apropos-photo { position: absolute; left: 0; top: 0; width: 78%; height: 470px; border-radius: var(--rayon-l); overflow: hidden; border: 1px solid var(--trait); box-shadow: var(--ombre); }
.apropos-photo-2 { position: absolute; right: 0; bottom: 0; width: 52%; height: 300px; border-radius: var(--rayon-l); overflow: hidden; border: 6px solid var(--surface); box-shadow: 0 30px 60px -24px rgba(11,40,120,.45), 0 0 0 1px var(--trait-fort); }
.apropos-photo img, .apropos-photo-2 img { width: 100%; height: 100%; object-fit: cover; }
.apropos-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(200deg, transparent 55%, rgba(26,107,255,.3)); }
.apropos-badge {
  position: absolute; left: -28px; bottom: 70px;
  display: flex; flex-direction: column; padding: 26px 32px; border-radius: var(--rayon-l);
  background: linear-gradient(160deg, #2077ff, var(--bleu-fonce));
  box-shadow: 0 24px 50px -16px rgba(26,107,255,.8);
}
.apropos-badge strong { color: var(--blanc); font-size: 46px; font-weight: 800; line-height: 1; }
.apropos-badge span { color: #e3ecff; font-size: 16px; font-weight: 600; margin-top: 6px; }
.apropos-texte > p { font-size: 19px; margin: 28px 0 36px; }
.valeurs { display: grid; gap: 26px; margin-bottom: 44px; }
.valeurs li { display: flex; gap: 20px; }
.valeur-ico { display: grid; place-items: center; width: 52px; height: 52px; flex: none; border-radius: 12px; border: 1px solid var(--trait-fort); background: var(--surface); color: var(--ico); }
.valeur-ico .ico { width: 24px; height: 24px; }
.valeurs h3 { font-size: 20px; margin-bottom: 4px; }
.valeurs p { font-size: 17px; }

/* Bandeau Cloud PBX */
.bandeau-pbx { position: relative; padding: 140px 0; overflow: hidden; isolation: isolate; }
.pbx-fond { position: absolute; inset: 0; z-index: -1; }
.pbx-fond img { width: 100%; height: 100%; object-fit: cover; opacity: .12; filter: grayscale(.5); }
.pbx-fond::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--fond) 30%, rgba(245,248,254,.55)), linear-gradient(0deg, var(--fond), rgba(245,248,254,0) 30%, rgba(245,248,254,0) 70%, var(--fond)); }
.pbx-grille { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: center; }
.pbx-texte > p { font-size: 19px; margin: 28px 0 30px; max-width: 600px; }
.liste-coches { display: grid; gap: 14px; margin-bottom: 44px; }
.liste-coches li { display: flex; align-items: center; gap: 14px; color: var(--texte-fort); font-size: 18px; }
.liste-coches .ico { color: var(--ico); width: 22px; height: 22px; stroke-width: 2.4; }
.pbx-carte { position: relative; height: 520px; border-radius: var(--rayon-l); overflow: hidden; border: 1px solid var(--trait-fort); box-shadow: 0 40px 90px -30px rgba(26,107,255,.5); transform: translateY(40px); }
.pbx-carte img { width: 100%; height: 100%; object-fit: cover; }
.pbx-carte::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(26,107,255,.35), transparent 55%); }

/* Méthode */
.etapes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--trait-fort); }
.etape { position: relative; padding: 44px 32px 0 0; }
.etape::before { content: ""; position: absolute; top: -6px; left: 0; width: 11px; height: 11px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 5px rgba(26,107,255,.14), 0 0 18px rgba(26,107,255,.6); }
.etape-num { display: block; font-size: 64px; font-weight: 800; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(26,107,255,.5); margin-bottom: 22px; }
.etape h3 { font-size: 23px; margin-bottom: 10px; }
.etape p { font-size: 17px; }
.partenaire { display: flex; align-items: center; gap: 22px; margin-top: 72px; padding: 26px 32px; border-radius: var(--rayon-l); border: 1px solid var(--trait); background: var(--surface); box-shadow: var(--ombre); }
.partenaire-ico { display: grid; place-items: center; width: 56px; height: 56px; flex: none; border-radius: 50%; background: rgba(26,107,255,.1); color: var(--ico); }
.partenaire-ico .ico { width: 28px; height: 28px; }
.partenaire p { font-size: 18px; }
.partenaire strong { color: var(--titre); }

/* Appel à l'action — zone bleu nuit */
.appel { padding-top: 0; }
.appel-panneau {
  position: relative; overflow: hidden; isolation: isolate;
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 64px; align-items: center;
  padding: 80px 72px; border-radius: var(--rayon-l);
  border: 1px solid var(--trait-fort);
  background: radial-gradient(70% 120% at 100% 0%, rgba(26,107,255,.35), transparent 60%), linear-gradient(135deg, #0a1838, var(--nuit-2));
  box-shadow: 0 40px 90px -40px rgba(11,21,48,.7);
}
.appel-reseau { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; opacity: .7; }
.appel-texte > p:not(.surtitre) { font-size: 19px; margin: 24px 0 40px; }
.appel-coord { display: grid; gap: 14px; }
.appel-coord li { display: flex; align-items: center; gap: 18px; padding: 20px 24px; border-radius: 12px; background: var(--verre); border: 1px solid var(--trait); color: var(--titre); font-weight: 600; font-size: 18px; }
.appel-coord .ico { width: 26px; height: 26px; color: var(--ico); }
.appel-coord span { display: block; color: var(--texte); font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

/* Pied de page — zone bleu nuit */
.pied { border-top: 1px solid var(--trait); background: var(--nuit-2); padding-top: 88px; }
.pied-grille { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.3fr; gap: 56px; padding-bottom: 64px; }
.pied-marque p { margin-top: 24px; font-size: 17px; max-width: 360px; }
.pied h4 { font-size: 18px; margin-bottom: 22px; }
.pied-col ul { display: grid; gap: 12px; font-size: 17px; }
.pied-col a:hover { color: var(--accent); }
.pied-coord li { display: flex; gap: 12px; align-items: center; }
.pied-coord .ico { color: var(--ico); }
.pied-bas { display: flex; justify-content: space-between; gap: 20px; padding-top: 28px; padding-bottom: 28px; border-top: 1px solid var(--trait); font-size: 15px; }

/* ---------- Adaptatif ---------- */
@media (max-width: 1200px) {
  :root { --gouttiere: 32px; }
  .nav { gap: 28px; }
  .heros-titre { font-size: 56px; }
  .heros-scene { width: 70%; opacity: .75; }
  .heros-objet { left: 30%; }
  .chiffre { gap: 18px; }
  .chiffre-ico { width: 48px; height: 48px; }
  .carte-vedette { flex-direction: column; }
  .carte-photo { flex: 0 0 260px; }
}
@media (max-width: 960px) {
  .nav, .entete-cta { display: none; }
  .burger { display: grid; gap: 7px; margin-left: auto; background: var(--surface); border: 1px solid var(--trait-fort); border-radius: var(--rayon); padding: 14px 12px; cursor: pointer; }
  .burger span { display: block; width: 22px; height: 2px; background: var(--titre); transition: transform .25s; }
  .entete.ouvert .burger span:first-child { transform: translateY(4.5px) rotate(45deg); }
  .entete.ouvert .burger span:last-child { transform: translateY(-4.5px) rotate(-45deg); }
  .entete.ouvert { background: var(--fond); }
  .entete.ouvert .nav { display: flex; flex-direction: column; gap: 0; position: absolute; top: 100%; left: 0; right: 0; margin: 0; padding: 12px var(--gouttiere) 28px; background: var(--fond); border-bottom: 1px solid var(--trait); box-shadow: 0 20px 40px -20px rgba(11,40,120,.3); }
  .entete.ouvert .nav a { font-size: 20px; padding: 14px 0; border-bottom: 1px solid var(--trait); }
  .entete.ouvert .nav a.actif::after { display: none; }
  .entete-ligne { height: 96px; }
  .heros { padding-top: 96px; }
  .heros-scene { position: relative; width: 100%; height: 420px; opacity: 1; }
  .heros-objet { left: 50%; top: 10px; transform: translateX(-50%) scale(.62); transform-origin: top center; }
  .heros-grille { min-height: 0; padding-top: 0; }
  .chiffres { grid-template-columns: 1fr 1fr; row-gap: 28px; }
  .chiffre { justify-content: flex-start; }
  .chiffre:nth-child(3) { border-left: 0; }
  .entete-section, .apropos-grille, .pbx-grille, .appel-panneau { grid-template-columns: 1fr; gap: 40px; }
  .grille-services { grid-template-columns: 1fr 1fr; }
  .etapes { grid-template-columns: 1fr 1fr; row-gap: 48px; }
  .pied-grille { grid-template-columns: 1fr 1fr; }
  .pbx-carte { transform: none; height: 380px; }
  .heros { display: flex; flex-direction: column; }
  .heros-scene { order: 1; }
  .heros > .enveloppe:first-of-type { order: 0; }
  .heros > .enveloppe:last-of-type { order: 2; }
}
@media (max-width: 640px) {
  :root { --gouttiere: 20px; }
  body { font-size: 17px; }
  .marque-logo { height: 52px; }
  .heros-titre { font-size: 40px; }
  .surtitre { font-size: 13px; letter-spacing: .18em; }
  .heros-intro { font-size: 18px; }
  .heros-scene { height: 300px; }
  .heros-objet { transform: translateX(-50%) scale(.44); }
  .bouton-l { padding: 16px 22px; }
  .heros-actions { gap: 14px; }
  .chiffres { grid-template-columns: 1fr 1fr; padding: 24px 0; margin-bottom: 80px; }
  .chiffre { flex-direction: column; align-items: flex-start; gap: 10px; padding: 6px 18px; }
  .chiffre-ico { width: 36px; height: 36px; }
  .chiffre strong { font-size: 28px; }
  .chiffre span { font-size: 15px; }
  .section { padding: 80px 0; }
  .titre-section { font-size: 34px; }
  .grille-services { grid-template-columns: 1fr; }
  .carte-vedette { grid-column: auto; }
  .carte-corps { padding: 32px 26px; }
  .carte-vedette h3 { font-size: 26px; }
  .apropos-visuel { height: 440px; }
  .apropos-photo { height: 330px; width: 88%; }
  .apropos-photo-2 { height: 200px; width: 58%; }
  .apropos-badge { left: 0; bottom: 40px; padding: 18px 22px; }
  .apropos-badge strong { font-size: 34px; }
  .bandeau-pbx { padding: 80px 0; }
  .pbx-carte { height: 280px; }
  .etapes { grid-template-columns: 1fr; }
  .appel-panneau { padding: 48px 24px; }
  .appel-coord li { padding: 16px 18px; font-size: 16px; }
  .pied-grille { grid-template-columns: 1fr; gap: 40px; }
  .pied-bas { flex-direction: column; }
}

/* =========================================================
   Pages intérieures
   ========================================================= */

/* En-tête de page */
.page-heros { position: relative; overflow: hidden; isolation: isolate; padding: 220px 0 110px;
  background: radial-gradient(55% 90% at 85% 20%, rgba(28,181,245,.16), transparent 70%), linear-gradient(180deg, var(--fond), var(--fond-2));
  border-bottom: 1px solid var(--trait); }
.page-reseau { position: absolute; top: 0; right: 0; width: 55%; height: 100%; z-index: -1; opacity: .7;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 40%); mask-image: linear-gradient(90deg, transparent, #000 40%); }
.fil { display: flex; gap: 12px; font-size: 15px; font-weight: 600; margin-bottom: 40px; color: var(--texte); }
.fil a { color: var(--titre); }
.fil a:hover { color: var(--accent); }
.fil span { color: var(--trait-fort); }
.page-titre { font-size: 64px; line-height: 1.1; letter-spacing: -.015em; max-width: 900px; margin-bottom: 28px; }
.page-titre em { display: block; }
.page-intro { font-size: 21px; color: var(--texte); max-width: 640px; }
.sommaire { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 52px; }
.sommaire a { display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: var(--rayon);
  border: 1px solid var(--trait-fort); background: var(--surface); color: var(--titre); font-weight: 600; font-size: 16px; transition: border-color .2s, color .2s; }
.sommaire a:hover { border-color: var(--accent); color: var(--accent); }
.sommaire .ico { color: var(--ico); }

/* À propos */
.apropos-texte > p + p { margin-top: -16px; }
.secteurs { display: flex; flex-wrap: wrap; gap: 10px; }
.secteurs li { padding: 10px 18px; border-radius: 999px; border: 1px solid var(--trait-fort); background: var(--surface); color: var(--titre); font-weight: 600; font-size: 16px; }
.citation { padding: 40px 0; }
.citation-bloc { margin: 0; padding: 72px 80px; border-radius: var(--rayon-l); border: 1px solid var(--trait);
  background: radial-gradient(60% 140% at 0% 0%, rgba(28,181,245,.14), transparent 60%), var(--surface); box-shadow: var(--ombre); position: relative; }
.citation-bloc::before { content: "\201C"; position: absolute; top: -10px; right: 60px; font-size: 260px; line-height: 1; font-weight: 800; color: rgba(26,107,255,.1); }
.citation-bloc p { color: var(--titre); font-size: 34px; line-height: 1.35; font-weight: 600; max-width: 1050px; text-wrap: balance; }
.citation-bloc footer { display: flex; align-items: center; gap: 16px; margin-top: 32px; color: var(--accent); font-weight: 700; font-size: 17px; }
.citation-trait { width: 48px; height: 2px; background: var(--accent); }
.grille-valeurs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.atouts { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 28px; margin-top: 40px; }
.atouts li { display: flex; gap: 18px; }
.atouts h3 { font-size: 20px; margin-bottom: 4px; }
.atouts p { font-size: 16px; }
.chiffres-seuls { margin-bottom: 0; }

/* Services */
.detail { padding: 110px 0; }
.detail + .detail { border-top: 1px solid var(--trait); }
.detail-inverse { background: var(--fond-2); }
.detail-grille { display: grid; grid-template-columns: 1fr 1.05fr; gap: 88px; align-items: center; }
.detail-inverse .detail-photo { order: 2; }
.detail-photo { position: relative; height: 560px; border-radius: var(--rayon-l); }
.detail-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--rayon-l); border: 1px solid var(--trait-fort); box-shadow: var(--ombre); }
.detail-photo::after { content: ""; position: absolute; inset: 0; border-radius: var(--rayon-l); background: linear-gradient(0deg, rgba(26,107,255,.35), transparent 50%); }
.detail-num { position: absolute; z-index: 1; bottom: -34px; right: 32px; font-size: 120px; font-weight: 800; line-height: 1; color: transparent; -webkit-text-stroke: 2px var(--accent); }
.detail-inverse .detail-num { right: auto; left: 32px; }
.detail-texte > p:not(.surtitre) { font-size: 19px; margin: 26px 0 30px; }
.grille-puces { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; margin-bottom: 28px; }
.grille-puces li { display: flex; align-items: center; gap: 12px; color: var(--texte-fort); font-weight: 600; font-size: 17px; }
.grille-puces .ico { color: var(--ico); stroke-width: 2.4; }
.encart { margin-top: 28px; padding: 28px 30px; border-radius: var(--rayon-l); border: 1px solid var(--trait-fort); background: linear-gradient(180deg, rgba(26,107,255,.07), var(--surface)); }
.encart h3 { display: flex; align-items: center; gap: 12px; font-size: 21px; margin-bottom: 12px; }
.encart h3 .ico { color: var(--ico); width: 24px; height: 24px; }
.encart p { font-size: 17px; }
.encart .grille-puces { margin: 16px 0 0; }
.grille-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.grille-mini > div { padding: 22px 24px; border-radius: 12px; border: 1px solid var(--trait); background: var(--surface); }
.grille-mini h3 { font-size: 18px; margin-bottom: 6px; }
.grille-mini p { font-size: 16px; line-height: 1.55; }

/* Contact */
.contact-grille { display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; align-items: start; }
.contact-infos { display: grid; gap: 16px; }
.contact-carte { display: flex; align-items: center; gap: 20px; padding: 24px 26px; border-radius: var(--rayon-l);
  border: 1px solid var(--trait); background: var(--surface); box-shadow: var(--ombre); transition: border-color .2s; }
a.contact-carte:hover { border-color: var(--accent); }
.contact-carte .carte-ico { margin: 0; flex: none; }
.contact-carte span:not(.carte-ico) { display: block; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-carte strong { color: var(--titre); font-size: 20px; font-weight: 700; }
.formulaire { padding: 52px 52px 56px; border-radius: var(--rayon-l); border: 1px solid var(--trait-fort);
  background: radial-gradient(70% 90% at 100% 0%, rgba(28,181,245,.12), transparent 60%), var(--surface); box-shadow: var(--ombre); }
.formulaire-titre { font-size: 32px; }
.formulaire-intro { font-size: 16px; margin: 10px 0 32px; }
.champs { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 32px; }
.champ { display: grid; gap: 8px; }
.champ-large { grid-column: 1 / -1; }
.champ span { color: var(--titre); font-size: 15px; font-weight: 600; }
.champ input, .champ select, .champ textarea { width: 100%; padding: 15px 16px; border-radius: var(--rayon); border: 1px solid var(--trait-fort);
  background: var(--fond); color: var(--titre); font: inherit; font-size: 17px; transition: border-color .2s, box-shadow .2s; }
.champ textarea { resize: vertical; min-height: 150px; }
.champ select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--accent) 50%), linear-gradient(135deg, var(--accent) 50%, transparent 50%);
  background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; background-size: 6px 6px; background-repeat: no-repeat; }
.champ input:focus, .champ select:focus, .champ textarea:focus { outline: none; border-color: var(--accent); background-color: var(--surface); box-shadow: 0 0 0 4px rgba(26,107,255,.12); }
.formulaire .bouton { border: 0; cursor: pointer; font-family: inherit; }
.carte-section { padding-top: 0; }
.carte-cadre { position: relative; height: 460px; border-radius: var(--rayon-l); overflow: hidden; border: 1px solid var(--trait-fort); box-shadow: var(--ombre); }
.carte-cadre iframe { width: 100%; height: 100%; border: 0; filter: saturate(.7) hue-rotate(-8deg); }
.carte-etiquette { position: absolute; left: 28px; bottom: 28px; display: flex; align-items: center; gap: 16px; padding: 18px 22px; border-radius: 12px;
  background: rgba(255,255,255,.94); border: 1px solid var(--trait-fort); box-shadow: var(--ombre); backdrop-filter: blur(8px); }
.carte-etiquette .carte-ico { margin: 0; width: 48px; height: 48px; }
.carte-etiquette strong { display: block; color: var(--titre); }
.carte-etiquette span:not(.carte-ico) { font-size: 15px; }
.faq { padding-top: 0; }
.faq-grille { display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; }
.faq-liste { display: grid; gap: 14px; }
.faq details { border-radius: 12px; border: 1px solid var(--trait); background: var(--surface); }
.faq details[open] { border-color: var(--trait-fort); box-shadow: var(--ombre); }
.faq summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 26px; cursor: pointer; list-style: none; color: var(--titre); font-weight: 700; font-size: 19px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--accent); font-size: 28px; font-weight: 400; line-height: 1; transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding: 0 26px 24px; font-size: 17px; }

@media (max-width: 1200px) {
  .page-titre { font-size: 54px; }
  .detail-grille { gap: 56px; }
}
@media (max-width: 960px) {
  .page-heros { padding: 160px 0 80px; }
  .page-reseau { width: 100%; opacity: .4; }
  .citation-bloc { padding: 48px 40px; }
  .citation-bloc p { font-size: 26px; }
  .grille-valeurs { grid-template-columns: 1fr; }
  .detail-grille, .contact-grille, .faq-grille { grid-template-columns: 1fr; gap: 56px; }
  .detail-inverse .detail-photo { order: 0; }
  .detail-photo { height: 400px; }
}
@media (max-width: 640px) {
  .page-heros { padding: 130px 0 64px; }
  .fil { margin-bottom: 28px; }
  .page-titre { font-size: 38px; }
  .page-intro { font-size: 18px; }
  .sommaire a { font-size: 15px; padding: 10px 14px; }
  .citation-bloc { padding: 36px 24px; }
  .citation-bloc p { font-size: 22px; }
  .citation-bloc::before { font-size: 160px; right: 20px; }
  .atouts, .grille-puces, .grille-mini, .champs { grid-template-columns: 1fr; }
  .detail { padding: 80px 0; }
  .detail-photo { height: 280px; }
  .detail-num { font-size: 80px; bottom: -24px; }
  .formulaire { padding: 32px 22px; }
  .formulaire-titre { font-size: 26px; }
  .contact-carte strong { font-size: 17px; }
  .carte-cadre { height: 360px; }
  .carte-etiquette { left: 14px; right: 14px; bottom: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .grand-c, .socle-coeur { animation: none; }
}


/* =========================================================
   COUCHE WORDPRESS
   Tout ce qui précède est la feuille de la maquette, inchangée.
   Ce qui suit adapte ses sélecteurs au DOM des blocs natifs :
   les classes des composants sont posées sur les blocs (className),
   les icônes et les couches décoratives sont dessinées en CSS.
   ========================================================= */

/* Pictogrammes : --pic (image colorée, pour les pastilles) et --pic-m (masque, prend currentColor) */
:root {
  --i-users: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2'%2F%3E%3Ccircle%20cx%3D'9'%20cy%3D'7'%20r%3D'4'%2F%3E%3Cpath%20d%3D'M22%2021v-2a4%204%200%200%200-3-3.87'%2F%3E%3Cpath%20d%3D'M16%203.13a4%204%200%200%201%200%207.75'%2F%3E%3C%2Fsvg%3E");
  --m-users: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2'%2F%3E%3Ccircle%20cx%3D'9'%20cy%3D'7'%20r%3D'4'%2F%3E%3Cpath%20d%3D'M22%2021v-2a4%204%200%200%200-3-3.87'%2F%3E%3Cpath%20d%3D'M16%203.13a4%204%200%200%201%200%207.75'%2F%3E%3C%2Fsvg%3E");
  --i-rocket: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4.5%2016.5c-1.5%201.26-2%205-2%205s3.74-.5%205-2c.71-.84.7-2.13-.09-2.91a2.18%202.18%200%200%200-2.91-.09z'%2F%3E%3Cpath%20d%3D'm12%2015-3-3a22%2022%200%200%201%202-3.95A12.88%2012.88%200%200%201%2022%202c0%202.72-.78%207.5-6%2011a22.35%2022.35%200%200%201-4%202z'%2F%3E%3Cpath%20d%3D'M9%2012H4s.55-3.03%202-4c1.62-1.08%205%200%205%200'%2F%3E%3Cpath%20d%3D'M12%2015v5s3.03-.55%204-2c1.08-1.62%200-5%200-5'%2F%3E%3C%2Fsvg%3E");
  --m-rocket: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4.5%2016.5c-1.5%201.26-2%205-2%205s3.74-.5%205-2c.71-.84.7-2.13-.09-2.91a2.18%202.18%200%200%200-2.91-.09z'%2F%3E%3Cpath%20d%3D'm12%2015-3-3a22%2022%200%200%201%202-3.95A12.88%2012.88%200%200%201%2022%202c0%202.72-.78%207.5-6%2011a22.35%2022.35%200%200%201-4%202z'%2F%3E%3Cpath%20d%3D'M9%2012H4s.55-3.03%202-4c1.62-1.08%205%200%205%200'%2F%3E%3Cpath%20d%3D'M12%2015v5s3.03-.55%204-2c1.08-1.62%200-5%200-5'%2F%3E%3C%2Fsvg%3E");
  --i-award: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'8'%20r%3D'6'%2F%3E%3Cpath%20d%3D'M15.48%2012.89%2017%2022l-5-3-5%203%201.52-9.11'%2F%3E%3C%2Fsvg%3E");
  --m-award: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'8'%20r%3D'6'%2F%3E%3Cpath%20d%3D'M15.48%2012.89%2017%2022l-5-3-5%203%201.52-9.11'%2F%3E%3C%2Fsvg%3E");
  --i-headset: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%2014h3a2%202%200%200%201%202%202v3a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-7a9%209%200%200%201%2018%200v7a2%202%200%200%201-2%202h-1a2%202%200%200%201-2-2v-3a2%202%200%200%201%202-2h3'%2F%3E%3C%2Fsvg%3E");
  --m-headset: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%2014h3a2%202%200%200%201%202%202v3a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-7a9%209%200%200%201%2018%200v7a2%202%200%200%201-2%202h-1a2%202%200%200%201-2-2v-3a2%202%200%200%201%202-2h3'%2F%3E%3C%2Fsvg%3E");
  --i-code: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolyline%20points%3D'16%2018%2022%2012%2016%206'%2F%3E%3Cpolyline%20points%3D'8%206%202%2012%208%2018'%2F%3E%3C%2Fsvg%3E");
  --m-code: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolyline%20points%3D'16%2018%2022%2012%2016%206'%2F%3E%3Cpolyline%20points%3D'8%206%202%2012%208%2018'%2F%3E%3C%2Fsvg%3E");
  --i-network: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'16'%20y%3D'16'%20width%3D'6'%20height%3D'6'%20rx%3D'1'%2F%3E%3Crect%20x%3D'2'%20y%3D'16'%20width%3D'6'%20height%3D'6'%20rx%3D'1'%2F%3E%3Crect%20x%3D'9'%20y%3D'2'%20width%3D'6'%20height%3D'6'%20rx%3D'1'%2F%3E%3Cpath%20d%3D'M5%2016v-3a1%201%200%200%201%201-1h12a1%201%200%200%201%201%201v3'%2F%3E%3Cpath%20d%3D'M12%2012V8'%2F%3E%3C%2Fsvg%3E");
  --m-network: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'16'%20y%3D'16'%20width%3D'6'%20height%3D'6'%20rx%3D'1'%2F%3E%3Crect%20x%3D'2'%20y%3D'16'%20width%3D'6'%20height%3D'6'%20rx%3D'1'%2F%3E%3Crect%20x%3D'9'%20y%3D'2'%20width%3D'6'%20height%3D'6'%20rx%3D'1'%2F%3E%3Cpath%20d%3D'M5%2016v-3a1%201%200%200%201%201-1h12a1%201%200%200%201%201%201v3'%2F%3E%3Cpath%20d%3D'M12%2012V8'%2F%3E%3C%2Fsvg%3E");
  --i-wrench: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M14.7%206.3a1%201%200%200%200%200%201.4l1.6%201.6a1%201%200%200%200%201.4%200l3.77-3.77a6%206%200%200%201-7.94%207.94l-6.91%206.91a2.12%202.12%200%200%201-3-3l6.91-6.91a6%206%200%200%201%207.94-7.94l-3.76%203.76z'%2F%3E%3C%2Fsvg%3E");
  --m-wrench: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M14.7%206.3a1%201%200%200%200%200%201.4l1.6%201.6a1%201%200%200%200%201.4%200l3.77-3.77a6%206%200%200%201-7.94%207.94l-6.91%206.91a2.12%202.12%200%200%201-3-3l6.91-6.91a6%206%200%200%201%207.94-7.94l-3.76%203.76z'%2F%3E%3C%2Fsvg%3E");
  --i-monitor: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'2'%20y%3D'3'%20width%3D'20'%20height%3D'14'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'M8%2021h8M12%2017v4'%2F%3E%3C%2Fsvg%3E");
  --m-monitor: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'2'%20y%3D'3'%20width%3D'20'%20height%3D'14'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'M8%2021h8M12%2017v4'%2F%3E%3C%2Fsvg%3E");
  --i-bulb: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M15%2014c.2-1%20.7-1.7%201.5-2.5%201-.9%201.5-2.2%201.5-3.5A6%206%200%200%200%206%208c0%201%20.2%202.2%201.5%203.5.7.7%201.3%201.5%201.5%202.5'%2F%3E%3Cpath%20d%3D'M9%2018h6M10%2022h4'%2F%3E%3C%2Fsvg%3E");
  --m-bulb: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M15%2014c.2-1%20.7-1.7%201.5-2.5%201-.9%201.5-2.2%201.5-3.5A6%206%200%200%200%206%208c0%201%20.2%202.2%201.5%203.5.7.7%201.3%201.5%201.5%202.5'%2F%3E%3Cpath%20d%3D'M9%2018h6M10%2022h4'%2F%3E%3C%2Fsvg%3E");
  --i-printer: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolyline%20points%3D'6%209%206%202%2018%202%2018%209'%2F%3E%3Cpath%20d%3D'M6%2018H4a2%202%200%200%201-2-2v-5a2%202%200%200%201%202-2h16a2%202%200%200%201%202%202v5a2%202%200%200%201-2%202h-2'%2F%3E%3Crect%20x%3D'6'%20y%3D'14'%20width%3D'12'%20height%3D'8'%2F%3E%3C%2Fsvg%3E");
  --m-printer: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolyline%20points%3D'6%209%206%202%2018%202%2018%209'%2F%3E%3Cpath%20d%3D'M6%2018H4a2%202%200%200%201-2-2v-5a2%202%200%200%201%202-2h16a2%202%200%200%201%202%202v5a2%202%200%200%201-2%202h-2'%2F%3E%3Crect%20x%3D'6'%20y%3D'14'%20width%3D'12'%20height%3D'8'%2F%3E%3C%2Fsvg%3E");
  --i-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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2012h14M12%205l7%207-7%207'%2F%3E%3C%2Fsvg%3E");
  --m-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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2012h14M12%205l7%207-7%207'%2F%3E%3C%2Fsvg%3E");
  --i-play: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'10'%2F%3E%3Cpolygon%20points%3D'10%208%2016%2012%2010%2016%2010%208'%2F%3E%3C%2Fsvg%3E");
  --m-play: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'10'%2F%3E%3Cpolygon%20points%3D'10%208%2016%2012%2010%2016%2010%208'%2F%3E%3C%2Fsvg%3E");
  --i-phone: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72%2012.84%2012.84%200%200%200%20.7%202.81%202%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45%2012.84%2012.84%200%200%200%202.81.7A2%202%200%200%201%2022%2016.92z'%2F%3E%3C%2Fsvg%3E");
  --m-phone: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72%2012.84%2012.84%200%200%200%20.7%202.81%202%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45%2012.84%2012.84%200%200%200%202.81.7A2%202%200%200%201%2022%2016.92z'%2F%3E%3C%2Fsvg%3E");
  --i-mail: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'2'%20y%3D'4'%20width%3D'20'%20height%3D'16'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'm22%207-8.97%205.7a1.94%201.94%200%200%201-2.06%200L2%207'%2F%3E%3C%2Fsvg%3E");
  --m-mail: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'2'%20y%3D'4'%20width%3D'20'%20height%3D'16'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'm22%207-8.97%205.7a1.94%201.94%200%200%201-2.06%200L2%207'%2F%3E%3C%2Fsvg%3E");
  --i-pin: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%2010c0%206-8%2012-8%2012s-8-6-8-12a8%208%200%200%201%2016%200Z'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'10'%20r%3D'3'%2F%3E%3C%2Fsvg%3E");
  --m-pin: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%2010c0%206-8%2012-8%2012s-8-6-8-12a8%208%200%200%201%2016%200Z'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'10'%20r%3D'3'%2F%3E%3C%2Fsvg%3E");
  --i-check: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%206%209%2017l-5-5'%2F%3E%3C%2Fsvg%3E");
  --m-check: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%206%209%2017l-5-5'%2F%3E%3C%2Fsvg%3E");
  --i-shield: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%2022s8-4%208-10V5l-8-3-8%203v7c0%206%208%2010%208%2010z'%2F%3E%3Cpath%20d%3D'm9%2012%202%202%204-4'%2F%3E%3C%2Fsvg%3E");
  --m-shield: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%2022s8-4%208-10V5l-8-3-8%203v7c0%206%208%2010%208%2010z'%2F%3E%3Cpath%20d%3D'm9%2012%202%202%204-4'%2F%3E%3C%2Fsvg%3E");
  --i-chevron: 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'%231a6bff'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'm6%209%206%206%206-6'%2F%3E%3C%2Fsvg%3E");
  --m-chevron: 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'%23000'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'm6%209%206%206%206-6'%2F%3E%3C%2Fsvg%3E");
  --m-check-gras: 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'%23000'%20stroke-width%3D'2.4'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%206%209%2017l-5-5'%2F%3E%3C%2Fsvg%3E");
}
.pied, .appel-panneau {
  --i-users: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2'%2F%3E%3Ccircle%20cx%3D'9'%20cy%3D'7'%20r%3D'4'%2F%3E%3Cpath%20d%3D'M22%2021v-2a4%204%200%200%200-3-3.87'%2F%3E%3Cpath%20d%3D'M16%203.13a4%204%200%200%201%200%207.75'%2F%3E%3C%2Fsvg%3E");
  --i-rocket: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4.5%2016.5c-1.5%201.26-2%205-2%205s3.74-.5%205-2c.71-.84.7-2.13-.09-2.91a2.18%202.18%200%200%200-2.91-.09z'%2F%3E%3Cpath%20d%3D'm12%2015-3-3a22%2022%200%200%201%202-3.95A12.88%2012.88%200%200%201%2022%202c0%202.72-.78%207.5-6%2011a22.35%2022.35%200%200%201-4%202z'%2F%3E%3Cpath%20d%3D'M9%2012H4s.55-3.03%202-4c1.62-1.08%205%200%205%200'%2F%3E%3Cpath%20d%3D'M12%2015v5s3.03-.55%204-2c1.08-1.62%200-5%200-5'%2F%3E%3C%2Fsvg%3E");
  --i-award: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'8'%20r%3D'6'%2F%3E%3Cpath%20d%3D'M15.48%2012.89%2017%2022l-5-3-5%203%201.52-9.11'%2F%3E%3C%2Fsvg%3E");
  --i-headset: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%2014h3a2%202%200%200%201%202%202v3a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-7a9%209%200%200%201%2018%200v7a2%202%200%200%201-2%202h-1a2%202%200%200%201-2-2v-3a2%202%200%200%201%202-2h3'%2F%3E%3C%2Fsvg%3E");
  --i-code: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolyline%20points%3D'16%2018%2022%2012%2016%206'%2F%3E%3Cpolyline%20points%3D'8%206%202%2012%208%2018'%2F%3E%3C%2Fsvg%3E");
  --i-network: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'16'%20y%3D'16'%20width%3D'6'%20height%3D'6'%20rx%3D'1'%2F%3E%3Crect%20x%3D'2'%20y%3D'16'%20width%3D'6'%20height%3D'6'%20rx%3D'1'%2F%3E%3Crect%20x%3D'9'%20y%3D'2'%20width%3D'6'%20height%3D'6'%20rx%3D'1'%2F%3E%3Cpath%20d%3D'M5%2016v-3a1%201%200%200%201%201-1h12a1%201%200%200%201%201%201v3'%2F%3E%3Cpath%20d%3D'M12%2012V8'%2F%3E%3C%2Fsvg%3E");
  --i-wrench: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M14.7%206.3a1%201%200%200%200%200%201.4l1.6%201.6a1%201%200%200%200%201.4%200l3.77-3.77a6%206%200%200%201-7.94%207.94l-6.91%206.91a2.12%202.12%200%200%201-3-3l6.91-6.91a6%206%200%200%201%207.94-7.94l-3.76%203.76z'%2F%3E%3C%2Fsvg%3E");
  --i-monitor: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'2'%20y%3D'3'%20width%3D'20'%20height%3D'14'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'M8%2021h8M12%2017v4'%2F%3E%3C%2Fsvg%3E");
  --i-bulb: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M15%2014c.2-1%20.7-1.7%201.5-2.5%201-.9%201.5-2.2%201.5-3.5A6%206%200%200%200%206%208c0%201%20.2%202.2%201.5%203.5.7.7%201.3%201.5%201.5%202.5'%2F%3E%3Cpath%20d%3D'M9%2018h6M10%2022h4'%2F%3E%3C%2Fsvg%3E");
  --i-printer: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpolyline%20points%3D'6%209%206%202%2018%202%2018%209'%2F%3E%3Cpath%20d%3D'M6%2018H4a2%202%200%200%201-2-2v-5a2%202%200%200%201%202-2h16a2%202%200%200%201%202%202v5a2%202%200%200%201-2%202h-2'%2F%3E%3Crect%20x%3D'6'%20y%3D'14'%20width%3D'12'%20height%3D'8'%2F%3E%3C%2Fsvg%3E");
  --i-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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2012h14M12%205l7%207-7%207'%2F%3E%3C%2Fsvg%3E");
  --i-play: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'10'%2F%3E%3Cpolygon%20points%3D'10%208%2016%2012%2010%2016%2010%208'%2F%3E%3C%2Fsvg%3E");
  --i-phone: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72%2012.84%2012.84%200%200%200%20.7%202.81%202%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45%2012.84%2012.84%200%200%200%202.81.7A2%202%200%200%201%2022%2016.92z'%2F%3E%3C%2Fsvg%3E");
  --i-mail: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'2'%20y%3D'4'%20width%3D'20'%20height%3D'16'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'm22%207-8.97%205.7a1.94%201.94%200%200%201-2.06%200L2%207'%2F%3E%3C%2Fsvg%3E");
  --i-pin: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%2010c0%206-8%2012-8%2012s-8-6-8-12a8%208%200%200%201%2016%200Z'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'10'%20r%3D'3'%2F%3E%3C%2Fsvg%3E");
  --i-check: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20%206%209%2017l-5-5'%2F%3E%3C%2Fsvg%3E");
  --i-shield: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%2022s8-4%208-10V5l-8-3-8%203v7c0%206%208%2010%208%2010z'%2F%3E%3Cpath%20d%3D'm9%2012%202%202%204-4'%2F%3E%3C%2Fsvg%3E");
  --i-chevron: 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'%231cb5f5'%20stroke-width%3D'1.5'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'm6%209%206%206%206-6'%2F%3E%3C%2Fsvg%3E");
}
.ico-users { --pic: var(--i-users); --pic-m: var(--m-users); }
.ico-rocket { --pic: var(--i-rocket); --pic-m: var(--m-rocket); }
.ico-award { --pic: var(--i-award); --pic-m: var(--m-award); }
.ico-headset { --pic: var(--i-headset); --pic-m: var(--m-headset); }
.ico-code { --pic: var(--i-code); --pic-m: var(--m-code); }
.ico-network { --pic: var(--i-network); --pic-m: var(--m-network); }
.ico-wrench { --pic: var(--i-wrench); --pic-m: var(--m-wrench); }
.ico-monitor { --pic: var(--i-monitor); --pic-m: var(--m-monitor); }
.ico-bulb { --pic: var(--i-bulb); --pic-m: var(--m-bulb); }
.ico-printer { --pic: var(--i-printer); --pic-m: var(--m-printer); }
.ico-arrow { --pic: var(--i-arrow); --pic-m: var(--m-arrow); }
.ico-play { --pic: var(--i-play); --pic-m: var(--m-play); }
.ico-phone { --pic: var(--i-phone); --pic-m: var(--m-phone); }
.ico-mail { --pic: var(--i-mail); --pic-m: var(--m-mail); }
.ico-pin { --pic: var(--i-pin); --pic-m: var(--m-pin); }
.ico-check { --pic: var(--i-check); --pic-m: var(--m-check); }
.ico-shield { --pic: var(--i-shield); --pic-m: var(--m-shield); }
.ico-chevron { --pic: var(--i-chevron); --pic-m: var(--m-chevron); }

/* ---------- Socle ---------- */
img { height: auto; }
/* Espacement automatique de Gutenberg : coupé dans theme.json (blockGap 0)
   et par add_theme_support('disable-layout-styles'). Filet à spécificité nulle. */
:where(.wp-block-group) > :where(*), :where(.wp-block-buttons) { margin-block: 0; }
figure.wp-block-image { margin: 0; }
.wp-site-blocks { padding: 0; }
.wp-block-template-part { margin: 0; }

/* ---------- Surtitre : la puce devient un pseudo-élément ---------- */
.surtitre::before { content: ""; flex: none; width: 0; height: 0; border-left: 8px solid var(--accent); border-top: 6px solid transparent; border-bottom: 6px solid transparent; }

/* ---------- Boutons : la classe est sur le conteneur, le style sur le lien ---------- */
.wp-block-button.bouton { display: inline-block; padding: 0; border: 0; background: none; box-shadow: none; border-radius: 0; gap: 0; transform: none; }
.wp-block-button.bouton:hover { transform: none; box-shadow: none; }
.wp-block-button.bouton > .wp-block-button__link {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 14px 28px; border-radius: var(--rayon);
  font-family: inherit; font-weight: 700; font-size: 17px; line-height: 1.2; color: var(--titre);
  border: 1.5px solid transparent; background: none; box-shadow: none; text-decoration: none;
  transition: background .2s, border-color .2s, transform .2s, box-shadow .2s, color .2s;
  white-space: nowrap;
}
.wp-block-button.bouton-l > .wp-block-button__link { padding: 18px 28px; }
.wp-block-button.bouton-plein > .wp-block-button__link { color: var(--blanc); background: linear-gradient(180deg, #2077ff, var(--bleu-fonce)); box-shadow: 0 10px 30px -10px rgba(26,107,255,.7); }
.wp-block-button.bouton-plein > .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 16px 36px -10px rgba(26,107,255,.9); }
.wp-block-button.bouton-contour > .wp-block-button__link { border-color: var(--contour); }
.wp-block-button.bouton-contour > .wp-block-button__link:hover { border-color: var(--accent); color: var(--accent); }
.b-fleche > .wp-block-button__link::after,
.b-play > .wp-block-button__link::before,
.b-tel > .wp-block-button__link::before { content: ""; flex: none; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--pic-m) center / contain no-repeat; mask: var(--pic-m) center / contain no-repeat; transition: transform .2s; }
.b-fleche { --pic-m: var(--m-arrow); }
.b-play { --pic-m: var(--m-play); }
.b-play > .wp-block-button__link::before { width: 24px; height: 24px; }
.b-tel { --pic-m: var(--m-phone); }
.b-fleche > .wp-block-button__link:hover::after { transform: translateX(3px); }
.heros-actions { display: flex; }

/* ---------- Spans devenus paragraphes : les règles « .x p » de la maquette
   les atteignent désormais, on rétablit leur style d'origine ---------- */
.etape p.etape-num { font-size: 64px; }
.carte-service p.lien-fleche { font-size: 16px; }

/* ---------- Lien fléché ---------- */
.lien-fleche a { display: inline-flex; align-items: center; gap: 8px; }
.lien-fleche a::after { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--m-arrow) center / contain no-repeat; mask: var(--m-arrow) center / contain no-repeat; transition: transform .2s; }
.lien-fleche a:hover::after { transform: translateX(4px); }

/* ---------- En-tête ---------- */
.marque-logo.wp-block-image { height: 70px; width: fit-content; flex: none; transition: height .3s; }
.marque-logo.wp-block-image a { display: block; height: 100%; }
.marque-logo.wp-block-image img { height: 100%; width: auto; }
.entete.defile .marque-logo.wp-block-image { height: 56px; }
.wp-block-navigation.nav { color: var(--titre); margin-left: auto; margin-right: 24px; }
.wp-block-navigation.nav .wp-block-navigation__container { gap: 40px; }
/* WordPress recopie la classe « nav » sur la liste intérieure : on lui retire les marges du menu */
.wp-block-navigation.nav .wp-block-navigation__container.nav { margin: 0; }
.wp-block-navigation.nav .is-menu-open .wp-block-navigation__container.nav { width: 100%; }
.wp-block-navigation.nav .is-menu-open .wp-block-navigation-item { align-items: flex-start; }
.wp-block-navigation.nav .wp-block-navigation-item__content.wp-block-navigation-item__content { display: flex; align-items: center; gap: 6px; color: var(--titre); }
.wp-block-navigation.nav .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
.wp-block-navigation.nav .wp-block-navigation-item__content.wp-block-navigation-item__content.actif { color: var(--accent); }
.nav .a-chevron > a::before { content: ""; order: 2; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--m-chevron) center / contain no-repeat; mask: var(--m-chevron) center / contain no-repeat; }
.wp-block-navigation.nav .wp-block-navigation__responsive-container-open { padding: 11px; border: 1px solid var(--trait-fort); border-radius: var(--rayon); background: var(--surface); color: var(--titre); }
.wp-block-navigation.nav .wp-block-navigation__responsive-container.is-menu-open { background-color: var(--fond) !important; color: var(--titre) !important; padding: 32px var(--gouttiere); }
.wp-block-navigation.nav .wp-block-navigation__responsive-container.is-menu-open { --navigation-layout-justification-setting: stretch; --navigation-layout-justify: flex-start; }
.wp-block-navigation.nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; padding-top: 48px; }
.wp-block-navigation.nav .is-menu-open .wp-block-navigation__container { gap: 0; align-items: stretch; }
.wp-block-navigation.nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--trait); }
.wp-block-navigation.nav .is-menu-open .wp-block-navigation-item__content.wp-block-navigation-item__content { font-size: 20px; padding: 14px 0; }
.wp-block-navigation.nav .is-menu-open a.actif::after { display: none; }
@media (min-width: 961px) { .entete-cta { display: flex; } }
@media (max-width: 960px) {
  .wp-block-navigation.nav { display: flex; margin-right: 0; }
  .wp-block-navigation.nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
  .wp-block-navigation.nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* ---------- Héros : socle dessiné en CSS ---------- */
.heros-objet::before { content: ""; position: absolute; left: -80px; top: 420px; width: 800px; height: 220px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20800%20220'%3E%3Cdefs%3E%3CradialGradient%20id%3D'g'%20cx%3D'.5'%20cy%3D'.5'%20r%3D'.5'%3E%3Cstop%20offset%3D'0'%20stop-color%3D'%23bff3ff'%2F%3E%3Cstop%20offset%3D'.12'%20stop-color%3D'%231cb5f5'%20stop-opacity%3D'.9'%2F%3E%3Cstop%20offset%3D'.5'%20stop-color%3D'%231a6bff'%20stop-opacity%3D'.18'%2F%3E%3Cstop%20offset%3D'1'%20stop-color%3D'%231a6bff'%20stop-opacity%3D'0'%2F%3E%3C%2FradialGradient%3E%3C%2Fdefs%3E%3Cellipse%20cx%3D'400'%20cy%3D'110'%20rx%3D'390'%20ry%3D'100'%20fill%3D'url(%23g)'%20opacity%3D'.35'%2F%3E%3Cg%20fill%3D'none'%20stroke%3D'%231a6bff'%3E%3Cellipse%20cx%3D'400'%20cy%3D'110'%20rx%3D'380'%20ry%3D'96'%20stroke-opacity%3D'.25'%20stroke-dasharray%3D'2%207'%2F%3E%3Cellipse%20cx%3D'400'%20cy%3D'110'%20rx%3D'330'%20ry%3D'82'%20stroke-opacity%3D'.35'%2F%3E%3Cellipse%20cx%3D'400'%20cy%3D'110'%20rx%3D'270'%20ry%3D'66'%20stroke-opacity%3D'.3'%20stroke-dasharray%3D'1%205'%2F%3E%3Cellipse%20cx%3D'400'%20cy%3D'110'%20rx%3D'215'%20ry%3D'52'%20stroke-opacity%3D'.55'%2F%3E%3Cellipse%20cx%3D'400'%20cy%3D'110'%20rx%3D'165'%20ry%3D'40'%20stroke-opacity%3D'.6'%2F%3E%3Cellipse%20cx%3D'400'%20cy%3D'110'%20rx%3D'120'%20ry%3D'29'%20stroke-opacity%3D'.75'%2F%3E%3Cellipse%20cx%3D'400'%20cy%3D'110'%20rx%3D'80'%20ry%3D'19'%20stroke-opacity%3D'.9'%2F%3E%3Cellipse%20cx%3D'400'%20cy%3D'110'%20rx%3D'45'%20ry%3D'11'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.heros-objet::after { content: ""; position: absolute; left: 260px; top: 521px; width: 120px; height: 18px; border-radius: 50%; background: var(--cyan); filter: blur(7px); animation: pulse 3.5s ease-in-out infinite; }
.grand-c.wp-block-image img { width: 100%; height: auto; }

/* ---------- Chiffres ---------- */
.chiffre::before { content: ""; flex: none; width: 64px; height: 64px; background: var(--ico); -webkit-mask: var(--pic-m) center / contain no-repeat; mask: var(--pic-m) center / contain no-repeat; }
.chiffre-val { display: block; color: var(--titre); font-size: 38px; font-weight: 600; line-height: 1.1; }
.chiffre-lib { color: var(--texte); font-size: 18px; }

/* ---------- Pastilles d'icône ---------- */
.a-boite::before { content: ""; flex: none; display: block; width: 60px; height: 60px; border-radius: 12px; border: 1px solid var(--trait-fort); background: var(--pic) center / 28px 28px no-repeat, rgba(26,107,255,.08); margin-bottom: 8px; }
.contact-carte.a-boite::before { margin: 0; }
.carte-etiquette.a-boite::before { margin: 0; width: 48px; height: 48px; background-size: 24px 24px, auto; }
.valeur { display: flex; gap: 20px; }
.valeur::before { content: ""; flex: none; width: 52px; height: 52px; border-radius: 12px; border: 1px solid var(--trait-fort); background: var(--pic) center / 24px 24px no-repeat, var(--surface); }
.atout { gap: 18px; }
.partenaire::before { content: ""; flex: none; width: 56px; height: 56px; border-radius: 50%; background: var(--pic) center / 28px 28px no-repeat, rgba(26,107,255,.1); }
.encart h3::before { content: ""; flex: none; width: 24px; height: 24px; background: var(--ico); -webkit-mask: var(--pic-m) center / contain no-repeat; mask: var(--pic-m) center / contain no-repeat; }
.sommaire a::before { content: ""; flex: none; width: 20px; height: 20px; background: var(--ico); -webkit-mask: var(--pic-m) center / contain no-repeat; mask: var(--pic-m) center / contain no-repeat; }

/* ---------- Listes à coches ---------- */
.liste-coches li::before { content: ""; flex: none; width: 22px; height: 22px; background: var(--ico); -webkit-mask: var(--m-check-gras) center / contain no-repeat; mask: var(--m-check-gras) center / contain no-repeat; }
.grille-puces li::before { content: ""; flex: none; width: 20px; height: 20px; background: var(--ico); -webkit-mask: var(--m-check-gras) center / contain no-repeat; mask: var(--m-check-gras) center / contain no-repeat; }

/* ---------- Badge 2018 ---------- */
.badge-val { color: var(--blanc); font-size: 46px; font-weight: 800; line-height: 1; }
.badge-lib { color: #e3ecff; font-size: 16px; font-weight: 600; margin-top: 6px; }

/* ---------- Photos : la classe est sur la figure ---------- */
.apropos-photo.wp-block-image img, .apropos-photo-2.wp-block-image img,
.pbx-carte.wp-block-image img, .pbx-fond.wp-block-image img,
.detail-photo .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.carte-photo.wp-block-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.detail-photo > .wp-block-image { height: 100%; }

/* ---------- Coordonnées (zone nuit) ---------- */
.coord { display: flex; align-items: center; gap: 18px; padding: 20px 24px; border-radius: 12px; background: var(--verre); border: 1px solid var(--trait); color: var(--titre); font-weight: 600; font-size: 18px; }
.coord::before { content: ""; flex: none; width: 26px; height: 26px; background: var(--ico); -webkit-mask: var(--pic-m) center / contain no-repeat; mask: var(--pic-m) center / contain no-repeat; }
.coord-lib { display: block; color: var(--texte); font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

/* ---------- Pied de page ---------- */
.pied-coord { display: grid; gap: 12px; font-size: 17px; }
.pied-coord p { display: flex; gap: 12px; align-items: center; }
.pied-coord p::before { content: ""; flex: none; width: 20px; height: 20px; background: var(--ico); -webkit-mask: var(--pic-m) center / contain no-repeat; mask: var(--pic-m) center / contain no-repeat; }
.pied-coord a:hover { color: var(--accent); }

/* ---------- Citation ---------- */
.citation-bloc cite { display: flex; align-items: center; gap: 16px; margin-top: 32px; color: var(--accent); font-weight: 700; font-size: 17px; font-style: normal; }
.citation-bloc cite::before { content: ""; width: 48px; height: 2px; background: var(--accent); }

/* ---------- Contact ---------- */
.cc-lib { display: block; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.cc-val { color: var(--titre); font-size: 20px; font-weight: 700; }
.cc-val a:hover { color: var(--accent); }
.carte-adresse { font-size: 15px; }
.formulaire .wpcf7 form { margin: 0; }
.formulaire .wpcf7-form-control-wrap { display: block; font-weight: 400; }
.formulaire .champ textarea { display: block; }
.carte-adresse { line-height: calc(18px * 1.65); }
.formulaire .wpcf7-submit {
  display: inline-flex; align-items: center; padding: 18px 60px 18px 28px; border: 0; border-radius: var(--rayon); cursor: pointer;
  font: inherit; font-weight: 700; font-size: 17px; line-height: 1.2; color: var(--blanc);
  background: 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'%23fff'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%2012h14M12%205l7%207-7%207'%2F%3E%3C%2Fsvg%3E") right 28px center / 20px no-repeat, linear-gradient(180deg, #2077ff, var(--bleu-fonce));
  box-shadow: 0 10px 30px -10px rgba(26,107,255,.7); transition: transform .2s, box-shadow .2s;
}
.formulaire .wpcf7-submit:hover { transform: translateY(-2px); box-shadow: 0 16px 36px -10px rgba(26,107,255,.9); }
.formulaire .wpcf7-spinner { position: absolute; margin: 18px 16px; }
.formulaire .wpcf7-not-valid-tip { color: #d6304a; font-size: 14px; font-weight: 600; margin-top: 6px; }
.formulaire .wpcf7-not-valid { border-color: #d6304a; }
.formulaire .wpcf7 form .wpcf7-response-output { margin: 24px 0 0; padding: 14px 18px; border-radius: var(--rayon); border: 1px solid var(--trait-fort); color: var(--titre); font-size: 16px; }

/* ---------- Adaptatif de la couche ---------- */
@media (max-width: 1200px) {
  .chiffre::before { width: 48px; height: 48px; }
}
@media (max-width: 640px) {
  .marque-logo.wp-block-image, .entete.defile .marque-logo.wp-block-image { height: 52px; }
  .chiffre::before { width: 36px; height: 36px; }
  .chiffre-val { font-size: 28px; }
  .chiffre-lib { font-size: 15px; }
  .badge-val { font-size: 34px; }
  .coord { padding: 16px 18px; font-size: 16px; }
  .cc-val { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .heros-objet::after { animation: none; }
}
