/* ==========================================================
   ETS Laurent - feuille de style unique (v5)
   Calage sur le gabarit fourni : conteneur 1320 px, en-tete 1620 px,
   polices Raleway (titres) + Open Sans (texte), bleu #10539A / orange #FFA300.
   HTML pur, aucune dependance externe (polices servies depuis le site).
   ========================================================== */

@import url("../fonts/polices.css");

:root{
  --bleu:#10539A;
  --bleu-fonce:#0C3F76;
  --orange:#FFA300;
  --orange-fonce:#E08F00;
  --titre:#1F242E;
  --texte:#6C6E71;
  --gris-clair:#F5F7FA;
  --gris-fond:#F0F2F9;
  --gris-carte:#F7F7F7;
  --gris-bord:#E4E9F0;
  --blanc:#FFFFFF;
  --rayon:4px;
  --max:1320px;
  --max-entete:1620px;
  --haut-entete:86px;
  --ombre:0 0 20px 3px rgba(0,0,0,.05);
  --ombre-forte:0 14px 34px rgba(16,83,154,.16);
  --police:"Open Sans",Segoe UI,Roboto,Arial,sans-serif;
  --police-titre:"Raleway","Open Sans",Segoe UI,Arial,sans-serif;
  --transition:all ease .5s;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;background:var(--blanc);color:var(--texte);
  font-family:var(--police);font-size:16px;line-height:1.75;
}

img{max-width:100%;height:auto;display:block}

h1,h2,h3,h4{color:var(--titre);font-family:var(--police-titre);font-weight:800;line-height:1.25;margin:0 0 .6em}
h1{font-size:64px;font-weight:900;letter-spacing:-.5px}
h2{font-size:40px}
h3{font-size:24px}
h4{font-size:18px}
p{margin:0 0 1em}

a{color:var(--bleu);text-decoration:none;transition:var(--transition)}
a:hover{color:var(--orange)}

.conteneur{width:100%;max-width:var(--max);margin:0 auto;padding:0 12px}
.section{padding:100px 0}
.section--court{padding:100px 0 70px}
.section--gris{background:var(--gris-fond)}
.section--bleu{background:var(--bleu);color:#D8E4F2}
.section--bleu h2,.section--bleu h3{color:#fff}
.centre{text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Ecran d attente (prelogin) ---------- */
.prelogin{
  position:fixed;inset:0;z-index:99999;background:var(--orange);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .6s ease,visibility .6s ease;
}
.prelogin.parti{opacity:0;visibility:hidden}
.prelogin__boite{text-align:center;padding:20px}
.prelogin__svg{width:170px;height:auto;margin:0 auto;display:block;overflow:visible}
.prelogin__grand,.prelogin__petit{
  fill:#fff;transform-box:fill-box;transform-origin:center;
}
.prelogin__petit{opacity:.8}
.prelogin__grand{animation:engrenage-droite 4.5s linear infinite}
.prelogin__petit{animation:engrenage-gauche 3.375s linear infinite}
@keyframes engrenage-droite{to{transform:rotate(360deg)}}
@keyframes engrenage-gauche{to{transform:rotate(-360deg)}}

.prelogin__nom{
  margin:22px 0 0;font-family:var(--police-titre);font-weight:900;
  font-size:26px;letter-spacing:1px;color:var(--bleu-fonce);line-height:1;
}
.prelogin__nom span{color:#fff}
.prelogin__barre{
  width:170px;height:3px;margin:16px auto 0;background:rgba(255,255,255,.45);
  overflow:hidden;position:relative;
}
.prelogin__barre::before{
  content:"";position:absolute;top:0;left:0;height:100%;width:40%;background:#fff;
  animation:barre-attente 1.4s ease-in-out infinite;
}
@keyframes barre-attente{
  0%{left:-40%}
  100%{left:100%}
}
@media (prefers-reduced-motion:reduce){
  .prelogin__grand,.prelogin__petit,.prelogin__barre::before{animation:none}
}

/* ---------- Sur-titre + titre de section ---------- */
.surtitre{
  display:block;color:var(--orange);font-weight:600;font-size:15px;margin-bottom:10px;
}
.titre-section{max-width:700px;margin:-8px auto 50px;text-align:center;position:relative}
.titre-section h2{margin-bottom:15px}
.titre-section p{max-width:600px;margin:0 auto}
.titre-section .lien-titre{font-size:16px;color:var(--titre);font-weight:600}
.titre-section .lien-titre:hover{color:var(--orange)}
.intro{max-width:780px;margin:0 0 2.4rem}
.centre .intro{margin-left:auto;margin-right:auto}

/* ---------- Boutons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 35px;font-weight:600;font-size:16px;line-height:1;
  border:none;cursor:pointer;text-align:center;position:relative;z-index:1;overflow:hidden;
  background:var(--orange);color:#fff;transition:var(--transition);font-family:var(--police);
}
.btn::before,.btn::after{
  content:"";position:absolute;top:0;left:0;width:50%;height:0;
  background:var(--titre);z-index:-1;transition:var(--transition);
}
.btn::after{top:auto;bottom:0;left:auto;right:0}
.btn:hover{color:#fff}
.btn:hover::before{height:100%;top:auto;bottom:0}
.btn:hover::after{height:100%;bottom:auto;top:0}
.btn--orange{background:var(--orange);color:#fff}
.btn--bleu{background:var(--bleu);color:#fff}
.btn--blanc{background:#fff;color:var(--bleu)}
.btn--blanc:hover{color:#fff}
.btn--vide{background:transparent;color:var(--bleu);border:2px solid var(--bleu)}
.btn--vide:hover{color:#fff}
.btn--large{width:100%;display:flex}
.groupe-btn{display:flex;flex-wrap:wrap;gap:14px}
.groupe-btn--centre{justify-content:center}

/* ---------- En-tete ---------- */
.entete{
  position:fixed;top:0;left:0;right:0;z-index:999;
  transition:var(--transition);
}
.entete::before{
  content:"";position:absolute;top:0;right:0;width:15%;height:100%;
  background:var(--bleu);z-index:-1;
}
.entete.fixe,body.interieur .entete{background:#fff;box-shadow:var(--ombre)}
body.interieur{padding-top:var(--haut-entete)}
.entete__ligne{
  display:flex;align-items:center;min-height:var(--haut-entete);position:relative;
  max-width:var(--max-entete);margin:0 auto;padding:0 30px;
}
.logo{display:flex;align-items:center;gap:2px;font-family:var(--police-titre);font-weight:900;font-size:32px;letter-spacing:-1px;line-height:1}
.logo span:first-child{color:var(--bleu)}
.logo span:last-child{color:var(--orange)}
.logo:hover{color:inherit}
.nav{margin:0 auto}
.nav ul{display:flex;align-items:center;list-style:none;margin:0;padding:0}
.nav a{
  color:var(--titre);font-weight:600;font-size:15px;line-height:1;
  margin:0 20px;padding:35px 0;display:block;
}
.nav a:hover,.nav a[aria-current="page"]{color:var(--orange)}
.nav li{position:relative}
.nav a{white-space:nowrap}
.nav .sous-menu{
  position:absolute;top:100%;left:0;width:250px;background:#fff;box-shadow:var(--ombre);
  display:block;flex-direction:column;opacity:0;visibility:hidden;transform:scaleX(0);
  transform-origin:left;transition:.3s ease-in-out;padding:0;z-index:99;
}
.nav li:hover>.sous-menu,.nav li:focus-within>.sous-menu{opacity:1;visibility:visible;transform:scaleX(1)}
.nav .sous-menu a{padding:15px;margin:0;border-bottom:1px dashed #eee;display:block;white-space:normal}
.nav .fleche{font-size:11px;position:relative;top:-2px;margin-left:4px}
.entete__tel{
  position:relative;background:var(--bleu);color:#fff;
  padding:19px 60px 19px 120px;font-size:14px;line-height:1.4;flex:0 0 auto;
}
.entete__tel:hover{color:#fff}
.entete__tel .rond{
  position:absolute;top:18px;left:50px;width:50px;height:50px;border-radius:50%;
  background:var(--orange);display:flex;align-items:center;justify-content:center;
  font-size:22px;color:#fff;
}
.entete__tel small{display:block;font-size:14px;opacity:.95}
.entete__tel strong{display:block;font-size:18px;font-weight:700;white-space:nowrap;margin-top:4px}
.burger{
  display:none;margin-left:auto;background:transparent;border:1px solid var(--gris-bord);
  color:var(--titre);border-radius:4px;padding:9px 12px;font-size:1.3rem;line-height:1;cursor:pointer;
}

/* ---------- Hero ---------- */
.hero{
  position:relative;z-index:1;padding-top:var(--haut-entete);
  background:url("../img/fond-hero.jpg") center center/cover no-repeat;
  overflow:hidden;
}
.hero::before{content:"";position:absolute;inset:0;background:#f8fbff;opacity:.9;z-index:-1}
.hero__grille{
  display:grid;grid-template-columns:1fr 1fr;align-items:center;
  width:100%;max-width:none;padding-left:12px;
}
.hero__texte-bloc{max-width:795px;margin-left:auto;margin-top:-85px;padding-left:30px;padding-right:12px}
.hero h1{margin-bottom:30px}
.hero h1 .marque{color:var(--bleu);position:relative;display:inline-block}
.hero h1 .marque::before{
  content:"";position:absolute;top:40px;left:0;width:100%;height:100%;
  background:url("../img/trait-titre.png") center center no-repeat;
}
.hero__texte{margin-bottom:40px;font-size:16px;max-width:600px;color:var(--titre)}
.hero__img{align-self:end}
.hero__img img{width:auto;max-width:100%;margin-left:auto}

/* bandeau des 3 arguments */
.arguments-zone{padding-bottom:100px}
.arguments{
  display:grid;grid-template-columns:repeat(3,1fr);
  background:var(--bleu);border-radius:50px 0 50px 0;
  margin-top:-90px;position:relative;z-index:2;overflow:hidden;
}
.argument{
  text-align:center;padding:30px;color:#fff;position:relative;z-index:1;
}
.argument h3{color:#fff;font-size:24px;margin-bottom:0}
.argument .picto{display:block;line-height:1;margin-bottom:20px;color:#fff}
.argument .picto svg{margin:0 auto;width:80px;height:80px}
.argument--actif{background:var(--orange);overflow:hidden}
.argument--actif .forme{position:absolute;bottom:0;left:0;right:0;z-index:-1;width:100%}

/* ---------- Presentation (photo de fond + encart blanc) ---------- */
.presentation__fond{
  background:url("../img/fond-presentation.jpg") center center/cover no-repeat;
  padding:100px 0;
}
.presentation__encart{
  background:#fff;padding:50px;max-width:830px;margin-left:auto;
}
.presentation__encart h2{margin-bottom:25px}

/* ---------- Chiffres ---------- */
.chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:30px 0 0}
.chiffres div{margin-bottom:30px}
.chiffres b{display:block;color:var(--orange);font-family:var(--police-titre);font-size:60px;font-weight:800;line-height:1.2;margin-bottom:5px}
.chiffres span{display:block;font-family:var(--police-titre);font-weight:800;color:var(--titre);font-size:16px}

/* ---------- Bloc deux colonnes ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}
.duo--inverse .duo__img{order:2}
.duo__img img{width:100%}

/* ---------- Vision : jauges + photo legendee ---------- */
.vision__texte{margin-right:30px}
.vision__texte h2{margin-bottom:20px}
.jauges{margin-right:30px}
.jauge{margin-bottom:20px}
.jauge__ligne{display:flex;justify-content:space-between;align-items:flex-end;font-family:var(--police);font-weight:600;color:var(--titre);font-size:18px;margin-bottom:6px}
.jauge__ligne span:last-child{font-size:16px}
.jauge__fond{height:2px;background:var(--gris-bord)}
.jauge__barre{height:2px;background:var(--orange);width:0;transition:width 1.4s ease}
.jauge--bleue .jauge__barre{background:var(--bleu)}
.vision__img{position:relative;z-index:1;padding-left:100px}
.vision__img img{width:100%}
.vision__img h3{
  font-size:28px;background:var(--bleu);color:#fff;text-align:center;margin:-45px 0 0 -30px;
  padding:20px 50px;max-width:400px;border-radius:0 0 50px 0;position:relative;
}
.vision__img .forme{position:absolute;bottom:-50px;left:0;z-index:-1;width:auto}

/* ---------- Cartes services ---------- */
.grille{display:grid;gap:24px}
.grille--2{grid-template-columns:repeat(2,1fr)}
.grille--3{grid-template-columns:repeat(3,1fr)}
.grille--4{grid-template-columns:repeat(4,1fr)}

.carte{
  background:var(--gris-carte);position:relative;transition:var(--transition);
  display:flex;flex-direction:column;
}
.carte:hover{transform:translateY(-5px)}
.carte img{width:100%;height:260px;object-fit:cover}
.carte__corps{padding:30px;display:flex;flex-direction:column;flex:1}
.carte h3{color:var(--orange);margin-bottom:12px;font-size:24px}
.carte h3 a{color:inherit}
.carte p{flex:1;margin-bottom:12px}
.carte__lien{font-weight:600;color:var(--titre);font-size:15px}
.carte__lien:hover{color:var(--orange);letter-spacing:1px}

/* ---------- Ce que nous proposons ---------- */
.offre{
  position:relative;z-index:1;overflow:hidden;
  background:url("../img/fond-offre.jpg") center center/cover no-repeat;
}
.offre::before{content:"";position:absolute;inset:0;background:var(--bleu);opacity:.9;z-index:-1}
.offre::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:42%;background:#fff;z-index:-1}
.offre__grille{display:grid;grid-template-columns:1fr 1fr}
.offre__contenu{padding:50px 50px 0}
.offre__contenu .surtitre{color:#fff;font-size:14px;font-weight:600}
.offre__contenu h2{color:#fff;margin-bottom:20px}
.offre__contenu>p{color:#fff;margin-bottom:200px}
.offre__duo{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.offre__item{margin-bottom:50px;transition:var(--transition)}
.offre__item:hover{transform:translateY(-5px)}
.offre__item .picto{color:var(--orange);font-size:46px;line-height:1;margin-bottom:10px;display:block}
.offre__item h3{font-size:24px;margin-bottom:10px}
.offre__item p{margin-bottom:0}
.offre__img{
  margin:50px 50px 0 0;border-radius:50px 0 0 0;
  background:url("../img/offre-image.jpg") center center/cover no-repeat;
}

/* ---------- Realisations ---------- */
.galerie{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.galerie figure{margin:0;position:relative;overflow:hidden}
.galerie img{width:100%;height:300px;object-fit:cover;transition:var(--transition)}
.galerie figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:30px;
  background:linear-gradient(transparent,#000);
  color:#fff;font-family:var(--police-titre);font-weight:800;font-size:24px;
  opacity:0;visibility:hidden;transition:var(--transition);
}
.galerie figure:hover figcaption{opacity:1;visibility:visible}

/* ---------- Demande de devis ---------- */
.devis__encart{background:var(--gris-fond);border-radius:50px 0 0 0;display:grid;grid-template-columns:5fr 7fr}
.devis__img{
  border-radius:50px 0 0 0;
  background:url("../img/devis-image.jpg") center center/cover no-repeat;min-height:420px;
}
.devis__form{padding:50px 50px 50px 26px}
.devis__form h2{font-size:40px;text-align:center;margin-bottom:50px}
.devis__marque{text-align:center;margin-bottom:20px;font-family:var(--police-titre);font-weight:900;font-size:30px;letter-spacing:-1px}
.devis__marque span:first-child{color:var(--bleu)}
.devis__marque span:last-child{color:var(--orange)}

/* ---------- Avis ---------- */
.avis-liste{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.avis{background:#fff;border:1px solid var(--gris-bord);padding:30px;text-align:center}
.avis img{width:90px;height:90px;border-radius:50%;object-fit:cover;margin:0 auto 18px}
.avis p{font-style:italic}
.avis cite{display:block;margin-top:14px;font-style:normal;font-family:var(--police-titre);font-weight:800;color:var(--titre);font-size:18px}
.avis .etoiles{color:var(--orange);letter-spacing:2px;margin-bottom:10px}

/* ---------- Bandeau urgence ---------- */
.urgence-zone{position:relative;z-index:1}
.urgence-zone::before{content:"";position:absolute;bottom:0;left:0;width:100%;height:50%;background:var(--titre);z-index:-1}
.urgence{
  position:relative;z-index:1;border-radius:50px 0 50px 0;padding:50px 100px;
  background:url("../img/fond-urgence.jpg") center center/cover no-repeat;
  display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;
}
.urgence::before{content:"";position:absolute;inset:0;background:var(--bleu);opacity:.9;z-index:-1;border-radius:50px 0 50px 0}
.urgence h3{color:#fff;font-size:24px;margin-bottom:.3em}
.urgence p{color:#fff;margin-bottom:0}
.urgence__tel{justify-self:end}

/* ---------- Titre de page (pages interieures) ---------- */
.titre-page{
  position:relative;z-index:1;padding:100px 0;overflow:hidden;
  background:#f4f7ff center center/cover no-repeat;
}
.titre-page::before{content:"";position:absolute;inset:0;background:#000;opacity:.5;z-index:-1}
.titre-page__contenu{text-align:center;margin-top:-13px;position:relative}
.titre-page h2{color:#fff;font-size:50px;margin-bottom:15px}
.titre-page ul{list-style:none;margin:10px 0 -5px;padding:0}
.titre-page li{display:inline-block;position:relative;font-size:16px;padding-right:15px;margin-left:15px;color:#fff}
.titre-page li::before{content:"";position:absolute;top:5px;right:-3px;background:#fff;width:1px;height:15px;transform:rotate(15deg)}
.titre-page li:first-child{margin-left:0}
.titre-page li:last-child{padding-right:0;color:var(--orange)}
.titre-page li:last-child::before{display:none}
.titre-page a{color:#fff}
.titre-page a:hover{color:var(--orange)}

/* ---------- Page service : contenu principal + colonne ---------- */
.detail{display:grid;grid-template-columns:2fr 1fr;gap:30px;align-items:start}
.detail__contenu{margin-right:15px}
.detail__img{margin-bottom:30px}
.detail__contenu h1{font-size:30px;margin-bottom:15px}
.detail__contenu h2{font-size:26px;margin:35px 0 15px}
.detail__contenu h3{font-size:24px;margin:25px 0 10px}
.detail__contenu ul{list-style:none;padding:0;margin:0 0 1em}
.detail__contenu li{position:relative;padding-left:35px;margin-bottom:10px}
.detail__contenu li::before{content:"¹4";position:absolute;left:0;top:0;color:var(--orange);font-weight:800}
.detail__contenu .groupe-btn{margin-top:25px}
.encart-contact{background:#F1F8FF;padding:30px;margin-left:15px;position:sticky;top:110px}
.encart-contact h3{font-size:24px;position:relative;padding-bottom:10px;margin-bottom:30px}
.encart-contact h3::before{content:"";position:absolute;bottom:0;left:0;width:100px;height:3px;background:var(--orange)}
.encart-contact ul{list-style:none;margin:0 0 25px;padding:0}
.encart-contact li{margin-bottom:20px;font-weight:700;color:var(--titre)}
.encart-contact li:last-of-type{margin-bottom:0}
.encart-contact li span{display:block;font-weight:400;color:var(--texte)}

/* ---------- Listes ---------- */
.liste-check{list-style:none;margin:0;padding:0}
.liste-check li{position:relative;padding-left:30px;margin-bottom:11px}
.liste-check li::before{content:"\2714";position:absolute;left:0;top:0;color:var(--orange);font-weight:800}

/* ---------- Atouts ---------- */
.atout{background:#fff;border:1px solid var(--gris-bord);padding:26px}
.atout .picto{
  width:52px;height:52px;background:var(--bleu);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:16px;
}
.atout--orange .picto{background:var(--orange)}

/* ---------- Formulaire ---------- */
.formulaire{display:grid;gap:25px}
.formulaire .duo-champs{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.champ{display:grid;gap:6px}
.champ label{font-weight:600;font-size:.9rem;color:var(--titre)}
.champ input,.champ select,.champ textarea{
  width:100%;background:#fff;border:1px solid var(--gris-bord);border-radius:var(--rayon);
  color:var(--titre);padding:14px 15px;font-family:inherit;font-size:16px;
}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:none;border-color:var(--orange)}
.champ textarea{min-height:150px;resize:vertical}
.champ--piege{position:absolute;left:-9999px}
.aide{font-size:.85rem;color:var(--texte)}
.devis__form .champ input,.devis__form .champ select,.devis__form .champ textarea{border-color:#fff}
.devis__form .champ input:focus,.devis__form .champ select:focus,.devis__form .champ textarea:focus{border-color:var(--orange)}

/* ---------- Coordonnees ---------- */
.coord{list-style:none;margin:0;padding:0}
.coord li{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.coord .picto{
  width:44px;height:44px;border-radius:50%;background:var(--orange);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex:0 0 auto;
}
.coord strong{display:block;color:var(--titre);font-size:.9rem}
.coord a{font-weight:600}

/* ---------- Fil d ariane ---------- */
.ariane{background:var(--gris-fond);padding:18px 0;font-size:.88rem}
.ariane span{margin:0 8px;color:var(--gris-bord)}

/* ---------- Pied de page ---------- */
.pied{background:#1F242E;color:#fff;padding:0}
.pied__grille{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;align-items:center}
.pied h3{color:#fff;font-size:24px;margin-bottom:25px;margin-top:-5px}
.pied ul{list-style:none;margin:0;padding:0}
.pied li{margin-bottom:20px;color:#fff}
.pied li:last-child{margin-bottom:0}
.pied a{color:#fff}
.pied a:hover{color:var(--orange)}
.pied__marque{
  background:#F9F9F9;padding:100px 30px;border-radius:0 0 50px 0;color:var(--texte);
}
.pied__marque .logo{margin-bottom:20px}
.pied__marque p{margin-bottom:0}
.pied__horaires li span{float:right}
.pied__bas{border-top:1px solid #363A43;padding:20px 0;text-align:center;font-size:.9rem}
.pied__bas p{margin:0;color:#fff}
.pied__bas a{color:var(--orange);font-weight:600}

/* ---------- Bouton retour en haut ---------- */
.haut{
  position:fixed;right:3%;bottom:8%;width:40px;height:42px;line-height:42px;
  background:var(--orange);color:#fff;text-align:center;font-size:20px;cursor:pointer;
  z-index:4;border:none;transform:scale(0);visibility:hidden;transition:.9s;
}
.haut.visible{transform:scale(1);visibility:visible}
.haut:hover{background:var(--titre);color:#fff}

/* ---------- Barre d appel mobile ---------- */
.barre-appel{
  position:fixed;bottom:0;left:0;right:0;z-index:70;display:none;
  grid-template-columns:1fr 1fr;gap:1px;background:#fff;box-shadow:0 -4px 16px rgba(0,0,0,.18);
}
.barre-appel a{padding:15px 8px;text-align:center;font-weight:800;font-size:.98rem}
.barre-appel .appel{background:var(--orange);color:#fff}
.barre-appel .devis{background:var(--bleu);color:#fff}

/* ==========================================================
   Responsive - memes points de rupture que le gabarit
   ========================================================== */

@media (max-width:1399px){
  .entete__tel{padding:19px 30px 19px 100px}
  .entete__tel .rond{left:30px}
  .nav a{margin:0 12px}
}

@media (max-width:1199px){
  h1{font-size:47px}
  h2{font-size:35px}
  .hero__texte-bloc{margin-top:-50px}
  .vision__img{padding-left:0}
  .arguments{margin-top:-60px}
  .offre__contenu>p{margin-bottom:60px}
  .offre::after{height:40%}
  .galerie{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:991px){
  .entete::before{display:none}
  .entete{background:#fff;box-shadow:var(--ombre)}
  .burger{display:block;margin-left:auto}
  .entete__tel{display:none}
  .nav{
    position:absolute;top:100%;left:0;right:0;display:none;background:#fff;margin:0;
    border-top:1px solid var(--gris-bord);box-shadow:0 12px 20px rgba(0,0,0,.09);padding:12px 20px 18px;
  }
  .nav.ouvert{display:block}
  .nav ul{flex-direction:column;align-items:stretch}
  .nav a{display:block;padding:12px 2px;margin:0;border-bottom:1px solid var(--gris-bord)}
  .nav .sous-menu{position:static;width:auto;opacity:1;visibility:visible;transform:none;box-shadow:none;padding-left:16px}
  .nav .sous-menu a{padding:12px 2px;border-bottom:1px solid var(--gris-bord)}
  .nav .fleche{display:none}
  .hero{padding-top:128px;padding-bottom:0}
  .hero__grille{grid-template-columns:1fr;padding-left:0}
  .hero__texte-bloc{text-align:center;margin:0 auto 30px;padding:0 20px;max-width:720px}
  .hero__texte{margin-left:auto;margin-right:auto}
  .hero .groupe-btn{justify-content:center}
  .hero__img img{margin:0 auto}
  .arguments{margin-top:60px;grid-template-columns:1fr}
  .arguments-zone{padding-bottom:60px}
  .presentation__encart{padding:30px;max-width:none}
  .duo{grid-template-columns:1fr;gap:28px}
  .duo--inverse .duo__img{order:0}
  .vision__texte,.jauges{margin-right:0}
  .vision__img h3{margin-left:0;font-size:22px;padding:18px 25px}
  .grille--3,.grille--4{grid-template-columns:repeat(2,1fr)}
  .offre__grille{grid-template-columns:1fr}
  .offre__contenu{padding:30px 20px 0}
  .offre__contenu>p{margin-bottom:30px}
  .offre::after{display:none}
  .offre__item h3,.offre__item p{color:#fff}
  .offre__img{margin:0;height:300px;border-radius:0}
  .devis__encart{grid-template-columns:1fr;border-radius:0}
  .devis__img{border-radius:0;min-height:260px}
  .devis__form{padding:30px 20px}
  .avis-liste{grid-template-columns:1fr}
  .titre-page{padding:60px 0}
  .titre-page h2{font-size:35px}
  .detail{grid-template-columns:1fr}
  .detail__contenu{margin-right:0}
  .encart-contact{margin-left:0;position:static}
  .urgence{grid-template-columns:1fr;padding:40px 30px;text-align:center}
  .urgence__tel{justify-self:center}
  .pied__grille{grid-template-columns:repeat(2,1fr)}
  .pied__marque{padding:40px 30px;border-radius:0}
  .section{padding:60px 0}
  .section--court{padding:60px 0 30px}
}

@media (max-width:767px){
  h1{font-size:30px}
  h2{font-size:30px}
  h3{font-size:20px}
  .hero h1 .marque::before{top:20px}
  .argument h3{font-size:20px}
  .argument .picto{font-size:44px}
  .chiffres{grid-template-columns:1fr}
  .grille--2,.grille--3,.grille--4{grid-template-columns:1fr}
  .galerie{grid-template-columns:1fr}
  .offre__duo{grid-template-columns:1fr;gap:0}
  .formulaire .duo-champs{grid-template-columns:1fr}
  .pied__grille{grid-template-columns:1fr}
  .barre-appel{display:grid}
  .haut{bottom:70px;right:14px}
  .pied__bas{padding-bottom:70px}
  .groupe-btn .btn{width:100%}
  .devis__form h2{font-size:28px;margin-bottom:30px}
  .titre-page h2{font-size:30px}
  .detail__contenu h1{font-size:26px}
  .detail__contenu h2{font-size:22px}
}

@media print{
  .entete,.barre-appel,.prelogin,.haut{display:none}
  body{color:#000}
}
