@charset "UTF-8";
/* ============================================================
   VISUEL-VOX — feuille de style unique
   Charte conservée : rouge et gris.

   --rouge (#E30613) est le rouge officiel de la marque. Il sert
   aux surfaces : boutons, bandeaux, filets, gros chiffres.
   --rouge-fonce (#B8050E) est la déclinaison réservée au TEXTE
   posé sur fond clair : liens, survols, mentions en petit corps.
   Cette distinction n'est pas cosmétique : #E30613 en corps de
   texte n'atteint que 4,88:1 sur blanc, soit tout juste le seuil
   RGAA. La variante foncée monte à 6,85:1 et sécurise la
   conformité, argument vérifié dans les marchés publics.
   Aucune police externe : zéro requête tierce, conforme RGPD,
   et chargement instantané.
   ============================================================ */

:root{
  /* --- Rouge (identité) --- */
  --rouge:        #E30613;
  --rouge-fonce:  #B8050E;
  --rouge-clair:  #FDECEC;
  --rouge-bord:   #F5C9CB;

  /* --- Gris : échelle neutre construite autour du gris officiel
         de la marque, #4B4A4A, qui est le --gris-700 et sert de
         couleur au corps de texte (contraste 8,83:1 sur blanc).
         Les autres niveaux sont ses éclaircissements et ses
         assombrissements, à teinte rigoureusement identique. --- */
  --gris-900: #1E1D1D;
  --gris-800: #333131;
  --gris-700: #4B4A4A;
  --gris-600: #6B6A6A;
  --gris-500: #8B8A8A;
  --gris-300: #C9C8C8;
  --gris-200: #E2E1E1;
  --gris-100: #F0EFEF;
  --gris-050: #F8F7F7;
  --blanc:    #FFFFFF;

  /* --- Sémantique --- */
  --texte:        var(--gris-700);
  --texte-fort:   var(--gris-900);
  --texte-doux:   var(--gris-600);
  --fond:         var(--blanc);
  --fond-doux:    var(--gris-050);
  --filet:        var(--gris-200);

  /* --- Typographie : piles système, aucune police à télécharger --- */
  --sans:  -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --serif: Georgia, "Times New Roman", "Liberation Serif", serif;

  /* --- Mesures --- */
  --largeur: 1160px;
  --gouttiere: clamp(1.1rem, 4vw, 2.5rem);
  --rayon: 3px;
  --ombre: 0 1px 2px rgba(30,29,29,.06), 0 10px 30px -22px rgba(30,29,29,.35);
}

/* ------------------------------------------------------------
   Base
   ------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--fond);
  color:var(--texte);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--rouge-fonce);text-underline-offset:3px}
a:hover{color:var(--rouge)}
:focus-visible{outline:3px solid var(--rouge);outline-offset:2px}
mark.a-completer{background:#FFF3B0;color:#5B4A00;padding:0 .25em;font-weight:600}

h1,h2,h3,h4{color:var(--texte-fort);font-weight:700;line-height:1.15;letter-spacing:-.015em;text-wrap:balance;margin:0 0 .6em}
h1{font-size:clamp(1.9rem,4.6vw,3rem)}
h2{font-size:clamp(1.45rem,3vw,2.05rem);margin-top:2.4em}
h3{font-size:clamp(1.12rem,2vw,1.32rem);margin-top:2em}
h4{font-size:1rem;margin-top:1.6em}
p{margin:0 0 1.1em}
ul,ol{margin:0 0 1.2em;padding-left:1.3em}
li{margin-bottom:.45em}
li::marker{color:var(--rouge)}
strong{color:var(--texte-fort);font-weight:600}
blockquote{margin:1.6em 0;padding-left:1.2rem;border-left:3px solid var(--rouge);font-family:var(--serif);font-size:1.1rem;color:var(--texte-fort)}
hr{border:0;border-top:1px solid var(--filet);margin:2.5rem 0}

.conteneur{max-width:var(--largeur);margin:0 auto;padding-left:var(--gouttiere);padding-right:var(--gouttiere)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.lien-evitement{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--rouge);color:#fff;padding:.75rem 1.2rem;font-weight:600;text-decoration:none;
}
.lien-evitement:focus{left:.5rem;top:.5rem;color:#fff}

/* ------------------------------------------------------------
   En-tête et navigation
   ------------------------------------------------------------ */
.entete{background:var(--blanc);border-bottom:1px solid var(--filet);position:sticky;top:0;z-index:100}
.entete__interieur{display:flex;align-items:center;gap:1.5rem;min-height:74px}
.logo{flex:0 0 auto;display:block;padding:.4rem 0}
.logo img{height:50px;width:auto}

.burger{
  display:none;margin-left:auto;align-items:center;gap:.55rem;
  background:none;border:1px solid var(--gris-300);border-radius:var(--rayon);
  padding:.5rem .8rem;font:inherit;font-size:.9rem;font-weight:600;color:var(--texte-fort);cursor:pointer;
}
.burger__trait,.burger__trait::before,.burger__trait::after{
  display:block;width:18px;height:2px;background:var(--rouge);content:"";position:relative;
}
.burger__trait::before{position:absolute;top:-6px}
.burger__trait::after{position:absolute;top:6px}

.nav{margin-left:auto}
.nav__liste{display:flex;align-items:center;gap:.1rem;list-style:none;margin:0;padding:0}
.nav__item{position:relative;margin:0}
.nav__lien{
  display:block;padding:.55rem .55rem;font-size:.92rem;font-weight:600;
  color:var(--texte-fort);text-decoration:none;border-radius:var(--rayon);
  white-space:nowrap;
}
.nav__lien:hover{color:var(--rouge-fonce);background:var(--gris-100)}
.nav__bascule{
  position:absolute;right:-2px;top:50%;transform:translateY(-50%);
  background:none;border:0;padding:.35rem;cursor:pointer;line-height:0;
}
.nav__chevron{display:block;width:7px;height:7px;border-right:2px solid var(--gris-600);border-bottom:2px solid var(--gris-600);transform:rotate(45deg) translate(-2px,-2px)}
.nav__item--deroulant > .nav__lien{padding-right:1.35rem}

.sousmenu{
  position:absolute;left:0;top:100%;min-width:270px;
  background:var(--blanc);border:1px solid var(--filet);border-top:2px solid var(--rouge);
  box-shadow:var(--ombre);list-style:none;margin:0;padding:.4rem;
  display:none;z-index:110;
}
.nav__item--deroulant:hover .sousmenu,
.nav__item--deroulant:focus-within .sousmenu,
.sousmenu.est-ouvert{display:block}
.sousmenu li{margin:0}
.sousmenu a{display:block;padding:.5rem .7rem;font-size:.92rem;color:var(--texte);text-decoration:none;border-radius:var(--rayon)}
.sousmenu a:hover{background:var(--rouge-clair);color:var(--rouge-fonce)}

.nav__item--action{margin-left:.6rem}

/* ------------------------------------------------------------
   Boutons
   ------------------------------------------------------------ */
.bouton{
  display:inline-block;background:var(--rouge);color:#fff;
  padding:.85rem 1.5rem;font-size:.96rem;font-weight:600;line-height:1.2;
  text-decoration:none;border:1px solid var(--rouge);border-radius:var(--rayon);cursor:pointer;
  font-family:inherit;
}
.bouton:hover{background:var(--rouge-fonce);border-color:var(--rouge-fonce);color:#fff}
.bouton--compact{padding:.6rem 1rem;font-size:.9rem}
.bouton--secondaire{background:transparent;color:var(--texte-fort);border-color:var(--gris-300)}
.bouton--secondaire:hover{background:var(--gris-100);color:var(--rouge-fonce);border-color:var(--gris-500)}
.bouton--clair{background:#fff;color:var(--rouge-fonce);border-color:#fff}
.bouton--clair:hover{background:var(--gris-100);color:var(--rouge-fonce);border-color:var(--gris-100)}

/* ------------------------------------------------------------
   Fil d'Ariane
   ------------------------------------------------------------ */
.filariane{background:var(--fond-doux);border-bottom:1px solid var(--filet);font-size:.85rem}
.filariane ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:.7rem 0}
.filariane li{margin:0;color:var(--texte-doux)}
.filariane li+li::before{content:"›";margin-right:.45rem;color:var(--gris-600)}
.filariane a{color:var(--texte-doux);text-decoration:none}
.filariane a:hover{color:var(--rouge);text-decoration:underline}

/* ------------------------------------------------------------
   Sections génériques
   ------------------------------------------------------------ */
.section{padding:clamp(2.6rem,6vw,4.5rem) 0}
.section--doux{background:var(--fond-doux);border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.section--sombre{background:var(--gris-900);color:var(--gris-200)}
.section--sombre h2,.section--sombre h3{color:#fff}
.section__intro{max-width:66ch}
.mesure{max-width:70ch}

.surtitre{
  display:block;font-size:.76rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--rouge);margin-bottom:.7rem;
}

/* ------------------------------------------------------------
   Bandeau d'accueil
   ------------------------------------------------------------ */
.heros{background:var(--fond-doux);border-bottom:1px solid var(--filet);padding:clamp(2.5rem,6vw,4.6rem) 0}
.heros__grille{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.heros h1{margin-bottom:.5em}
.heros__accroche{font-family:var(--serif);font-size:clamp(1.08rem,2.2vw,1.28rem);color:var(--texte);max-width:60ch}
.heros__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.heros__preuve{font-size:.88rem;color:var(--texte-doux);margin-top:1.4rem}

/* ------------------------------------------------------------
   Illustrations
   Les attributs width et height sont déclarés dans le HTML :
   le navigateur réserve la place avant le chargement, ce qui
   évite tout décalage de mise en page (CLS).
   ------------------------------------------------------------ */
.visuel{display:block;width:100%;height:auto;background:var(--fond-doux)}
.figure-page{border:1px solid var(--filet);margin:0 0 2.2rem}
.heros__colonne{display:flex;flex-direction:column;gap:1.4rem}
.heros__visuel{border:1px solid var(--filet)}
/* L'illustration déborde le padding de la carte pour toucher ses bords.
   max-width:none est indispensable : la règle globale img{max-width:100%}
   annulerait sinon le calc() ci-dessous. */
.carte__visuel{margin:-1.5rem -1.5rem 1.3rem;width:calc(100% + 3rem);max-width:none;border-bottom:1px solid var(--filet)}
/* Grille des domaines d'intervention : deux colonnes, pour que les
   quatre cartes illustrées forment un carré plutôt qu'un 3 + 1 bancal. */
/* Grille des domaines d'intervention : quatre colonnes sur grand
   écran, pour que les quatre cartes illustrées tiennent sur une
   seule ligne au lieu d'un 3 + 1 bancal, et que les vignettes
   carrées restent d'une hauteur raisonnable.
   Double classe : la règle .cartes est déclarée plus bas dans ce
   fichier, il faut donc une spécificité supérieure pour la battre. */
.cartes.cartes--illustrees{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
/* Trombinoscope : trois colonnes fixes, pour que les trois portraits
   forment une ligne au lieu d'un 2 + 1 déséquilibré. */
.cartes.cartes--equipe{grid-template-columns:repeat(3,1fr);gap:1rem}
@media (max-width:620px){.cartes.cartes--equipe{grid-template-columns:1fr}}

.encart-instances{background:var(--blanc);border:1px solid var(--filet);border-top:3px solid var(--rouge);padding:1.4rem 1.5rem;box-shadow:var(--ombre)}
.encart-instances h2{font-size:1.05rem;margin:0 0 .9rem}
.encart-instances ul{list-style:none;margin:0;padding:0}
.encart-instances li{margin:0;border-bottom:1px solid var(--filet)}
.encart-instances li:last-child{border-bottom:0}
.encart-instances a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;text-decoration:none;color:var(--texte-fort);font-weight:600;font-size:.95rem}
.encart-instances a:hover{color:var(--rouge)}
.encart-instances a::after{content:"→";color:var(--rouge);font-weight:400}

/* ------------------------------------------------------------
   Chiffres
   ------------------------------------------------------------ */
.chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--filet);border:1px solid var(--filet)}
.chiffres > div{background:var(--blanc);padding:1.5rem 1.3rem;text-align:center}
.chiffres .valeur{display:block;font-size:clamp(1.7rem,3.6vw,2.4rem);font-weight:700;color:var(--rouge);line-height:1.05;letter-spacing:-.02em}
.chiffres .libelle{display:block;font-size:.88rem;color:var(--texte-doux);margin-top:.5rem}
.section--doux .chiffres > div{background:var(--blanc)}

/* ------------------------------------------------------------
   Cartes
   ------------------------------------------------------------ */
.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.3rem;margin:2rem 0}
.carte{background:var(--blanc);border:1px solid var(--filet);padding:1.5rem;display:flex;flex-direction:column}
.carte--accent{border-top:3px solid var(--rouge)}
.carte h3{margin-top:0;font-size:1.1rem}
.carte p:last-of-type{margin-bottom:1.1rem}
.carte__lien{margin-top:auto;font-weight:600;text-decoration:none;font-size:.94rem}
.carte__lien::after{content:" →"}
.carte__lien:hover{text-decoration:underline}

/* ------------------------------------------------------------
   Listes de points forts
   ------------------------------------------------------------ */
.points{list-style:none;padding:0;margin:1.6rem 0}
.points li{position:relative;padding-left:1.9rem;margin-bottom:.8rem}
.points li::before{
  content:"";position:absolute;left:0;top:.55em;
  width:.65rem;height:.65rem;background:var(--rouge);
}
.etapes{list-style:none;counter-reset:etape;padding:0;margin:1.8rem 0}
.etapes li{counter-increment:etape;position:relative;padding:1rem 0 1rem 3.4rem;border-top:1px solid var(--filet)}
.etapes li:last-child{border-bottom:1px solid var(--filet)}
.etapes li::before{
  content:counter(etape);position:absolute;left:0;top:1rem;
  width:2.2rem;height:2.2rem;line-height:2.2rem;text-align:center;
  background:var(--rouge-clair);color:var(--rouge-fonce);font-weight:700;font-size:.95rem;
}
.etapes b{display:block;color:var(--texte-fort);margin-bottom:.15rem}

/* ------------------------------------------------------------
   Tableaux
   ------------------------------------------------------------ */
.tableau-defilant{overflow-x:auto;margin:1.8rem 0;border:1px solid var(--filet)}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:.94rem;background:var(--blanc)}
caption{text-align:left;padding:.9rem 1rem;font-weight:600;color:var(--texte-fort);border-bottom:1px solid var(--filet)}
th{text-align:left;background:var(--gris-100);color:var(--texte-fort);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;padding:.75rem 1rem;border-bottom:1px solid var(--gris-300)}
td{padding:.75rem 1rem;border-bottom:1px solid var(--filet);vertical-align:top}
tbody tr:last-child td{border-bottom:0}

/* ------------------------------------------------------------
   Encadrés
   ------------------------------------------------------------ */
.encadre{background:var(--rouge-clair);border:1px solid var(--rouge-bord);border-left:3px solid var(--rouge);padding:1.2rem 1.4rem;margin:1.8rem 0}
.encadre h3{margin-top:0}
.encadre p:last-child{margin-bottom:0}
.encadre--neutre{background:var(--fond-doux);border-color:var(--filet);border-left-color:var(--gris-500)}

/* ------------------------------------------------------------
   FAQ
   ------------------------------------------------------------ */
.faq{margin:2rem 0;border-top:1px solid var(--filet)}
.faq details{border-bottom:1px solid var(--filet)}
.faq summary{
  padding:1.1rem 2.2rem 1.1rem 0;font-weight:600;color:var(--texte-fort);
  cursor:pointer;list-style:none;position:relative;font-size:1.02rem;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:.4rem;top:1.45rem;
  width:.6rem;height:.6rem;border-right:2px solid var(--rouge);border-bottom:2px solid var(--rouge);
  transform:rotate(45deg);transition:transform .15s ease;
}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq .reponse{padding:0 0 1.2rem;max-width:70ch}
.faq .reponse p:last-child{margin-bottom:0}

/* ------------------------------------------------------------
   Reconnaissance médiatique
   ------------------------------------------------------------ */
.medias-bandeau{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.9rem 2.4rem}
.medias-bandeau__intro{
  font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--texte-doux);margin:0;
}
.medias-bandeau a{
  font-family:var(--serif);font-size:1.18rem;font-weight:700;color:var(--texte-fort);
  text-decoration:none;border-bottom:2px solid transparent;padding-bottom:.1rem;
}
.medias-bandeau a:hover{color:var(--rouge-fonce);border-bottom-color:var(--rouge)}

.medias-liste{list-style:none;margin:1.8rem 0;padding:0;border-top:1px solid var(--filet)}
.medias-liste li{margin:0;border-bottom:1px solid var(--filet)}
.medias-liste a{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem 1.2rem;
  padding:1.1rem .2rem;text-decoration:none;color:var(--texte);
}
.medias-liste a:hover{background:var(--fond-doux)}
.medias-liste .media{
  flex:0 0 11rem;font-family:var(--serif);font-size:1.05rem;font-weight:700;color:var(--rouge-fonce);
}
.medias-liste .titre{flex:1 1 20rem;color:var(--texte-fort);font-weight:600}
.medias-liste a:hover .titre{text-decoration:underline;text-underline-offset:3px}
.medias-liste .date{flex:0 0 auto;font-size:.86rem;color:var(--texte-doux)}
.medias-liste .date::after{content:" ↗";color:var(--rouge)}
@media (max-width:620px){.medias-liste .media{flex:1 1 100%}}

/* ------------------------------------------------------------
   Références
   ------------------------------------------------------------ */
.references{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--filet);border:1px solid var(--filet);margin:2rem 0}
.references div{background:var(--blanc);padding:1.6rem 1rem;text-align:center;font-weight:600;color:var(--texte-fort);font-size:.95rem;display:flex;align-items:center;justify-content:center;min-height:96px}

.temoignage{background:var(--blanc);border:1px solid var(--filet);border-top:3px solid var(--rouge);padding:1.6rem}
.temoignage blockquote{margin:0 0 1rem;padding:0;border:0;font-size:1.06rem}
.temoignage cite{font-style:normal;font-size:.88rem;color:var(--texte-doux)}

/* ------------------------------------------------------------
   Formulaire
   ------------------------------------------------------------ */
.formulaire{background:var(--blanc);border:1px solid var(--filet);padding:clamp(1.3rem,3vw,2rem)}
.champ{margin-bottom:1.3rem}
.champ label{display:block;font-weight:600;color:var(--texte-fort);margin-bottom:.35rem;font-size:.95rem}
.champ .aide{display:block;font-size:.85rem;color:var(--texte-doux);margin-bottom:.4rem}
.champ input,.champ select,.champ textarea{
  width:100%;font:inherit;font-size:.98rem;color:var(--texte);
  padding:.7rem .85rem;border:1px solid var(--gris-300);border-radius:var(--rayon);background:var(--blanc);
}
.champ input:focus,.champ select:focus,.champ textarea:focus{border-color:var(--rouge);outline:2px solid var(--rouge-bord);outline-offset:0}
.champ textarea{min-height:130px;resize:vertical}
.champ--double{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.obligatoire{color:var(--rouge);font-weight:700}
.champ-piege{position:absolute;left:-9999px}
.message{padding:1rem 1.2rem;margin-bottom:1.6rem;border:1px solid;border-radius:var(--rayon)}
.message--succes{background:#EDF6EE;border-color:#B7D9BC;color:#1E5128}
.message--erreur{background:var(--rouge-clair);border-color:var(--rouge-bord);color:var(--rouge-fonce)}

/* ------------------------------------------------------------
   Grille deux colonnes
   ------------------------------------------------------------ */
.duo{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(1.8rem,4vw,3.4rem);align-items:start}
.aside{background:var(--fond-doux);border:1px solid var(--filet);padding:1.4rem}
.aside h2,.aside h3{margin-top:0;font-size:1.05rem}
.aside ul{padding-left:1.1rem}
.aside li{font-size:.94rem}

/* Bloc coordonnées — hérite de la couleur du contexte (clair ou sombre) */
.coordonnees{font-style:normal;display:flex;flex-direction:column;gap:.3rem;margin:1.1rem 0 .8rem}
.coordonnees__ligne{color:var(--texte)}
a.coordonnees__ligne{color:var(--rouge-fonce)}
.pied .coordonnees__ligne{color:var(--gris-300)}
.pied a.coordonnees__ligne{color:var(--gris-300)}
.pied a.coordonnees__ligne:hover{color:#fff}

/* ------------------------------------------------------------
   Bandeau devis (pied de page)
   ------------------------------------------------------------ */
.bandeau-devis{background:var(--rouge);color:#fff}
.bandeau-devis__interieur{display:flex;flex-wrap:wrap;gap:1.6rem;align-items:center;justify-content:space-between;padding-top:2.4rem;padding-bottom:2.4rem}
.bandeau-devis__titre{color:#fff;margin:0 0 .3em;font-size:clamp(1.3rem,2.6vw,1.75rem)}
.bandeau-devis__texte{margin:0;max-width:58ch;color:#FFFFFF}
.bandeau-devis__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:0}
.bandeau-devis .bouton{background:#fff;color:var(--rouge-fonce);border-color:#fff}
.bandeau-devis .bouton:hover{background:var(--gris-100);color:var(--rouge-fonce);border-color:var(--gris-100)}
.bandeau-devis .bouton--secondaire{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.bandeau-devis .bouton--secondaire:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}

/* ------------------------------------------------------------
   Pied de page
   ------------------------------------------------------------ */
.pied{background:var(--gris-900);color:var(--gris-300);font-size:.92rem}
.pied__grille{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.2rem;padding-top:3rem;padding-bottom:2.4rem}
.pied__logo{height:52px;width:auto;margin-bottom:1rem}
.pied__baseline{color:var(--gris-300);max-width:34ch}
.pied__titre{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin:0 0 .9rem}
.pied__bloc + .pied__bloc .pied__titre:not(:first-child){margin-top:1.8rem}
.pied__liste{list-style:none;margin:0 0 0;padding:0}
.pied__liste li{margin-bottom:.5rem}
.pied a{color:var(--gris-300);text-decoration:none}
.pied a:hover{color:#fff;text-decoration:underline}
.pied__horaires{color:var(--gris-500);font-size:.86rem;margin:0}
.pied__bas{border-top:1px solid var(--gris-800);padding:1.1rem 0;font-size:.85rem;color:var(--gris-500)}
.pied__bas-interieur{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}
.pied__bas p{margin:0}
.pied__legal{display:flex;flex-wrap:wrap;gap:1.2rem;list-style:none;margin:0;padding:0}
.pied__legal li{margin:0}

/* ------------------------------------------------------------
   Adaptatif
   ------------------------------------------------------------ */
@media (max-width:1080px){
  .nav__lien{font-size:.88rem;padding:.5rem .45rem}
}
@media (max-width:960px){
  .heros__grille{grid-template-columns:1fr}
  .duo{grid-template-columns:1fr}
  .pied__grille{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .burger{display:inline-flex}
  .nav{
    display:none;position:absolute;left:0;right:0;top:100%;
    background:var(--blanc);border-bottom:1px solid var(--filet);box-shadow:var(--ombre);
    max-height:calc(100vh - 74px);overflow-y:auto;
  }
  .nav.est-ouvert{display:block}
  .entete__interieur{position:relative;flex-wrap:wrap}
  .nav__liste{flex-direction:column;align-items:stretch;gap:0;padding:.6rem var(--gouttiere) 1.2rem}
  .nav__item{border-bottom:1px solid var(--filet)}
  .nav__lien{padding:.85rem .2rem;font-size:1rem}
  .nav__bascule{right:.2rem;padding:.7rem}
  .sousmenu{position:static;display:none;border:0;border-left:2px solid var(--rouge-bord);box-shadow:none;margin:0 0 .8rem .4rem;padding:0 0 0 .6rem}
  .nav__item--deroulant:hover .sousmenu{display:none}
  .sousmenu.est-ouvert{display:block}
  .nav__item--action{border-bottom:0;margin:1rem 0 0}
  .nav__item--action .bouton{display:block;text-align:center;padding:.85rem}
}
@media (max-width:620px){
  body{font-size:16px}
  .champ--double{grid-template-columns:1fr}
  .pied__grille{grid-template-columns:1fr}
  .bandeau-devis__interieur{flex-direction:column;align-items:flex-start}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

@media print{
  .entete,.nav,.bandeau-devis,.burger,.filariane{display:none}
  body{font-size:12pt;color:#000}
  a{color:#000;text-decoration:underline}
}
