/* ABR — feuille de style complète du site (en-tête, contenu, pied).
   Les blocs embarquent désormais leur propre CSS : ce fichier n'est plus
   indispensable, mais il reste utile si vous préférez une feuille unique
   mise en cache par le navigateur. Dans ce cas, retirez les balises <style>
   des blocs. */

/* ==========================================================================
   ABR — En-tête & navigation
   Jetons repris de la charte graphique V1. Aucune couleur en dur ailleurs.
   ========================================================================== */
:root{
  --abr-vert:#0A3D28; --abr-vert-fonce:#062A1B; --abr-bleu:#005BB4; --abr-bleu-clair:#1888CE;
  --abr-rouge:#DC0118; --abr-rouge-fonce:#B00000; --abr-jaune:#FEE904;
  --abr-gris:#4A5A6A; --abr-blanc:#FFFFFF; --abr-fond-1:#F4F7FB;
  --abr-fond-2:#CCE6D6; --abr-fond-3:#E9EEF5; --abr-bordure:#D3DCE6;
  --abr-display:"Bitter",Georgia,serif;
  --abr-corps:"Public Sans",system-ui,Arial,sans-serif;
  --abr-label:"Archivo Narrow","Arial Narrow","Helvetica Neue Condensed Bold",Arial,sans-serif;
  --abr-r-sm:2px; --abr-r-md:4px;
  /* hauteurs réservées : évite tout décalage de mise en page au chargement */
  --abr-h-rappel:34px; --abr-h-barre:68px;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--abr-corps);color:var(--abr-vert);background:var(--abr-blanc);-webkit-font-smoothing:antialiased}

/* ---------- utilitaires ---------- */
.abr-conteneur{max-width:1320px;margin:0 auto;padding:0 24px}
.abr-evitement{
  position:absolute;top:8px;left:8px;background:var(--abr-jaune);color:var(--abr-vert);
  font-family:var(--abr-label);font-weight:700;padding:10px 16px;z-index:200;text-decoration:none;
  transform:translateY(-200%);
}
.abr-evitement:focus{transform:none}
:focus-visible{outline:3px solid var(--abr-bleu-clair);outline-offset:2px}

/* ==========================================================================
   1 · BANDEAU DE RAPPEL
   ========================================================================== */
.abr-rappel{background:var(--abr-vert);color:#fff;height:var(--abr-h-rappel);display:flex;align-items:center}
.abr-rappel .abr-conteneur{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%}
.abr-rappel p{margin:0;font-family:var(--abr-label);font-size:12.5px;letter-spacing:.06em;color:#C6D8CD;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.abr-rappel strong{color:#fff;font-weight:600}
.abr-rappel-liens{display:flex;align-items:center;gap:18px;flex:none}
.abr-rappel-liens a{
  font-family:var(--abr-label);font-size:12.5px;font-weight:600;letter-spacing:.08em;
  color:#C6D8CD;text-decoration:none;white-space:nowrap;
}
.abr-rappel-liens a:hover,.abr-rappel-liens a:focus-visible{color:var(--abr-jaune)}
.abr-rappel-liens .abr-note{color:var(--abr-jaune);display:flex;align-items:center;gap:6px}
.abr-rappel-liens .abr-note svg{width:13px;height:13px;fill:var(--abr-jaune);flex:none}

.abr-langues{display:flex;align-items:center;gap:1px;background:rgba(255,255,255,.16);border-radius:var(--abr-r-sm);padding:1px;flex:none}
.abr-langues a{
  font-family:var(--abr-label);font-size:11.5px;font-weight:700;letter-spacing:.1em;
  color:#C6D8CD;text-decoration:none;padding:3px 7px;border-radius:1px;line-height:1.4;
}
.abr-langues a:hover,.abr-langues a:focus-visible{color:#fff;background:rgba(255,255,255,.14)}
.abr-langues a[aria-current="true"]{background:var(--abr-jaune);color:var(--abr-vert)}

/* ==========================================================================
   2 · BARRE PRINCIPALE
   ========================================================================== */
.abr-entete{position:sticky;top:0;z-index:100;background:var(--abr-blanc)}
.abr-barre{
  height:var(--abr-h-barre);border-bottom:1px solid var(--abr-bordure);background:var(--abr-blanc);
}
.abr-barre .abr-conteneur{display:flex;align-items:center;gap:20px;height:100%}
.abr-entete--collee .abr-barre{box-shadow:0 1px 0 var(--abr-bordure)}

/* ---------- logo ---------- */
.abr-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.abr-logo svg{width:68px;height:31px;display:block;flex:none}
.abr-logo-nom{
  font-family:var(--abr-label);font-weight:700;font-size:13px;letter-spacing:.055em;text-transform:uppercase;
  line-height:1;color:var(--abr-vert);white-space:nowrap;display:block;
}
.abr-logo-base{
  font-family:var(--abr-label);font-weight:600;font-size:8.5px;letter-spacing:.115em;text-transform:uppercase;
  color:var(--abr-gris);border-top:1px solid var(--abr-bordure);padding-top:2px;margin-top:3px;white-space:nowrap;display:block;
}

/* ---------- navigation ---------- */
.abr-nav{flex:1;display:flex;justify-content:center}
.abr-nav>ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.abr-nav-item{position:relative}
.abr-nav-lien,.abr-nav-bouton{
  font-family:var(--abr-label);font-weight:700;font-size:13.5px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--abr-vert);text-decoration:none;background:none;border:0;cursor:pointer;
  padding:10px 11px;border-radius:var(--abr-r-sm);display:flex;align-items:center;gap:6px;white-space:nowrap;
}
.abr-nav-bouton svg{width:9px;height:9px;fill:currentColor;transition:transform .18s ease}
.abr-nav-lien:hover,.abr-nav-bouton:hover,
.abr-nav-lien:focus-visible,.abr-nav-bouton:focus-visible{color:var(--abr-bleu);background:var(--abr-fond-1)}
.abr-nav-item[data-ouvert="oui"]>.abr-nav-bouton{color:var(--abr-bleu);background:var(--abr-fond-1)}
.abr-nav-item[data-ouvert="oui"]>.abr-nav-bouton svg{transform:rotate(180deg)}
.abr-nav-lien[aria-current="page"]{color:var(--abr-rouge);box-shadow:inset 0 -3px 0 var(--abr-rouge)}

/* ---------- panneau déroulant ---------- */
.abr-panneau{
  display:none;position:absolute;top:calc(100% + 1px);left:50%;transform:translateX(-50%);
  min-width:min(720px,calc(100vw - 48px));max-width:calc(100vw - 48px);background:var(--abr-blanc);border:1px solid var(--abr-bordure);
  border-top:3px solid var(--abr-rouge);border-radius:0 0 var(--abr-r-md) var(--abr-r-md);
  box-shadow:0 12px 28px rgba(10,61,40,.12);padding:22px;
}
.abr-nav-item[data-ouvert="oui"] .abr-panneau{display:grid;grid-template-columns:1fr 1fr 210px;gap:6px 22px}
.abr-panneau ul{list-style:none;margin:0;padding:0}
.abr-panneau li+li{margin-top:1px}
.abr-panneau a{
  display:block;padding:8px 10px;border-radius:var(--abr-r-sm);text-decoration:none;
  color:var(--abr-vert);font-size:14px;line-height:1.3;
}
.abr-panneau a small{display:block;font-size:11.5px;color:var(--abr-gris);margin-top:1px}
.abr-panneau a:hover,.abr-panneau a:focus-visible{background:var(--abr-fond-1);color:var(--abr-bleu)}
.abr-nav-item:first-child .abr-panneau{left:0;transform:none}
.abr-nav-item:nth-last-child(2) .abr-panneau{left:auto;right:0;transform:none}
.abr-panneau-titre{
  grid-column:1/-1;font-family:var(--abr-label);font-size:11px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--abr-gris);margin:0 0 8px 10px;
}
.abr-panneau-encart{
  background:var(--abr-fond-2);border-radius:var(--abr-r-md);padding:16px;display:flex;flex-direction:column;justify-content:space-between;
}
.abr-panneau-encart p{margin:0;font-size:13px;line-height:1.5;color:var(--abr-vert)}
.abr-panneau-encart strong{font-family:var(--abr-display);font-size:14.5px;display:block;margin-bottom:5px}
.abr-panneau-encart a{
  margin-top:12px;padding:0;color:var(--abr-rouge-fonce);font-family:var(--abr-label);font-weight:700;
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
}
.abr-panneau-encart a:hover{background:none;text-decoration:underline;color:var(--abr-rouge-fonce)}

/* ---------- actions ---------- */
.abr-actions{display:flex;align-items:center;gap:10px;flex:none}
.abr-tel{
  display:flex;align-items:center;gap:8px;text-decoration:none;padding:9px 12px;border-radius:var(--abr-r-sm);
  color:var(--abr-vert);
}
.abr-tel svg{width:17px;height:17px;fill:none;stroke:var(--abr-bleu);stroke-width:1.7}
.abr-tel span{display:block}
.abr-tel .abr-tel-lab{font-family:var(--abr-label);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--abr-gris)}
.abr-tel .abr-tel-num{font-family:var(--abr-display);font-weight:700;font-size:15px;line-height:1.15}
.abr-tel:hover,.abr-tel:focus-visible{background:var(--abr-fond-1)}
.abr-cta{
  font-family:var(--abr-display);font-weight:700;font-size:14.5px;text-decoration:none;
  background:var(--abr-rouge);color:#fff;padding:13px 20px;border-radius:var(--abr-r-sm);white-space:nowrap;
  transition:background-color .16s ease;
}
.abr-cta:hover,.abr-cta:focus-visible{background:var(--abr-rouge-fonce)}

/* ---------- bouton menu mobile ---------- */
.abr-burger{
  display:none;width:44px;height:44px;border:1px solid var(--abr-bordure);background:var(--abr-blanc);
  border-radius:var(--abr-r-sm);cursor:pointer;padding:0;align-items:center;justify-content:center;flex:none;
}
.abr-burger svg{width:22px;height:22px;fill:none;stroke:var(--abr-vert);stroke-width:1.8}
.abr-burger .abr-croix{display:none}
.abr-burger[aria-expanded="true"] .abr-croix{display:block}
.abr-burger[aria-expanded="true"] .abr-traits{display:none}

/* ==========================================================================
   3 · TIROIR MOBILE
   ========================================================================== */
.abr-tiroir{
  display:none;position:fixed;inset:calc(var(--abr-h-barre)) 0 0;background:var(--abr-blanc);
  z-index:99;overflow-y:auto;padding:16px 24px 120px;-webkit-overflow-scrolling:touch;
}
.abr-tiroir[data-ouvert="oui"]{display:block}
.abr-tiroir ul{list-style:none;margin:0;padding:0}
.abr-tiroir-groupe{border-bottom:1px solid var(--abr-bordure)}
.abr-tiroir-bouton{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:none;border:0;padding:16px 2px;cursor:pointer;text-align:left;
  font-family:var(--abr-label);font-weight:700;font-size:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--abr-vert);
}
.abr-tiroir-bouton svg{width:12px;height:12px;fill:currentColor;flex:none;transition:transform .18s ease}
.abr-tiroir-groupe[data-ouvert="oui"] .abr-tiroir-bouton{color:var(--abr-bleu)}
.abr-tiroir-groupe[data-ouvert="oui"] .abr-tiroir-bouton svg{transform:rotate(180deg)}
.abr-tiroir-sous{display:none;padding:0 0 12px 2px}
.abr-tiroir-groupe[data-ouvert="oui"] .abr-tiroir-sous{display:block}
.abr-tiroir-sous a{display:block;padding:10px 0 10px 14px;border-left:2px solid var(--abr-bordure);color:var(--abr-vert);text-decoration:none;font-size:15.5px}
.abr-tiroir-sous a:hover,.abr-tiroir-sous a:focus-visible{border-left-color:var(--abr-rouge);color:var(--abr-bleu)}
.abr-tiroir-simple{
  display:block;padding:16px 2px;border-bottom:1px solid var(--abr-bordure);text-decoration:none;color:var(--abr-vert);
  font-family:var(--abr-label);font-weight:700;font-size:16px;letter-spacing:.06em;text-transform:uppercase;
}
.abr-tiroir-contact{margin-top:22px;background:var(--abr-fond-1);border-radius:var(--abr-r-md);padding:18px}
.abr-tiroir-contact p{margin:0 0 4px;font-size:14px;color:var(--abr-gris);line-height:1.5}
.abr-tiroir-contact a{color:var(--abr-bleu);font-weight:600}
.abr-tiroir-langues{display:flex;gap:8px;margin-top:14px}
.abr-tiroir-langues a{
  flex:1;text-align:center;padding:11px 6px;border:1px solid var(--abr-bordure);border-radius:var(--abr-r-sm);
  text-decoration:none;color:var(--abr-vert);font-family:var(--abr-label);font-weight:700;
  font-size:13px;letter-spacing:.06em;
}
.abr-tiroir-langues a[aria-current="true"]{background:var(--abr-jaune);border-color:var(--abr-jaune)}

/* ==========================================================================
   4 · BARRE D'ACTION MOBILE
   ========================================================================== */
.abr-barre-mobile{display:none}

/* ==========================================================================
   5 · POINTS DE RUPTURE
   ========================================================================== */
@media (max-width:1400px){
  .abr-rappel p{font-size:12px}
  .abr-rappel-liens{gap:14px}
}
@media (max-width:1180px){
  .abr-rappel p{display:none}
}
@media (max-width:1320px){
  .abr-tel .abr-tel-lab{display:none}
  .abr-barre .abr-conteneur{gap:14px}
}
@media (max-width:1240px){
  .abr-tel{display:none}
  .abr-nav-lien,.abr-nav-bouton{font-size:13px;padding:10px 8px;letter-spacing:.03em}
}
@media (max-width:1120px){
  :root{--abr-h-barre:62px}
  .abr-rappel{display:none}
  .abr-nav{display:none}
  .abr-burger{display:flex}
  .abr-barre .abr-conteneur{justify-content:space-between;gap:12px}
  .abr-actions{order:3}
  .abr-cta{display:none}
  .abr-logo svg{width:64px;height:30px}
  .abr-logo-nom{font-size:12px}
  .abr-barre-mobile{
    display:grid;grid-template-columns:1fr 1fr;gap:1px;position:fixed;bottom:0;left:0;right:0;
    width:100%;max-width:100vw;z-index:120;
    background:var(--abr-bordure);padding-bottom:env(safe-area-inset-bottom);
  }
  .abr-barre-mobile a{min-width:0}
  .abr-barre-mobile a{
    display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 8px;text-decoration:none;
    font-family:var(--abr-display);font-weight:700;font-size:15px;
  }
  .abr-barre-mobile svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
  .abr-mob-tel{background:var(--abr-blanc);color:var(--abr-vert)}
  .abr-mob-devis{background:var(--abr-rouge);color:#fff}
}
@media (max-width:420px){
  .abr-conteneur{padding:0 16px}
  .abr-logo-base{display:none}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  .abr-bande{overflow-x:auto}
  .abr-piste{width:auto}
}


/* ==========================================================================
   6 · SECTION HERO — comparateur avant / après
   ========================================================================== */
.abr-hero{position:relative;background:var(--abr-vert);overflow:hidden;isolation:isolate}
.abr-hero-media{
  position:absolute;inset:0;z-index:0;
  --abr-curseur:50%;
}
.abr-hero-media img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
}
/* image APRÈS : socle, c'est elle le plus grand élément peint (LCP) */
.abr-hero-apres{z-index:1}
/* image AVANT : découpée par la position du curseur */
.abr-hero-avant{z-index:2;clip-path:inset(0 calc(100% - var(--abr-curseur)) 0 0)}

/* voile de lisibilité — mesuré pour du blanc à plus de 7:1 */
.abr-hero-voile{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(10,61,40,.58) 0%,
    rgba(10,61,40,.48) 38%,
    rgba(10,61,40,.46) 62%,
    rgba(10,61,40,.58) 100%);
}

/* trait de séparation */
.abr-hero-trait{
  position:absolute;top:0;bottom:0;left:var(--abr-curseur);width:3px;margin-left:-1.5px;
  background:var(--abr-blanc);z-index:5;pointer-events:none;
}
.abr-hero-poignee{
  position:absolute;left:50%;bottom:11%;transform:translateX(-50%);
  width:52px;height:52px;border-radius:50%;background:var(--abr-blanc);
  display:flex;align-items:center;justify-content:center;gap:3px;
  box-shadow:0 3px 14px rgba(10,61,40,.4);
}
.abr-hero-poignee svg{width:13px;height:13px;fill:var(--abr-vert)}

/* l'input pilote tout : souris, tactile et clavier */
.abr-hero-range{
  position:absolute;inset:0;z-index:6;width:100%;height:100%;margin:0;padding:0;
  -webkit-appearance:none;appearance:none;background:transparent;cursor:ew-resize;
}
.abr-hero-range::-webkit-slider-thumb{-webkit-appearance:none;width:56px;height:100%;cursor:ew-resize;background:transparent}
.abr-hero-range::-moz-range-thumb{width:56px;height:100vh;border:0;background:transparent;cursor:ew-resize}
.abr-hero-range:focus{outline:none}
.abr-hero-range:focus-visible~.abr-hero-trait .abr-hero-poignee{outline:3px solid var(--abr-jaune);outline-offset:3px}

/* étiquettes avant / après */
.abr-hero-etiq{
  position:absolute;top:0;z-index:5;pointer-events:none;
  font-family:var(--abr-label);font-weight:700;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;
  padding:6px 12px;border-radius:var(--abr-r-sm);
}
.abr-hero-etiq--avant{left:0;background:#FFFFFF;color:var(--abr-vert)}
.abr-hero-etiq--apres{right:0;background:var(--abr-jaune);color:var(--abr-vert)}

/* contenu */
.abr-hero-contenu{
  position:relative;z-index:4;pointer-events:none;
  min-height:clamp(520px,72vh,760px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:64px 0 150px;
}
.abr-hero-contenu a,.abr-hero-contenu button{pointer-events:auto}
.abr-hero-marq{
  font-family:var(--abr-label);font-weight:700;font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--abr-jaune);margin:0 0 18px;
}
.abr-hero h1{
  font-family:var(--abr-display);font-weight:800;color:#fff;margin:0;
  font-size:clamp(32px,5.2vw,60px);line-height:1.06;letter-spacing:-.02em;max-width:19ch;
}
.abr-hero h1 em{font-style:normal;color:var(--abr-jaune)}
.abr-hero-chapo{
  margin:20px 0 0;color:#EAF2ED;font-size:clamp(16px,1.6vw,19px);line-height:1.55;max-width:56ch;font-weight:300;
}
.abr-hero-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:32px}
.abr-hero-btn{
  font-family:var(--abr-display);font-weight:700;font-size:16.5px;text-decoration:none;
  padding:16px 28px;border-radius:var(--abr-r-sm);white-space:nowrap;
  transition:background-color .16s ease,color .16s ease;
}
.abr-hero-btn--1{background:var(--abr-rouge);color:#fff}
.abr-hero-btn--1:hover,.abr-hero-btn--1:focus-visible{background:var(--abr-rouge-fonce)}
.abr-hero-btn--2{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.75)}
.abr-hero-btn--2:hover,.abr-hero-btn--2:focus-visible{background:#fff;color:var(--abr-vert)}
.abr-hero-preuves{
  display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;margin-top:34px;
  font-family:var(--abr-label);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;
}
.abr-hero-preuves span{display:flex;align-items:center;gap:8px}
.abr-hero-preuves svg{width:14px;height:14px;fill:none;stroke:var(--abr-jaune);stroke-width:2}
.abr-hero-aide{
  position:absolute;left:50%;transform:translateX(-50%);bottom:26px;z-index:5;pointer-events:none;
  font-family:var(--abr-label);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#fff;
  background:rgba(10,61,40,.72);padding:5px 12px;border-radius:99px;margin:0;
}

@media (max-width:820px){
  .abr-hero-contenu{min-height:clamp(500px,82vh,700px);padding:44px 0 168px}
  .abr-hero-poignee{width:46px;height:46px;bottom:19%}
  .abr-hero-etiq{font-size:10px;letter-spacing:.16em;padding:5px 9px}
  .abr-hero-aide{bottom:88px;font-size:10px;letter-spacing:.14em;white-space:nowrap}
  .abr-hero-actions{flex-direction:column;align-items:stretch;width:100%;max-width:340px;gap:11px}
  .abr-hero-preuves{gap:8px 18px;font-size:11.5px}
}
@media (max-width:960px){
  .abr-hero{margin-bottom:0}
}


/* ==========================================================================
   7 · SECTIONS DE LA PAGE D'ACCUEIL
   ========================================================================== */
.abr-sect{padding:clamp(56px,7vw,96px) 0}
.abr-sect--plan{background:var(--abr-fond-1)}
.abr-sect--menthe{background:var(--abr-fond-2)}
.abr-sect--vert{background:var(--abr-vert);color:#fff}
.abr-sect--vert h2,.abr-sect--vert h3{color:#fff}

.abr-tete{max-width:64ch;margin:0 0 clamp(32px,4vw,48px)}
.abr-tete--centre{margin-left:auto;margin-right:auto;text-align:center}
.abr-surtitre{
  font-family:var(--abr-label);font-weight:700;font-size:12px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--abr-rouge);margin:0 0 12px;
}
.abr-sect--vert .abr-surtitre{color:var(--abr-jaune)}
.abr-sect h2{
  font-family:var(--abr-display);font-weight:800;font-size:clamp(26px,3.4vw,40px);line-height:1.12;
  letter-spacing:-.02em;margin:0;color:var(--abr-vert);
}
.abr-sect h3{font-family:var(--abr-display);font-weight:700;font-size:19px;line-height:1.25;margin:0;color:var(--abr-vert)}
.abr-intro{margin:16px 0 0;color:var(--abr-gris);font-size:17px;line-height:1.65}
.abr-sect.abr-sect--vert h2,.abr-sect.abr-sect--vert h3{color:#fff}
.abr-sect--vert .abr-intro{color:#BFD3C8}
.abr-sect--menthe .abr-intro{color:#3B5147}

.abr-grille{display:grid;gap:20px}
.abr-g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.abr-g3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.abr-g4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}

/* --- cartes métier --- */
.abr-metier{
  background:#fff;border:1px solid var(--abr-bordure);border-top:4px solid var(--abr-bleu);
  border-radius:var(--abr-r-md);padding:24px 22px 20px;display:flex;flex-direction:column;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.abr-metier:hover,.abr-metier:focus-within{
  transform:translateY(-5px);box-shadow:0 14px 30px rgba(10,61,40,.13);border-color:var(--abr-bordure);
}
.abr-metier:hover .abr-metier-ico,.abr-metier:focus-within .abr-metier-ico{transform:scale(1.08)}
.abr-metier:hover .abr-lien-fort,.abr-metier:focus-within .abr-lien-fort{gap:12px}
.abr-metier--rouge{border-top-color:var(--abr-rouge)}
.abr-metier--jaune{border-top-color:var(--abr-jaune)}
.abr-metier--vert{border-top-color:var(--abr-vert)}
.abr-metier-ico{width:34px;height:34px;margin-bottom:14px;fill:none;stroke:var(--abr-bleu);stroke-width:1.6;transition:transform .22s ease;transform-origin:left center}
.abr-metier--rouge .abr-metier-ico{stroke:var(--abr-rouge)}
.abr-metier--jaune .abr-metier-ico{stroke:#B8A800}
.abr-metier--vert .abr-metier-ico{stroke:var(--abr-vert)}
.abr-metier p{margin:10px 0 16px;color:var(--abr-gris);font-size:14.5px;line-height:1.6}
.abr-metier ul{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.abr-metier ul a{
  display:inline-block;font-size:13px;padding:5px 10px;border-radius:99px;background:var(--abr-fond-1);
  color:var(--abr-vert);text-decoration:none;border:1px solid var(--abr-bordure);
}
.abr-metier ul a{transition:background-color .16s ease,color .16s ease,border-color .16s ease}
.abr-metier ul a:hover,.abr-metier ul a:focus-visible{background:var(--abr-bleu);color:#fff;border-color:var(--abr-bleu)}
.abr-lien-fort{
  margin-top:auto;font-family:var(--abr-label);font-weight:700;font-size:13px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--abr-rouge-fonce);text-decoration:none;display:inline-flex;gap:7px;align-items:center;
}
.abr-lien-fort{transition:gap .22s ease}
.abr-lien-fort:hover,.abr-lien-fort:focus-visible{text-decoration:underline}
.abr-sect--vert .abr-lien-fort{color:var(--abr-jaune)}

/* --- bloc en vedette --- */
.abr-vedette{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,56px);align-items:center}
.abr-vedette ul{list-style:none;margin:22px 0 0;padding:0}
.abr-vedette li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid rgba(10,61,40,.14)}
.abr-vedette li:last-child{border-bottom:0}
.abr-vedette li svg{width:18px;height:18px;flex:none;margin-top:3px;fill:none;stroke:var(--abr-rouge-fonce);stroke-width:2.2}
.abr-vedette li b{font-family:var(--abr-display);font-size:15.5px;display:block}
.abr-vedette li span{font-size:14px;color:#3B5147;line-height:1.5}
.abr-chiffre-cle{
  background:#fff;border-radius:var(--abr-r-md);padding:28px;border:1px solid rgba(10,61,40,.12);
}
.abr-chiffre-cle dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.abr-chiffre-cle dt{font-family:var(--abr-display);font-weight:800;font-size:34px;line-height:1;color:var(--abr-bleu)}
.abr-chiffre-cle dd{
  margin:5px 0 0;font-family:var(--abr-label);font-size:11.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--abr-gris);line-height:1.35;
}

/* --- réalisations --- */
.abr-real{
  display:block;text-decoration:none;background:#fff;border:1px solid var(--abr-bordure);
  border-radius:var(--abr-r-md);overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.abr-real img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--abr-fond-3);transition:transform .45s ease}
.abr-real:hover img,.abr-real:focus-visible img{transform:scale(1.05)}
.abr-real-txt{padding:16px 18px 18px}
.abr-real-lieu{
  font-family:var(--abr-label);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--abr-rouge);display:block;margin-bottom:6px;
}
.abr-real h3{font-size:16.5px}
.abr-real p{margin:6px 0 0;font-size:13.5px;color:var(--abr-gris);line-height:1.5}
.abr-real:hover,.abr-real:focus-visible{transform:translateY(-5px);border-color:var(--abr-bleu);box-shadow:0 14px 30px rgba(10,61,40,.15)}
.abr-real:hover h3,.abr-real:focus-visible h3{color:var(--abr-bleu)}
.abr-real h3{transition:color .2s ease}

/* --- étapes --- */
.abr-etapes{counter-reset:et;display:grid;gap:2px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.abr-etape{background:rgba(255,255,255,.05);padding:26px 22px;transition:background-color .22s ease}
.abr-etape:hover{background:rgba(255,255,255,.11)}
.abr-etape::before{
  counter-increment:et;content:counter(et,decimal-leading-zero);
  font-family:var(--abr-display);font-weight:800;font-size:26px;color:var(--abr-jaune);display:block;margin-bottom:12px;
}
.abr-etape h3{font-size:17px;margin-bottom:8px}
.abr-etape p{margin:0;font-size:14px;line-height:1.6;color:#BFD3C8}

/* --- avis --- */
.abr-avis{background:#fff;border:1px solid var(--abr-bordure);border-radius:var(--abr-r-md);padding:22px;transition:transform .22s ease,box-shadow .22s ease}
.abr-avis:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(10,61,40,.10)}
.abr-avis-etoiles{display:flex;gap:3px;margin-bottom:12px}
.abr-avis-etoiles svg{width:16px;height:16px;fill:var(--abr-jaune);stroke:#D9C400;stroke-width:.5}
.abr-avis blockquote{margin:0;font-size:15px;line-height:1.65;color:var(--abr-vert)}
.abr-avis figcaption{
  margin-top:14px;font-family:var(--abr-label);font-size:12px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--abr-gris);
}

/* --- zones --- */
.abr-zones{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding:0;list-style:none}
.abr-zones a{
  display:inline-block;padding:9px 15px;border-radius:99px;background:#fff;border:1px solid var(--abr-bordure);
  color:var(--abr-vert);text-decoration:none;font-size:14px;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.abr-zones a:hover{transform:translateY(-2px)}
.abr-zones a:hover,.abr-zones a:focus-visible{background:var(--abr-vert);color:#fff;border-color:var(--abr-vert)}
.abr-zones-note{margin-top:18px;font-size:14px;color:var(--abr-gris);line-height:1.6}

/* --- FAQ --- */
.abr-faq{max-width:80ch}
.abr-faq details{border-bottom:1px solid var(--abr-bordure);background:transparent}
.abr-faq summary{
  cursor:pointer;list-style:none;padding:19px 40px 19px 0;position:relative;
  font-family:var(--abr-display);font-weight:700;font-size:17px;line-height:1.35;color:var(--abr-vert);
}
.abr-faq summary::-webkit-details-marker{display:none}
.abr-faq summary::after{
  content:"";position:absolute;right:8px;top:26px;width:11px;height:11px;
  border-right:2px solid var(--abr-rouge);border-bottom:2px solid var(--abr-rouge);
  transform:rotate(45deg);transition:transform .18s ease;
}
.abr-faq details[open] summary::after{transform:rotate(225deg);top:29px}
.abr-faq summary:hover,.abr-faq summary:focus-visible{color:var(--abr-bleu)}
.abr-faq-rep{padding:0 40px 22px 0;margin:0;color:var(--abr-gris);font-size:15.5px;line-height:1.7}
.abr-faq-rep a{color:var(--abr-bleu)}

/* --- appel final --- */
.abr-final{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center}
.abr-final h2{color:#fff}
.abr-final-coord{margin:26px 0 0;list-style:none;padding:0;display:grid;gap:14px}
.abr-final-coord li{display:flex;gap:13px;align-items:flex-start;font-size:15.5px;line-height:1.5;color:#DCE8E1}
.abr-final-coord svg{width:19px;height:19px;flex:none;margin-top:2px;fill:none;stroke:var(--abr-jaune);stroke-width:1.7}
.abr-final-coord a{color:#fff;font-weight:600}
.abr-form{background:#fff;border-radius:var(--abr-r-md);padding:26px}
.abr-form p.abr-form-tit{
  margin:0 0 4px;font-family:var(--abr-display);font-weight:700;font-size:19px;color:var(--abr-vert);
}
.abr-form p.abr-form-sous{margin:0 0 18px;font-size:13.5px;color:var(--abr-gris)}
.abr-champ{margin-bottom:13px}
.abr-champ label{
  display:block;font-family:var(--abr-label);font-size:11.5px;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--abr-gris);margin-bottom:5px;
}
.abr-champ input,.abr-champ select,.abr-champ textarea{
  width:100%;padding:11px 13px;border:1px solid var(--abr-bordure);border-radius:var(--abr-r-sm);
  font-family:var(--abr-corps);font-size:15px;color:var(--abr-vert);background:#fff;
}
.abr-champ textarea{min-height:88px;resize:vertical}
.abr-champ input:focus,.abr-champ select:focus,.abr-champ textarea:focus{border-color:var(--abr-bleu);outline:2px solid var(--abr-bleu-clair);outline-offset:1px}
.abr-form-envoi{
  width:100%;border:0;background:var(--abr-rouge);color:#fff;font-family:var(--abr-display);font-weight:700;
  font-size:16px;padding:15px;border-radius:var(--abr-r-sm);cursor:pointer;margin-top:4px;
}
.abr-form-envoi:hover,.abr-form-envoi:focus-visible{background:var(--abr-rouge-fonce)}
.abr-form-legal{margin:12px 0 0;font-size:11.5px;color:var(--abr-gris);line-height:1.5}

/* --- bandeaux défilants --- */
.abr-bande{overflow:hidden;position:relative}
.abr-bande::before,.abr-bande::after{
  content:"";position:absolute;top:0;bottom:0;width:9%;min-width:44px;z-index:2;pointer-events:none;
}
.abr-bande::before{left:0}
.abr-bande::after{right:0}
.abr-bande--partenaires::before{background:linear-gradient(90deg,var(--abr-fond-1) 30%,rgba(244,247,251,0))}
.abr-bande--partenaires::after{background:linear-gradient(270deg,var(--abr-fond-1) 30%,rgba(244,247,251,0))}
.abr-bande--agrements::before{background:linear-gradient(90deg,var(--abr-vert-fonce) 30%,rgba(6,42,27,0))}
.abr-bande--agrements::after{background:linear-gradient(270deg,var(--abr-vert-fonce) 30%,rgba(6,42,27,0))}
.abr-bande--partenaires{background:var(--abr-fond-1);border-block:1px solid var(--abr-bordure);padding:26px 0}
.abr-bande--agrements{padding:20px 0;background:linear-gradient(90deg,var(--abr-vert-fonce),var(--abr-vert) 12%,var(--abr-vert) 88%,var(--abr-vert-fonce))}
.abr-bande-tit{
  text-align:center;font-family:var(--abr-label);font-weight:700;font-size:11px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--abr-gris);margin:0 0 18px;
}
.abr-bande--agrements .abr-bande-tit{color:var(--abr-jaune);margin-bottom:14px}
.abr-piste{display:flex;width:max-content;animation:abr-defile 42s linear infinite}
.abr-bande--agrements .abr-piste{animation-duration:34s}
.abr-bande:hover .abr-piste,.abr-bande:focus-within .abr-piste{animation-play-state:paused}
@keyframes abr-defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.abr-piste-lot{display:flex;align-items:center;gap:14px;padding-right:14px}

.abr-part{
  display:flex;align-items:center;justify-content:center;flex:none;
  width:168px;height:66px;background:#fff;border:1px solid var(--abr-bordure);border-radius:var(--abr-r-md);
  font-family:var(--abr-label);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#5C6B7A;text-align:center;line-height:1.4;padding:6px;
}
.abr-agr{
  display:flex;align-items:center;gap:10px;flex:none;padding:10px 18px;border-radius:99px;
  background:rgba(255,255,255,.09);color:#fff;
  font-family:var(--abr-label);font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  white-space:nowrap;
}
.abr-agr svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--abr-jaune);stroke-width:2}
.abr-agr--fort{background:var(--abr-jaune);color:var(--abr-vert)}
.abr-agr--fort svg{stroke:var(--abr-vert)}
.abr-bande-note{
  text-align:center;margin:16px 0 0;font-size:12.5px;color:var(--abr-gris);
}

/* --- bouton avis Google --- */
.abr-avis-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}
.abr-btn-google{
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  background:#fff;color:var(--abr-vert);border:1px solid var(--abr-bordure);
  font-family:var(--abr-display);font-weight:700;font-size:15.5px;padding:14px 22px;border-radius:var(--abr-r-sm);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.abr-btn-google:hover,.abr-btn-google:focus-visible{transform:translateY(-2px);border-color:var(--abr-bleu);box-shadow:0 8px 22px rgba(10,61,40,.12)}
.abr-btn-google svg{width:18px;height:18px;fill:var(--abr-jaune);stroke:#D9C400;stroke-width:.6;flex:none}
.abr-btn-avis{
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;background:var(--abr-rouge);color:#fff;
  font-family:var(--abr-display);font-weight:700;font-size:15.5px;padding:14px 22px;border-radius:var(--abr-r-sm);
  transition:background-color .18s ease,transform .18s ease;
}
.abr-btn-avis:hover,.abr-btn-avis:focus-visible{background:var(--abr-rouge-fonce);transform:translateY(-2px)}
.abr-btn-avis svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:2;flex:none}

/* --- réseaux sociaux du pied --- */
.abr-rs{display:flex;gap:10px;margin-top:16px}
.abr-rs a{
  width:38px;height:38px;border-radius:var(--abr-r-sm);display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.10);transition:background-color .18s ease,transform .18s ease;
}
.abr-rs a:hover,.abr-rs a:focus-visible{background:var(--abr-jaune);transform:translateY(-2px)}
.abr-rs svg{width:17px;height:17px;color:#fff;fill:currentColor;transition:color .18s ease}

.abr-rs a:hover svg,.abr-rs a:focus-visible svg{color:var(--abr-vert)}

/* --- mentions légales du pied --- */
.abr-legal{margin-top:14px;font-size:12.5px;line-height:1.6;color:#8FA79A}


/* logos de référence et de certification dans les bandeaux */
.abr-part img{max-width:100%;max-height:46px;width:auto;height:auto;object-fit:contain}
.abr-part--certif{width:auto;min-width:150px;gap:12px;padding:8px 18px}
.abr-part--certif img{max-height:40px}
.abr-part--certif span{font-family:var(--abr-label);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;white-space:nowrap}

/* ==========================================================================
   8 · PIED DE PAGE
   ========================================================================== */
.abr-pied{background:var(--abr-vert);color:#BFD3C8;padding:clamp(48px,6vw,72px) 0 0}
.abr-pied-haut{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:44px}
.abr-pied-tit{
  font-family:var(--abr-label);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:#fff;margin:0 0 16px;
}
.abr-pied ul{list-style:none;margin:0;padding:0}
.abr-pied li+li{margin-top:9px}
.abr-pied a{color:#BFD3C8;text-decoration:none;font-size:14.5px}
.abr-pied a:hover,.abr-pied a:focus-visible{color:var(--abr-jaune);text-decoration:underline}
.abr-pied-ident svg{width:96px;height:44px;display:block;margin-bottom:14px}
.abr-pied-ident p{margin:0 0 10px;font-size:14.5px;line-height:1.65}
.abr-pied-ident strong{color:#fff}
.abr-pied-bas{
  border-top:1px solid rgba(255,255,255,.16);padding:20px 0 28px;display:flex;flex-wrap:wrap;
  gap:10px 26px;justify-content:space-between;align-items:center;
}
.abr-pied-bas p{margin:0;font-family:var(--abr-label);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#8FA79A}
.abr-pied-bas ul{display:flex;flex-wrap:wrap;gap:20px}
.abr-pied-bas li+li{margin-top:0}
.abr-pied-bas a{font-family:var(--abr-label);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase}

@media (max-width:960px){
  .abr-vedette,.abr-final{grid-template-columns:1fr}
  .abr-pied-haut{grid-template-columns:1fr 1fr;gap:28px}
}
@media (max-width:600px){
  .abr-pied-haut{grid-template-columns:1fr}
  .abr-chiffre-cle dl{grid-template-columns:1fr 1fr;gap:18px 12px}
  .abr-chiffre-cle dt{font-size:28px}
}
@media (max-width:960px){
  .abr-pied{padding-bottom:64px}
}

/* ==========================================================================
   Zone de démonstration
   ========================================================================== */
.demo{padding:72px 0 120px;background:var(--abr-fond-1);border-bottom:1px solid var(--abr-bordure)}
.demo h1{font-family:var(--abr-display);font-weight:800;font-size:clamp(30px,4.4vw,46px);line-height:1.08;margin:0 0 14px;max-width:20ch}
.demo p{max-width:62ch;color:var(--abr-gris);font-size:17px;line-height:1.6;margin:0}
.demo .marq{font-family:var(--abr-label);font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--abr-rouge);display:block;margin-bottom:12px}
.demo .cadre{margin-top:36px;border:1.5px dashed var(--abr-bordure);border-radius:var(--abr-r-md);padding:48px 24px;text-align:center;color:var(--abr-gris);font-family:var(--abr-label);letter-spacing:.14em;text-transform:uppercase;font-size:12.5px}
.demo .filler{height:900px}

/* ==========================================================================
   9 · PAGES INTÉRIEURES
   ========================================================================== */
.abr-entete-page{background:var(--abr-vert);color:#fff;padding:clamp(34px,4.4vw,54px) 0 clamp(38px,4.8vw,58px)}
.abr-entete-page h1{
  font-family:var(--abr-display);font-weight:800;color:#fff;margin:0;max-width:22ch;
  font-size:clamp(28px,4.2vw,48px);line-height:1.08;letter-spacing:-.02em;
}
.abr-entete-page .abr-chapo{margin:18px 0 0;color:#DCE8E1;font-size:clamp(15.5px,1.5vw,18px);line-height:1.6;max-width:62ch;font-weight:300}
.abr-entete-page .abr-surtitre{color:var(--abr-jaune)}

/* fil d'Ariane */
.abr-fil{padding:14px 0;background:var(--abr-vert);border-bottom:1px solid rgba(255,255,255,.14)}
.abr-fil ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.abr-fil li{display:flex;align-items:center;gap:10px}
.abr-fil li+li::before{content:"›";color:#7C9488}
.abr-fil a,.abr-fil span{
  font-family:var(--abr-label);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:#BFD3C8;text-decoration:none;
}
.abr-fil a:hover,.abr-fil a:focus-visible{color:var(--abr-jaune)}
.abr-fil [aria-current="page"]{color:#fff}

/* colonne de lecture */
.abr-texte{max-width:74ch}
.abr-texte p{margin:0 0 16px;font-size:16.5px;line-height:1.72;color:var(--abr-gris)}
.abr-texte p strong{color:var(--abr-vert)}
.abr-texte h2{margin:38px 0 12px}
.abr-texte h3{margin:26px 0 8px}
.abr-texte ul{margin:0 0 18px;padding-left:20px;color:var(--abr-gris);font-size:16px;line-height:1.7}
.abr-texte li{margin:5px 0}
.abr-texte a{color:var(--abr-bleu)}

/* bloc famille de métiers */
.abr-famille{
  background:#fff;border:1px solid var(--abr-bordure);border-left:5px solid var(--abr-bleu);
  border-radius:var(--abr-r-md);padding:26px 26px 22px;margin-bottom:20px;
  transition:box-shadow .22s ease,transform .22s ease;
}
.abr-famille:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(10,61,40,.10)}
.abr-famille--rouge{border-left-color:var(--abr-rouge)}
.abr-famille--jaune{border-left-color:var(--abr-jaune)}
.abr-famille--vert{border-left-color:var(--abr-vert)}
.abr-famille p{margin:8px 0 16px;color:var(--abr-gris);font-size:15.5px;line-height:1.65;max-width:78ch}
.abr-famille-liste{list-style:none;margin:0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.abr-famille-liste a{
  display:block;padding:11px 14px;border-radius:var(--abr-r-sm);background:var(--abr-fond-1);
  border:1px solid var(--abr-bordure);color:var(--abr-vert);text-decoration:none;font-size:14.5px;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.abr-famille-liste a:hover,.abr-famille-liste a:focus-visible{
  background:var(--abr-bleu);color:#fff;border-color:var(--abr-bleu);transform:translateX(3px);
}
.abr-famille-liste small{display:block;font-size:12px;opacity:.75;margin-top:2px}

/* filtres de catégorie */
.abr-filtres{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;padding:0;list-style:none}
.abr-filtres a{
  display:inline-block;padding:9px 16px;border-radius:99px;border:1px solid var(--abr-bordure);
  background:#fff;color:var(--abr-vert);text-decoration:none;font-family:var(--abr-label);
  font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
.abr-filtres a:hover,.abr-filtres a:focus-visible{background:var(--abr-vert);color:#fff;border-color:var(--abr-vert)}
.abr-filtres a[aria-current="page"]{background:var(--abr-rouge);color:#fff;border-color:var(--abr-rouge)}

/* fiche commune */
.abr-commune{
  background:#fff;border:1px solid var(--abr-bordure);border-radius:var(--abr-r-md);padding:22px;
  transition:transform .22s ease,box-shadow .22s ease;
}
.abr-commune:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(10,61,40,.10)}
.abr-commune h3{margin-bottom:6px}
.abr-commune p{margin:0 0 14px;font-size:14px;color:var(--abr-gris);line-height:1.6}
.abr-commune dl{margin:0;display:flex;gap:18px;flex-wrap:wrap}
.abr-commune dt{
  font-family:var(--abr-label);font-size:10.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--abr-gris);
}
.abr-commune dd{margin:2px 0 0;font-family:var(--abr-display);font-weight:700;font-size:15px;color:var(--abr-bleu)}

/* jalons */
.abr-jalons{list-style:none;margin:0;padding:0;border-left:2px solid var(--abr-bordure)}
.abr-jalons li{position:relative;padding:0 0 26px 26px}
.abr-jalons li::before{
  content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;
  background:var(--abr-rouge);box-shadow:0 0 0 4px var(--abr-fond-1);
}
.abr-jalons b{font-family:var(--abr-display);font-size:16.5px;display:block;color:var(--abr-vert)}
.abr-jalons time{
  font-family:var(--abr-label);font-size:11.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--abr-rouge);display:block;margin-bottom:3px;
}
.abr-jalons p{margin:5px 0 0;font-size:14.5px;color:var(--abr-gris);line-height:1.6}

/* tableau d'identité */
.abr-identite{width:100%;border-collapse:collapse;font-size:15px}
.abr-identite th,.abr-identite td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--abr-bordure);vertical-align:top}
.abr-identite th{
  font-family:var(--abr-label);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--abr-gris);width:42%;
}
.abr-identite td{color:var(--abr-vert);font-weight:500}

/* article de la liste actualités */
.abr-actu{
  display:block;text-decoration:none;background:#fff;border:1px solid var(--abr-bordure);
  border-radius:var(--abr-r-md);padding:24px;height:100%;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.abr-actu:hover,.abr-actu:focus-visible{transform:translateY(-4px);border-color:var(--abr-bleu);box-shadow:0 12px 28px rgba(10,61,40,.11)}
.abr-actu-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.abr-actu time{
  font-family:var(--abr-label);font-size:11.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--abr-gris);
}
.abr-actu h2,.abr-actu h3{font-size:19px;line-height:1.3;margin:0}
.abr-actu p{margin:9px 0 0;font-size:14.5px;color:var(--abr-gris);line-height:1.6}
.abr-actu:hover h2,.abr-actu:hover h3{color:var(--abr-bleu)}
.abr-actu h2,.abr-actu h3{transition:color .2s ease}

/* encart d'alerte éditoriale */
.abr-encart{
  background:var(--abr-fond-2);border-radius:var(--abr-r-md);padding:22px 24px;margin:26px 0;
  border-left:5px solid var(--abr-rouge-fonce);
}
.abr-encart p{margin:0;font-size:15px;line-height:1.65;color:#26463A}
.abr-encart strong{display:block;font-family:var(--abr-display);font-size:16px;margin-bottom:6px;color:var(--abr-vert)}

/* plan d'accès */
.abr-plan{
  background:var(--abr-fond-3);border:1px solid var(--abr-bordure);border-radius:var(--abr-r-md);
  aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  color:var(--abr-gris);text-align:center;padding:24px;
}
.abr-plan svg{width:34px;height:34px;fill:none;stroke:var(--abr-bleu);stroke-width:1.6}
.abr-plan span{font-family:var(--abr-label);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.abr-plan small{font-size:13px;line-height:1.5;max-width:34ch}

/* contact */
.abr-contact{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,4vw,52px);align-items:start}
.abr-coord{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:16px}
.abr-coord li{display:flex;gap:14px;align-items:flex-start;font-size:16px;line-height:1.55;color:var(--abr-gris)}
.abr-coord svg{width:20px;height:20px;flex:none;margin-top:2px;fill:none;stroke:var(--abr-bleu);stroke-width:1.7}
.abr-coord a{color:var(--abr-vert);font-weight:600;text-decoration:none}
.abr-coord a:hover,.abr-coord a:focus-visible{color:var(--abr-bleu);text-decoration:underline}
.abr-coord b{display:block;font-family:var(--abr-display);font-size:17px;color:var(--abr-vert)}

@media (max-width:900px){
  .abr-contact{grid-template-columns:1fr}
}

/* badges de catégorie */
.abr-badge{
  display:inline-block;font-family:var(--abr-label);font-weight:700;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;padding:5px 10px;border-radius:2px;background:var(--abr-jaune);color:var(--abr-vert);
}
.abr-badge--bleu{background:var(--abr-bleu);color:#fff}
.abr-badge--rouge{background:var(--abr-rouge-fonce);color:#fff}

/* les titres de carte ne suivent pas l'échelle des titres de section */
.abr-famille h2{font-size:23px;line-height:1.2}
.abr-commune h2{font-size:20px;line-height:1.25;margin-bottom:6px}
.abr-real h2{font-family:var(--abr-display);font-weight:700;font-size:16.5px;line-height:1.3;color:var(--abr-vert);margin:0;letter-spacing:0}
.abr-actu h2{font-size:19px;line-height:1.3;letter-spacing:0}

/* variante claire des icônes sociales (page contact) */
.abr-plan-clair svg circle{stroke:var(--abr-vert)}
.abr-plan-clair svg text{fill:var(--abr-vert)}

/* points de vigilance */
.abr-points{list-style:none;margin:18px 0 0;padding:0}
.abr-points li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--abr-bordure)}
.abr-points li:last-child{border-bottom:0}
.abr-points svg{width:19px;height:19px;flex:none;margin-top:3px;fill:none;stroke:var(--abr-rouge-fonce);stroke-width:2.2}
.abr-points b{font-family:var(--abr-display);font-size:16px;display:block;color:var(--abr-vert)}
.abr-points span{font-size:14.5px;color:var(--abr-gris);line-height:1.6}

/* liens externes officiels */
.abr-officiel{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.abr-officiel a{
  display:flex;align-items:center;gap:10px;padding:12px 15px;border-radius:var(--abr-r-sm);
  background:#fff;border:1px solid var(--abr-bordure);color:var(--abr-vert);text-decoration:none;font-size:14.5px;
  transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.abr-officiel a:hover,.abr-officiel a:focus-visible{border-color:var(--abr-bleu);transform:translateX(3px);box-shadow:0 6px 16px rgba(10,61,40,.08)}
.abr-officiel svg{width:15px;height:15px;flex:none;fill:none;stroke:var(--abr-bleu);stroke-width:1.9}
.abr-officiel em{font-style:normal;color:var(--abr-gris);font-size:12.5px;margin-left:auto;white-space:nowrap}
.abr-officiel a{flex-wrap:wrap;overflow-wrap:anywhere}

/* éléments de liste non cliquables dans la grille des prestations */
.abr-famille-liste span{
  display:block;padding:11px 14px;border-radius:var(--abr-r-sm);background:var(--abr-fond-1);
  border:1px solid var(--abr-bordure);color:var(--abr-vert);font-size:14.5px;
}
.abr-famille-liste span small{display:block;font-size:12px;color:var(--abr-gris);margin-top:2px}

/* logos de référence et de certification dans les bandeaux */
.abr-part img{max-width:100%;max-height:46px;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.abr-part--certif{width:auto;min-width:150px;gap:12px;padding:8px 18px}
.abr-part--certif img{max-height:44px}
.abr-part--certif span{font-family:var(--abr-label);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--abr-vert);white-space:nowrap}

/* galerie de chantier sur les pages prestation */
.abr-galerie{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:18px}
.abr-galerie figure{margin:0;border-radius:var(--abr-r-md);overflow:hidden;border:1px solid var(--abr-bordure);background:var(--abr-fond-3)}
.abr-galerie img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .45s ease}
.abr-galerie figure:hover img{transform:scale(1.05)}

/* équipe */
.abr-equipe{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin-top:20px;padding:0;list-style:none}
.abr-equipe li{text-align:center}
.abr-equipe img{width:96px;height:96px;border-radius:50%;object-fit:cover;background:var(--abr-fond-3);display:block;margin:0 auto 10px}
.abr-equipe b{display:block;font-family:var(--abr-display);font-size:15px;color:var(--abr-vert)}
.abr-equipe span{display:block;font-family:var(--abr-label);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--abr-gris);margin-top:3px}

/* logos dans une grille de type galerie : jamais recadrés */
.abr-galerie figure img[src*="QUALI"],.abr-galerie figure img[src*="Qualibat"],
.abr-galerie figure img[src*="Capeb"],.abr-galerie figure img[src*="VELUX"]{
  aspect-ratio:auto;object-fit:contain;max-height:74px;width:auto;margin:0 auto;
}

/* l'équipe et la galerie sortent des règles de la colonne de lecture */
.abr-texte .abr-equipe,.abr-texte .abr-galerie,.abr-texte .abr-officiel{padding-left:0;margin-left:0}
.abr-texte .abr-equipe li{margin:0}

/* les fonctions d'équipe longues ne doivent pas dépasser leur colonne */
.abr-equipe span{word-break:break-word;overflow-wrap:anywhere;hyphens:auto;letter-spacing:.06em;font-size:10.5px}

/* min-width:auto des éléments de grille force la colonne à s'élargir */
.abr-equipe li{min-width:0}
.abr-equipe b{overflow-wrap:anywhere}


/* messages et piège à robots du formulaire */
.abr-form-ok,.abr-form-erreur{
  margin:0 0 14px;padding:11px 14px;border-radius:var(--abr-r-sm);font-size:14px;line-height:1.5;
}
.abr-form-ok{background:var(--abr-fond-2);color:#1E4536;border-left:4px solid var(--abr-vert)}
.abr-form-erreur{background:#FBE3E5;color:var(--abr-rouge-fonce);border-left:4px solid var(--abr-rouge-fonce)}
.abr-piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* boutons d'appel à l'action : césure sur petit écran (doit rester en fin de feuille) */
@media (max-width:560px){
  .abr-hero-btn{
    white-space:normal;display:block;text-align:center;margin:0 0 10px!important;
    overflow-wrap:anywhere;hyphens:auto;padding-left:18px;padding-right:18px;
  }
}

/* ==========================================================================
   10 · BLINDAGE CONTRE LES STYLES DU THÈME
   Ces règles annulent ce qu'un thème WordPress applique par défaut aux
   listes de navigation, aux liens et aux boutons. Elles doivent rester
   EN FIN DE FEUILLE : à spécificité égale, c'est la dernière qui gagne.
   ========================================================================== */

/* --- navigation principale : aucune ombre, aucun cadre, aucun fond hérité --- */
.abr-entete .abr-nav ul,
.abr-entete .abr-nav li,
.abr-entete .abr-nav-item{
  box-shadow:none!important;background:none!important;border:0!important;
  border-radius:0!important;margin:0!important;list-style:none!important;
}
.abr-entete .abr-nav-lien,
.abr-entete .abr-nav-bouton{
  box-shadow:none!important;text-shadow:none!important;border:0!important;
  background-color:transparent!important;background-image:none!important;
  filter:none!important;text-decoration:none!important;
}
.abr-entete .abr-nav-lien:hover,.abr-entete .abr-nav-lien:focus-visible,
.abr-entete .abr-nav-bouton:hover,.abr-entete .abr-nav-bouton:focus-visible,
.abr-entete .abr-nav-item[data-ouvert="oui"]>.abr-nav-bouton{
  background-color:var(--abr-fond-1)!important;color:var(--abr-bleu)!important;
  box-shadow:none!important;
}
.abr-entete .abr-nav-lien[aria-current="page"]{
  color:var(--abr-rouge)!important;box-shadow:inset 0 -3px 0 var(--abr-rouge)!important;
}

/* --- panneaux déroulants : le survol ne doit jamais passer le texte en blanc --- */
.abr-entete .abr-panneau,
.abr-entete .abr-panneau ul,
.abr-entete .abr-panneau li{
  background:none;box-shadow:none;border:0;margin:0;list-style:none!important;
}
.abr-entete .abr-panneau{
  background:var(--abr-blanc)!important;
  border:1px solid var(--abr-bordure)!important;
  border-top:3px solid var(--abr-rouge)!important;
  box-shadow:0 12px 28px rgba(10,61,40,.12)!important;
}
.abr-entete .abr-panneau a{
  color:var(--abr-vert)!important;background:transparent!important;
  text-decoration:none!important;text-shadow:none!important;box-shadow:none!important;
}
.abr-entete .abr-panneau a:hover,
.abr-entete .abr-panneau a:focus-visible,
.abr-entete .abr-panneau a:active{
  color:var(--abr-bleu)!important;background:var(--abr-fond-1)!important;
}
.abr-entete .abr-panneau a small{color:var(--abr-gris)!important}
.abr-entete .abr-panneau a:hover small,
.abr-entete .abr-panneau a:focus-visible small{color:var(--abr-gris)!important}
.abr-entete .abr-panneau-encart{background:var(--abr-fond-2)!important}
.abr-entete .abr-panneau-encart a,
.abr-entete .abr-panneau-encart a:hover,
.abr-entete .abr-panneau-encart a:focus-visible{
  color:var(--abr-rouge-fonce)!important;background:transparent!important;
}

/* --- tiroir mobile --- */
.abr-entete .abr-tiroir ul,.abr-entete .abr-tiroir li{
  list-style:none!important;margin:0!important;box-shadow:none!important;background:none!important;
}
.abr-entete .abr-tiroir a{text-shadow:none!important;box-shadow:none!important}
.abr-entete .abr-tiroir-sous a{color:var(--abr-vert)!important;background:transparent!important}
.abr-entete .abr-tiroir-sous a:hover,.abr-entete .abr-tiroir-sous a:focus-visible{
  color:var(--abr-bleu)!important;background:transparent!important;
}

/* --- barre principale : une seule ligne de séparation --- */
.abr-entete .abr-barre{box-shadow:none!important;filter:none!important}
.abr-entete--collee .abr-barre{box-shadow:0 1px 0 var(--abr-bordure)!important}

/* --- icônes des réseaux sociaux : centrage strict dans le carré --- */
.abr-rs a,
.abr-pied .abr-rs a{
  display:grid!important;place-items:center!important;
  width:38px!important;height:38px!important;padding:0!important;line-height:0!important;
  font-size:0!important;overflow:hidden;flex:none;box-shadow:none!important;text-decoration:none!important;
}
.abr-rs svg,
.abr-pied .abr-rs svg{
  width:18px!important;height:18px!important;display:block!important;
  margin:auto!important;grid-area:1/1;max-width:none!important;
}

/* --- texte de la hero : lisible même sur une photo claire --- */
.abr-hero h1,
.abr-hero .abr-hero-chapo,
.abr-hero .abr-hero-marq,
.abr-hero .abr-hero-preuves{
  text-shadow:0 1px 3px rgba(6,42,27,.55), 0 0 22px rgba(6,42,27,.35);
}


/* ==========================================================================
   14 · COMPOSANTS DES PAGES PRESTATION
   ========================================================================== */

/* --- bandeau de preuve : quatre repères chiffrés --- */
.abr-preuve{display:flex;flex-wrap:wrap;gap:clamp(14px,2vw,22px);margin-top:clamp(28px,4vw,44px)}
.abr-preuve-item{
  flex:1 1 180px;min-width:0;background:#fff;border:1px solid var(--abr-bordure);
  border-top:4px solid var(--abr-bleu);border-radius:var(--abr-r-md);padding:22px 20px;
  transition:transform .22s ease,box-shadow .22s ease;
}
.abr-preuve-item:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(10,61,40,.12)}
.abr-preuve-item strong{
  display:block;font-family:var(--abr-display);font-size:clamp(24px,2.6vw,34px);
  color:var(--abr-bleu);line-height:1.1;
}
.abr-preuve-item span{
  display:block;margin-top:8px;font-family:var(--abr-label);font-size:11.5px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--abr-gris);line-height:1.4;
}

/* --- déroulé du chantier : étapes numérotées --- */
.abr-deroule{counter-reset:abrd;list-style:none;margin:26px 0 0;padding:0;display:grid;gap:2px;
  grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.abr-deroule li{
  background:var(--abr-fond-1);padding:24px 20px;min-width:0;
  border-top:3px solid var(--abr-bordure);transition:background-color .22s ease,border-color .22s ease;
}
.abr-deroule li:hover{background:#fff;border-top-color:var(--abr-rouge)}
.abr-deroule li::before{
  counter-increment:abrd;content:counter(abrd,decimal-leading-zero);
  display:block;font-family:var(--abr-display);font-weight:800;font-size:24px;
  color:var(--abr-rouge);margin-bottom:10px;
}
.abr-deroule b{display:block;font-family:var(--abr-display);font-size:16.5px;color:var(--abr-vert);margin-bottom:6px;line-height:1.3}
.abr-deroule p{margin:0;font-size:14.5px;line-height:1.6;color:var(--abr-gris)}

/* --- ce qui fait varier le prix --- */
.abr-prix{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:12px}
.abr-prix li{
  display:grid;grid-template-columns:200px 1fr;gap:6px 22px;align-items:start;
  background:#fff;border:1px solid var(--abr-bordure);border-left:4px solid var(--abr-jaune);
  border-radius:var(--abr-r-sm);padding:16px 20px;
}
.abr-prix b{font-family:var(--abr-display);font-size:16px;color:var(--abr-vert);line-height:1.35}
.abr-prix p{margin:0;font-size:14.5px;line-height:1.65;color:var(--abr-gris)}

/* --- prestations liées et communes --- */
.abr-sib{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.abr-sib a{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 18px;background:#fff;border:1px solid var(--abr-bordure);
  border-radius:var(--abr-r-sm);color:var(--abr-vert);font-size:15.5px;line-height:1.35;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease;
}
.abr-sib a::after{content:"→";color:var(--abr-rouge);transition:transform .18s ease}
.abr-sib a:hover,.abr-sib a:focus-visible{
  border-color:var(--abr-bleu);color:var(--abr-bleu);transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(10,61,40,.10);
}
.abr-sib a:hover::after{transform:translateX(4px)}

/* --- légendes de galerie --- */
.abr-galerie figcaption{
  padding:13px 16px 15px;font-size:13.5px;line-height:1.5;color:var(--abr-gris);background:#fff;
}
.abr-galerie figure{background:#fff}

/* --- apparition au défilement --- */
.abr-sect,.abr-entete-page{opacity:0;transform:translateY(18px);
  transition:opacity .55s ease,transform .55s ease}
.abr-sect.abr-visible,.abr-entete-page.abr-visible{opacity:1;transform:none}

@media (max-width:640px){
  .abr-prix li{grid-template-columns:1fr;gap:4px}
}
@media (prefers-reduced-motion:reduce){
  .abr-sect,.abr-entete-page{opacity:1!important;transform:none!important;transition:none!important}
  .abr-preuve-item:hover,.abr-sib a:hover{transform:none!important}
}

/* Repli de mise en page si la police condensée n'est pas encore chargée :
   les polices de secours sont plus larges, la barre doit rester dans le cadre. */
@media (max-width:1500px){
  .abr-tel .abr-tel-lab{display:none}
}
@media (max-width:1460px){
  .abr-nav-lien,.abr-nav-bouton{font-size:13px;padding:10px 9px;letter-spacing:.03em}
  .abr-barre .abr-conteneur{gap:14px}
}
@media (max-width:1380px){
  .abr-tel{display:none}
}

/* Très petits écrans : le bloc de marque laisse la place au bouton de menu. */
@media (max-width:420px){
  .abr-logo svg{width:56px;height:26px}
  .abr-logo-nom{font-size:10.5px;letter-spacing:.03em}
  .abr-logo{gap:8px}
}
@media (max-width:380px){
  .abr-logo-nom{display:none}
}

/* Tableaux d'identité : ne jamais imposer leur largeur minimale. */
.abr-identite{table-layout:fixed;width:100%}
.abr-identite th,.abr-identite td{word-break:break-word;overflow-wrap:anywhere}
.abr-identite th{width:44%}
.abr-vedette>*,.abr-final>*,.abr-contact>*,.abr-grille>*,.abr-lieu>*{min-width:0}
@media (max-width:400px){
  .abr-identite th,.abr-identite td{padding:9px 8px;font-size:13.5px}
  .abr-identite th{font-size:10.5px;letter-spacing:.09em}
}

/* champs de formulaire par paires */
.abr-duo{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}
.abr-duo>*{min-width:0}
@media (max-width:480px){ .abr-duo{grid-template-columns:1fr} }
