/* /Components/Forms/JobApplicationForm.razor.rz.scp.css */
.intro[b-jmkcfwwkf8] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.intro h2[b-jmkcfwwkf8] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 26px;
    color: var(--qa-ink);
}

.intro p[b-jmkcfwwkf8] {
    margin: 0;
    font-size: 15px;
    color: var(--qa-muted);
}

.privacy[b-jmkcfwwkf8] {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--qa-muted);
}

.accept[b-jmkcfwwkf8] {
    color: #3B3E4A;
}
/* /Components/Layout/SiteFooter.razor.rz.scp.css */
.site-footer[b-u7dlhdxqnz] {
    background: var(--qa-ink);
    color: #D7D9E0;
}

.columns[b-u7dlhdxqnz] {
    max-width: 1240px;
    margin: 0 auto;
    padding: 64px 32px 32px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 40px;
}

.column[b-u7dlhdxqnz] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.column-brand[b-u7dlhdxqnz] {
    gap: 12px;
}

.brand[b-u7dlhdxqnz] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.brand-logo[b-u7dlhdxqnz] {
    height: 38px;
    width: auto;
    display: block;
}

.brand-badge[b-u7dlhdxqnz] {
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 14px;
    color: var(--qa-pink-light);
    border: 2px solid var(--qa-pink-light);
    border-radius: 8px;
    padding: 2px 8px;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.title[b-u7dlhdxqnz] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #ffffff;
}

.text[b-u7dlhdxqnz] {
    margin: 0;
    font-size: 15px;
    color: #B9BCC7;
}

.link[b-u7dlhdxqnz] {
    color: #D7D9E0;
    text-decoration: none;
    font-size: 15px;
}

.linkedin[b-u7dlhdxqnz] {
    color: var(--qa-pink-light);
    font-size: 15px;
    font-weight: 600;
}

.ecovadis[b-u7dlhdxqnz] {
    font-size: 15px;
    color: #F3D27A;
    font-weight: 600;
    margin-top: 6px;
}

.copyright[b-u7dlhdxqnz] {
    max-width: 1240px;
    margin: 0 auto;
    padding: 20px 32px 32px;
    border-top: 1px solid #3A3D4A;
    font-size: 14px;
    color: #A3A7B4;
}
/* /Components/Layout/SiteHeader.razor.rz.scp.css */
.site-header[b-ze6g7h7md2] {
    background: #ffffff;
    border-bottom: 1px solid var(--qa-border);
}

.nav[b-ze6g7h7md2] {
    max-width: 1240px;
    margin: 0 auto;
    padding: 14px 32px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 24px;
}

/* --- Logo ------------------------------------------------------------ */

.brand[b-ze6g7h7md2] {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.brand-logo[b-ze6g7h7md2] {
    height: 44px;
    width: auto;
    display: block;
}

.brand-badge[b-ze6g7h7md2] {
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 15px;
    color: var(--qa-pink);
    border: 2px solid var(--qa-pink);
    border-radius: 8px;
    padding: 3px 9px;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

/* --- Menu ------------------------------------------------------------ */

.menu[b-ze6g7h7md2] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 4px;
}

.menu-link[b-ze6g7h7md2] {
    color: var(--qa-ink);
    font-weight: 600;
    text-decoration: none;
    padding: 10px 12px;
    font-size: 15px;
    min-height: 24px;
}

.menu-link[aria-current="page"][b-ze6g7h7md2] {
    color: var(--qa-pink);
    font-weight: 700;
}

.menu-cta[b-ze6g7h7md2] {
    margin-inline-start: 8px;
    background: var(--qa-pink);
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    padding: 12px 20px;
    border-radius: 999px;
}

/* --- Sélecteur de langue ----------------------------------------------- */

.lang[b-ze6g7h7md2] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-inline-start: 10px;
    border: 1px solid var(--qa-border);
    border-radius: 999px;
    padding: 3px;
}

.lang-item[b-ze6g7h7md2] {
    color: var(--qa-ink);
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    padding: 6px 9px;
    border-radius: 999px;
    min-width: 18px;
    text-align: center;
}

.lang-current[b-ze6g7h7md2] {
    background: var(--qa-ink);
    color: #ffffff;
    font-weight: 700;
}
/* /Components/Pages/Contact.razor.rz.scp.css */
.contact[b-k6juliauz1] {
    padding: 88px 32px 96px;
}

/* --- Colonne de présentation ---------------------------------------------- */

.intro[b-k6juliauz1] {
    flex: 1 1 340px;
    min-width: 0;
    max-width: 460px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.eyebrow[b-k6juliauz1] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--qa-pink);
}

h1[b-k6juliauz1] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: clamp(36px, 4.2vw, 54px);
    line-height: 1.08;
    letter-spacing: -0.02em;
}

.lead[b-k6juliauz1] {
    margin: 0;
    font-size: 19px;
    color: var(--qa-muted);
}

/* --- Adresse --------------------------------------------------------------- */

.address[b-k6juliauz1] {
    background: #ffffff;
    border-radius: 20px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 8px;
}

.address-name[b-k6juliauz1] {
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 18px;
}

.address-text[b-k6juliauz1] {
    font-size: 17px;
    color: #3B3E4A;
}

.address-link[b-k6juliauz1] {
    font-weight: 700;
    font-size: 16px;
    margin-top: 8px;
}
/* /Components/Pages/Entreprise.razor.rz.scp.css */
/* --- Mission ------------------------------------------------------------ */

.mission-heading[b-a93afrljdy] {
    gap: 18px;
}

.mission[b-a93afrljdy] {
    display: grid;
    /* min(320px, 100%) : une seule colonne sans débordement sur les écrans de 320 px. */
    grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
    gap: 48px;
    align-items: start;
}

.mission-text[b-a93afrljdy] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    font-size: 18px;
    color: #3B3E4A;
}

.mission-text p[b-a93afrljdy] {
    margin: 0;
}

/* --- Histoire : cartouche de la ligne (la frise est le composant Timeline) ------------------------------------ */


.line[b-a93afrljdy] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 20px;
    background: #ffffff;
    border-radius: 18px;
    padding: 16px 20px;
    align-self: flex-start;
}

.line-icon[b-a93afrljdy] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--qa-pink);
    display: flex;
    align-items: center;
    justify-content: center;
}

.line-badge[b-a93afrljdy] {
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 26px;
    color: #ffffff;
    background: var(--qa-ink);
    border-radius: 10px;
    padding: 4px 14px;
    line-height: 1.2;
}

.line-label[b-a93afrljdy] {
    display: flex;
    flex-direction: column;
}

.line-name[b-a93afrljdy] {
    font-size: 13px;
    color: var(--qa-muted);
}

.line-direction[b-a93afrljdy] {
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 18px;
    color: var(--qa-ink);
}

/* --- Valeurs -------------------------------------------------------------- */

.values[b-a93afrljdy] {
    background: #FAFAFC;
}

.values-heading[b-a93afrljdy] {
    max-width: 820px;
}


.value-card[b-a93afrljdy] {
    background: #ffffff;
    border-radius: 20px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.value-icon[b-a93afrljdy] {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: #FCE8EF;
    display: flex;
    align-items: center;
    justify-content: center;
}

.value-card h3[b-a93afrljdy] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 21px;
}

.value-card p[b-a93afrljdy] {
    margin: 0;
    font-size: 16px;
    color: var(--qa-muted);
}

/* --- EcoVadis et RSE (fond sombre) --------------------------------------- */


.ecovadis[b-a93afrljdy] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px 32px;
    background: #2E3140;
    border: 1.5px solid #E0B84A;
    border-radius: 24px;
    padding: 32px 36px;
    text-decoration: none;
    color: #ffffff;
}

.ecovadis-medal[b-a93afrljdy] {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
    display: block;
}

.ecovadis-text[b-a93afrljdy] {
    flex: 1 1 420px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ecovadis-eyebrow[b-a93afrljdy] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #F3D27A;
}

.ecovadis-title[b-a93afrljdy] {
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 1.25;
}

.ecovadis-text p[b-a93afrljdy] {
    margin: 0;
    font-size: 17px;
    color: #D7D9E0;
}

.ecovadis-link[b-a93afrljdy] {
    background: #E0B84A;
    color: var(--qa-ink);
    font-weight: 700;
    font-size: 16px;
    padding: 14px 24px;
    border-radius: 999px;
    white-space: nowrap;
}

.csr-header[b-a93afrljdy] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 24px;
    align-items: flex-end;
}

.csr-heading[b-a93afrljdy] {
    max-width: 760px;
}

.csr-grid[b-a93afrljdy] {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.csr-card[b-a93afrljdy] {
    flex: 1 1 340px;
    min-width: 0;
    background: #2E3140;
    border-radius: 20px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.csr-card h3[b-a93afrljdy] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 20px;
    color: #ffffff;
}

.csr-card p[b-a93afrljdy] {
    margin: 0;
    font-size: 16px;
    line-height: 1.55;
    color: #C9CCD6;
}

/* --- Recrutement ---------------------------------------------------------- */

.join[b-a93afrljdy] {
    padding: 96px 32px 0;
}

.join-box[b-a93afrljdy] {
    margin-bottom: 96px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    border: 1px solid var(--qa-border);
    border-radius: 24px;
    padding: 40px;
}

.join-text[b-a93afrljdy] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 700px;
}

.join-text h2[b-a93afrljdy] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 28px;
}

.join-text p[b-a93afrljdy] {
    margin: 0;
    font-size: 17px;
    color: var(--qa-muted);
}

.join-button[b-a93afrljdy] {
    border: 1.5px solid var(--qa-pink);
    color: var(--qa-pink);
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    padding: 14px 24px;
    border-radius: 999px;
}

/* Mobile : le libellé du lien EcoVadis peut passer à la ligne. */
@media (max-width: 640px) {
    .ecovadis-link[b-a93afrljdy] {
        white-space: normal;
    }
}
/* /Components/Pages/Ia.razor.rz.scp.css */
/* --- Axes et bandeau « moins / plus / résultat » ------------------------------------------------------------ */

.axes-stack[b-b5tkrpofsm] {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.balance[b-b5tkrpofsm] {
    background: var(--qa-ink);
    border-radius: 24px;
    padding: 28px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}

.balance-item[b-b5tkrpofsm] {
    flex: 1 1 260px;
    min-width: 0;
    display: flex;
    gap: 16px;
    align-items: center;
}

.balance-sign[b-b5tkrpofsm] {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #50535F;
    color: #ffffff;
    font-size: 28px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.more .balance-sign[b-b5tkrpofsm] {
    background: var(--qa-pink);
}

.balance-label[b-b5tkrpofsm] {
    font-family: var(--qa-font-heading);
    font-weight: 700;
    color: #ffffff;
    font-size: 18px;
    letter-spacing: 0.06em;
}

.more .balance-label[b-b5tkrpofsm] {
    color: var(--qa-pink-light);
}

.balance-text[b-b5tkrpofsm] {
    color: #C9CCD6;
    font-size: 16px;
}

.balance-result[b-b5tkrpofsm] {
    flex: 1 1 300px;
    min-width: 0;
    background: var(--qa-pink);
    border-radius: 16px;
    padding: 18px 22px;
}

.balance-result-label[b-b5tkrpofsm] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #FFE6EF;
}

.balance-result-text[b-b5tkrpofsm] {
    font-family: var(--qa-font-heading);
    font-weight: 700;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.3;
}

/* --- Bénéfices ------------------------------------------------------------- */

.benefits-stack[b-b5tkrpofsm] {
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.benefits-heading[b-b5tkrpofsm] {
    max-width: 820px;
}

.benefits[b-b5tkrpofsm] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr));
    gap: 18px;
}

.benefit[b-b5tkrpofsm] {
    background: #ffffff;
    border: 1px solid var(--qa-border);
    border-radius: 20px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.benefit-icon[b-b5tkrpofsm] {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: #FCE8EF;
    display: flex;
    align-items: center;
    justify-content: center;
}

.benefit h3[b-b5tkrpofsm] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 20px;
    line-height: 1.3;
    color: var(--qa-ink);
}

.benefit p[b-b5tkrpofsm] {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: var(--qa-muted);
}

/* --- Qommute.Companion ------------------------------------------------------ */

.companion[b-b5tkrpofsm] {
    background: #FAFAFC;
    padding: 96px 32px;
    border-top: 1px solid var(--qa-border);
}

.companion-stack[b-b5tkrpofsm] {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.companion-heading[b-b5tkrpofsm] {
    max-width: 820px;
}

/* Lien « Solutions » du texte (.resx) : sans l'attribut d'isolation CSS. */
.companion-lead[b-b5tkrpofsm]  a {
    color: var(--qa-pink);
    font-weight: 700;
}

.companion-card[b-b5tkrpofsm] {
    background: var(--qa-ink);
    border-radius: 24px;
    padding: 32px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px 28px;
    text-decoration: none;
    color: #ffffff;
}

.companion-card:hover[b-b5tkrpofsm] {
    color: #ffffff;
}

.companion-icon[b-b5tkrpofsm] {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #C29B00;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.companion-body[b-b5tkrpofsm] {
    flex: 1 1 420px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.companion-name[b-b5tkrpofsm] {
    font-family: var(--qa-font-heading);
    font-size: 26px;
    line-height: 1.2;
}

.companion-prefix[b-b5tkrpofsm] {
    color: #B9BCC7;
    font-weight: 500;
}

.companion-brand[b-b5tkrpofsm] {
    color: #F3D27A;
    font-weight: 700;
}

.companion-body p[b-b5tkrpofsm] {
    margin: 0;
    font-size: 17px;
    color: #D7D9E0;
}

.companion-button[b-b5tkrpofsm] {
    background: #F3D27A;
    color: var(--qa-ink);
    font-weight: 700;
    font-size: 16px;
    padding: 14px 24px;
    border-radius: 999px;
    white-space: nowrap;
}

/* Le libellé du bouton peut passer à la ligne sur un petit écran (règle du marketing). */
@media (max-width: 640px) {
    .companion-button[b-b5tkrpofsm] {
        white-space: normal;
    }
}

/* --- Confiance et maîtrise (fond sombre) ------------------------------------- */

.trust[b-b5tkrpofsm] {
    background: var(--qa-ink);
    padding: 104px 32px;
}

.trust-stack[b-b5tkrpofsm] {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.trust-heading[b-b5tkrpofsm] {
    max-width: 860px;
}

.trust-lead[b-b5tkrpofsm] {
    margin: 0;
    font-size: 19px;
    color: #C9CCD6;
}

.pledge[b-b5tkrpofsm] {
    margin: 0;
    border: 1.5px solid var(--qa-pink-light);
    border-radius: 24px;
    padding: 32px 36px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pledge-label[b-b5tkrpofsm] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--qa-pink-light);
}

.pledge blockquote[b-b5tkrpofsm] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 500;
    font-size: clamp(20px, 2vw, 25px);
    line-height: 1.45;
    color: #ffffff;
}

.trust-grid[b-b5tkrpofsm] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
    gap: 18px;
}

.trust-card[b-b5tkrpofsm] {
    background: #2E3140;
    border-radius: 20px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.trust-card h3[b-b5tkrpofsm] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 19px;
    line-height: 1.3;
    color: #ffffff;
}

.trust-card p[b-b5tkrpofsm] {
    margin: 0;
    font-size: 15.5px;
    line-height: 1.6;
    color: #C9CCD6;
}

.trust-footer[b-b5tkrpofsm] {
    margin: 0;
    font-size: 16px;
    color: #B9BCC7;
}

/* Liens du texte (.resx) : sans l'attribut d'isolation CSS. */
.trust-footer[b-b5tkrpofsm]  a {
    color: var(--qa-pink-light);
    font-weight: 700;
}

/* --- Appel à l'action ------------------------------------------------------ */

.cta-space[b-b5tkrpofsm] {
    padding-top: 96px;
}
/* /Components/Pages/Index.razor.rz.scp.css */
/* --- Bandeau : photo de ville, voile plus sombre que sur les autres pages ---------------------------------- */

.hero[b-xfroqu393c] {
    background-image: linear-gradient(90deg, rgba(18,20,30,0.80) 0%, rgba(18,20,30,0.55) 45%, rgba(18,20,30,0.08) 80%, rgba(18,20,30,0) 100%), url(/assets/hero-ville.webp);
    color: #ffffff;
}

[dir="rtl"] .hero[b-xfroqu393c] {
    background-image: linear-gradient(270deg, rgba(18,20,30,0.80) 0%, rgba(18,20,30,0.55) 45%, rgba(18,20,30,0.08) 80%, rgba(18,20,30,0) 100%), url(/assets/hero-ville.webp);
}

.hero-inner[b-xfroqu393c] {
    max-width: 1240px;
    margin: 0 auto;
    padding: 120px 32px 132px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.hero-eyebrow[b-xfroqu393c] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--qa-pink-light);
}

.hero h1[b-xfroqu393c] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: clamp(40px, 5.4vw, 72px);
    line-height: 1.06;
    letter-spacing: -0.02em;
    max-width: 900px;
}

.hero-lead[b-xfroqu393c] {
    margin: 0;
    font-size: 21px;
    line-height: 1.5;
    color: #E3E5EC;
    max-width: 680px;
}

.hero-buttons[b-xfroqu393c] {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 8px;
}

.hero-button-ghost[b-xfroqu393c] {
    background: rgba(255,255,255,0.12);
    border: 1.5px solid rgba(255,255,255,0.6);
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    font-size: 17px;
    padding: 14.5px 26px;
    border-radius: 999px;
}

.hero-button-ghost:hover[b-xfroqu393c] {
    color: #ffffff;
}

/* --- Chiffres clés ------------------------------------------------------- */

.stats[b-xfroqu393c] {
    border-bottom: 1px solid var(--qa-border);
}

.stats-inner[b-xfroqu393c] {
    max-width: 1240px;
    margin: 0 auto;
    padding: 56px 32px;
}

/* --- Modules --------------------------------------------------------------- */

.modules[b-xfroqu393c] {
    padding: 104px 32px 96px;
}

.modules-stack[b-xfroqu393c] {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.modules-heading[b-xfroqu393c] {
    max-width: 760px;
}

.module[b-xfroqu393c] {
    background: var(--module-bg);
    border-radius: 20px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    text-decoration: none;
    color: var(--qa-ink);
}

.module:hover[b-xfroqu393c] {
    color: var(--qa-ink);
}

.module-icon[b-xfroqu393c] {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--module-dot);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.module-name[b-xfroqu393c] {
    font-family: var(--qa-font-heading);
    font-size: 22px;
    line-height: 1.2;
}

.module-prefix[b-xfroqu393c] {
    color: var(--qa-muted);
    font-weight: 500;
}

.module-brand[b-xfroqu393c] {
    color: var(--module-accent);
    font-weight: 700;
}

.module-badge[b-xfroqu393c] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    background: #ffffff;
    color: var(--module-accent);
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 999px;
}

.module p[b-xfroqu393c] {
    margin: 0;
    font-size: 16px;
    color: #3B3E4A;
}

.module-link[b-xfroqu393c] {
    margin-top: auto;
    font-weight: 700;
    font-size: 15px;
    color: var(--module-accent);
}

/* --- Focus IA (fond sombre) ------------------------------------------------- */

.ai[b-xfroqu393c] {
    background: var(--qa-ink);
    color: #ffffff;
    padding: 104px 32px;
}

.ai-stack[b-xfroqu393c] {
    display: flex;
    flex-direction: column;
    gap: 44px;
}

.ai-header[b-xfroqu393c] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
}

.ai-heading[b-xfroqu393c] {
    max-width: 760px;
}

.ai-lead[b-xfroqu393c] {
    margin: 0;
    font-size: 19px;
    color: #C9CCD6;
}

.ai-link[b-xfroqu393c] {
    color: var(--qa-pink-light);
    font-weight: 700;
    font-size: 17px;
}

.ai-result[b-xfroqu393c] {
    background: var(--qa-pink);
    border-radius: 20px;
    padding: 26px 32px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 24px;
}

.ai-result-label[b-xfroqu393c] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #FFE6EF;
}

.ai-result-text[b-xfroqu393c] {
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 24px;
    color: #ffffff;
}

/* --- Engagement et témoignage ------------------------------------------- */

.quote-stack[b-xfroqu393c] {
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.statement[b-xfroqu393c] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    max-width: 980px;
}

.statement-bar[b-xfroqu393c] {
    width: 56px;
    height: 4px;
    border-radius: 999px;
    background: var(--qa-pink);
}

.statement p[b-xfroqu393c] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: clamp(24px, 2.6vw, 34px);
    line-height: 1.35;
    letter-spacing: -0.01em;
    color: var(--qa-ink);
}

/* Les <span> mis en valeur viennent du texte (.resx) : sans l'attribut d'isolation CSS. */
.statement p[b-xfroqu393c]  span {
    color: var(--qa-pink);
}

.quote[b-xfroqu393c] {
    margin: 0;
    background: #ffffff;
    border-radius: 24px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    max-width: 900px;
}

.quote blockquote[b-xfroqu393c] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 500;
    font-size: 24px;
    line-height: 1.45;
    color: var(--qa-ink);
}

.quote figcaption[b-xfroqu393c] {
    font-size: 16px;
    color: var(--qa-muted);
}

.quote figcaption[b-xfroqu393c]  strong {
    color: var(--qa-ink);
}

.quote-link[b-xfroqu393c] {
    font-weight: 700;
    font-size: 17px;
}

/* --- Appel à l'action ------------------------------------------------------ */

.cta-space[b-xfroqu393c] {
    padding-top: 96px;
}
/* /Components/Pages/NousRejoindre.razor.rz.scp.css */
.join[b-c7xt27mbmr] {
    padding: 72px 32px 96px;
}

/* --- Photo de l'équipe ----------------------------------------------------- */

.photo[b-c7xt27mbmr] {
    margin-bottom: 56px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.photo img[b-c7xt27mbmr] {
    width: 100%;
    aspect-ratio: 21 / 9;
    object-fit: cover;
    object-position: 50% 38%;
    border-radius: 24px;
    display: block;
    box-shadow: 0 24px 60px -30px rgba(35,37,47,0.35);
}

.photo figcaption[b-c7xt27mbmr] {
    font-size: 15px;
    color: var(--qa-muted);
}

/* --- Colonne de présentation ---------------------------------------------- */

.intro[b-c7xt27mbmr] {
    flex: 1 1 340px;
    min-width: 0;
    max-width: 440px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.heading[b-c7xt27mbmr] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.eyebrow[b-c7xt27mbmr] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--qa-pink);
}

h1[b-c7xt27mbmr] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: clamp(32px, 3.6vw, 46px);
    line-height: 1.12;
    letter-spacing: -0.02em;
    color: var(--qa-ink);
}

/* « recrute. » : le <span> vient du texte (.resx), il n'a pas l'attribut d'isolation CSS. */
h1[b-c7xt27mbmr]  span {
    color: var(--qa-pink);
}

.lead[b-c7xt27mbmr] {
    margin: 0;
    font-size: 19px;
    line-height: 1.55;
    color: #3B3E4A;
}

/* --- Raisons de nous rejoindre --------------------------------------------- */

.reason[b-c7xt27mbmr] {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.reason-icon[b-c7xt27mbmr] {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: #FCE8EF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.reason-text[b-c7xt27mbmr] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.reason-text h3[b-c7xt27mbmr] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 18px;
}

.reason-text p[b-c7xt27mbmr] {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: var(--qa-muted);
}

.company-link[b-c7xt27mbmr] {
    font-weight: 700;
    font-size: 16px;
}

/* --- Adresse --------------------------------------------------------------- */

.address[b-c7xt27mbmr] {
    background: #ffffff;
    border-radius: 20px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.address-name[b-c7xt27mbmr] {
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 17px;
}

.address-text[b-c7xt27mbmr] {
    font-size: 16px;
    color: #3B3E4A;
}

.address-email[b-c7xt27mbmr] {
    font-weight: 600;
}
/* /Components/Pages/References.razor.rz.scp.css */
/* --- Bandeau ------------------------------------------------------------- */

.hero[b-j3nry54a8i] {
    color: #ffffff;
}

.hero-inner[b-j3nry54a8i] {
    max-width: 1240px;
    margin: 0 auto;
    padding: 96px 32px 72px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.hero-eyebrow[b-j3nry54a8i] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--qa-pink-light);
}

.hero h1[b-j3nry54a8i] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: clamp(36px, 4.6vw, 60px);
    line-height: 1.08;
    letter-spacing: -0.02em;
    max-width: 920px;
}

.hero-figures[b-j3nry54a8i] {
    margin-top: 32px;
}

.section-stack[b-j3nry54a8i] {
    display: flex;
    flex-direction: column;
    gap: 36px;
}

/* --- Carte du monde : logos positionnés (--x / --y) ; grille de logos sur mobile ------------------------------ */

.map[b-j3nry54a8i] {
    position: relative;
}

.map-geo[b-j3nry54a8i] {
    position: relative;
}

.map-bg[b-j3nry54a8i] {
    display: block;
    width: 100%;
    height: auto;
}

.map-logos[b-j3nry54a8i] {
    position: absolute;
    inset: 0;
}

/* left (et non inset-inline-start) : la carte n'est pas inversée en arabe, les logos non plus. */
.map-logo[b-j3nry54a8i] {
    position: absolute;
    left: var(--x);
    top: var(--y);
    transform: translate(-50%, -50%);
    width: clamp(96px, 14%, 200px);
    height: clamp(44px, 6.6vw, 92px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.map-logo img[b-j3nry54a8i] {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

/* Positions des logos, dans l'ordre de References.razor (Logos). */
.map-logo:nth-child(1)[b-j3nry54a8i] { --x: 10%; --y: 24%; }
.map-logo:nth-child(2)[b-j3nry54a8i] { --x: 26%; --y: 24%; }
.map-logo:nth-child(3)[b-j3nry54a8i] { --x: 42%; --y: 24%; }
.map-logo:nth-child(4)[b-j3nry54a8i] { --x: 58%; --y: 24%; }
.map-logo:nth-child(5)[b-j3nry54a8i] { --x: 74%; --y: 24%; }
.map-logo:nth-child(6)[b-j3nry54a8i] { --x: 90%; --y: 24%; }
.map-logo:nth-child(7)[b-j3nry54a8i] { --x: 28%; --y: 44%; }
.map-logo:nth-child(8)[b-j3nry54a8i] { --x: 50%; --y: 44%; }
.map-logo:nth-child(9)[b-j3nry54a8i] { --x: 72%; --y: 44%; }
.map-logo:nth-child(10)[b-j3nry54a8i] { --x: 14%; --y: 63%; }
.map-logo:nth-child(11)[b-j3nry54a8i] { --x: 36%; --y: 63%; }
.map-logo:nth-child(12)[b-j3nry54a8i] { --x: 58%; --y: 63%; }
.map-logo:nth-child(13)[b-j3nry54a8i] { --x: 80%; --y: 63%; }
.map-logo:nth-child(14)[b-j3nry54a8i] { --x: 24%; --y: 82%; }
.map-logo:nth-child(15)[b-j3nry54a8i] { --x: 50%; --y: 82%; }
.map-logo:nth-child(16)[b-j3nry54a8i] { --x: 76%; --y: 82%; }

@media (max-width: 899px) {
    .map-geo[b-j3nry54a8i] {
        position: absolute;
        inset: 0;
        overflow: hidden;
    }

    .map-bg[b-j3nry54a8i] {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        height: 100%;
        width: auto;
        max-width: none;
    }

    .map-logos[b-j3nry54a8i] {
        position: relative;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px 18px;
        padding: 8px 8px 16px;
    }

    .map-logo[b-j3nry54a8i] {
        position: static;
        transform: none;
        width: auto;
        height: 64px;
    }
}

.map-note[b-j3nry54a8i] {
    margin: 0;
    font-size: 16px;
    color: var(--qa-muted);
}

/* --- Témoignages ------------------------------------------------------------ */

.quotes[b-j3nry54a8i] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
    gap: 20px;
}

.quote[b-j3nry54a8i] {
    margin: 0;
    background: #ffffff;
    border-radius: 24px;
    padding: 36px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.quote blockquote[b-j3nry54a8i] {
    margin: 0;
    font-size: 18px;
    line-height: 1.6;
    color: var(--qa-ink);
}

.quote figcaption[b-j3nry54a8i] {
    margin-top: auto;
    font-size: 15px;
    color: var(--qa-muted);
}

/* Nom du client : le <strong> vient du texte (.resx), sans l'attribut d'isolation CSS. */
.quote figcaption[b-j3nry54a8i]  strong {
    color: var(--qa-ink);
    font-family: var(--qa-font-heading);
    font-size: 17px;
}

/* --- Cas clients ------------------------------------------------------------ */

.case[b-j3nry54a8i] {
    border: 1px solid var(--qa-border);
    border-radius: 20px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-decoration: none;
    color: var(--qa-ink);
}

.case-date[b-j3nry54a8i] {
    font-size: 14px;
    color: var(--qa-muted);
}

.case-title[b-j3nry54a8i] {
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 20px;
    line-height: 1.3;
}

.case-link[b-j3nry54a8i] {
    margin-top: auto;
    color: var(--qa-pink);
    font-weight: 700;
    font-size: 15px;
}
/* /Components/Pages/Solutions.razor.rz.scp.css */
/* --- Bandeau ------------------------------------------------------------- */

.hero[b-qi4yb5qwpj] {
    color: #ffffff;
}

.hero-inner[b-qi4yb5qwpj] {
    max-width: 1240px;
    margin: 0 auto;
    padding: 96px 32px 88px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.hero-eyebrow[b-qi4yb5qwpj] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--qa-pink-light);
}

.hero h1[b-qi4yb5qwpj] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: clamp(36px, 4.6vw, 60px);
    line-height: 1.08;
    letter-spacing: -0.02em;
    max-width: 900px;
}

.hero-lead[b-qi4yb5qwpj] {
    margin: 0;
    font-size: 20px;
    color: #E3E5EC;
    max-width: 720px;
}

.hero-audience[b-qi4yb5qwpj] {
    margin: 0;
    font-size: 18px;
    line-height: 1.55;
    color: #E3E5EC;
    max-width: 760px;
    border-inline-start: 3px solid var(--qa-pink-light);
    padding-inline-start: 16px;
}

/* Mises en valeur du texte (.resx) : sans l'attribut d'isolation CSS. */
.hero-audience[b-qi4yb5qwpj]  strong {
    color: #ffffff;
}

.chips[b-qi4yb5qwpj] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.chip[b-qi4yb5qwpj] {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.3);
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    padding: 10px 16px;
    border-radius: 999px;
}

/* Pastille de couleur : le <span> vide vient du texte (.resx). */
.chip[b-qi4yb5qwpj]  span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--module-dot);
}

/* --- Visuel de Display (image ; les autres modules ont une maquette HTML) ---------------------------------- */

.visual-image[b-qi4yb5qwpj] {
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid var(--qa-border);
    box-shadow: 0 24px 60px -30px rgba(35,37,47,0.35);
}

.visual-image img[b-qi4yb5qwpj] {
    width: 100%;
    height: auto;
    display: block;
}
/* /Components/Sections/AiAxes.razor.rz.scp.css */
/* min(280px, 100%) : une seule colonne sans débordement sur les écrans de 320 px. */
.axes[b-z3qe39a7fe] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
    gap: 20px;
}

.axis[b-z3qe39a7fe] {
    background: #F4F4F7;
    border-radius: 20px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.eyebrow[b-z3qe39a7fe] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--qa-pink);
}

h3[b-z3qe39a7fe] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 22px;
}

ul[b-z3qe39a7fe] {
    margin: 0;
    padding-inline-start: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: var(--qa-muted);
    font-size: 16px;
}

/* --- Fond sombre (accueil) ------------------------------------------------- */

.dark .axis[b-z3qe39a7fe] {
    background: #2E3140;
}

.dark .eyebrow[b-z3qe39a7fe] {
    color: var(--qa-pink-light);
}

.dark h3[b-z3qe39a7fe] {
    color: #ffffff;
}

.dark ul[b-z3qe39a7fe] {
    color: #D7D9E0;
}

.dark li[b-z3qe39a7fe] {
    padding-inline-start: 4px;
}
/* /Components/Sections/CaseStudy.razor.rz.scp.css */
/* --- Bandeau ------------------------------------------------------------- */

.hero[b-qn3e6dcpri] {
    color: #ffffff;
}

.hero-inner[b-qn3e6dcpri] {
    max-width: 1240px;
    margin: 0 auto;
    padding: 72px 32px 64px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.crumbs[b-qn3e6dcpri] {
    font-size: 15px;
    color: #E3E5EC;
}

/* Le lien du fil d'Ariane vient du texte (.resx) : sans l'attribut d'isolation CSS. */
.crumbs[b-qn3e6dcpri]  a {
    color: var(--qa-pink-light);
    font-weight: 600;
    text-decoration: none;
}

h1[b-qn3e6dcpri] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.12;
    letter-spacing: -0.02em;
    max-width: 920px;
}

.date[b-qn3e6dcpri] {
    font-size: 16px;
    color: #E3E5EC;
}

/* --- Article et encarts ----------------------------------------------------- */

.main[b-qn3e6dcpri] {
    padding: 64px 32px 96px;
}

.columns[b-qn3e6dcpri] {
    max-width: 1240px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 48px;
    align-items: flex-start;
}

.article[b-qn3e6dcpri] {
    flex: 999 1 560px;
    min-width: 0;
    max-width: 780px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.logo[b-qn3e6dcpri] {
    background: #F4F4F7;
    border-radius: 24px;
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.logo img[b-qn3e6dcpri] {
    max-height: 110px;
    max-width: 60%;
    width: auto;
    height: auto;
    display: block;
}

.article[b-qn3e6dcpri]  p {
    margin: 0;
    font-size: 18px;
    line-height: 1.7;
    color: #3B3E4A;
}

.article[b-qn3e6dcpri]  h2 {
    margin: 12px 0 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 24px;
    line-height: 1.3;
    color: var(--qa-ink);
}

.article[b-qn3e6dcpri]  ul {
    margin: 0;
    padding-inline-start: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 18px;
    line-height: 1.6;
    color: #3B3E4A;
}

.article[b-qn3e6dcpri]  li {
    padding-inline-start: 6px;
}

.back[b-qn3e6dcpri] {
    align-self: flex-start;
    margin-top: 20px;
    font-weight: 700;
    font-size: 16px;
}

.aside[b-qn3e6dcpri] {
    flex: 1 1 260px;
    min-width: 0;
    max-width: 340px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.box[b-qn3e6dcpri] {
    background: #ffffff;
    border: 1px solid var(--qa-border);
    border-radius: 20px;
    padding: 22px 24px;
}

.box-title[b-qn3e6dcpri] {
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 6px;
}

.fact[b-qn3e6dcpri] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 12px 0;
    border-top: 1px solid var(--qa-border);
}

.fact-label[b-qn3e6dcpri] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--qa-pink);
}

.fact-value[b-qn3e6dcpri] {
    font-size: 16px;
    color: var(--qa-ink);
    font-weight: 600;
}

.other[b-qn3e6dcpri] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 0;
    border-top: 1px solid var(--qa-border);
    text-decoration: none;
    color: var(--qa-ink);
}

.other-date[b-qn3e6dcpri] {
    font-size: 13px;
    color: var(--qa-muted);
}

.other-title[b-qn3e6dcpri] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 16px;
    line-height: 1.35;
}
/* /Components/Sections/CtaBand.razor.rz.scp.css */
.cta[b-eabq52fzu8] {
    padding: 0 32px 96px;
}

.box[b-eabq52fzu8] {
    max-width: 1240px;
    margin: 0 auto;
    background: var(--qa-pink);
    border-radius: 28px;
    padding: 56px 48px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.text[b-eabq52fzu8] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 680px;
}

h2[b-eabq52fzu8] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.2;
    color: #ffffff;
}

p[b-eabq52fzu8] {
    margin: 0;
    font-size: 18px;
    color: #FFE6EF;
}

.button[b-eabq52fzu8] {
    background: #ffffff;
    color: var(--qa-pink);
    text-decoration: none;
    font-weight: 700;
    font-size: 17px;
    padding: 16px 28px;
    border-radius: 999px;
}
/* /Components/Sections/KeyFigures.razor.rz.scp.css */
/* min(200px, 100%) : une seule colonne sans débordement sur les écrans de 320 px. */
.figures[b-jt5mj2twyz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
    gap: 32px;
}

.figure[b-jt5mj2twyz] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px 0;
}

.value[b-jt5mj2twyz] {
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 48px;
    line-height: 1;
    color: var(--qa-pink);
}

.label[b-jt5mj2twyz] {
    font-size: 16px;
    color: var(--qa-muted);
    max-width: 240px;
}

.dark .value[b-jt5mj2twyz] {
    color: var(--qa-pink-light);
}

.dark .label[b-jt5mj2twyz] {
    color: #C9CCD6;
}
/* /Components/Sections/LegalDocument.razor.rz.scp.css */
/* --- Bandeau et liens entre documents légaux ------------------------------------------------------------- */

.hero[b-tv9okjayt7] {
    color: #ffffff;
}

.hero-inner[b-tv9okjayt7] {
    max-width: 1240px;
    margin: 0 auto;
    padding: 80px 32px 64px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.eyebrow[b-tv9okjayt7] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--qa-pink-light);
}

h1[b-tv9okjayt7] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: clamp(34px, 4.2vw, 54px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    max-width: 920px;
}

.documents[b-tv9okjayt7] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

.document[b-tv9okjayt7] {
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    padding: 9px 17px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.45);
}

.document.current[b-tv9okjayt7] {
    background: #ffffff;
    color: var(--qa-ink);
    font-weight: 700;
    padding: 10px 18px;
    border: 0;
}

/* --- Sommaire et article ----------------------------------------------------- */

.main[b-tv9okjayt7] {
    padding: 72px 32px 96px;
}

.columns[b-tv9okjayt7] {
    max-width: 1240px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 48px;
    align-items: flex-start;
}

.toc[b-tv9okjayt7] {
    flex: 1 1 240px;
    min-width: 0;
    max-width: 280px;
    align-self: flex-start;
    background: #F4F4F7;
    border-radius: 18px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.toc-title[b-tv9okjayt7] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--qa-pink);
}

.toc ol[b-tv9okjayt7] {
    margin: 0;
    padding-inline-start: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.toc a[b-tv9okjayt7] {
    color: #3B3E4A;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.4;
}

.article[b-tv9okjayt7] {
    flex: 999 1 560px;
    min-width: 0;
    max-width: 820px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Le texte juridique vient d'un fragment HTML : ses éléments n'ont pas l'attribut d'isolation CSS, d'où ::deep. */

.article[b-tv9okjayt7]  h2 {
    margin: 28px 0 0;
    padding-top: 24px;
    border-top: 1px solid var(--qa-border);
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 26px;
    line-height: 1.25;
    color: var(--qa-ink);
    scroll-margin-top: 24px;
}

.article[b-tv9okjayt7]  h3 {
    margin: 10px 0 0;
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 19px;
    color: #B0255A;
}

.article[b-tv9okjayt7]  p {
    margin: 0;
    font-size: 17px;
    line-height: 1.7;
    color: #3B3E4A;
}

.article[b-tv9okjayt7]  :is(ul, ol) {
    margin: 0;
    padding-inline-start: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 17px;
    line-height: 1.6;
    color: #3B3E4A;
}

.article[b-tv9okjayt7]  li {
    padding-inline-start: 6px;
}

.article[b-tv9okjayt7]  strong {
    color: var(--qa-ink);
}

.article[b-tv9okjayt7]  a {
    color: var(--qa-pink);
    font-weight: 600;
}

/* Tableau (politique de confidentialité) : défilement horizontal sur petit écran. */
.article[b-tv9okjayt7]  div:has(> table) {
    overflow-x: auto;
    border: 1px solid var(--qa-border);
    border-radius: 14px;
}

.article[b-tv9okjayt7]  table {
    width: 100%;
    min-width: 560px;
    border-collapse: collapse;
}

.article[b-tv9okjayt7]  th {
    text-align: start;
    padding: 14px 18px;
    background: var(--qa-ink);
    color: #ffffff;
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 15px;
}

.article[b-tv9okjayt7]  td {
    padding: 14px 18px;
    border-top: 1px solid var(--qa-border);
    vertical-align: top;
    font-size: 16px;
    line-height: 1.55;
    color: #3B3E4A;
}

.article[b-tv9okjayt7]  td:first-child {
    font-weight: 600;
    color: var(--qa-ink);
}

/* --- Encart contact ---------------------------------------------------------- */

.article .contact[b-tv9okjayt7] {
    margin: 32px 0 0;
    padding: 20px 24px;
    background: #F4F4F7;
    border-radius: 14px;
    font-size: 15px;
    color: var(--qa-muted);
}

.contact[b-tv9okjayt7]  a {
    color: var(--qa-pink);
    font-weight: 600;
}
/* /Components/Sections/PageHero.razor.rz.scp.css */
.hero[b-rpfuvifaqi] {
    color: #ffffff;
}

.inner[b-rpfuvifaqi] {
    max-width: 1240px;
    margin: 0 auto;
    padding: 96px 32px 88px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.eyebrow[b-rpfuvifaqi] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--qa-pink-light);
}

h1[b-rpfuvifaqi] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: clamp(36px, 4.6vw, 60px);
    line-height: 1.08;
    letter-spacing: -0.02em;
    max-width: 920px;
}

p[b-rpfuvifaqi] {
    margin: 0;
    font-size: 20px;
    color: #E3E5EC;
    max-width: 740px;
}
/* /Components/Sections/SectionHeading.razor.rz.scp.css */
.eyebrow[b-oiacwd74k6] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--qa-pink);
}

.eyebrow.dark[b-oiacwd74k6] {
    color: var(--qa-pink-light);
}

h2[b-oiacwd74k6] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: clamp(30px, 3.4vw, 44px);
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: var(--qa-ink);
}

h2.dark[b-oiacwd74k6] {
    color: #ffffff;
}
/* /Components/Sections/SolutionModule.razor.rz.scp.css */
.module[b-eq13qdlh1p] {
    background: #ffffff;
    padding: 88px 32px;
    border-top: 1px solid var(--qa-border);
}

.module.muted[b-eq13qdlh1p] {
    background: #FAFAFC;
}

.stack[b-eq13qdlh1p] {
    max-width: 1240px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.row[b-eq13qdlh1p] {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
}

/* --- Carte d'identité du module ------------------------------------------- */

.card[b-eq13qdlh1p] {
    flex: 1 1 340px;
    min-width: 0;
    max-width: 420px;
    background: var(--module-bg);
    border-radius: 24px;
    padding: 36px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.icon[b-eq13qdlh1p] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--module-dot);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.name[b-eq13qdlh1p] {
    font-family: var(--qa-font-heading);
    line-height: 1.1;
}

.prefix[b-eq13qdlh1p] {
    color: var(--qa-muted);
    font-weight: 500;
    font-size: 20px;
}

.brand[b-eq13qdlh1p] {
    color: var(--module-accent);
    font-weight: 700;
    font-size: 44px;
}

.summary[b-eq13qdlh1p] {
    margin: 0;
    font-size: 18px;
    color: #2F323D;
}

.ai[b-eq13qdlh1p] {
    background: #ffffff;
    border-radius: 14px;
    padding: 14px 16px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    border-inline-start: 4px solid var(--module-dot);
    color: var(--module-accent);
}

.ai-text[b-eq13qdlh1p] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ai-label[b-eq13qdlh1p] {
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--module-accent);
}

.ai-body[b-eq13qdlh1p] {
    font-size: 15px;
    line-height: 1.45;
    color: #2F323D;
}

.users[b-eq13qdlh1p] {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 18px;
}

.users-label[b-eq13qdlh1p] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--module-accent);
}

.users-value[b-eq13qdlh1p] {
    font-size: 16px;
}

/* --- Fonctionnalités clés --------------------------------------------------- */

.features[b-eq13qdlh1p] {
    flex: 999 1 560px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.features-label[b-eq13qdlh1p] {
    font-family: var(--qa-font-heading);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--qa-pink);
}

/* min(300px, 100%) : une seule colonne sans débordement sur les écrans de 320 px. */
.features-grid[b-eq13qdlh1p] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
    gap: 16px;
}

.feature[b-eq13qdlh1p] {
    background: #F4F4F7;
    border-radius: 16px;
    padding: 24px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.feature-number[b-eq13qdlh1p] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--module-dot);
    color: #ffffff;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.feature-text[b-eq13qdlh1p] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.feature h4[b-eq13qdlh1p] {
    margin: 0;
    font-family: var(--qa-font-heading);
    font-weight: 700;
    font-size: 18px;
    line-height: 1.3;
}

.feature p[b-eq13qdlh1p] {
    margin: 0;
    font-size: 16px;
    color: var(--qa-muted);
}
/* /Components/Sections/Timeline.razor.rz.scp.css */
/* Frise chronologique (ql-*) : en serpentin sur grand écran, verticale sous 900 px. */

.ql-wrap[b-d2ytg5bags] { display: flex; flex-direction: column; gap: 0; background: #ffffff; border-radius: 24px; padding: 40px 64px 8px; }
.ql-row[b-d2ytg5bags] { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); height: 300px; }
.ql-row[b-d2ytg5bags]::before { content: ""; position: absolute; top: 20px; left: 12.5%; right: 12.5%; height: 10px; border-radius: 5px; background: var(--qa-pink); }
.ql-r1[b-d2ytg5bags]::after, .ql-r2[b-d2ytg5bags]::after { content: ""; position: absolute; top: 20px; width: calc(12.5% + 44px); height: 310px; box-sizing: border-box; border: 10px solid var(--qa-pink); }
.ql-r1[b-d2ytg5bags]::after { left: 87.5%; border-left: none; border-radius: 0 160px 160px 0; }
.ql-r2[b-d2ytg5bags]::after { right: 87.5%; border-right: none; border-radius: 160px 0 0 160px; }
.ql-stop[b-d2ytg5bags] { position: relative; grid-row: 1; padding: 60px 16px 0; text-align: center; display: flex; flex-direction: column; gap: 6px; align-items: center; }
.ql-dot[b-d2ytg5bags] { position: absolute; z-index: 2; top: 12px; left: 50%; margin-left: -13px; width: 26px; height: 26px; box-sizing: border-box; border-radius: 50%; background: #ffffff; border: 6px solid var(--qa-pink); }
.ql-end .ql-dot[b-d2ytg5bags] { top: 3px; margin-left: -22px; width: 44px; height: 44px; border: 6px solid #ffffff; background: var(--qa-pink); box-shadow: 0 0 0 4px var(--qa-pink); }
.ql-r3[b-d2ytg5bags]::after { content: ""; position: absolute; top: 20px; left: 87.5%; width: calc(12.5% + 44px); height: 0; border-top: 10px dotted var(--qa-pink); }
.ql-c1[b-d2ytg5bags] { grid-column: 1; }
.ql-c2[b-d2ytg5bags] { grid-column: 2; }
.ql-c3[b-d2ytg5bags] { grid-column: 3; }
.ql-c4[b-d2ytg5bags] { grid-column: 4; }

@media (max-width: 1199px) {
    .ql-row[b-d2ytg5bags] { height: 360px; }
    .ql-r1[b-d2ytg5bags]::after, .ql-r2[b-d2ytg5bags]::after { height: 370px; }
}

@media (max-width: 899px) {
    .ql-wrap[b-d2ytg5bags] { padding: 32px 20px 8px; }
    .ql-row[b-d2ytg5bags] { display: flex; flex-direction: column; height: auto; }
    .ql-row[b-d2ytg5bags]::before { left: 21px; right: auto; top: 0; bottom: 0; width: 10px; height: auto; border-radius: 0; }
    .ql-r1[b-d2ytg5bags]::before { top: 20px; }
    .ql-r3[b-d2ytg5bags]::before { bottom: 0; height: auto; background: linear-gradient(var(--qa-pink) 70%, rgba(201,42,98,0)); }
    .ql-r1[b-d2ytg5bags]::after, .ql-r2[b-d2ytg5bags]::after, .ql-r3[b-d2ytg5bags]::after { display: none; }
    .ql-stop[b-d2ytg5bags] { text-align: left; align-items: flex-start; padding: 0 0 32px 64px; }
    .ql-dot[b-d2ytg5bags] { top: 4px; left: 26px; margin-left: -13px; }
    .ql-end .ql-dot[b-d2ytg5bags] { top: 0; margin-left: -22px; }
}

/* Droite à gauche : la frise est inversée. */

[dir="rtl"] .ql-r1[b-d2ytg5bags]::after { left: auto; right: 87.5%; border-left: 10px solid var(--qa-pink); border-right: none; border-radius: 160px 0 0 160px; }
[dir="rtl"] .ql-r2[b-d2ytg5bags]::after { right: auto; left: 87.5%; border-right: 10px solid var(--qa-pink); border-left: none; border-radius: 0 160px 160px 0; }
[dir="rtl"] .ql-r3[b-d2ytg5bags]::after { left: auto; right: 87.5%; }

@media (max-width: 899px) {
    [dir="rtl"] .ql-row[b-d2ytg5bags]::before { left: auto; right: 21px; }
    [dir="rtl"] .ql-stop[b-d2ytg5bags] { padding: 0 64px 32px 0; }
    [dir="rtl"] .ql-dot[b-d2ytg5bags] { left: auto; right: 26px; margin-left: 0; margin-right: -13px; }
    [dir="rtl"] .ql-end .ql-dot[b-d2ytg5bags] { margin-right: -22px; }
}

/* Contenu des arrêts. */

.date[b-d2ytg5bags] { font-family: var(--qa-font-heading); font-weight: 700; font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--qa-pink); }
h3[b-d2ytg5bags] { margin: 0; font-family: var(--qa-font-heading); font-weight: 700; font-size: 18px; line-height: 1.25; color: var(--qa-ink); }
p[b-d2ytg5bags] { margin: 0; font-size: 15px; line-height: 1.5; color: var(--qa-muted); }
.badge[b-d2ytg5bags] { font-family: var(--qa-font-heading); font-weight: 700; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #ffffff; background: var(--qa-pink); padding: 3px 10px; border-radius: 999px; }
