
@font-face{font-family:'Inter';src:url('/assets/fonts/inter.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:block}

/* Jetons repris de la grammaire cardosonettoyages, teinte de marque Vianin (vert du logo). */
:root{
  --blanc:#ffffff;
  --wash:#f4f8f3; --wash-2:#e9f1e7;
  --ligne:#dbe6d8; --ligne-forte:#c1d4bd;
  --encre:#102014; --encre-2:#47604c; --encre-3:#6f8874;
  --vert:#237c35; --vert-fonce:#1a5f28; --vert-nuit:#0d3a18; --vert-pale:#e6f2e7;
  --wa:#25d366; --wa-fonce:#1da851;
  --ombre-s:0 1px 2px rgba(13,34,18,.06), 0 2px 8px rgba(13,34,18,.05);
  --ombre-m:0 2px 6px rgba(13,34,18,.07), 0 12px 32px rgba(13,34,18,.09);
  --ombre-l:0 8px 24px rgba(13,34,18,.10), 0 30px 64px rgba(13,34,18,.12);
  --rayon:14px; --rayon-s:9px;
  --max:1220px; --gouttiere:clamp(20px,5vw,48px);
  --h-entete:66px;
}
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0; background:var(--blanc); color:var(--encre);
  font-family:'Inter',"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  font-size:16.5px; line-height:1.62; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{margin:0; line-height:1.12; letter-spacing:-.022em; font-weight:750; text-wrap:balance}
h1{font-size:clamp(2.1rem,1.35rem + 3.1vw,3.9rem); letter-spacing:-.032em}
h2{font-size:clamp(1.62rem,1.15rem + 1.9vw,2.6rem); letter-spacing:-.028em}
h3{font-size:clamp(1.12rem,1rem + .48vw,1.34rem); letter-spacing:-.016em; font-weight:700}
p{margin:0}
img{max-width:100%; height:auto; display:block}
a{color:var(--vert-fonce); text-underline-offset:.18em; text-decoration-thickness:.08em}
:focus-visible{outline:2.5px solid var(--vert); outline-offset:3px; border-radius:4px}
.enveloppe{width:100%; max-width:var(--max); margin-inline:auto; padding-inline:var(--gouttiere)}
.mt-s{margin-top:10px} .mt-m{margin-top:22px}
.texte-petit{font-size:.92rem; color:var(--encre-2)}

.oeil{
  display:inline-flex; align-items:center; gap:9px;
  font-size:.73rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase;
  color:var(--vert-fonce); margin-bottom:15px;
}
.oeil::before{content:''; width:26px; height:2px; background:var(--vert-fonce); border-radius:2px}

/* ── Boutons ──────────────────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:13px 22px; border-radius:10px; border:1.5px solid transparent;
  font-size:.95rem; font-weight:700; text-decoration:none; cursor:pointer;
  font-family:inherit; white-space:nowrap;
  transition:background .17s, border-color .17s, color .17s, transform .1s, box-shadow .17s;
}
.btn:hover{transform:translateY(-1px)}
.btn svg{flex-shrink:0}
.btn-l{padding:15px 26px; font-size:1rem}
.btn-primaire{background:var(--vert-nuit); color:#fff; box-shadow:var(--ombre-s)}
.btn-primaire:hover{background:#0a2c12}
.btn-vert{background:var(--vert); color:#fff; box-shadow:var(--ombre-s)}
.btn-vert:hover{background:var(--vert-fonce)}
.btn-clair{background:rgba(255,255,255,.94); color:var(--vert-nuit)}
.btn-clair:hover{background:#fff}
.btn-contour{background:transparent; color:var(--vert-fonce); border-color:var(--ligne-forte)}
.btn-contour:hover{border-color:var(--vert); background:var(--vert-pale)}
.btn-wa{background:var(--wa-fonce); color:#fff; box-shadow:var(--ombre-s)}
.btn-wa:hover{background:#17914a}

/* ── En-tête ──────────────────────────────────────────────── */
.entete .enveloppe{display:flex; align-items:center; gap:clamp(12px,2.2vw,28px); padding-block:12px}
.marque{display:flex; align-items:center; gap:11px; text-decoration:none; color:inherit; margin-right:auto}
.marque img{width:36px}
.marque .nm{display:block; font-weight:750; font-size:1rem; letter-spacing:-.018em; line-height:1.2}
.marque .sb{display:block; font-size:.79rem; color:var(--encre-2); line-height:1.3}
.menu{display:flex; gap:clamp(10px,1.5vw,22px)}
.menu a{font-size:.94rem; font-weight:600; color:var(--encre-2); text-decoration:none; padding:11px 2px; border-bottom:2px solid transparent; white-space:nowrap}
.menu a:hover{color:var(--encre)}
.menu a.on{color:var(--vert-fonce); border-bottom-color:var(--vert)}
.hamb{display:none; background:none; border:1.5px solid var(--ligne-forte); border-radius:9px; width:42px; height:40px; cursor:pointer; padding:0}
.hamb span{display:block; width:18px; height:2px; background:var(--encre); margin:3.5px auto; border-radius:2px}
@media (max-width:1040px){
  .menu{
    display:none; position:absolute; top:100%; left:0; right:0; background:#fff;
    border-bottom:1px solid var(--ligne); flex-direction:column; gap:0; padding:6px 0 12px; box-shadow:var(--ombre-m);
  }
  .menu.open{display:flex}
  .menu a{padding:12px var(--gouttiere); border-bottom:none; font-size:1.03rem}
  .menu a.on{border-left:3px solid var(--vert)}
  .hamb{display:block}
  .entete .enveloppe{position:relative}
}
@media (max-width:600px){ .entete .btn{display:none} .marque .sb{display:none} }

/* ── Hero ─────────────────────────────────────────────────── */
.hero{position:relative; background:var(--vert-nuit); color:#fff; overflow:hidden}
.hero-media{position:absolute; inset:0}
.hero-media img{width:100%; height:100%; object-fit:cover; object-position:center 40%; opacity:.3}
.hero-media::after{content:''; position:absolute; inset:0; background:linear-gradient(105deg,rgba(13,58,24,.96) 0%,rgba(13,58,24,.82) 52%,rgba(13,58,24,.55) 100%)}
.hero .enveloppe{position:relative; z-index:2; padding-block:clamp(46px,6vw,86px)}
.hero-texte{max-width:min(48ch,64%)}
@media (max-width:1100px){ .hero-texte{max-width:100%} }
.hero h1{color:#fff}
.hero .oeil{color:#a7dcb2}
.hero .oeil::before{background:#a7dcb2}
.hero-chapo{margin-top:20px; font-size:clamp(1.04rem,.95rem + .45vw,1.24rem); color:#d5e9d8; max-width:50ch; line-height:1.6}
.hero-actions{display:flex; flex-wrap:wrap; gap:11px; margin-top:32px}
.hero-chiffres{position:relative; z-index:2; border-top:1px solid rgba(255,255,255,.16)}
.hero-chiffres .grille{padding-block:24px; align-items:start}
.chiffre .v{font-size:clamp(1.24rem,1.05rem + .6vw,1.62rem); min-height:2.2em; display:flex; align-items:flex-end; font-weight:750; letter-spacing:-.03em; color:#fff; line-height:1.1}
.chiffre .k{font-size:.87rem; color:#c2ddc7; margin-top:4px; line-height:1.45}

/* ── Sections ─────────────────────────────────────────────── */
.section{padding-block:clamp(46px,5.4vw,76px)}
.section-wash{background:var(--wash)}
.titre-section{max-width:64ch; margin-bottom:clamp(24px,2.6vw,36px)}
.titre-section p{color:var(--encre-2); margin-top:12px}
.grille{display:grid; gap:clamp(16px,2vw,24px)}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){ .g-3,.g-4{grid-template-columns:repeat(2,1fr)} }
@media (max-width:620px){ .g-2,.g-3,.g-4{grid-template-columns:1fr} }

.duo{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,3.4vw,52px); align-items:center}
.duo-inverse .duo-media{order:-1}
.duo-haut{align-items:start}
@media (max-width:900px){ .duo{grid-template-columns:1fr} .duo-inverse .duo-media{order:0} }
.duo-texte p{color:var(--encre-2)}
.duo-texte p + p{margin-top:14px}
.duo-texte b{color:var(--encre)}

.carton{background:#fff; border:1px solid var(--ligne); border-radius:var(--rayon); padding:clamp(20px,2.4vw,28px); box-shadow:var(--ombre-s)}
.carton .vign{border-radius:var(--rayon-s); overflow:hidden; margin-bottom:16px; background:var(--wash)}
.carton .vign img{width:100%; display:block}
.carton h3{margin-bottom:8px}
.carton p{color:var(--encre-2); font-size:.97rem}
.carte-num{
  display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:10px; margin-bottom:15px;
  background:var(--vert-pale); color:var(--vert-nuit);
  font-weight:800; font-size:.95rem; font-variant-numeric:tabular-nums;
}
.encart{background:var(--vert-pale); border-left:3px solid var(--vert); border-radius:var(--rayon-s); padding:16px 18px}
.encart p{color:var(--encre-2)}

/* ── Rachis, intégré dans un carton ───────────────────────── */
.rachis-bloc{
  display:grid;
  grid-template-columns:clamp(92px,13vw,152px) minmax(0,1fr);
  gap:clamp(14px,3vw,48px); align-items:start;
}
/* Colonne figée : elle occupe toute la hauteur utile et centre son contenu,
   pour que le rachis reste au milieu de l'écran au lieu de coller en haut. */
.rachis-colonne{
  position:sticky; top:var(--h-entete);
  height:calc(100svh - var(--h-entete));
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  /* la jauge et le libellé pèsent sous le schéma : on remonte d'autant
     pour que le RACHIS lui-même soit centré, pas la pile entière */
  padding-bottom:74px;
}
#spine{
  /* hauteur bornée par l'écran, largeur déduite, jamais plus large que la colonne */
  height:min(calc(100svh - var(--h-entete) - 132px), 450px);
  width:auto; max-width:100%;
  display:block; overflow:visible; flex:0 1 auto; min-height:0;
}
/* Remplissages du rachis : sans ces règles le SVG retombe sur le noir par défaut. */
#spine .v{fill:#cbd9c8; transition:fill .2s ease}
#spine .hit{fill:transparent}
#spine g.r{cursor:pointer}
#spine g.r.on .v{fill:var(--vert)}
#spine g.vt:hover .v, #spine g.vt.hot .v{fill:var(--vert-nuit)}
#spine .tick{stroke:var(--ligne-forte); stroke-width:.7}
#spine .lv{font-size:7.4px; fill:var(--encre-3); font-family:'Inter',sans-serif; font-weight:600}
#spine g.vt.hot .lv{fill:var(--vert-nuit); font-weight:800}
.jauge{
  width:100%; max-width:190px; height:4px; border-radius:3px; background:var(--ligne);
  overflow:hidden; flex-shrink:0;
}
.jauge i{display:block; height:100%; width:25%; background:var(--vert); border-radius:3px; transition:transform .45s cubic-bezier(.3,.8,.3,1)}
.lecture{
  text-align:center; flex-shrink:0; min-height:3.4em;
}
.rachis-flux{display:grid}
.etape{
  min-height:min(56svh,400px);
  display:flex; flex-direction:column; justify-content:center;
  padding-block:clamp(18px,3vw,34px);
  border-top:1px solid var(--ligne);
  opacity:.4; transition:opacity .4s ease;
}
.etape:first-child{border-top:none}
.etape.on{opacity:1}
.etape .n{font-size:.76rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--vert-fonce); margin-bottom:9px}
.etape h3{font-size:clamp(1.35rem,1.1rem + 1vw,2rem); letter-spacing:-.025em; margin-bottom:12px}
.etape p{color:var(--encre-2); max-width:46ch}
.etape .motifs{display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; padding:0; list-style:none}
.etape .motifs li{
  font-size:.9rem; background:var(--vert-pale); color:var(--vert-nuit);
  border:1px solid #cfe3d1; border-radius:100px; padding:5px 12px;
}
@media (prefers-reduced-motion:reduce){ .etape{opacity:1; transition:none} }
@media (max-width:620px){
  .rachis-bloc{gap:12px; grid-template-columns:84px minmax(0,1fr)}
  .etape{min-height:min(52svh,360px)}
  #spine .lv{display:none}
  #spine .tick{display:none}
}
.lecture .niv{font-size:.72rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--vert-fonce)}
.lecture h3{margin:4px 0 0; font-size:.98rem}
.lecture p{display:none}
.lecture .astuce{display:none}

.regions{display:grid; gap:10px}
.regions{display:grid; gap:2px}
.region{
  width:100%; text-align:left; font-family:inherit; cursor:pointer;
  background:transparent; border:1.5px solid transparent; border-radius:var(--rayon-s);
  padding:11px 13px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 14px; align-items:baseline;
  transition:border-color .16s, background .16s;
}
.region + .region{border-top:1px solid var(--ligne)}
.region:hover{background:var(--wash)}
.region.on, .region.on + .region{border-top-color:transparent}
.region.on{border-color:var(--vert); background:var(--vert-pale)}
.region .h{font-weight:750; font-size:1.02rem; letter-spacing:-.015em; color:var(--encre)}
.region .n{font-size:.83rem; color:var(--encre-3); font-variant-numeric:tabular-nums}
.region .m{grid-column:1/-1; font-size:.93rem; color:var(--encre-2); line-height:1.5}

/* ── Listes ───────────────────────────────────────────────── */
.liste{display:grid}
.liste div{display:grid; grid-template-columns:auto minmax(0,1fr); gap:18px; padding:11px 0; border-bottom:1px solid var(--ligne); align-items:baseline}
.liste .y{font-weight:750; white-space:nowrap; font-variant-numeric:tabular-nums; color:var(--vert-fonce)}
.liste .e{color:var(--encre-2)}
.media-carton{border-radius:var(--rayon); overflow:hidden; box-shadow:var(--ombre-m); border:1px solid var(--ligne); background:#fff}
.media-carton img{width:100%}
.media-carton figcaption{font-size:.8rem; color:var(--encre-3); padding:10px 14px}
figure{margin:0}

/* ── Contact ──────────────────────────────────────────────── */
.form-carte, .coord-carte{
  background:#fff; border:1px solid var(--ligne); border-radius:var(--rayon);
  padding:clamp(20px,2.6vw,30px); box-shadow:var(--ombre-m);
}
/* Deux colonnes de même facture, calées en haut : plus de vide sous la gauche. */
.ct-duo{
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(18px,2.4vw,30px);
  align-items:stretch;      /* les deux cartes font la même hauteur, quel que soit le contenu */
}
.coord-carte{display:flex; flex-direction:column}
.coord-carte .sep{margin-top:auto}   /* le bloc d'actions se cale en bas de la carte */
@media (max-width:900px){ .ct-duo{grid-template-columns:1fr} }
.coord-carte .coord{gap:16px}
.coord-carte .sep{height:1px; background:var(--ligne); margin:20px 0}
.champs{display:grid; gap:14px; margin-top:20px}
.champ{display:grid; gap:6px}
.champ label{font-size:.87rem; font-weight:600; color:var(--encre-2)}
.champ input,.champ select,.champ textarea{
  font-family:inherit; font-size:.98rem; color:var(--encre); background:var(--wash);
  border:1.5px solid var(--ligne); border-radius:var(--rayon-s); padding:12px 13px; width:100%;
}
.champ textarea{min-height:112px; resize:vertical}
.champ input:focus,.champ select:focus,.champ textarea:focus{border-color:var(--vert); outline:none; background:#fff}
.d2{display:grid; grid-template-columns:1fr 1fr; gap:14px}
@media (max-width:560px){ .d2{grid-template-columns:1fr} }
.fmsg{font-size:.9rem; color:var(--vert-fonce); min-height:1.3em; margin-top:12px}
.coord{display:grid; gap:14px}
.coord .l{display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:start}
.coord .ic{width:36px; height:36px; border-radius:10px; background:var(--vert-pale); color:var(--vert-nuit); display:flex; align-items:center; justify-content:center; flex-shrink:0}
.coord .t{font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--encre-3)}
.coord .v{font-weight:700; font-size:1.06rem; letter-spacing:-.015em}
.coord .v a{text-decoration:none; color:inherit}
.coord .v.manque{font-weight:500; font-size:.97rem; color:var(--encre-3); font-style:italic}

/* ── Bande carte (structure cardoso) ──────────────────────── */
.carte-bande{position:relative; overflow:hidden; background:var(--wash-2)}
.carte-vue{
  position:absolute; inset:0;
  background-repeat:no-repeat; background-color:#e9ede6;
  cursor:grab; touch-action:none;
}
.carte-vue.drag{cursor:grabbing}
.carte-bande .enveloppe{
  position:relative; z-index:2; pointer-events:none;
  padding-block:clamp(38px,5vw,72px); min-height:clamp(340px,38vw,500px); display:flex; align-items:center;
}
.carte-carton{
  pointer-events:auto;
  background:rgba(255,255,255,.96); border:1px solid var(--ligne); border-radius:var(--rayon);
  padding:clamp(20px,2.6vw,30px); max-width:390px; box-shadow:var(--ombre-l);
}
.carte-carton p{color:var(--encre-2)}
@media (max-width:620px){ .carte-carton{max-width:100%} }
/* Repère : toujours au centre exact de la vue, la carte se décale autour. */
.carte-pin{
  position:absolute; left:0; top:0; z-index:2; margin:-13px 0 0 -13px;
  width:26px; height:26px; pointer-events:none;
}
.carte-pin i{
  position:absolute; inset:0; border-radius:50%;
  background:var(--vert); border:3px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,.35);
}
@media (prefers-reduced-motion:no-preference){
  .carte-pin::after{
    content:''; position:absolute; left:50%; top:50%; width:26px; height:26px; margin:-13px 0 0 -13px;
    border-radius:50%; background:var(--vert); animation:ping 2.6s ease-out infinite;
  }
}
@keyframes ping{0%{transform:scale(1);opacity:.5} 70%{transform:scale(3.4);opacity:0} 100%{transform:scale(3.4);opacity:0}}
.carte-zoom{
  position:absolute; right:clamp(14px,2vw,26px); bottom:clamp(30px,3vw,40px); z-index:3;
  display:flex; flex-direction:column; gap:1px; border-radius:10px; overflow:hidden; box-shadow:var(--ombre-m);
}
.carte-zoom button{
  width:42px; height:42px; border:none; background:#fff; color:var(--encre); cursor:pointer;
  font-family:inherit; font-size:1.35rem; font-weight:700; line-height:1; display:flex; align-items:center; justify-content:center;
}
/* Mobile : on empile au lieu de superposer. Le plan en haut, l'adresse dessous,
   pour que ni l'un ni l'autre ne soit écrasé. */
@media (max-width:760px){
  .carte-bande{--h-carte:270px; display:block; background:var(--blanc)}
  .carte-vue{position:relative; inset:auto; width:100%; height:var(--h-carte)}
  .carte-bande .enveloppe{
    position:relative; z-index:2; min-height:0; display:block;
    padding-block:20px 26px; pointer-events:auto;
  }
  .carte-carton{
    max-width:100%; background:transparent; border:none; box-shadow:none; padding:0;
  }
  .carte-carton h2{font-size:1.25rem}
  .carte-zoom{top:calc(var(--h-carte) - 42px); bottom:auto; right:10px; border-radius:8px}
  .carte-zoom button{width:32px; height:32px; font-size:1.05rem}
  .carte-credit{top:calc(var(--h-carte) - 20px); bottom:auto; left:10px}
  .carte-bande .btn{width:100%}
}
.carte-zoom button:hover:not(:disabled){background:var(--vert-pale); color:var(--vert-nuit)}
.carte-zoom button:disabled{color:#b9c2b6; cursor:default}
.carte-credit{
  position:absolute; left:8px; bottom:5px; z-index:3; font-size:.66rem; color:var(--encre-2);
  background:rgba(255,255,255,.78); padding:2px 7px; border-radius:4px;
}

/* ── Références ───────────────────────────────────────────── */
.ref{display:grid; grid-template-columns:132px minmax(0,1fr); gap:18px; padding:14px 0; border-bottom:1px solid var(--ligne); align-items:baseline}
.ref .tag{font-size:.73rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--vert-fonce)}
.ref .c{color:var(--encre-2); font-size:.95rem}
.ref .c i{color:var(--encre-3)}
@media (max-width:620px){ .ref{grid-template-columns:1fr; gap:5px} }

/* ── Pages / pied ─────────────────────────────────────────── */
.page{display:none}
.page.on{display:block}
.pied{background:var(--vert-nuit); color:#c9dfcd; padding-block:36px 42px; font-size:.9rem}
.pied a{color:#fff; text-decoration:none}
.pied .liens{display:flex; flex-wrap:wrap; gap:2px 22px; margin-bottom:14px; font-weight:600}
.pied .liens a{display:inline-block; padding:8px 0}
.pied .avis{font-size:.82rem; color:#93b79a; line-height:1.6; max-width:92ch; margin-top:14px; border-top:1px solid rgba(255,255,255,.14); padding-top:14px}

.evitement{position:absolute;left:12px;top:-100px;z-index:200;background:var(--vert-nuit);color:#fff;padding:12px 20px;border-radius:0 0 8px 8px;text-decoration:none}
.evitement:focus{top:0}
.page{display:block}

.langues{display:flex;gap:2px;align-items:center}
.langues a{font-size:.78rem;font-weight:700;letter-spacing:.03em;color:var(--encre-3);
  text-decoration:none;padding:6px 7px;border-radius:6px;line-height:1}
.langues a:hover{color:var(--encre);background:var(--wash)}
.langues a.on{color:#fff;background:var(--vert)}
@media (max-width:1040px){.langues{order:-1;margin-left:auto}}

/* Selecteur de langue : menu compact, meme facture que les boutons */
.lang{position:relative}
.lang-b{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:.86rem;
  font-weight:700;color:var(--encre-2);background:transparent;border:1.5px solid var(--ligne);
  border-radius:10px;padding:9px 11px;cursor:pointer;line-height:1;transition:border-color .16s,color .16s}
.lang-b:hover{border-color:var(--ligne-forte);color:var(--encre)}
.lang-b[aria-expanded="true"]{border-color:var(--vert);color:var(--vert-fonce)}
.lang-m{position:absolute;top:calc(100% + 8px);right:0;z-index:70;min-width:186px;
  background:#fff;border:1px solid var(--ligne);border-radius:var(--rayon);
  box-shadow:var(--ombre-m);padding:6px;display:grid;gap:1px}
.lang-m[hidden]{display:none}
.lang-m a{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;
  text-decoration:none;color:var(--encre-2);font-size:.94rem}
.lang-m a b{font-size:.72rem;letter-spacing:.06em;color:var(--encre-3);min-width:20px}
.lang-m a:hover{background:var(--wash);color:var(--encre)}
.lang-m a.on{background:var(--vert-pale);color:var(--vert-nuit);font-weight:700}
.lang-m a.on b{color:var(--vert)}
@media (max-width:1040px){.lang{order:-1;margin-left:auto}}

/* Bande de contact, au-dessus de l'en-tete : le numero toujours a portee */

/* Bande de contact : discrete et claire, pour ne pas concurrencer le hero sombre */
.bandeau{background:var(--wash);border-bottom:1px solid var(--ligne);color:var(--encre-2);font-size:.83rem}
.bandeau .enveloppe{display:flex;align-items:center;gap:8px 20px;padding-block:7px;flex-wrap:wrap}
.bandeau svg{flex-shrink:0;opacity:.6;vertical-align:-2px;margin-right:6px}
.b-adr{display:inline-flex;align-items:center}
.b-tel{margin-left:auto;display:inline-flex;align-items:center;color:var(--vert-fonce);
  text-decoration:none;font-weight:700}
.b-tel:hover{color:var(--vert-nuit)}
.b-tel .b-lib{margin-right:7px;font-weight:500;color:var(--encre-3)}
.entete{top:0}
/* le nom du cabinet ne doit jamais se couper */
.marque .nm,.marque .sb{white-space:nowrap}
@media (max-width:900px){
  .bandeau .enveloppe{justify-content:center;padding-block:6px}
  .b-adr{display:none}
  .b-tel{margin-left:0}
}
