/*
Theme Name: Bravaux
Theme URI: https://www.bravaux.fr
Author: Bravaux
Description: Thème bloc sur mesure du site Bravaux : rénovation de l'habitat et énergies nouvelles. Version 2 : design d'après la référence « Constrc » (en-tête en pilule, cartes arrondies, rubans croisés), identité de la charte Bravaux du 01/09/2026. Contenu 100 % blocs natifs, éditable dans Gutenberg.
Version: 2.1.0
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bravaux
Tags: block-theme, full-site-editing, business, one-column
*/
/* ==========================================================================
   Bravaux · feuille commune à la maquette et au thème WordPress · version 2
   Registre de la référence « Constrc » : en-tête en pilule flottante, cartes
   à angles arrondis et ombre légère, pilules d'action à rond fléché, surtitre
   à tirets, cartes inclinées, rubans croisés, panneaux gris arrondis, pied de
   page en carte noire encartée.
   Identité Bravaux (charte du 01/09/2026) : Bleu #24a2b3 (seul accent),
   Noir #000, blanc dominant, SORA pour les titres, Plus Jakarta Sans pour le
   texte, pilule noire à rond bleu, pictogrammes monoline.
   Le DOM est celui des blocs Gutenberg : les classes des composants sont
   posées sur les blocs (className). Les sélecteurs d'image passent par
   .wp-block-image pour l'emporter sur le CSS des blocs, imprimé après.
   ========================================================================== */

:root{
  --noir:#000000;
  --bleu:#24a2b3;
  --blanc:#ffffff;
  --texte:#5a5a5a;
  --fond:#f4f4f4;
  --trait:#e6e6e6;
  --filet:#cdcdcd;
  --clair:#d4d4d4;
  --ombre:0 22px 44px -24px rgba(0,0,0,.22),0 2px 8px rgba(0,0,0,.035);
  --ombre-forte:0 30px 60px -28px rgba(0,0,0,.34),0 4px 14px rgba(0,0,0,.05);
  --r-carte:18px;
  --r-panneau:48px;
  --titre:'Sora', system-ui, sans-serif;
  --corps:'Plus Jakarta Sans', system-ui, sans-serif;
  --enveloppe:1240px;
  --gouttiere:40px;
  --marge:max(var(--gouttiere), calc((100vw - var(--enveloppe)) / 2));
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--blanc);color:var(--texte);font-family:var(--corps);
  font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{margin:0;font-family:var(--titre);font-weight:600;color:var(--noir);line-height:1.1;
  letter-spacing:-.022em;text-wrap:balance;hyphens:none}
p{margin:0}
a{color:inherit}
figure{margin:0}
sup{font-size:.62em;line-height:0}
strong{font-weight:700;color:var(--noir)}

/* Espacements automatiques de Gutenberg : coupés dans theme.json (blockGap 0px),
   filet de sécurité ici à spécificité nulle, jamais en .wp-block-group > * */
:where(.wp-site-blocks)>*,:where(.wp-block-group)>:where(*),:where(.wp-block-buttons){margin-block:0}
/* WordPress annule la marge haute du premier enfant de chaque groupe (:root :where(.is-layout-flow) > :first-child, 0,2,0) : même règle ici */
:root :where(.wp-block-group) > :first-child{margin-block-start:0}
figure.wp-block-image{margin:0}
.wp-block-image img{display:block;max-width:100%;height:auto}
.wp-block-list{margin:0}

.enveloppe{max-width:calc(var(--enveloppe) + 2 * var(--gouttiere));margin-inline:auto;padding-inline:var(--gouttiere)}
.enveloppe .enveloppe{max-width:none;padding-inline:0}
.evitement{position:absolute;left:-9999px;top:12px;z-index:100;background:var(--blanc);color:var(--noir);padding:10px 16px}
.evitement:focus{left:12px}
:where(a,button,summary,[role="button"],input,select,textarea):focus-visible{outline:2px solid var(--bleu);outline-offset:3px}

/* ---------- Pilules d'action : pilule noire, texte blanc en capitales, rond Bleu Bravaux fléché ---------- */
.wp-block-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.wp-block-button{display:inline-block;margin:0}
.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:18px;
  min-height:56px;padding:6px 6px 6px 28px;border-radius:999px;border:1.5px solid transparent;
  font-family:var(--corps);font-weight:700;font-size:13px;line-height:1;letter-spacing:.07em;text-transform:uppercase;
  text-decoration:none;white-space:nowrap;word-break:normal;box-shadow:none;
  transition:background-color .2s,color .2s,border-color .2s}
.wp-block-button .wp-block-button__link::after{content:"";flex:0 0 44px;height:44px;border-radius:50%;
  background:var(--fleche) center/17px no-repeat var(--bleu);transition:transform .25s}
.wp-block-button .wp-block-button__link:hover::after{transform:rotate(45deg)}
.wp-block-button.b-plein .wp-block-button__link{background:var(--noir);border-color:var(--noir);color:var(--blanc)}
.wp-block-button.b-plein .wp-block-button__link:hover{background:#1f1f1f}
.wp-block-button.b-contour .wp-block-button__link{background:transparent;border-color:var(--contour,var(--noir));color:var(--contour,var(--noir))}
.wp-block-button.b-contour .wp-block-button__link:hover{background:var(--contour,var(--noir));color:var(--contour-inverse,var(--blanc))}
.wp-block-button.b-tel .wp-block-button__link{background:transparent;border-color:var(--noir);color:var(--noir)}
.wp-block-button.b-tel .wp-block-button__link::after{background-image:var(--tel);background-size:19px}
.wp-block-button.b-petit .wp-block-button__link{min-height:40px;padding:0 18px;gap:0;background:var(--noir);color:var(--blanc);font-size:12.5px}
.wp-block-button.b-petit .wp-block-button__link::after{content:none}

/* ---------- Surtitre : tirets bleus, petites capitales noires ---------- */
.surtitre{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--noir);line-height:1.2}
.surtitre::before,.surtitre-centre::after{content:"";flex:0 0 34px;height:2px;
  background:repeating-linear-gradient(90deg,var(--bleu) 0 5px,transparent 5px 8px)}
.surtitre-centre{justify-content:center}
.petit-titre{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--noir);line-height:1.3}

.titre-section{font-size:clamp(32px,3.5vw,60px);line-height:1.1}
.titre-section em,.encadre h2 em,.titre-page em{font-style:normal;color:var(--bleu)}
.tete-section .titre-section{margin-top:20px;max-width:17em}
.tete-centre{text-align:center;max-width:780px;margin-inline:auto}
.tete-centre .titre-section{margin-inline:auto}
.intro{max-width:620px}
.tete-section .intro{margin-top:22px}
.tete-centre .intro{margin-inline:auto}
.bloc-suite{margin-top:64px}
.bloc-suite .bloc-suite{margin-top:40px}

/* ---------- Pictogrammes : rond Bleu Bravaux, trait noir ---------- */
.ico::before{content:"";display:block;width:54px;height:54px;border-radius:50%;
  background:var(--ico) center/27px no-repeat var(--bleu)}

/* ---------- En-tête : pilule blanche flottante (logo + menu), actions à droite ---------- */
.entete{position:absolute;inset:0 0 auto 0;z-index:30;padding:26px clamp(16px,3.2vw,46px) 0}
.admin-bar .entete{top:32px}
.entete-rangee{display:flex;align-items:center;justify-content:space-between;gap:20px}
.entete-pilule{display:flex;align-items:center;gap:26px;min-height:68px;background:var(--blanc);border-radius:999px;
  padding:2px 30px 2px 14px;box-shadow:0 14px 34px -16px rgba(0,0,0,.35)}
.wp-block-site-logo.marque{line-height:0}
.wp-block-site-logo.marque a{display:block}
.wp-block-site-logo.marque img{height:62px;width:auto}
.menu{display:flex;align-items:center;align-self:stretch;border-left:1px solid var(--trait);padding-left:26px}
.menu-liens{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.menu-liens li{margin:0}
.menu-liens a{position:relative;display:block;white-space:nowrap;padding-block:10px;color:var(--noir);text-decoration:none;font-size:15px;font-weight:600;line-height:1}
.menu-liens a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--bleu);transition:right .25s}
.menu-liens a[aria-current]::after,.menu-liens a:hover::after{right:0}
.entete-actions{display:flex;align-items:center;gap:12px}
.menu-cta .wp-block-button__link{min-height:60px;padding-left:30px;box-shadow:0 14px 34px -16px rgba(0,0,0,.45)}
.burger{display:block;width:60px;height:60px;border-radius:50%;background:var(--noir);color:transparent;
  overflow:hidden;white-space:nowrap;text-indent:100%;position:relative;text-decoration:none;box-shadow:0 14px 34px -16px rgba(0,0,0,.45)}
.burger::before{content:"";position:absolute;inset:0;background:var(--blanc);
  -webkit-mask:var(--tel) center/22px no-repeat;mask:var(--tel) center/22px no-repeat}
.burger{display:none;cursor:pointer}
.burger::before{-webkit-mask-image:var(--menu);mask-image:var(--menu)}
body.menu-ouvert .burger::before{-webkit-mask-image:var(--fermer);mask-image:var(--fermer)}
/* ---------- Héros : photo en couleurs naturelles ; pages intérieures : texte dans une carte blanche arrondie ;
   accueil : texte blanc posé sur la photo (format retenu par Florian) ---------- */
.heros{position:relative;overflow:hidden;background:#dfe5e8;display:flex;align-items:flex-end}
.heros > .wp-block-image.heros-photo{position:absolute;inset:0;margin:0}
.heros > .wp-block-image.heros-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 58%}
.heros-accueil > .wp-block-image.heros-photo img{object-position:60% 50%}
.heros-accueil{min-height:clamp(700px,100vh,max(920px,48vw));padding:150px var(--marge) 116px}
.heros-page{min-height:clamp(560px,80vh,720px);padding:150px var(--marge) 108px}
.heros-page.heros-court{min-height:clamp(480px,64vh,580px)}
.cadrage-haut > .wp-block-image.heros-photo img{object-position:50% 12%}
.cadrage-milieu > .wp-block-image.heros-photo img{object-position:50% 36%}
.cadrage-bas > .wp-block-image.heros-photo img{object-position:50% 85%}
.heros:last-child{margin-bottom:24px;border-radius:0 0 var(--r-panneau) var(--r-panneau)}
.heros-carte{position:relative;z-index:2;max-width:680px;background:var(--blanc);border-radius:30px;
  padding:46px 50px 48px;box-shadow:var(--ombre-forte)}
.heros-page .heros-carte{max-width:660px;padding:38px 46px 42px}
.titre-heros{font-size:clamp(46px,5.3vw,92px);line-height:1;letter-spacing:-.04em}
/* Accueil : la photo reste lumineuse à droite (grange solaire, vignes) ; elle n'est assombrie que sous le texte,
   calé sur la marge, juste assez pour le contraste du blanc (mesuré sur la photo, de 1 024 à 2 560 px). */
.heros-accueil::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.52) 0,rgba(0,0,0,.44) calc(var(--marge) + 560px),rgba(0,0,0,.2) calc(var(--marge) + 720px),rgba(0,0,0,0) calc(var(--marge) + 920px))}
.heros-accueil .heros-carte{max-width:min(860px, calc(100% - 380px));padding:0;background:none;border-radius:0;box-shadow:none}
.heros-accueil .titre-heros{color:var(--blanc);font-size:clamp(46px,4.4vw,80px)}
.heros-accueil .chapeau{max-width:34em;color:var(--blanc);font-weight:500}
.titre-page{font-size:clamp(34px,3.6vw,54px);line-height:1.08;letter-spacing:-.03em}
.chapeau{margin-top:22px;font-size:17px;line-height:1.65;color:var(--texte)}
.heros-page .chapeau{font-size:16.5px}
.heros-boutons{margin-top:32px}
.fil{margin-bottom:18px;font-size:13px;font-weight:600;color:var(--texte);line-height:1.4}
.fil a{color:var(--noir);text-decoration:none}
.fil a:hover{text-decoration:underline;text-decoration-color:var(--bleu);text-underline-offset:4px}
.meta{margin-top:16px;font-size:13px;font-weight:600;color:var(--texte)}
.heros-reseaux{position:absolute;z-index:2;left:clamp(14px,2vw,34px);top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;align-items:center;gap:12px}
.heros-reseaux::after{content:"";width:2px;height:78px;margin-top:6px;background:var(--blanc);border-radius:2px;
  box-shadow:0 70px 0 -1px var(--blanc)}
.reseau a{display:block;width:44px;height:44px;border-radius:50%;background:var(--blanc);color:transparent;overflow:hidden;
  white-space:nowrap;text-indent:100%;position:relative;box-shadow:0 10px 24px -12px rgba(0,0,0,.4)}
.reseau a::before{content:"";position:absolute;inset:0;background:var(--noir);
  -webkit-mask:var(--ico) center/19px no-repeat;mask:var(--ico) center/19px no-repeat}
/* La pastille flotte 12 px au-dessus du toit solaire de la photo d'accueil (Lourmarin : haut de la grange à 60,8 %
   de la hauteur de l'image, cadrée à 50 %). Hauteur rendue de l'image = max(hauteur du héros, 68,25 % de la largeur),
   d'où bottom = min(39,2 % ; 50 % − 7,37 vw) + 12 px. À recalculer si la photo ou son cadrage change. */
.heros-preuve{position:absolute;z-index:2;right:var(--marge);bottom:calc(min(39.2%, 50% - 7.37vw) + 12px);display:flex;align-items:center;gap:16px;
  background:var(--blanc);border-radius:999px;padding:8px 26px 8px 8px;box-shadow:var(--ombre-forte)}
.preuve-vignettes{display:flex}
.preuve-vignettes .wp-block-image.vignette{width:52px;height:52px;border-radius:50%;overflow:hidden;border:3px solid var(--blanc);margin-left:-16px}
.preuve-vignettes .wp-block-image.vignette:first-child{margin-left:0}
.preuve-vignettes .wp-block-image.vignette img{width:100%;height:100%;object-fit:cover}
.preuve-texte{font-size:14px;line-height:1.25;color:var(--texte)}
.preuve-texte strong{display:block;font-family:var(--titre);font-weight:600;font-size:19px;color:var(--noir);letter-spacing:-.02em}

/* La section qui suit un héros remonte sur la photo : angles arrondis et règle graduée */
.heros + *{position:relative;z-index:3;margin-top:-48px;border-radius:var(--r-panneau) var(--r-panneau) 0 0;background-color:var(--blanc)}
.heros + *::before{content:"";position:absolute;z-index:0;left:var(--r-panneau);right:var(--r-panneau);top:0;height:30px;pointer-events:none;
  background:repeating-linear-gradient(90deg,#d2d2d2 0 1px,transparent 1px 10px) top left/100% 12px no-repeat,
             repeating-linear-gradient(90deg,#c4c4c4 0 1px,transparent 1px 50px) top left/100% 26px no-repeat;
  -webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}

/* ---------- Accueil · Qui sommes-nous ---------- */
.apropos{padding:130px 0 120px}
.apropos-grille{display:grid;grid-template-columns:clamp(260px,19vw,330px) minmax(0,1fr) clamp(260px,18.5vw,330px);gap:clamp(32px,4.4vw,72px);align-items:start}
.apropos-gauche{position:relative;padding-top:10px}
.apropos-gauche::after{content:"";display:block;margin:34px 0 0 -40px;width:360px;max-width:130%;aspect-ratio:440/320;
  background:var(--decor-maison) left bottom/contain no-repeat}
.stat-carte{position:relative;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r-carte);padding:32px 30px 30px;box-shadow:var(--ombre)}
.stat-carte::before{content:"";position:absolute;top:26px;right:26px;width:12px;height:12px;border-radius:50%;background:var(--bleu)}
.stat-chiffre{font-family:var(--titre);font-weight:600;font-size:68px;line-height:1;color:var(--noir);letter-spacing:-.04em}
.stat-titre{margin-top:26px;padding-top:20px;border-top:1px solid var(--noir);font-weight:700;font-size:17px;line-height:1.35;color:var(--noir)}
.stat-texte{margin-top:8px;font-size:14px;line-height:1.6}
.apropos-texte .titre-section{margin-top:22px}
.apropos-texte p{margin-top:26px;max-width:540px}
.apropos-texte .wp-block-buttons{margin-top:36px}
.apropos-droite{position:relative}
.apropos-droite .wp-block-image.photo-flottante{position:relative;z-index:4;margin-top:-290px;border:9px solid var(--blanc);border-radius:26px;overflow:hidden;
  box-shadow:var(--ombre-forte);transform:rotate(3.5deg);aspect-ratio:4/5}
.apropos-droite .wp-block-image.photo-flottante img{width:100%;height:100%;object-fit:cover}
.noir-carte{position:relative;margin-top:40px;background:var(--noir);color:var(--clair);border-radius:var(--r-carte);padding:28px 28px 30px}
.noir-carte.ico::before{position:absolute;top:24px;right:24px}
.noir-surtitre{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--blanc);line-height:1.2}
.noir-chiffre{margin-top:52px;padding-top:22px;border-top:1px solid rgba(255,255,255,.35);font-family:var(--titre);font-weight:600;font-size:60px;line-height:1;color:var(--blanc);letter-spacing:-.04em}
.noir-texte{margin-top:10px;font-size:14px;line-height:1.55;color:var(--clair)}

/* ---------- Accueil · Métiers en défilement horizontal ---------- */
.metiers-defile{padding:30px 0 130px;overflow:hidden}
.md-grille{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:clamp(32px,4vw,64px);padding-left:var(--marge)}
.md-texte{display:flex;flex-direction:column;padding-bottom:30px}
.md-texte .titre-section{margin-top:22px}
.md-texte .intro{margin-top:24px}
.md-texte .wp-block-buttons{margin-top:auto;padding-top:36px}
.defile{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:14px var(--gouttiere) 30px 6px;
  scrollbar-width:thin;scrollbar-color:var(--noir) var(--trait)}
.defile::-webkit-scrollbar{height:6px}
.defile::-webkit-scrollbar-track{background:var(--trait);border-radius:6px}
.defile::-webkit-scrollbar-thumb{background:var(--noir);border-radius:6px}
.carte-metier{position:relative;flex:0 0 clamp(300px,21.5vw,410px);min-height:440px;scroll-snap-align:start;display:flex;flex-direction:column;
  background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r-carte);padding:10px 10px 28px;box-shadow:var(--ombre)}
.carte-metier .wp-block-image.cm-photo{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/10.5}
.carte-metier .wp-block-image.cm-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.carte-metier:hover .wp-block-image.cm-photo img{transform:scale(1.04)}
.carte-metier .wp-block-image.cm-photo::after,.carte-media::after{content:"";position:absolute;right:12px;bottom:12px;width:40px;height:40px;border-radius:50%;
  background:var(--fleche) center/16px no-repeat var(--bleu)}
.cm-titre{display:flex;align-items:center;gap:18px;margin:26px 14px 34px;font-size:24px;font-weight:400;letter-spacing:-.015em;line-height:1.2;min-height:2.4em}
.cm-titre::before{content:"";flex:0 0 42px;height:42px;background:var(--noir);-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.cm-titre a,.polaroid-titre a,.carte h3 a,.cc-titre a,.ad-etiquette h3 a{color:inherit;text-decoration:none}
.cm-titre a::after,.polaroid-titre a::after,.carte h3 a::after,.cc-titre a::after,.ad-etiquette h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.cm-texte{margin:auto 14px 0;padding-top:18px;border-top:1px solid var(--trait);font-size:14.5px;line-height:1.6}

/* ---------- Panneau gris arrondi ---------- */
.panneau{position:relative;overflow:hidden;background:var(--fond);border-radius:var(--r-panneau)}
.distinctions .panneau{padding:112px 0 150px}
.distinctions .panneau::after{content:"";position:absolute;z-index:0;left:0;right:0;bottom:0;height:250px;
  background:var(--decor-rue) center bottom/auto 100% repeat-x;pointer-events:none}
.distinctions .enveloppe{position:relative;z-index:1}
.collage{margin-top:60px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 26px;align-items:start}
.collage-a{position:relative;grid-row:span 2;align-self:stretch;min-height:440px;border-radius:var(--r-carte);overflow:hidden;box-shadow:var(--ombre)}
.collage-a .wp-block-image.collage-photo{position:absolute;inset:0}
.collage-a .wp-block-image.collage-photo img{width:100%;height:100%;object-fit:cover}
.collage-a .dist{position:absolute;left:14px;right:14px;bottom:14px}
.dist{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:22px;align-items:center;
  background:var(--blanc);border-radius:16px;padding:26px 26px 24px;box-shadow:var(--ombre)}
.dist h3{font-size:23px;font-weight:400;letter-spacing:-.015em;line-height:1.2}
.dist-texte{grid-column:1 / -1;margin-top:20px;padding-top:18px;border-top:1px solid var(--trait);font-size:14.5px;line-height:1.6}
.dist-b{transform:rotate(-2deg) translateY(4px)}
.dist-c{transform:rotate(-3.4deg) translateY(-4px)}
.dist-d{transform:rotate(2.7deg) translateY(10px)}
.collage > .wp-block-image.collage-e{border-radius:var(--r-carte);overflow:hidden;box-shadow:var(--ombre-forte);transform:rotate(-4deg) translateY(6px);aspect-ratio:4/3}
.collage > .wp-block-image.collage-e img{width:100%;height:100%;object-fit:cover}

/* ---------- Accueil · Polaroïds inclinés ---------- */
.polaroids{padding:130px 0 130px;overflow:hidden}
.polaroids-grille{margin:64px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:40px clamp(44px,4vw,64px)}
.polaroid{position:relative;background:#f6f6f6;border-radius:22px;padding:16px 16px 30px;box-shadow:var(--ombre-forte)}
.polaroid:nth-child(1){transform:rotate(-4.2deg)}
.polaroid:nth-child(2){transform:rotate(3deg) translateY(14px)}
.polaroid:nth-child(3){transform:rotate(3.6deg)}
.polaroid:nth-child(4){transform:rotate(-.6deg) translateY(10px)}
.polaroid .wp-block-image.polaroid-photo{border-radius:14px;overflow:hidden;aspect-ratio:16/11}
.polaroid .wp-block-image.polaroid-photo img{width:100%;height:100%;object-fit:cover}
.polaroid-titre{margin:24px 70px 0 8px;font-size:clamp(22px,1.9vw,30px);line-height:1.2}
.polaroid-tag{display:flex;align-items:center;gap:10px;margin:12px 70px 0 8px;font-size:14px;font-weight:600;color:var(--noir)}
.polaroid-tag::before{content:"";flex:0 0 22px;height:22px;background:var(--texte);-webkit-mask:var(--etiquette) center/contain no-repeat;mask:var(--etiquette) center/contain no-repeat}
.polaroid::after{content:"";position:absolute;right:24px;bottom:30px;width:42px;height:42px;border-radius:50%;background:var(--fleche) center/16px no-repeat var(--bleu)}

/* ---------- Accueil · Bande photo et promesse ---------- */
.bande{position:relative;overflow:hidden;min-height:780px;padding:330px 0 96px;background:#cfd7db}
.bande > .wp-block-image.bande-photo{position:absolute;inset:0;margin:0}
.bande > .wp-block-image.bande-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.bande::after{content:"on finit ce\A qu\2019 on commence";white-space:pre;position:absolute;z-index:1;left:0;right:0;top:54px;text-align:center;
  font-family:var(--titre);font-weight:600;font-size:clamp(56px,8.4vw,132px);line-height:.98;letter-spacing:-.045em;color:rgba(255,255,255,.8);pointer-events:none}
.bande-contenu{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.promesse-carte{position:relative;max-width:clamp(520px,36vw,690px);background:var(--blanc);border-radius:22px;padding:clamp(34px,2.6vw,50px) clamp(36px,3vw,54px)}
.promesse-carte::before{content:"";position:absolute;z-index:-1;inset:14px -12px -14px 12px;background:var(--noir);border-radius:22px;transform:rotate(-1.6deg)}
.promesse-haut{display:flex;justify-content:space-between;gap:28px;padding-bottom:22px;border-bottom:1px solid var(--trait)}
.promesse-chiffre{font-size:14px;line-height:1.35}
.promesse-chiffre strong{display:block;margin-bottom:4px;font-family:var(--titre);font-weight:600;font-size:32px;line-height:1;letter-spacing:-.03em}
.promesse-chiffre:first-child strong{color:var(--bleu)}
.promesse-citation{margin-top:24px;font-size:19px;line-height:1.6;color:#262626}
.promesse-signature{margin-top:20px;text-align:right;font-size:14px;line-height:1.45}
.promesse-signature strong{display:block;font-size:16px}
.bande-legende{background:var(--noir);color:var(--blanc);border-radius:999px;padding:10px 20px;font-size:13.5px;font-weight:600;white-space:nowrap}

/* ---------- Accueil · Agences (grandes photos à étiquette noire) ---------- */
.agences-duo{padding:140px 0 40px}
.ad-grille{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,.92fr);gap:clamp(40px,5vw,80px);align-items:start}
.ad-cartes{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.ad-carte{position:relative;padding:14px 14px 0 0}
.ad-carte::before{content:"";position:absolute;inset:0 0 60px 14px;border:1px solid var(--filet);border-radius:24px}
.ad-carte .wp-block-image.ad-photo{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:5/6}
.ad-carte .wp-block-image.ad-photo img{width:100%;height:100%;object-fit:cover}
.ad-etiquette{position:relative;margin-top:-40px;background:var(--noir);border-radius:16px 999px 999px 16px;padding:15px 66px 15px 20px;min-height:96px;display:flex;flex-direction:column;justify-content:center}
.ad-etiquette::after{content:"";position:absolute;right:10px;top:50%;margin-top:-21px;width:42px;height:42px;border-radius:50%;background:var(--fleche) center/16px no-repeat var(--bleu)}
.ad-etiquette h3{position:static;color:var(--blanc);font-size:20px;line-height:1.2}
.ad-etiquette p{margin-top:5px;font-size:12.5px;line-height:1.45;color:var(--clair)}
.ad-texte{padding-top:20px}
.ad-texte .titre-section{margin-top:22px}
.ad-texte p{margin-top:24px;max-width:520px}
.ad-vignettes{margin-top:38px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ad-vignettes .wp-block-image.ad-vignette{border-radius:14px;overflow:hidden;aspect-ratio:5/6}
.ad-vignettes .wp-block-image.ad-vignette img{width:100%;height:100%;object-fit:cover}
.ad-texte .wp-block-buttons{margin-top:36px}

/* ---------- Accueil · Fabricants ---------- */
.fabricants{padding:80px 0 20px}
.fab-noms{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:22px 36px}
.fab-nom{font-family:var(--titre);font-weight:700;font-size:clamp(20px,2vw,28px);line-height:1;letter-spacing:-.03em;color:#a3a3a3}
.fab-legende{margin:44px auto 0;width:max-content;max-width:100%;border:1px solid #b9b9b9;border-radius:999px;padding:10px 22px;
  font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#333;text-align:center}

/* ---------- Accueil · Rubans croisés ---------- */
.rubans{position:relative;overflow:hidden;padding:80px 0 120px}
.ruban{overflow:hidden;white-space:nowrap}
.ruban-piste{display:flex;width:max-content;animation:defiler 46s linear infinite}
.ruban-item{display:flex;align-items:center;flex:0 0 auto;font-family:var(--titre);font-weight:700;text-transform:uppercase;line-height:1.15;letter-spacing:-.01em}
.ruban-item::after{content:"\2731";margin:0 .55em;font-size:.55em;color:var(--bleu)}
.ruban-mots .ruban-item{font-size:clamp(40px,5vw,74px);color:var(--noir)}
.ruban-mots .ruban-item:nth-child(even){color:transparent;-webkit-text-stroke:1.4px #8f8f8f}
.ruban-bleu{position:relative;z-index:1;margin:-16px -60px 0;padding:20px 0;background:var(--bleu);transform:rotate(2.2deg)}
.ruban-bleu .ruban-piste{animation-duration:38s;animation-direction:reverse}
.ruban-bleu .ruban-item{font-size:clamp(20px,2.3vw,32px);color:var(--noir)}
.ruban-bleu .ruban-item::after{color:var(--noir)}
@keyframes defiler{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Accueil · FAQ (bloc natif « Détails ») ---------- */
.faq{padding:110px 0 130px}
.faq-grille{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:stretch}
.faq-gauche{display:flex;flex-direction:column}
.faq-gauche .titre-section{margin-top:20px;font-size:clamp(32px,3.2vw,50px)}
.faq-gauche .intro{margin-top:24px;margin-bottom:40px}
.aide-carte{margin-top:auto;display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px;padding:10px;background:#e8e8e8;border-radius:16px}
.aide-carte .wp-block-image.aide-picto{display:flex;align-items:center;justify-content:center;background:var(--blanc);border-radius:11px;padding:18px}
.aide-carte .wp-block-image.aide-picto img{width:100%;height:auto;border-radius:12px}
.aide-texte{background:var(--blanc);border-radius:11px;padding:20px 22px 22px}
.aide-texte h3{font-size:18px}
.aide-texte p{margin-top:6px;font-size:14px;line-height:1.55}
.aide-texte .wp-block-buttons{margin-top:14px}
.faq-liste{display:flex;flex-direction:column;gap:16px}
.wp-block-details.faq-item{border:1px solid #c9c9c9;border-radius:34px;background:#f7f7f7;transition:border-radius .25s,background-color .25s}
.wp-block-details.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;
  min-height:66px;padding:12px 12px 12px 30px;font-weight:700;font-size:16.5px;line-height:1.4;color:var(--noir)}
.wp-block-details.faq-item summary::-webkit-details-marker{display:none}
.wp-block-details.faq-item summary::marker{content:""}
.wp-block-details.faq-item summary::after{content:"";flex:0 0 42px;height:42px;border-radius:50%;background:var(--fleche) center/16px no-repeat var(--bleu);transition:transform .25s}
.wp-block-details.faq-item[open]{background:var(--blanc);border-radius:26px}
.wp-block-details.faq-item[open] summary::after{background-color:var(--noir);background-image:var(--fleche-blanche);transform:rotate(90deg)}
.wp-block-details.faq-item > p{padding:0 30px 26px;font-size:15px;line-height:1.7}

/* ---------- Accueil · Contact et formulaire court ---------- */
.contact-accueil{position:relative;overflow:hidden;background:var(--fond);padding:110px 0 90px}
.contact-accueil::after{content:"";position:absolute;z-index:0;left:0;right:0;bottom:0;height:210px;
  background:var(--decor-chantier) center bottom/auto 100% repeat-x;pointer-events:none}
.ca-grille{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 250px minmax(0,560px);gap:clamp(32px,3.6vw,56px);align-items:start}
.ca-grille > .wp-block-image.ca-photo{margin-left:calc(-1 * var(--marge));border-radius:0 26px 26px 0;overflow:hidden;aspect-ratio:3/4;align-self:stretch;max-height:640px}
.ca-grille > .wp-block-image.ca-photo img{width:100%;height:100%;object-fit:cover}
.ca-infos{display:flex;flex-direction:column;gap:34px;padding-top:26px}
.info{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:18px;align-items:center}
.info::before{grid-row:span 2}
.info h3{font-size:19px;align-self:end}
.info p{font-size:14.5px;line-height:1.5;align-self:start}
.info p a{color:var(--texte);text-decoration:none}
.info p a:hover{color:var(--noir);text-decoration:underline}
.ca-form .titre-section{margin-top:20px}
.ca-form .intro{margin-top:20px}

/* ---------- Formulaires (Contact Form 7, gabarit aux classes de la maquette) ---------- */
.wpcf7 form{margin:0}
.formulaire .champ{position:relative}
.formulaire .wpcf7-form-control-wrap{display:block}
.formulaire ::placeholder{color:#8a8a8a;opacity:1}
.formulaire input[type=text],.formulaire input[type=tel],.formulaire input[type=email],.formulaire select,.formulaire textarea{display:block;width:100%;
  height:56px;border:1px solid transparent;border-radius:999px;background:var(--blanc);padding:0 24px;
  font-family:var(--corps);font-size:15px;color:var(--noir);-webkit-appearance:none;appearance:none}
.formulaire select{background:var(--chevron) right 22px center/14px no-repeat var(--blanc);padding-right:48px;cursor:pointer}
.formulaire textarea{height:auto;min-height:130px;border-radius:24px;padding:18px 24px;resize:vertical;line-height:1.55}
.formulaire input:focus,.formulaire select:focus,.formulaire textarea:focus{border-color:var(--bleu);outline:none}
.formulaire-grille{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.formulaire-court{margin-top:30px}
.formulaire-court label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.formulaire-court .consentement label,.formulaire-court .consentement label *{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}
.champ-message{margin-top:14px}
.formulaire-pied{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}
.consentement{font-size:13px;line-height:1.5;color:var(--texte)}
.consentement .wpcf7-list-item{margin:0}
.consentement label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.consentement input{flex:0 0 auto;margin-top:2px;accent-color:var(--bleu)}
.consentement a{color:var(--noir)}
.bouton-envoyer{flex:0 0 auto;height:56px;border:0;border-radius:999px;cursor:pointer;padding:0 70px 0 30px;
  background:var(--pilule-fleche) right 6px center/44px no-repeat var(--noir);color:var(--blanc);
  font-family:var(--corps);font-weight:700;font-size:13px;letter-spacing:.07em;text-transform:uppercase}
.wpcf7-spinner{display:none}
.wpcf7-not-valid-tip{display:block;margin:6px 0 0 20px;font-size:12.5px;color:#b3261e}
.wpcf7-response-output{margin:18px 0 0;padding:12px 18px;border-radius:14px;font-size:14px}
.wpcf7 form.sent .wpcf7-response-output{border:1px solid var(--bleu)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{border:1px solid #b3261e}

/* ---------- Accueil · Conseils ---------- */
.conseils-accueil{padding:120px 0 130px}
.tete-ligne{display:flex;justify-content:space-between;align-items:flex-end;gap:28px}
.cadre-conseils{margin-top:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--filet);border-radius:24px;overflow:hidden}
.carte-conseil{position:relative;display:flex;flex-direction:column;padding:14px 14px 0}
.carte-conseil + .carte-conseil{border-left:1px solid var(--filet)}
.cc-media{position:relative}
.cc-media .wp-block-image.cc-photo{border-radius:14px;overflow:hidden;aspect-ratio:16/10.5}
.cc-media .wp-block-image.cc-photo img{width:100%;height:100%;object-fit:cover}
.cc-badge{position:absolute;right:16px;bottom:0;background:var(--noir);color:var(--blanc);border-radius:14px 14px 0 0;padding:9px 20px 7px;
  font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1.2}
.cc-titre{margin:26px 8px 0;font-size:21px;line-height:1.35}
.cc-texte{margin:12px 8px 26px;font-size:14.5px;line-height:1.6}
.cc-meta{display:flex;justify-content:space-between;gap:12px;margin:auto -14px 0;padding:16px 22px;border-top:1px solid var(--filet);font-size:13px;font-weight:600;color:var(--noir)}
.cc-meta p{display:flex;align-items:center;gap:8px}
.cc-meta p::before{content:"";width:18px;height:18px;background:var(--bleu);-webkit-mask:var(--horloge) center/contain no-repeat;mask:var(--horloge) center/contain no-repeat}
.cc-meta .cc-auteur::before{-webkit-mask-image:var(--auteur);mask-image:var(--auteur)}

/* ---------- Pied de page : carte noire encartée, filigrane de la signature ---------- */
.pied{padding:0 24px 24px}
.pied-carte{position:relative;overflow:hidden;background:var(--decor-rue-sombre) center bottom 60px/auto 210px repeat-x var(--noir);color:var(--clair);border-radius:var(--r-panneau);padding:70px max(clamp(24px,7vw,120px),calc(var(--marge) - 24px)) 26px}
.pied-carte::after{content:"on finit ce\A qu\2019 on commence";white-space:pre;position:absolute;z-index:0;left:0;right:0;bottom:84px;text-align:center;
  font-family:var(--titre);font-weight:600;font-size:clamp(80px,10.2vw,176px);line-height:.9;letter-spacing:-.05em;color:rgba(255,255,255,.075);pointer-events:none}
.pied-carte > *{position:relative;z-index:1}
.pied-haut{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-bottom:56px;border-bottom:1px solid #262626}
.pied-titre{color:var(--blanc);font-size:clamp(28px,3vw,44px);line-height:1.1}
.pied-sous{margin-top:10px;font-size:15px;color:var(--clair)}
.pied-pilule{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:min(480px,100%);background:var(--blanc);border-radius:999px;padding:6px 6px 6px 30px}
.pied-tel a{display:flex;align-items:center;gap:12px;font-family:var(--titre);font-weight:600;font-size:22px;color:var(--noir);text-decoration:none;letter-spacing:-.02em;white-space:nowrap}
.pied-tel a::before{content:"";width:22px;height:22px;background:var(--bleu);-webkit-mask:var(--tel) center/contain no-repeat;mask:var(--tel) center/contain no-repeat}
.pied-grille{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:40px;padding:56px 0 96px}
.wp-block-site-logo.pied-logo{line-height:0}
.wp-block-site-logo.pied-logo img{height:76px;width:auto;margin-left:-26px;filter:brightness(0) invert(1)}
.pied-texte{margin-top:16px;max-width:340px;font-size:14.5px;line-height:1.65}
.pied-reseaux{display:flex;align-items:center;gap:10px;margin-top:26px}
.pied-suivre{margin-right:6px;font-weight:700;color:var(--blanc);font-size:15px}
.pied-reseaux .reseau a{width:38px;height:38px;background:transparent;border:1px solid #3a3a3a;box-shadow:none}
.pied-reseaux .reseau a::before{background:var(--blanc);-webkit-mask-size:17px;mask-size:17px}
.pied-col-titre{margin-bottom:18px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8d8d8d}
.pied-liens{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.pied-liens li{position:relative;padding-left:16px;font-size:16px;line-height:1.45;color:var(--blanc)}
.pied-liens li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--bleu)}
.pied-liens a{color:var(--blanc);text-decoration:none}
.pied-liens a:hover{color:var(--blanc);text-decoration:underline;text-decoration-color:var(--bleu);text-underline-offset:4px}
.pied-adresse{margin-top:16px;font-size:14px;line-height:1.6}
.pied-bas{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;background:#1d1d1d;border-radius:999px;padding:13px 28px;font-size:13.5px;color:var(--clair)}
.pied-bas a{color:inherit;text-decoration:none}
.pied-bas a:hover{color:var(--blanc);text-decoration:underline}

/* ==========================================================================
   Pages internes
   ========================================================================== */

/* ---------- Texte + photo dans un cadre décalé ---------- */
.ti{padding:104px 0}
.ti-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.ti-gauche .ti-grille > .wp-block-image.ti-photo{order:-1}
.ti-texte .titre-section{margin-top:22px}
.ti-texte p{margin-top:22px;max-width:560px}
.ti-texte .wp-block-buttons{margin-top:34px}
.ti-grille > .wp-block-image.ti-photo{position:relative;isolation:isolate;padding:0 16px 16px 0}
.ti-gauche .ti-grille > .wp-block-image.ti-photo{padding:0 0 16px 16px}
.ti-grille > .wp-block-image.ti-photo::before{content:"";position:absolute;z-index:-1;inset:16px 0 0 16px;border:1px solid var(--filet);border-radius:28px}
.ti-gauche .ti-grille > .wp-block-image.ti-photo::before{inset:16px 16px 0 0}
.ti-grille > .wp-block-image.ti-photo img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:24px;box-shadow:var(--ombre)}
.liste-coches{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}
.liste-coches li{position:relative;padding-left:36px;line-height:1.55}
.liste-coches li::before{content:"";position:absolute;left:0;top:1px;width:23px;height:23px;border-radius:50%;background:var(--coche) center/12px no-repeat var(--bleu)}
.ti-suite{margin-top:90px}

/* ---------- Cartes à pictogramme, chiffre ou numéro ---------- */
.colonnes{display:grid;gap:24px}
.col-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.col-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.col-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.colonne{position:relative;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r-carte);padding:30px 28px 30px;box-shadow:var(--ombre)}
.colonne.ico{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:20px;align-items:center;align-content:start}
.colonne h3{font-size:19px;line-height:1.3}
.colonne h3 a{color:inherit;text-decoration:none}
.colonne h3 a:hover{text-decoration:underline;text-decoration-color:var(--bleu);text-underline-offset:5px}
.colonne-texte{margin-top:18px;padding-top:18px;border-top:1px solid var(--trait);font-size:16px;line-height:1.65}
.colonne.ico .colonne-texte{grid-column:1 / -1;margin-top:20px}
.colonne-texte a{color:var(--noir)}
.chiffre{font-family:var(--titre);font-weight:600;font-size:clamp(40px,3.6vw,54px);line-height:1;color:var(--noir);letter-spacing:-.04em}
.chiffre::after{content:"";display:block;width:56px;height:5px;margin-top:20px;border-radius:5px;background:var(--bleu)}
.colonne-chiffre h3,.colonne-numero h3{margin-top:22px}
.numero{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:var(--noir);color:var(--blanc);
  font-family:var(--titre);font-weight:600;font-size:16px;line-height:1}
.colonnes-section{padding:104px 0;overflow:hidden}
.cs-cartes{margin-top:60px}
.cs-bande{margin:60px clamp(16px,3vw,48px) 0;height:clamp(280px,32vw,460px);border-radius:40px;overflow:hidden}
.cs-bande .wp-block-image.cs-photo,.cs-bande .wp-block-image.cs-photo img{width:100%;height:100%;object-fit:cover}
.avec-photo .cs-cartes{position:relative;z-index:1;margin-top:-170px}
.cs-suite{margin-top:90px}

/* ---------- Fondateurs et fabricants (Qui sommes-nous) ---------- */
.fondateurs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.fondateur{position:relative;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r-carte);padding:30px 32px 32px 110px;box-shadow:var(--ombre)}
.fondateur::before{content:"";position:absolute;left:30px;top:30px;width:56px;height:56px;border-radius:50%;background:var(--auteur) center/26px no-repeat var(--bleu)}
.fondateur h3{font-size:22px;line-height:1.2}
.role{display:inline-block;margin-top:8px;background:var(--fond);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--noir)}
.fondateur p:last-child{margin-top:14px;font-size:15px;line-height:1.65}
.marques .intro{margin-top:18px}
.marques-liste{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.marques-liste li{background:var(--fond);border-radius:999px;padding:10px 20px;font-family:var(--titre);font-weight:700;font-size:17px;line-height:1.2;letter-spacing:-.02em;color:#6f6f6f}
/* fabricants : bloc centré, noms en défilement continu (le contenu est écrit deux fois pour boucler) */
.marques-centre{text-align:center}
.marques-centre .intro{margin-inline:auto}
.marques-defile{margin-top:30px;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marques-piste{display:flex;align-items:center;gap:0;width:max-content;animation:defiler 38s linear infinite}
.marques-defile:hover .marques-piste{animation-play-state:paused}
.marque{display:flex;align-items:center;gap:28px;padding-right:28px;margin:0;white-space:nowrap;font-family:var(--titre);font-weight:600;font-size:clamp(22px,2vw,30px);line-height:1.2;letter-spacing:-.02em;color:#6f6f6f}
.marque::before{content:"";flex:0 0 8px;height:8px;border-radius:50%;background:var(--bleu)}
.boutons-suite{justify-content:center}
.cs-suite .boutons-suite + .bloc-suite{margin-top:96px}

/* ---------- Titre centré, bande photo, photo inclinée et carte de texte ---------- */
.centre-section{padding:104px 0;overflow:hidden}
.centre-grille{position:relative;z-index:1;margin-top:-170px;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(28px,4vw,56px);align-items:end}
.centre-grille > .wp-block-image.centre-photo{border:9px solid var(--blanc);border-radius:24px;overflow:hidden;box-shadow:var(--ombre-forte);transform:rotate(-3deg);aspect-ratio:4/3}
.centre-grille > .wp-block-image.centre-photo img{width:100%;height:100%;object-fit:cover}
.centre-texte{background:var(--blanc);border-radius:26px;padding:44px clamp(28px,3.6vw,52px);box-shadow:var(--ombre)}
.centre-texte p + p{margin-top:16px}
.centre-texte .wp-block-buttons{margin-top:30px}

/* ---------- Liste de produits dans un cadre à filets ---------- */
.lf{padding:104px 0}
.lf-corps{margin-top:52px;display:grid;gap:40px}
.lf-photo .lf-corps{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start}
.lf-corps > .wp-block-image.lf-image{position:sticky;top:40px;border-radius:26px;overflow:hidden;box-shadow:var(--ombre)}
.lf-corps > .wp-block-image.lf-image img{width:100%;aspect-ratio:4/5;object-fit:cover}
.lf-lignes{border:1px solid var(--filet);border-radius:24px;overflow:hidden;background:var(--blanc)}
.lf-ligne{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 28px;padding:26px 30px}
.lf-ligne + .lf-ligne{border-top:1px solid var(--trait)}
.lf-ligne h3{font-size:19px;line-height:1.3}
.lf-texte{grid-column:1;font-size:14.5px;line-height:1.65}
.etiquette{grid-column:2;grid-row:1 / span 2;align-self:center;justify-self:end;background:var(--bleu);color:var(--noir);border-radius:999px;
  padding:8px 16px;font-size:12.5px;font-weight:700;line-height:1.2;white-space:nowrap}

/* ---------- Carte noire (bon à savoir) ---------- */
.encadre-section{padding:0 0 120px}
.encadre{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,64px);
  background:var(--noir);color:var(--clair);border-radius:30px;padding:52px clamp(28px,4.4vw,64px)}
.encadre{--contour:var(--blanc);--contour-inverse:var(--noir)}
.encadre::after{content:"";box-sizing:border-box;position:absolute;right:-64px;top:-64px;width:170px;height:170px;border-radius:50%;border:30px solid var(--bleu)}
.encadre > *{position:relative;z-index:1}
.encadre-texte .wp-block-buttons{margin-top:24px}
.encadre .surtitre,.encadre h2{color:var(--blanc)}
.encadre h2{margin-top:18px;font-size:clamp(26px,2.4vw,36px);line-height:1.15}
.encadre-texte{padding-right:60px}
.encadre-texte p{font-size:16px;line-height:1.75;color:#dcdcdc}
.encadre-texte p + p{margin-top:14px}

/* ---------- Cartes à photo (métiers, conseils) ---------- */
.cartes-section{padding:104px 0}
.cartes-section .panneau{background:none;border-radius:0;overflow:visible}
.cartes-gris .panneau,.cartes-noir .panneau{padding:110px 0;border-radius:var(--r-panneau)}
.cartes-gris .panneau{background:var(--fond)}
.cartes-noir{padding:40px 24px 120px}
.cartes-noir .panneau{background:var(--noir)}
.cartes-noir .surtitre,.cartes-noir .titre-section{color:var(--blanc)}
.cartes-noir .intro{color:var(--clair)}
.cartes{display:grid;gap:24px;margin-top:52px}
.carte{position:relative;display:flex;flex-direction:column;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r-carte);padding:10px 10px 28px;box-shadow:var(--ombre)}
.carte-media{position:relative}
.carte-media .wp-block-image.carte-photo{border-radius:12px;overflow:hidden;aspect-ratio:16/11}
.carte-media .wp-block-image.carte-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.carte:hover .wp-block-image.carte-photo img{transform:scale(1.04)}
.carte-cat{position:absolute;left:14px;bottom:-15px;background:var(--noir);color:var(--blanc);border-radius:999px;padding:7px 15px;
  font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1.2}
.cartes-noir .carte-cat{background:var(--bleu);color:var(--noir)}
.carte h3{margin:34px 14px 0;font-size:20px;line-height:1.3}
.carte-texte{margin:10px 14px 0;font-size:14.5px;line-height:1.6}

/* ---------- Bande photo à carte blanche et carte noire d'appel ---------- */
.projet-apropos{position:relative;overflow:hidden;padding:120px 0}
.projet-apropos > .wp-block-image.pa-fond{position:absolute;left:clamp(16px,3vw,48px);right:clamp(16px,3vw,48px);top:120px;height:clamp(380px,40vw,560px);margin:0;border-radius:40px;overflow:hidden}
.projet-apropos > .wp-block-image.pa-fond img{width:100%;height:100%;object-fit:cover}
.pa-grille{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,4vw,64px);align-items:end;padding-top:clamp(220px,24vw,340px)}
.pa-carte{position:relative;background:var(--blanc);border-radius:26px;padding:46px clamp(28px,3.6vw,52px) 48px;box-shadow:var(--ombre)}
.pa-carte::before{content:"";position:absolute;z-index:-1;inset:16px -14px -16px 14px;background:var(--noir);border-radius:26px;transform:rotate(-1.6deg)}
.pa-carte .titre-section{margin-top:20px}
.pa-carte p{margin-top:20px}
.pa-carte .wp-block-buttons{margin-top:32px}
.pa-cote{display:grid;gap:26px;padding-bottom:6px}
.pa-cote > .wp-block-image.pa-photo{border:9px solid var(--blanc);border-radius:24px;overflow:hidden;box-shadow:var(--ombre-forte);transform:rotate(3deg);aspect-ratio:4/3;max-width:440px;justify-self:end;width:100%}
.pa-cote > .wp-block-image.pa-photo img{width:100%;height:100%;object-fit:cover}
.pa-appel{--contour:var(--blanc);--contour-inverse:var(--noir);background:var(--noir);color:var(--clair);border-radius:26px;padding:34px 38px 36px}
.pa-appel h2{color:var(--blanc);font-size:clamp(22px,2vw,28px);line-height:1.2}
.pa-appel p{margin-top:12px;font-size:15px;line-height:1.65}
.pa-appel .wp-block-buttons{margin-top:24px}

/* ---------- Contact de fin de page : trois photos en polaroïds ---------- */
.contact{padding:30px var(--gouttiere) 130px}
.contact-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;
  background:var(--fond);border-radius:40px;padding:72px clamp(28px,5vw,76px)}
.contact-texte .titre-section{margin-top:20px}
.contact-texte p{margin-top:22px;max-width:480px}
.contact-texte p a{color:var(--noir);font-weight:700}
.contact-texte .wp-block-buttons{margin-top:32px}
.contact-photos{position:relative;height:440px}
.contact-photos .wp-block-image.cp{position:absolute;border:8px solid var(--blanc);border-radius:20px;overflow:hidden;box-shadow:var(--ombre-forte)}
.contact-photos .wp-block-image.cp img{width:100%;height:100%;object-fit:cover}
.contact-photos .wp-block-image.cp-1{left:0;top:4%;width:54%;height:80%;transform:rotate(-4deg);z-index:1}
.contact-photos .wp-block-image.cp-2{right:2%;top:0;width:44%;height:50%;transform:rotate(3.4deg);z-index:2}
.contact-photos .wp-block-image.cp-3{right:10%;bottom:0;width:46%;height:48%;transform:rotate(-2deg);z-index:3}

/* ---------- Étapes de la méthode ---------- */
.etapes{padding:104px 0}
.etapes-liste{margin-top:56px;display:grid;gap:18px}
.etape{display:grid;grid-template-columns:84px minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start;
  background:var(--blanc);border:1px solid var(--trait);border-radius:26px;padding:30px 32px;box-shadow:var(--ombre)}
.etape-num{display:flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:50%;background:var(--bleu);color:var(--noir);
  font-family:var(--titre);font-weight:600;font-size:21px;line-height:1}
.etape-corps{padding-top:6px}
.etape-corps h3{font-size:23px;line-height:1.25}
.etape-corps p{margin-top:10px}
.etape-recus{background:var(--fond);border-radius:18px;padding:20px 22px}
.recus{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}
.recus li{position:relative;padding-left:28px;font-size:14.5px;line-height:1.55}
.recus li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:var(--coche) center/10px no-repeat var(--bleu)}

/* ---------- Agences ---------- */
.agences-section{padding:104px 0}
.agences{margin-top:56px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,56px);align-items:start}
.agences-liste{margin-top:26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.agence{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:16px;align-content:start;background:var(--blanc);border:1px solid var(--trait);
  border-radius:var(--r-carte);padding:22px;box-shadow:var(--ombre)}
.agence::before{grid-row:span 3;width:48px;height:48px;background-size:24px}
.agence h3{font-size:20px;line-height:1.2}
.agence-region{font-size:13px;line-height:1.4}
.agence-liens{margin-top:12px;font-size:14px;line-height:1.7}
.agence-liens a{color:var(--noir);font-weight:600;white-space:nowrap}

/* ---------- Article de conseil ---------- */
.article-section{padding:112px 0 124px}
.article-grille{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(40px,5vw,80px);align-items:start}
.article-corps{max-width:720px}
.article-corps h2{margin-top:46px;font-size:clamp(24px,2vw,28px);line-height:1.25}
.article-corps h2:first-child{margin-top:0}
.article-corps p{margin-top:16px;font-size:17px;line-height:1.8}
.article-aside{position:sticky;top:32px;display:grid;gap:20px}
.retenir{background:var(--fond);border-radius:24px;padding:30px}
.retenir .liste-coches{margin-top:18px}
.retenir .liste-coches li{font-size:14.5px}
.aside-cta{background:var(--noir);color:var(--clair);border-radius:24px;padding:30px}
.aside-cta h3{color:var(--blanc);font-size:21px;line-height:1.25}
.aside-cta p{margin-top:10px;font-size:14.5px;line-height:1.6}
.aside-cta .wp-block-buttons{margin-top:24px}
.aside-cta .b-plein .wp-block-button__link{background:var(--blanc);color:var(--noir)}

/* ---------- Pages légales ---------- */
.legal-section{padding:108px 0 124px}
.legal{max-width:820px;margin-inline:auto}
.legal h2{margin-top:46px;font-size:clamp(22px,1.9vw,26px);line-height:1.25}
.legal h2:first-child{margin-top:0}
.legal p{margin-top:14px}
.legal a{color:var(--noir)}

/* ---------- Demande de devis ---------- */
.devis-section{padding:108px 0 124px}
.devis-grille{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(32px,4vw,64px);align-items:start}
.devis-form{background:var(--fond);border-radius:30px;padding:clamp(24px,3.6vw,48px)}
.formulaire:not(.formulaire-court) label{display:block;margin:0 0 8px 20px;font-size:13px;font-weight:700;color:var(--noir)}
.formulaire:not(.formulaire-court) .consentement label{display:flex;gap:10px;align-items:flex-start;margin:0;font-weight:400;font-size:13px;color:var(--texte)}
.cases{border:0;padding:0;margin:28px 0 0;min-width:0}
.cases legend{padding:0;margin:0 0 12px 20px;font-size:13px;font-weight:700;color:var(--noir)}
.cases .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:8px}
.cases .wpcf7-list-item{margin:0}
.formulaire:not(.formulaire-court) .cases label{display:inline-flex;align-items:center;gap:9px;margin:0;background:var(--blanc);border-radius:999px;padding:10px 16px;
  font-size:14px;font-weight:600;color:var(--noir);cursor:pointer}
.cases input{accent-color:var(--bleu)}
.formulaire:not(.formulaire-court) .consentement{margin-top:22px}
.formulaire:not(.formulaire-court) .bouton-envoyer{margin-top:26px}
.devis-aside{display:grid;gap:20px;position:sticky;top:32px}
.suite{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:14px;counter-reset:etape}
.suite li{position:relative;padding-left:44px;font-size:14.5px;line-height:1.6;counter-increment:etape}
.suite li::before{content:counter(etape);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--bleu);color:var(--noir);
  display:flex;align-items:center;justify-content:center;font-family:var(--titre);font-weight:600;font-size:13px}
.appel{background:var(--noir);color:var(--clair);border-radius:24px;padding:30px}
.appel .petit-titre{color:var(--blanc)}
.appel-num{margin-top:10px}
.appel-num a{font-family:var(--titre);font-weight:600;font-size:32px;color:var(--blanc);text-decoration:none;letter-spacing:-.02em}
.appel p:last-child{margin-top:10px;font-size:14.5px;line-height:1.6}

/* ==========================================================================
   Ajouts du cahier des charges (28/09/2026) : blog, agences et carte, prise de
   rendez-vous, FAQ des métiers, tableau, galerie, témoignages, formulaire de
   devis enrichi, actions permanentes
   ========================================================================== */

/* ---------- Boucles d'articles (core/query) : le rendu de WordPress, habillé comme les cartes ---------- */
.wp-block-query ul.wp-block-post-template{list-style:none;margin-top:0;margin-bottom:0;padding:0;max-width:100%}
.wp-block-query.requete-conseils{margin-top:52px}
.wp-block-query.requete-accueil{margin-top:44px}
ul.cartes > li.wp-block-post,ul.cadre-conseils > li.wp-block-post{display:flex;margin:0;min-width:0}
ul.cartes > li.wp-block-post > .carte,ul.cadre-conseils > li.wp-block-post > .carte-conseil{flex:1 1 auto;min-width:0}
ul.cadre-conseils > li.wp-block-post + li.wp-block-post{border-left:1px solid var(--filet)}
.carte-media .wp-block-post-featured-image.carte-photo{position:relative;margin:0;border-radius:12px;overflow:hidden;aspect-ratio:16/11}
.cc-media .wp-block-post-featured-image.cc-photo{position:relative;margin:0;border-radius:14px;overflow:hidden;aspect-ratio:16/10.5}
.wp-block-post-featured-image.carte-photo img,.wp-block-post-featured-image.cc-photo img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .5s}
.carte:hover .wp-block-post-featured-image.carte-photo img{transform:scale(1.04)}
.carte-cat a,.cc-badge a{color:inherit;text-decoration:none}
.cc-meta .cc-lecture{display:flex;align-items:center;gap:8px}
.cc-meta .cc-lecture::before{content:"";width:18px;height:18px;background:var(--bleu);-webkit-mask:var(--horloge) center/contain no-repeat;mask:var(--horloge) center/contain no-repeat}
.wp-block-post-excerpt.carte-texte p,.wp-block-post-excerpt.cc-texte p{margin:0}

/* ---------- Tableau comparatif (core/table) ---------- */
.tableau-section{padding:0 0 120px}
figure.wp-block-table.tableau{margin:48px 0 0;overflow-x:auto;background:var(--blanc);border:1px solid var(--trait);border-radius:var(--r-carte);box-shadow:var(--ombre)}
.wp-block-table.tableau table{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;font-size:15px;line-height:1.55}
.wp-block-table.tableau thead{border:0}
.wp-block-table.tableau th,.wp-block-table.tableau td{border:0;border-bottom:1px solid var(--trait);padding:18px 24px;text-align:left;vertical-align:top;word-break:normal}
.wp-block-table.tableau thead th{background:var(--noir);color:var(--blanc);border-bottom:0;font-family:var(--titre);font-weight:600;font-size:16px;letter-spacing:-.01em}
.wp-block-table.tableau thead th:first-child{width:24%}
.wp-block-table.tableau tbody td:first-child{font-weight:700;color:var(--noir)}
.wp-block-table.tableau tbody tr:last-child td{border-bottom:0}
.wp-block-table.tableau tbody td:not(:first-child){color:var(--noir)}
.wp-block-table.tableau figcaption{margin:0;padding:16px 24px;border-top:1px solid var(--trait);background:var(--fond);font-size:13.5px;line-height:1.55;color:var(--texte);text-align:left}

/* ---------- Galerie légendée (core/gallery) : l'étiquette blanche remplace le voile de WordPress ---------- */
.galerie-section{padding:0 0 120px}
.galerie-section .galerie.wp-block-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch;margin:48px 0 0}
.galerie-section .galerie.wp-block-gallery.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.galerie-section .galerie.wp-block-gallery.has-nested-images figure.wp-block-image:not(#bx){position:relative;width:auto;max-width:none;margin:0;display:block;border-radius:var(--r-carte);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--ombre)}
.galerie-section .galerie.wp-block-gallery.columns-4.has-nested-images figure.wp-block-image:not(#bx){aspect-ratio:4/5}
.galerie-section .galerie.wp-block-gallery.has-nested-images figure.wp-block-image:not(#bx) img{display:block;width:100%;height:100%;max-width:none !important;object-fit:cover}
.galerie-section .galerie.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before{content:none;display:none}
.galerie-section .galerie.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{position:absolute;left:12px;bottom:12px;right:auto;top:auto;width:auto;max-width:calc(100% - 24px);max-height:none;overflow:visible;
  margin:0;padding:8px 14px;background:var(--blanc);color:var(--noir);border-radius:999px;box-sizing:border-box;
  font-size:13px;font-weight:600;line-height:1.3;text-align:left;text-shadow:none;scrollbar-gutter:auto}

/* ---------- Témoignages : verbatims cités tels quels ---------- */
.temoignages{padding:110px 0}
.temoignages-grille{margin-top:52px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.temoignage{position:relative;display:flex;flex-direction:column;background:var(--fond);border-radius:var(--r-carte);padding:34px 30px 30px}
.temoignage::before{content:"«";display:block;font-family:var(--titre);font-weight:600;font-size:64px;line-height:.6;color:var(--bleu)}
.temoignage-texte{margin-top:18px;font-size:16px;line-height:1.7;color:var(--noir)}
.temoignage-nom{margin-top:auto;padding-top:18px;border-top:1px solid var(--filet);font-weight:700;color:var(--noir)}
.temoignage-texte + .temoignage-nom{margin-top:24px}
.temoignage-detail{font-size:13.5px;color:var(--texte)}

/* ---------- Carte des agences : France au trait et agrandissement du Sud-Est ---------- */
.carte-section{padding:110px 0 30px;scroll-margin-top:24px}
.carte-grille{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,5vw,80px);align-items:start}
.carte-texte .titre-section{margin-top:20px}
.carte-texte .intro{margin-top:22px}
.carte-legende{margin-top:22px;font-size:14.5px}
.carte-legende a{color:var(--noir);font-weight:700}
.carte-france,.carte-provence{position:relative;background-position:center;background-size:100% 100%;background-repeat:no-repeat}
.carte-france{aspect-ratio:var(--carte-ratio-france);background-image:var(--carte-france)}
.carte-provence{margin-top:36px;aspect-ratio:var(--carte-ratio-provence);background-image:var(--carte-provence);background-color:var(--fond);border-radius:var(--r-carte);box-shadow:0 0 0 2.4px var(--bleu)}
.carte-zone{position:absolute;left:16px;top:12px;margin:0;font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--noir);line-height:1.2}
.carte-cadre{position:absolute;margin:0;display:flex;justify-content:flex-end;align-items:flex-start;padding:6px 10px;pointer-events:none;
  font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--bleu);line-height:1.2}
.repere{position:absolute;z-index:1;margin:0;line-height:1;transform:translate(-8px,-8px)}
.repere-g{transform:translate(calc(-100% + 8px),-8px)}
.repere a{display:flex;align-items:center;gap:8px;color:var(--noir);text-decoration:none;font-weight:700;font-size:13.5px;white-space:nowrap}
.repere-g a{flex-direction:row-reverse}
.repere a::before{content:"";flex:0 0 16px;height:16px;border-radius:50%;background:var(--noir);box-shadow:0 0 0 3px var(--blanc);transition:background-color .2s,transform .2s}
.repere a:hover::before,.repere a:focus-visible::before{background:var(--bleu);transform:scale(1.2)}
.repere a:hover{text-decoration:underline;text-decoration-color:var(--bleu);text-underline-offset:4px}

/* ---------- Pages agences ---------- */
.autres-agences{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px 18px;text-align:center}
.autres-liens{font-weight:600;color:var(--texte)}
.autres-liens a{color:var(--noir)}
.avis-section{padding:110px 0 30px}
.avis-emplacement{margin-top:44px;background:var(--fond);border-radius:var(--r-carte);padding:44px 32px;text-align:center;font-weight:600;color:var(--noir)}

/* ---------- Prendre rendez-vous, être rappelé ---------- */
.rdv-section{padding:108px 0 124px}
.rdv-grille{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:clamp(32px,4vw,64px);align-items:start}
.rdv-form{background:var(--fond);border-radius:30px;padding:clamp(24px,3.6vw,48px)}
.rdv-form .titre-section{margin-top:18px;font-size:clamp(28px,2.8vw,42px)}
.rdv-form .intro{margin-top:18px}
.rdv-form .wpcf7{margin-top:26px}
.rdv-aside{display:grid;gap:20px;position:sticky;top:32px}
.rappel-carte{background:var(--blanc);border:1px solid var(--trait);border-radius:24px;padding:30px;box-shadow:var(--ombre);scroll-margin-top:24px}
.rappel-carte h3{margin-top:10px;font-size:22px;line-height:1.25}
.rappel-carte > p:not(.petit-titre){margin-top:10px;font-size:14.5px;line-height:1.6}
.formulaire-rappel{margin-top:20px}
.formulaire-rappel .formulaire-grille{grid-template-columns:minmax(0,1fr);gap:10px}
.formulaire-rappel input[type=text],.formulaire-rappel input[type=tel],.formulaire-rappel select{background-color:var(--fond)}
.formulaire-rappel .consentement{margin-top:16px}
.formulaire-rappel .bouton-envoyer{margin-top:18px;width:100%}

/* ---------- Formulaires : lieu de rendez-vous, sous-options, photos ---------- */
.cases .wpcf7-radio{display:flex;flex-wrap:wrap;gap:8px}
.sous-cases{margin-top:22px}
.sous-options{margin-top:12px;padding:18px 20px 20px;background:var(--blanc);border-radius:22px}
.sous-options:first-of-type{margin-top:0}
.so-titre{margin:0 0 12px 4px;font-size:13px;font-weight:700;color:var(--noir)}
.sous-options .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:8px}
.formulaire:not(.formulaire-court) .sous-options label{background:var(--fond)}
.fichiers .aide{margin:0 0 14px 20px;font-size:13.5px;line-height:1.55;color:var(--texte)}
.fichiers-grille{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;max-width:520px}
.etiquette-cachee{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* pièce jointe unique (CV de la candidature) */
.champ-piece{margin-top:22px}
.champ-piece .aide{margin:-4px 0 10px 20px;font-size:13.5px;line-height:1.55;color:var(--texte)}
.champ-piece input[type=file]{display:block;width:100%;max-width:520px;padding:12px 14px;background:var(--blanc);border:1px solid transparent;border-radius:18px;font-family:var(--corps);font-size:12.5px;color:var(--texte);cursor:pointer}
.champ-piece input[type=file]::file-selector-button{margin-right:10px;border:0;border-radius:999px;background:var(--noir);color:var(--blanc);padding:8px 14px;font-family:var(--corps);font-weight:700;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.candidature-section{scroll-margin-top:24px}
.candidature-section .rappel-carte a{color:var(--noir);font-weight:700}
.formulaire:not(.formulaire-court) label.champ-fichier{display:block;position:relative;margin:0;font-weight:400}
.champ-fichier input[type=file]{display:block;width:100%;padding:12px 14px;background:var(--blanc);border:1px solid transparent;border-radius:18px;
  font-family:var(--corps);font-size:12.5px;color:var(--texte);cursor:pointer}
.champ-fichier input[type=file]::file-selector-button{margin-right:10px;border:0;border-radius:999px;background:var(--noir);color:var(--blanc);padding:8px 14px;
  font-family:var(--corps);font-weight:700;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}

/* ---------- Actions permanentes : barre flottante, affichée par app.js hors du haut de page ---------- */
.barre-actions{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom, 0px));z-index:40;transform:translate(-50%,170%);visibility:hidden;
  transition:transform .45s cubic-bezier(.2,.7,.2,1),visibility 0s linear .45s}
html.bx-barre .barre-actions{transform:translate(-50%,0);visibility:visible;transition:transform .45s cubic-bezier(.2,.7,.2,1),visibility 0s}
body.menu-ouvert .barre-actions{visibility:hidden}
.barre-actions .barre-boutons{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;background:var(--noir);border-radius:999px;padding:6px;box-shadow:0 22px 44px -18px rgba(0,0,0,.6)}
.barre-boutons .wp-block-button.b-barre .wp-block-button__link{min-height:48px;padding:0 20px;gap:0;background:transparent;border-color:transparent;color:var(--blanc);font-size:12.5px}
.barre-boutons .wp-block-button.b-barre .wp-block-button__link::after{content:none}
.barre-boutons .wp-block-button.b-barre .wp-block-button__link:hover{background:#262626}
.barre-boutons .wp-block-button.b-barre-devis .wp-block-button__link{min-height:48px;padding:4px 4px 4px 22px;gap:14px;background:var(--blanc);border-color:var(--blanc);color:var(--noir);font-size:12.5px}
.barre-boutons .wp-block-button.b-barre-devis .wp-block-button__link::after{flex-basis:40px;height:40px}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (min-width:981px){
  .col-3 > .colonne-numero h3,.col-3 > .colonne.ico h3,.col-4 > .colonne.ico h3{min-height:2.6em}
}
@media (max-width:1366px){
  .entete-pilule{gap:18px;padding-right:22px}
  .menu{padding-left:18px}
  .menu-liens{gap:18px}
  .menu-liens a{font-size:14px}
  .wp-block-site-logo.marque img{height:56px}
  .menu-cta .wp-block-button__link{padding-left:24px;gap:14px}
}
/* sous 1 420 px, la marge ne laisse plus la place au rail des réseaux à gauche du texte (ils restent dans le pied) */
@media (max-width:1419px){
  .heros-reseaux{display:none}
}
@media (max-width:1200px){
  .burger{display:block}
  .menu{display:none;position:fixed;inset:0;z-index:-1;background:var(--blanc);border:0;padding:130px 32px 40px;align-items:flex-start;overflow-y:auto}
  body.menu-ouvert .menu{display:flex}
  body.menu-ouvert{overflow:hidden}
  .menu-liens{flex-direction:column;gap:6px;width:100%}
  .menu-liens a{font-family:var(--titre);font-size:28px;font-weight:600;padding-block:12px;letter-spacing:-.02em}
  .entete-pilule{padding-right:14px}
  .apropos-grille{grid-template-columns:260px minmax(0,1fr);}
  .apropos-droite{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:end}
  .apropos-droite .wp-block-image.photo-flottante{margin-top:0;max-width:420px;aspect-ratio:4/3}
  .noir-carte{margin-top:0}
  .col-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pied-grille{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pied-marque{grid-column:1 / -1}
}
@media (max-width:980px){
  :root{--gouttiere:24px;--r-panneau:32px}
  .entete{padding-top:16px}
  .heros,.heros.heros-accueil,.heros.heros-page,.heros-page.heros-court{display:block;min-height:0;padding:0;background:var(--blanc)}
  .heros > .wp-block-image.heros-photo{position:relative;height:clamp(380px,62vh,520px)}
  .heros-carte,.heros-page .heros-carte,.heros-accueil .heros-carte{margin:-110px var(--gouttiere) 0;max-width:none;padding:32px 28px 34px;border-radius:24px}
  .heros-reseaux{display:none}
  .heros-preuve{position:relative;right:auto;bottom:auto;margin:22px var(--gouttiere) 0;width:max-content;max-width:calc(100% - 2 * var(--gouttiere))}
  .heros.heros-accueil,.heros.heros-page{padding-bottom:64px}
  .heros + *{margin-top:0;border-radius:0}
  .heros + *::before{left:var(--gouttiere);right:var(--gouttiere)}
  .centre-grille{margin-top:-90px}
  .centre-grille,.apropos-grille,.md-grille,.faq-grille,.ad-grille,.ti-grille,.lf-photo .lf-corps,.encadre,.pa-grille,.contact-grille,.article-grille,.devis-grille,.agences{grid-template-columns:minmax(0,1fr)}
  .apropos{padding:90px 0}
  .apropos-gauche::after{display:none}
  .apropos-droite{grid-template-columns:minmax(0,1fr)}
  .md-grille{padding-left:var(--gouttiere)}
  .collage{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .collage-a{grid-row:auto;grid-column:1 / -1;min-height:420px}
  .polaroids-grille{grid-template-columns:minmax(0,1fr);max-width:560px}
  .bande{padding:220px 0 70px;min-height:0}
  .bande-contenu{flex-direction:column;align-items:flex-start}
  .ca-grille{grid-template-columns:minmax(0,1fr)}
  .ca-grille > .ca-form{order:-1}
  .ca-grille > .wp-block-image.ca-photo{display:none}
  .ca-infos{display:grid;grid-template-columns:1fr 1fr;padding-top:0}
  .cadre-conseils{grid-template-columns:minmax(0,1fr)}
  .carte-conseil + .carte-conseil{border-left:0;border-top:1px solid var(--filet)}
  .col-3,.col-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pied-haut{flex-direction:column;align-items:flex-start}
  .ti-gauche .ti-grille > .wp-block-image.ti-photo{order:0}
  .lf-corps > .wp-block-image.lf-image{position:relative;top:0}
  .lf-corps > .wp-block-image.lf-image img{aspect-ratio:16/10}
  .article-aside,.devis-aside{position:static}
  .contact-photos{height:380px}
  .etape{grid-template-columns:66px minmax(0,1fr)}
  .etape-recus{grid-column:1 / -1}
  .ti,.lf,.colonnes-section,.etapes,.agences-section,.faq,.polaroids,.conseils-accueil,.agences-duo{padding-block:90px}
}
@media (max-width:640px){
  :root{--gouttiere:16px}
  .entete{padding:12px 12px 0}
  .entete-pilule{min-height:58px;padding:2px 6px 2px 8px;gap:8px}
  .wp-block-site-logo.marque img{height:52px}
  .entete .menu-cta{display:none}
  .burger{width:52px;height:52px}
  .heros-carte,.heros-page .heros-carte,.heros-accueil .heros-carte{padding:28px 22px 30px}
  .titre-heros{font-size:38px}
  .titre-page{font-size:32px}
  .fondateur{padding:26px 24px 28px}
  .fondateur::before{position:static;margin-bottom:18px}
  .fondateurs,.collage,.col-2,.col-3,.col-4,.ad-cartes,.formulaire-grille,.agences-liste,.ca-infos{grid-template-columns:minmax(0,1fr)}
  .dist-b,.dist-c,.dist-d,.collage > .wp-block-image.collage-e{transform:none}
  .polaroid:nth-child(n){transform:rotate(0)}
  .polaroid:nth-child(odd){transform:rotate(-1.6deg)}
  .polaroid:nth-child(even){transform:rotate(1.4deg)}
  .carte-metier{flex-basis:84%}
  .promesse-carte{padding:30px 26px 28px}
  .promesse-haut{flex-direction:column;gap:14px}
  .bande::after{font-size:10.4vw;top:40px}
  .apropos-droite .wp-block-image.photo-flottante{max-width:82%;justify-self:center}
  .formulaire-pied{flex-direction:column;align-items:stretch}
  .tete-ligne{flex-direction:column;align-items:flex-start}
  .pied{padding:0 10px 10px}
  .pied-carte{padding:48px 22px 22px;border-radius:32px}
  .pied-pilule{flex-direction:column;align-items:stretch;border-radius:28px;padding:18px;gap:14px;min-width:0;width:100%}
  .pied-grille{grid-template-columns:minmax(0,1fr);gap:32px;padding-bottom:140px}
  .pied-carte::after{font-size:10.4vw;bottom:150px}
  .pied-carte{background-size:auto 150px;background-position:center bottom 130px}
  .fab-noms{justify-content:center;gap:14px 26px}
  .fab-legende{font-size:11px;letter-spacing:.04em;padding:10px 16px;border-radius:18px}
  .encadre::after{width:96px;height:96px;border-width:18px;right:-40px;top:-40px}
  .encadre{padding-top:60px}
  .encadre-section{padding-bottom:64px}
  .cartes-noir{padding:24px 10px 72px}
  .cartes-gris .panneau,.cartes-noir .panneau{padding:64px 0}
  .contact{padding-bottom:72px}
  .contact-grille{border-radius:28px}
  .article-section{padding-bottom:64px}
  .pa-carte::before,.promesse-carte::before{inset:12px -6px -12px 6px;transform:rotate(-1deg)}
  .avec-photo .cs-cartes{margin-top:-60px}
  .cs-bande{height:240px}
  .centre-grille{margin-top:-60px}
  .pied-bas{border-radius:20px;flex-direction:column}
  .lf-ligne{grid-template-columns:minmax(0,1fr)}
  .etiquette{grid-column:1;grid-row:auto;justify-self:start}
  .contact-grille{padding:44px 22px}
  .contact-photos{height:320px}
  .encadre-texte{padding-right:0}
  .etape{grid-template-columns:minmax(0,1fr);padding:24px}
  .ruban-bleu{margin-top:-8px}
}
/* Accueil sur mobile et tablette : même format qu'à l'écran large, texte blanc sur la photo. Le texte monte sous
   l'en-tête, sur les collines ; la grange solaire et les vignes restent visibles en bas, sous la pastille. */
@media (max-width:980px){
  .heros.heros-accueil{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:36px;
    min-height:clamp(700px,100svh,880px);padding:112px var(--gouttiere) 28px;background:#3b4a33}
  .heros-accueil > .wp-block-image.heros-photo{position:absolute;inset:0;height:auto;min-height:0}
  .heros-accueil > .wp-block-image.heros-photo img{object-position:76% 50%}
  .heros-accueil::before{background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.42) 34%,rgba(0,0,0,.16) 52%,rgba(0,0,0,0) 64%)}
  .heros-accueil .heros-carte{margin:0;max-width:640px;padding:0;background:none;border-radius:0;box-shadow:none}
  .heros-accueil .titre-heros{font-size:clamp(38px,6vw,46px)}
  .heros-accueil .heros-preuve{margin:0;max-width:100%;align-self:flex-start}
}
/* Ajouts du cahier des charges : tablette et mobile */
@media (max-width:1200px){
  .galerie-section .galerie.wp-block-gallery.columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .carte-grille,.rdv-grille{grid-template-columns:minmax(0,1fr)}
  .carte-france{max-width:600px;width:100%;margin-inline:auto}
  .rdv-aside{position:static}
  .temoignages-grille{grid-template-columns:minmax(0,1fr)}
  .galerie-section .galerie.wp-block-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  ul.cadre-conseils > li.wp-block-post + li.wp-block-post{border-left:0;border-top:1px solid var(--filet)}
  .tableau-section,.galerie-section{padding-bottom:90px}
  .carte-section,.avis-section{padding-top:90px}
}
@media (max-width:640px){
  .galerie-section .galerie.wp-block-gallery,.galerie-section .galerie.wp-block-gallery.columns-4{grid-template-columns:minmax(0,1fr)}
  .galerie-section .galerie.wp-block-gallery.columns-4.has-nested-images figure.wp-block-image:not(#bx){aspect-ratio:4/3}
  .repere a{font-size:12px;gap:6px}
  .repere a::before{flex-basis:13px;height:13px}
  .repere,.repere-g{transform:translate(-6.5px,-6.5px)}
  .repere-g{transform:translate(calc(-100% + 6.5px),-6.5px)}
  .carte-zone{left:12px;top:10px;font-size:10.5px}
  .rappel-carte{padding:24px 22px}
  .barre-actions{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom, 0px));transform:translateY(170%)}
  html.bx-barre .barre-actions{transform:translateY(0)}
  .barre-actions .barre-boutons{justify-content:space-between}
  .barre-boutons .b-agence{display:none}
  .barre-boutons .wp-block-button.b-barre .wp-block-button__link{padding:0 14px}
  .barre-boutons .wp-block-button.b-barre-devis .wp-block-button__link{padding:0 18px;gap:0}
  .barre-boutons .wp-block-button.b-barre-devis .wp-block-button__link::after{content:none}
}
@media (min-width:981px) and (max-height:820px){
  .heros-accueil{min-height:clamp(640px,100vh,820px);padding-top:122px;padding-bottom:92px}
  .heros-accueil .titre-heros{font-size:clamp(44px,4.6vw,72px)}
  .heros-accueil .chapeau{margin-top:16px;font-size:16px}
  .heros-accueil .heros-boutons{margin-top:24px}
  .heros-page{min-height:clamp(520px,86vh,720px);padding-top:122px;padding-bottom:92px}
}
/* écran large et bas : la photo flottante mord moins sur le héros, pour laisser voir le toit solaire */
@media (min-width:1201px) and (max-height:820px){
  .apropos-droite .wp-block-image.photo-flottante{margin-top:-230px}
}
/* ==========================================================================
   Animations : courtes, jouées une fois, et finies à l'état exact de la page
   immobile (fill-mode backwards). Le contenu reste visible sans script :
   seul app.js masque ce qui est sous l'écran, en posant html.bx-anim, et il
   ne le fait pas si le visiteur demande de réduire les animations.
   ========================================================================== */
@keyframes bx-recul{from{scale:1.07}to{scale:1}}
@keyframes bx-rideau{from{clip-path:inset(-15% -8% 100% -8%);translate:0 34px}to{clip-path:inset(-15% -8% -35% -8%);translate:0 0}}
@keyframes bx-monte{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes bx-pose{0%{opacity:0;translate:0 18px;scale:.94}65%{opacity:1;translate:0 -3px;scale:1.02}100%{opacity:1;translate:0 0;scale:1}}
@keyframes bx-fondu{from{opacity:0}to{opacity:1}}
@keyframes bx-regle{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}

/* 1 · arrivée sur l'accueil : la photo recule, le titre se lève ligne après ligne, puis le texte, le bouton, la pastille */
.heros-accueil > .wp-block-image.heros-photo img{animation:bx-recul 7s cubic-bezier(.2,.6,.2,1) backwards}
.heros-accueil .titre-heros{animation:bx-rideau 1.05s cubic-bezier(.2,.7,.2,1) .15s backwards}
.heros-accueil .chapeau{animation:bx-monte .8s cubic-bezier(.2,.7,.2,1) .55s backwards}
.heros-accueil .heros-boutons{animation:bx-monte .8s cubic-bezier(.2,.7,.2,1) .7s backwards}
.heros-preuve{animation:bx-pose .9s cubic-bezier(.3,.7,.3,1) 1.05s backwards}
.heros-reseaux{animation:bx-fondu .8s ease 1.2s backwards}
@media (min-width:1201px){
  .apropos-droite .wp-block-image.photo-flottante{animation:bx-monte 1s cubic-bezier(.2,.7,.2,1) 1.2s backwards}
}
/* 2 · la règle graduée se déroule comme un mètre ruban */
.heros + *::before{animation:bx-regle 1.7s cubic-bezier(.3,.6,.2,1) .45s backwards}

/* 5 · apparition douce au défilement (classes posées par app.js, retirées une fois l'élément arrivé) */
html.bx-anim .bx-cible{opacity:0;translate:0 28px}
html.bx-anim .bx-cible.bx-vu{opacity:1;translate:0 0;
  transition:opacity .7s cubic-bezier(.2,.7,.2,1),translate .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--bx-i,0) * 90ms)}

/* 3 · les dessins au trait se tracent quand on arrive dessus (variantes animées générées par construire.ps1) */
html.bx-anim .apropos-gauche:not(.bx-vu)::after,
html.bx-anim .distinctions .panneau:not(.bx-vu)::after,
html.bx-anim .contact-accueil:not(.bx-vu)::after{opacity:0}
html.bx-anim .pied-carte:not(.bx-vu){background-image:none}
.apropos-gauche.bx-trace::after{background-image:var(--decor-maison-trace)}
.distinctions .panneau.bx-trace::after{background-image:var(--decor-rue-trace)}
.contact-accueil.bx-trace::after{background-image:var(--decor-chantier-trace)}
.pied-carte.bx-trace{background-image:var(--decor-rue-sombre-trace)}

/* 4 · les chiffres comptent jusqu'à leur valeur. Le vrai chiffre reste dans la page (rendu transparent
   le temps du comptage) : le compteur est un pseudo-élément, ignoré des lecteurs d'écran. */
@property --bx-n{syntax:'<integer>';inherits:false;initial-value:0}
.bx-compte{position:relative;-webkit-text-fill-color:transparent}
.bx-compte::before{content:attr(data-bx-avant) counter(bx) attr(data-bx-apres);content:attr(data-bx-avant) counter(bx) attr(data-bx-apres) / "";
  position:absolute;left:0;right:0;top:var(--bx-haut,0);white-space:nowrap;text-align:inherit;-webkit-text-fill-color:currentColor;
  counter-reset:bx var(--bx-n);--bx-n:0;transition:--bx-n 1.5s cubic-bezier(.2,.7,.25,1) .1s}
.bx-compte.bx-vu::before{--bx-n:var(--bx-cible)}
.noir-chiffre{--bx-haut:22px}

@media print{
  html.bx-anim .bx-cible{opacity:1!important;translate:none!important}
}
@media (prefers-reduced-motion:reduce){
  .ruban-piste,.marques-piste{animation:none}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ---------- Pictogrammes et dessins (générés par construire.ps1 : data URI, couleur = currentColor en masque) ---------- */
:root{
  --fleche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E");
  --fleche-blanche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E");
  --chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --coche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --horloge:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  --auteur:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1-4.5 4.2-7 8-7s7 2.5 8 7'/%3E%3C/svg%3E");
  --etiquette:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12V4h8l10 10-8 8z'/%3E%3Ccircle cx='7.5' cy='8' r='1.5'/%3E%3C/svg%3E");
  --tel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 7h8l3.5 9-4.5 3a23 23 0 0 0 11 11l3-4.5 9 3.5v8a4 4 0 0 1-4 4C22 41 7 26 7 11a4 4 0 0 1 4-4z'/%3E%3C/svg%3E");
  --menu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E");
  --fermer:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E");
  --pilule-fleche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Ccircle cx='22' cy='22' r='22' fill='%2324a2b3'/%3E%3Cpath d='M16.5 27.5 27.5 16.5M18.5 16.5h9v9' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --decor-rue:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 260' fill='none' stroke='%23cfcfcf' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 250H1600'/%3E%3Cpath d='M30 250V112h190v138'/%3E%3Cpath d='M14 114 125 38l111 76'/%3E%3Cpath d='M168 64V40h20v38'/%3E%3Cpath d='M52 132h40v36H52zM158 132h40v36h-40zM52 192h40v36H52zM158 192h40v36h-40z'/%3E%3Cpath d='M44 132v36M100 132v36M150 132v36M206 132v36M44 192v36M100 192v36M150 192v36M206 192v36'/%3E%3Cpath d='M110 250v-58h30v58M125 192v58'/%3E%3Cpath d='M262 250v-86h198v86'/%3E%3Cpath d='M248 166 356 102l118 64'/%3E%3Cpath d='M276 158 332 125l52 30-56 33zM304 142l52 30M290 150l52 30M318 133l52 30'/%3E%3Cpath d='M292 250v-50h28v50M350 206h40v28h-40zM410 206h34v28h-34z'/%3E%3Cpath d='M460 176h118M468 176v74M570 176v74M460 170h118'/%3E%3Cpath d='M478 170v6M490 170v6M502 170v6M514 170v6M526 170v6M538 170v6M550 170v6M562 170v6'/%3E%3Cpath d='M492 250v-26h52v26M500 224v-8h36v8'/%3E%3Cpath d='M612 250V120h140v130'/%3E%3Cpath d='M600 122l82-74 82 74'/%3E%3Ccircle cx='682' cy='98' r='13'/%3E%3Cpath d='M636 142h32v44h-32zM696 142h32v44h-32zM636 204h32v46h-32zM696 204h32v30h-32z'/%3E%3Cpath d='M652 142v44M712 142v44'/%3E%3Cpath d='M812 250v-62M812 214l-16-14M812 204l14-12'/%3E%3Cpath d='M812 190c-30 0-44-18-38-40-14-10-6-38 14-38 4-22 42-24 50-2 22-2 30 26 14 38 8 24-10 42-40 42z'/%3E%3Cpath d='M872 250v-92h212v92'/%3E%3Cpath d='M860 160l118-40 118 40'/%3E%3Cpath d='M872 146q8-6 16 0t16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0'/%3E%3Cpath d='M900 176h34v40h-34zM1022 176h34v40h-34zM892 176v40M942 176v40M1014 176v40M1064 176v40'/%3E%3Cpath d='M960 250v-66h36v66M978 184v66'/%3E%3Cpath d='M1112 250V108h118v142'/%3E%3Cpath d='M1100 110l71-44 71 44'/%3E%3Cpath d='M1098 250V128M1146 250V128M1194 250V128M1242 250V128M1092 128h156M1092 172h156M1092 214h156'/%3E%3Cpath d='M1098 172l48-44M1146 214l48-42M1194 250l48-36M1098 250l48-36'/%3E%3Cpath d='M1262 250V140h190v110M1250 140h214M1262 132h178v8'/%3E%3Cpath d='M1282 160h72v90M1282 160v90M1318 160v90M1376 160h56v40h-56z'/%3E%3Cpath d='M1464 176h124M1470 176v74M1582 176v74M1464 170h124'/%3E%3Cpath d='M1492 250v-10c0-8 6-12 12-14l14-14h36l16 14c8 2 12 6 12 14v10M1508 226h62'/%3E%3Ccircle cx='1508' cy='250' r='7'/%3E%3Ccircle cx='1566' cy='250' r='7'/%3E%3C/svg%3E");
  --decor-maison:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 440 320' fill='none' stroke='%23d6d6d6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 306h428'/%3E%3Cpath d='M40 306V150l110-86 110 86v156'/%3E%3Cpath d='M24 162 150 60l126 102'/%3E%3Cpath d='M190 94V58h26v56'/%3E%3Cpath d='M66 106l84-66 84 66'/%3E%3Cpath d='M92 124l40-31 40 31-40 31z' opacity='.9'/%3E%3Cpath d='M104 115l40 31M116 106l40 31M98 128l30-23'/%3E%3Cpath d='M72 176h48v44H72zM180 176h48v44h-48zM96 176v44M204 176v44'/%3E%3Cpath d='M126 306v-70h48v70M150 236v70'/%3E%3Cpath d='M72 250h36v36H72zM192 250h36v36h-36z'/%3E%3Cpath d='M260 206h166M272 206v100M414 206v100M260 198h166'/%3E%3Cpath d='M280 198v8M296 198v8M312 198v8M328 198v8M344 198v8M360 198v8M376 198v8M392 198v8M408 198v8'/%3E%3Cpath d='M300 306v-30h70v30M306 276l8-14h44l8 14'/%3E%3C/svg%3E");
  --decor-chantier:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' fill='none' stroke='%23d2d2d2' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 190H1200'/%3E%3Cpath d='M40 190 70 30M100 190 110 30M52 128h52M58 96h50M64 64h46M46 160h56'/%3E%3Cpath d='M150 190v-54h120v54M150 150h120M186 136v-14h48v14M202 150v10h16v-10'/%3E%3Cpath d='M300 190v-18h210v18M390 172v18M420 172v18M398 181h14'/%3E%3Cpath d='M550 110h70v24h-70zM620 122h14v28h-44v40'/%3E%3Cpath d='M680 118h52l10 12h-62zM704 130v60'/%3E%3Cpath d='M780 190v-14q16-12 32 0t32 0 32 0v14M780 176v-14q16-12 32 0t32 0 32 0v14M780 162v-14q16-12 32 0t32 0 32 0v14'/%3E%3Cpath d='M920 190l20-70h110l-20 70M936 136h108M928 162h108M972 120l-10 70M1010 120l-10 70M1040 190v-30'/%3E%3Cpath d='M1090 190l60-60M1142 124a12 12 0 1 1 14 14M1098 182a8 8 0 1 1-10-10'/%3E%3C/svg%3E");
  --decor-rue-sombre:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 260' fill='none' stroke='%231c1c1c' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 250H1600'/%3E%3Cpath d='M30 250V112h190v138'/%3E%3Cpath d='M14 114 125 38l111 76'/%3E%3Cpath d='M168 64V40h20v38'/%3E%3Cpath d='M52 132h40v36H52zM158 132h40v36h-40zM52 192h40v36H52zM158 192h40v36h-40z'/%3E%3Cpath d='M44 132v36M100 132v36M150 132v36M206 132v36M44 192v36M100 192v36M150 192v36M206 192v36'/%3E%3Cpath d='M110 250v-58h30v58M125 192v58'/%3E%3Cpath d='M262 250v-86h198v86'/%3E%3Cpath d='M248 166 356 102l118 64'/%3E%3Cpath d='M276 158 332 125l52 30-56 33zM304 142l52 30M290 150l52 30M318 133l52 30'/%3E%3Cpath d='M292 250v-50h28v50M350 206h40v28h-40zM410 206h34v28h-34z'/%3E%3Cpath d='M460 176h118M468 176v74M570 176v74M460 170h118'/%3E%3Cpath d='M478 170v6M490 170v6M502 170v6M514 170v6M526 170v6M538 170v6M550 170v6M562 170v6'/%3E%3Cpath d='M492 250v-26h52v26M500 224v-8h36v8'/%3E%3Cpath d='M612 250V120h140v130'/%3E%3Cpath d='M600 122l82-74 82 74'/%3E%3Ccircle cx='682' cy='98' r='13'/%3E%3Cpath d='M636 142h32v44h-32zM696 142h32v44h-32zM636 204h32v46h-32zM696 204h32v30h-32z'/%3E%3Cpath d='M652 142v44M712 142v44'/%3E%3Cpath d='M812 250v-62M812 214l-16-14M812 204l14-12'/%3E%3Cpath d='M812 190c-30 0-44-18-38-40-14-10-6-38 14-38 4-22 42-24 50-2 22-2 30 26 14 38 8 24-10 42-40 42z'/%3E%3Cpath d='M872 250v-92h212v92'/%3E%3Cpath d='M860 160l118-40 118 40'/%3E%3Cpath d='M872 146q8-6 16 0t16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0'/%3E%3Cpath d='M900 176h34v40h-34zM1022 176h34v40h-34zM892 176v40M942 176v40M1014 176v40M1064 176v40'/%3E%3Cpath d='M960 250v-66h36v66M978 184v66'/%3E%3Cpath d='M1112 250V108h118v142'/%3E%3Cpath d='M1100 110l71-44 71 44'/%3E%3Cpath d='M1098 250V128M1146 250V128M1194 250V128M1242 250V128M1092 128h156M1092 172h156M1092 214h156'/%3E%3Cpath d='M1098 172l48-44M1146 214l48-42M1194 250l48-36M1098 250l48-36'/%3E%3Cpath d='M1262 250V140h190v110M1250 140h214M1262 132h178v8'/%3E%3Cpath d='M1282 160h72v90M1282 160v90M1318 160v90M1376 160h56v40h-56z'/%3E%3Cpath d='M1464 176h124M1470 176v74M1582 176v74M1464 170h124'/%3E%3Cpath d='M1492 250v-10c0-8 6-12 12-14l14-14h36l16 14c8 2 12 6 12 14v10M1508 226h62'/%3E%3Ccircle cx='1508' cy='250' r='7'/%3E%3Ccircle cx='1566' cy='250' r='7'/%3E%3C/svg%3E");
  --decor-rue-trace:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 260' fill='none' stroke='%23cfcfcf' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cstyle%3Epath,circle,line,polyline,polygon,rect,ellipse{stroke-dasharray:1 1;stroke-dashoffset:1;animation:t 1.5s cubic-bezier(.45,.1,.25,1) forwards}@keyframes t{to{stroke-dashoffset:0}}%3C/style%3E%3Cpath pathLength='1' style='animation-delay:0s' d='M0 250H1600'/%3E%3Cpath pathLength='1' style='animation-delay:0.04s' d='M30 250V112h190v138'/%3E%3Cpath pathLength='1' style='animation-delay:0.09s' d='M14 114 125 38l111 76'/%3E%3Cpath pathLength='1' style='animation-delay:0.14s' d='M168 64V40h20v38'/%3E%3Cpath pathLength='1' style='animation-delay:0.18s' d='M52 132h40v36H52zM158 132h40v36h-40zM52 192h40v36H52zM158 192h40v36h-40z'/%3E%3Cpath pathLength='1' style='animation-delay:0.22s' d='M44 132v36M100 132v36M150 132v36M206 132v36M44 192v36M100 192v36M150 192v36M206 192v36'/%3E%3Cpath pathLength='1' style='animation-delay:0.27s' d='M110 250v-58h30v58M125 192v58'/%3E%3Cpath pathLength='1' style='animation-delay:0.32s' d='M262 250v-86h198v86'/%3E%3Cpath pathLength='1' style='animation-delay:0.36s' d='M248 166 356 102l118 64'/%3E%3Cpath pathLength='1' style='animation-delay:0.4s' d='M276 158 332 125l52 30-56 33zM304 142l52 30M290 150l52 30M318 133l52 30'/%3E%3Cpath pathLength='1' style='animation-delay:0.45s' d='M292 250v-50h28v50M350 206h40v28h-40zM410 206h34v28h-34z'/%3E%3Cpath pathLength='1' style='animation-delay:0.5s' d='M460 176h118M468 176v74M570 176v74M460 170h118'/%3E%3Cpath pathLength='1' style='animation-delay:0.54s' d='M478 170v6M490 170v6M502 170v6M514 170v6M526 170v6M538 170v6M550 170v6M562 170v6'/%3E%3Cpath pathLength='1' style='animation-delay:0.58s' d='M492 250v-26h52v26M500 224v-8h36v8'/%3E%3Cpath pathLength='1' style='animation-delay:0.63s' d='M612 250V120h140v130'/%3E%3Cpath pathLength='1' style='animation-delay:0.68s' d='M600 122l82-74 82 74'/%3E%3Ccircle pathLength='1' style='animation-delay:0.72s' cx='682' cy='98' r='13'/%3E%3Cpath pathLength='1' style='animation-delay:0.76s' d='M636 142h32v44h-32zM696 142h32v44h-32zM636 204h32v46h-32zM696 204h32v30h-32z'/%3E%3Cpath pathLength='1' style='animation-delay:0.81s' d='M652 142v44M712 142v44'/%3E%3Cpath pathLength='1' style='animation-delay:0.86s' d='M812 250v-62M812 214l-16-14M812 204l14-12'/%3E%3Cpath pathLength='1' style='animation-delay:0.9s' d='M812 190c-30 0-44-18-38-40-14-10-6-38 14-38 4-22 42-24 50-2 22-2 30 26 14 38 8 24-10 42-40 42z'/%3E%3Cpath pathLength='1' style='animation-delay:0.94s' d='M872 250v-92h212v92'/%3E%3Cpath pathLength='1' style='animation-delay:0.99s' d='M860 160l118-40 118 40'/%3E%3Cpath pathLength='1' style='animation-delay:1.03s' d='M872 146q8-6 16 0t16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0'/%3E%3Cpath pathLength='1' style='animation-delay:1.08s' d='M900 176h34v40h-34zM1022 176h34v40h-34zM892 176v40M942 176v40M1014 176v40M1064 176v40'/%3E%3Cpath pathLength='1' style='animation-delay:1.12s' d='M960 250v-66h36v66M978 184v66'/%3E%3Cpath pathLength='1' style='animation-delay:1.17s' d='M1112 250V108h118v142'/%3E%3Cpath pathLength='1' style='animation-delay:1.21s' d='M1100 110l71-44 71 44'/%3E%3Cpath pathLength='1' style='animation-delay:1.26s' d='M1098 250V128M1146 250V128M1194 250V128M1242 250V128M1092 128h156M1092 172h156M1092 214h156'/%3E%3Cpath pathLength='1' style='animation-delay:1.3s' d='M1098 172l48-44M1146 214l48-42M1194 250l48-36M1098 250l48-36'/%3E%3Cpath pathLength='1' style='animation-delay:1.35s' d='M1262 250V140h190v110M1250 140h214M1262 132h178v8'/%3E%3Cpath pathLength='1' style='animation-delay:1.4s' d='M1282 160h72v90M1282 160v90M1318 160v90M1376 160h56v40h-56z'/%3E%3Cpath pathLength='1' style='animation-delay:1.44s' d='M1464 176h124M1470 176v74M1582 176v74M1464 170h124'/%3E%3Cpath pathLength='1' style='animation-delay:1.48s' d='M1492 250v-10c0-8 6-12 12-14l14-14h36l16 14c8 2 12 6 12 14v10M1508 226h62'/%3E%3Ccircle pathLength='1' style='animation-delay:1.53s' cx='1508' cy='250' r='7'/%3E%3Ccircle pathLength='1' style='animation-delay:1.58s' cx='1566' cy='250' r='7'/%3E%3C/svg%3E");
  --decor-maison-trace:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 440 320' fill='none' stroke='%23d6d6d6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cstyle%3Epath,circle,line,polyline,polygon,rect,ellipse{stroke-dasharray:1 1;stroke-dashoffset:1;animation:t 1.5s cubic-bezier(.45,.1,.25,1) forwards}@keyframes t{to{stroke-dashoffset:0}}%3C/style%3E%3Cpath pathLength='1' style='animation-delay:0s' d='M6 306h428'/%3E%3Cpath pathLength='1' style='animation-delay:0.09s' d='M40 306V150l110-86 110 86v156'/%3E%3Cpath pathLength='1' style='animation-delay:0.18s' d='M24 162 150 60l126 102'/%3E%3Cpath pathLength='1' style='animation-delay:0.27s' d='M190 94V58h26v56'/%3E%3Cpath pathLength='1' style='animation-delay:0.36s' d='M66 106l84-66 84 66'/%3E%3Cpath pathLength='1' style='animation-delay:0.45s' d='M92 124l40-31 40 31-40 31z' opacity='.9'/%3E%3Cpath pathLength='1' style='animation-delay:0.54s' d='M104 115l40 31M116 106l40 31M98 128l30-23'/%3E%3Cpath pathLength='1' style='animation-delay:0.63s' d='M72 176h48v44H72zM180 176h48v44h-48zM96 176v44M204 176v44'/%3E%3Cpath pathLength='1' style='animation-delay:0.72s' d='M126 306v-70h48v70M150 236v70'/%3E%3Cpath pathLength='1' style='animation-delay:0.81s' d='M72 250h36v36H72zM192 250h36v36h-36z'/%3E%3Cpath pathLength='1' style='animation-delay:0.9s' d='M260 206h166M272 206v100M414 206v100M260 198h166'/%3E%3Cpath pathLength='1' style='animation-delay:0.99s' d='M280 198v8M296 198v8M312 198v8M328 198v8M344 198v8M360 198v8M376 198v8M392 198v8M408 198v8'/%3E%3Cpath pathLength='1' style='animation-delay:1.08s' d='M300 306v-30h70v30M306 276l8-14h44l8 14'/%3E%3C/svg%3E");
  --decor-chantier-trace:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' fill='none' stroke='%23d2d2d2' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cstyle%3Epath,circle,line,polyline,polygon,rect,ellipse{stroke-dasharray:1 1;stroke-dashoffset:1;animation:t 1.5s cubic-bezier(.45,.1,.25,1) forwards}@keyframes t{to{stroke-dashoffset:0}}%3C/style%3E%3Cpath pathLength='1' style='animation-delay:0s' d='M0 190H1200'/%3E%3Cpath pathLength='1' style='animation-delay:0.14s' d='M40 190 70 30M100 190 110 30M52 128h52M58 96h50M64 64h46M46 160h56'/%3E%3Cpath pathLength='1' style='animation-delay:0.28s' d='M150 190v-54h120v54M150 150h120M186 136v-14h48v14M202 150v10h16v-10'/%3E%3Cpath pathLength='1' style='animation-delay:0.42s' d='M300 190v-18h210v18M390 172v18M420 172v18M398 181h14'/%3E%3Cpath pathLength='1' style='animation-delay:0.56s' d='M550 110h70v24h-70zM620 122h14v28h-44v40'/%3E%3Cpath pathLength='1' style='animation-delay:0.7s' d='M680 118h52l10 12h-62zM704 130v60'/%3E%3Cpath pathLength='1' style='animation-delay:0.84s' d='M780 190v-14q16-12 32 0t32 0 32 0v14M780 176v-14q16-12 32 0t32 0 32 0v14M780 162v-14q16-12 32 0t32 0 32 0v14'/%3E%3Cpath pathLength='1' style='animation-delay:0.98s' d='M920 190l20-70h110l-20 70M936 136h108M928 162h108M972 120l-10 70M1010 120l-10 70M1040 190v-30'/%3E%3Cpath pathLength='1' style='animation-delay:1.12s' d='M1090 190l60-60M1142 124a12 12 0 1 1 14 14M1098 182a8 8 0 1 1-10-10'/%3E%3C/svg%3E");
  --decor-rue-sombre-trace:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 260' fill='none' stroke='%231c1c1c' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cstyle%3Epath,circle,line,polyline,polygon,rect,ellipse{stroke-dasharray:1 1;stroke-dashoffset:1;animation:t 1.5s cubic-bezier(.45,.1,.25,1) forwards}@keyframes t{to{stroke-dashoffset:0}}%3C/style%3E%3Cpath pathLength='1' style='animation-delay:0s' d='M0 250H1600'/%3E%3Cpath pathLength='1' style='animation-delay:0.04s' d='M30 250V112h190v138'/%3E%3Cpath pathLength='1' style='animation-delay:0.09s' d='M14 114 125 38l111 76'/%3E%3Cpath pathLength='1' style='animation-delay:0.14s' d='M168 64V40h20v38'/%3E%3Cpath pathLength='1' style='animation-delay:0.18s' d='M52 132h40v36H52zM158 132h40v36h-40zM52 192h40v36H52zM158 192h40v36h-40z'/%3E%3Cpath pathLength='1' style='animation-delay:0.22s' d='M44 132v36M100 132v36M150 132v36M206 132v36M44 192v36M100 192v36M150 192v36M206 192v36'/%3E%3Cpath pathLength='1' style='animation-delay:0.27s' d='M110 250v-58h30v58M125 192v58'/%3E%3Cpath pathLength='1' style='animation-delay:0.32s' d='M262 250v-86h198v86'/%3E%3Cpath pathLength='1' style='animation-delay:0.36s' d='M248 166 356 102l118 64'/%3E%3Cpath pathLength='1' style='animation-delay:0.4s' d='M276 158 332 125l52 30-56 33zM304 142l52 30M290 150l52 30M318 133l52 30'/%3E%3Cpath pathLength='1' style='animation-delay:0.45s' d='M292 250v-50h28v50M350 206h40v28h-40zM410 206h34v28h-34z'/%3E%3Cpath pathLength='1' style='animation-delay:0.5s' d='M460 176h118M468 176v74M570 176v74M460 170h118'/%3E%3Cpath pathLength='1' style='animation-delay:0.54s' d='M478 170v6M490 170v6M502 170v6M514 170v6M526 170v6M538 170v6M550 170v6M562 170v6'/%3E%3Cpath pathLength='1' style='animation-delay:0.58s' d='M492 250v-26h52v26M500 224v-8h36v8'/%3E%3Cpath pathLength='1' style='animation-delay:0.63s' d='M612 250V120h140v130'/%3E%3Cpath pathLength='1' style='animation-delay:0.68s' d='M600 122l82-74 82 74'/%3E%3Ccircle pathLength='1' style='animation-delay:0.72s' cx='682' cy='98' r='13'/%3E%3Cpath pathLength='1' style='animation-delay:0.76s' d='M636 142h32v44h-32zM696 142h32v44h-32zM636 204h32v46h-32zM696 204h32v30h-32z'/%3E%3Cpath pathLength='1' style='animation-delay:0.81s' d='M652 142v44M712 142v44'/%3E%3Cpath pathLength='1' style='animation-delay:0.86s' d='M812 250v-62M812 214l-16-14M812 204l14-12'/%3E%3Cpath pathLength='1' style='animation-delay:0.9s' d='M812 190c-30 0-44-18-38-40-14-10-6-38 14-38 4-22 42-24 50-2 22-2 30 26 14 38 8 24-10 42-40 42z'/%3E%3Cpath pathLength='1' style='animation-delay:0.94s' d='M872 250v-92h212v92'/%3E%3Cpath pathLength='1' style='animation-delay:0.99s' d='M860 160l118-40 118 40'/%3E%3Cpath pathLength='1' style='animation-delay:1.03s' d='M872 146q8-6 16 0t16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0 16 0'/%3E%3Cpath pathLength='1' style='animation-delay:1.08s' d='M900 176h34v40h-34zM1022 176h34v40h-34zM892 176v40M942 176v40M1014 176v40M1064 176v40'/%3E%3Cpath pathLength='1' style='animation-delay:1.12s' d='M960 250v-66h36v66M978 184v66'/%3E%3Cpath pathLength='1' style='animation-delay:1.17s' d='M1112 250V108h118v142'/%3E%3Cpath pathLength='1' style='animation-delay:1.21s' d='M1100 110l71-44 71 44'/%3E%3Cpath pathLength='1' style='animation-delay:1.26s' d='M1098 250V128M1146 250V128M1194 250V128M1242 250V128M1092 128h156M1092 172h156M1092 214h156'/%3E%3Cpath pathLength='1' style='animation-delay:1.3s' d='M1098 172l48-44M1146 214l48-42M1194 250l48-36M1098 250l48-36'/%3E%3Cpath pathLength='1' style='animation-delay:1.35s' d='M1262 250V140h190v110M1250 140h214M1262 132h178v8'/%3E%3Cpath pathLength='1' style='animation-delay:1.4s' d='M1282 160h72v90M1282 160v90M1318 160v90M1376 160h56v40h-56z'/%3E%3Cpath pathLength='1' style='animation-delay:1.44s' d='M1464 176h124M1470 176v74M1582 176v74M1464 170h124'/%3E%3Cpath pathLength='1' style='animation-delay:1.48s' d='M1492 250v-10c0-8 6-12 12-14l14-14h36l16 14c8 2 12 6 12 14v10M1508 226h62'/%3E%3Ccircle pathLength='1' style='animation-delay:1.53s' cx='1508' cy='250' r='7'/%3E%3Ccircle pathLength='1' style='animation-delay:1.58s' cx='1566' cy='250' r='7'/%3E%3C/svg%3E");
  --carte-france:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 963' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='556.6,16.1 569.9,11.8 594.1,53.5 612.5,44.9 625,72.8 651.5,81.3 687.5,100.6 737.5,112.4 740.4,149.8 784.6,181.9 810.3,176.6 850.7,186.2 877.9,218.3 904.4,220.4 944.1,230.1 986.8,238.6 966.9,279.3 939.7,337.1 939.7,386.3 905.9,397 887.5,412 855.9,452.6 832.4,492.2 833.8,535 866.9,513.6 882.4,514.7 886.8,574.6 902.9,613.1 889.7,642 876.5,670.9 897.1,696.6 888.2,725.5 919.1,756.5 945.6,755.4 936,792.9 916.9,803.6 906.6,818.6 897.1,819.6 878.7,833.5 870.6,849.6 862.5,859.2 834.6,873.1 818.4,866.7 794.9,859.2 775.7,848.5 757.4,842.1 744.9,832.5 708.1,829.3 690.4,820.7 654.4,834.6 637.5,847.4 614.7,864.6 606.6,888.1 606.6,925.6 615.4,937.3 592.6,935.2 536.8,943.7 509.6,930.9 434.6,893.5 382.4,909.5 344.1,898.8 308.8,875.3 251.5,837.8 267.6,826 286.8,770.4 290.4,700.9 303.7,602.4 306.6,597.1 297.8,539.3 251.5,502.9 220.6,454.8 220.6,420.5 197.1,417.3 152.9,398 134.6,374.5 94.1,356.3 61,363.8 34.6,338.1 31.6,307.1 44.1,278.2 89.7,265.4 128.7,254.7 158.1,258.9 180.1,285.7 211.8,269.6 233.8,272.9 271.3,275 264.7,252.5 250,198 239,158.4 263.2,165.9 289.7,163.7 294.1,192.6 338.2,199 364,204.4 389.7,185.1 409.6,154.1 461.8,135.9 483.1,122 500,107 498.5,74.9 500,50.3 498.5,35.3 518.4,26.8 556.6,16.1' stroke='%239a9a9a' stroke-width='2.2' fill='%23f4f4f4'/%3E%3Cpolyline points='220.6,419.4 268.4,426.9 295.6,410.9 343.4,404.5 376.5,421.6 433.1,406.6 454.4,405.5 480.1,386.3 522.1,353.1 575.7,375.6 614.7,450.5 675,505 681.6,553.2 692.6,680.5' stroke='%23cfcfcf' stroke-width='3'/%3E%3Crect x='716.9' y='765.1' width='227.9' height='117.7' rx='10' stroke='%2324a2b3' stroke-width='2.4'/%3E%3C/svg%3E");
  --carte-provence:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 489' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='-38.7,266.7 9.7,306.7 74.2,311.2 103.2,306.7 122.6,280.1 145.2,289 158.1,320.1 180.6,320.1 193.5,320.1 229,315.6 245.2,306.7 262.9,335.6 264.5,351.2 258.1,373.4 283.9,373.4 319.4,373.4 329,377.9 341.9,391.2 367.7,386.8 387.1,406.8 403.2,415.7 422.6,444.5 429,422.3 445.2,415.7 451.6,420.1 490.3,426.8 509.7,449 522.6,431.2 587.1,405.9 638.7,391.2 687.1,377.9 683.9,360.1 674.2,346.7 661.3,342.3 674.2,329 700,311.2 716.1,280.1 741.9,284.5 748.4,275.6 771,240.1 793.5,222.3 812.9,215.6 832.3,224.5 831.6,206.7 841.9,182.3 877.4,157.8 890.3,155.6 896.8,164.5 925.8,142.3 954.8,122.3 961.3,117.8 954.8,80 971,53.3 1003.2,-4.4' stroke='%239a9a9a' stroke-width='2.4'/%3E%3Cpolygon points='151.6,289 138.7,257.8 161.3,222.3 196.8,231.2 219.4,262.3 200,284.5 177.4,280.1 151.6,289' stroke='%23cfcfcf' stroke-width='2.4'/%3E%3Cpolyline points='500,-22.2 451.6,31.1 400,97.8 345.2,146.7 306.5,160 225.8,146.7 158.1,93.4 83.9,44.5 48.4,111.1 25.8,164.5 48.4,244.5 93.5,320.1' stroke='%23cfcfcf' stroke-width='3'/%3E%3C/svg%3E");
  --carte-ratio-france:1000 / 963;
  --carte-ratio-provence:1000 / 489;
}
.ico-soleil{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='29' cy='17' r='6.5'/%3E%3Cpath d='M29 4.5v3M29 26.5v3M16.5 17h3M38.5 17h3M20.2 8.2l2.1 2.1M35.7 23.7l2.1 2.1M37.8 8.2l-2.1 2.1M22.3 23.7l-2.1 2.1'/%3E%3Cpath d='M7 41 23 25M7 41h11M7 41V30'/%3E%3C/svg%3E")}
.ico-maison{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 23 24 7l20 16'/%3E%3Cpath d='M11 23 24 12.5 37 23'/%3E%3Cpath d='M9 21v21h30V21'/%3E%3Cpath d='M15 28h7v7h-7z'/%3E%3Cpath d='M28 42V30h6v12'/%3E%3C/svg%3E")}
.ico-fenetre{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 15h22M13 24h8M27 24h8M13 33h22'/%3E%3C/svg%3E")}
.ico-pac{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 22 24 9l15 13v18H9z'/%3E%3Cpath d='M24 18c-5 3.5 5 7 0 10.5S29 36 24 39.5'/%3E%3C/svg%3E")}
.ico-isolation{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='18' width='32' height='12' rx='6'/%3E%3Cpath d='M17 24h.1M24 24h.1M31 24h.1' stroke-width='3.6'/%3E%3C/svg%3E")}
.ico-toit{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 30 24 15l15 15'/%3E%3C/svg%3E")}
.ico-facade{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 36V13h20M34 13v10h-9v13'/%3E%3C/svg%3E")}
.ico-eclair{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M27 6 13 27h10l-2 15 14-21H25z'/%3E%3C/svg%3E")}
.ico-pergola{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 14h34M12 14v24M36 14v24M12 21h24M12 28h24'/%3E%3C/svg%3E")}
.ico-evolution{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 40h9v-8h9v-8h9v-8h9'/%3E%3Cpath d='m37 11 5 5-5 5'/%3E%3C/svg%3E")}
.ico-collectif{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='17' cy='16' r='6'/%3E%3Ccircle cx='33' cy='18' r='5'/%3E%3Cpath d='M5 40c1.5-7.5 6-11 12-11s10.5 3.5 12 11'/%3E%3Cpath d='M29.5 30.4c1.1-.3 2.3-.4 3.5-.4 5 0 8.6 3 10 10'/%3E%3C/svg%3E")}
.ico-methode{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='10' y='6' width='28' height='36' rx='2'/%3E%3Cpath d='m16 17 3 3 6-6M16 30l3 3 6-6'/%3E%3Cpath d='M29 18h4M29 31h4'/%3E%3C/svg%3E")}
.ico-bouclier{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 5 9 11v11c0 10 6.5 17 15 21 8.5-4 15-11 15-21V11z'/%3E%3Cpath d='m17 24 5 5 9-10'/%3E%3C/svg%3E")}
.ico-doc{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 5h15l9 9v29H13z'/%3E%3Cpath d='M28 5v9h9M19 24h12M19 31h12'/%3E%3C/svg%3E")}
.ico-colis{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15 24 6l18 9v19l-18 9-18-9z'/%3E%3Cpath d='m6 15 18 9 18-9M24 24v19'/%3E%3C/svg%3E")}
.ico-tel{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 7h8l3.5 9-4.5 3a23 23 0 0 0 11 11l3-4.5 9 3.5v8a4 4 0 0 1-4 4C22 41 7 26 7 11a4 4 0 0 1 4-4z'/%3E%3C/svg%3E")}
.ico-pin{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 43s13-11.5 13-23a13 13 0 1 0-26 0c0 11.5 13 23 13 23z'/%3E%3Ccircle cx='24' cy='20' r='5'/%3E%3C/svg%3E")}
.ico-mail{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='11' width='36' height='26' rx='3'/%3E%3Cpath d='m7 13 17 13 17-13'/%3E%3C/svg%3E")}
.ico-horloge{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.ico-metier-toiture{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='black'%3E%3Cpath d='M31.21 45.64 L16.79 45.64 C8.83 45.64 2.36 39.17 2.36 31.21 L2.36 16.79 C2.36 8.83 8.83 2.36 16.79 2.36 L31.21 2.36 C39.17 2.36 45.64 8.83 45.64 16.79 L45.64 31.21 C45.64 39.17 39.17 45.64 31.21 45.64 M16.79 6.3 C11.01 6.3 6.3 11.01 6.3 16.79 L6.3 31.21 C6.3 36.99 11.01 41.7 16.79 41.7 L31.21 41.7 C36.99 41.7 41.7 36.99 41.7 31.21 L41.7 16.79 C41.7 11.01 36.99 6.3 31.21 6.3 Z'/%3E%3Cpath d='M37.32 22.27 L29.25 15.07 C28.33 14.25 26.96 14.2 26 14.96 L11.31 26.44 C10.14 27.35 9.93 29.04 10.84 30.21 L10.85 30.21 C11.76 31.38 13.45 31.59 14.62 30.68 L27.45 20.64 L33.74 26.27 C34.84 27.26 36.54 27.17 37.53 26.06 C38.52 24.96 38.42 23.26 37.32 22.27'/%3E%3C/svg%3E")}
.ico-metier-menuiserie{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='black'%3E%3Cpath d='M37.16 24 L37.16 24 C37.16 25.37 36.05 26.48 34.68 26.48 L29.13 26.48 C27.75 26.48 26.64 25.37 26.64 24 C26.64 22.63 27.75 21.52 29.13 21.52 L34.68 21.52 C36.05 21.52 37.16 22.63 37.16 24'/%3E%3Cpath d='M18.05 31.88 L18.05 31.88 C18.05 30.51 19.16 29.39 20.53 29.39 L27.08 29.39 C28.45 29.39 29.57 30.51 29.57 31.88 C29.57 33.25 28.45 34.36 27.08 34.36 L20.53 34.36 C19.16 34.36 18.05 33.25 18.05 31.88'/%3E%3Cpath d='M18.05 16.12 L18.05 16.12 C18.05 14.75 19.16 13.64 20.53 13.64 L27.08 13.64 C28.45 13.64 29.57 14.75 29.57 16.12 C29.57 17.49 28.45 18.6 27.08 18.6 L20.53 18.6 C19.16 18.6 18.05 17.49 18.05 16.12'/%3E%3Cpath d='M10.84 24 L10.84 24 C10.84 22.63 11.95 21.52 13.32 21.52 L18.87 21.52 C20.25 21.52 21.36 22.63 21.36 24 C21.36 25.37 20.25 26.48 18.87 26.48 L13.32 26.48 C11.95 26.48 10.84 25.37 10.84 24'/%3E%3Cpath d='M31.21 45.64 L16.79 45.64 C8.83 45.64 2.36 39.17 2.36 31.21 L2.36 16.79 C2.36 8.83 8.83 2.36 16.79 2.36 L31.21 2.36 C39.17 2.36 45.64 8.83 45.64 16.79 L45.64 31.21 C45.64 39.17 39.17 45.64 31.21 45.64 M16.79 6.3 C11.01 6.3 6.3 11.01 6.3 16.79 L6.3 31.21 C6.3 36.99 11.01 41.7 16.79 41.7 L31.21 41.7 C36.99 41.7 41.7 36.99 41.7 31.21 L41.7 16.79 C41.7 11.01 36.99 6.3 31.21 6.3 Z'/%3E%3C/svg%3E")}
.ico-metier-facade{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='black'%3E%3Cpath d='M31.21 45.65 L16.79 45.65 C8.83 45.65 2.35 39.17 2.35 31.21 L2.35 16.79 C2.35 8.83 8.83 2.35 16.79 2.35 L31.21 2.35 C39.17 2.35 45.65 8.83 45.65 16.79 L45.65 31.21 C45.65 39.17 39.17 45.65 31.21 45.65 M16.79 6.3 C11 6.3 6.3 11 6.3 16.79 L6.3 31.21 C6.3 37 11 41.7 16.79 41.7 L31.21 41.7 C37 41.7 41.7 37 41.7 31.21 L41.7 16.79 C41.7 11 37 6.3 31.21 6.3 Z'/%3E%3Cpath d='M13.58 13.6 C12.5 13.6 11.63 14.49 11.63 15.59 L11.63 15.97 L11.63 18.57 L11.63 42.6 L16.5 42.6 L16.5 18.57 L32 18.57 L32 42.6 L36.87 42.6 L36.87 18.57 L36.87 15.59 C36.87 14.49 36 13.6 34.92 13.6 Z'/%3E%3Cpath d='M12.24 30.18 L12.24 30.18 C12.24 28.81 13.35 27.7 14.73 27.7 L20.09 27.7 C21.47 27.7 22.58 28.81 22.58 30.18 C22.58 31.55 21.47 32.66 20.09 32.66 L14.73 32.66 C13.35 32.66 12.24 31.55 12.24 30.18'/%3E%3C/svg%3E")}
.ico-metier-energies{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='black'%3E%3Cpath d='M31.21 45.64 L16.79 45.64 C8.83 45.64 2.36 39.17 2.36 31.21 L2.36 16.79 C2.36 8.83 8.83 2.36 16.79 2.36 L31.21 2.36 C39.17 2.36 45.64 8.83 45.64 16.79 L45.64 31.21 C45.64 39.17 39.17 45.64 31.21 45.64 M16.79 6.3 C11.01 6.3 6.3 11.01 6.3 16.79 L6.3 31.21 C6.3 36.99 11.01 41.7 16.79 41.7 L31.21 41.7 C36.99 41.7 41.7 36.99 41.7 31.21 L41.7 16.79 C41.7 11.01 36.99 6.3 31.21 6.3 Z'/%3E%3Cpath d='M20.47 14.46 L17.02 23.11 C16.72 23.85 16.81 24.68 17.25 25.34 C17.7 25.99 18.44 26.39 19.23 26.39 L25.24 26.39 L22.38 33.54 L27.52 33.54 L30.98 24.89 C31.28 24.15 31.19 23.32 30.75 22.66 C30.3 22.01 29.56 21.61 28.77 21.62 L22.75 21.62 L25.61 14.46 Z'/%3E%3C/svg%3E")}
.ico-metier-isolation{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='black'%3E%3Cpath d='M15.9 19.96 L15.9 19.96 C17.16 20.51 17.72 21.98 17.17 23.23 L15.6 26.78 C15.05 28.03 13.58 28.6 12.33 28.04 C11.07 27.49 10.51 26.02 11.06 24.77 L12.63 21.23 C13.18 19.97 14.65 19.4 15.9 19.96'/%3E%3Cpath d='M25.79 19.96 L25.79 19.96 C27.04 20.51 27.61 21.98 27.05 23.23 L25.49 26.78 C24.93 28.03 23.47 28.6 22.21 28.04 C20.96 27.49 20.39 26.02 20.95 24.77 L22.51 21.23 C23.07 19.97 24.53 19.4 25.79 19.96'/%3E%3Cpath d='M35.67 19.96 L35.67 19.96 C36.93 20.51 37.49 21.98 36.94 23.23 L35.37 26.78 C34.82 28.03 33.35 28.6 32.1 28.04 C30.84 27.49 30.28 26.02 30.83 24.77 L32.4 21.23 C32.95 19.97 34.42 19.4 35.67 19.96'/%3E%3Cpath d='M43.67 18.07 L4.33 18.07 L4.33 13.11 L43.67 13.11 Z'/%3E%3Cpath d='M43.67 34.9 L4.33 34.9 L4.33 29.93 L43.67 29.93 Z'/%3E%3Cpath d='M31.21 45.64 L16.79 45.64 C8.83 45.64 2.36 39.17 2.36 31.21 L2.36 16.79 C2.36 8.83 8.83 2.36 16.79 2.36 L31.21 2.36 C39.17 2.36 45.64 8.83 45.64 16.79 L45.64 31.21 C45.64 39.17 39.17 45.64 31.21 45.64 M16.79 6.3 C11.01 6.3 6.3 11.01 6.3 16.79 L6.3 31.21 C6.3 36.99 11.01 41.7 16.79 41.7 L31.21 41.7 C36.99 41.7 41.7 36.99 41.7 31.21 L41.7 16.79 C41.7 11.01 36.99 6.3 31.21 6.3 Z'/%3E%3C/svg%3E")}
.ico-metier-pac{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='black'%3E%3Cpath d='M21.44 35.55 L26.84 35.55 C28.72 35.55 30.26 34.02 30.26 32.13 C30.26 30.24 28.72 28.7 26.84 28.7 L21.44 28.7 C20.49 28.7 19.71 27.93 19.71 26.98 C19.71 26.03 20.49 25.26 21.44 25.26 C23.32 25.26 24.86 23.72 24.86 21.83 L24.86 19.71 C24.86 19.26 24.46 18.86 24.01 18.86 C23.56 18.86 23.16 19.26 23.16 19.71 L23.16 21.83 C23.16 22.78 22.38 23.56 21.44 23.56 C19.55 23.56 18.01 25.09 18.01 26.98 C18.01 28.87 19.55 30.4 21.44 30.4 L26.84 30.4 C27.78 30.4 28.56 31.18 28.56 32.13 C28.56 33.08 27.78 33.85 26.84 33.85 L21.44 33.85 C19.55 33.85 18.01 35.38 18.01 37.27 C18.01 39.16 19.55 40.7 21.44 40.7 L26.84 40.7 C27.78 40.7 28.56 41.47 28.56 42.42 C28.56 43.37 27.78 44.14 26.84 44.14 C26.38 44.14 25.98 44.54 25.98 44.99 C25.98 45.45 26.38 45.84 26.84 45.84 C28.72 45.84 30.26 44.31 30.26 42.42 C30.26 40.53 28.72 39 26.84 39 L21.44 39 C20.49 39 19.71 38.22 19.71 37.27 C19.71 36.32 20.49 35.55 21.44 35.55'/%3E%3Cpath d='M15.38 33.85 L12.3 33.85 L12.3 15.78 C12.3 15.32 11.9 14.93 11.44 14.93 C10.99 14.93 10.59 15.32 10.59 15.78 L10.59 34.7 C10.59 35.15 10.99 35.55 11.44 35.55 L15.38 35.55 C15.83 35.55 16.23 35.15 16.23 34.7 C16.23 34.25 15.83 33.85 15.38 33.85'/%3E%3Cpath d='M36.52 14.93 C36.07 14.93 35.67 15.32 35.67 15.78 L35.67 33.85 L32.54 33.85 C32.08 33.85 31.69 34.25 31.69 34.7 C31.69 35.15 32.08 35.55 32.54 35.55 L36.52 35.55 C36.98 35.55 37.37 35.15 37.37 34.7 L37.37 15.78 C37.37 15.29 37.01 14.93 36.52 14.93'/%3E%3Cpath d='M18.59 19.27 C18.65 19.29 18.71 19.29 18.77 19.29 C18.95 19.29 19.12 19.24 19.27 19.14 L23.96 16.24 L28.59 19.12 C28.71 19.25 28.89 19.25 29.06 19.25 C29.32 19.25 29.61 19.1 29.79 18.85 C30.02 18.45 29.9 17.95 29.51 17.66 L24.36 14.54 C24.08 14.37 23.74 14.37 23.46 14.54 L18.36 17.72 C18.17 17.82 18.04 18.01 17.98 18.25 C17.93 18.47 17.97 18.71 18.07 18.9 C18.18 19.09 18.37 19.22 18.59 19.27'/%3E%3Cpath d='M41.27 12.97 L24.41 2.32 C24.13 2.16 23.79 2.16 23.5 2.32 L6.65 13.02 C6.46 13.13 6.33 13.32 6.27 13.56 C6.22 13.78 6.26 14.02 6.37 14.21 C6.48 14.4 6.67 14.53 6.9 14.59 C6.97 14.6 7.04 14.61 7.11 14.61 C7.27 14.61 7.42 14.57 7.56 14.49 L23.96 4.08 L40.34 14.43 C40.47 14.56 40.65 14.56 40.81 14.56 C41.13 14.56 41.39 14.42 41.55 14.16 L41.55 14.16 C41.78 13.76 41.66 13.25 41.27 12.97'/%3E%3C/svg%3E")}
.ico-metier-pv{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='black'%3E%3Cpath d='M27.37 8.03 L27.37 8.03 C27.8 8.03 28.16 7.68 28.16 7.24 L28.16 4.07 C28.16 3.63 27.8 3.28 27.37 3.28 C26.93 3.28 26.58 3.63 26.58 4.07 L26.58 7.24 C26.58 7.67 26.93 8.03 27.37 8.03'/%3E%3Cpath d='M27.37 24.02 C31.37 24.02 34.63 20.76 34.63 16.76 C34.63 12.76 31.37 9.5 27.37 9.5 C23.37 9.5 20.11 12.76 20.11 16.76 C20.11 20.76 23.37 24.02 27.37 24.02 M21.69 16.76 C21.69 13.63 24.24 11.08 27.37 11.08 C30.5 11.08 33.05 13.63 33.05 16.76 C33.05 19.89 30.5 22.44 27.37 22.44 C24.24 22.44 21.69 19.89 21.69 16.76'/%3E%3Cpath d='M33.54 22.93 C33.4 23.08 33.31 23.28 33.31 23.49 C33.31 23.7 33.4 23.9 33.54 24.05 L35.79 26.29 C35.94 26.44 36.14 26.53 36.35 26.53 C36.56 26.53 36.75 26.44 36.9 26.29 C37.05 26.15 37.14 25.95 37.14 25.74 C37.14 25.53 37.05 25.33 36.9 25.18 L34.66 22.93 C34.35 22.63 33.85 22.63 33.54 22.93'/%3E%3Cpath d='M33.54 10.59 C33.69 10.74 33.89 10.82 34.1 10.82 C34.31 10.82 34.51 10.74 34.66 10.59 L36.9 8.34 C37.05 8.19 37.14 7.99 37.14 7.78 C37.14 7.57 37.05 7.37 36.9 7.23 C36.61 6.93 36.09 6.93 35.79 7.23 L33.54 9.47 C33.24 9.78 33.24 10.28 33.54 10.59 Z'/%3E%3Cpath d='M40.06 15.97 L36.89 15.97 C36.46 15.97 36.1 16.32 36.1 16.76 C36.1 17.2 36.45 17.55 36.89 17.55 L40.06 17.55 C40.5 17.55 40.85 17.2 40.85 16.76 C40.85 16.32 40.5 15.97 40.06 15.97'/%3E%3Cpath d='M20.08 10.59 C20.23 10.74 20.43 10.82 20.64 10.82 C20.85 10.82 21.05 10.74 21.19 10.59 C21.5 10.28 21.5 9.78 21.19 9.47 L18.95 7.23 C18.65 6.93 18.13 6.93 17.83 7.23 C17.69 7.37 17.6 7.57 17.6 7.78 C17.6 7.99 17.69 8.19 17.83 8.34 Z'/%3E%3Cpath d='M14.67 17.55 L17.85 17.55 C18.28 17.55 18.63 17.2 18.64 16.76 C18.64 16.33 18.28 15.97 17.85 15.97 L14.67 15.97 C14.24 15.97 13.88 16.33 13.88 16.76 C13.88 17.2 14.24 17.55 14.67 17.55'/%3E%3Cpath d='M26.58 26.28 L26.58 29.46 C26.58 29.89 26.93 30.25 27.37 30.25 C27.8 30.25 28.16 29.89 28.16 29.46 L28.16 26.28 C28.16 25.85 27.8 25.49 27.37 25.49 C26.93 25.49 26.58 25.85 26.58 26.28'/%3E%3Cpath d='M20.08 22.93 L17.83 25.18 C17.68 25.33 17.6 25.53 17.6 25.74 C17.6 25.95 17.68 26.15 17.83 26.29 C17.98 26.44 18.18 26.53 18.39 26.53 C18.6 26.53 18.8 26.44 18.95 26.29 L21.19 24.05 C21.34 23.9 21.42 23.7 21.42 23.49 C21.42 23.28 21.34 23.08 21.19 22.93 C20.89 22.63 20.39 22.63 20.08 22.93'/%3E%3Cpath d='M38.24 38.96 L8.39 24.26 C8.21 24.17 7.99 24.16 7.79 24.22 C7.59 24.29 7.43 24.43 7.34 24.62 C7.15 25.01 7.31 25.49 7.7 25.68 L19.78 31.63 L19.78 44.72 L21.36 44.72 L21.36 32.41 L23.04 33.24 L23.04 44.72 L24.62 44.72 L24.62 34.01 L37.55 40.38 C37.93 40.57 38.41 40.41 38.6 40.02 C38.69 39.83 38.71 39.62 38.64 39.42 C38.57 39.22 38.43 39.06 38.24 38.96'/%3E%3C/svg%3E")}
.ico-metier-pergola{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='black'%3E%3Cpath d='M8.78 6.15 L39.22 6.15 C39.7 6.15 40.09 6.54 40.09 7.02 C40.09 7.5 39.7 7.89 39.22 7.89 L8.78 7.89 C8.3 7.89 7.91 7.5 7.91 7.02 C7.91 6.54 8.3 6.15 8.78 6.15'/%3E%3Cpath d='M8.78 9.39 L39.22 9.39 C39.7 9.39 40.09 9.78 40.09 10.27 C40.09 10.75 39.7 11.14 39.22 11.14 L8.78 11.14 C8.3 11.14 7.91 10.75 7.91 10.27 C7.91 9.78 8.3 9.39 8.78 9.39'/%3E%3Cpath d='M7.91 13.51 L7.91 40.98 C7.91 41.46 8.3 41.85 8.78 41.85 C9.27 41.85 9.66 41.46 9.66 40.98 L9.66 19.1 L14.23 14.39 L33.37 14.39 L38.34 19.14 L38.34 40.98 C38.34 41.46 38.73 41.85 39.22 41.85 C39.7 41.85 40.09 41.46 40.09 40.98 L40.09 13.51 C40.09 13.03 39.7 12.64 39.22 12.64 L8.78 12.64 C8.3 12.64 7.91 13.03 7.91 13.51 M9.66 16.61 L9.66 14.39 L11.79 14.39 Z M35.9 14.39 L38.39 14.39 L38.39 16.74 Z'/%3E%3C/svg%3E")}
.reseau-instagram{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M17.5 6.5h.01' stroke-width='2.2'/%3E%3C/svg%3E")}
.reseau-facebook{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h-2.5A4.5 4.5 0 0 0 8 7.5V10H5.5v3.5H8V21h3.5v-7.5h3l.5-3.5h-3.5V7.8c0-.8.5-1.3 1.3-1.3H15z'/%3E%3C/svg%3E")}
.reseau-linkedin{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='4'/%3E%3Cpath d='M8 10.5V16M8 7.6v.01M12 16v-5.5M12 13c0-1.6 1.1-2.6 2.3-2.6s2 .9 2 2.5V16'/%3E%3C/svg%3E")}
/* repères de la carte des agences : ajouter « repere x-NN y-NN » au paragraphe de la ville (NN = position en %) */
.repere.x-0{left:0%}.repere.x-1{left:1%}.repere.x-2{left:2%}.repere.x-3{left:3%}.repere.x-4{left:4%}.repere.x-5{left:5%}.repere.x-6{left:6%}.repere.x-7{left:7%}.repere.x-8{left:8%}.repere.x-9{left:9%}.repere.x-10{left:10%}.repere.x-11{left:11%}.repere.x-12{left:12%}.repere.x-13{left:13%}.repere.x-14{left:14%}.repere.x-15{left:15%}.repere.x-16{left:16%}.repere.x-17{left:17%}.repere.x-18{left:18%}.repere.x-19{left:19%}.repere.x-20{left:20%}.repere.x-21{left:21%}.repere.x-22{left:22%}.repere.x-23{left:23%}.repere.x-24{left:24%}.repere.x-25{left:25%}.repere.x-26{left:26%}.repere.x-27{left:27%}.repere.x-28{left:28%}.repere.x-29{left:29%}.repere.x-30{left:30%}.repere.x-31{left:31%}.repere.x-32{left:32%}.repere.x-33{left:33%}.repere.x-34{left:34%}.repere.x-35{left:35%}.repere.x-36{left:36%}.repere.x-37{left:37%}.repere.x-38{left:38%}.repere.x-39{left:39%}.repere.x-40{left:40%}.repere.x-41{left:41%}.repere.x-42{left:42%}.repere.x-43{left:43%}.repere.x-44{left:44%}.repere.x-45{left:45%}.repere.x-46{left:46%}.repere.x-47{left:47%}.repere.x-48{left:48%}.repere.x-49{left:49%}.repere.x-50{left:50%}.repere.x-51{left:51%}.repere.x-52{left:52%}.repere.x-53{left:53%}.repere.x-54{left:54%}.repere.x-55{left:55%}.repere.x-56{left:56%}.repere.x-57{left:57%}.repere.x-58{left:58%}.repere.x-59{left:59%}.repere.x-60{left:60%}.repere.x-61{left:61%}.repere.x-62{left:62%}.repere.x-63{left:63%}.repere.x-64{left:64%}.repere.x-65{left:65%}.repere.x-66{left:66%}.repere.x-67{left:67%}.repere.x-68{left:68%}.repere.x-69{left:69%}.repere.x-70{left:70%}.repere.x-71{left:71%}.repere.x-72{left:72%}.repere.x-73{left:73%}.repere.x-74{left:74%}.repere.x-75{left:75%}.repere.x-76{left:76%}.repere.x-77{left:77%}.repere.x-78{left:78%}.repere.x-79{left:79%}.repere.x-80{left:80%}.repere.x-81{left:81%}.repere.x-82{left:82%}.repere.x-83{left:83%}.repere.x-84{left:84%}.repere.x-85{left:85%}.repere.x-86{left:86%}.repere.x-87{left:87%}.repere.x-88{left:88%}.repere.x-89{left:89%}.repere.x-90{left:90%}.repere.x-91{left:91%}.repere.x-92{left:92%}.repere.x-93{left:93%}.repere.x-94{left:94%}.repere.x-95{left:95%}.repere.x-96{left:96%}.repere.x-97{left:97%}.repere.x-98{left:98%}.repere.x-99{left:99%}.repere.x-100{left:100%}
.repere.y-0{top:0%}.repere.y-1{top:1%}.repere.y-2{top:2%}.repere.y-3{top:3%}.repere.y-4{top:4%}.repere.y-5{top:5%}.repere.y-6{top:6%}.repere.y-7{top:7%}.repere.y-8{top:8%}.repere.y-9{top:9%}.repere.y-10{top:10%}.repere.y-11{top:11%}.repere.y-12{top:12%}.repere.y-13{top:13%}.repere.y-14{top:14%}.repere.y-15{top:15%}.repere.y-16{top:16%}.repere.y-17{top:17%}.repere.y-18{top:18%}.repere.y-19{top:19%}.repere.y-20{top:20%}.repere.y-21{top:21%}.repere.y-22{top:22%}.repere.y-23{top:23%}.repere.y-24{top:24%}.repere.y-25{top:25%}.repere.y-26{top:26%}.repere.y-27{top:27%}.repere.y-28{top:28%}.repere.y-29{top:29%}.repere.y-30{top:30%}.repere.y-31{top:31%}.repere.y-32{top:32%}.repere.y-33{top:33%}.repere.y-34{top:34%}.repere.y-35{top:35%}.repere.y-36{top:36%}.repere.y-37{top:37%}.repere.y-38{top:38%}.repere.y-39{top:39%}.repere.y-40{top:40%}.repere.y-41{top:41%}.repere.y-42{top:42%}.repere.y-43{top:43%}.repere.y-44{top:44%}.repere.y-45{top:45%}.repere.y-46{top:46%}.repere.y-47{top:47%}.repere.y-48{top:48%}.repere.y-49{top:49%}.repere.y-50{top:50%}.repere.y-51{top:51%}.repere.y-52{top:52%}.repere.y-53{top:53%}.repere.y-54{top:54%}.repere.y-55{top:55%}.repere.y-56{top:56%}.repere.y-57{top:57%}.repere.y-58{top:58%}.repere.y-59{top:59%}.repere.y-60{top:60%}.repere.y-61{top:61%}.repere.y-62{top:62%}.repere.y-63{top:63%}.repere.y-64{top:64%}.repere.y-65{top:65%}.repere.y-66{top:66%}.repere.y-67{top:67%}.repere.y-68{top:68%}.repere.y-69{top:69%}.repere.y-70{top:70%}.repere.y-71{top:71%}.repere.y-72{top:72%}.repere.y-73{top:73%}.repere.y-74{top:74%}.repere.y-75{top:75%}.repere.y-76{top:76%}.repere.y-77{top:77%}.repere.y-78{top:78%}.repere.y-79{top:79%}.repere.y-80{top:80%}.repere.y-81{top:81%}.repere.y-82{top:82%}.repere.y-83{top:83%}.repere.y-84{top:84%}.repere.y-85{top:85%}.repere.y-86{top:86%}.repere.y-87{top:87%}.repere.y-88{top:88%}.repere.y-89{top:89%}.repere.y-90{top:90%}.repere.y-91{top:91%}.repere.y-92{top:92%}.repere.y-93{top:93%}.repere.y-94{top:94%}.repere.y-95{top:95%}.repere.y-96{top:96%}.repere.y-97{top:97%}.repere.y-98{top:98%}.repere.y-99{top:99%}.repere.y-100{top:100%}
.carte-cadre{left:71.69%;top:79.44%;width:22.79%;height:12.22%}

/* ---------- Propre à WordPress : gabarits d'archive et d'article ---------- */
.bandeau-sombre{padding:190px 0 78px;background:var(--fond);border-radius:0 0 var(--r-panneau) var(--r-panneau)}
.bandeau-sombre h1{font-size:clamp(34px,3.6vw,54px);line-height:1.08;letter-spacing:-.03em}
.liste-articles{padding:80px 0 128px}
.liste-articles .wp-block-post-template{list-style:none;margin:0;padding:0;display:grid;gap:40px}
.liste-articles .wp-block-post-title{font-size:24px}
.liste-articles .wp-block-post-title a{text-decoration:none}
.corps-article{padding:80px 0 128px}
.corps-article .wp-block-post-content{max-width:760px}
.corps-article .wp-block-post-content > * + *{margin-top:20px}