/* Fontes declarees par le CSS public de Propulse ; reference de travail locale. */
@font-face { font-family: "WS24 Interphases Reference"; src: url("https://framerusercontent.com/assets/D7TPXhEtV1SSlJJnxRjUZU0R7A.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "WS24 Interphases Reference"; src: url("https://framerusercontent.com/assets/AZNrVprA7e02lhXR2XgJ8mvDPSU.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "WS24 Interphases Reference"; src: url("https://framerusercontent.com/assets/GYxb9NEqwBXjRgLK1g5KlqPyek.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "WS24 Interphases Reference"; src: url("https://framerusercontent.com/assets/Igd3Kca3ntQknNCMEpZMpboBRzE.woff2") format("woff2"); font-style: normal; font-weight: 800; font-display: swap; }
body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant { font-family: "WS24 Interphases Reference", Arial, sans-serif; }

/* Atelier local : charger en dernier. Caracteres plus grands et espacement naturel,
   sans modifier les couleurs, les ombres ni les compositions. */
body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal {
    --ws24-copy-size: 21px;
    --ws24-meta-size: 18px;
    --ws24-label-size: 16px;
    --ws24-action-size: 19px;
}

/* Paragraphes et listes de contenu, sans agrandir les kickers ni les grands chiffres. */
body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal :is(
    #home .big-tagline > p.lead,
    #case .section-title p,
    #case .ws24-case-body p,
    #case .ws24-case-points li,
    #avis-clients .ws24-review-quote,
    #resultat-client .ws24-resultat-intro > p:not(.ws24-resultat-kicker),
    #resultat-client .ws24-resultat-label,
    #about .message-box > p:not(.ws24-section-kicker),
    #about .message-box li,
    #about .section-title p,
    #about .seo-services .who p,
    #about .ws24-services-trust__review blockquote p,
    #clarte .section-title p,
    #clarte .ws24-cause-card p,
    #blocages .section-title p,
    #blocages .ws24-bloque-item p,
    #blocages .ws24-bloque-conclusion p,
    #difference .ws24-difference-copy p,
    #difference .ws24-difference-card li,
    #difference .ws24-difference-final p,
    #methode .section-title p,
    #methode .ws24-pmo-step p,
    #methode .ws24-pmo-conclusion p,
    #services .section-title p,
    #services .service-widget p,
    #pricing .section-title p,
    #pricing .ws24-price-text,
    #pricing .ws24-price-features li,
    #faire-le-point .big-tagline > p.lead,
    #questions .ws24-faq-answer p
) {
    font-size: var(--ws24-copy-size);
    line-height: 1.65;
    letter-spacing: 0;
}

/* L'emphase garde son poids, avec la meme taille de lecture que son paragraphe. */
body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal #difference .ws24-difference-final strong {
    font-size: var(--ws24-copy-size);
    line-height: inherit;
}

/* Informations secondaires utiles : projets, contexte, avis, durees et source. */
body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal :is(
    #case .ws24-case-meta,
    #avis-clients .ws24-review-author,
    #avis-clients .ws24-review-total,
    #avis-clients .ws24-google-brand > span,
    #resultat-client .ws24-resultat-period-heading,
    #resultat-client .ws24-resultat-period-heading > span,
    #resultat-client .ws24-resultat-source,
    #about .ws24-google-brand > span,
    #about .ws24-google-label,
    #about .ws24-services-trust__count,
    #about .ws24-services-trust__attribution a,
    #pricing .ws24-price-meta
) {
    font-size: var(--ws24-meta-size);
    line-height: 1.55;
}

body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal #resultat-client .ws24-resultat-period-heading strong {
    font-size: var(--ws24-copy-size);
    line-height: 1.55;
}

/* Libelles compacts : aucun changement des kickers de section. */
body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal :is(
    #case .ws24-gallery-hint,
    #about .ws24-services-trust__attribution > span,
    #pricing .ws24-price-for
) {
    font-size: var(--ws24-label-size);
    line-height: 1.55;
}

/* Actions textuelles et boutons ; les fleches et autres icones gardent leur taille. */
body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal :is(
    #home .ws24-hero-actions > a,
    #case .ws24-case-link,
    #case .ws24-project-summary,
    #case .ws24-gallery-playback,
    #resultat-client .ws24-resultat-link,
    #about .ws24-services-trust__link,
    #pricing .ws24-price-btn,
    #faire-le-point .ban-btn
) {
    min-height: 44px;
    font-size: var(--ws24-action-size);
    line-height: 1.55;
    letter-spacing: 0;
    white-space: normal;
    overflow-wrap: break-word;
}

/* Ces liens etaient en ligne : leur surface interactive suit la hauteur minimale. */
body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal :is(
    #home .ws24-hero-projects,
    #case .ws24-case-link,
    #about .ws24-services-trust__link
) {
    display: inline-flex;
    align-items: center;
}

/* Les reperes de section restent secondaires, sans devenir minuscules. */
body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal :is(
    .section-title > small,
    .ws24-section-kicker,
    .ws24-section-label,
    .ws24-resultat-kicker,
    .ws24-hero-kicker
) { font-size: 13px; line-height: 1.5; }

/* Des titres ouverts : aucun tracking negatif. */
/* Le theme source impose les interlignes des titres avec !important.
   Cette priorite reste limitee aux interlignes de la typographie locale. */
body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal :is(
    #home, #case, #resultat-client, #about, #clarte, #blocages,
    #difference, #methode, #services, #pricing, #faire-le-point, #questions
) :is(h1, h2, h3, h4) {
    letter-spacing: 0;
}

body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal #home .ws24-hero-title {
    font-size: 65px;
    font-weight: 800;
    line-height: 1.12 !important;
    letter-spacing: 0;
    margin-bottom: 24px;
}

body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal :is(
    #case .section-title h2,
    #resultat-client .ws24-resultat-intro h2,
    #about .section-title h2,
    #clarte .section-title h2,
    #blocages .section-title h2,
    #methode .section-title h2,
    #services .section-title h2,
    #pricing .section-title h2,
    #faire-le-point .big-tagline h2,
    #questions .section-title h2
) {
    font-size: 48px;
    font-weight: 800;
    line-height: 1.2 !important;
    letter-spacing: 0;
    margin-bottom: 24px;
}

body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal #difference .ws24-difference-intro h2 {
    font-size: 48px;
    font-weight: 800;
    line-height: 1.2 !important;
    letter-spacing: 0;
}

body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal #about .message-box h2 {
    font-size: 36px;
    font-weight: 800;
    line-height: 1.25 !important;
    letter-spacing: 0;
    margin-bottom: 24px;
}

body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal #methode .ws24-pmo-step h4 {
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2 !important;
    letter-spacing: 0;
    margin-bottom: 16px;
}

body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal #questions .ws24-faq-question {
    font-size: 24px;
    line-height: 1.4 !important;
    letter-spacing: 0;
}

body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal :is(
    #about .seo-services .who h4,
    #services .service-widget h3,
    #pricing .ws24-price-card h4,
    #difference .ws24-difference-card h3,
    #case .ws24-case-body h3,
    #clarte .ws24-cause-card h4
) {
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2 !important;
    letter-spacing: 0;
}

/* Les titres directement geres par une grille conservent ses espacements. */
body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal :is(
    #services .service-widget h3,
    #pricing .ws24-price-card h4,
    #difference .ws24-difference-card h3,
    #case .ws24-case-body h3,
    #clarte .ws24-cause-card h4
) {
    margin-bottom: 24px;
}

/* Liens et spans reprennent la taille et l'interligne de leur titre. */
body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal :is(
    #home .ws24-hero-title,
    #case .section-title h2,
    #resultat-client .ws24-resultat-intro h2,
    #about .section-title h2,
    #about .message-box h2,
    #clarte .section-title h2,
    #blocages .section-title h2,
    #difference .ws24-difference-intro h2,
    #methode .section-title h2,
    #services .section-title h2,
    #pricing .section-title h2,
    #faire-le-point .big-tagline h2,
    #questions .section-title h2,
    #about .seo-services .who h4,
    #services .service-widget h3,
    #pricing .ws24-price-card h4,
    #difference .ws24-difference-card h3,
    #case .ws24-case-body h3,
    #clarte .ws24-cause-card h4
) :is(a, span) {
    font-size: inherit;
    line-height: inherit !important;
    letter-spacing: 0;
}

@media (max-width: 767px) {
    body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal {
        --ws24-copy-size: 19px;
        --ws24-meta-size: 17px;
        --ws24-label-size: 15px;
        --ws24-action-size: 18px;
    }

    body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal #home .ws24-hero-title {
        font-size: 46px;
        line-height: 1.12 !important;
    }

    body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal :is(
        #case .section-title h2,
        #resultat-client .ws24-resultat-intro h2,
        #about .section-title h2,
        #clarte .section-title h2,
        #blocages .section-title h2,
        #difference .ws24-difference-intro h2,
        #methode .section-title h2,
        #services .section-title h2,
        #pricing .section-title h2,
        #faire-le-point .big-tagline h2,
        #questions .section-title h2
    ) {
        font-size: 36px;
        line-height: 1.2 !important;
    }

    body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal :is(
        #about .seo-services .who h4,
        #services .service-widget h3,
        #pricing .ws24-price-card h4,
        #difference .ws24-difference-card h3,
        #case .ws24-case-body h3,
        #clarte .ws24-cause-card h4
    ) {
        font-size: 25px;
        line-height: 1.3 !important;
    }

    body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal #about .message-box h2 {
        font-size: 32px;
    }

    body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal #methode .ws24-pmo-step h4 {
        font-size: 26px;
    }

    body.home.seo_version.ws24-color-preview.palette-vif.palette-vivant #contenu-principal #questions .ws24-faq-question {
        font-size: 22px;
    }
}
