*{margin:0;padding:0;box-sizing:border-box;}
    body{font-family:'Montserrat',sans-serif;background:#080808;color:#DEDAD1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;}
    .top-logo{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:1.75rem;text-decoration:none;}
    .top-logo img{height:34px;width:auto;}
    .top-logo span{font-family:'Cormorant Garamond',serif;font-size:.95rem;letter-spacing:.32em;text-transform:uppercase;color:#DEDAD1;}
    .breadcrumb{font-size:.75rem;color:#847A6B;margin-bottom:1.5rem;text-align:center;}
    .breadcrumb a{color:#847A6B;text-decoration:none;}
    .breadcrumb a:hover{color:#C9A84C;}
    .breadcrumb span{margin:0 8px;opacity:.5;}
    .card{background:#0E0E0E;border:1px solid #222222;border-radius:12px;padding:3rem 2.5rem;max-width:560px;width:100%;}
    .card-header{text-align:center;margin-bottom:2rem;}
    .gold{color:#C9A84C;}
    h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:2.1rem;margin-bottom:.5rem;}
    .dispo{display:inline-block;background:#1a1a1a;border-radius:6px;padding:.4rem 1rem;font-size:.8rem;color:#C9A84C;border:1px solid #333;margin-bottom:1.5rem;}
    .contact-links{display:flex;flex-direction:column;gap:.75rem;text-align:center;margin-bottom:2rem;}
    .tel{display:inline-block;font-size:1.4rem;font-weight:700;color:#C9A84C;text-decoration:none;border:2px solid #C9A84C;padding:.65rem 1.5rem;border-radius:8px;transition:all .2s;}
    .tel:hover{background:#C9A84C;color:#080808;}
    .email{color:#847A6B;font-size:.9rem;text-decoration:none;}
    .email:hover{color:#C9A84C;}
    .divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:#847A6B;font-size:.8rem;}
    .divider::before,.divider::after{content:'';flex:1;height:1px;background:#222222;}
    /* Formulaire */
    .form-row{display:flex;gap:1rem;}
    .form-row .form-group{flex:1;}
    .form-group{margin-bottom:1.25rem;}
    label{display:block;font-size:.8rem;color:#A39B8E;margin-bottom:.4rem;letter-spacing:.05em;text-transform:uppercase;}
    input,textarea,select{width:100%;background:#0d0d0d;border:1px solid #2a2a2a;border-radius:6px;color:#DEDAD1;font-family:'Montserrat',sans-serif;font-size:.9rem;padding:.75rem 1rem;transition:border-color .2s;outline:none;-webkit-appearance:none;appearance:none;}
    select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px;padding-right:2.75rem;}
    input:focus,textarea:focus,select:focus{border-color:#C9A84C;}
    textarea{min-height:110px;resize:vertical;}
    select option{background:#0E0E0E;}
    .btn-submit{width:100%;background:#C9A84C;color:#080808;font-family:'Montserrat',sans-serif;font-weight:700;font-size:1rem;border:none;border-radius:8px;padding:.9rem;cursor:pointer;margin-top:.5rem;transition:opacity .2s;}
    .btn-submit:hover{opacity:.85;}
    .form-note{font-size:.75rem;color:#847A6B;text-align:center;margin-top:1rem;}
    .form-success{display:none;padding:1rem;background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.4);color:#C9A84C;font-size:.82rem;text-align:center;margin-top:1rem;line-height:1.6;border-radius:6px;}
    .form-success.show{display:block;}
    .form-error{display:none;padding:.85rem;background:rgba(201,80,80,.08);border:1px solid rgba(201,80,80,.4);color:#D68C8C;font-size:.78rem;text-align:center;margin-top:1rem;line-height:1.5;border-radius:6px;}
    .form-error.show{display:block;}
    .back{display:block;text-align:center;margin-top:2rem;color:#847A6B;font-size:.82rem;text-decoration:none;}
    .back:hover{color:#C9A84C;}
    @media(max-width:480px){.form-row{flex-direction:column;gap:0;}}
    .ico{width:1em;height:1em;flex-shrink:0;display:inline-block;vertical-align:-.125em;}
    .tel{display:inline-flex;align-items:center;justify-content:center;gap:10px;}
    .dispo{display:inline-flex;align-items:center;gap:8px;}
    .dot-live{width:8px;height:8px;background:#C9A84C;border-radius:50%;flex-shrink:0;animation:dotpulse 1.6s ease-in-out infinite;}
    @keyframes dotpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.3)}}
  .skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:fixed;top:0;left:0;width:auto;height:auto;padding:12px 20px;background:#C9A84C;color:#080808;font-weight:700;z-index:99999;outline:none}

/* ── Classes utilitaires (remplacent les attributs style= ; CSP sans unsafe-inline).
   !important reproduit fidèlement la priorité d'un style inline : ces propriétés
   (typographie/espacement) ne sont visées par aucun !important existant. ── */
.u1{color:var(--or)!important}
.u2{font-size:1.3rem!important}
.u3{max-width:760px!important;margin-top:30px!important}
.u4{margin-top:-20px!important}
.u5{padding-top:0!important;padding-bottom:0!important;border-top:none!important}
.u6{font-size:.85rem!important;color:var(--texte-dim)!important;text-align:center!important;max-width:760px!important;margin:0 auto!important}
.u7{text-align:center!important;padding-bottom:80px!important}
.u8{color:var(--texte-dim)!important;margin:16px 0 36px!important;font-size:.95rem!important}
.u9{justify-content:center!important}
.u10{padding-top:0!important}
.u11{font-size:1.2rem!important}
.u12{max-width:680px!important}
.u13{border-top:1px solid rgba(201,168,76,.15)!important;background:rgba(201,168,76,.03)!important}
.u14{font-size:.92rem!important;line-height:1.8!important;color:var(--texte-dim)!important;max-width:720px!important;margin-top:16px!important}
.u15{list-style:none!important;padding:0!important}
.u16{color:var(--or)!important}
.u17{margin-top:12px!important;display:inline-flex!important}
.u18{text-align:center!important}
.u19{font-size:1rem!important;font-weight:500!important;color:var(--or)!important}
.u20{display:none!important}
.u21{border-top:1px solid rgba(201,168,76,.1)!important}
.u22{color:#C9A84C!important}
.u23{color:var(--texte)!important}
.u24{vertical-align:-0.02em!important;margin-left:0.06em!important}
.u25{width:100%!important}
.u26{text-align:center!important;margin:0 auto!important}
.u27{color:#1877F2!important}
.u28{color:#E1306C!important}
.u29{color:#fff!important}
.u30{color:#0A66C2!important}
.u31{max-width:760px!important;margin:0 auto!important}
.u32{color:var(--or)!important;text-decoration:none!important;font-weight:600!important}
.u33{border:none!important;width:100%!important;padding:18px!important;font-size:0.75rem!important;letter-spacing:.2em!important}
.u34{font-size:.75rem!important;line-height:1.7!important;color:var(--texte-dim)!important;margin-top:14px!important}
.u35{color:var(--or)!important;text-decoration:underline!important}
.u36{color:var(--texte-dim)!important;font-size:.9rem!important;line-height:2!important;padding-left:1.2rem!important}
.u37{margin-top:40px!important;font-size:.78rem!important;color:rgba(255,255,255,.3)!important}
.u38{color:#A39B8E!important;font-size:.88rem!important;margin-top:.5rem!important}
.u39{font-size:.75rem!important;line-height:1.7!important;color:#847A6B!important;margin-top:14px!important}

/* ── Blocs ajoutés : urgence, réassurance, zone, prestations, FAQ ───────────── */
.urgence-box{background:rgba(201,168,106,.08);border:1px solid rgba(201,168,106,.28);border-radius:10px;padding:16px 18px;margin:0 0 22px}
.urgence-txt{margin:0;font-size:.92rem;line-height:1.65}
.urgence-txt strong{color:var(--or)}
.c-h2{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:600;margin:38px 0 10px;letter-spacing:.01em}
.c-sub{margin:0 0 18px;font-size:.9rem;opacity:.8;line-height:1.7}
.opt{opacity:.55;font-weight:400;text-transform:none;letter-spacing:0}
.trust-list{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:9px}
.trust-list li{font-size:.9rem;line-height:1.6;padding-left:22px;position:relative}
.trust-list li::before{content:'✓';position:absolute;left:0;color:var(--or);font-weight:700}
.trust-list strong{color:var(--texte)}
.trust-list a{color:var(--or);text-decoration:underline;text-underline-offset:3px}
.zones-mini{list-style:none;padding:0;margin:0 0 8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px 14px}
.zones-mini a{display:block;padding:7px 10px;border:1px solid rgba(255,255,255,.09);border-radius:5px;text-decoration:none;color:inherit;font-size:.8rem;transition:border-color .25s,color .25s}
.zones-mini a:hover,.zones-mini a:focus-visible{border-color:var(--or);color:var(--or)}
.c-links{font-size:.9rem;line-height:2.1;margin:0}
.c-links a{color:var(--or);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .25s}
.c-links a:hover,.c-links a:focus-visible{border-bottom-color:var(--or)}
.c-faq{border-bottom:1px solid rgba(255,255,255,.08)}
.c-faq summary{cursor:pointer;padding:13px 0;list-style:none;display:flex;align-items:center;gap:10px}
.c-faq summary::-webkit-details-marker{display:none}
.c-faq summary::before{content:'+';color:var(--or);font-size:1.1rem;line-height:1;flex-shrink:0}
.c-faq[open] summary::before{content:'−'}
.c-faq summary h3{display:inline;margin:0;font-size:.92rem;font-weight:500;letter-spacing:.01em}
.c-faq p{margin:0 0 15px 20px;font-size:.88rem;line-height:1.75;opacity:.85}
@media (max-width:600px){.zones-mini{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))}.c-h2{font-size:1.35rem;margin-top:30px}}

/* ── Header cohérent avec le reste du site ─────────────────────────────────
   La page contact n'avait aucune barre : ni logo persistant, ni téléphone.
   Elle reprend désormais la même grammaire visuelle que les autres pages. */
.mini-nav{
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  gap:clamp(10px,2vw,24px);
  height:60px; padding:0 clamp(16px,4vw,40px);
  background:rgba(8,8,8,.96); border-bottom:1px solid rgba(255,255,255,.07);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.mini-logo{ display:flex; align-items:center; gap:10px; text-decoration:none; flex:0 1 auto; min-width:0 }
.mini-logo img{ height:30px; width:auto; object-fit:contain; flex-shrink:0 }
.mini-logo span{
  font-family:'Cormorant Garamond',serif; font-size:.95rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:#fff;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.mini-logo b{ color:#C9A84C; font-weight:700 }
.mini-cta{
  display:inline-flex; align-items:center; gap:8px; flex:0 0 auto;
  background:#C9A84C; color:#080808; text-decoration:none;
  font-family:'Montserrat',sans-serif; font-size:.75rem; font-weight:700;
  letter-spacing:.06em; padding:9px 16px; border-radius:999px;
  min-height:40px; transition:background .25s;
}
.mini-cta:hover,.mini-cta:focus-visible{ background:#DDB95A }
.mini-cta svg{ width:13px; height:13px; flex-shrink:0 }
body{ padding-top:60px }
.breadcrumb{ margin-top:1.5rem }
@media (max-width:400px){
  .mini-logo span{ font-size:.8rem; letter-spacing:.06em }
  .mini-cta{ padding:9px 13px }
  .mini-cta-txt{ font-size:.72rem }
}

/* La carte s'élargit : elle accueille désormais la réassurance, la zone
   d'intervention, les prestations et la FAQ, pas seulement le formulaire. */
.card{ max-width:680px }
@media (max-width:600px){ .card{ padding:2rem 1.25rem } }

/* ── 4. ACCESSIBILITÉ TACTILE ET LISIBILITÉ ────────────────────────────────
   Mesuré : les boutons d'appel du header et du pied de page tombaient entre
   19 et 36px de hauteur, sous le seuil confortable de 44px au doigt. Plusieurs
   libellés descendaient à 11,2px, sous le plancher de lisibilité de 12px.
   Aucun texte n'est masqué : uniquement des dimensions revues. */

/* Boutons d'appel : cible tactile confortable, partout. */
.nav-cta,.nav-call-m,.hero-call,.foot-call-link,.btn-gold,.btn-line,.btn-submit,.mini-cta{
  min-height:44px;
}
.nav-cta,.nav-call-m,.mini-cta{ padding-top:0; padding-bottom:0 }

/* Le lien e-mail du pied de page était sur une seule ligne de 18px. */
.foot-call-link,.email{ display:inline-flex; align-items:center; min-height:44px }

/* Plancher de lisibilité : aucun libellé sous 12px. */
.h1-brand{ font-size:clamp(.75rem,1.15vw,.86rem) }
.mini-cta-txt{ font-size:.78rem }
.eyebrow{ font-size:max(.72rem,0.75rem) }

/* Focus clavier visible et homogène (il reposait sur le style par défaut). */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--or,#C9A84C);
  outline-offset:3px;
  border-radius:4px;
}

/* Champs de formulaire : hauteur confortable au doigt. */
input,select,textarea{ min-height:46px; font-size:16px } /* 16px = pas de zoom auto iOS */
textarea{ min-height:120px }

/* ── 5. CIBLES TACTILES DES LISTES ET ICÔNES ───────────────────────────────
   Repéré au doigt sur mobile : les liens de listes (pied de page, grilles de
   communes, prestations associées) et les icônes sociales mesuraient 30 à 38px
   de haut. Le seuil confortable est de 44px. On agrandit la zone cliquable
   sans changer la taille du texte ni l'apparence. */

.foot-nav-list li a,
.mob-links a,
.other-svc a,
.other-services a,
.zone-links a,
.zones-grid a,
.zones-mini a,
.hub-cities-grid a,
.c-links a{
  display:inline-flex; align-items:center; min-height:44px;
}
.zones-grid a,.zones-mini a,.hub-cities-grid a{ width:100% }

.foot-soc,.nav-soc,.mob-soc{
  width:44px; height:44px;
}
.foot-soc svg,.nav-soc svg,.mob-soc svg{ width:15px; height:15px }

.nav-logo,.mini-logo,.foot-logo,.back{
  min-height:44px;
}
.back{ display:flex; align-items:center; justify-content:center }

/* Mentions légales sous les formulaires : corrigé à la source (.u34/.u39). */
.form-note{ font-size:.75rem; line-height:1.65 }

/* ── 9. HARMONISATION INTER-PAGES ──────────────────────────────────────────
   Les variables de la charte n'étaient pas déclarées sur cette page, et le
   header y mesurait 60px contre 68px partout ailleurs sur desktop. */
:root{
  --or:#C9A84C; --or-light:#DDB95A; --noir:#080808; --noir-2:#0E0E0E;
  --gris:#222222; --texte:#DEDAD1; --texte-soft:#B9B2A4; --texte-dim:#8F8577;
  --or-hi:#EAD188; --r-sm:8px; --r-pill:999px;
}
.mini-nav{ height:68px }
body{ padding-top:68px }
@media (max-width:920px){
  .mini-nav{ height:60px }
  body{ padding-top:60px }
}

/* ══════════════════════════════════════════════════════════════════════════
   LOT 5 — CORRECTIONS ISSUES DE L'AUDIT MOBILE DU 20/08/2026
   ══════════════════════════════════════════════════════════════════════════ */

/* ── I5. BARRE D'APPEL COLLANTE ────────────────────────────────────────────
   Relevé : /contact/ était la seule page du site sans barre d'appel fixe en
   bas d'écran. Le numéro restait accessible en haut de page, mais un visiteur
   qui a fait défiler jusqu'à la FAQ n'avait plus aucun moyen d'appeler sans
   remonter. Mêmes dimensions et même comportement que sur les autres pages,
   y compris la compensation de padding pour ne rien masquer en bas. */
.sticky-cta-bar{ display:none }
@media (max-width:920px){
  .sticky-cta-bar{
    display:flex; position:fixed; bottom:0; left:0; right:0; z-index:600;
    background:var(--or); color:var(--noir);
    padding:15px 24px; padding-bottom:calc(15px + env(safe-area-inset-bottom,0px));
    align-items:center; justify-content:center; gap:13px;
    text-decoration:none; font-family:'Montserrat',sans-serif; font-weight:700;
    font-size:.82rem; letter-spacing:.1em; text-transform:uppercase;
    box-shadow:0 -6px 28px rgba(201,168,76,.45);
    -webkit-tap-highlight-color:transparent; touch-action:manipulation;
  }
  .sticky-cta-bar svg{ width:17px; height:17px; flex:0 0 auto }
  body{ padding-bottom:calc(74px + env(safe-area-inset-bottom,0px)) }
}

/* ── I2. ESPACEMENT DES CIBLES TACTILES ────────────────────────────────────
   Questions de FAQ : même correction que sur le reste du site. */
.c-faq + .c-faq{ margin-top:8px }

/* Liens de la liste « Nos prestations » : ce sont des liens en pleine phrase,
   séparés par des points médians. Le LOT 1 leur avait imposé une hauteur de
   44px, ce qui collait les zones de frappe à 5px les unes des autres sans
   rien améliorer — les liens en ligne dans un texte sont explicitement
   exemptés du critère de taille de cible (WCAG 2.5.8). On leur rend un
   espacement de lecture, qui sépare réellement les zones de frappe. */
.c-links{ line-height:2.6 }
.c-links a{ display:inline; min-height:0; padding:5px 0 }

#main-content:focus{outline:none}


/* ══════════════════════════════════════════════════════════════════════════
   LOT 11 — impression
   Sans cette feuille, les blocs animés à l'apparition (.reveal) s'impriment
   vides : le navigateur n'a jamais déclenché leur affichage hors écran.
   ══════════════════════════════════════════════════════════════════════════ */
@media print{
  @page{ margin:16mm }
  nav, .mobile-menu, .burger, .sticky-cta-bar, .skip-link, .divider,
  .hero-bg, .hero-vline, .zc-scene, .zc-cmd, .zc-panneau, .nav-socials,
  .mob-socials, .foot-socials, .avis-grid::-webkit-scrollbar{ display:none !important }
  html, body{ background:#fff !important; color:#111 !important; padding:0 !important;
              margin:0 !important; font-size:11pt }
  *, *::before, *::after{ animation:none !important; transition:none !important;
                          box-shadow:none !important; text-shadow:none !important }
  .reveal{ opacity:1 !important; transform:none !important }
  h1, h2, h3, h4, .s-title, .ct-title, .zc-nom{ color:#111 !important; page-break-after:avoid }
  p, li, .s-sub, .ct-sub{ color:#222 !important }
  a{ color:#111 !important; text-decoration:underline }
  a[href^="http"]:not([href*="jddrenovation.com"])::after{
    content:" (" attr(href) ")"; font-size:8.5pt; color:#555; word-break:break-all }
  section, .section, #accueil{ padding:10pt 0 !important; min-height:0 !important;
                               background:#fff !important }
  .svc, .avis-card, .rea-item, .zc-res, .card, .conf-item{
    background:#fff !important; border:1px solid #ccc !important; page-break-inside:avoid }
  img, svg{ max-width:100% !important; page-break-inside:avoid }
  .zones-grid a{ border:0 !important }
}


/* ── LOT 12 — contrastes signalés par axe/Lighthouse ─────────────────── */
.breadcrumb span[aria-current="page"]{opacity:1}
.opt{opacity:1; color:var(--texte-dim)}


/* ══════════════════════════════════════════════════════════════════════════
   LOT 15 — le bouton d'envoi et l'appel d'en-tête rejoignent le système
   .btn-submit était en rayon 8 px, sans capitales, survol en opacité :
   il ne ressemblait ni au « Envoyer ma demande » de l'accueil ni au reste.
   ══════════════════════════════════════════════════════════════════════════ */
.btn-submit{
  border-radius:999px; padding:17px 42px; font-size:.75rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase;
  transition:background .3s, box-shadow .3s, transform .3s cubic-bezier(.16,1,.3,1);
}
@media(hover:hover){
  .btn-submit:hover{ background:#DDB95A; opacity:1; box-shadow:0 8px 28px rgba(201,168,76,.20) }
}
@media(hover:hover) and (pointer:fine){ .btn-submit:hover{ transform:translateY(-2px) } }
.mini-cta{ text-transform:uppercase; letter-spacing:.14em }
@media(hover:hover) and (pointer:fine){ .mini-cta:hover{ transform:translateY(-1px) } }


/* ══════════════════════════════════════════════════════════════════════════
   LOT 16 — l'heure vraie sous le numéro
   /contact/ est la page où la question « est-ce que quelqu'un décroche à
   cette heure-ci ? » se pose vraiment. Hauteur réservée d'avance : le texte
   statique tient sur une ligne, le texte vivant peut en prendre deux.
   ══════════════════════════════════════════════════════════════════════════ */
.heure-dispo{
  /* Sur /contact/ la ligne précède directement les boutons d'appel :
     il lui faut de l'air en dessous, contrairement aux autres pages où
     elle les suit. */
  margin:14px 0 18px; min-height:3em;
  font-size:.78rem; line-height:1.5; letter-spacing:.015em;
  color:var(--texte-soft); font-variant-numeric:tabular-nums;
}
.heure-dispo b{ color:var(--or-hi); font-weight:500 }
.heure-dispo::before{
  content:''; display:inline-block; width:7px; height:7px; border-radius:50%;
  margin-right:9px; vertical-align:.08em; background:var(--or);
  animation:heurePouls 2.8s cubic-bezier(.2,.6,.3,1) infinite;
}
@keyframes heurePouls{
  0%  {box-shadow:0 0 0 0 rgba(201,168,76,.45)}
  70% {box-shadow:0 0 0 8px rgba(201,168,76,0)}
  100%{box-shadow:0 0 0 0 rgba(201,168,76,0)}
}
@media(min-width:620px){ .heure-dispo{min-height:1.55em} .heure-br{display:none} }
@media(prefers-reduced-motion:reduce){ .heure-dispo::before{animation:none} }

/* La ligne d'heure vit tantôt dans un hero, tantôt dans un encadré d'article :
   .hub-hero p, .blog-hero p, .about-cta p et .blog-cta-inline p sont tous en
   (0,1,1) et l'emportaient sur .heure-dispo en (0,1,0) — la ligne tombait en
   --texte-dim au lieu de --texte-soft. On monte la spécificité au même rang,
   sans !important : ce bloc est le dernier de la feuille. */
p.heure-dispo{ color:var(--texte-soft) }
p.heure-dispo b{ color:var(--or-hi) }

/* ══════════════════════════════════════════════════════════════════════════
   LOT 17 — la barre d'appel ne double plus le bouton du hero
   Depuis que les deux portent le même libellé, on voyait deux pastilles
   dorées identiques à cent pixels l'une de l'autre au premier écran. La
   barre garde son rôle exact : rester joignable quand le bouton du hero
   est sorti de l'écran. Position fixe : masquer la barre ne décale rien,
   le CLS reste à zéro. Sans JavaScript, elle reste affichée — c'est l'état
   par défaut, le script ne fait que la mettre au repos.
   ══════════════════════════════════════════════════════════════════════════ */
.sticky-cta-bar{ transition:transform .32s cubic-bezier(.16,1,.3,1), opacity .24s linear }
.sticky-cta-bar.repos{ transform:translateY(110%); opacity:0; pointer-events:none }
@media(prefers-reduced-motion:reduce){ .sticky-cta-bar{ transition:none } }

/* Le fil d'Ariane de /contact/ était resté à l'écart de deux réglages posés
   ailleurs : la zone de touche confortable (44×15 ici contre 43×35 sur les
   130 autres pages) et les jetons de couleur (#847A6B au lieu de
   --texte-dim). Même composant, même comportement partout. */
.breadcrumb a{ padding:10px 0; display:inline-block; color:var(--texte-dim) }
@media(hover:hover){ .breadcrumb a:hover{ color:var(--or) } }
