/* ======= V2 BLOCKS COMPAT (fusionne depuis v3-blocks.css) — DOIT rester avant les regles V3 ======= */

/* v3-blocks.css — sous-ensemble RÉELLEMENT UTILISÉ de blocks.css (V2), généré via PurgeCSS
   sur le rendu de tous les types de page (2026-07-03). Chargé sur le FRONT à la place
   du blocks.css complet (156Ko -> 20Ko). blocks.css complet reste pour l'éditeur.
   Régénérer : npx purgecss@6 --css blocks.css --content <html de chaque type de page>.
   overflow-x:hidden -> clip (ne casse pas position:sticky). */
.rh-image-mask--mask-1 { --rh-image-mask-url: url("../masks/externalisation-administrative-1.webp"); }
.rh-image-mask--mask-2 { --rh-image-mask-url: url("../masks/externalisation-organisme-de-formation-1.webp"); }
.rh-image-mask--mask-3 { --rh-image-mask-url: url("../masks/externalisation-paie-1.webp"); }
.rh-image-mask--mask-4 { --rh-image-mask-url: url("../masks/externalisation-service-client.webp"); }
.rh-image-mask--mask-5 { --rh-image-mask-url: url("../masks/externalisation-webmarketing-1024x768.webp"); }
.rh-image-mask--mask-6 { --rh-image-mask-url: url("../masks/Groupe-858.webp"); }
.rh-image-mask--mask-7 { --rh-image-mask-url: url("../masks/img14-1.webp"); }
.rh-image-mask--mask-8 { --rh-image-mask-url: url("../masks/Clip-path-group-1.webp"); }
.rh-image-mask > img,
.rh-image-mask-wrap.rh-image-mask img {
    display: block;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 470px !important;
    margin-right: auto;
    margin-left: auto;
    border-radius: 0 !important;
    object-fit: contain;
    -webkit-mask-image: var(--rh-image-mask-url);
    mask-image: var(--rh-image-mask-url);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}

:root {
    --rh-purple: #4d4084;
    --rh-purple-hover: #3f3473;
    --rh-orange-hover: #e94f0f;
    --rh-purple-dark: #1d1341;
    --rh-teal: #10cfc9;
    --rh-ink: #241b3f;
    --rh-text: #493f60;
    --rh-muted: #f5f2fb;
    --rh-soft: #fff7f1;
    --rh-border: #e8e2f2;
    --rh-max: 1380px;
    --rh-body-font-size: 18px;
    --rh-body-line-height: 1.62;
    --rh-heading-line-height: 1.14;
    --rh-text-flow: 1.05em;
    --rh-heading-flow: .62em;
}

html,
body {
    max-width: 100%;
    overflow-x: clip; /* clip (et non hidden) : évite le scroll horizontal SANS casser position:sticky */
}

.rh-btn-wrap {
    margin: 30px 0;
    display: flex;
    justify-content: center;
}

.rh-custom-block-container--padding-3 {
    padding-top: 30px;
    padding-bottom: 50px;
}

.rh-custom-block-container--padding-4 {
    padding-top: 0;
    padding-bottom: 75px;
}

@media (max-width: 767px) {
    
    .rh-custom-block-container--padding-3,
    .rh-custom-block-container--padding-4 {
        padding-top: 25px;
        padding-bottom: 25px;
    }
}


.rh-service-page li{
    position: relative;
    list-style: none !important;
}

.rh-service-page li:before{
    content: "";
    display: block;
    position: absolute;
    width: 14px;
    height: 14px;
    margin-top: 3px;
    background: url("../../../../uploads/2023/06/Arrow-Left-Circle.svg") center no-repeat;
    background-size: contain;
    left: -25px;
    top: 3px;
}

.rh-service-page ul{
    padding-left: 25px;
}


.rh-entry-content ul li{
    position: relative;
    list-style: none;

}

.rh-entry-content ul li:after{
    content: "";
    width: 14px;
    height: 14px;
    margin-top: 3px;
    background: url("../../../../uploads/2023/06/Arrow-Left-Circle.svg") center no-repeat;
    background-size: contain;
    display: block;
    position: absolute;
    left: -20px;
    top: 5px;
}

/*.rh-prod-jobs li span::before,
.rh-prod-jobs li span::after {
    content: "";
    position: absolute;
    background: var(--rh-purple);
}
*/
/*.rh-prod-jobs li span::before {
    left: 3px;
    top: 5px;
    width: 6px;
    height: 2px;
    position: absolute;
    width: 14px;
    height: 14px;
    display: block;
    background-size: contain;
}*/

/*.rh-prod-jobs li span::after {
    right: 3px;
    top: 3px;
    width: 2px;
    height: 6px;
    transform: rotate(45deg);
    transform-origin: center;
}
*/

@keyframes rh-testimonials-marquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(var(--rh-testimonials-loop-distance) * -1));
    }
}

.rh-prod-faq__items {
    display: grid;
    gap: 0;
    margin-top: 52px;
    padding: 54px 110px 58px;
    border-radius: 38px;
    background: #e9ecf5;
}

@media (max-width: 767px) {

    .rh-prod-faq__items {
        margin-top: 32px;
        padding: 24px 18px 28px;
        border-radius: 28px;
    }
}

body {
    color: var(--rh-text);
    font-family: "Inter", Arial, sans-serif;
    overflow-x: clip;
}

.site-main {
    overflow: visible;
}

body.page-template-template-service .site-main,
body.page-template-template-service-php .site-main,
body.rh-service-template .site-main {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible;
}

html:has(body.page-template-template-service),
html:has(body.page-template-template-service-php),
html:has(body.rh-service-template),
html:has(body.page-template-guide),
html:has(body.page-template-guide-php),
body.page-template-template-service,
body.page-template-template-service-php,
body.rh-service-template,
body.page-template-guide,
body.page-template-guide-php {
    overflow-x: clip;
}

body.home .site-main {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.rh-container,
.rh-entry-content > * {
    width: min(var(--rh-max), calc(100% - 30px));
    margin-left: auto;
    margin-right: auto;
}


.rh-entry-content h1 {
    max-width: 980px;
    margin: 0;
    color: var(--rh-purple);
    font-size: clamp(38px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.04;
}


.rh-entry-content h1{
    margin-bottom: 28px;
}

.rh-entry-content {
    padding: clamp(42px, 0, 76px) 0;
}


.rh-entry-content h2 {
    margin-bottom: .55em;
    color: var(--rh-purple);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.13;
}

.rh-entry-content h3 {
    margin-top: 1.4em;
    color: #4d4084;
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 800;
}

.rh-entry-content p,
.rh-entry-content li {
    font-size: 17px;
    line-height: 1.72;
}

.rh-entry-content a {
    color: var(--rh-purple);
    font-weight: 700;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.rh-entry-content ul,
.rh-entry-content ol {
    padding-left: 25px;
}

.rh-entry-content strong {
}

.wp-block-button__link,
.demand-devis,
.rh-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 14px 22px;
    border: 1px solid var(--rh-purple);
    border-radius: 8px;
    background: var(--rh-purple);
    color: #fff !important;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.wp-block-button__link:hover,
.demand-devis:hover,
.rh-btn:hover {
    border-color: var(--rh-purple-hover);
    background: var(--rh-purple-hover);
    color: #fff !important;
}

.rh-btn-phone {
    border-color: var(--rh-border);
    background: #fff;
    color: var(--rh-purple) !important;
}

.wpcf7 form {
    display: grid;
    gap: 14px;
}

.wpcf7 input:not([type="submit"]),
.wpcf7 textarea,
.wpcf7 select {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--rh-border);
    border-radius: 8px;
    background: #fff;
    color: var(--rh-ink);
}

.wpcf7 textarea {
    min-height: 130px;
}

.wpcf7 input[type="submit"] {
    width: fit-content;
    min-height: 48px;
    padding: 14px 22px;
    border: 1px solid var(--rh-teal);
    border-radius: 8px;
    background: var(--rh-teal);
    color: var(--rh-purple-dark);
    font-weight: 800;
    cursor: pointer;
}

.rh-service-page {
    color: var(--rh-purple);
    font-family: "Inter", Arial, sans-serif;
}

.rh-service-content {
/*    margin-top: 18px;
*/}

.rh-service-content:empty {
    display: none;
}

/*.rh-service-layout {
  position: relative;
}

.rh-service-layout > div,
.rh-service-sidebar {
  box-sizing: border-box;
}

.rh-service-sidebar {
  position: relative;
        max-width: 410px;
    width: 100%

}

.rh-service-sidebar.is-sticky {
  position: absolute;
  top: 100px;
  z-index: 10;
 right: 0;
}

.rh-service-sidebar.is-bottom {
  position: relative;
  bottom: 0;
}*/

.rh-contact-page {
    color: var(--rh-purple);
    font-family: "Inter", Arial, sans-serif;
}

.rh-service-figures {
    grid-column: 1 / -1;
    margin: 8px 0 0;
    padding: 18px 0;
    overflow: hidden;
    background: transparent;
    max-width: 1380px;
    width: 100%;
    margin: auto;
}

.rh-service-figures__viewport {
    overflow: hidden;
    width: 100%;
}

.rh-service-figures__track {
    --rh-service-figures-slide-width: min(920px, calc(100vw - 72px));
    --rh-service-figures-slide-gap: 28px;
    --rh-service-figures-loop-distance: calc((var(--rh-service-figures-slide-count) - 1) * (var(--rh-service-figures-slide-width) + var(--rh-service-figures-slide-gap)));
    display: flex;
    width: max-content;
    animation: rh-service-figures-slider calc(var(--rh-service-figures-slide-count) * 16s) linear infinite;
    will-change: transform;
}

.rh-service-figures:hover .rh-service-figures__track {
    animation-play-state: paused;
}

.rh-service-figures__slide,
.rh-service-figures--editor figure {
    display: flex;
    height: 96px;
    padding: 18px 22px;
    background: #cecdd6;
    align-items: center;
    justify-content: center;
    
}

.rh-service-figures__slide {
    width: calc(var(--rh-service-figures-slide-width) * var(--rh-service-figures-slide-ratio, 1));
    flex: 0 0 calc(var(--rh-service-figures-slide-width) * var(--rh-service-figures-slide-ratio, 1));
}

.rh-service-figures img {
    flex: 1 1 0;
    display: block;
    min-width: 0;
    max-width: 120px;
    max-height: 100%;
    object-fit: contain;
}

.rh-service-figures__slide > .rh-service-figures__slide-image {
    width: 100%;
    height: 100%;
    max-width: none;
}

.rh-service-figures--editor .rh-service-figures__track {
    animation: none;
}

.rh-service-figures--static .rh-service-figures__track {
    animation: none;
    transform: translateX(0);
}

.rh-service-figures--editor figure {
    width: 190px;
    flex: 0 0 190px;
}

@keyframes rh-service-figures-slider {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-1 * var(--rh-service-figures-loop-distance)));
    }
}

@media (prefers-reduced-motion: reduce) {
    .rh-service-figures__track {
        animation: none;
    }
}

.rh-service-project {
    position: relative;
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 554px) minmax(0, 560px);
    gap: clamp(80px, 10vw, 170px);
/*    width: min(1180px, 100%);
*/    margin: 0 auto;
    padding: 0;
    width: 100%;
    background: transparent;
    align-items: center;
    isolation: isolate;
}

.rh-service-project[style*="--rh-service-project-bg"] {
    left: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding: 72px max(15px, calc((100vw - 1380px) / 2)) !important;
    background: var(--rh-service-project-bg) !important;
    box-sizing: border-box;
}

.rh-service-project--image-none {
    grid-template-columns: 1fr;
    gap: 0;
}

.rh-service-project--image-none .rh-service-project__copy {
    width: min(100%, 1380px);
}

.rh-service-project--image-none .rh-service-project__copy :where(h1, h2, h3, h4, h5, h6) {
    max-width: 100%;
    font-family: "Inter", Sans-serif;
    font-size: 18px;
    font-weight: 700;
}

.rh-service-project__copy {
    color: var(--rh-purple);
}

.rh-service-project__copy :where(h1, h2, h3, h4, h5, h6) {
    max-width: 560px;
    margin: 0 0 68px;
    color: var(--rh-purple);
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
}

.rh-service-project__copy p {
    max-width: 630px;
    margin: 0 0 18px;
    color: var(--rh-purple);
    font-size: 18px;
    line-height: 1.08;
}

.rh-service-project--columns-2 .rh-service-project__text {
    column-count: 2;
    column-gap: 38px;
}

.rh-service-project--columns-2 .rh-service-project__text p {
    break-inside: avoid;
}

.rh-service-project__copy strong {
    font-weight: 700;
}

.rh-service-project__copy a {
/*    display: inline-flex;
    min-height: 56px;
    margin-top: 32px;
    padding: 15px 20px;
    border-radius: 12px;
*/    /*background: var(--rh-purple);*/
    color: var(--rh-purple) !important;
/*    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    text-transform: uppercase;
    align-items: center;
    justify-content: center;
*/
text-decoration: underline;
}

.rh-service-logo-listing {
    width: min(1380px, calc(100% - 30px));
    margin: 58px auto 0;
}

.rh-service-logo-listing__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px 18px;
    margin-bottom: 50px;
}


 .rh-service-project {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 40px;
}


.rh-service-content .rh-service-project.rh-service-project--columns-2{
    grid-template-columns: 1fr;}


.rh-service-logo-listing figure {
    display: flex;
    min-height: 132px;
    margin: 0;
    padding: 30px 38px;
    border-radius: 14px;
    background: #eff0f9;
    align-items: center;
    justify-content: center;
}

.rh-service-logo-listing img {
    display: block;
    width: 100%;
    max-width: 210px;
    max-height: 72px;
    object-fit: contain;
}

.rh-site-footer {
    background: var(--rh-purple-dark);
    color: #fff;
}

.rh-site-footer a {
    color: #fff;
}

@media (max-width: 767px) {

    .rh-service-project {
        grid-template-columns: 1fr;
        gap: 34px;
        margin-top: 54px;
        padding-bottom: 54px;
    }

    .rh-service-project[style*="--rh-service-project-bg"] {
        padding: 42px 18px;
    }

    .rh-service-project--image-none .rh-service-project__copy {
        width: 100%;
    }

    .rh-service-project__copy :where(h1, h2, h3, h4, h5, h6) {
        margin-bottom: 28px;
        font-size: 32px;
    }

    .rh-service-project__copy p {
        font-size: 16px;
        line-height: 1.25;
    }

    .rh-service-project--columns-2 .rh-service-project__text {
        column-count: 1;
    }

    .rh-service-logo-listing {
        margin-top: 42px;
    }

    .rh-service-logo-listing__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .rh-service-logo-listing figure {
        min-height: 104px;
        padding: 24px 18px;
        border-radius: 10px;
    }
}

/* Interaction and responsive hardening */
.wp-block-button__link,
.demand-devis,
.rh-btn,
.rh-service-project__copy a {
    transition: background-color .24s ease, border-color .24s ease, color .24s ease, opacity .24s ease;
}

.wp-block-button__link:hover,
.demand-devis:hover,
.rh-btn:hover,
.rh-service-project__copy a:hover {
    border-color: var(--rh-purple-hover);
    background-color: var(--rh-purple-hover);
    color: #fff !important;
}

img,
svg,
canvas {
    max-width: 100%;
}

.site-main :where( .wp-block-table, .wp-block-columns),
.rh-entry-content :where(figure, .wp-block-table, .wp-block-columns) {
    margin-left: auto;
    margin-right: auto;
}

.rh-entry-content :where(p > img, figure > img) {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.site-main :where(.rh-entry-content) :where(p, li) {
    font-size: var(--rh-body-font-size);
    line-height: var(--rh-body-line-height);
}

.site-main :where(.rh-entry-content) :where(p) {
    margin-top: 0;
    margin-bottom: var(--rh-text-flow);
}

.site-main :where(.rh-entry-content) :where(p:last-child) {
    margin-bottom: 0;
}

.site-main :where(.rh-entry-content) :where(h2) {
    margin-top: 0;
    margin-bottom: var(--rh-heading-flow);
    line-height: var(--rh-heading-line-height);
}

.site-main :where(.rh-entry-content) :where(h3) {
    margin-top: 1.35em;
    margin-bottom: var(--rh-heading-flow);
    line-height: 1.18;
}

.site-main :where(.rh-entry-content) :where(h1, h2, h3, h4, h5, h6) {
    margin-bottom: var(--rh-heading-flow);
}

.rh-entry-content p,
.rh-entry-content li,
.rh-service-project__copy p {
    font-size: var(--rh-body-font-size);
    line-height: var(--rh-body-line-height);
}


.rh-service-project__copy :where(h1, h2, h3, h4, h5, h6) {
    margin-bottom: var(--rh-heading-flow);
    line-height: var(--rh-heading-line-height);
}


.rh-service-logo-listing {
    min-width: 0;
}

@media (max-width: 767px) {

    .rh-service-logo-listing__grid {
        grid-template-columns: 1fr 1fr;
    }

    .rh-service-logo-listing img {
        max-height: 56px;
    }
}

@media (max-width: 420px) {
    .rh-service-logo-listing__grid {
        grid-template-columns: 1fr;
    }
}

body.page-id-27 .rh-entry-content {
    margin: 0;
    padding: 0;
}

body.page-id-33676 .rh-entry-content {
    padding-top: 0;
}



/*reassurance statique*/


/*animation slide*/

    @keyframes rxg-slide-word {
      0%, 4% {
        opacity: 0;
        transform: translate(-42px, -50%);
      }

      8%, 18% {
        opacity: 1;
        transform: translate(0, -50%);
      }

      24%, 100% {
        opacity: 0;
        transform: translate(42px, -50%);
      }
    }

/*animation slide */

@media (max-width: 767px) {
    body .site-main :where(h1, h2, h3, h4, h5, h6, p, li, a, strong) {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    body .site-main :where( .rh-entry-content h1) {
        max-width: 100%;
        font-size: clamp(36px, 10vw, 44px) !important;
        line-height: 1.05 !important;
    }
}

@media (max-width: 767px) {

    body .site-main .rh-container {
        width: calc(100% - 30px) !important;
        max-width: 100% !important;
        margin-right: auto !important;
        margin-left: auto !important;
        min-width: 0;
    }
}

:root {
    --rh-font-family: "Inter", Arial, sans-serif;
    --rh-h1-font-size: 68px;
    --rh-h2-font-size: 40px;
    --rh-h3-font-size: 30px;
    --rh-h4-font-size: 24px;
    --rh-h5-font-size: 20px;
    --rh-h6-font-size: 18px;
    --rh-body-font-size: 18px;
    --rh-body-line-height: 1.45;
    --rh-heading-line-height: 1.14;
}

body,
button,
input,
select,
textarea,
body :where(.site-main, .site-main *, .site-header, .site-header *) {
    font-family: var(--rh-font-family) !important;
}

body .site-main :where(h1, h2, h3, h4, h5, h6, p, li) {
    font-family: var(--rh-font-family) !important;
}

body .site-main :where(p, li) {
    font-size: var(--rh-body-font-size);
    line-height: var(--rh-body-line-height);
}

body .site-main :where(h1) {
    font-size: var(--rh-h1-font-size) ;
    line-height: 1.05 !important;
}

body .site-main :where(h3) {
    font-size: var(--rh-h3-font-size);
    line-height: 1.18 ;
}

body .site-main :where(h5) {
    font-size: var(--rh-h5-font-size);
    line-height: 1.24;
}

body .site-main :where(h6) {
    font-size: var(--rh-h6-font-size)t;
    line-height: 1.28;
}

body .site-main .rh-service-project--image-none .rh-service-project__copy h3 {
    font-size: 18px !important;
}

body .site-main .rh-service-project--image-none .rh-service-project__text h2 {
    font-size: 20px !important;
}

@media (max-width: 767px) {
    :root {
        --rh-h1-font-size: clamp(36px, 10vw, 44px);
        --rh-h2-font-size: 32px;
        --rh-h3-font-size: 26px;
        --rh-h4-font-size: 22px;
        --rh-h5-font-size: 19px;
        --rh-h6-font-size: 17px;
        --rh-body-font-size: 16px;
        --rh-body-line-height: 1.5;
    }
}

.rh-entry-content .wsp-pages-list li:after{
    display: none !important;
}

/* ===== Plan du site ===== */
body.page-id-340 .rhv3-page-hero{
    background: none;
}
body.page-id-340 .rh-entry-content{
    max-width: 1040px;
    padding: clamp(24px, 4vw, 48px) clamp(16px, 4vw, 40px) clamp(58px, 7vw, 92px);
    background: none;
}
body.page-id-340 .wsp-container{
    position: relative;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
}
body.page-id-340 .wsp-container::before{
    content: none;
}
body.page-id-340 .wsp-container :is(h2, .wsp-pages-title){
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 clamp(20px, 3vw, 30px);
    color: var(--rhv3-ink);
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 800;
    letter-spacing: -.02em;
}
body.page-id-340 .wsp-container :is(h2, .wsp-pages-title)::before{
    content: "";
    width: 13px;
    height: 13px;
    border-radius: 999px;
    background: var(--rhv3-orange);
    box-shadow: none;
    flex: 0 0 auto;
}
body.page-id-340 .wsp-container ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
body.page-id-340 .wsp-pages-list{
    display: block;
    columns: auto;
    column-gap: 0;
}
body.page-id-340 .wsp-pages-list > li{
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0 0 15px 0 !important;
    padding: 9px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    break-inside: avoid;
    transition: none;
}
body.page-id-340 .wsp-pages-list > li:hover{
    transform: none;
    border-color: transparent;
    box-shadow: none;
}
body.page-id-340 .wsp-pages-list > li.page-item-81765{ display: none; }
body.page-id-340 .wsp-container li{
    margin: 0;
    padding: 0;
    color: var(--rhv3-ink-soft);
    line-height: 1.45;
}
body.page-id-340 .wsp-container a{
    position: relative;
    display: block;
    padding-left: 18px;
    min-width: 0;
    color: var(--rhv3-ink);
    text-decoration: none;
    font-weight: 650;
    font-size: 14px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
    transition: color .16s ease, background .16s ease, transform .16s ease;
}
body.page-id-340 .wsp-container a::before{
    content: "";
    position: absolute;
    left: 0;
    top: .55em;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--rhv3-violet);
    box-shadow: none;
}
body.page-id-340 .wsp-container a:hover,
body.page-id-340 .wsp-container a:focus-visible{
    color: var(--rhv3-violet);
}
body.page-id-340 .wsp-container a:focus-visible{
    outline: 2px solid rgba(77, 64, 132, .35);
    outline-offset: 4px;
    border-radius: 8px;
}
body.page-id-340 .wsp-pages-list > li > a{
    font-size: 15.5px;
}
body.page-id-340 .wsp-pages-list > li > a::before{
    background: var(--rhv3-orange);
    box-shadow: none;
}
body.page-id-340 .wsp-container .children{
    display: grid;
    gap: 4px;
    margin: 7px 0 0 22px;
    padding: 0;
    border-top: 0;
}
body.page-id-340 .wsp-container .children .children{
    margin: 7px 0 0 15px;
    padding: 8px 0 0 12px;
    border-top: 0;
    border-left: 0;
}
body.page-id-340 .wsp-container .children a{
    padding: 7px 8px 7px 18px;
    border-radius: 10px;
    color: var(--rhv3-ink-soft);
    font-size: 13.5px;
    font-weight: 650;
}
body.page-id-340 .wsp-container .children a::before{
    width: 6px;
    height: 6px;
    background: #10cfc9;
    box-shadow: none;
}
body.page-id-340 .wsp-container .children a:hover,
body.page-id-340 .wsp-container .children a:focus-visible{
    background: transparent;
    color: var(--rhv3-violet);
    transform: translateX(2px);
}
@media (max-width: 1080px){
    body.page-id-340 .wsp-pages-list{ columns: auto; }
}
@media (max-width: 680px){
    body.page-id-340 .rh-entry-content{ box-sizing: border-box; width: 100%; max-width: 100%; padding-inline: 14px; overflow: hidden; }
    body.page-id-340 .wsp-container{ width: 100%; max-width: 100%; padding: 0; border-radius: 0; }
    body.page-id-340 .wsp-pages-list{ columns: auto; }
    body.page-id-340 .wsp-pages-list > li{ padding: 8px 0; border-radius: 0; }
    body.page-id-340 .wsp-container a{ max-width: calc(100vw - 82px); }
    body.page-id-340 .wsp-container .children a{ padding-left: 16px; padding-right: 0; font-size: 13px; }
}

/* ===== Barre de contact / réassurance — shortcode [barre_contact] ===== */

/* Bandeau de logos clients en pleine largeur du contenu (comme .reassurance) */
.rh-service-content .rh-service-figures{ max-width: none; }
.rh-service-content .rh-custom-block-container--rouge-hexagone-service-figures{ width:100%; max-width:none; }

/* Air vertical autour des blocs COLORÉS uniquement (les zones blanches restent collées entre elles) */
.rh-service-content .rh-service-project[style*="--rh-service-project-bg"]{ margin-top: 56px; margin-bottom: 56px; }

/* Fusionner visuellement deux sections grises successives sans supprimer leur air extérieur. */

.rh-service-content > .rh-custom-block-container--rouge-hexagone-service-project:has(
    > .rh-service-project[style*="--rh-service-project-bg:#eff0f9"]
):has(
    + :is(
        .rh-custom-block-container--rouge-hexagone-service-project:has(
            > .rh-service-project[style*="--rh-service-project-bg:#eff0f9"]
        )
    )
) > .rh-service-project {
    margin-bottom: 0;
}

.rh-service-content > :is(
    .rh-custom-block-container--rouge-hexagone-service-project:has(
        > .rh-service-project[style*="--rh-service-project-bg:#eff0f9"]
    )
) + .rh-custom-block-container--rouge-hexagone-service-project:has(
    > .rh-service-project[style*="--rh-service-project-bg:#eff0f9"]
) > .rh-service-project {
    margin-top: 0;
}

/* Tableaux : pleine largeur dans une section 2 colonnes (ne pas couper entre les colonnes) */
.rh-service-content .rh-service-project--columns-2 .rh-service-project__text figure.wp-block-table,
.rh-service-content .rh-service-project--columns-2 .rh-service-project__text table,
.rh-service-content .rh-service-project--columns-2 .rh-service-project__text figure {
    column-span: all;
    break-inside: avoid;
}
.rh-service-content .rh-service-project__text figure.wp-block-table{ margin: 18px 0; overflow-x:auto; }

/* Modal du formulaire de contact des pages services. */
body .rh-service-modal[hidden] {
    display: none !important;
}

body .rh-service-modal,
body .rh-service-modal *,
body .rh-service-modal *::before,
body .rh-service-modal *::after {
    box-sizing: border-box;
}

body .rh-service-modal {
    position: fixed;
    z-index: 100000;
    inset: 0;
    display: grid;
    width: 100%;
    height: 100%;
    padding: 48px 16px;
    overflow: auto;
    place-items: start center;
}

body .rh-service-modal__backdrop {
    position: fixed;
    z-index: 0;
    inset: 0;
    background: rgba(22, 21, 24, .86);
    cursor: pointer;
}

body.rh-service-modal-open {
    overflow: hidden !important;
}

@media (max-width: 680px) {
    body .rh-service-modal {
        padding: 15px;
        place-items: center;
    }
}


/* ============ FIN V2 COMPAT — DEBUT V3 (v3.css d'origine) ============ */

/* ============================================================================
   Rouge Hexagone — Refonte V3 (graphique) — Fondations
   Tokens + base typo + classes utilitaires OPT-IN (préfixe .rhv3-)
   Chargé en front ET éditeur (cf. inc/v3-functions.php).
   NB : les classes utilitaires ne s'appliquent QUE là où on les pose
   (pages refaites V3). Les pages V2 non refaites ne sont pas impactées,
   hormis le changement global de police (Inter -> Plus Jakarta Sans).
   ========================================================================== */

:root{
  /* Couleurs V3 */
  --rhv3-ink:#26244e;
  --rhv3-ink-soft:#62608a;
  --rhv3-violet:#4a3fc4;
  --rhv3-violet-2:#6457e8;
  --rhv3-violet-deep:#211c54;
  --rhv3-orange:#ff9d1c;
  --rhv3-orange-soft:#ffbe5c;
  --rhv3-lav:#f6f5fd;
  --rhv3-lav-2:#edecf9;
  --rhv3-line:#e8e7f4;
  --rhv3-paper:#ffffff;
  --rhv3-green:#1f9d6b;
  /* Ombres */
  --rhv3-shadow-sm:0 4px 14px -8px rgba(34,28,84,.25);
  --rhv3-shadow:0 14px 40px -18px rgba(34,28,84,.28);
  /* Typo / layout */
  --rhv3-font:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --rhv3-maxw:1200px;
  --rhv3-radius:18px;
  --rhv3-radius-sm:14px;
}

/* --- Police globale (swap Inter -> Plus Jakarta Sans) --- */
body{ font-family:var(--rhv3-font); }

/* --- Reset & base (v3.css self-suffisant : le CSS du thème parent hello-elementor
   n'est plus chargé sur le front, cf. functions.php) --- */
*, *::before, *::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{ margin:0; line-height:1.5; -webkit-font-smoothing:antialiased; }
img, svg, video, canvas{ max-width:100%; }
img{ height:auto; }
a{ color:inherit; }
button{ font-family:inherit; }
.site-main{ width:100%; }
/* a11y : texte réservé aux lecteurs d'écran (fourni auparavant par le thème parent) */
.screen-reader-text{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }
.screen-reader-text:focus{ position:fixed !important; top:8px; left:8px; width:auto; height:auto; clip:auto; clip-path:none; white-space:normal; padding:12px 20px; background:#fff; color:var(--rhv3-ink); z-index:100000; box-shadow:var(--rhv3-shadow); }

/* ============================================================================
   CORRECTIFS 2026-07-01 (retour Vincent)
   ========================================================================== */
/* 1) POLICE : blocks.css force var(--rh-font-family)="Inter" sur tout .site-main.
   Fix racine : redéfinir --rh-font-family = Plus Jakarta Sans (v3.css charge après blocks.css). */
:root{ --rh-font-family:'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }
h1, h2, h3, h4, h5, h6,
.rhv3, .rhv3 *, .rhv3-dc, .rhv3-dc *, .rhv3-home, .rhv3-home *, .rhv3-about, .rhv3-about *{
  font-family:'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif !important;
}
.rhv3-charte__name, .rhv3-swatch__hex{ font-family:ui-monospace, SFMono-Regular, Menlo, monospace !important; }

/* 2) PLEINE LARGEUR : `.rh-entry-content > *` (width:min(1380,…)) de blocks.css
   bride le contenu → on lève sur les pages V3. (.site-main n'est plus capé : cf. style.css) */
.rh-entry-content > .rhv3-dc,
.rh-entry-content > .rhv3-about,
.rh-entry-content > .rhv3-charte{ width:100% !important; max-width:none !important; }
/* Toute page.php contenant des sections full-bleed .rhv3-sec : entry-content pleine largeur
   (sinon le calc margin-left:calc(50% - 50vw) est décalé -> page centrée de travers). */
.rh-page .rh-entry-content:has(.rhv3-sec){ max-width:none; padding-inline:0; }
/* pages full-bleed : supprimer le padding-block de .rh-page (sinon gros blanc menu->hero) */
.rh-page:has(.rhv3-sec){ padding-block:0; }

/* 3) Pas d'espace blanc parasite au-dessus des pages À propos (le hero gère son espacement). */
.rh-page:has(.rhv3-about){ padding-top:0; padding-bottom:0; }

/* --- Alias de tokens "courts" (noms de la maquette Claude Design) ---
   Scopés aux conteneurs de reconstruction fidèle pour transcrire le markup
   des .dc.html verbatim (var(--ink), var(--violet)…) sans collision globale. */
.rhv3-home, .rhv3-dc{
  --ink:#26244e; --ink-soft:#62608a; --violet:#4a3fc4; --violet-2:#6457e8; --violet-deep:#211c54;
  --orange:#ff9d1c; --orange-soft:#ffbe5c; --lav:#f6f5fd; --lav-2:#edecf9; --line:#e8e7f4;
  --paper:#ffffff; --green:#1f9d6b;
  --shadow-sm:0 4px 14px -8px rgba(34,28,84,.25); --shadow:0 14px 40px -18px rgba(34,28,84,.28);
  font-family:var(--rhv3-font); color:var(--ink); line-height:1.5;
}
.rhv3-home *, .rhv3-dc *{ box-sizing:border-box; }
.rhv3-home a, .rhv3-dc a{ text-decoration:none; }
.rhv3-home img, .rhv3-dc img{ display:block; max-width:100%; }
.rhv3-home ul, .rhv3-dc ul{ margin:0; padding:0; list-style:none; }
/* Neutralise les marqueurs décoratifs (li::after image) hérités de la zone contenu */
.rhv3-home li::after, .rhv3-dc li::after{ content:none !important; display:none !important; background:none !important; }
@keyframes frUp{ from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:none} }
.rhv3-home details > summary, .rhv3-dc details > summary{ list-style:none; cursor:pointer; }
.rhv3-home details > summary::-webkit-details-marker, .rhv3-dc details > summary::-webkit-details-marker{ display:none; }
.rhv3-home .rhv3-faqchev, .rhv3-dc .rhv3-faqchev{ transition:transform .2s; }
.rhv3-home details[open] .rhv3-faqchev, .rhv3-dc details[open] .rhv3-faqchev{ transform:rotate(180deg); }
.rhv3-faq details.rh-faq-details--animated > .rhv3-faq__answer,
.rh-prod-faq details.rh-faq-details--animated > p,
.rh-home-faq details.rh-faq-details--animated > p{ overflow:hidden; transition:height .34s ease, opacity .24s ease, transform .34s ease; will-change:height,opacity,transform; }
@media (prefers-reduced-motion:reduce){
  .rhv3-faq details.rh-faq-details--animated > .rhv3-faq__answer,
  .rh-prod-faq details.rh-faq-details--animated > p,
  .rh-home-faq details.rh-faq-details--animated > p{ transition:none; }
}
.rhv3-home .rhv3-home-skill:hover, .rhv3-home .rhv3-home-news:hover,
.rhv3-dc .rhv3-home-skill:hover, .rhv3-dc .rhv3-home-news:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.rhv3-dc .rhv3-jobpill:hover{ border-color:var(--violet); color:var(--violet); }
/* Accueil : les blocs maison rendent leurs sections pleine largeur (on neutralise
   le wrapper .rh-container.rh-custom-block-container qui bride à 1380 + padding). */
.rhv3-home .rh-container.rh-custom-block-container{ max-width:none; width:auto; margin:0; padding:0; }

/* Hero bloc product-banner V3 : badges à coche + nettoyage anciennes règles */
.rhv3-hero .rhv3-hero__badges{ display:flex; flex-wrap:wrap; gap:10px 18px; margin:0 0 26px; padding:0; list-style:none; }
.rhv3-hero .rhv3-hero__badges li{ display:flex; align-items:center; gap:8px; font-weight:600; font-size:14.5px; color:var(--rhv3-ink); }
.rhv3-hero .rhv3-hero__badges li strong{ color:var(--rhv3-ink); font-weight:700; }
.rhv3-hero .rhv3-hero__badges li::before{ content:""; width:17px; height:17px; flex:0 0 auto; border-radius:50%; background:var(--rhv3-violet) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat; }

/* Bande de stats (bloc key-numbers V3) */
.rhv3-statsband__num sup{ color:var(--rhv3-orange-soft); font-weight:800; vertical-align:baseline; font-size:1em; }

/* ============================ Primitives opt-in ============================ */

.rhv3{ font-family:var(--rhv3-font); color:var(--rhv3-ink); -webkit-font-smoothing:antialiased; line-height:1.5; }
.rhv3 *{ box-sizing:border-box; }

.rhv3-container{ max-width:var(--rhv3-maxw); margin:0 auto; padding-left:clamp(18px,4vw,40px); padding-right:clamp(18px,4vw,40px); }
.rhv3-section{ padding-top:clamp(46px,6vw,80px); padding-bottom:clamp(46px,6vw,80px); }
.rhv3-bg-lav{ background:var(--rhv3-lav); }
.rhv3-bg-paper{ background:var(--rhv3-paper); }
.rhv3-bg-deep{ background:var(--rhv3-violet-deep); color:#fff; }

/* Eyebrow (suréti­tre orange) */
.rhv3-eyebrow{ font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--rhv3-orange); margin:0 0 12px; }
.rhv3-bg-deep .rhv3-eyebrow{ color:var(--rhv3-orange-soft); }

/* Titres */
.rhv3-h2{ display:block; font-size:clamp(26px,3.4vw,38px); font-weight:800; letter-spacing:-.02em; margin:0 0 12px; line-height:1.1; }
.rhv3-h3{ font-size:17px; font-weight:800; letter-spacing:-.01em; margin:0 0 7px; }
.rhv3-lead{ color:var(--rhv3-ink-soft); font-size:16px; margin:0; }
.rhv3-accent{ color:var(--rhv3-violet); }

/* Boutons (pill) */
.rhv3-btn{ display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:16px; padding:15px 26px; border-radius:999px; border:0; cursor:pointer; text-decoration:none; transition:background .15s,border-color .15s,color .15s,transform .2s; line-height:1; }
.rhv3-btn--primary{ background:var(--rhv3-violet); color:#fff !important; box-shadow:var(--rhv3-shadow); }
.rhv3-btn--primary:hover{ background:var(--rhv3-violet-deep); color:#fff !important; }
.rhv3-btn--outline{ background:#fff; border:1px solid var(--rhv3-line); color:var(--rhv3-violet) !important; }
.rhv3-btn--outline:hover{ border-color:var(--rhv3-violet); color:var(--rhv3-violet-deep) !important; }
.rhv3-btn--ghost{ color:var(--rhv3-ink) !important; padding:14px 18px; border:1.5px solid var(--rhv3-line); }
.rhv3-btn--ghost:hover{ border-color:var(--rhv3-violet); color:var(--rhv3-violet) !important; }
.rhv3-btn--orange{ background:var(--rhv3-orange); color:var(--rhv3-violet-deep) !important; }
.rhv3-btn--orange:hover{ background:var(--rhv3-orange-soft); color:var(--rhv3-violet-deep) !important; }
.rhv3-btn--white{ background:#fff; color:var(--rhv3-violet) !important; }
.rhv3-btn--white:hover{ background:var(--rhv3-lav-2); color:var(--rhv3-violet) !important; }

/* Cartes */
.rhv3-card{ background:#fff; border:1px solid var(--rhv3-line); border-radius:var(--rhv3-radius); padding:24px; box-shadow:var(--rhv3-shadow-sm); }
.rhv3-card--lav{ background:var(--rhv3-lav); }
.rhv3-card--hover{ transition:transform .2s,box-shadow .2s; }
.rhv3-card--hover:hover{ transform:translateY(-4px); box-shadow:var(--rhv3-shadow); }

/* Pills (liens tag) */
.rhv3-pill{ display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:var(--rhv3-ink); background:var(--rhv3-lav); border:1px solid var(--rhv3-line); border-radius:999px; padding:9px 15px; text-decoration:none; transition:border-color .15s,color .15s,background .15s; }
.rhv3-pill:hover{ border-color:var(--rhv3-violet); color:var(--rhv3-violet); background:#fff; }

/* Badge pastille (hero) */
.rhv3-badge{ display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--rhv3-line); box-shadow:var(--rhv3-shadow-sm); border-radius:999px; padding:7px 14px; font-size:13px; font-weight:700; color:var(--rhv3-violet); }
.rhv3-badge .rhv3-dot{ width:8px; height:8px; border-radius:50%; background:var(--rhv3-orange); }

/* Icônes Lucide (SVG inline via rh_lucide()) */
.rhv3-ico{ width:1.2em; height:1.2em; flex:0 0 auto; display:inline-block; vertical-align:middle; }

/* Grilles utilitaires */
.rhv3-grid{ display:grid; gap:18px; }
.rhv3-grid--auto{ grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); }
.rhv3-grid--fit{ grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }

/* Animation hero */
@keyframes rhv3FrUp{ from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:none} }
.rhv3-anim{ animation:rhv3FrUp .6s cubic-bezier(.22,1,.36,1) both; }

.rh-service-figures{ display:none!important; }

/* ============================== Footer V3 ================================= */
.rhv3-footer{ background:var(--rhv3-violet-deep); color:#fff; font-family:var(--rhv3-font); }
/* barre de logos clients (haut du footer, fond clair) */
.rhv3-footer-logos{ background:#fff; }
.rhv3-footer-logos__in{ max-width:1200px; margin:0 auto; padding:clamp(22px,3.5vw,40px) clamp(18px,4vw,40px); }
.rhv3-footer-logos__carousel{ --rhv3-footer-logo-slide-width:min(876px, calc(100vw - 72px)); --rhv3-footer-logo-slide-gap:28px; --rhv3-footer-logo-loop-distance:calc((var(--rhv3-footer-logo-slide-count) - 1) * (var(--rhv3-footer-logo-slide-width) + var(--rhv3-footer-logo-slide-gap))); height:54px; overflow:hidden; }
.rhv3-footer-logos__track{ display:flex; width:max-content; animation:rhv3-footer-logo-slider calc(var(--rhv3-footer-logo-slide-count) * 16s) linear infinite; will-change:transform; }
.rhv3-footer-logos__carousel:hover .rhv3-footer-logos__track{ animation-play-state:paused; }
.rhv3-footer-logos__carousel--static .rhv3-footer-logos__track{ animation:none; transform:translateX(0); }
.rhv3-footer-logos__item{ margin:0 var(--rhv3-footer-logo-slide-gap) 0 0; width:calc(var(--rhv3-footer-logo-slide-width) * var(--rhv3-footer-logo-slide-ratio, 1)); flex:0 0 calc(var(--rhv3-footer-logo-slide-width) * var(--rhv3-footer-logo-slide-ratio, 1)); min-width:0; display:flex; align-items:center; justify-content:center; }
.rhv3-footer-logos__image{ display:block; width:100%; height:54px; object-fit:contain; }
@keyframes rhv3-footer-logo-slider{
  from{ transform:translateX(0); }
  to{ transform:translateX(calc(-1 * var(--rhv3-footer-logo-loop-distance))); }
}
@media (max-width:560px){ .rhv3-footer-logos__carousel{ --rhv3-footer-logo-slide-width:calc(100vw - 36px); --rhv3-footer-logo-slide-gap:18px; height:38px; } .rhv3-footer-logos__image{ height:38px; } }
@media (prefers-reduced-motion:reduce){ .rhv3-footer-logos__track{ animation:none!important; } }
/* bandeau chiffres clés (juste sous les logos, sur fond violet foncé) */
.rhv3-footer-stats{ border-bottom:1px solid rgba(255,255,255,.12); }
.rhv3-footer-stats__in{ max-width:1200px; margin:0 auto; padding:clamp(26px,3.6vw,40px) clamp(18px,4vw,40px); display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.rhv3-footer-stat{ text-align:center; }
.rhv3-footer-stat__num{ font-size:clamp(28px,3.2vw,40px); font-weight:800; letter-spacing:-.02em; color:#fff; line-height:1; }
.rhv3-footer-stat__plus{ color:var(--rhv3-orange); margin-right:1px; }
.rhv3-footer-stat__label{ font-size:13.5px; color:#c9c5f0; margin-top:8px; line-height:1.35; }
@media (max-width:640px){ .rhv3-footer-stats__in{ grid-template-columns:repeat(2,1fr); gap:22px 18px; } }
.rhv3-footer__inner{ padding-top:clamp(40px,5vw,64px); padding-bottom:clamp(24px,3vw,34px); }
.rhv3-footer__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:32px; padding-bottom:34px; border-bottom:1px solid rgba(255,255,255,.14); }
.rhv3-footer__addr{ font-size:14px; color:#c9c5f0; margin:0 0 8px; line-height:1.6; }
.rhv3-footer__email{ font-size:14px; color:var(--rhv3-orange-soft); font-weight:600; text-decoration:none; }
.rhv3-footer__email:hover{ text-decoration:underline; }
.rhv3-footer__title{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#9b96d8; margin-bottom:14px; }
.rhv3-footer__menu{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.rhv3-footer__menu a{ color:#e7e5fb; text-decoration:none; font-size:14.5px; }
.rhv3-footer__menu a:hover{ color:var(--rhv3-orange-soft); }
.rhv3-footer__figures{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; font-size:14.5px; color:#e7e5fb; }
.rhv3-footer__figures strong{ color:var(--rhv3-orange-soft); }
.rhv3-footer__socials{ display:flex; gap:10px; }
.rhv3-footer__socials a{ width:42px; height:42px; border-radius:11px; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; color:#fff; transition:background .15s; }
.rhv3-footer__socials a:hover{ background:var(--rhv3-orange); }
.rhv3-footer__bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding-top:22px; font-size:13px; color:#9b96d8; }
.rhv3-footer__legal{ display:flex; gap:16px; flex-wrap:wrap; }
.rhv3-footer__legal a{ color:#9b96d8; text-decoration:none; }
.rhv3-footer__legal a:hover{ color:#fff; }

/* ===================== Modal contact (marketing, timed) =================== */
.rhv3-modal .rh-service-modal__backdrop{ background:rgba(20,17,52,.62); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.rhv3-modal__dialog{ position:relative; z-index:1; width:min(860px,100%); max-height:calc(100vh - 80px); overflow:hidden auto; border:0; border-radius:22px; background:#fff; box-shadow:0 30px 90px rgba(20,17,52,.45); font-family:var(--rhv3-font); color:var(--rhv3-ink); }
.rhv3-modal__grid{ display:grid; grid-template-columns:0.92fr 1.08fr; }
/* colonne argumentaire (gauche) */
.rhv3-modal__aside{ background:linear-gradient(158deg,var(--rhv3-violet),var(--rhv3-violet-deep)); color:#fff; padding:clamp(26px,3vw,40px); display:flex; flex-direction:column; }
.rhv3-modal__eyebrow{ font-size:11.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--rhv3-orange-soft); margin-bottom:12px; }
.rhv3-modal .rhv3-modal__title{ font-size:clamp(25px,2.7vw,33px); font-weight:800; letter-spacing:-.02em; line-height:1.08; margin:0 0 12px; color:#fff; }
.rhv3-modal__accent{ color:var(--rhv3-orange); }
.rhv3-modal__lead{ font-size:14.5px; color:#d6d3f2; margin:0 0 20px; line-height:1.55; }
.rhv3-modal__list{ list-style:none; margin:0 0 22px; padding:0; display:flex; flex-direction:column; gap:11px; }
.rhv3-modal__list li{ display:flex; align-items:flex-start; gap:10px; font-size:14px; font-weight:600; color:#fff; }
.rhv3-modal__list li svg{ flex:0 0 auto; margin-top:1px; width:22px; height:22px; padding:3px; color:#fff; background:rgba(255,255,255,.16); border-radius:50%; }
.rhv3-modal__badge{ margin-top:auto; display:inline-flex; align-items:center; gap:9px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:999px; padding:8px 14px; font-size:12.5px; font-weight:700; color:#fff; width:max-content; max-width:100%; }
.rhv3-modal__badge .rhv3-pulse-dot{ width:9px; height:9px; flex:0 0 auto; border-radius:50%; background:var(--rhv3-green); display:inline-block; }
/* colonne formulaire (droite) */
.rhv3-modal__form{ padding:clamp(26px,3vw,40px); }
.rhv3-modal .rhv3-modal__formtitle{ font-size:20px; font-weight:800; letter-spacing:-.01em; color:var(--rhv3-ink); margin:0 0 4px; }
.rhv3-modal__formsub{ font-size:13.5px; color:var(--rhv3-ink-soft); margin:0 0 16px; }
/* bouton fermer */
.rhv3-modal__close{ position:absolute; z-index:3; top:14px; right:14px; width:38px; height:38px; border-radius:50%; border:0; cursor:pointer; background:var(--rhv3-lav-2); color:var(--rhv3-ink); display:flex; align-items:center; justify-content:center; box-shadow:var(--rhv3-shadow-sm); transition:background .15s, color .15s, transform .25s; }
.rhv3-modal__close:hover, .rhv3-modal__close:focus-visible{ background:var(--rhv3-violet); color:#fff; transform:rotate(90deg); }
@media (max-width:720px){
	.rhv3-modal__grid{ grid-template-columns:1fr; }
	.rhv3-modal__aside{ padding-bottom:22px; }
	.rhv3-modal__list{ margin-bottom:14px; }
}
/* Mobile : la modal chronométrée devient un BOTTOM SHEET (jamais plein écran —
   « bannière occupant une part raisonnable de l'écran », le format explicitement
   toléré par Google pour les interstitiels mobiles ; les modales centrées sont
   le format le plus rejeté sur mobile — NN/g). Compact : accroche + formulaire,
   la liste d'arguments est masquée. */
@media (max-width:782px){
	body .rh-service-modal.rh-timed-contact-modal{ place-items:end stretch; padding:0; }
	.rh-timed-contact-modal .rhv3-modal__dialog{ width:100%; max-width:none; max-height:78vh; border-radius:20px 20px 0 0; animation:rhv3-sheet-up .28s ease-out; }
	.rh-timed-contact-modal .rhv3-modal__grid{ grid-template-columns:1fr; }
	.rh-timed-contact-modal .rhv3-modal__aside{ padding:20px 22px 16px; }
	.rh-timed-contact-modal .rhv3-modal__title{ font-size:22px; }
	.rh-timed-contact-modal .rhv3-modal__lead{ margin-bottom:0; }
	.rh-timed-contact-modal .rhv3-modal__list,
	.rh-timed-contact-modal .rhv3-modal__badge{ display:none; }
	.rh-timed-contact-modal .rhv3-modal__form{ padding:18px 22px 24px; }
}
@keyframes rhv3-sheet-up{ from{ transform:translateY(100%); } to{ transform:translateY(0); } }
/* Bulle « Devis gratuit » — MOBILE UNIQUEMENT : seule présence de la capture
   sur mobile (aucune ouverture automatique). Fixe, discrète, en bas à droite ;
   ouvre le bottom sheet à la demande. */
.rhv3-fab{ display:none; }
@media (max-width:782px){
	.rhv3-fab{ position:fixed; right:14px; bottom:calc(14px + env(safe-area-inset-bottom, 0px)); z-index:99990; display:inline-flex; align-items:center; gap:8px; padding:12px 18px; border:0; border-radius:999px; background:var(--rhv3-violet); color:#fff; text-decoration:none; font-family:var(--rhv3-font); font-size:14px; font-weight:700; line-height:1; box-shadow:0 8px 24px rgba(34,28,84,.35); cursor:pointer; }
	.rhv3-fab:active{ transform:scale(.96); }
	body.rh-service-modal-open .rhv3-fab{ display:none; }
}

/* ===================== Avantages (shortcode [nos_avantages]) ============== */
.rhv3-adv{ padding-top:clamp(46px,6vw,80px); padding-bottom:clamp(46px,6vw,80px); }
.rhv3-adv .rhv3-container{ max-width:1200px; }
.rhv3-adv__head{ max-width:760px; margin:0 auto 36px; text-align:center; }
.rhv3-adv__head .rhv3-h2{ margin-bottom:12px; color:var(--rhv3-ink); }
.rhv3-adv__head .rhv3-lead{ color:var(--rhv3-ink-soft); }
.rhv3-adv__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }
.rhv3-adv__card{ background:#fff; border:1px solid var(--rhv3-line); border-radius:18px; padding:24px; box-shadow:var(--rhv3-shadow-sm); }
.rhv3-adv__top{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.rhv3-adv__num{ width:42px; height:42px; border-radius:11px; background:var(--rhv3-violet); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:17px; flex:0 0 auto; }
.rhv3-adv__ico{ color:var(--rhv3-violet); }
.rhv3-adv__card .rhv3-h3{ font-size:17px; font-weight:800; margin:0 0 7px; color:var(--rhv3-ink); }
.rhv3-adv__text{ font-size:14px; color:var(--rhv3-ink-soft); margin:0; line-height:1.55; }
.rhv3-adv__text b{ color:var(--rhv3-ink); font-weight:700; }

/* ===================== Bandeaux logos clients (re-skin V3) ================ */
.rh-service-figures,
.rh-service-logo-listing{
  background:var(--rhv3-paper);
  padding:clamp(26px,3vw,38px) clamp(18px,4vw,40px);
}
.rh-service-logo-listing::before{
  content:"Ils nous font confiance"; display:block; text-align:center;
  font-size:12.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--rhv3-ink-soft); margin-bottom:20px;
}
.rh-service-figures img,
.rh-service-logo-listing img{
  height:38px; width:auto; object-fit:contain;
  filter:none; opacity:1; /* parité V2 : logos EN COULEUR (pas de grayscale) */
}
.rh-service-logo-listing__grid{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:clamp(22px,3.5vw,46px);
}
.rh-service-logo-listing__grid figure{ margin:0; }

/* ===================== Blocs ACCUEIL — re-skin V3 ========================= */
/* Wrappers/titres communs */
.rh-prod-section{ padding-block:clamp(40px,5vw,72px); }
.rh-prod-two h2,
.rh-prod-team > h2,
.rh-prod-about__inner h2{ font-size:clamp(26px,3.4vw,38px); font-weight:800; letter-spacing:-.02em; line-height:1.1; color:var(--rhv3-ink); }
.rh-prod-two p{ color:var(--rhv3-ink-soft); font-size:16px; }
.rh-prod-subtitle, .rh-prod-orange{ color:var(--rhv3-orange)!important; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }

/* Compétences (skills) */
.rh-prod-skills > article{
  background:#fff; border:1px solid var(--rhv3-line); border-radius:18px; padding:22px;
  box-shadow:var(--rhv3-shadow-sm); transition:transform .2s, box-shadow .2s;
}
.rh-prod-skills > article:hover{ transform:translateY(-4px); box-shadow:var(--rhv3-shadow); }
.rh-prod-skills .rh-skill-icon{ width:46px; height:46px; border-radius:13px; background:var(--rhv3-lav-2); color:var(--rhv3-violet); display:flex; align-items:center; justify-content:center; }
.rh-prod-skills article h3{ font-size:17px; font-weight:700; letter-spacing:-.01em; }
.rh-prod-skills article h3 a{ color:var(--rhv3-ink); text-decoration:none; }
.rh-prod-skills article p{ font-size:14px; color:var(--rhv3-ink-soft); }
.rh-prod-skills .rh-skill-link{ color:var(--rhv3-violet); font-weight:700; font-size:13.5px; text-decoration:none; }

/* Qui est RH (leaders) */
.rh-prod-about__inner .rh-about-photo{ border-radius:20px; }
.rh-prod-about__inner .btn-link{
  display:inline-flex; align-items:center; gap:9px; background:var(--rhv3-violet); color:#fff;
  font-weight:700; padding:13px 22px; border-radius:999px; box-shadow:var(--rhv3-shadow-sm); text-decoration:none;
}
.rh-prod-about__inner .btn-link:hover{ background:var(--rhv3-violet-deep); }

/* Témoignages */
.rh-prod-testimonials-section{ background:var(--rhv3-lav); }
.rh-prod-testimonials article{
  background:#fff; border:1px solid var(--rhv3-line); border-radius:18px; padding:24px; box-shadow:var(--rhv3-shadow-sm);
}
.rh-prod-testimonials .rh-testimonial-quote{ color:var(--rhv3-orange); }
.rh-prod-testimonials article p{ color:var(--rhv3-ink); font-size:14.5px; line-height:1.55; }
.rh-prod-testimonials .rh-testimonial-role{ color:var(--rhv3-ink-soft); font-size:12.5px; }
.rh-prod-testimonials strong{ color:var(--rhv3-ink); }

/* Équipe (team) — bandeau sombre */
.rh-prod-team .rh-prod-team__card{ border-radius:20px; overflow:hidden; box-shadow:var(--rhv3-shadow); }
.rh-prod-team .rh-prod-team__band{ background:var(--rhv3-violet-deep); color:#fff; }
.rh-prod-team .rh-prod-team__band h3{ color:#fff; }
.rh-prod-team .rh-prod-team__band li span:last-child{ color:#e7e5fb; }
.rh-prod-team .rh-team-icon{ color:var(--rhv3-orange-soft); }

/* Étapes (collaboration) */
.rh-prod-steps > article{ background:var(--rhv3-lav); border:1px solid var(--rhv3-line); border-radius:16px; padding:22px 18px; }
.rh-prod-steps article h3{ font-size:16px; font-weight:700; display:flex; align-items:center; gap:10px; }
.rh-prod-steps article h3 > span{
  width:36px; height:36px; flex:0 0 auto; border-radius:10px; background:var(--rhv3-violet); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px;
}
.rh-prod-steps article p{ font-size:13.5px; color:var(--rhv3-ink-soft); }
.rh-prod-main-cta{
  display:inline-flex; align-items:center; gap:9px; background:var(--rhv3-orange); color:var(--rhv3-violet-deep);
  font-weight:700; padding:15px 28px; border-radius:999px; text-decoration:none;
}
.rh-prod-main-cta:hover{ background:var(--rhv3-orange-soft); }

/* FAQ */
.rh-prod-faq{ background:var(--rhv3-lav); }
.rh-prod-faq__items details{ background:#fff; border:1px solid var(--rhv3-line); border-radius:14px; padding:0 20px; margin-bottom:10px; }
.rh-prod-faq__items summary{ font-size:16px; font-weight:700; color:var(--rhv3-ink); padding:18px 0; cursor:pointer; list-style:none; }
.rh-prod-faq__items summary h3{ margin:0; font:inherit; font-size:inherit; font-weight:inherit; line-height:inherit; color:inherit; }
.rh-prod-faq__items summary::-webkit-details-marker{ display:none; }
.rh-prod-faq__items details p{ font-size:14.5px; color:var(--rhv3-ink-soft); line-height:1.6; padding-bottom:18px; margin:0; }

/* Chiffres clés (key-numbers) — palette V3 */
.rh-prod-numbers .rh-stat-card{ border-radius:18px; box-shadow:var(--rhv3-shadow-sm); }
.rh-prod-numbers .rh-stat-card strong{ font-weight:800; letter-spacing:-.02em; }
.rh-stat-card--purple{ background:var(--rhv3-violet); color:#fff; }
.rh-stat-card--slate{ background:var(--rhv3-violet-deep); color:#fff; }
.rh-stat-card--orange{ background:var(--rhv3-orange); color:var(--rhv3-violet-deep); }
.rh-stat-card--green{ background:var(--rhv3-green); color:#fff; }
.rh-stat-card--light{ background:var(--rhv3-lav); color:var(--rhv3-ink); border:1px solid var(--rhv3-line); }
.rh-stat-photo{ border-radius:18px; overflow:hidden; }

/* Actualités (front-page news) */
.rh-prod-news-head h2{ font-size:clamp(26px,3.4vw,38px); font-weight:800; letter-spacing:-.02em; }
.rh-prod-news-head a{ color:var(--rhv3-violet); font-weight:700; text-decoration:none; }
.rh-card-post{ background:#fff; border:1px solid var(--rhv3-line); border-radius:18px; overflow:hidden; box-shadow:var(--rhv3-shadow-sm); transition:transform .2s, box-shadow .2s; }
.rh-card-post:hover{ transform:translateY(-4px); box-shadow:var(--rhv3-shadow); }
.rh-card-post__date{ color:var(--rhv3-orange); font-weight:700; font-size:12.5px; }
.rh-card-post__title{ font-size:16.5px; font-weight:700; line-height:1.3; color:var(--rhv3-ink); }
.rh-card-post__excerpt{ color:var(--rhv3-ink-soft); font-size:14px; }

/* ===================== PAGE SERVICE V3 (template-service.php) ============= */
/* Layout : neutralise l'ancien 2-col sidebar si résidu */
.rh-service-page.rhv3 .rh-service-layout{ display:block; }
.rh-service-page.rhv3 .rh-service-sidebar{ display:none; }

/* Hero */
.rhv3-shero{ background:radial-gradient(1100px 520px at 88% -8%,#efe9fe 0%,rgba(239,233,254,0) 60%),linear-gradient(180deg,#f7f6fe 0%,#ffffff 100%); }
.rhv3-shero__inner{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:clamp(28px,5vw,56px); align-items:center; padding-top:clamp(28px,4vw,48px); padding-bottom:clamp(36px,5vw,60px); }
.rhv3-breadcrumb{ font-size:13px; color:var(--rhv3-ink-soft); font-weight:600; margin-bottom:22px; }
.rhv3-breadcrumb a{ color:var(--rhv3-ink-soft); text-decoration:none; }
.rhv3-breadcrumb a:hover{ color:var(--rhv3-violet); }
.rhv3-shero__col .rhv3-badge{ margin-bottom:20px; }
.rhv3-shero__title{ font-size:clamp(32px,4.6vw,50px); line-height:1.07; letter-spacing:-.02em; font-weight:800; color:var(--rhv3-ink); margin:0 0 16px; }
/* taille adaptée à la longueur du titre (classe posée en PHP selon mb_strlen).
   Sélecteur .rhv3-shero + classe (0,2,0) pour battre blocks.css body .site-main :where(h1). */
.rhv3-shero .rhv3-shero__title--long{ font-size:clamp(30px,4.2vw,48px); }
.rhv3-shero .rhv3-shero__title--xlong{ font-size:clamp(26px,3.4vw,40px); }
.rhv3-shero__lead{ font-size:clamp(16px,1.4vw,17.5px); color:var(--rhv3-ink-soft); max-width:560px; margin:0 0 24px; line-height:1.6; }
.rhv3-shero__lead p{ margin:0 0 12px; }
.rhv3-shero__cta{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.rhv3-shero__media img{ width:100%; height:auto; border-radius:20px; filter:drop-shadow(0 30px 50px rgba(34,28,84,.16)); }
.rhv3-shero > .rh-custom-block-container--rouge-hexagone-link-pills .rhv3-sec{ background:transparent; }
.rhv3-shero > .rh-custom-block-container--rouge-hexagone-link-pills .rhv3-sec__in{ padding-top:0; padding-bottom:clamp(28px,4vw,44px); }
.rhv3-shero > .rh-custom-block-container--rouge-hexagone-link-pills .rhv3-pills__row{ max-width:980px; }
.rhv3-shero__service-text-2{ padding-top:clamp(26px,3.5vw,42px); padding-bottom:clamp(34px,4.5vw,56px); border-top:1px solid rgba(77,64,132,.14); }
.rhv3-shero__service-text-2-body{ max-width:860px; color:var(--rhv3-ink-soft); font-size:clamp(16px,1.35vw,18px); line-height:1.68; }
.rhv3-shero__service-text-2-body > :first-child{ margin-top:0; }
.rhv3-shero__service-text-2-body > :last-child{ margin-bottom:0; }
.rhv3-shero__service-text-2-body h2,
.rhv3-shero__service-text-2-body h3{ color:var(--rhv3-ink); font-weight:800; letter-spacing:0; line-height:1.14; margin:0 0 16px; }
.rhv3-shero__service-text-2-body h2{ font-size:clamp(22px,3vw,22px); }
.rhv3-shero__service-text-2-body h3{ font-size:clamp(21px,2.4vw,28px); }
.rhv3-shero__service-text-2-body p{ margin:0 0 14px; }
.rhv3-shero__service-text-2-body ul,
.rhv3-shero__service-text-2-body ol{ margin:16px 0 0; padding-left:1.25em; }
.rhv3-shero__service-text-2-body li + li{ margin-top:8px; }
.rhv3-shero__service-text-2-body strong{ color:var(--rhv3-ink); font-weight:800; }
.rhv3-shero__service-text-2-btn{ margin-top:22px; }

/* Contenu natif (blocs) : largeur + air */
/*.rh-service-page.rhv3 .rh-service-content{ padding-top:clamp(20px,3vw,32px); }
*/
/* Re-skin léger des blocs de contenu service-project (titres/typo V3) */
.rh-service-content .rh-service-project h2{ font-size:clamp(24px,3vw,33px); font-weight:800; letter-spacing:-.02em; color:var(--rhv3-ink); }
.rh-service-content .rh-service-project h3{ color:var(--rhv3-ink); }
.rh-service-content .rh-service-project__text{ color:var(--rhv3-ink-soft); }
.rh-service-content .rh-service-project__text a{ color:var(--rhv3-violet); }

/* CTA final + chiffres (sombre) */
.rhv3-sfinal{ background:var(--rhv3-violet-deep); color:#fff; padding-top:clamp(46px,6vw,76px); padding-bottom:clamp(46px,6vw,76px); }
.rhv3-sfinal__head{ text-align:center; max-width:660px; margin:0 auto 40px; }
.rhv3-sfinal__head .rhv3-eyebrow{ color:var(--rhv3-orange-soft); }
.rhv3-sfinal__head .rhv3-h2{ color:#fff; margin-bottom:14px; }
.rhv3-accent-soft{ color:var(--rhv3-orange-soft); }
.rhv3-sfinal__lead{ font-size:16.5px; color:#d7d4f4; margin:0 auto 26px; }
.rhv3-sfinal__stats{ display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; border-top:1px solid rgba(255,255,255,.14); padding-top:32px; }
.rhv3-sfinal__stat{ flex:1 1 150px; text-align:center; }
.rhv3-sfinal__num{ font-size:clamp(26px,3.2vw,38px); font-weight:800; letter-spacing:-.02em; line-height:1; color:#fff; }
.rhv3-sfinal__num .rhv3-sfinal__plus{ color:var(--rhv3-orange-soft); }
.rhv3-sfinal__label{ font-size:13.5px; color:#c9c5f0; margin-top:7px; font-weight:500; }

@media (max-width:600px){
  .rhv3-shero__media{ order:-1; }
}

/* ===================== Pages institutionnelles (page.php) ================= */
.rh-page{ padding-block:clamp(30px,5vw,64px); }
.rh-page .rh-entry-content{ max-width:1180px; margin:0 auto; padding-inline:clamp(18px,4vw,40px); }
.rh-page .rh-entry-content h1{ font-size:clamp(30px,4vw,46px); font-weight:800; letter-spacing:-.02em; color:var(--rhv3-ink); line-height:1.1; }
.rh-page .rh-entry-content h2{ font-size:clamp(24px,3vw,33px); font-weight:800; letter-spacing:-.02em; color:var(--rhv3-ink); }
.rh-page .rh-entry-content h3{ color:var(--rhv3-ink); font-weight:700; }
.rh-page .rh-entry-content p,
.rh-page .rh-entry-content li{ color:var(--rhv3-ink-soft); line-height:1.7; }
.rh-page .rh-entry-content a{ color:var(--rhv3-violet); }

/* ===== Pages À propos/institutionnelles : habillage V3 des blocs partagés,
   SCOPÉ à .rh-entry-content (page.php) → n'affecte PAS les pages service (.rh-service-content). ===== */
/* Hero centré (bloc title-intro) */
.rh-entry-content .rh-title-intro{ background:radial-gradient(1100px 520px at 88% -8%,#efe9fe 0%,rgba(239,233,254,0) 60%),linear-gradient(180deg,#f7f6fe 0%,#fff 100%); padding:clamp(40px,6vw,72px) clamp(18px,4vw,40px) clamp(30px,4vw,46px); text-align:center; margin:0 ; }
.rh-entry-content .rh-title-intro .rh-prod-kicker{ display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--rhv3-line); box-shadow:var(--rhv3-shadow-sm); border-radius:999px; padding:7px 14px; font-size:13px; font-weight:700; color:var(--rhv3-violet); margin:0 0 20px; text-transform:none; letter-spacing:normal; }
.rh-entry-content .rh-title-intro .rh-prod-kicker::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--rhv3-orange); }
.rh-entry-content .rh-title-intro .rh-prod-two{ display:block; max-width:1000px; margin:0 auto; }
.rh-entry-content .rh-title-intro__title :is(h1,h2,h3){ font-size:clamp(34px,5vw,52px); line-height:1.06; letter-spacing:-.02em; font-weight:800; color:var(--rhv3-ink); margin:0 0 16px; }
.rh-entry-content .rh-title-intro__title :is(h1,h2,h3) b, .rh-entry-content .rh-title-intro__title span{ color:var(--rhv3-violet); }
.rh-entry-content .rh-title-intro__text p{ font-size:clamp(16px,1.4vw,18px); color:var(--rhv3-ink-soft); max-width:640px; margin:0 auto; }
/* Sections éditoriales alternées (bloc service-project) */
.rh-entry-content .rh-service-project{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(24px,4vw,52px); align-items:center; max-width:1100px; margin:0 auto clamp(34px,5vw,56px); padding-inline:clamp(18px,4vw,40px); }
.rh-entry-content .rh-service-project--image-right .rh-service-project__visual{ order:2; }
.rh-entry-content .rh-service-project--image-none{ display:block; max-width:820px; }
.rh-entry-content .rh-service-project__visual{ margin:0; border-radius:20px; overflow:hidden; box-shadow:var(--rhv3-shadow); }
.rh-entry-content .rh-service-project__visual img{ width:100%; height:100%; object-fit:cover; display:block; }
.rh-entry-content .rh-service-project__copy :is(h2,h3){ font-size:clamp(22px,2.6vw,30px); font-weight:800; letter-spacing:-.01em; color:var(--rhv3-ink); margin:0 0 12px; }
.rh-entry-content .rh-service-project__text{ font-size:15.5px; color:var(--rhv3-ink-soft); line-height:1.65; }
.rh-entry-content .rh-service-project__text p{ margin:0 0 12px; }
.rh-entry-content .rh-service-project .btn-link{ display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:14.5px; color:var(--rhv3-violet); text-decoration:none; }
/* key-numbers (stats) sur page.php : pas de débord négatif */
.rh-entry-content .rhv3-statsband > div > div{ margin-top:0 !important; }

/* Pages À propos transcrites (shortcode [rh_about_*]) : pleine largeur (sort du conteneur prose) */
.rh-page .rh-entry-content:has(.rhv3-about){ max-width:none; padding:0; }
.rhv3-about img{ display:block; }
@media (max-width:820px){
  .rhv3-about__member{ grid-template-columns:1fr !important; }
  .rhv3-about__member > div:first-child{ order:0 !important; }
}

/* ===================== Contact (template-contact.php) ==================== */
.rh-contact-page{ padding-block:clamp(30px,5vw,60px); }
.rh-contact-layout{ max-width:1100px; margin:0 auto; padding-inline:clamp(18px,4vw,40px); display:grid; grid-template-columns:1.4fr 1fr; gap:clamp(24px,4vw,40px); align-items:start; }
.rh-contact-form-card{ background:#fff; border:1px solid var(--rhv3-line); border-radius:20px; box-shadow:var(--rhv3-shadow); padding:clamp(24px,3vw,36px); }
.rh-contact-form-card__head h1{ font-size:clamp(22px,2.6vw,28px); font-weight:800; letter-spacing:-.01em; color:var(--rhv3-ink); margin:0 0 6px; }
.rh-contact-form-card__head p{ color:var(--rhv3-ink-soft); font-size:14.5px; margin:0 0 18px; }
.rh-contact-details{ background:var(--rhv3-lav); border:1px solid var(--rhv3-line); border-radius:20px; padding:clamp(24px,3vw,32px); }
.rh-contact-details h2{ font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--rhv3-orange); margin:0 0 12px; }
.rh-contact-details section + section{ margin-top:24px; }
.rh-contact-details a{ color:var(--rhv3-violet); font-weight:600; text-decoration:none; }
.rh-contact-details p{ color:var(--rhv3-ink); margin:0 0 6px; }
@media (max-width:820px){ .rh-contact-layout{ grid-template-columns:1fr; } }

/* ===================== Utilitaires charte (blocs nommés) ================== */
.rhv3-link{ display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:15px; color:var(--rhv3-violet); text-decoration:none; transition:color .15s; }
.rhv3-link:hover{ color:var(--rhv3-violet-deep); }
.rhv3-tag{ display:inline-flex; align-items:center; gap:6px; background:var(--rhv3-lav-2); color:var(--rhv3-violet); font-size:12.5px; font-weight:700; padding:6px 13px; border-radius:999px; }
.rhv3-badge-green{ display:inline-flex; align-items:center; gap:6px; background:var(--rhv3-green); color:#fff; font-size:12.5px; font-weight:800; padding:6px 13px; border-radius:999px; }
/* Listes */
.rhv3-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.rhv3-list li{ display:flex; gap:11px; align-items:flex-start; font-size:14.5px; line-height:1.5; color:var(--rhv3-ink); }
.rhv3-list--check li > .rhv3-ico{ color:#fff; background:var(--rhv3-violet); border-radius:50%; padding:3px; width:17px; height:17px; flex:0 0 auto; margin-top:2px; }
.rhv3-list--check.is-green li > .rhv3-ico{ background:var(--rhv3-green); }
.rhv3-list--bullet li > .rhv3-ico{ color:var(--rhv3-orange); flex:0 0 auto; margin-top:2px; }
/* Encadrés */
.rhv3-callout{ border:1px solid var(--rhv3-line); border-radius:12px; padding:16px 18px; display:flex; gap:11px; align-items:flex-start; }
.rhv3-callout .rhv3-ico{ flex:0 0 auto; margin-top:1px; }
.rhv3-callout--info{ background:#fff; border-left:4px solid var(--rhv3-orange); }
.rhv3-callout--info .rhv3-ico{ color:var(--rhv3-orange); }
.rhv3-callout--note{ background:var(--rhv3-lav); }
.rhv3-callout--note .rhv3-ico{ color:var(--rhv3-violet); }
.rhv3-callout p{ margin:0; }
/* Bandes pleine largeur */
.rhv3-band-cta{ background:linear-gradient(115deg,var(--rhv3-violet),var(--rhv3-violet-2)); border-radius:20px; padding:clamp(26px,4vw,40px); text-align:center; color:#fff; box-shadow:var(--rhv3-shadow); }
.rhv3-band-cta h2{ font-size:clamp(22px,2.8vw,30px); font-weight:800; letter-spacing:-.02em; margin:0 0 10px; color:#fff; }
.rhv3-band-cta p{ font-size:16px; color:#e7e5fb; margin:0 auto 22px; max-width:520px; }
.rhv3-band-figures{ background:linear-gradient(115deg,var(--rhv3-violet-deep),#322a86); border-radius:20px; padding:clamp(24px,3vw,34px); box-shadow:var(--rhv3-shadow); display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; }
.rhv3-band-figures .num{ font-size:clamp(26px,3.2vw,38px); font-weight:800; letter-spacing:-.02em; color:#fff; line-height:1; }
.rhv3-band-figures .num span{ color:var(--rhv3-orange-soft); }
.rhv3-band-figures .lbl{ font-size:13.5px; color:#c9c5f0; margin-top:7px; font-weight:500; }
/* Champs (démo charte) */
.rhv3-flabel{ display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:700; color:var(--rhv3-ink); }
.rhv3-field{ width:100%; padding:12px 14px; border:1.5px solid var(--rhv3-line); border-radius:11px; font-size:14.5px; color:var(--rhv3-ink); background:#fff; font-family:inherit; outline:none; transition:border-color .15s; }
.rhv3-field:focus{ border-color:var(--rhv3-violet); }
.rhv3-field::placeholder{ color:#a7a4c4; }
textarea.rhv3-field{ resize:vertical; min-height:80px; }
/* Tableau comparatif (utilitaire) */
.rhv3-table{ border:1px solid var(--rhv3-line); border-radius:18px; overflow:hidden; box-shadow:var(--rhv3-shadow-sm); background:#fff; }
.rhv3-table__scroll{ overflow-x:auto; }
.rhv3-table__row{ display:grid; grid-template-columns:1.3fr 1fr 1fr; min-width:560px; }
.rhv3-table__crit{ padding:13px 18px; font-size:13.5px; font-weight:700; border-bottom:1px solid var(--rhv3-lav-2); }
.rhv3-table__cell{ padding:13px 14px; text-align:center; font-size:13px; color:var(--rhv3-ink-soft); border-bottom:1px solid var(--rhv3-lav-2); border-left:1px solid var(--rhv3-lav-2); }
.rhv3-table__cell--hi{ font-weight:700; color:var(--rhv3-violet); background:var(--rhv3-lav); border-left:0; }
.rhv3-table__row--head{ background:var(--rhv3-lav); }
.rhv3-table__row--head .rhv3-table__crit{ font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--rhv3-ink-soft); border-bottom:1px solid var(--rhv3-line); }
.rhv3-table__row--head .rhv3-table__cell{ font-weight:800; color:var(--rhv3-ink); border-bottom:1px solid var(--rhv3-line); }
.rhv3-table__row--head .rhv3-table__cell--hi{ background:var(--rhv3-violet-deep); color:#fff; }

/* ===================== Page Charte (/charte/) ============================= */
.rhv3-charte__title{ background:linear-gradient(180deg,#f7f6fe 0%,var(--rhv3-lav) 100%); border-bottom:1px solid var(--rhv3-line); }
.rhv3-charte__toc{ background:#fff; border-bottom:1px solid var(--rhv3-line); position:sticky; top:63px; z-index:30; }
.rhv3-charte__toc-inner{ max-width:1200px; margin:0 auto; padding:14px clamp(18px,4vw,40px); display:flex; flex-wrap:wrap; gap:8px; }
.rhv3-charte__toc a{ font-size:13px; font-weight:700; color:var(--rhv3-ink-soft); background:var(--rhv3-lav); border:1px solid var(--rhv3-line); border-radius:999px; padding:7px 13px; text-decoration:none; }
.rhv3-charte__toc a:hover{ border-color:var(--rhv3-violet); color:var(--rhv3-violet); }
.rhv3-charte__body{ max-width:1200px; margin:0 auto; padding:clamp(32px,4vw,52px) clamp(18px,4vw,40px); display:flex; flex-direction:column; gap:clamp(28px,3.5vw,44px); }
.rhv3-charte__head{ margin-bottom:18px; }
.rhv3-charte__head .rhv3-eyebrow{ font-size:12px; margin-bottom:8px; }
.rhv3-charte__panel{ background:#fff; border:1px solid var(--rhv3-line); border-radius:18px; padding:clamp(20px,2.5vw,28px); }
.rhv3-charte__name{ font-size:11px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--rhv3-ink-soft); margin-bottom:10px; }
.rhv3-swatches{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; }
.rhv3-swatch{ border:1px solid var(--rhv3-line); border-radius:13px; overflow:hidden; }
.rhv3-swatch__color{ height:74px; }
.rhv3-swatch__meta{ padding:11px 13px; }
.rhv3-swatch__name{ font-size:13.5px; font-weight:700; }
.rhv3-swatch__hex{ font-size:12px; color:var(--rhv3-ink-soft); font-family:ui-monospace,monospace; margin-top:2px; }
/* La charte gère sa propre largeur → neutraliser le conteneur prose de page.php */
.rh-page .rh-entry-content:has(.rhv3-charte){ max-width:none; padding-inline:0; }

/* ===================== Formulaires CF7 — habillage V3 (global) =========== */
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel],
.wpcf7 input[type=url], .wpcf7 input[type=number], .wpcf7 input[type=date],
.wpcf7 textarea, .wpcf7 select{
  width:100%; padding:12px 14px; border:1.5px solid var(--rhv3-line); border-radius:11px;
  font-size:14.5px; color:var(--rhv3-ink); background:#fff; font-family:inherit; outline:none; transition:border-color .15s;
}
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus{ border-color:var(--rhv3-violet); }
.wpcf7 input::placeholder, .wpcf7 textarea::placeholder{ color:#a7a4c4; }
.wpcf7 textarea{ resize:vertical; min-height:62px; height:64px; }
.wpcf7 p{ margin:0 0 11px; }
.wpcf7 .wpcf7-submit, .wpcf7 input[type=submit]{
  width:100%; background:var(--rhv3-violet); color:#fff; font-weight:700; font-size:15.5px;
  padding:14px; border:0; border-radius:999px; cursor:pointer; box-shadow:var(--rhv3-shadow-sm); transition:background .15s;
}
.wpcf7 .wpcf7-submit:hover, .wpcf7 input[type=submit]:hover{ background:var(--rhv3-violet-deep); }
.wpcf7-acceptance .wpcf7-list-item{ margin:0; }
.wpcf7-acceptance .wpcf7-list-item-label{ font-size:11.5px; color:var(--rhv3-ink-soft); line-height:1.45; }
/* case à cocher RGPD (form utilise .wpcf7-checkbox) : petite case à gauche + texte fin */
.wpcf7 input[type=checkbox], .wpcf7 input[type=radio]{ width:16px !important; height:16px; min-height:0; margin:1px 0 0; padding:0; flex:0 0 auto; vertical-align:top; accent-color:var(--rhv3-violet); }
.wpcf7-checkbox .wpcf7-list-item{ margin:0; display:block; }
.wpcf7-checkbox .wpcf7-list-item label{ display:flex; align-items:flex-start; gap:9px; }
.wpcf7-checkbox .wpcf7-list-item-label{ font-size:11.5px; color:var(--rhv3-ink-soft); line-height:1.45; }
.wpcf7 p:has(.wpcf7-checkbox){ font-size:12px; color:var(--rhv3-ink-soft); }

/* ============================================================================
   BLOCS V3 réutilisables — section head + icon-cards + link-pills
   (transcription fidèle des sections Bénéfices/Prestations/Profils de la maquette)
   Markup 100% en classes (aucun style="" inline dans le render).
   ========================================================================== */

/* Section pleine largeur : la section s'affranchit du conteneur bridé
   (.rh-entry-content OU .rh-service-content) via width:100vw + marge négative ;
   le contenu interne reste centré à 1200 (.rhv3-sec__in).
   NB : sélecteurs de composant préfixés .rhv3-sec (spécificité 0,2,0) pour battre
   la typo de la zone contenu (.rh-entry-content h2/h3/p/a…, spécificité 0,1,1). */
.rhv3-sec{ width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.rhv3-sec--paper{ background:var(--rhv3-paper); }
.rhv3-sec--lav{ background:var(--rhv3-lav); }
.rhv3-sec__in{ max-width:1200px; margin:0 auto; padding:clamp(46px,6vw,80px) clamp(18px,4vw,40px); }

/* Pages contenant ces blocs : .site-main pleine largeur (sinon son max-width +
   overflow-x:hidden clipperait le full-bleed) + neutralise le wrapper .rh-container. */
.site-main:has(.rhv3-sec){ max-width:none !important; overflow-x:clip; }
/* blocks.css met html,body{overflow-x:hidden} -> casse position:sticky (scroll container implicite).
   clip empêche le scroll horizontal SANS créer de scroll container -> le sticky (form guide/article) refonctionne. */
html, body{ overflow-x:clip; }
.rh-custom-block-container--rouge-hexagone-icon-cards,
.rh-custom-block-container--rouge-hexagone-link-pills,
.rh-custom-block-container--rouge-hexagone-comparatif,
.rh-custom-block-container--rouge-hexagone-dual-checklist{ max-width:none; width:100%; padding-left:0; padding-right:0; }

/* Réinitialise listes/marqueurs hérités de la zone contenu (li::before/::after) */
.rhv3-sec ul{ list-style:none; margin:0; padding:0; }
.rhv3-sec li{ list-style:none; }
.rhv3-sec li::before, .rhv3-sec li::after{ content:none !important; background:none !important; }

/* En-tête de section : eyebrow + H2 bicolore + sous-titre */
.rhv3-sec .rhv3-shead{ /*max-width:680px;*/ margin:0 0 34px; }
.rhv3-sec .rhv3-shead--center{ max-width:760px; margin-left:auto; margin-right:auto; text-align:center; }
.rhv3-sec .rhv3-shead__eyebrow{ font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--rhv3-orange); margin:0 0 12px; }
.rhv3-sec .rhv3-shead__title{ font-size:clamp(25px,3.2vw,36px); font-weight:800; letter-spacing:-.02em; margin:0 0 10px; color:var(--rhv3-ink); line-height:1.2; }
.rhv3-sec .rhv3-shead__title .rhv3-accent{ color:var(--rhv3-violet); }
.rhv3-sec .rhv3-shead__sub{ color:var(--rhv3-ink-soft); font-size:16px; margin:0; line-height:1.55; }

/* ---------- icon-cards ---------- */
.rhv3-sec .rhv3-iconcards__grid{ display:grid; gap:18px; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }
.rhv3-iconcards--raised .rhv3-iconcards__grid{ gap:16px; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); }
/* carte — variante soft (Bénéfices) : fond lavande, encadré icône blanc */
.rhv3-sec .rhv3-icard{ background:var(--rhv3-lav); border:1px solid var(--rhv3-line); border-radius:18px; padding:24px; }
.rhv3-sec .rhv3-icard__ico{ width:46px; height:46px; border-radius:13px; background:#fff; border:1px solid var(--rhv3-line); display:flex; align-items:center; justify-content:center; color:var(--rhv3-violet); margin-bottom:14px; }
.rhv3-sec .rhv3-icard__ico svg{ display:block; }
.rhv3-sec .rhv3-icard__t{ font-size:17.5px; font-weight:800; letter-spacing:-.01em; margin:0 0 8px; color:var(--rhv3-ink); line-height:1.25; }
.rhv3-sec .rhv3-icard__d, .rhv3-icard p, .rhv3-icard ul li{ font-size:14.5px; color:var(--rhv3-ink-soft); margin:0; line-height:1.6; }
.rhv3-sec .rhv3-icard__d p{ margin:0 0 10px; }
.rhv3-sec .rhv3-icard__d p:last-child{ margin-bottom:0; }
.rhv3-sec .rhv3-icard__d ul,
.rhv3-sec .rhv3-icard__d ol{ list-style:disc; margin:10px 0 0; padding-left:1.2em; }
.rhv3-sec .rhv3-icard__d ol{ list-style:decimal; }
.rhv3-sec .rhv3-icard__d li{ list-style:inherit; margin:0; padding:0; }
.rhv3-sec .rhv3-icard__d li + li{ margin-top:6px; }
.rhv3-sec .rhv3-icard__d strong,
.rhv3-sec .rhv3-icard__d b{ color:var(--rhv3-ink); font-weight:800; }
.rhv3-sec .rhv3-icard__link{ display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:700; color:var(--rhv3-violet); text-decoration:none; }
.rhv3-sec .rhv3-icard__link:hover{ color:var(--rhv3-violet-deep); }
/* carte — variante raised (Prestations) : blanche, ombrée, colonne flex, lien */
.rhv3-iconcards--raised .rhv3-icard{ background:#fff; border-radius:16px; padding:22px; box-shadow:var(--rhv3-shadow-sm); display:flex; flex-direction:column; gap:10px; }
.rhv3-iconcards--raised .rhv3-icard__ico{ width:44px; height:44px; border-radius:12px; background:var(--rhv3-lav-2); border:0; margin-bottom:0; }
.rhv3-iconcards--raised .rhv3-icard__t{ font-size:16.5px; font-weight:700; margin:2px 0 0; }
.rhv3-iconcards--raised .rhv3-icard__d{ font-size:14px; line-height:1.55; flex:1; }
.rhv3-icard__link{
    margin-top: auto;
}
:where(.editor-styles-wrapper) .rhv3-iconcards--raised .rhv3-icard__d {
  flex: 0 !important;
}


/* ---------- link-pills (Profils / missions) ---------- */
.rhv3-pills .rhv3-shead{ margin-bottom:26px; }
.rhv3-sec .rhv3-pills__row{ display:flex; flex-wrap:wrap; gap:10px; }
.rhv3-sec .rhv3-pill{ display:inline-flex; align-items:center; gap:8px; background:var(--rhv3-lav); border:1px solid var(--rhv3-line); border-radius:999px; padding:11px 17px; font-weight:600; font-size:14.5px; color:var(--rhv3-ink); text-decoration:none; transition:border-color .15s,color .15s,background .15s; }
.rhv3-sec .rhv3-pill svg{ color:var(--rhv3-violet); flex:0 0 auto; }
.rhv3-sec .rhv3-pill:hover{ border-color:var(--rhv3-violet); color:var(--rhv3-violet); background:#fff; }

/* ---------- dual-checklist (Indispensable + Durée) ---------- */
.rhv3-sec .rhv3-dualcheck__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(20px,3vw,32px); }
.rhv3-sec .rhv3-dcl{ background:#fff; border:1px solid var(--rhv3-line); border-radius:20px; padding:clamp(26px,3vw,36px); box-shadow:var(--rhv3-shadow-sm); }
.rhv3-sec .rhv3-dcl__t{ font-size:clamp(20px,2.3vw,25px); font-weight:800; letter-spacing:-.01em; margin:0 0 18px; color:var(--rhv3-ink); }
.rhv3-sec .rhv3-dcl__text{ font-size:15px; color:var(--rhv3-ink-soft); line-height:1.6; margin:-6px 0 18px; }
.rhv3-sec .rhv3-dcl__text p{ margin:0; }
.rhv3-sec .rhv3-dcl__text p + p{ margin-top:10px; }
.rhv3-sec .rhv3-dcl__text a{ color:var(--rhv3-violet); font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.rhv3-sec .rhv3-dcl__list{ display:flex; flex-direction:column; gap:13px; }
.rhv3-sec .rhv3-dcl__item{ display:flex; gap:12px; align-items:flex-start; }
.rhv3-sec .rhv3-dcl__txt{ font-size:15px; color:var(--rhv3-ink); line-height:1.5; }
.rhv3-sec .rhv3-dcl__ico{ flex:0 0 auto; margin-top:2px; display:inline-flex; align-items:center; justify-content:center; }
.rhv3-sec .rhv3-dcl__ico--warn{ color:var(--rhv3-orange); }
.rhv3-sec .rhv3-dcl__ico--check{ color:#fff; background:var(--rhv3-green); border-radius:50%; padding:3px; }

/* ---------- comparatif (tableau structuré) ---------- */
.rhv3-comparatif .rhv3-sec__in{ max-width:1080px; }
.rhv3-comparatif .rhv3-shead{ max-width:720px; margin-bottom:30px; }
.rhv3-comparatif .rhv3-shead__title{ font-size:clamp(24px,3vw,33px); }
.rhv3-sec .rhv3-comp{ border:1px solid var(--rhv3-line); border-radius:20px; overflow:hidden; box-shadow:var(--rhv3-shadow); overflow-x:auto; }
.rhv3-sec .rhv3-comp__table{ width:100%; min-width:560px; border-collapse:collapse; }
/* Cellules (corps) : par défaut centrées, gris */
.rhv3-sec .rhv3-comp__table th,
.rhv3-sec .rhv3-comp__table td{ padding:13px 14px; text-align:center; font-size:13px; font-weight:400; color:var(--rhv3-ink-soft); border-bottom:1px solid var(--rhv3-lav-2); border-left:1px solid var(--rhv3-lav-2); }
/* 1re colonne (critère) : à gauche, gras, foncé */
.rhv3-sec .rhv3-comp__crit{ text-align:left; padding:13px 18px; font-size:13.5px; font-weight:700; color:var(--rhv3-ink); border-left:0; width:26%; }
/* Lignes zébrées (corps) */
.rhv3-sec .rhv3-comp__table tbody tr.rhv3-comp__row--alt{ background:#fbfaff; }
/* Dernière colonne mise en avant */
.rhv3-sec .rhv3-comp__cell--last{ color:var(--rhv3-violet); font-weight:700; background:var(--rhv3-lav); border-left:0; }
/* En-tête */
.rhv3-sec .rhv3-comp__table thead th{ background:#fff; font-size:13.5px; font-weight:800; color:var(--rhv3-ink); border-bottom:1px solid var(--rhv3-line); }
.rhv3-sec .rhv3-comp__table thead th.rhv3-comp__crit{ background:var(--rhv3-lav); font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--rhv3-ink-soft); }
.rhv3-sec .rhv3-comp__table thead th.rhv3-comp__cell--last{ background:var(--rhv3-violet-deep); color:#fff; }

/* ---------- cta-band (Tarifs teaser / bande violette) ---------- */
.rhv3-ctaband .rhv3-sec__in{ padding-top:clamp(36px,5vw,56px); padding-bottom:clamp(36px,5vw,56px); }
.rhv3-sec .rhv3-ctaband__band{ background:linear-gradient(115deg,var(--rhv3-violet-deep),#322a86); border-radius:22px; padding:clamp(28px,4vw,44px); box-shadow:var(--rhv3-shadow); display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; align-items:center; }
.rhv3-sec .rhv3-ctaband__band--center{ grid-template-columns:1fr; text-align:center; justify-items:center; }
.rhv3-sec .rhv3-ctaband__badge{ display:inline-flex; align-items:center; gap:8px; background:var(--rhv3-green); color:#fff; font-size:12.5px; font-weight:800; padding:6px 13px; border-radius:999px; margin-bottom:14px; }
.rhv3-sec .rhv3-ctaband__title{ font-size:clamp(22px,2.8vw,30px); font-weight:800; letter-spacing:-.02em; color:#fff; margin:0 0 10px; line-height:1.15; }
.rhv3-sec .rhv3-ctaband__p{ font-size:15.5px; color:#c9c5f0; margin:0; line-height:1.5; }
.rhv3-sec .rhv3-ctaband__actions{ display:flex; gap:12px; flex-wrap:wrap; }
.rhv3-ctaband__band--center .rhv3-ctaband__actions{ justify-content:center; }
/* Sur page.php (.rh-entry-content h2/p imposent une couleur foncée) : garder le texte clair sur la bande violette */
.rh-page .rh-entry-content .rhv3-ctaband__title{ color:#fff; }
.rh-page .rh-entry-content .rhv3-ctaband__p{ color:#c9c5f0; }
.rhv3-sec .rhv3-ctaband__btn{ display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:16px; border-radius:999px; text-decoration:none; transition:background .15s,border-color .15s; }
.rhv3-sec .rhv3-ctaband__btn--orange{ background:var(--rhv3-orange); color:var(--rhv3-violet-deep); padding:15px 26px; }
.rhv3-sec .rhv3-ctaband__btn--orange:hover{ background:var(--rhv3-orange-soft); }
.rhv3-sec .rhv3-ctaband__btn--outline{ border:1.5px solid rgba(255,255,255,.3); color:#fff; padding:14px 24px; }
.rhv3-sec .rhv3-ctaband__btn--outline:hover{ border-color:#fff; }

/* ---------- feature-split (Pourquoi RH) ---------- */
.rhv3-sec .rhv3-fsplit__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(28px,4vw,52px); align-items:center; }
.rhv3-fsplit--img-left .rhv3-fsplit__media{ order:-1; }
.rhv3-sec .rhv3-fsplit__eyebrow{ font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--rhv3-orange); margin:0 0 12px; }
.rhv3-sec .rhv3-fsplit__title{ font-size:clamp(25px,3.2vw,36px); font-weight:800; letter-spacing:-.02em; margin:0 0 22px; color:var(--rhv3-ink); line-height:1.15; }
.rhv3-sec .rhv3-fsplit__lead{ color:var(--rhv3-ink-soft); font-size:16px; line-height:1.65; margin:-8px 0 24px; }
.rhv3-sec .rhv3-fsplit__lead p{ margin:0; }
.rhv3-sec .rhv3-fsplit__lead p + p{ margin-top:10px; }
.rhv3-sec .rhv3-fsplit__list{ display:flex; flex-direction:column; gap:18px; }
.rhv3-sec .rhv3-fsplit__item{ display:flex; gap:14px; align-items:flex-start; }
.rhv3-sec .rhv3-fsplit__ico{ width:44px; height:44px; flex:0 0 auto; border-radius:12px; background:var(--rhv3-lav-2); color:var(--rhv3-violet); display:flex; align-items:center; justify-content:center; }
.rhv3-sec .rhv3-fsplit__itile{ font-size:17px; font-weight:800; letter-spacing:-.01em; margin:2px 0 5px; color:var(--rhv3-ink); }
.rhv3-sec .rhv3-fsplit__titlelink{ color:inherit; text-decoration:none; transition:color .15s; }
.rhv3-sec .rhv3-fsplit__titlelink:hover{ color:var(--rhv3-violet); }
.rhv3-sec .rhv3-fsplit__idesc{ font-size:14.5px; color:var(--rhv3-ink-soft); margin:0; line-height:1.55; }
.rhv3-sec .rhv3-fsplit__idesc p{ margin:0; }
.rhv3-sec .rhv3-fsplit__idesc a{ color:var(--rhv3-violet); font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.rhv3-sec .rhv3-fsplit__after{ color:var(--rhv3-ink-soft); font-size:15.5px; line-height:1.65; margin:22px 0 0; }
.rhv3-sec .rhv3-fsplit__after p{ margin:0; }
.rhv3-sec .rhv3-fsplit__after p + p{ margin-top:10px; }
.rhv3-sec .rhv3-fsplit__actions{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:24px; }
.rhv3-sec .rhv3-fsplit__btn{ margin-top:0; }
.rhv3-sec .rhv3-fsplit__media{ border-radius:20px; overflow:hidden; box-shadow:var(--rhv3-shadow); }
.rhv3-sec .rhv3-fsplit__media img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; display:block; }

/* ---------- link-cards (Pour aller plus loin / guides) ---------- */
.rhv3-linkcards .rhv3-sec__in{ max-width:1000px; padding-top:clamp(40px,5vw,64px); padding-bottom:clamp(40px,5vw,64px); }
.rhv3-linkcards .rhv3-shead{ max-width:620px; margin-bottom:26px; }
.rhv3-linkcards .rhv3-shead__title{ font-size:clamp(21px,2.6vw,28px); }
.rhv3-linkcards .rhv3-shead__sub{ font-size:15.5px; }
.rhv3-sec .rhv3-linkcards__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; }
.rhv3-sec .rhv3-linkcard{ display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--rhv3-line); border-radius:16px; padding:20px; box-shadow:var(--rhv3-shadow-sm); text-decoration:none; transition:border-color .15s,transform .2s; }
.rhv3-sec .rhv3-linkcard:hover{ border-color:var(--rhv3-violet); transform:translateY(-3px); }
.rhv3-sec .rhv3-linkcard__ico{ width:44px; height:44px; flex:0 0 auto; border-radius:12px; background:var(--rhv3-lav-2); color:var(--rhv3-violet); display:flex; align-items:center; justify-content:center; }
.rhv3-sec .rhv3-linkcard__label{ font-size:15px; font-weight:700; color:var(--rhv3-ink); line-height:1.35; }
.rhv3-sec .rhv3-linkcard__arrow{ margin-left:auto; flex:0 0 auto; color:var(--rhv3-violet); display:inline-flex; }

/* Peer-links "Explorez nos solutions d'externalisation" (auto template) : plus large que les guides */
.rhv3-linkcards--peer .rhv3-sec__in{ max-width:1200px; }

/* Bloc « RXG Liste de secteurs » : répertoire de secteurs (icône + titre + liens) */
.rhv3-sectors__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:20px; }
.rhv3-sectors__card{ background:#fff; border:1px solid var(--rhv3-line); border-radius:18px; padding:24px; box-shadow:var(--rhv3-shadow-sm); transition:border-color .15s,transform .2s,box-shadow .2s; }
.rhv3-sectors__card:hover{ border-color:var(--rhv3-violet); transform:translateY(-3px); box-shadow:var(--rhv3-shadow); }
.rhv3-sectors__head{ display:flex; align-items:center; gap:14px; margin-bottom:16px; padding-bottom:16px; border-bottom:1px solid var(--rhv3-line); }
.rhv3-sectors__icon{ width:48px; height:48px; flex:0 0 auto; border-radius:14px; background:var(--rhv3-lav-2); color:var(--rhv3-violet); display:flex; align-items:center; justify-content:center; }
.rhv3-sectors__icon img{ width:28px; height:28px; object-fit:contain; }
.rhv3-sectors__title{ margin:0; font-size:19px; font-weight:800; line-height:1.25; color:var(--rhv3-ink); }
.rhv3-sectors__title a{ color:inherit; text-decoration:none; transition:color .15s; }
.rhv3-sectors__title a:hover{ color:var(--rhv3-violet); }
.rhv3-sectors__links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.rhv3-sectors__links li{ margin:0; }
.rhv3-sectors__links a,
.rhv3-sectors__plain{ display:flex; align-items:flex-start; gap:8px; padding:7px 8px; border-radius:10px; font-size:14.5px; line-height:1.4; text-decoration:none; color:var(--rhv3-ink-soft); transition:background .15s,color .15s; }
.rhv3-sectors__links a{ color:var(--rhv3-ink); font-weight:600; }
.rhv3-sectors__links a:hover{ background:var(--rhv3-lav); color:var(--rhv3-violet); }
.rhv3-sectors__bullet{ flex:0 0 auto; margin-top:2px; color:var(--rhv3-violet); }
.rhv3-sectors__plain .rhv3-sectors__bullet{ color:var(--rhv3-ink-soft); }

/* Bloc « RXG Liste (process numéroté) » : cartes d'étapes + média latéral */
.rhv3-steps__layout{ display:grid; grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr); gap:clamp(18px,2vw,28px); align-items:start; }
.rhv3-steps__layout--nomedia{ grid-template-columns:1fr; }
.rhv3-steps__cards{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,1.8vw,24px); }
.rhv3-steps__card{ position:relative; background:#fff; border:1px solid var(--rhv3-line); border-radius:20px; padding:26px clamp(22px,2vw,30px) 28px; box-shadow:var(--rhv3-shadow-sm); transition:border-color .15s,transform .2s,box-shadow .2s; }
.rhv3-steps__card:hover{ border-color:var(--rhv3-violet); transform:translateY(-3px); box-shadow:var(--rhv3-shadow); }
.rhv3-steps__card--wide{ grid-column:1 / -1; }
.rhv3-steps__num{ display:inline-grid; place-items:center; width:38px; height:38px; border-radius:999px; background:var(--rhv3-violet); color:#fff; font-size:16px; font-weight:800; line-height:1; margin-bottom:16px; }
.rhv3-steps__title{ margin:0 0 12px; color:var(--rhv3-ink); font-size:clamp(19px,1.5vw,23px); font-weight:800; line-height:1.2; }
.rhv3-steps__text{ color:var(--rhv3-ink-soft); font-size:15.5px; line-height:1.62; }
.rhv3-steps__text p{ margin:0 0 .7em; }
.rhv3-steps__text p:last-child{ margin-bottom:0; }
.rhv3-steps__media{ position:relative; margin:0; border-radius:24px; overflow:hidden; min-height:100%; background:var(--rhv3-lav-2); }
.rhv3-steps__media img{ display:block; width:100%; height:100%; min-height:420px; object-fit:cover; }
.rhv3-steps__cta{ position:absolute; left:clamp(18px,2vw,28px); right:clamp(18px,2vw,28px); bottom:clamp(20px,2.4vw,32px); display:flex; align-items:center; justify-content:center; gap:8px; min-height:60px; padding:14px 22px; border-radius:14px; background:var(--rhv3-violet); color:#fff !important; font-weight:800; font-size:clamp(15px,1.05vw,17px); text-align:center; text-decoration:none !important; box-shadow:var(--rhv3-shadow); transition:background .15s,transform .2s; }
a.rhv3-steps__cta:hover, a.rhv3-steps__cta:focus{ background:var(--rhv3-orange); transform:translateY(-2px); }
@media (max-width:900px){
  .rhv3-steps__layout, .rhv3-steps__cards{ grid-template-columns:1fr; }
  .rhv3-steps__media img{ min-height:280px; }
}

/* Bloc « Sections éditoriales » (.rhv3-edito) — prose épurée à sections-icône,
   façon zone éditoriale des fiches, mais utilisable sur template-service/page.php */
.rhv3-edito__in{ max-width:900px; }
.rhv3-edito--wide .rhv3-edito__in{ max-width:1200px; }
.rhv3-edito__lead{ max-width:840px; margin-bottom:4px; }
.rhv3-sec .rhv3-edito__h--lead{ font-size:clamp(24px,3vw,33px); font-weight:800; letter-spacing:-.02em; margin:0 0 16px; padding-left:16px; position:relative; color:var(--rhv3-ink); line-height:1.15; }
.rhv3-edito__h--lead::before{ content:""; position:absolute; left:0; top:6px; bottom:6px; width:5px; border-radius:3px; background:var(--rhv3-violet); }
.rhv3-edito__lead .rhv3-edito__body{ padding-left:16px; }
.rhv3-es{ padding:30px 0; border-top:1px solid var(--rhv3-line); }
.rhv3-edito__in > .rhv3-es:first-child{ border-top:0; padding-top:6px; }
.rhv3-es__head{ display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.rhv3-es__ico{ flex:0 0 auto; width:46px; height:46px; border-radius:13px; background:var(--rhv3-lav); color:var(--rhv3-violet); display:flex; align-items:center; justify-content:center; }
.rhv3-sec .rhv3-es__h{ font-size:clamp(18px,2.1vw,22px); font-weight:800; letter-spacing:-.015em; margin:0; color:var(--rhv3-ink); line-height:1.2; }
.rhv3-es__body{ padding-left:60px; }
.rhv3-es--flow{ }
.rhv3-es--flow .rhv3-es__body{ padding-left:0; }
/* sous-titres embarqués dans le corps d'une section (le texte V2 contenait ses propres <h2>/<h3>) */
.rhv3-sec .rhv3-es__body :is(h2,h3,h4), .rhv3-sec .rhv3-edito__body :is(h2,h3,h4){ font-size:clamp(17px,1.9vw,20px); font-weight:800; letter-spacing:-.015em; color:var(--rhv3-ink); margin:24px 0 10px; line-height:1.25; }
.rhv3-sec .rhv3-es__body > :first-child, .rhv3-sec .rhv3-edito__body > :first-child{ margin-top:0; }
.rhv3-sec .rhv3-es__body p, .rhv3-sec .rhv3-edito__body p{ font-size:15.5px; color:var(--rhv3-ink-soft); line-height:1.7; margin:0 0 12px; }
.rhv3-sec .rhv3-es__body p:last-child, .rhv3-sec .rhv3-edito__body p:last-child{ margin-bottom:0; }
.rhv3-sec .rhv3-es__body a, .rhv3-sec .rhv3-edito__body a{ color:var(--rhv3-violet); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.rhv3-sec .rhv3-es__body strong, .rhv3-sec .rhv3-edito__body strong{ color:var(--rhv3-ink); font-weight:700; }
.rhv3-sec .rhv3-es__body em, .rhv3-sec .rhv3-edito__body em{ color:var(--rhv3-ink-soft); }
.rhv3-sec .rhv3-es__body ul, .rhv3-sec .rhv3-edito__body ul{ list-style:none; margin:10px 0 12px; padding:0; display:flex; flex-direction:column; gap:10px; }
.rhv3-sec .rhv3-es__body ul li, .rhv3-sec .rhv3-edito__body ul li{ position:relative; padding-left:20px; font-size:15px; color:var(--rhv3-ink); line-height:1.55; }
.rhv3-sec .rhv3-es__body ul li::before, .rhv3-sec .rhv3-edito__body ul li::before{ content:"" !important; position:absolute; left:3px; top:9px; width:6px; height:6px; border-radius:50%; background:var(--rhv3-violet) !important; }
.rhv3-sec .rhv3-es__body table, .rhv3-sec .rhv3-edito__body table{ margin:14px 0; }
@media (max-width:640px){ .rhv3-es__body{ padding-left:0; } }
/* « Lire la suite » repliable (details/summary natif, sans JS) */
.rhv3-edito__details{ margin-top:14px; text-align:center; }
.rhv3-edito__more{ text-align:left; }
.rhv3-edito__more > .rhv3-es:first-child{ border-top:0; }
.rhv3-edito__summary{ list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:9px; font-weight:800; font-size:15.5px; color:var(--rhv3-violet); background:var(--rhv3-lav); border:1px solid var(--rhv3-line); border-radius:999px; padding:12px 24px; transition:background .15s,border-color .15s,box-shadow .2s; user-select:none; }
.rhv3-edito__summary::-webkit-details-marker{ display:none; }
.rhv3-edito__summary::marker{ content:''; }
.rhv3-edito__summary:hover{ background:var(--rhv3-lav-2); border-color:var(--rhv3-violet); box-shadow:var(--rhv3-shadow-sm); }
.rhv3-edito__summary .rhv3-ico{ transition:transform .2s; }
.rhv3-edito__details[open] > .rhv3-edito__summary{ margin-bottom:10px; }
.rhv3-edito__details[open] > .rhv3-edito__summary .rhv3-ico{ transform:rotate(180deg); }
.rhv3-edito__details--animated .rhv3-edito__more{ overflow:hidden; transition:height .34s ease, opacity .24s ease, transform .34s ease; will-change:height,opacity,transform; }
@media (prefers-reduced-motion:reduce){ .rhv3-edito__details--animated .rhv3-edito__more{ transition:none; } }
/* Zone dépliée : même lecture et mêmes alignements que les sections visibles. */
.rhv3-edito__more{ column-count:1; column-gap:0; }
.rhv3-edito__more > .rhv3-es,
.rhv3-edito__more > .rhv3-edito__lead{ break-inside:avoid; -webkit-column-break-inside:avoid; margin:0; padding:20px 0; }
.rhv3-edito__more > .rhv3-es:first-child,
.rhv3-edito__more > .rhv3-edito__lead:first-child{ padding-top:0; border-top:0; }
.rhv3-edito__more .rhv3-es__body{ padding-left:60px; }
.rhv3-edito__more .rhv3-es__head{ margin-bottom:14px; }
/* Un bloc avec tableau s'étale sur toute la largeur (sinon écrasé en colonne) */
.rhv3-edito__more > .rhv3-es:has(table){ column-span:all; border-top:1px solid var(--rhv3-line); padding-top:24px; }
@media (max-width:640px){ .rhv3-edito__more .rhv3-es__body{ padding-left:0; } }

/* Bloc « service-hero » (hero de bloc autonome, centré) */
.rhv3-blockhero__in{ max-width:820px; margin:0 auto; text-align:center; }
.rhv3-blockhero__title{ margin:0 0 18px; font-size:clamp(30px,4vw,46px); font-weight:800; letter-spacing:-.02em; line-height:1.1; color:var(--rhv3-ink); }
.rhv3-blockhero__text{ font-size:17px; line-height:1.7; color:var(--rhv3-ink-soft); margin:0 0 28px; }
.rhv3-blockhero__text p{ margin:0 0 1em; }
.rhv3-blockhero__text p:last-child{ margin-bottom:0; }

/* Bloc « three-columns » (étape : média + titre + texte + tags) */
.rhv3-tricol__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:center; }
.rhv3-tricol__grid--nomedia{ grid-template-columns:1fr; max-width:760px; margin:0 auto; }
.rhv3-tricol__media{ margin:0; border-radius:24px; overflow:hidden; box-shadow:var(--rhv3-shadow); }
.rhv3-tricol__media img{ display:block; width:100%; height:100%; object-fit:cover; }
.rhv3-tricol__step{ display:inline-flex; align-items:center; background:var(--rhv3-lav-2); color:var(--rhv3-violet); font-size:13px; font-weight:800; padding:6px 14px; border-radius:999px; margin:0 0 16px; }
.rhv3-tricol__title{ margin:0 0 16px; font-size:clamp(24px,2.6vw,32px); font-weight:800; letter-spacing:-.02em; line-height:1.15; color:var(--rhv3-ink); }
.rhv3-tricol__text{ font-size:16px; line-height:1.7; color:var(--rhv3-ink-soft); }
.rhv3-tricol__text p{ margin:0 0 1em; }
.rhv3-tricol__text p:last-child{ margin-bottom:0; }
.rhv3-tricol__tags{ list-style:none; margin:20px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.rhv3-tricol__tags li::before{ content:none; }
@media (max-width:820px){ .rhv3-tricol__grid{ grid-template-columns:1fr; } }

/* Bloc faq (accordéon) : full-bleed sur pages service (parité .rhv3-sec) */
.rh-service-content .rh-custom-block-container--rouge-hexagone-faq{ max-width:none; width:100%; padding-left:0; padding-right:0; }
.rh-service-content .rhv3-faq{ width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }

/* ============================================================================
   Page unique — Comment ça marche (.rhv3-cmm)
   ========================================================================== */
.rh-entry-content > .rhv3-cmm{ width:100%; max-width:none; }
.rhv3-cmm .rhv3-cmm-btn{ display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:16px; border-radius:999px; text-decoration:none; }
.rhv3-cmm .rhv3-cmm-btn--violet{ background:var(--rhv3-violet); color:#fff; padding:15px 26px; box-shadow:var(--rhv3-shadow); }
.rhv3-cmm .rhv3-cmm-btn--violet:hover{ background:var(--rhv3-violet-deep); }
.rhv3-cmm .rhv3-cmm-btn--orange{ background:var(--rhv3-orange); color:var(--rhv3-violet-deep); padding:15px 28px; box-shadow:var(--rhv3-shadow-sm); }
.rhv3-cmm .rhv3-cmm-btn--orange:hover{ background:var(--rhv3-orange-soft); }

/* HERO centré */
.rhv3-cmm-hero{ background:radial-gradient(1100px 520px at 88% -8%,#efe9fe 0%,rgba(239,233,254,0) 60%),linear-gradient(180deg,#f7f6fe 0%,#ffffff 100%); }
.rhv3-cmm .rhv3-cmm-hero__in{ max-width:1000px; text-align:center; padding-top:clamp(40px,6vw,76px); padding-bottom:clamp(30px,4vw,46px); }
.rhv3-cmm .rhv3-cmm-hero__badge{ display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--rhv3-line); box-shadow:var(--rhv3-shadow-sm); border-radius:999px; padding:7px 14px; font-size:13px; font-weight:700; color:var(--rhv3-violet); margin-bottom:20px; }
.rhv3-cmm .rhv3-cmm-hero__dot{ width:8px; height:8px; border-radius:50%; background:var(--rhv3-orange); }
.rhv3-cmm .rhv3-cmm-hero__title{ font-size:clamp(34px,5vw,52px); line-height:1.06; letter-spacing:-.02em; font-weight:800; margin:0 0 16px; color:var(--rhv3-ink); }
.rhv3-cmm .rhv3-cmm-hero__lead{ font-size:clamp(16px,1.4vw,18px); color:var(--rhv3-ink-soft); max-width:600px; margin:0 auto 26px; }

/* 4 PROMESSES (bande violette qui chevauche le hero) */
.rhv3-cmm .rhv3-cmm-promises .rhv3-sec__in{ padding-top:0; padding-bottom:0; }
.rhv3-cmm .rhv3-cmm-promises__band{ background:linear-gradient(115deg,var(--rhv3-violet-deep),#322a86); border-radius:22px; padding:clamp(22px,3vw,34px) clamp(18px,3vw,40px); margin-top:-30px; position:relative; box-shadow:var(--rhv3-shadow); display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:18px; }
.rhv3-cmm .rhv3-cmm-promise{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; padding:6px; }
.rhv3-cmm .rhv3-cmm-promise__ico{ width:62px; height:62px; border-radius:16px; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; color:var(--rhv3-orange-soft); }
.rhv3-cmm .rhv3-cmm-promise__txt{ font-size:15px; font-weight:700; color:#fff; line-height:1.35; }

/* ÉTAPES alternées */
.rhv3-cmm .rhv3-cmm-steps .rhv3-sec__in{ max-width:1100px; }
.rhv3-cmm .rhv3-cmm-steps__list{ display:flex; flex-direction:column; gap:clamp(30px,4vw,48px); }
.rhv3-cmm .rhv3-cmm-step{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(24px,4vw,48px); align-items:center; }
.rhv3-cmm .rhv3-cmm-step--rev .rhv3-cmm-step__media{ order:2; }
.rhv3-cmm .rhv3-cmm-step__media{ width:120%; justify-self:center; aspect-ratio:4/3; border-radius:20px; overflow:hidden; box-shadow:var(--rhv3-shadow); background:#fff; }
.rhv3-cmm .rhv3-cmm-step__media img{ width:100%; height:100%; object-fit:contain; display:block; }
.rhv3-cmm .rhv3-cmm-step__media.rh-image-mask{ border-radius:0; overflow:visible; box-shadow:none; background:transparent; max-height:none; }
.rhv3-cmm .rhv3-cmm-step__media.rh-image-mask > img{ width:100% !important; height:100% !important; max-height:none !important; object-fit:contain; }
.rhv3-cmm .rhv3-cmm-step__top{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.rhv3-cmm .rhv3-cmm-step__ico{ width:40px; height:40px; border-radius:11px; background:var(--rhv3-lav-2); color:var(--rhv3-violet); display:flex; align-items:center; justify-content:center; }
.rhv3-cmm .rhv3-cmm-step__n{ font-size:12.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--rhv3-orange); }
.rhv3-cmm .rhv3-cmm-step__title{ font-size:clamp(21px,2.4vw,27px); font-weight:800; letter-spacing:-.01em; margin:0 0 12px; color:var(--rhv3-ink); }
.rhv3-cmm .rhv3-cmm-step__p{ font-size:15.5px; color:var(--rhv3-ink-soft); margin:0 0 12px; line-height:1.6; }
.rhv3-cmm .rhv3-cmm-step__tags{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:6px; }
.rhv3-cmm .rhv3-cmm-tag{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--rhv3-violet); background:var(--rhv3-lav); border:1px solid var(--rhv3-line); border-radius:999px; padding:8px 15px; }
.rhv3-cmm .rhv3-cmm-tag__dot{ width:6px; height:6px; border-radius:50%; background:var(--rhv3-orange); flex:0 0 auto; }
.rhv3-cmm .rhv3-cmm-tag__arr{ color:var(--rhv3-violet-2); }
.rhv3-cmm .rhv3-cmm-step__hl{ display:flex; gap:11px; align-items:flex-start; background:var(--rhv3-lav); border:1px solid var(--rhv3-line); border-left:4px solid var(--rhv3-orange); border-radius:12px; padding:14px 16px; margin-top:6px; }
.rhv3-cmm .rhv3-cmm-step__hl svg{ color:var(--rhv3-orange); flex:0 0 auto; margin-top:1px; }
.rhv3-cmm .rhv3-cmm-step__hl span{ font-size:14.5px; font-weight:700; color:var(--rhv3-ink); }

/* --- Frise dynamique scroll-animée (page « Comment ça marche » uniquement) --- */
.rhv3-cmm .rhv3-cmm-tl{ position:relative; }
/* colonnes 50/50 + gouttière centrale large : le nœud (54px + halo) loge dedans sans mordre le contenu */
.rhv3-cmm .rhv3-cmm-tl .rhv3-cmm-step{ grid-template-columns:1fr 1fr; gap:clamp(72px,7vw,104px); }
/* spine central + trait qui se remplit au scroll */
.rhv3-cmm .rhv3-cmm-tl__spine{ position:absolute; top:16px; bottom:16px; left:50%; width:3px; transform:translateX(-50%); background:var(--rhv3-lav-2); border-radius:999px; z-index:0; }
.rhv3-cmm .rhv3-cmm-tl__fill{ position:absolute; top:0; left:0; width:100%; height:0; border-radius:999px; background:linear-gradient(180deg,var(--rhv3-violet),var(--rhv3-violet-2)); transition:height .15s linear; }
.rhv3-cmm .rhv3-cmm-step{ position:relative; z-index:1; }
/* nœud numéroté (au centre, sur le spine) */
.rhv3-cmm .rhv3-cmm-step__node{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:54px; height:54px; border-radius:50%; background:#fff; border:3px solid var(--rhv3-lav-2); box-shadow:var(--rhv3-shadow-sm); display:flex; align-items:center; justify-content:center; z-index:3; transition:background .3s, border-color .3s, transform .3s; }
.rhv3-cmm .rhv3-cmm-step__nodenum{ font-size:19px; font-weight:800; color:var(--rhv3-violet); transition:color .3s; }
.rhv3-cmm .rhv3-cmm-step__node::after{ content:""; position:absolute; inset:-6px; border-radius:50%; border:2px solid var(--rhv3-violet); opacity:0; pointer-events:none; }
/* état actif (nœud atteint par le trait) */
.rhv3-cmm .rhv3-cmm-step.is-active .rhv3-cmm-step__node{ background:var(--rhv3-violet); border-color:var(--rhv3-violet); transform:translate(-50%,-50%) scale(1.12); }
.rhv3-cmm .rhv3-cmm-step.is-active .rhv3-cmm-step__nodenum{ color:#fff; }
.rhv3-cmm .rhv3-cmm-step.is-active .rhv3-cmm-step__node::after{ animation:rhv3CmmPulse 1.8s ease-out infinite; }
@keyframes rhv3CmmPulse{ 0%{transform:scale(.85);opacity:.55} 70%{transform:scale(1.55);opacity:0} 100%{opacity:0} }
/* révélation (seulement si JS présent — sinon tout reste visible) */
.rhv3-cmm .rhv3-cmm-tl.is-js .rhv3-cmm-step{ opacity:0; transform:translateY(30px); transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
.rhv3-cmm .rhv3-cmm-tl.is-js .rhv3-cmm-step.is-in{ opacity:1; transform:none; }
/* laisser de la place au nœud pour ne pas chevaucher le texte */
.rhv3-cmm .rhv3-cmm-tl .rhv3-cmm-step__body{ padding-inline:8px; }
@media (max-width:820px){
	.rhv3-cmm .rhv3-cmm-tl__spine{ left:27px; }
	.rhv3-cmm .rhv3-cmm-tl .rhv3-cmm-step{ grid-template-columns:1fr; padding-left:70px; }
	.rhv3-cmm .rhv3-cmm-tl .rhv3-cmm-step--rev .rhv3-cmm-step__media{ order:0; }
	.rhv3-cmm .rhv3-cmm-step__node{ left:27px; top:38px; width:48px; height:48px; }
	.rhv3-cmm .rhv3-cmm-step__nodenum{ font-size:17px; }
	.rhv3-cmm .rhv3-cmm-tl .rhv3-cmm-step__body{ padding-inline:0; }
}
@media (prefers-reduced-motion: reduce){
	.rhv3-cmm .rhv3-cmm-tl__fill{ transition:none; }
	.rhv3-cmm .rhv3-cmm-step__node, .rhv3-cmm .rhv3-cmm-step__nodenum{ transition:none; }
	.rhv3-cmm .rhv3-cmm-step.is-active .rhv3-cmm-step__node::after{ animation:none; }
	.rhv3-cmm .rhv3-cmm-tl.is-js .rhv3-cmm-step{ opacity:1; transform:none; transition:none; }
}

/* EN RÉSUMÉ (sombre) */
.rhv3-cmm-summary{ background:var(--rhv3-violet-deep); color:#fff; }
.rhv3-cmm .rhv3-cmm-summary__in{ max-width:900px; text-align:center; }
.rhv3-cmm .rhv3-cmm-summary__eyebrow{ font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--rhv3-orange-soft); margin-bottom:14px; }
.rhv3-cmm .rhv3-cmm-summary__title{ font-size:clamp(24px,3.2vw,34px); font-weight:800; letter-spacing:-.02em; margin:0 0 16px; color:#fff; }
.rhv3-cmm .rhv3-cmm-summary__accent{ color:var(--rhv3-orange-soft); }
.rhv3-cmm .rhv3-cmm-summary__lead{ font-size:16.5px; color:#d7d4f4; margin:0 auto 28px; max-width:620px; }

/* MÉTIERS LIÉS (pilules centrées) */
.rhv3-cmm .rhv3-cmm-related__row{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.rhv3-cmm .rhv3-cmm-relpill{ display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--rhv3-line); border-radius:999px; padding:11px 18px; font-weight:600; font-size:14.5px; color:var(--rhv3-ink); box-shadow:var(--rhv3-shadow-sm); text-decoration:none; transition:border-color .15s,color .15s; }
.rhv3-cmm .rhv3-cmm-relpill svg{ color:var(--rhv3-violet); flex:0 0 auto; }
.rhv3-cmm .rhv3-cmm-relpill:hover{ border-color:var(--rhv3-violet); color:var(--rhv3-violet); }

/* CMM : forcer couleurs texte sur fonds sombres/boutons (la zone .rh-entry-content
   impose des couleurs !important qui écraseraient sinon). */
.rhv3-cmm .rhv3-cmm-btn--violet{ color:#fff !important; }
.rhv3-cmm .rhv3-cmm-btn--orange{ color:var(--rhv3-violet-deep) !important; }
.rhv3-cmm .rhv3-cmm-summary__eyebrow{ color:var(--rhv3-orange-soft) !important; }
.rhv3-cmm .rhv3-cmm-summary__title{ color:#fff !important; }
.rhv3-cmm .rhv3-cmm-summary__accent{ color:var(--rhv3-orange-soft) !important; }
.rhv3-cmm .rhv3-cmm-summary__lead{ color:#d7d4f4 !important; }
.rhv3-cmm .rhv3-cmm-promise__txt{ color:#fff !important; }
.rhv3-cmm .rhv3-cmm-promise__ico{ color:var(--rhv3-orange-soft) !important; }

/* ============================================================================
   Page Contact (template-contact.php) — .rhv3-ct
   ========================================================================== */
.rhv3-ct-hero{ background:radial-gradient(1100px 520px at 88% -8%,#efe9fe 0%,rgba(239,233,254,0) 60%),linear-gradient(180deg,#f7f6fe 0%,#ffffff 100%); }
.rhv3-ct .rhv3-ct-hero .rhv3-sec__in{ padding-top:clamp(36px,5vw,64px); padding-bottom:clamp(46px,6vw,72px); }
.rhv3-ct-hero__head{ text-align:center; max-width:640px; margin:0 auto clamp(32px,4vw,46px); }
.rhv3-ct-badge{ display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--rhv3-line); box-shadow:var(--rhv3-shadow-sm); border-radius:999px; padding:7px 14px; font-size:13px; font-weight:700; color:var(--rhv3-violet); margin-bottom:20px; }
.rhv3-ct-badge__dot{ width:8px; height:8px; border-radius:50%; background:var(--rhv3-orange); }
.rhv3-ct .rhv3-ct-hero__title{ font-size:clamp(34px,5vw,52px); line-height:1.06; letter-spacing:-.02em; font-weight:800; margin:0 0 14px; color:var(--rhv3-ink); }
.rhv3-ct .rhv3-ct-hero__lead{ font-size:clamp(16px,1.4vw,18px); color:var(--rhv3-ink-soft); margin:0; }

.rhv3-ct-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:clamp(20px,3vw,32px); align-items:start; max-width:1060px; margin:0 auto; }
@media (max-width:820px){ .rhv3-ct-grid{ grid-template-columns:1fr; } }

.rhv3-ct-formcard{ background:#fff; border:1px solid var(--rhv3-line); border-radius:22px; box-shadow:var(--rhv3-shadow); padding:clamp(24px,3vw,38px); min-width:0; }
.rhv3-ct .rhv3-ct-formcard__title{ font-size:clamp(20px,2.2vw,25px); font-weight:800; letter-spacing:-.01em; margin:0 0 4px; color:var(--rhv3-ink); }
.rhv3-ct .rhv3-ct-formcard__note{ font-size:14px; color:var(--rhv3-ink-soft); margin:0 0 22px; }
.rhv3-ct-req{ color:var(--rhv3-orange); }

.rhv3-ct-info{ display:flex; flex-direction:column; gap:16px; min-width:0; }
.rhv3-ct-card{ background:#fff; border:1px solid var(--rhv3-line); border-radius:20px; padding:26px; box-shadow:var(--rhv3-shadow-sm); }
.rhv3-ct-card--dark{ background:var(--rhv3-violet-deep); border:0; color:#fff; box-shadow:var(--rhv3-shadow); }
.rhv3-ct-card--tz{ background:var(--rhv3-lav); box-shadow:none; padding:22px; display:flex; gap:13px; align-items:flex-start; }
.rhv3-ct .rhv3-ct-card__eyebrow{ font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--rhv3-orange); margin:0 0 16px; }
.rhv3-ct .rhv3-ct-card__eyebrow--soft{ color:var(--rhv3-orange-soft); margin-bottom:18px; }

.rhv3-ct-line{ display:flex; align-items:center; gap:13px; text-decoration:none; margin-bottom:16px; }
.rhv3-ct-line:last-child{ margin-bottom:0; }
.rhv3-ct-line__ico{ width:42px; height:42px; flex:0 0 auto; border-radius:11px; background:var(--rhv3-lav-2); display:flex; align-items:center; justify-content:center; color:var(--rhv3-violet); }
.rhv3-ct-line__ico--soft{ background:rgba(255,255,255,.1); color:var(--rhv3-orange-soft); }
.rhv3-ct-line__txt{ min-width:0; display:block; }
.rhv3-ct-line__label{ display:block; font-size:12px; color:#c9c5f0; }
.rhv3-ct .rhv3-ct-line__val{ font-size:16px; font-weight:700; color:#fff; }
.rhv3-ct-line__val--break{ font-size:15px; word-break:break-all; }
.rhv3-ct-addr{ display:flex; gap:13px; align-items:flex-start; }
.rhv3-ct .rhv3-ct-addr__txt{ font-size:15px; color:var(--rhv3-ink); margin:0; line-height:1.6; }
.rhv3-ct-socials{ display:flex; gap:10px; margin-top:20px; padding-top:18px; border-top:1px solid var(--rhv3-lav-2); }
.rhv3-ct-social{ width:40px; height:40px; border-radius:11px; background:var(--rhv3-lav); display:flex; align-items:center; justify-content:center; color:var(--rhv3-violet); transition:background .15s,color .15s; }
.rhv3-ct-social:hover{ background:var(--rhv3-violet); color:#fff; }
.rhv3-ct-tz__ico{ background:transparent; color:var(--rhv3-violet); width:auto; height:auto; margin-top:2px; }
.rhv3-ct .rhv3-ct-tz__title{ font-size:15px; font-weight:800; margin-bottom:3px; color:var(--rhv3-ink); }
.rhv3-ct .rhv3-ct-tz__txt{ font-size:13.5px; color:var(--rhv3-ink-soft); margin:0; line-height:1.5; }

/* Stats */
.rhv3-ct-stats{ background:var(--rhv3-violet-deep); color:#fff; }
.rhv3-ct-stats__row{ display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; }
.rhv3-ct-stat{ flex:1 1 150px; text-align:center; }
.rhv3-ct .rhv3-ct-stat__num{ font-size:clamp(26px,3.2vw,38px); font-weight:800; letter-spacing:-.02em; line-height:1; color:#fff; }
.rhv3-ct-stat__plus{ color:var(--rhv3-orange-soft); }
.rhv3-ct .rhv3-ct-stat__label{ font-size:13.5px; color:#c9c5f0; margin-top:7px; font-weight:500; }

/* ============================================================================
   Page unique — Tarifs (.rhv3-tf)
   ========================================================================== */
.rh-entry-content > .rhv3-tf{ width:100%; max-width:none; }
/* HERO */
.rhv3-tf-hero{ background:radial-gradient(1100px 520px at 88% -8%,#efe9fe 0%,rgba(239,233,254,0) 60%),linear-gradient(180deg,#f7f6fe 0%,#ffffff 100%); }
.rhv3-tf .rhv3-tf-hero__in{ max-width:1000px; text-align:center; padding-top:clamp(24px,3vw,40px); padding-bottom:clamp(22px,3vw,34px); }
.rhv3-tf .rhv3-tf-hero__title{ font-size:clamp(32px,4.6vw,48px); line-height:1.08; letter-spacing:-.02em; font-weight:800; margin:0 0 16px; color:var(--rhv3-ink); }
.rhv3-tf .rhv3-accent{ color:var(--rhv3-violet) !important; }
.rhv3-tf .rhv3-tf-hero__lead{ font-size:clamp(16px,1.4vw,18px); color:var(--rhv3-ink-soft); max-width:600px; margin:0 auto; }

/* COMPARATIF */
.rhv3-tf .rhv3-tf-comp__in{ max-width:860px; }
.rhv3-tf-eco{ margin-bottom:20px; background:linear-gradient(115deg,#1f9d6b,#27b079); border-radius:20px; padding:clamp(22px,3vw,30px) clamp(20px,3vw,34px); box-shadow:var(--rhv3-shadow); display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:clamp(16px,3vw,40px); text-align:center; color:#fff; }
.rhv3-tf .rhv3-tf-eco__pct{ display:block; font-size:clamp(46px,7vw,72px); font-weight:800; letter-spacing:-.03em; line-height:.95; color:#fff !important; }
.rhv3-tf .rhv3-tf-eco__sub{ display:block; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; opacity:.92; margin-top:4px; color:#fff !important; }
.rhv3-tf-eco__txt{ max-width:420px; text-align:left; }
.rhv3-tf .rhv3-tf-eco__lead{ font-size:clamp(17px,1.8vw,20px); font-weight:700; margin-bottom:6px; color:#fff !important; }
.rhv3-tf .rhv3-tf-eco__desc{ font-size:15px; opacity:.94; line-height:1.5; color:#fff !important; }
.rhv3-tf-eco__desc strong{ font-weight:800; }

.rhv3-tf-tablewrap{ border:1px solid var(--rhv3-line); border-radius:22px; overflow:hidden; box-shadow:var(--rhv3-shadow); overflow-x:auto; }
.rhv3-tf .rhv3-tf-table{ width:100%; min-width:560px; border-collapse:collapse; table-layout:fixed; margin:0; }
.rhv3-tf .rhv3-tf-table th, .rhv3-tf .rhv3-tf-table td{ border:0; border-bottom:1px solid var(--rhv3-lav-2); padding:13px 14px; text-align:center; vertical-align:middle; }
.rhv3-tf .rhv3-tf-th{ padding:18px 14px; border-bottom:1px solid var(--rhv3-line); vertical-align:top; }
.rhv3-tf .rhv3-tf-th--rh{ width:30%; background:var(--rhv3-violet-deep); position:relative; }
.rhv3-tf .rhv3-tf-th--mid{ width:40%; background:var(--rhv3-lav); vertical-align:bottom; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--rhv3-ink-soft) !important; }
.rhv3-tf .rhv3-tf-th--fr{ width:30%; background:#fff; }
.rhv3-tf-badge{ position:absolute; top:10px; right:10px; background:var(--rhv3-green); color:#fff; font-size:11px; font-weight:800; padding:4px 9px; border-radius:999px; }
.rhv3-tf .rhv3-tf-th__name{ display:block; font-size:15px; font-weight:800; margin-bottom:6px; color:#fff !important; }
.rhv3-tf .rhv3-tf-th__price{ display:block; font-size:clamp(24px,3.2vw,32px); font-weight:800; line-height:1; color:var(--rhv3-orange-soft) !important; }
.rhv3-tf .rhv3-tf-th__note{ display:block; font-size:12px; margin-top:4px; color:#c9c5f0 !important; }
.rhv3-tf .rhv3-tf-th__name--dark{ color:var(--rhv3-ink) !important; }
.rhv3-tf .rhv3-tf-th__price--dark{ color:var(--rhv3-ink-soft) !important; }
.rhv3-tf .rhv3-tf-th__note--dark{ color:var(--rhv3-ink-soft) !important; }
.rhv3-tf .rhv3-tf-rh{ background:rgba(74,63,196,.06); }
.rhv3-tf .rhv3-tf-inc{ display:inline-flex; align-items:center; gap:5px; font-size:13.5px; font-weight:700; color:var(--rhv3-green) !important; }
.rhv3-tf .rhv3-tf-inc svg{ color:var(--rhv3-green); }
.rhv3-tf .rhv3-tf-lbl{ font-size:14px; font-weight:600; color:var(--rhv3-ink) !important; }
.rhv3-tf .rhv3-tf-fr{ font-size:14px; font-weight:600; color:var(--rhv3-ink-soft) !important; }
.rhv3-tf .rhv3-tf-rh--price{ font-weight:800; color:var(--rhv3-violet) !important; }
.rhv3-tf .rhv3-tf-fr--no svg{ color:#e08a8a; }
.rhv3-tf .rhv3-tf-row--sub{ background:#fbfaff; }
.rhv3-tf .rhv3-tf-rh--sub{ background:var(--rhv3-lav); font-weight:800; color:var(--rhv3-ink) !important; font-size:14.5px; }
.rhv3-tf .rhv3-tf-lbl--sub{ text-transform:uppercase; letter-spacing:.04em; font-size:13.5px; font-weight:700; color:var(--rhv3-ink-soft) !important; }
.rhv3-tf .rhv3-tf-fr--sub{ font-weight:800; color:var(--rhv3-ink-soft) !important; font-size:14.5px; }
.rhv3-tf .rhv3-tf-row--total td, .rhv3-tf .rhv3-tf-row--total th{ border-bottom:0; padding:18px 14px; }
.rhv3-tf .rhv3-tf-total-rh{ background:var(--rhv3-violet-deep); }
.rhv3-tf .rhv3-tf-total-rh__v{ display:block; font-size:clamp(18px,2.4vw,22px); font-weight:800; color:var(--rhv3-orange-soft) !important; }
.rhv3-tf .rhv3-tf-total-rh__n{ display:block; font-size:11.5px; margin-top:2px; color:#c9c5f0 !important; }
.rhv3-tf .rhv3-tf-total-lbl{ font-size:15px; font-weight:800; color:var(--rhv3-ink) !important; }
.rhv3-tf .rhv3-tf-total-fr{ font-size:clamp(18px,2.4vw,22px); font-weight:800; color:var(--rhv3-ink-soft) !important; }

/* FORMULAIRE */
.rhv3-tf .rhv3-tf-form__in{ max-width:1040px; }
.rhv3-tf-formcard{ background:#fff; border:1px solid var(--rhv3-line); border-radius:22px; box-shadow:var(--rhv3-shadow); overflow:hidden; display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }
.rhv3-tf-promo{ background:linear-gradient(150deg,var(--rhv3-violet),var(--rhv3-violet-2)); color:#fff; padding:clamp(28px,4vw,40px); display:flex; flex-direction:column; justify-content:center; }
.rhv3-tf .rhv3-tf-promo__eyebrow{ font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--rhv3-orange-soft) !important; margin-bottom:12px; }
.rhv3-tf .rhv3-tf-promo__title{ font-size:clamp(24px,3vw,32px); font-weight:800; letter-spacing:-.02em; margin:0 0 14px; color:#fff !important; }
.rhv3-tf .rhv3-tf-promo__lead{ font-size:16px; margin:0 0 22px; line-height:1.6; color:#e7e5fb !important; }
.rhv3-tf-promo__list{ display:flex; flex-direction:column; gap:11px; list-style:none; margin:0; padding:0; }
.rhv3-tf .rhv3-tf-promo__list li{ display:flex; gap:10px; align-items:center; font-size:14.5px; font-weight:600; color:#fff !important; }
.rhv3-tf .rhv3-tf-promo__list li svg{ color:#fff; background:rgba(255,255,255,.2); border-radius:50%; padding:3px; flex:0 0 auto; }
.rhv3-tf-formfields{ padding:clamp(26px,4vw,38px); }

/* GARANTIES */
.rhv3-tf-guar__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px; }
.rhv3-tf-gcard{ background:#fff; border:1px solid var(--rhv3-line); border-radius:18px; padding:24px; box-shadow:var(--rhv3-shadow-sm); }
.rhv3-tf-gcard__ico{ width:48px; height:48px; border-radius:13px; background:var(--rhv3-lav-2); display:flex; align-items:center; justify-content:center; color:var(--rhv3-violet); margin-bottom:14px; }
.rhv3-tf .rhv3-tf-gcard__title{ font-size:18px; font-weight:800; letter-spacing:-.01em; margin:0 0 8px; color:var(--rhv3-ink) !important; }
.rhv3-tf .rhv3-tf-gcard__desc{ font-size:14.5px; color:var(--rhv3-ink-soft); margin:0; line-height:1.6; }

/* SERVICES PHARES */
.rhv3-tf .rhv3-tf-services__in{ max-width:1000px; text-align:center; }
.rhv3-tf-services__row{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.rhv3-tf .rhv3-tf-svcpill{ display:inline-flex; align-items:center; gap:9px; background:var(--rhv3-lav); border:1px solid var(--rhv3-line); border-radius:999px; padding:11px 18px; font-weight:600; font-size:14.5px; color:var(--rhv3-ink) !important; text-decoration:none; transition:border-color .15s,color .15s,background .15s; }
.rhv3-tf .rhv3-tf-svcpill svg{ color:var(--rhv3-violet); flex:0 0 auto; }
.rhv3-tf .rhv3-tf-svcpill:hover{ border-color:var(--rhv3-violet); color:var(--rhv3-violet) !important; background:#fff; }

/* STATS */
.rhv3-tf .rhv3-tf-stats .rhv3-sec__in{ padding-top:0; }
.rhv3-tf-stats__band{ background:linear-gradient(115deg,var(--rhv3-violet-deep),#322a86); border-radius:22px; padding:clamp(22px,3vw,34px) clamp(18px,3vw,40px); box-shadow:var(--rhv3-shadow); display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; }
.rhv3-tf-stat{ flex:1 1 150px; text-align:center; padding:6px 8px; }
.rhv3-tf .rhv3-tf-stat__num{ font-size:clamp(26px,3.2vw,38px); font-weight:800; letter-spacing:-.02em; line-height:1; color:#fff !important; }
.rhv3-tf .rhv3-tf-stat__plus{ color:var(--rhv3-orange-soft) !important; }
.rhv3-tf .rhv3-tf-stat__label{ font-size:13.5px; margin-top:7px; font-weight:500; color:#c9c5f0 !important; }

/* ============================================================================
   Gabarit FICHE MÉTIER (template-fiche.php) — .rhv3-fi
   ========================================================================== */
.rhv3-fi-btn{ display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:16px; border-radius:999px; text-decoration:none; }
.rhv3-fi-btn--violet{ background:var(--rhv3-violet); color:#fff; padding:15px 26px; box-shadow:var(--rhv3-shadow); }
.rhv3-fi-btn--violet:hover{ background:var(--rhv3-violet-deep); color:#fff; }
.rhv3-fi-btn--ghost{ color:var(--rhv3-ink); padding:14px 18px; border:1.5px solid var(--rhv3-line); font-size:15px; }
.rhv3-fi-btn--ghost:hover{ border-color:var(--rhv3-violet); color:var(--rhv3-violet); }
.rhv3-fi-btn--white{ background:#fff; color:var(--rhv3-violet); padding:15px 26px; }
.rhv3-fi-btn--white:hover{ background:var(--rhv3-lav-2); color:var(--rhv3-violet); }
.rhv3-fi-btn--orange{ background:var(--rhv3-orange); color:var(--rhv3-violet-deep); padding:15px 28px; box-shadow:var(--rhv3-shadow-sm); }
.rhv3-fi-btn--orange:hover{ background:var(--rhv3-orange-soft); color:var(--rhv3-violet-deep); }

/* HERO */
.rhv3-fi-hero{ background:radial-gradient(1100px 520px at 88% -8%,#efe9fe 0%,rgba(239,233,254,0) 60%),linear-gradient(180deg,#f7f6fe 0%,#ffffff 100%); }
.rhv3-fi-bc{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--rhv3-ink-soft); font-weight:600; margin-bottom:26px; flex-wrap:wrap; }
.rhv3-fi-bc a{ color:var(--rhv3-ink-soft); text-decoration:none; }
.rhv3-fi-bc a:hover{ color:var(--rhv3-violet); }
.rhv3-fi-bc__cur{ color:var(--rhv3-ink); }
.rhv3-fi-hero__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(28px,4vw,52px); align-items:start; }
.rhv3-fi-badge{ display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--rhv3-line); box-shadow:var(--rhv3-shadow-sm); border-radius:999px; padding:7px 14px; font-size:13px; font-weight:700; color:var(--rhv3-violet); margin-bottom:20px; }
.rhv3-fi .rhv3-fi-hero__title{ font-size:clamp(32px,4.6vw,50px); line-height:1.07; letter-spacing:-.02em; font-weight:800; margin:0 0 16px; color:var(--rhv3-ink); }
.rhv3-fi .rhv3-fi-hero__title--long{ font-size:clamp(28px,3.7vw,40px); }
.rhv3-fi .rhv3-fi-hero__title--xlong{ font-size:clamp(24px,3vw,34px); }
.rhv3-fi .rhv3-fi-hero__lead{ font-size:clamp(16px,1.4vw,17.5px); color:var(--rhv3-ink-soft); margin:0 0 24px; max-width:560px; }
.rhv3-fi .rhv3-fi-hero__lead p{ margin:0 0 12px; }
.rhv3-fi .rhv3-fi-hero__lead p:last-child{ margin-bottom:0; }
.rhv3-fi-hero__cta{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.rhv3-fi-formcard{ background:#fff; border:1px solid var(--rhv3-line); border-radius:20px; box-shadow:var(--rhv3-shadow); padding:clamp(22px,2.5vw,30px); }
.rhv3-fi .rhv3-fi-formcard__title{ display:block; font-size:clamp(18px,2vw,22px); font-weight:800; letter-spacing:-.01em; margin:0 0 4px; color:var(--rhv3-ink); }
.rhv3-fi .rhv3-fi-formcard__note{ font-size:13.5px; color:var(--rhv3-ink-soft); margin:0 0 18px; }
/* 2 champs par ligne (société+nom / portable+email) pour réduire la hauteur du form */
.rhv3-fi-formcard .flex-row{ display:flex; gap:12px; }
.rhv3-fi-formcard .flex-row > .outer-input{ flex:1 1 0; min-width:0; }
.rhv3-fi-formcard .flex-row > .outer-input p{ margin:0; }

/* POSTE EN RÉGIE */
.rhv3-fi .rhv3-fi-regie .rhv3-sec__in{ max-width:1100px; }
.rhv3-fi-regie__head{ max-width:760px; margin-bottom:34px; }
.rhv3-fi-regie__eyebrow{ font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--rhv3-orange); margin-bottom:12px; }
.rhv3-fi .rhv3-fi-regie__title{ font-size:clamp(25px,3.2vw,36px); font-weight:800; letter-spacing:-.02em; margin:0 0 14px; color:var(--rhv3-ink); }
.rhv3-fi .rhv3-fi-regie__intro{ font-size:16px; color:var(--rhv3-ink-soft); margin:0; line-height:1.65; }
.rhv3-fi-regie__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:18px; align-items:start; }
.rhv3-fi-rcard{ border:1px solid var(--rhv3-line); border-radius:20px; padding:clamp(24px,3vw,32px); }
.rhv3-fi-rcard--resp{ background:var(--rhv3-lav); }
.rhv3-fi-rcard--req{ background:#fff; box-shadow:var(--rhv3-shadow-sm); }
.rhv3-fi-rcard__top{ display:flex; align-items:center; gap:11px; margin-bottom:18px; }
.rhv3-fi-rcard__ico{ width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.rhv3-fi-rcard__ico--v{ background:var(--rhv3-violet); color:#fff; }
.rhv3-fi-rcard__ico--l{ background:var(--rhv3-lav-2); color:var(--rhv3-violet); }
.rhv3-fi .rhv3-fi-rcard__title{ font-size:19px; font-weight:800; letter-spacing:-.01em; margin:0; color:var(--rhv3-ink); }
.rhv3-fi .rhv3-fi-rcard__intro{ font-size:14.5px; color:var(--rhv3-ink-soft); line-height:1.6; margin:0 0 16px; }
.rhv3-fi-rlist{ display:flex; flex-direction:column; gap:16px; list-style:none; margin:0; padding:0; }
.rhv3-fi-ritem{ display:flex; gap:12px; align-items:flex-start; }
.rhv3-fi-ritem__ck{ flex:0 0 auto; margin-top:3px; width:23px; height:23px; border-radius:50%; background:var(--rhv3-violet); color:#fff; display:flex; align-items:center; justify-content:center; }
.rhv3-fi-ritem__ck svg{ width:15px; height:15px; }
.rhv3-fi .rhv3-fi-ritem__tx{ font-size:14.5px; color:var(--rhv3-ink); line-height:1.55; }
.rhv3-fi .rhv3-fi-ritem__tx h3{ color:var(--rhv3-ink); font-weight:700; font-size:inherit; line-height:inherit; margin:0; }
.rhv3-fi .rhv3-fi-soft{ color:var(--rhv3-ink-soft); }
/* sous-liste verbatim (missions V2 : intertitre + puces mot pour mot) */
.rhv3-fi .rhv3-fi-ritem__tx > h3{ display:block; margin-bottom:6px; color:var(--rhv3-ink); font-weight:700; font-size:inherit; line-height:inherit; }
.rhv3-fi-rsub{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.rhv3-fi .rhv3-fi-rsub li{ position:relative; padding-left:16px; font-size:14px; color:var(--rhv3-ink-soft); line-height:1.5; }
.rhv3-fi .rhv3-fi-rsub li::before{ content:"" !important; position:absolute; left:1px; top:8px; width:5px; height:5px; border-radius:50%; background:var(--rhv3-violet) !important; }
.rhv3-fi .rhv3-fi-rsub li strong{ color:var(--rhv3-ink); font-weight:700; }
.rhv3-fi .rhv3-fi-rsub li a{ color:var(--rhv3-violet); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.rhv3-fi-qlist{ display:flex; flex-direction:column; gap:13px; list-style:none; margin:0; padding:0; }
.rhv3-fi-qitem{ display:flex; gap:11px; align-items:flex-start; }
.rhv3-fi-qitem__dot{ flex:0 0 auto; margin-top:2px; color:var(--rhv3-orange); display:inline-flex; }
.rhv3-fi .rhv3-fi-qitem span:last-child{ font-size:14.5px; color:var(--rhv3-ink); line-height:1.55; }
.rhv3-fi .rhv3-fi-qclose{ font-size:14px; color:var(--rhv3-ink-soft); margin:18px 0 0; line-height:1.6; padding-top:16px; border-top:1px solid var(--rhv3-lav-2); }
.rhv3-fi .rhv3-fi-qclose a{ color:var(--rhv3-violet); font-weight:700; }

/* (DEVIS BAND + PARLEZ-NOUS : sections retirées du gabarit fiche -> CSS supprimé) */

/* SECTIONS ÉDITORIALES — prose épurée + sections à icône (pas de cadres) */
.rhv3-fi .rhv3-fi-edito__in{ max-width:900px; }
.rhv3-fi .rhv3-fi-edito__lead{ max-width:840px; }
.rhv3-fi .rhv3-fi-edito__h{ font-size:clamp(21px,2.6vw,28px); font-weight:800; letter-spacing:-.02em; margin:28px 0 12px; color:var(--rhv3-ink); }
.rhv3-fi .rhv3-fi-edito__h--lead{ margin:0 0 16px; padding-left:16px; position:relative; }
.rhv3-fi .rhv3-fi-edito__h--lead::before{ content:""; position:absolute; left:0; top:6px; bottom:6px; width:5px; border-radius:3px; background:var(--rhv3-violet); }
/* étiquette de groupe (H2 qui introduit un cluster de sections) */
.rhv3-fi .rhv3-fi-edito__group{ font-size:clamp(20px,2.4vw,27px); font-weight:800; letter-spacing:-.02em; color:var(--rhv3-ink); margin:48px 0 6px; padding-left:16px; position:relative; }
.rhv3-fi .rhv3-fi-edito__group::before{ content:""; position:absolute; left:0; top:5px; bottom:5px; width:5px; border-radius:3px; background:var(--rhv3-violet); }
/* section à icône */
.rhv3-fi-es{ padding:28px 0; border-top:1px solid var(--rhv3-line); }
.rhv3-fi-es__head{ display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.rhv3-fi-es__ico{ flex:0 0 auto; width:46px; height:46px; border-radius:13px; background:var(--rhv3-lav); color:var(--rhv3-violet); display:flex; align-items:center; justify-content:center; }
.rhv3-fi .rhv3-fi-es__h{ font-size:clamp(18px,2.1vw,22px); font-weight:800; letter-spacing:-.015em; margin:0; color:var(--rhv3-ink); }
.rhv3-fi-es__body{ padding-left:60px; }
.rhv3-fi .rhv3-fi-es__p{ font-size:15.5px; color:var(--rhv3-ink-soft); line-height:1.7; margin:0 0 12px; }
.rhv3-fi .rhv3-fi-es__p:last-child{ margin-bottom:0; }
.rhv3-fi .rhv3-fi-es__p a{ color:var(--rhv3-violet); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.rhv3-fi .rhv3-fi-es__p strong, .rhv3-fi .rhv3-fi-es__list strong{ color:var(--rhv3-ink); font-weight:700; }
.rhv3-fi-es__list{ display:flex; flex-direction:column; gap:10px; list-style:none; margin:10px 0 0; padding:0; }
.rhv3-fi .rhv3-fi-es__list li{ position:relative; padding-left:20px; font-size:15px; color:var(--rhv3-ink); line-height:1.55; }
.rhv3-fi .rhv3-fi-es__list li::before{ content:"" !important; position:absolute; left:3px; top:9px; width:6px; height:6px; border-radius:50%; background:var(--rhv3-violet) !important; }
.rhv3-fi .rhv3-fi-es__list li a{ color:var(--rhv3-violet); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
@media (max-width:640px){ .rhv3-fi-es__body{ padding-left:0; } }
.rhv3-fi .rhv3-fi-edito__p{ font-size:15.5px; color:var(--rhv3-ink-soft); margin:0 0 12px; line-height:1.7; }
.rhv3-fi-edito__list{ display:flex; flex-direction:column; gap:10px; list-style:none; margin:6px 0 12px; padding:0; }
.rhv3-fi-edito__list li{ display:flex; gap:11px; align-items:flex-start; }
.rhv3-fi-edito__ck{ flex:0 0 auto; margin-top:3px; width:22px; height:22px; border-radius:50%; background:var(--rhv3-violet); color:#fff; display:flex; align-items:center; justify-content:center; }
.rhv3-fi .rhv3-fi-edito__list li span:last-child{ font-size:15px; color:var(--rhv3-ink); line-height:1.55; }
.rhv3-fi .rhv3-fi-edito__p a, .rhv3-fi .rhv3-fi-edito__list a{ color:var(--rhv3-violet); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
/* liens de contenu = MÊME couleur que le texte (pas le rouge par défaut du thème), avec soulignement */
.rhv3-fi .rhv3-fi-es__p a, .rhv3-fi .rhv3-fi-es__list a, .rhv3-fi .rhv3-fi-es__list li a,
.rhv3-fi .rhv3-fi-edito__p a, .rhv3-fi .rhv3-fi-edito__list a,
.rhv3-fi .rhv3-fi-rsub li a, .rhv3-fi .rhv3-fi-ritem a, .rhv3-fi .rhv3-fi-qitem a,
.rhv3-fi .rhv3-fi-rcard__intro a, .rhv3-fi .rhv3-fi-regie__intro a,
.rhv3-fi .rhv3-fi-hero__lead a{
	color:inherit; text-decoration:underline; text-underline-offset:2px; font-weight:600;
}
.rhv3-fi .rhv3-fi-edito__p strong, .rhv3-fi .rhv3-fi-edito__list strong{ color:var(--rhv3-ink); font-weight:700; }

/* LE MÉTIER EN BREF */
.rhv3-fi-brief__head{ max-width:680px; margin-bottom:34px; }
.rhv3-fi-brief__eyebrow{ font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--rhv3-orange); margin-bottom:12px; }
.rhv3-fi .rhv3-fi-brief__title{ font-size:clamp(25px,3.2vw,36px); font-weight:800; letter-spacing:-.02em; margin:0; color:var(--rhv3-ink); }
.rhv3-fi-brief__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:18px; }
.rhv3-fi-bcard{ background:var(--rhv3-lav); border:1px solid var(--rhv3-line); border-radius:18px; padding:24px; }
.rhv3-fi-bcard__ico{ width:46px; height:46px; border-radius:13px; background:#fff; border:1px solid var(--rhv3-line); display:flex; align-items:center; justify-content:center; color:var(--rhv3-violet); margin-bottom:14px; }
.rhv3-fi .rhv3-fi-bcard__title{ font-size:17px; font-weight:800; letter-spacing:-.01em; margin:0 0 8px; color:var(--rhv3-ink); }
.rhv3-fi .rhv3-fi-bcard__text{ font-size:14.5px; color:var(--rhv3-ink-soft); margin:0; line-height:1.6; }

/* CONSULTEZ ÉGALEMENT */
.rhv3-fi-rel__head{ text-align:center; max-width:620px; margin:0 auto 28px; }
.rhv3-fi .rhv3-fi-rel__title{ font-size:clamp(22px,2.8vw,30px); font-weight:800; letter-spacing:-.02em; margin:0; color:var(--rhv3-ink); }
.rhv3-fi-rel__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }
.rhv3-fi-relcard{ display:flex; align-items:center; gap:13px; background:#fff; border:1px solid var(--rhv3-line); border-radius:14px; padding:18px; box-shadow:var(--rhv3-shadow-sm); text-decoration:none; transition:border-color .15s,transform .2s; }
.rhv3-fi-relcard:hover{ border-color:var(--rhv3-violet); transform:translateY(-3px); }
.rhv3-fi-relcard__ico{ width:40px; height:40px; flex:0 0 auto; border-radius:11px; background:var(--rhv3-lav-2); color:var(--rhv3-violet); display:flex; align-items:center; justify-content:center; }
.rhv3-fi .rhv3-fi-relcard__lbl{ font-size:14.5px; font-weight:700; color:var(--rhv3-ink); line-height:1.3; }
.rhv3-fi-relcard__arr{ margin-left:auto; flex:0 0 auto; color:var(--rhv3-violet); display:inline-flex; }

/* FINAL CTA + STATS */
.rhv3-fi-final{ background:var(--rhv3-violet-deep); color:#fff; }
.rhv3-fi-final__head{ text-align:center; max-width:640px; margin:0 auto 40px; }
.rhv3-fi-final__eyebrow{ font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--rhv3-orange-soft); margin-bottom:14px; }
.rhv3-fi .rhv3-fi-final__title{ font-size:clamp(24px,3.2vw,34px); font-weight:800; letter-spacing:-.02em; margin:0 0 14px; color:#fff; }
.rhv3-fi-final__accent{ color:var(--rhv3-orange-soft); }
.rhv3-fi .rhv3-fi-final__lead{ font-size:16.5px; color:#d7d4f4; margin:0 auto 26px; }
.rhv3-fi-final__stats{ display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; border-top:1px solid rgba(255,255,255,.14); padding-top:32px; }
.rhv3-fi-stat{ flex:1 1 150px; text-align:center; }
.rhv3-fi .rhv3-fi-stat__num{ font-size:clamp(26px,3.2vw,38px); font-weight:800; letter-spacing:-.02em; line-height:1; color:#fff; }
.rhv3-fi-stat__plus{ color:var(--rhv3-orange-soft); }
.rhv3-fi .rhv3-fi-stat__label{ font-size:13.5px; color:#c9c5f0; margin-top:7px; font-weight:500; }

/* ============================================================
   GUIDE (guide.php) — .rhv3-guide
   ============================================================ */
.rhv3-guide .rhv3-sec__in{ max-width:1240px; }
/* HERO */
.rhv3-guide-hero{ background:radial-gradient(1100px 520px at 85% -10%,#efe9fe 0%,rgba(239,233,254,0) 60%),linear-gradient(180deg,#f7f6fe 0%,#ffffff 100%); }
.rhv3-guide .rhv3-guide-hero .rhv3-sec__in{ padding-top:clamp(24px,3.5vw,40px); padding-bottom:clamp(4px,1vw,10px); }
.rhv3-guide .rhv3-guide-title{ max-width:860px; }
.rhv3-guide .rhv3-guide-body .rhv3-sec__in{ padding-top:clamp(16px,2vw,24px); }
.rhv3-guide-bc{ display:flex; flex-wrap:wrap; align-items:center; gap:7px; font-size:13.5px; color:var(--rhv3-ink-soft); margin-bottom:18px; }
.rhv3-guide-bc a{ color:var(--rhv3-ink-soft); text-decoration:none; }
.rhv3-guide-bc a:hover{ color:var(--rhv3-violet); }
.rhv3-guide-bc svg{ opacity:.5; }
.rhv3-guide-bc__cur{ color:var(--rhv3-violet); font-weight:600; }
.rhv3-guide-badge{ display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid var(--rhv3-line); box-shadow:var(--rhv3-shadow-sm); border-radius:999px; padding:6px 13px; font-size:12.5px; font-weight:700; color:var(--rhv3-violet); margin-bottom:16px; }
.rhv3-guide .rhv3-guide-title{ font-size:clamp(30px,4.4vw,48px); line-height:1.08; letter-spacing:-.02em; font-weight:800; margin:0 0 14px; color:var(--rhv3-ink); }
.rhv3-guide .rhv3-guide-lead{ font-size:clamp(16px,1.5vw,18.5px); color:var(--rhv3-ink-soft); line-height:1.6; margin:0; max-width:720px; }
/* image de couverture : bandeau uniforme (après le sommaire), taille maîtrisée, anti-CLS */
.rhv3-guide-cover{ margin:0 0 30px; max-width:760px; border-radius:16px; overflow:hidden; box-shadow:var(--rhv3-shadow-sm); aspect-ratio:16/7; background:var(--rhv3-lav); }
.rhv3-guide-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
/* CORPS : article + aside sticky */
.rhv3-guide-grid{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:clamp(28px,4vw,56px); align-items:start; }
@media (max-width:900px){ .rhv3-guide-grid{ grid-template-columns:1fr; } }
.rhv3-guide-main{ min-width:0; }
/* Sommaire */
.rhv3-guide-toc{ background:var(--rhv3-lav); border:1px solid var(--rhv3-line); border-radius:16px; padding:20px 22px; margin:0 0 30px; }
.rhv3-guide-toc__title{ display:flex; align-items:center; gap:9px; font-size:14px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; color:var(--rhv3-violet); margin-bottom:12px; }
.rhv3-guide-toc ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.rhv3-guide .rhv3-guide-toc li::before, .rhv3-guide .rhv3-guide-toc li::after{ content:none !important; }
.rhv3-guide-toc a{ color:var(--rhv3-ink); text-decoration:none; font-size:14.5px; font-weight:600; border-bottom:1px solid transparent; }
.rhv3-guide-toc a:hover{ color:var(--rhv3-violet); border-bottom-color:var(--rhv3-violet); }
/* Contenu article : décalage d'ancre (header) + confort de lecture */
.rhv3-guide-content{ max-width:760px; }
.rhv3-guide-content :where(h2,h3,h4){ scroll-margin-top:96px; }
/* Aside form */
.rhv3-guide-aside{ position:sticky; top:96px; }
@media (max-width:900px){ .rhv3-guide-aside{ position:static; } }
.rhv3-guide-formcard{ background:#fff; border:1px solid var(--rhv3-line); border-radius:20px; box-shadow:var(--rhv3-shadow); padding:clamp(22px,2.4vw,30px); }
.rhv3-guide .rhv3-guide-formcard__title{ font-size:20px; font-weight:800; letter-spacing:-.01em; margin:0 0 4px; color:var(--rhv3-ink); }
.rhv3-guide .rhv3-guide-formcard__note{ font-size:14px; color:var(--rhv3-ink-soft); margin:0 0 18px; }
/* VOUS AIMEREZ AUSSI */
.rhv3-guide-rel__head{ margin-bottom:26px; }
.rhv3-guide .rhv3-guide-rel__title{ font-size:clamp(22px,2.8vw,30px); font-weight:800; letter-spacing:-.02em; margin:0; color:var(--rhv3-ink); }
.rhv3-guide-rel__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
.rhv3-guide-rcard{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--rhv3-line); border-radius:16px; overflow:hidden; box-shadow:var(--rhv3-shadow-sm); text-decoration:none; transition:transform .15s,box-shadow .15s; }
.rhv3-guide-rcard:hover{ transform:translateY(-3px); box-shadow:var(--rhv3-shadow); }
.rhv3-guide-rcard__img{ display:block; aspect-ratio:16/9; overflow:hidden; background:var(--rhv3-lav); }
.rhv3-guide-rcard__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.rhv3-guide-rcard__body{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; }
.rhv3-guide-rcard__title{ font-size:15.5px; font-weight:700; color:var(--rhv3-ink); line-height:1.35; }
.rhv3-guide-rcard__arr{ flex:0 0 auto; color:var(--rhv3-violet); display:inline-flex; }
/* CTA FINAL */
.rhv3-guide-final__band{ background:linear-gradient(115deg,var(--rhv3-violet),var(--rhv3-violet-2)); border-radius:22px; padding:clamp(28px,4vw,44px); box-shadow:var(--rhv3-shadow); display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; }
.rhv3-guide .rhv3-guide-final__title{ font-size:clamp(22px,2.8vw,30px); font-weight:800; letter-spacing:-.02em; color:#fff; margin:0 0 8px; }
.rhv3-guide .rhv3-guide-final__lead{ font-size:15.5px; color:#e7e5fb; margin:0; }
.rhv3-guide-final__act{ display:flex; gap:12px; flex-wrap:wrap; justify-self:end; }
@media (max-width:620px){ .rhv3-guide-final__band{ grid-template-columns:1fr; } .rhv3-guide-final__act{ justify-self:start; } }
.rhv3-guide-btn{ display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:16px; border-radius:999px; text-decoration:none; padding:14px 26px; }
.rhv3-guide-btn--orange{ background:var(--rhv3-orange); color:var(--rhv3-violet-deep); }
.rhv3-guide-btn--orange:hover{ background:var(--rhv3-orange-soft); }
/* PROSE du guide (the_content) = charte V3 (surcharge .rh-entry-content + neutralisation .rhv3-sec li) */
.rhv3-guide .rhv3-guide-content{ font-size:16px; color:var(--rhv3-ink-soft); }
.rhv3-guide .rhv3-guide-content > *:first-child{ margin-top:0; }
.rhv3-guide .rhv3-guide-content h2{ font-size:clamp(21px,2.4vw,27px) !important; font-weight:800; letter-spacing:-.02em; color:var(--rhv3-ink) !important; line-height:1.2; margin:42px 0 14px; padding-left:16px; position:relative; }
.rhv3-guide .rhv3-guide-content h2::before{ content:"" !important; position:absolute; left:0; top:5px; bottom:5px; width:5px; border-radius:3px; background:var(--rhv3-violet) !important; }
.rhv3-guide .rhv3-guide-content h3{ font-size:clamp(17.5px,2vw,21px) !important; font-weight:800; letter-spacing:-.01em; color:var(--rhv3-ink) !important; margin:30px 0 10px; }
.rhv3-guide .rhv3-guide-content h4{ font-size:16.5px; font-weight:700; color:var(--rhv3-ink); margin:22px 0 8px; }
.rhv3-guide .rhv3-guide-content p{ font-size:16px; line-height:1.75; color:var(--rhv3-ink-soft); margin:0 0 16px; }
.rhv3-guide .rhv3-guide-content a{ color:var(--rhv3-violet); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.rhv3-guide .rhv3-guide-content strong{ color:var(--rhv3-ink); font-weight:700; }
.rhv3-guide .rhv3-guide-content ul, .rhv3-guide .rhv3-guide-content ol{ margin:0 0 18px; padding:0 0 0 2px; list-style:none; display:flex; flex-direction:column; gap:10px; }
.rhv3-guide .rhv3-guide-content li{ position:relative; padding-left:26px; font-size:16px; color:var(--rhv3-ink-soft); line-height:1.6; }
.rhv3-guide .rhv3-guide-content ul li::before{ content:"" !important; position:absolute; left:6px; top:11px; width:6px; height:6px; border-radius:50%; background:var(--rhv3-violet) !important; display:block !important; }
.rhv3-guide .rhv3-guide-content ol{ counter-reset:rhguideol; }
.rhv3-guide .rhv3-guide-content ol li{ counter-increment:rhguideol; }
.rhv3-guide .rhv3-guide-content ol li::before{ content:counter(rhguideol) "." !important; position:absolute; left:0; top:0; color:var(--rhv3-violet); font-weight:800; font-size:14.5px; }
.rhv3-guide .rhv3-guide-content li strong{ color:var(--rhv3-ink); }
.rhv3-guide .rhv3-guide-content li a{ color:var(--rhv3-violet); }
.rhv3-guide .rhv3-guide-content img{ max-width:100%; height:auto; border-radius:14px; }
.rhv3-guide .rhv3-guide-content figure{ margin:22px 0; }
.rhv3-guide .rhv3-guide-content blockquote{ margin:22px 0; padding:14px 22px; border-left:4px solid var(--rhv3-violet); background:var(--rhv3-lav); border-radius:0 12px 12px 0; color:var(--rhv3-ink); }
.rhv3-guide .rhv3-guide-content table{ width:100%; border-collapse:collapse; margin:22px 0; font-size:15px; }
.rhv3-guide .rhv3-guide-content th, .rhv3-guide .rhv3-guide-content td{ border:1px solid var(--rhv3-line); padding:10px 14px; text-align:left; vertical-align:top; }
.rhv3-guide .rhv3-guide-content th{ background:var(--rhv3-lav); font-weight:700; color:var(--rhv3-ink); }
/* méta article (single) */
.rhv3-guide-meta{ display:flex; align-items:center; gap:14px; margin-top:14px; flex-wrap:wrap; }
.rhv3-guide-meta__cat{ background:var(--rhv3-lav-2); color:var(--rhv3-violet); font-size:12.5px; font-weight:700; padding:5px 12px; border-radius:999px; }
.rhv3-guide-meta__date{ display:inline-flex; align-items:center; gap:6px; font-size:13.5px; color:var(--rhv3-ink-soft); }

/* ============================================================
   ARCHIVE (archive.php) — .rhv3-arch
   ============================================================ */
.rhv3-arch-hero{ background:radial-gradient(1100px 520px at 85% -10%,#efe9fe 0%,rgba(239,233,254,0) 60%),linear-gradient(180deg,#f7f6fe 0%,#ffffff 100%); }
.rhv3-arch .rhv3-arch-hero .rhv3-sec__in{ padding-top:clamp(30px,4vw,52px); padding-bottom:clamp(24px,3vw,36px); }
.rhv3-arch-hero__head{ max-width:720px; }
.rhv3-arch-eyebrow{ display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid var(--rhv3-line); box-shadow:var(--rhv3-shadow-sm); border-radius:999px; padding:6px 13px; font-size:12.5px; font-weight:700; color:var(--rhv3-violet); margin-bottom:16px; }
.rhv3-arch .rhv3-arch-title{ font-size:clamp(30px,4.4vw,46px); line-height:1.08; letter-spacing:-.02em; font-weight:800; color:var(--rhv3-ink); margin:0 0 12px; }
.rhv3-arch .rhv3-arch-lead{ font-size:16.5px; color:var(--rhv3-ink-soft); line-height:1.6; }
.rhv3-arch .rhv3-arch-lead p{ margin:0 0 10px; }
.rhv3-arch-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:26px; }
.rhv3-arch-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--rhv3-line); border-radius:18px; overflow:hidden; box-shadow:var(--rhv3-shadow-sm); transition:transform .15s,box-shadow .15s; }
.rhv3-arch-card:hover{ transform:translateY(-3px); box-shadow:var(--rhv3-shadow); }
.rhv3-arch-card__img{ display:block; aspect-ratio:16/9; overflow:hidden; background:var(--rhv3-lav); }
.rhv3-arch-card__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.rhv3-arch-card__body{ padding:20px 22px 22px; display:flex; flex-direction:column; flex:1; }
.rhv3-arch-card__meta{ display:flex; align-items:center; gap:12px; margin-bottom:11px; flex-wrap:wrap; }
.rhv3-arch-card__cat{ background:var(--rhv3-lav-2); color:var(--rhv3-violet); font-size:12px; font-weight:700; padding:4px 11px; border-radius:999px; }
.rhv3-arch-card__date{ font-size:13px; color:var(--rhv3-ink-soft); }
.rhv3-arch .rhv3-arch-card__title{ font-size:18.5px; font-weight:800; letter-spacing:-.01em; line-height:1.3; margin:0 0 10px; }
.rhv3-arch .rhv3-arch-card__title a{ color:var(--rhv3-ink); text-decoration:none; }
.rhv3-arch .rhv3-arch-card__title a:hover{ color:var(--rhv3-violet); }
.rhv3-arch .rhv3-arch-card__excerpt{ font-size:14.5px; color:var(--rhv3-ink-soft); line-height:1.6; margin:0 0 16px; }
.rhv3-arch-card__more{ margin-top:auto; display:inline-flex; align-items:center; gap:7px; font-size:14.5px; font-weight:700; color:var(--rhv3-violet); text-decoration:none; }
.rhv3-arch-card__more:hover{ gap:10px; }
.rhv3-arch-pagination{ display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin-top:clamp(30px,4vw,48px); }
.rhv3-arch-pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 12px; border-radius:11px; border:1px solid var(--rhv3-line); background:#fff; color:var(--rhv3-ink); font-weight:700; font-size:14.5px; text-decoration:none; }
.rhv3-arch-pagination .page-numbers.current{ background:var(--rhv3-violet); color:#fff; border-color:var(--rhv3-violet); }
.rhv3-arch-pagination a.page-numbers:hover{ border-color:var(--rhv3-violet); color:var(--rhv3-violet); }
.rhv3-arch-pagination .page-numbers.current:hover{ color:#fff; }
.rhv3-arch-empty{ text-align:center; color:var(--rhv3-ink-soft); padding:40px 0; }

/* Hero de titre pour les pages page.php sans H1 dans le contenu (SEO) */
.rhv3-page-hero{ background:radial-gradient(1100px 520px at 85% -10%,#efe9fe 0%,rgba(239,233,254,0) 60%),linear-gradient(180deg,#f7f6fe 0%,#ffffff 100%); }
.rh-page .rhv3-page-hero .rhv3-sec__in{ padding-top:clamp(30px,4vw,52px); padding-bottom:clamp(18px,2.5vw,28px); max-width:1000px; }
.rh-page .rhv3-page-hero__title{ font-size:clamp(30px,4.4vw,46px); line-height:1.1; letter-spacing:-.02em; font-weight:800; color:var(--rhv3-ink); margin:0; }

/* Variantes de bouton (guide/arch/404) + 404 + recherche */
.rhv3-guide-btn--violet{ background:var(--rhv3-violet); color:#fff; }
.rhv3-guide-btn--violet:hover{ background:var(--rhv3-violet-deep); }
.rhv3-guide-btn--ghost{ background:#fff; color:var(--rhv3-ink); border:1px solid var(--rhv3-line); }
.rhv3-guide-btn--ghost:hover{ border-color:var(--rhv3-violet); color:var(--rhv3-violet); }
.rhv3-404__in{ text-align:center; max-width:660px; margin:0 auto; padding-top:clamp(26px,4vw,48px); padding-bottom:clamp(16px,2.2vw,26px); }
.rhv3-404__code{ font-size:clamp(76px,13vw,150px); font-weight:800; line-height:1; letter-spacing:-.04em; background:linear-gradient(115deg,var(--rhv3-violet),var(--rhv3-violet-2)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; margin-bottom:4px; }
.rhv3-arch .rhv3-404 .rhv3-arch-title{ font-size:clamp(22px,3vw,31px); max-width:620px; margin:0 auto; line-height:1.25; }
.rhv3-404-links .rhv3-sec__in{ padding-top:clamp(10px,2vw,26px); }
.rhv3-404__actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin:22px 0 0; }
.rhv3-404__search{ max-width:440px; margin:0 auto; }
.rhv3-arch .search-form{ display:flex; gap:8px; }
.rhv3-arch input[type=search]{ flex:1; padding:13px 16px; border:1.5px solid var(--rhv3-line); border-radius:12px; font-size:15px; font-family:inherit; color:var(--rhv3-ink); background:#fff; }
.rhv3-arch input[type=search]:focus{ border-color:var(--rhv3-violet); outline:none; }
.rhv3-arch .search-form button, .rhv3-arch .search-submit{ background:var(--rhv3-violet); color:#fff; border:none; border-radius:12px; padding:0 20px; height:48px; font-weight:700; font-size:14.5px; cursor:pointer; }
.rhv3-arch .search-form button:hover, .rhv3-arch .search-submit:hover{ background:var(--rhv3-violet-deep); }
/* 404 marketing */
.rhv3-404__badge{ display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid var(--rhv3-line); box-shadow:var(--rhv3-shadow-sm); border-radius:999px; padding:6px 13px; font-size:12.5px; font-weight:700; color:var(--rhv3-violet); margin-bottom:8px; }
.rhv3-arch .rhv3-404__lead{ max-width:600px; margin-left:auto; margin-right:auto; }
.rhv3-arch .rhv3-404__lead strong{ color:var(--rhv3-ink); font-weight:700; }
.rhv3-404-links__head{ text-align:center; max-width:600px; margin:0 auto 30px; }
.rhv3-arch .rhv3-404-links__title{ font-size:clamp(22px,2.8vw,30px); font-weight:800; letter-spacing:-.02em; color:var(--rhv3-ink); margin:0 0 8px; }
.rhv3-404-links__sub{ font-size:15.5px; color:var(--rhv3-ink-soft); margin:0; }
.rhv3-404-links__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; max-width:940px; margin:0 auto; }
.rhv3-404-link{ display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--rhv3-line); border-radius:15px; padding:16px 18px; text-decoration:none; box-shadow:var(--rhv3-shadow-sm); transition:transform .15s,box-shadow .15s,border-color .15s; }
.rhv3-404-link:hover{ transform:translateY(-2px); box-shadow:var(--rhv3-shadow); border-color:var(--rhv3-lav-2); }
.rhv3-404-link__ico{ flex:0 0 auto; width:46px; height:46px; border-radius:13px; background:var(--rhv3-lav); color:var(--rhv3-violet); display:flex; align-items:center; justify-content:center; }
.rhv3-404-link__txt{ flex:1; min-width:0; }
.rhv3-404-link__label{ display:block; font-size:15.5px; font-weight:800; color:var(--rhv3-ink); letter-spacing:-.01em; }
.rhv3-404-link__desc{ display:block; font-size:13px; color:var(--rhv3-ink-soft); line-height:1.4; margin-top:2px; }
.rhv3-404-link__arr{ flex:0 0 auto; color:var(--rhv3-violet); display:inline-flex; }

/* ============================ Page hub « Nos services » ===================== */
.rhv3-hub-hero{ background:var(--rhv3-lav); text-align:center; }
.rhv3-hub-hero__in{ max-width:760px; }
.rhv3-hub .rhv3-hub-hero__title{ font-size:clamp(30px,4.5vw,46px); font-weight:800; letter-spacing:-.02em; margin:6px 0 14px; color:var(--rhv3-ink); line-height:1.08; }
.rhv3-hub .rhv3-hub-hero__lead{ font-size:17px; color:var(--rhv3-ink-soft); margin:0 auto 24px; line-height:1.6; }
.rhv3-hub-cat{ margin-bottom:clamp(30px,4vw,48px); }
.rhv3-hub-cat:last-child{ margin-bottom:0; }
.rhv3-hub-cat__head{ display:flex; align-items:center; gap:12px; margin-bottom:18px; padding-bottom:12px; border-bottom:1px solid var(--rhv3-line); }
.rhv3-hub-cat__ico{ width:40px; height:40px; flex:0 0 auto; border-radius:11px; background:var(--rhv3-lav-2); color:var(--rhv3-violet); display:flex; align-items:center; justify-content:center; }
.rhv3-hub .rhv3-hub-cat__title{ font-size:clamp(20px,2.4vw,26px); font-weight:800; letter-spacing:-.01em; margin:0; color:var(--rhv3-ink); }
.rhv3-hub-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:14px; }
.rhv3-hub-cta{ background:var(--rhv3-violet-deep); color:#fff; text-align:center; }
.rhv3-hub-cta__in{ max-width:680px; }
.rhv3-hub .rhv3-hub-cta__title{ font-size:clamp(24px,3vw,34px); font-weight:800; letter-spacing:-.02em; margin:0 0 10px; color:#fff !important; }
.rhv3-hub .rhv3-hub-cta__lead{ font-size:16px; color:#c9c5f0 !important; margin:0 auto 22px; line-height:1.6; }

/* ======================= ANIMATIONS V3 — Lot 1 (100% CSS) =================== */
/* Micro-interactions au survol, sans aucune dépendance JS : cartes (élévation +
   icône qui pivote/se colore + flèche qui glisse), boutons (lift + reflet),
   détails vivants (pulse / flottement). Respecte prefers-reduced-motion (bas). */

/* --- Transitions de base (cartes + icônes + flèches + images) --- */
.rhv3-sec .rhv3-icard,
.rhv3-sec .rhv3-linkcard,
.rhv3-fi-relcard,
.rhv3-fi-bcard,
.rhv3-arch-card,
.rhv3-404-link{ transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s, border-color .25s; }
.rhv3-sec .rhv3-icard__ico,
.rhv3-sec .rhv3-linkcard__ico,
.rhv3-fi-relcard__ico,
.rhv3-fi-bcard__ico,
.rhv3-404-link__ico{ transition:transform .35s cubic-bezier(.34,1.56,.64,1), background .25s, color .25s, border-color .25s; }
.rhv3-sec .rhv3-linkcard__arrow,
.rhv3-fi-relcard__arr,
.rhv3-404-link__arr,
.rhv3-sec .rhv3-icard__link svg{ transition:transform .25s; }
.rhv3-arch-card__img img{ transition:transform .55s cubic-bezier(.22,1,.36,1); }

/* --- Cartes : élévation au survol --- */
.rhv3-sec .rhv3-icard:hover,
.rhv3-fi-bcard:hover,
.rhv3-arch-card:hover{ transform:translateY(-6px); box-shadow:var(--rhv3-shadow); }
.rhv3-sec .rhv3-linkcard:hover,
.rhv3-fi-relcard:hover{ transform:translateY(-6px); box-shadow:var(--rhv3-shadow); border-color:var(--rhv3-violet); }
.rhv3-404-link:hover{ transform:translateY(-4px); box-shadow:var(--rhv3-shadow); border-color:var(--rhv3-violet); }

/* --- Icône qui pivote et se colore --- */
.rhv3-sec .rhv3-icard:hover .rhv3-icard__ico,
.rhv3-sec .rhv3-linkcard:hover .rhv3-linkcard__ico,
.rhv3-fi-relcard:hover .rhv3-fi-relcard__ico,
.rhv3-fi-bcard:hover .rhv3-fi-bcard__ico,
.rhv3-404-link:hover .rhv3-404-link__ico{ transform:rotate(-8deg) scale(1.08); background:var(--rhv3-violet); color:#fff; border-color:transparent; }

/* --- Flèche qui glisse --- */
.rhv3-sec .rhv3-linkcard:hover .rhv3-linkcard__arrow,
.rhv3-fi-relcard:hover .rhv3-fi-relcard__arr,
.rhv3-404-link:hover .rhv3-404-link__arr,
.rhv3-sec .rhv3-icard:hover .rhv3-icard__link svg{ transform:translateX(5px); }

/* --- Carte actu/blog : léger zoom de l'image (clippé par __img overflow:hidden) --- */
.rhv3-arch-card:hover .rhv3-arch-card__img img{ transform:scale(1.06); }

/* --- Boutons : lift + reflet lumineux qui traverse --- */
.rhv3-btn{ position:relative; overflow:hidden; }
.rhv3-btn:hover{ transform:translateY(-2px); box-shadow:var(--rhv3-shadow); }
.rhv3-btn:active{ transform:translateY(0); }
.rhv3-btn::after{ content:""; position:absolute; top:0; left:-120%; width:60%; height:100%; background:linear-gradient(115deg,transparent,rgba(255,255,255,.45),transparent); transform:skewX(-18deg); transition:left .6s; pointer-events:none; }
.rhv3-btn:hover::after{ left:130%; }

/* --- Détails vivants (utilitaires à poser sur un élément) --- */
.rhv3-pulse-dot{ position:relative; }
.rhv3-pulse-dot::before{ content:""; position:absolute; inset:-5px; border-radius:50%; background:var(--rhv3-green); opacity:.5; animation:rhv3Pulse 1.9s ease-out infinite; }
@keyframes rhv3Pulse{ 0%{transform:scale(.7);opacity:.55} 70%{transform:scale(1.7);opacity:0} 100%{opacity:0} }
.rhv3-floaty{ animation:rhv3Floaty 4.5s ease-in-out infinite; }
@keyframes rhv3Floaty{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-9px)} }

/* Pastille de disponibilité (chip sur fond sombre : CTA final service/fiche) */
.rhv3-avail{ display:inline-flex; align-items:center; gap:11px; margin:0 auto 16px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.16); color:#fff; border-radius:999px; padding:8px 16px; font-size:13.5px; font-weight:700; line-height:1; }
.rhv3-avail .rhv3-pulse-dot{ width:9px; height:9px; flex:0 0 auto; border-radius:50%; background:var(--rhv3-green); display:inline-block; }

/* --- Accessibilité : coupe tout mouvement si l'utilisateur le demande --- */
@media (prefers-reduced-motion: reduce){
  .rhv3-btn, .rhv3-btn::after,
  .rhv3-sec .rhv3-icard, .rhv3-sec .rhv3-linkcard, .rhv3-fi-relcard, .rhv3-fi-bcard, .rhv3-arch-card, .rhv3-404-link,
  .rhv3-sec .rhv3-icard__ico, .rhv3-sec .rhv3-linkcard__ico, .rhv3-fi-relcard__ico, .rhv3-fi-bcard__ico, .rhv3-404-link__ico,
  .rhv3-sec .rhv3-linkcard__arrow, .rhv3-fi-relcard__arr, .rhv3-404-link__arr, .rhv3-sec .rhv3-icard__link svg,
  .rhv3-arch-card__img img{ transition:none !important; }
  .rhv3-btn:hover, .rhv3-arch-card:hover .rhv3-arch-card__img img,
  .rhv3-sec .rhv3-icard:hover .rhv3-icard__ico, .rhv3-sec .rhv3-linkcard:hover .rhv3-linkcard__ico,
  .rhv3-fi-relcard:hover .rhv3-fi-relcard__ico, .rhv3-fi-bcard:hover .rhv3-fi-bcard__ico,
  .rhv3-404-link:hover .rhv3-404-link__ico{ transform:none; }
  .rhv3-pulse-dot::before, .rhv3-floaty, .rhv3-anim{ animation:none !important; }
}

/* ============ Tableaux dans la prose service-project (pages V2 mères) ============
   Contenu V2 brut (wp:table) dans .rh-service-project__text : habillage V3 charte. */
.rh-service-content .rh-service-project__text table{ width:100%; border-collapse:collapse; margin:18px 0; font-size:14.5px; background:#fff; border:1px solid var(--rhv3-line); }
.rh-service-content .rh-service-project__text table th,
.rh-service-content .rh-service-project__text table td{ padding:10px 14px; border:1px solid var(--rhv3-line); text-align:left; vertical-align:top; line-height:1.5; }
.rh-service-content .rh-service-project__text table th{ background:var(--rhv3-lav-2); font-weight:700; color:var(--rhv3-ink); }
.rh-service-content .rh-service-project__text table thead th{ background:var(--rhv3-violet-deep); color:#fff; }
.rh-service-content .rh-service-project__text table tbody tr:nth-child(even) td,
.rh-service-content .rh-service-project__text table tr:nth-child(even) td{ background:var(--rhv3-lav); }

/* Tableaux dans le bloc « Sections éditoriales » (même habillage, tout contexte) */
.rhv3-es__body figure.wp-block-table,
.rhv3-edito__body figure.wp-block-table{ margin:16px 0; overflow-x:auto; }
.rhv3-es__body table,
.rhv3-edito__body table{ width:100%; border-collapse:collapse; margin:16px 0; font-size:14.5px; background:#fff; border:1px solid var(--rhv3-line); }
.rhv3-es__body table th, .rhv3-es__body table td,
.rhv3-edito__body table th, .rhv3-edito__body table td{ padding:10px 14px; border:1px solid var(--rhv3-line); text-align:left; vertical-align:top; line-height:1.5; }
.rhv3-es__body table th,
.rhv3-edito__body table th{ background:var(--rhv3-lav-2); font-weight:700; color:var(--rhv3-ink); }
.rhv3-es__body table thead th,
.rhv3-edito__body table thead th{ background:var(--rhv3-violet-deep); color:#fff; }
.rhv3-es__body table tbody tr:nth-child(even) td,
.rhv3-edito__body table tbody tr:nth-child(even) td{ background:var(--rhv3-lav); }

/* ============ No gradients / no shadows ============ */
:root{
  --rhv3-shadow-sm:none !important;
  --rhv3-shadow:none !important;
  --shadow-sm:none !important;
  --shadow:none !important;
}

*,
*::before,
*::after{
  box-shadow:none !important;
  text-shadow:none !important;
}

img,
svg,
[style*="drop-shadow"],
[style*="filter"]{
  filter:none !important;
}

[style*="linear-gradient"],
[style*="radial-gradient"]{
  background-image:none !important;
}

[style*="radial-gradient"]{
  background-color:#f7f6fe !important;
}

[style*="linear-gradient"][style*="--violet"],
[style*="linear-gradient"][style*="--rhv3-violet"],
[style*="linear-gradient"][style*="#322a86"]{
  background-color:var(--rhv3-violet-deep, #1d1341) !important;
}

.rhv3-shero,
.rh-entry-content .rh-title-intro,
.rhv3-cmm-hero,
.rhv3-ct-hero,
.rhv3-tf-hero,
.rhv3-fi-hero,
.rhv3-guide-hero,
.rhv3-arch-hero,
.rhv3-page-hero{
  background:#f7f6fe !important;
}

.rhv3-modal__aside,
.rhv3-band-cta,
.rhv3-band-figures,
.rhv3-sec .rhv3-ctaband__band,
.rhv3-cmm .rhv3-cmm-promises__band,
.rhv3-tf-promo,
.rhv3-tf-stats__band,
.rhv3-guide-final__band{
  background:var(--rhv3-violet-deep) !important;
}

.rhv3-tf-eco{
  background:#1f9d6b !important;
}

.rhv3-cmm .rhv3-cmm-tl__fill{
  background:var(--rhv3-violet) !important;
}

.rhv3-charte__title{
  background:var(--rhv3-lav) !important;
}

.rhv3-404__code{
  background:none !important;
  color:var(--rhv3-violet) !important;
  -webkit-text-fill-color:currentColor !important;
}

.rhv3-btn::after{
  display:none !important;
}

/* ============ Pages secteurs externalisation : finition V3 ============ */
body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-page{
  background:#fff;
  overflow:hidden;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content{
  max-width:none;
  padding:0;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content > .rh-container.rh-custom-block-container{
  width:auto;
  max-width:none;
  margin:0;
  padding:0;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rhv3-page-hero{
  background:#f7f6fe !important;
  border-bottom:1px solid var(--rhv3-line);
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-page .rhv3-page-hero .rhv3-sec__in{
  max-width:1200px;
  padding-top:clamp(42px,6vw,78px);
  padding-bottom:clamp(24px,3vw,38px);
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content > .rh-custom-block-container--rouge-hexagone-service-project:first-child,
body.page-id-63144 .rh-entry-content > .rh-custom-block-container--rouge-hexagone-service-project:first-of-type{
  background:#f7f6fe;
  border-bottom:1px solid var(--rhv3-line);
  padding-block:clamp(42px,6vw,78px);
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project{
  width:100%;
  max-width:1200px;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(30px,5vw,64px);
  align-items:center;
  margin:0 auto;
  padding-inline:clamp(18px,4vw,40px);
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project > *{
  min-width:0;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project--image-none{
  display:block;
  width:100%;
  max-width:960px;
  padding-block:clamp(46px,6vw,74px);
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project--image-none .rh-service-project__copy{
  width:100%;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content > .rh-custom-block-container--rouge-hexagone-service-project + .rh-custom-block-container--rouge-hexagone-service-project{
  padding-block:clamp(48px,6vw,76px);
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project__visual{
  border:1px solid var(--rhv3-line);
  border-radius:20px;
  background:#fff;
  overflow:hidden;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project__visual img{
  aspect-ratio:4 / 3;
  object-fit:cover;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project__copy :is(h1,h2){
  max-width:760px;
  margin:0 0 18px;
  color:var(--rhv3-ink);
  font-size:clamp(30px,4.3vw,50px);
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.02em;
  overflow-wrap:break-word;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project__text{
  max-width:680px;
  color:var(--rhv3-ink-soft);
  font-size:16.5px;
  line-height:1.68;
  overflow-wrap:break-word;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project__text p{
  margin-bottom:14px;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .wp-block-buttons{
  box-sizing:border-box;
  max-width:960px;
  margin:24px auto;
  padding-inline:clamp(18px,4vw,40px);
  justify-content:center;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .wp-block-button__link{
  border-radius:999px;
  background:var(--rhv3-violet);
  color:#fff !important;
  padding:15px 26px;
  font-weight:800;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project .btn-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  margin-top:10px;
  padding:15px 24px;
  border-radius:999px;
  background:var(--rhv3-violet);
  color:#fff !important;
  font-size:15px;
  font-weight:800;
  line-height:1.15;
  text-align:center;
  text-decoration:none !important;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project .btn-link:hover{
  background:var(--rhv3-violet-deep);
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-rxg-gray-card{
  box-sizing:border-box;
  max-width:960px;
  margin:clamp(22px,4vw,42px) auto;
  padding:clamp(24px,4vw,38px);
  border:1px solid var(--rhv3-line);
  border-radius:18px;
  background:#fff;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-statsband{
  background:var(--rhv3-violet-deep);
  color:#fff;
  padding:clamp(28px,4vw,46px) clamp(18px,4vw,40px);
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-statsband > div{
  max-width:1180px;
  margin-inline:auto;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-statsband :is(p,li,span,strong){
  color:inherit;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-statsband__num{
  color:#fff;
  font-weight:800;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-skills{
  background:#fff;
  padding:clamp(52px,6vw,82px) clamp(18px,4vw,40px);
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-skills > div{
  max-width:1180px;
  margin-inline:auto;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-skills h2,
body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-skills h3:first-child{
  color:var(--rhv3-ink) !important;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-home-skill{
  border:1px solid var(--rhv3-line) !important;
  border-radius:16px !important;
  background:#fff !important;
  transition:border-color .2s, transform .2s;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-home-skill:hover{
  border-color:var(--rhv3-violet) !important;
  transform:translateY(-3px);
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-steps{
  background:#f7f6fe;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-steps .rhv3-sec__in{
  max-width:1200px;
  padding-top:clamp(54px,7vw,88px);
  padding-bottom:clamp(54px,7vw,88px);
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-steps__card{
  border-radius:16px;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-steps__media{
  border:1px solid var(--rhv3-line);
  border-radius:20px;
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-linkcards.rhv3-mesh{
  background:#fff;
  border-top:1px solid var(--rhv3-line);
}

body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-linkcards.rhv3-mesh .rhv3-sec__in{
  max-width:1180px;
}

.rhv3-about__member img{
    object-fit: contain !important;
  aspect-ratio: inherit !important;
}

.rh-image-mask{
    max-height: 470px;
}

@media (max-width:900px){
  body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project{
    grid-template-columns:1fr;
    max-width:100%;
  }

  body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project--image-right .rh-service-project__visual{
    order:2;
  }
}

@media (max-width:680px){
  body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content > .rh-container.rh-custom-block-container{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
  }

  body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project{
    box-sizing:border-box !important;
    width:100% !important;
    padding-inline:20px;
  }

  body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project__copy,
  body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project__text{
    box-sizing:border-box !important;
    width:min(100%, 320px) !important;
    max-width:320px !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project__copy :is(h1,h2){
    box-sizing:border-box !important;
    width:min(100%, 320px) !important;
    max-width:320px !important;
    font-size:clamp(27px,8vw,33px) !important;
    line-height:1.13 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project__copy :is(b,strong,span),
  body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project__text :is(b,strong,span){
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project__visual{
    width:min(100%, 350px);
    max-width:350px;
  }

  body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project__visual img{
    object-fit:contain;
  }

  body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rh-service-project .btn-link{
    width:min(100%, 320px);
  }

  body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-skills,
  body:is(.page-id-63144, .page-id-65406, .page-id-65409, .page-id-65416, .page-id-65413) .rh-entry-content .rhv3-statsband{
    padding-inline:15px;
  }
}
