@charset "UTF-8";
/* Paquet genere par concatenation, dans l'ordre exact de chargement
   constate sur toutes les pages concernees. Aucun reordonnancement :
   la cascade est strictement preservee.
   Membres, dans l'ordre : rv-nav.css, harmonie.css
   ATTENTION, cette consigne a change le 2026-10-05.
   Ne plus regenerer depuis les membres. Depuis la fusion, toutes les
   corrections ont ete faites DIRECTEMENT dans ce paquet : curseurs des
   calculateurs, couvertures lisibles, exclusion des robots, variable
   d'ombre. Les membres encore presents sont des copies d'avant la fusion ;
   regenerer depuis eux ecraserait tout ce travail.
   CE FICHIER EST LA SOURCE. On l'edite ici. */

/* ---- rv-nav.css ---- */
:root {
  --rvn-h:68px;
  --rvn-h-compact:56px;
  --rvn-creme:#FFFDF8;
  --rvn-creme-2:#F7F2E6;
  --rvn-vert:#1A4E30;
  --rvn-vert-fonce:#0F3320;
  --rvn-vert-nuit:#0A2615;
  --rvn-or:#C9A24E;
  --rvn-or-clair:#FDE047;
  --rvn-or-sombre:#6B5217;
  --rvn-gris:#5A6B62;
  --rvn-trait:rgba(201,162,78,.28);
}
html.rvn-injectee body:not(#_n1):not(#_n2) {
  padding-top: var(--rvn-h) !important;
}
@media (min-width: 901px) {
  html body nav#navbar.rvn:not(#_n1):not(#_n2) {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1200 !important;
    height: var(--rvn-h) !important;
    min-height: 0 !important;
    max-height: none !important;
    background: var(--rvn-creme) !important;
    border-bottom: 1px solid var(--rvn-trait) !important;
    box-shadow: none !important;
    transition: box-shadow .22s ease !important;
  }
  html body nav#navbar.rvn.rvn-compact:not(#_n1):not(#_n2) {
    height: var(--rvn-h-compact) !important;
    box-shadow: 0 2px 18px -8px rgba(10, 38, 21, .28) !important;
  }
  html body nav#navbar.rvn .nav-inner:not(#_n1):not(#_n2) {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 26px !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: 1480px !important;
    position: static !important;
    margin: 0 auto !important;
    padding: 0 clamp(20px, 3vw, 40px) !important;
  }
  html body nav#navbar.rvn .nav-logo:not(#_n1):not(#_n2) {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    flex: 0 0 auto !important;
    text-decoration: none !important;
  }
  html body nav#navbar.rvn .nav-logo img:not(#_n1):not(#_n2) {
    height: 38px !important;
    width: auto !important;
    max-width: none !important;
    object-fit: contain !important;
  }
  html body nav#navbar.rvn ul.nav-links:not(#_n1):not(#_n2) {
    display: flex !important;
    align-items: stretch !important;
    gap: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    background: none !important;
    height: 100% !important;
    width: auto !important;
    flex-direction: row !important;
  }
  html body nav#navbar.rvn ul.nav-links > li:not(#_n1):not(#_n2) {
    position: static !important;
    margin: 0 !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
  }
  html body nav#navbar.rvn ul.nav-links > li > a:not(#_n1):not(#_n2),
  html body nav#navbar.rvn ul.nav-links > li > button:not(#_n1):not(#_n2) {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 9px 13px !important;
    border: 0 !important;
    background: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    font-family: inherit !important;
    font-size: .9rem !important;
    font-weight: 500 !important;
    color: var(--rvn-vert) !important;
    -webkit-text-fill-color: var(--rvn-vert) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    position: relative !important;
    transition: background .18s ease !important;
  }
  html body nav#navbar.rvn ul.nav-links > li > a:hover:not(#_n1):not(#_n2),
  html body nav#navbar.rvn ul.nav-links > li > button:hover:not(#_n1):not(#_n2) {
    background: rgba(26, 78, 48, .07) !important;
  }
  html body nav#navbar.rvn ul.nav-links > li > a:focus-visible:not(#_n1):not(#_n2),
  html body nav#navbar.rvn ul.nav-links > li > button:focus-visible:not(#_n1):not(#_n2) {
    outline: 2px solid var(--rvn-or) !important;
    outline-offset: 2px !important;
  }
  html body nav#navbar.rvn ul.nav-links > li > [aria-current]:not(#_n1):not(#_n2)::after {
    content: "" !important;
    position: absolute !important;
    left: 13px !important;
    right: 13px !important;
    bottom: 4px !important;
    height: 2px !important;
    border-radius: 2px !important;
    background: var(--rvn-or) !important;
  }
  html body nav#navbar.rvn .rvn-chevron:not(#_n1):not(#_n2) {
    width: 9px !important;
    height: 9px !important;
    flex: 0 0 auto !important;
    opacity: .5 !important;
    transition: transform .22s ease !important;
  }
  html body nav#navbar.rvn li.rvn-ouvert > button .rvn-chevron:not(#_n1):not(#_n2) {
    transform: rotate(180deg) !important;
    opacity: .9 !important;
  }
  html body nav#navbar.rvn .nav-cta:not(#_n1):not(#_n2) {
    margin-left: auto !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 11px 19px !important;
    border-radius: 999px !important;
    background:
      linear-gradient(
        135deg,
        var(--rvn-or-clair),
        #D4A843) !important;
    color: var(--rvn-vert-fonce) !important;
    -webkit-text-fill-color: var(--rvn-vert-fonce) !important;
    font-size: .875rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: 0 6px 20px rgba(212, 168, 67, .4) !important;
    transition: transform .18s ease !important;
  }
  html body nav#navbar.rvn .nav-cta:hover:not(#_n1):not(#_n2) {
    transform: translateY(-1px) !important;
  }
  html body nav#navbar.rvn .rvn-panneau:not(#_n1):not(#_n2) {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    background: var(--rvn-creme) !important;
    border-bottom: 1px solid var(--rvn-trait) !important;
    box-shadow: 0 26px 50px -28px rgba(10, 38, 21, .55) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
    transition: opacity .18s ease, visibility .18s !important;
  }
  html body nav#navbar.rvn li.rvn-ouvert .rvn-panneau:not(#_n1):not(#_n2) {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  html body nav#navbar.rvn .rvn-panneau-inner:not(#_n1):not(#_n2) {
    max-width: 1480px !important;
    margin: 0 auto !important;
    padding: 28px clamp(20px, 3vw, 40px) 30px !important;
    display: grid !important;
    gap: 24px !important;
  }
  html body nav#navbar.rvn .rvn-p-outils .rvn-panneau-inner:not(#_n1):not(#_n2) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) 250px !important;
  }
  html body nav#navbar.rvn .rvn-p-simple .rvn-panneau-inner:not(#_n1):not(#_n2) {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  }
  html body nav#navbar.rvn .rvn-p-secteurs .rvn-panneau-inner:not(#_n1):not(#_n2) {
    grid-template-columns: 1fr !important;
  }
  html body nav#navbar.rvn .rvn-col h4:not(#_n1):not(#_n2) {
    margin: 0 0 12px !important;
    font-family: inherit !important;
    font-size: .68rem !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: var(--rvn-or-sombre) !important;
    -webkit-text-fill-color: var(--rvn-or-sombre) !important;
    font-weight: 700 !important;
  }
  html body nav#navbar.rvn .rvn-col ul:not(#_n1):not(#_n2) {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  html body nav#navbar.rvn .rvn-col a:not(#_n1):not(#_n2) {
    display: block !important;
    font-size: .855rem !important;
    line-height: 1.35 !important;
    color: var(--rvn-vert) !important;
    -webkit-text-fill-color: var(--rvn-vert) !important;
    text-decoration: none !important;
    border-radius: 5px !important;
    transition: color .16s ease !important;
  }
  html body nav#navbar.rvn .rvn-col a:hover:not(#_n1):not(#_n2) {
    color: var(--rvn-or-sombre) !important;
    -webkit-text-fill-color: var(--rvn-or-sombre) !important;
    text-decoration: underline !important;
  }
  html body nav#navbar.rvn .rvn-col a:focus-visible:not(#_n1):not(#_n2) {
    outline: 2px solid var(--rvn-or) !important;
    outline-offset: 2px !important;
    color: var(--rvn-or-sombre) !important;
    -webkit-text-fill-color: var(--rvn-or-sombre) !important;
    text-decoration: underline !important;
  }
  html body nav#navbar.rvn .rvn-fiche:focus-visible:not(#_n1):not(#_n2),
  html body nav#navbar.rvn .rvn-vedette:focus-visible:not(#_n1):not(#_n2),
  html body nav#navbar.rvn .rvn-puce:focus-visible:not(#_n1):not(#_n2) {
    outline: 2px solid var(--rvn-or) !important;
    outline-offset: 2px !important;
  }
  html body nav#navbar.rvn .rvn-vedette:not(#_n1):not(#_n2) {
    background:
      linear-gradient(
        150deg,
        var(--rvn-vert),
        var(--rvn-vert-nuit)) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 14px !important;
    text-decoration: none !important;
  }
  html body nav#navbar.rvn .rvn-panneau:not(#_n1):not(#_n2),
  html body nav#navbar.rvn .rvn-panneau *:not(#_n1):not(#_n2) {
    white-space: normal !important;
    min-width: 0 !important;
  }
  html body nav#navbar.rvn .rvn-vedette .k:not(#_n1):not(#_n2),
  html body nav#navbar.rvn .rvn-vedette .t:not(#_n1):not(#_n2),
  html body nav#navbar.rvn .rvn-vedette .d:not(#_n1):not(#_n2),
  html body nav#navbar.rvn .rvn-fiche .t:not(#_n1):not(#_n2),
  html body nav#navbar.rvn .rvn-fiche .d:not(#_n1):not(#_n2) {
    max-width: 100% !important;
  }
  html body nav#navbar.rvn .rvn-puce:not(#_n1):not(#_n2) {
    white-space: nowrap !important;
  }
  html body nav#navbar.rvn .rvn-vedette .go:not(#_n1):not(#_n2) {
    white-space: nowrap !important;
    max-width: none !important;
  }
  html body nav#navbar.rvn .rvn-vedette .k:not(#_n1):not(#_n2) {
    font-size: .62rem !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
    color: var(--rvn-or-clair) !important;
    -webkit-text-fill-color: var(--rvn-or-clair) !important;
    font-weight: 700 !important;
    display: block !important;
  }
  html body nav#navbar.rvn .rvn-vedette .t:not(#_n1):not(#_n2) {
    font-family:
      "Fraunces",
      Georgia,
      serif !important;
    font-size: 1.05rem !important;
    color: var(--rvn-creme) !important;
    -webkit-text-fill-color: var(--rvn-creme) !important;
    margin: 8px 0 6px !important;
    line-height: 1.22 !important;
    display: block !important;
  }
  html body nav#navbar.rvn .rvn-vedette .d:not(#_n1):not(#_n2) {
    font-size: .79rem !important;
    color: #CBDACF !important;
    -webkit-text-fill-color: #CBDACF !important;
    line-height: 1.45 !important;
    display: block !important;
  }
  html body nav#navbar.rvn .rvn-vedette .go:not(#_n1):not(#_n2) {
    align-self: flex-start !important;
    background: var(--rvn-or-clair) !important;
    color: var(--rvn-vert-fonce) !important;
    -webkit-text-fill-color: var(--rvn-vert-fonce) !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
  }
  html body nav#navbar.rvn .rvn-profils:not(#_n1):not(#_n2) {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    flex-wrap: wrap !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(201, 162, 78, .22) !important;
    margin-bottom: 20px !important;
  }
  html body nav#navbar.rvn .rvn-profils .lb:not(#_n1):not(#_n2) {
    font-size: .68rem !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: var(--rvn-or-sombre) !important;
    -webkit-text-fill-color: var(--rvn-or-sombre) !important;
    font-weight: 700 !important;
    margin-right: 4px !important;
  }
  html body nav#navbar.rvn .rvn-puce:not(#_n1):not(#_n2) {
    border: 1px solid rgba(26, 78, 48, .2) !important;
    background: var(--rvn-creme) !important;
    color: var(--rvn-vert) !important;
    -webkit-text-fill-color: var(--rvn-vert) !important;
    font-family: inherit !important;
    font-size: .83rem !important;
    font-weight: 600 !important;
    padding: 7px 15px !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    transition:
      background .18s ease,
      border-color .18s ease,
      color .18s ease !important;
  }
  html body nav#navbar.rvn .rvn-puce:hover:not(#_n1):not(#_n2) {
    border-color: var(--rvn-or) !important;
  }
  html body nav#navbar.rvn .rvn-puce[aria-pressed=true]:not(#_n1):not(#_n2) {
    background: var(--rvn-vert) !important;
    border-color: var(--rvn-vert) !important;
    color: var(--rvn-creme) !important;
    -webkit-text-fill-color: var(--rvn-creme) !important;
  }
  html body nav#navbar.rvn .rvn-secteur-corps:not(#_n1):not(#_n2) {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
    gap: 14px !important;
  }
  html body nav#navbar.rvn .rvn-fiche:not(#_n1):not(#_n2) {
    display: block !important;
    text-decoration: none !important;
    background: var(--rvn-creme-2) !important;
    border: 1px solid rgba(26, 78, 48, .09) !important;
    border-radius: 11px !important;
    padding: 15px 16px !important;
    transition: border-color .18s ease, transform .18s ease !important;
  }
  html body nav#navbar.rvn .rvn-fiche:hover:not(#_n1):not(#_n2) {
    border-color: var(--rvn-or) !important;
    transform: translateY(-2px) !important;
  }
  html body nav#navbar.rvn .rvn-fiche .t:not(#_n1):not(#_n2) {
    display: block !important;
    font-family:
      "Fraunces",
      Georgia,
      serif !important;
    font-size: 1rem !important;
    color: var(--rvn-vert) !important;
    -webkit-text-fill-color: var(--rvn-vert) !important;
    margin-bottom: 5px !important;
  }
  html body nav#navbar.rvn .rvn-fiche .d:not(#_n1):not(#_n2) {
    display: block !important;
    font-size: .8rem !important;
    color: var(--rvn-gris) !important;
    -webkit-text-fill-color: var(--rvn-gris) !important;
    line-height: 1.45 !important;
  }
  html body nav#navbar.rvn .rvn-fiche[data-actif="1"]:not(#_n1):not(#_n2) {
    background: var(--rvn-creme) !important;
    border-color: var(--rvn-or) !important;
    box-shadow: 0 8px 22px -14px rgba(201, 162, 78, .7) !important;
  }
}
@media (min-width: 901px) {
  html.rvn-injectee body .ln-topbar:not(#_n1):not(#_n2),
  html.rvn-injectee body .cmp-header:not(#_n1):not(#_n2),
  html.rvn-injectee body .pq-header:not(#_n1):not(#_n2) {
    top: var(--rvn-decalage, var(--rvn-h)) !important;
  }
}
@media (max-width: 900px) {
  html body nav#navbar.rvn .rvn-panneau:not(#_n1):not(#_n2) {
    display: none !important;
  }
  html.rvn-injectee body:not(#_n1):not(#_n2) {
    padding-top: 58px !important;
  }
  html body nav#navbar.rvn:not(#_n1):not(#_n2) {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1200 !important;
    height: auto !important;
    min-height: 0 !important;
    background: var(--rvn-creme) !important;
    border-bottom: 1px solid var(--rvn-trait) !important;
  }
  html body nav#navbar.rvn .nav-inner:not(#_n1):not(#_n2) {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 16px !important;
    max-width: none !important;
  }
  html body nav#navbar.rvn .nav-logo:not(#_n1):not(#_n2) {
    order: 0 !important;
    margin: 0 !important;
  }
  html body nav#navbar.rvn .nav-logo img:not(#_n1):not(#_n2) {
    height: 32px !important;
    width: auto !important;
  }
  html body nav#navbar.rvn ul.nav-links:not(#_n1):not(#_n2),
  html body nav#navbar.rvn .nav-cta:not(#_n1):not(#_n2) {
    display: none !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body nav#navbar.rvn *:not(#_n1):not(#_n2) {
    transition-duration: .01ms !important;
  }
}

/* ---- harmonie.css ---- */
/* Harmonisation visuelle, chargée en dernier sur toutes les pages.
   Une seule échelle pour le texte, les arrondis, les ombres et les boutons.
   Les trois faux identifiants passent devant les anciennes surcharges. */

/* Texte courant : 16 px, chapeaux : 18 px, métadonnées : 14 px */
html body:not(#_h1):not(#_h2):not(#_h3) :is(main, section, article) :is(p, li, dd):not(.rv-fab-panel *, [class*="toc"] *, .hxA-sub, [class*="num"], [class*="value"], [class*="price"], [class*="stat"]) {
  font-size: var(--rv-text-body) !important;
  line-height: var(--rv-leading-body) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.section-sub, .rv-stats-sub, .hxA-sub, .page-hero p:not(.breadcrumb), .rv-compare-sub, .rv-estim-sub, .ob-intro, .bm-hero-sub, .rv-roi-sub, .rv-typos-head p, .rv-calendar-head p) {
  font-size: var(--rv-text-lead) !important;
  line-height: 1.6 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.bm-card-foot, .bm-card-foot *, .breadcrumb, .breadcrumb *, figcaption, .rv-stats-footnote, .rv-footnote, .rvpq-note, .rv-note, .rv-author-meta, .rv-author-meta *, .rv-estim-result-note, .lead-mockup-sub) {
  font-size: var(--rv-text-small) !important;
}

/* Titres : une graisse, trois tailles de h3 selon le rôle */
html body:not(#_h1):not(#_h2):not(#_h3) :is(h1, h2, h3, h4) {
  font-weight: 600 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(main, section, article) h3:not(.section-title) {
  font-size: var(--rv-text-card) !important;
  line-height: 1.35 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.article-content, .rv-article-body, .legal-content, .ml-content) h3:not(.section-title) {
  font-size: var(--rv-text-h3) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.service-header, .step, .rv-outil-card, .faq-cta-bottom, .rv-article-cta, .cal-cta-final, .pq-cta-final, .rv-wizard-step, .article-card, .rv-sector-cas, .contact-info-card, .rv-cta-block) h3:not(.section-title) {
  font-size: var(--rv-text-panel) !important;
  line-height: 1.25 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(strong, b):not(.hxA-h1 *) {
  font-weight: 700 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.faq-q, .faq-q span, .faq-question, .faq-question span) {
  font-weight: 600 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.bm-card-tag, .section-tag, .rv-bp-tag, [class*="eyebrow"]) {
  font-weight: 700 !important;
}

/* Sigles : ni petites capitales ni gras, le soulignement pointillé suffit */
html body:not(#_h1):not(#_h2):not(#_h3) :is(abbr, abbr.rv-abbr, .rv-abbr, .rv-caps, abbr[title]) {
  font-variant: normal !important;
  font-variant-caps: normal !important;
  letter-spacing: normal !important;
  font-weight: inherit !important;
}

/* Titres de section : plus de trait ondulé décoratif */
html body:not(#_h1):not(#_h2):not(#_h3) .section-title::after {
  content: none !important;
  display: none !important;
}

/* Logo de l'en-tête : un seul mot, comme dans le pied de page */
html body:not(#_h1):not(#_h2):not(#_h3) .rv-wordmark {
  gap: 0 !important;
}

/* Arrondis : 8 px pour les petits éléments, 14 px pour les cartes, 20 px pour les panneaux */
html body:not(#_h1):not(#_h2):not(#_h3) :is(.card, .service-card, .tarif-card, .rv-sector-card, .rv-stat-card, .rv-value-card, .value-card, .faq-item, .step, .bm-card, .bm-featured, .rv-typo-card, .rv-outil-card, .rvpq-tile, .ob-card, .imp-card, .rh-card, .article-card, .rv-related-card, .contact-info-card, .rv-author-card, .pq-when-card, .rvx-r, .rv-bp-card, .lead-mockup, .rv-cal-item, .rv-estim-result) {
  border-radius: var(--rv-radius) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.rv-cta-block, .rv-article-cta, .rv-wizard, .rv-roi-result, .rv-newsletter-inline, .rv-compare, .rv-estim-form, .faq-cta-bottom) {
  border-radius: var(--rv-radius-lg) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea, .rv-share-btn, .rv-3d-icon-wrap, .step-num) {
  border-radius: var(--rv-radius-sm) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.reg-badge, .section-tag, .bm-card-tag, .article-tag, .tarif-badge, .service-badge, .rv-compare-badge) {
  border-radius: var(--rv-radius-pill) !important;
}

/* Ombres : trois niveaux */
html body:not(#_h1):not(#_h2):not(#_h3) :is(.card, .service-card, .tarif-card, .rv-sector-card, .rv-stat-card, .rv-value-card, .value-card, .faq-item, .step, .bm-card, .rv-typo-card, .rvpq-tile, .ob-card, .imp-card, .rh-card, .article-card, .rv-related-card, .contact-info-card, .rv-author-card, .pq-when-card, .rv-bp-card) {
  box-shadow: var(--rv-shadow-1) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.bm-card, .rv-typo-card, .rv-bp-card, .rv-related-card, .rv-outil-card, .article-card):hover {
  box-shadow: var(--rv-shadow-2) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.section-tag, .rv-eyebrow, .reg-badge, .rv-3d-icon-wrap, .step-num, .rv-fbm-chip) {
  box-shadow: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.rv-fab-toggle, .rv-fab-panel, .rv-link-preview, #rvConsent > div) {
  box-shadow: var(--rv-shadow-3) !important;
}

/* Boutons : or (action principale), vert (action secondaire), contour (lien fort) */
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn, a.btn-primary, a.btn-secondary, .hxA-cta, .rv-roi-cta, .rv-wizard-next, .lead-form button[type="submit"], .rv-newsletter-inline-form button) {
  border-radius: var(--rv-radius-pill) !important;
  font-family: var(--rv-font-body) !important;
  font-size: var(--rv-text-body) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  padding: 14px 28px !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .btn.btn-sm {
  font-size: var(--rv-text-small) !important;
  padding: 9px 18px !important;
  min-height: 40px !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn-gold, .btn-cta-gold, .btn-primary-hero, .hxA-cta, .rv-roi-cta, .lead-form button[type="submit"], .rv-typo-cta .btn, .rv-article-cta .btn, .faq-cta-bottom .btn) {
  background: var(--rv-btn-gold) !important;
  color: var(--rv-green-700) !important;
  -webkit-text-fill-color: var(--rv-green-700) !important;
  border: 0 !important;
  box-shadow: var(--rv-shadow-cta) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn-gold, .btn-cta-gold, .btn-primary-hero, .hxA-cta, .rv-roi-cta, .lead-form button[type="submit"], .rv-typo-cta .btn, .rv-article-cta .btn, .faq-cta-bottom .btn) :is(i, span) {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn-gold, .btn-cta-gold, .btn-primary-hero, .hxA-cta, .rv-roi-cta, .lead-form button[type="submit"], .rv-typo-cta .btn, .rv-article-cta .btn, .faq-cta-bottom .btn):hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 28px -12px rgba(176,132,45,.7) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn-primary, .rv-wizard-next, .rv-newsletter-inline-form button, .btn-green) {
  background: var(--rv-green-600) !important;
  color: var(--rv-cream) !important;
  -webkit-text-fill-color: var(--rv-cream) !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn-primary, .rv-wizard-next, .rv-newsletter-inline-form button, .btn-green):hover {
  background: var(--rv-green-700) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn-outline-green, .btn-outline, .btn-secondary) {
  background: transparent !important;
  color: var(--rv-green-600) !important;
  -webkit-text-fill-color: var(--rv-green-600) !important;
  border: 1.5px solid var(--rv-green-600) !important;
  box-shadow: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.btn-outline-green, .btn-outline, .btn-secondary):hover {
  background: var(--rv-green-50) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.cta-banner, .rv-hero-dark, .rv-article-cta, .rv-outils-strip, .rv-cta-block, [class*="cta-final"]) :is(.btn-outline, .btn-outline-green, .btn-secondary) {
  color: var(--rv-cream) !important;
  -webkit-text-fill-color: var(--rv-cream) !important;
  border-color: rgba(255,253,248,.7) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.cta-banner, .rv-hero-dark, .rv-article-cta, .rv-outils-strip, .rv-cta-block, [class*="cta-final"]) :is(.btn-outline, .btn-outline-green, .btn-secondary):hover {
  background: rgba(255,253,248,.1) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .btn-white {
  background: var(--rv-cream) !important;
  color: var(--rv-green-700) !important;
  -webkit-text-fill-color: var(--rv-green-700) !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Liste « Ce qui est inclus » : le texte reste d'un seul tenant, sigles et liens compris */
html body:not(#_h1):not(#_h2):not(#_h3) :is(.service-card .service-body li, .tarif-features li) {
  display: block !important;
  position: relative !important;
  padding-left: 1.6rem !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.service-card .service-body li, .tarif-features li)::before {
  position: absolute !important;
  left: 0 !important;
  top: .42em !important;
  margin: 0 !important;
}

/* Cartes de services : un seul dégradé pour les quatre en-têtes */
html body:not(#_h1):not(#_h2):not(#_h3) .service-card {
  overflow: hidden !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .service-card .service-header {
  background: linear-gradient(135deg, var(--rv-green-700), var(--rv-green-600)) !important;
  border-radius: 0 !important;
}

/* Outils gratuits : quatre cartes sur une ligne */
html body:not(#_h1):not(#_h2):not(#_h3) .rv-outils-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
}
@media (max-width: 1100px) {
  html body:not(#_h1):not(#_h2):not(#_h3) .rv-outils-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  html body:not(#_h1):not(#_h2):not(#_h3) .rv-outils-grid { grid-template-columns: 1fr !important; }
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-outil-card {
  display: flex !important;
  flex-direction: column !important;
  background: linear-gradient(180deg, var(--rv-green-600) 0%, var(--rv-green-700) 100%) !important;
  border: 1px solid rgba(253,224,71,.32) !important;
  padding: 1.75rem 1.5rem !important;
  color: var(--rv-cream) !important;
  text-decoration: none !important;
  box-shadow: 0 10px 30px -14px rgba(0,0,0,.5) !important;
  transition: transform .2s ease, border-color .2s ease !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-outil-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(253,224,71,.6) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-outil-card h3 {
  font-family: var(--rv-font-display) !important;
  font-size: 1.25rem !important;
  line-height: 1.3 !important;
  margin: 0 0 .75rem !important;
  color: var(--rv-cream) !important;
  -webkit-text-fill-color: var(--rv-cream) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-outil-card p {
  color: rgba(255,253,248,.86) !important;
  -webkit-text-fill-color: rgba(255,253,248,.86) !important;
  margin: 0 0 1.25rem !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-outil-card .rv-outil-card-cta {
  margin-top: auto !important;
  color: var(--rv-gold-300) !important;
  -webkit-text-fill-color: var(--rv-gold-300) !important;
  font-weight: 600 !important;
  font-size: .9375rem !important;
}

/* Derniers articles de l'accueil */
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 1.5rem !important;
  margin-top: 2.5rem !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-card {
  background: var(--rv-white) !important;
  overflow: hidden !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-card:hover {
  transform: translateY(-2px) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-card > a {
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-cover {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2 !important;
  object-fit: cover !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-body {
  padding: 1.25rem 1.4rem 1.5rem !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-tag {
  display: block !important;
  font-size: var(--rv-text-eyebrow) !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--rv-gold-700) !important;
  -webkit-text-fill-color: var(--rv-gold-700) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-card h3 {
  font-family: var(--rv-font-display) !important;
  color: var(--rv-green-600) !important;
  -webkit-text-fill-color: var(--rv-green-600) !important;
  margin: .5rem 0 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-card p {
  color: var(--rv-ink-700) !important;
  -webkit-text-fill-color: var(--rv-ink-700) !important;
  margin: 0 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-bp-more {
  text-align: center !important;
  margin-top: 2rem !important;
}

/* Blog : photos pour les articles, couverture typographique pour les feuilles de route */
html body:not(#_h1):not(#_h2):not(#_h3) .bm-card-cover.bm-card-cover--photo {
  padding: 0 !important;
  background: var(--rv-green-700) !important;
  overflow: hidden !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.bm-card-cover--photo img, .bm-featured-visual img) {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .4s ease !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .bm-card:hover .bm-card-cover--photo img {
  transform: scale(1.03) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .bm-featured-visual {
  padding: 0 !important;
  overflow: hidden !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .bm-card-cover.bm-card-cover--type {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  gap: .35rem !important;
  padding: 1.25rem 1.4rem !important;
  background: linear-gradient(150deg, var(--rv-green-600) 0%, var(--rv-green-900) 100%) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .bm-card-cover-kicker {
  font-size: var(--rv-text-eyebrow) !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--rv-gold-300) !important;
  -webkit-text-fill-color: var(--rv-gold-300) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .bm-card-cover-word {
  font-family: var(--rv-font-display) !important;
  font-style: italic !important;
  font-weight: 500 !important;
  font-size: 2.1rem !important;
  line-height: 1 !important;
  color: var(--rv-cream) !important;
  -webkit-text-fill-color: var(--rv-cream) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .bm-search input::placeholder {
  color: var(--rv-ink-500) !important;
  opacity: 1 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .bm-card-read::before,
html body:not(#_h1):not(#_h2):not(#_h3) .trust-item::after {
  content: none !important;
  display: none !important;
}

/* Bloc final de l'accueil : un voile réel sous le texte */
html body:not(#_h1):not(#_h2):not(#_h3) .rv-ctaphoto-veil {
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(8,32,18,.55) 0%, rgba(8,32,18,.35) 100%),
    radial-gradient(120% 90% at 50% 50%, rgba(8,32,18,.88) 0%, rgba(8,32,18,.8) 50%, rgba(8,32,18,.62) 100%) !important;
}

/* Éléments flottants : la bulle de contact suffit sur ordinateur, la barre d'onglets sur mobile */
html body:not(#_h1):not(#_h2):not(#_h3) :is(.floating-cta, .rv-top, .rv-reading-toggle, #rvPwaInstall, .rv-pwa-install, #rvIosInstallTip) {
  display: none !important;
}
@media (max-width: 900px) {
  html body:not(#_h1):not(#_h2):not(#_h3) .rv-fab {
    display: none !important;
  }
}

/* Accueil : trois en-têtes de section alignés à gauche pour casser la répétition du modèle centré */
@media (min-width: 1000px) {
  html body:not(#_h1):not(#_h2):not(#_h3) :is(#pourquoi, #processus, #blog-preview) .container > .text-center:first-child {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) !important;
    column-gap: clamp(2rem, 5vw, 4.5rem) !important;
    row-gap: .75rem !important;
    align-items: end !important;
    text-align: left !important;
    max-width: none !important;
  }
  html body:not(#_h1):not(#_h2):not(#_h3) :is(#pourquoi, #processus, #blog-preview) .container > .text-center:first-child > .section-tag {
    grid-column: 1 !important;
    justify-self: start !important;
    margin: 0 !important;
  }
  html body:not(#_h1):not(#_h2):not(#_h3) :is(#pourquoi, #processus, #blog-preview) .container > .text-center:first-child > .section-title {
    grid-column: 1 !important;
    text-align: left !important;
    margin: 0 !important;
    max-width: none !important;
  }
  html body:not(#_h1):not(#_h2):not(#_h3) :is(#pourquoi, #processus, #blog-preview) .container > .text-center:first-child > .section-sub {
    grid-column: 2 !important;
    grid-row: 2 !important;
    text-align: left !important;
    margin: 0 0 .35rem !important;
    max-width: 46ch !important;
  }
}

/* Articles : une seule largeur de lecture, sommaire en tête sur toute cette largeur */
html body:not(#_h1):not(#_h2):not(#_h3) .article-content {
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .article-content :is(p, ul, ol, blockquote, h2, h3, h4, table) {
  max-width: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-toc {
  position: static !important;
  width: auto !important;
  max-width: 680px !important;
  margin: 0 auto 2.5rem !important;
  padding: 1.25rem 1.5rem !important;
  background: var(--rv-white) !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: var(--rv-radius) !important;
  box-shadow: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-toc ol {
  columns: 2 !important;
  column-gap: 2rem !important;
  margin: .75rem 0 0 !important;
  padding: 0 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-toc li {
  break-inside: avoid !important;
  font-size: var(--rv-text-small) !important;
  line-height: 1.45 !important;
  margin: 0 0 .5rem !important;
}
@media (max-width: 700px) {
  html body:not(#_h1):not(#_h2):not(#_h3) .rv-toc ol { columns: 1 !important; }
}

/* Images différées : visibles même sur les pages qui ne chargent pas le script de fondu */
html body:not(#_h1):not(#_h2):not(#_h3) img[loading="lazy"]:is([data-loaded], .is-loaded, [src]:not([src=""])) {
  opacity: 1 !important;
}

/* Audit final du 2026-09-18 */
html body:not(#_h1):not(#_h2):not(#_h3) :is(#navbar h4, .nav-dropdown h4, .rvn h4) {
  font-size: var(--rv-text-eyebrow) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is([class*="eyebrow"], .section-tag, .rv-toc-title, .rv-loi-kicker, .hero-alert, .bm-card-tag, .bm-featured-badge, .gloss-cat, .md-step-num) {
  font-size: var(--rv-text-eyebrow) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-sector-deadline,
html body:not(#_h1):not(#_h2):not(#_h3) .ob-note a {
  color: var(--rv-gold-700) !important;
  -webkit-text-fill-color: var(--rv-gold-700) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-blog-filters:empty {
  display: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-case-kpi-pre {
  display: block !important;
  font-family: var(--rv-font-body) !important;
  font-size: var(--rv-text-small) !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  margin-bottom: .2rem !important;
  color: var(--rv-ink-500) !important;
  -webkit-text-fill-color: var(--rv-ink-500) !important;
  background: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) button[data-rv-cookies] {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.cta-banner, .rv-cta-block, [class*="cta-final"]) a.btn-primary {
  background: var(--rv-btn-gold) !important;
  color: var(--rv-green-700) !important;
  -webkit-text-fill-color: var(--rv-green-700) !important;
  border: 0 !important;
  border-radius: var(--rv-radius-pill) !important;
  padding: 14px 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: var(--rv-shadow-cta) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.cta-banner, .rv-cta-block, [class*="cta-final"]) a.btn-primary i {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-cta-block :is(h2, h3) {
  color: var(--rv-cream) !important;
  -webkit-text-fill-color: var(--rv-cream) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.cal-back, .cnc-back, .gen-back, .cmp-back, .md-back, .imp-back, .jeu-back, .pq-back, .re-back, .rv-sticky-pro, #rvScrollTop) {
  display: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .cal-cta-final a {
  background: var(--rv-btn-gold) !important;
  color: var(--rv-green-700) !important;
  -webkit-text-fill-color: var(--rv-green-700) !important;
  border: 0 !important;
  border-radius: var(--rv-radius-pill) !important;
  padding: 14px 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: var(--rv-shadow-cta) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.cal-cta-final, .faq-cta-bottom) :is(h2, h3) {
  color: var(--rv-cream) !important;
  -webkit-text-fill-color: var(--rv-cream) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) :is(.faq-hero input, .bm-search input, input[type="search"], .rv-newsletter-inline input, .rv-newsletter-inline-form input)::placeholder {
  color: var(--rv-ink-500) !important;
  opacity: 1 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .re-cta-1 {
  background: var(--rv-btn-gold) !important;
  color: var(--rv-green-700) !important;
  -webkit-text-fill-color: var(--rv-green-700) !important;
  border: 0 !important;
  border-radius: var(--rv-radius-pill) !important;
  padding: 14px 28px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  box-shadow: var(--rv-shadow-cta) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .re-cta-2 {
  color: var(--rv-cream) !important;
  -webkit-text-fill-color: var(--rv-cream) !important;
  border: 1.5px solid rgba(255,253,248,.7) !important;
  border-radius: var(--rv-radius-pill) !important;
  padding: 13px 26px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-lm-content a:not(.btn) {
  color: var(--rv-green-600) !important;
  -webkit-text-fill-color: var(--rv-green-600) !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) main:has(> .rv-lm-hero) {
  max-width: none !important;
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-lm-hero {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  align-items: center !important;
  gap: clamp(2rem, 4vw, 3.5rem) !important;
}
@media (max-width: 860px) {
  html body:not(#_h1):not(#_h2):not(#_h3) .rv-lm-hero { grid-template-columns: 1fr !important; }
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-lm-content :is(h1, h2, h3) {
  color: var(--rv-green-600) !important;
  -webkit-text-fill-color: var(--rv-green-600) !important;
}
@media (min-width: 901px) {
  html body:not(#_h1):not(#_h2):not(#_h3) .focus-brand {
    display: none !important;
  }
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-wordmark .rv-wordmark-restau {
  margin-right: 0 !important;
}
@media (max-width: 900px) {
  html body:not(#_h1):not(#_h2):not(#_h3) .focus-brand {
    margin-bottom: .9rem !important;
  }
}
html body:not(#_h1):not(#_h2):not(#_h3) .rv-lm-content :is(p, li):not(.rv-lm-privacy) {
  color: var(--rv-ink-700) !important;
  -webkit-text-fill-color: var(--rv-ink-700) !important;
}

/* ------------------------------------------------------------------ *
 *  Accessibilité : taille minimale des cibles (WCAG 2.2, critère 2.5.8)
 *  Les liens posés au fil d'une phrase en sont dispensés : leur taille est
 *  contrainte par l'interlignage du texte. On ne corrige donc que les liens
 *  isolés, en liste dans le pied de page, et les ancres de section.
 * ------------------------------------------------------------------ */
html body footer li > a,
html body .rv-footer-col li > a {
  display: inline-block;
}
html body a.rv-anchor {
  min-width: 24px;
  min-height: 24px;
}

/* ------------------------------------------------------------------ *
 *  Accordéon FAQ
 *
 *  Trois défauts hérités de style.css et rv-bundle.css :
 *  - .faq-answer n'a aucun retrait horizontal alors que la question en a
 *    24 px : le texte de la réponse était collé au bord de la carte ;
 *  - le paragraphe héritait d'un max-width de 70ch, soit 560 px dans une
 *    carte de 780 px, laissant un vide à droite ;
 *  - à l'ouverture, max-height était plafonné à 300 px. Sur téléphone la
 *    première réponse en fait 438 : son dernier tiers, qui limite la CSRD
 *    aux groupes de plus de 1 000 salariés, était purement invisible.
 * ------------------------------------------------------------------ */
html body .faq-answer {
  padding-left: 24px;
  padding-right: 24px;
}
html body .faq-answer p:not(#_f1):not(#_f2) {
  max-width: none;
}
html body .faq-item.open .faq-answer {
  max-height: 1200px;
}

/* ------------------------------------------------------------------ *
 *  Ligne de transparence sous le bandeau du hero
 *  Reprend le code visuel des liens « Vérifiable » des cartes de preuve :
 *  texte discret, lien doré souligné.
 * ------------------------------------------------------------------ */
html body section#main.hero .hxA-transparence {
  margin: 14px 0 0;
  font-size: .875rem;
  line-height: 1.6;
  color: #C2D4C8;
  -webkit-text-fill-color: #C2D4C8;
}
html body section#main.hero .hxA-transparence a {
  color: #FDE047;
  -webkit-text-fill-color: #FDE047;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
}

/* Même argumentaire sur le hero mobile de l'accueil, qui est un bloc
   distinct du hero bureau (.rv-mh remplace #main.hero sous 901 px). */
html body .rv-mh .mh-proof {
  position: relative;
  z-index: 1;
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  gap: 7px;
  font-size: .86rem;
  line-height: 1.45;
}
html body .rv-mh .mh-proof li {
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(255, 253, 248, .88);
  -webkit-text-fill-color: rgba(255, 253, 248, .88);
}
html body .rv-mh .mh-proof li b {
  color: #FFFDF8;
  -webkit-text-fill-color: #FFFDF8;
  font-weight: 700;
}
html body .rv-mh .mh-proof i {
  color: #FED174;
  -webkit-text-fill-color: #FED174;
  font-size: .95em;
  flex: 0 0 auto;
}
html body .rv-mh .mh-transp {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin-top: 12px;
  font-size: .82rem;
  color: #FED174;
  -webkit-text-fill-color: #FED174;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ------------------------------------------------------------------ *
 *  Exception pour les filigranes
 *
 *  La règle « images différées visibles » plus haut force opacity:1 sur
 *  toute image chargée en différé, pour rattraper les pages où le script
 *  de fondu ne tourne pas. Elle écrasait aussi les filigranes du hero, qui
 *  fixent volontairement 6 % : la feuille du fond s'affichait en pleine
 *  page sur l'accueil mobile et sur l'application. Ils reprennent ici leur
 *  discrétion, et leur filtre d'origine, que refine.css remplaçait par une
 *  saturation générique.
 * ------------------------------------------------------------------ */
html body:not(#_w1):not(#_w2):not(#_w3):not(#_w4) img.wm {
  opacity: .06 !important;
  filter: brightness(0) invert(1) !important;
  background: none !important;
  /* Il était posé à -24 et -30 px des bords pour 190 px de large : il
     débordait de la carte, qui le coupait. On le rentre dans le coin. */
  right: 16px !important;
  bottom: 16px !important;
  left: auto !important;
  top: auto !important;
  width: 104px !important;
}

/* ------------------------------------------------------------------ *
 *  Fond d'attente des images différées
 *  --------------------------------------------------------------
 *  rv-bundle.css peint un dégradé crème derrière toute image en
 *  chargement différé, et ne le retire jamais une fois l'image
 *  arrivée. Aucune animation ne s'y rattache : ce n'est pas un effet,
 *  c'est un reste. Invisible derrière une photo opaque, il devient un
 *  rectangle crème plein derrière un SVG ou un PNG transparent. C'est
 *  lui, et non le filigrane, qui faisait la tache claire du hero.
 *  On le retire pour les formats qui ont de la transparence, et on le
 *  garde pour les photos, où il sert encore à masquer le chargement.
 * ------------------------------------------------------------------ */
html body img[loading="lazy"][src$=".svg"],
html body img[loading="lazy"][src$=".png"],
html body img[loading="lazy"][src*=".svg?"],
html body img[loading="lazy"][src*=".png?"] {
  background: none !important;
}

/* ------------------------------------------------------------------ *
 *  Calendrier des échéances : cartes illisibles sous 901 px
 *
 *  mobile.css force un fond blanc sur une liste de cartes, dont
 *  .rv-cal-item. Or ces cartes-là vivent sur la section verte sombre et
 *  leur texte est crème : sur téléphone et sur tablette, les cinq
 *  échéances s'affichaient en blanc sur blanc, donc invisibles. Sur
 *  ordinateur elles sont transparentes, ce qui est le rendu voulu.
 *  On rétablit ici ce rendu, avec un voile très léger pour que la carte
 *  garde ses contours sur petit écran.
 * ------------------------------------------------------------------ */
@media (max-width: 900px) {
  html body .rv-calendar-preview .rv-cal-item {
    background: rgba(255, 253, 248, .07) !important;
    border: 1px solid rgba(253, 224, 71, .24) !important;
    box-shadow: none !important;
  }
}

/* ------------------------------------------------------------------ *
 *  Étiquette « Conseil RSE en restauration » du hero mobile
 *  --------------------------------------------------------------
 *  premium.css colore en #2E3F36 tout <span> du site, avec pour
 *  seules exceptions les badges, les -tag, .nav-cta et abbr. Sa chaîne
 *  de :not() lui donne une spécificité supérieure à celle du
 *  « color:#fff » déclaré sur .rv-mh .chip dans la page : l'étiquette
 *  s'affichait en vert ardoise sombre sur son voile clair posé sur le
 *  vert foncé du hero. Seul le sigle, doré, restait lisible.
 *  On rétablit le crème sur l'étiquette et sur le <span> que le script
 *  de glossaire injecte autour du texte. Le sigle garde son doré, qui
 *  passe le contraste (4,8:1), la feuille garde le sien.
 * ------------------------------------------------------------------ */
html body:not(#_c1):not(#_c2) .rv-mh .chip,
html body:not(#_c1):not(#_c2) .rv-mh .chip span,
html body:not(#_c1):not(#_c2) .rv-mh .chip b,
html body:not(#_c1):not(#_c2) .rv-mh .chip strong {
  color: #FFFDF8 !important;
  -webkit-text-fill-color: #FFFDF8 !important;
}

html body:not(#_c1):not(#_c2) .rv-mh .chip i,
html body:not(#_c1):not(#_c2) .rv-mh .chip abbr {
  color: #FED174 !important;
  -webkit-text-fill-color: #FED174 !important;
}

/* ------------------------------------------------------------------ *
 *  Bouton « Recevoir mon bilan » du calculateur carbone
 *  --------------------------------------------------------------
 *  refine.css donne à .rv-capture-row button un fond vert #1A4E30 et
 *  un texte blanc. Mais sous 900 px, refine.css et mobile.css posent
 *  tous deux une règle fourre-tout sur le pied de page,
 *  « footer.rv-footer-pro :not(#_a):not(#_b) », qui repeint en
 *  !important tout ce qu'il contient en gris #414942. Le formulaire de
 *  capture vit dans le pied de page : le libellé du bouton passait en
 *  gris foncé sur vert foncé, soit un contraste de 1 pour 1, illisible
 *  sur téléphone. On lui rend son blanc.
 * ------------------------------------------------------------------ */
@media (max-width: 900px) {
  html body footer .rv-capture-row button:not(#_q1):not(#_q2):not(#_q3),
  html body .rv-capture-row button:not(#_q1):not(#_q2):not(#_q3) {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
  }
}

/* ------------------------------------------------------------------ *
 *  Lien du bandeau de consentement
 *  --------------------------------------------------------------
 *  Le script pose style="color:#FDE047" sur ce lien, soit un contraste
 *  de 10,5 sur le vert #0F3320 du bandeau. Mais une regle !important du
 *  site colore tous les liens en ocre et bat le style en ligne : le lien
 *  tombait a 2,9, puis a 2,5 apres l'alignement de l'ocre sur #806519.
 *  Defaut anterieur, aggrave par ce changement, revele par le banc le
 *  jour ou le bandeau s'est affiche pendant la mesure.
 * ------------------------------------------------------------------ */
html body #rvConsent a:not(#_cs1):not(#_cs2):not(#_cs3) {
  color: #FDE047 !important;
  -webkit-text-fill-color: #FDE047 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
