/* ===== PAGE IA - STYLES SPECIFIQUES ===== */

/* --- Titre accroche "pour vos (vrais) besoins" --- */
.ia-titre-besoins {
    font-size: 65px;
    line-height: 50px;
    letter-spacing: 1.3px;
}

@media (max-width: 576px) {
    .ia-titre-besoins {
        font-size: 40px;
        line-height: 36px;
    }
}

/* --- BANNER --- */
.ia-banner-right {
    position: relative;
}

.ia-banner-right .bg-forme {
    position: absolute;
    top: -30px;
    right: 0;
    width: 95%;
    height: 100%;
    z-index: 0;
}

.bg-forme-2 {
    position: absolute;
    z-index: -1;
    margin-left: -82px;
    margin-top: -60px;
    height: 105%;
}

.ia-banner-right .bg-forme-2 {
    position: absolute;
    top: -30px;
    right: -40px;
    width: 95%;
    height: 100%;
    z-index: 0;
}

.no-list-style.wrapper-tags.gap-2.gap-sm-1 > .tag {
    margin: 0 5px !important;
}

.ia-banner-right .mockup-img {
    position: relative;
    z-index: 1;
    width: 95%;
    margin-right: -200px;
    margin-top: -30px;
}

/* --- SECTION ACCROCHE BLEUE (inversée) --- */
.ia-section-accroche {
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: top;
    padding: 135px 0 100px;
}

.ia-section-accroche .content-accroche {
    position: relative;
    z-index: 1;
}

.ia-triangle-white {
    position: absolute;
    bottom: -41px;
    left: 50%;
    transform: translateX(-50%) rotate(135deg);
    width: 80px;
    height: 80px;
    background: #fff;
    border-radius: 0 0 0 20px;
    z-index: 2;
}

/* --- SECTION TITRE CENTRAL --- */
.ia-section-titre-central {
    padding: 120px 0 30px;
}

@media (max-width: 576px) {
    .ia-section-titre-central {
        padding-top: 60px;
        padding-bottom: 15px;
    }

    .frame-white-top::before,
    .frame-white-bottom-ia::before {
        display: none;
    }

    section.ia-section-lucy {
      padding-top: 3rem;
      padding-bottom: 0;
    }

}

/* --- SECTION 2 COLONNES --- */
.ia-section-colonnes {
    padding: 40px 0 90px;
}

/* --- SECTION CAS D'USAGE IA (fond bleu) --- */
.ia-section-cas-usage {
    position: relative;
    overflow-x: hidden;
    margin-top: -42px;
    background: var(--linear-gradient-violet-bleu);
    z-index: 1;
}

.ia-section-cas-usage .content-cas-usage {
    position: relative;
    z-index: 1;
}


/* Numéro steps */
.ia-step-number {
    position: relative;
    display: inline-block;
    width: 102px;
    height: 91px;
}

.ia-step-number .trame-bg {
    position: absolute;
    top: -2px;
    left: -2px;
    width: calc(100% + 4px);
    height: calc(100% + 4px);
}

.ia-step-number span {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-family: "Salted", sans-serif;
    font-size: 70px;
    color: var(--color-green);
    line-height: 1;
}

/* Trame cadre autour des blocs */
.ia-trame-cadre {
    position: relative;
    padding: 60px 50px;
}

.ia-trame-cadre .trame-content {
    position: relative;
    z-index: 1;
}

/* Logos IA partenaires */
.ia-logos-row {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.ia-logo-card {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ia-logo-card img {
    max-height: 120px;
    width: auto;
}

/* Mockup pleine largeur + logos intégrés */
.ia-mockup-fullwidth {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 200px 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.ia-mockup-fullwidth > img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.ia-logos-overlay {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
    z-index: 2;
}

.ia-logos-overlay img {
    max-height: 55px;
    width: auto;
    filter: brightness(0) invert(1);
    opacity: 0.85;
    transition: opacity 0.2s;
}

.ia-logos-overlay img:hover {
    opacity: 1;
}

/* Mockup encadré */
.ia-mockup-framed {
    max-width: 994px;
    margin: 0 auto;
}

.ia-mockup-framed img {
    width: 100%;
    height: auto;
}

/* Texte "Une expertise complète" */
.ia-expertise-complete {
    font-family: "Salted", sans-serif;
    font-size: 45px;
    color: var(--color-white);
    transform: rotate(-2deg);
    letter-spacing: 0.9px;
    text-transform: uppercase;
    line-height: 1.5;
}

/* --- SECTION LUCY --- */
.ia-section-lucy {
    position: relative;
    overflow: hidden;
    padding: 95px 0 40px;
}

.ia-section-lucy .bg-grain {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.3;
    z-index: 0;
}

.ia-section-lucy .content-lucy {
    position: relative;
    z-index: 1;
}

/* Vidéo/Démo Lucy */
.ia-lucy-video {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 5px 6px 30px rgba(8, 24, 175, 0.2);
    max-width: 997px;
}

.ia-lucy-video img {
    width: 100%;
    height: auto;
    display: block;
}

/* Illustration loutre */
.ia-loutre {
    position: absolute;
    right: -200px;
    top: -200px;
    width: 296px;
    z-index: -1;
}

.ia-loutre img {
    width: 100%;
    height: auto;
}

.frame-white-bottom-ia {
    position: relative;
}



/* --- SECTION PHOTO --- */
.ia-section-photo {
    position: relative;
}

.ia-section-photo .photo-fullwidth {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.ia-section-photo .photo-overlay {
    position: absolute;
    right: 10%;
    top: 40%;
    transform: translateY(-30%);
    max-width: 510px;
    width: 40%;
    border-radius: 10px;
}

/* --- SECTION POURQUOI REVOLUCY --- */
.ia-section-pourquoi {
    padding: 100px 0 100px;
}

@media (max-width: 576px) {
    .ia-section-pourquoi {
        padding-top: 30px;
        padding-bottom: 50px;
    }
}

.ia-pourquoi-col {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ia-pourquoi-stat {
    display: flex;
    gap: 16px;
    align-items: center;
}

.ia-pourquoi-stat img {
    flex-shrink: 0;
}

/* --- SECTION FAQ --- */
.ia-section-faq {
    background: var(--color-blue);
    padding: 120px 0;
    position: relative;
}

.ia-section-faq .bg-faq {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.ia-section-faq .content-faq {
    position: relative;
    z-index: 1;
}

@media (max-width: 576px) {
    .ia-section-faq {
        padding: 3rem 0;
        margin-top: 10px;
    }
    #accordionFaqIA {
      padding-bottom: 0 !important;
    }
}

/* --- SECTION CONTACT FINAL --- */
.ia-section-contact-final {
    padding: 75px 0 60px;
}

/* Accordion custom pour FAQ */
.ia-section-faq .accordion-button {
    font-family: "Onest", "Onest Fallback", sans-serif;
    font-weight: 600;
    font-size: 24px;
    color: #fff;
    line-height: 32.5px;
    letter-spacing: -0.32px;
    padding: 20px 0;
    border-bottom: 1.3px solid rgba(255, 255, 255, 0.5);
    background: transparent;
    box-shadow: none;
}

.ia-section-faq .accordion-button::after {
    filter: brightness(0) invert(1);
}

.ia-section-faq .accordion-button:not(.collapsed)::after {
    filter: brightness(0) invert(1);
}

.ia-section-faq .accordion-button:focus {
    box-shadow: none;
}

/* Pictos inline dans les titres */
.icon-inline {
    display: inline-block;
    vertical-align: middle;
    margin: 0 5px;
}

/* Responsive */
@media (max-width: 991px) {
    .ia-loutre {
        display: none;
    }

    .ia-section-photo .photo-overlay {
        display: none;
    }

    .ia-trame-cadre {
        padding: 40px 20px;
    }

    .ia-expertise-complete {
        font-size: 30px;
    }

    .ia-logos-overlay {
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        padding: 20px 0;
    }
}

@media (max-width: 1200px) {
    .ia-banner-right .bg-forme, .bg-forme-2 {
        display: none;
    }

    .ia-banner-right .mockup-img {
        margin: auto;
    }
}

@media (max-width: 767px) {
    #block-banner {
        margin-top: 0 !important;
    }

    .ia-banner-right .mockup-img {
        margin-right: -1%;
    }

    .ia-section-colonnes .color-blue.font-onest-regular.text-medium br {
        display: none;
    }

    .ia-section-colonnes .col-12.col-xl-6.ps-0.ps-xl-5:last-child {
        margin-top: 50px;
    }

    .ia-mockup-fullwidth {
        margin-top: 50px;
    }

    section#contact {
        padding-bottom: 25px;
        padding-top: 28px;
    }

    .trame-content .row.align-items-start.mt-5 {
      margin-top: 0 !important;
    }
}

/* ============================================================
   NOS CAS D'USAGE IA — V2 (.ia2)
   3 familles × 9 usages, KPI proof, ribbon stack technique
   Tokens locaux pour ne pas polluer le :root global.
   ============================================================ */
.ia2 {
    --ia2-lime:   var(--color-green);   /* #b9ff66 */
    --ia2-rose:   var(--color-pink);    /* #fb0065 */
    --ia2-violet: var(--color-purple);  /* #9f80ff */
    --ia2-bleu:   var(--color-blue);    /* #0818af */
    --ia2-ease:   cubic-bezier(0.2, 0.7, 0.2, 1);
    --ia2-dur:    240ms;
    --ia2-pad:    clamp(20px, 6vw, 120px);
    position: relative;
    width: 100%;
    margin: 0 auto;
    /* `clip` (et non `hidden`) pour clipper les stamps de fond sans
       casser le `position: sticky` du .ia2-fam__left. */
    overflow: clip;
    color: #fff;
    font-family: var(--font-onest);
    padding: 0 0 60px;
}

/* --- background --- */
.ia2__bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.ia2__bg-grad { position: absolute; inset: 0; background: linear-gradient(180deg, #0818af 0%, #1326c9 30%, #2b1cc8 60%, #4524d6 100%); }
.ia2__bg-grain { position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,0.07) 1px, transparent 1.4px); background-size: 5px 5px; mix-blend-mode: overlay; opacity: 0.55; }
.ia2__bg-stamp { position: absolute; right: -160px; top: 60px; width: 800px; opacity: 0.05; pointer-events: none; transform: rotate(-7deg); }

/* --- header --- */
.ia2-head {
    position: relative; z-index: 2;
    padding: 110px var(--ia2-pad) 56px;
    display: grid;
    grid-template-columns: 1fr 480px;
    gap: 56px;
    align-items: end;
}
.ia2-fil {
    display: inline-flex; align-items: center; gap: 14px;
    font-family: var(--font-tektur); font-weight: 700; font-size: 18px;
    letter-spacing: 0.04em; text-transform: uppercase; color: #fff;
    margin-bottom: 22px;
}
.ia2-fil img { width: 28px; height: 28px; }
.ia2-title {
    font-family: var(--font-tektur); font-weight: 800;
    font-size: 60px; line-height: 1.04; letter-spacing: 0.01em;
    color: #fff; margin: 0;
    max-width: 720px;
}
.ia2-title em { font-style: normal; color: var(--ia2-lime); }
/* signature manuscrite "Neuf cas d'usages" — Salted pour le relief */
.ia2-title__hand {
    display: inline-block;
    font-family: var(--font-salted);
    font-weight: 400;
    font-size: 1.05em;
    color: var(--ia2-lime);
    letter-spacing: 0.01em;
    transform: rotate(-2deg);
    transform-origin: left center;
    margin-top: 8px;
}
.ia2-lead { font-size: 18px; line-height: 1.6; color: rgba(255,255,255,0.85); margin: 0; }
.ia2-lead strong { color: #fff; font-weight: 700; }
.ia2-lead em { font-style: normal; font-family: var(--font-tektur); font-weight: 700; text-transform: uppercase; color: var(--ia2-lime); letter-spacing: 0.02em; }

/* --- keyword row (SEO surface) — utilise les classes DS .tag .bg-gradient-purple-pink .color-white --- */
.ia2-keywords {
    position: relative; z-index: 2;
    margin: 0 var(--ia2-pad) 56px;
    display: flex; flex-wrap: wrap; gap: 8px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.10);
}
/* Léger override sur le .tag du DS pour cette ligne SEO : annule margin-bottom (gap géré par le flex)
   + interactivité (cursor + animation hover) puisque ce sont des anchors. */
.ia2-keywords .tag {
    margin-bottom: 0;
    text-decoration: none;
    cursor: pointer;
    transition: transform var(--ia2-dur) var(--ia2-ease), filter var(--ia2-dur) var(--ia2-ease);
}
.ia2-keywords .tag:hover { transform: translateY(-1px); filter: brightness(1.08); color: #fff; }

/* --- family row --- */
.ia2-fam {
    position: relative; z-index: 2;
    margin: 0 var(--ia2-pad);
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 60px;
    padding: 56px 0;
    border-top: 1px solid rgba(255,255,255,0.12);
}
.ia2-fam:first-of-type { border-top: 0; padding-top: 0; }
.ia2-fam__left { position: sticky; top: 32px; align-self: start; }
.ia2-fam__num { display: flex; align-items: baseline; gap: 16px; margin-bottom: 18px; }
.ia2-fam__num-digit {
    font-family: var(--font-tektur); font-weight: 900;
    font-size: 96px; line-height: 0.85; letter-spacing: -0.03em;
    color: var(--ia2-lime);
}
.ia2-fam__num-bar { width: 56px; height: 5px; background: var(--ia2-lime); margin-bottom: 14px; }
.ia2-fam--02 .ia2-fam__num-digit { color: var(--ia2-rose); }
.ia2-fam--02 .ia2-fam__num-bar   { background: var(--ia2-rose); }
.ia2-fam--03 .ia2-fam__num-digit { color: var(--ia2-violet); }
.ia2-fam--03 .ia2-fam__num-bar   { background: var(--ia2-violet); }

.ia2-fam__title {
    font-family: var(--font-tektur); font-weight: 800;
    font-size: 38px; line-height: 1.04; letter-spacing: 0.01em;
    color: #fff; margin: 0 0 18px;
}
.ia2-fam__title em { font-style: normal; color: var(--ia2-lime); }
.ia2-fam--02 .ia2-fam__title em { color: var(--ia2-rose); }
.ia2-fam--03 .ia2-fam__title em { color: var(--ia2-violet); }
/* sous-titre des 3 familles — Onest non-gras, contraste avec le Tektur du début */
.ia2-fam__title-sub {
    display: inline;
    font-family: var(--font-onest);
    font-weight: 400;
    letter-spacing: 0;
    color: rgba(255,255,255,0.88);
}
.ia2-fam__claim { font-size: 16px; line-height: 1.55; color: rgba(255,255,255,0.82); margin: 0 0 22px; max-width: 340px; }
.ia2-fam__claim strong { color: #fff; }

.ia2-fam__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.ia2-fam__tags span {
    font-family: var(--font-tektur); font-weight: 600; font-size: 11px;
    letter-spacing: 0.08em; text-transform: uppercase;
    padding: 4px 10px; border-radius: 3px;
    color: rgba(255,255,255,0.7);
    border: 1px solid rgba(255,255,255,0.16);
}

/* --- usages grid (right column) --- */
.ia2-fam__right { display: flex; flex-direction: column; gap: 14px; }
.ia2-usage {
    position: relative;
    display: grid;
    grid-template-columns: 56px 1fr auto;
    gap: 22px;
    align-items: center;
    padding: 22px 28px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 14px;
    transition: background var(--ia2-dur) var(--ia2-ease), border-color var(--ia2-dur) var(--ia2-ease), transform var(--ia2-dur) var(--ia2-ease);
}
.ia2-usage:hover {
    background: rgba(255,255,255,0.07);
    border-color: rgba(255,255,255,0.22);
    transform: translateX(2px);
}
.ia2-usage__icon {
    width: 56px; height: 56px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--font-tektur); font-weight: 700; font-size: 14px;
    color: rgba(255,255,255,0.85);
}
.ia2-usage__icon svg { width: 26px; height: 26px; }
.ia2-usage__body { min-width: 0; }
.ia2-usage__title {
    font-family: var(--font-tektur); font-weight: 700; font-size: 19px;
    letter-spacing: 0.01em; color: #fff; margin: 0 0 4px;
    line-height: 1.2;
}
.ia2-usage__title em { font-style: normal; color: var(--ia2-lime); }
.ia2-usage__desc { font-size: 14.5px; line-height: 1.5; color: rgba(255,255,255,0.7); margin: 0; }
.ia2-usage__tech { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.ia2-usage__tech span {
    font-family: ui-monospace, "SF Mono", Menlo, monospace;
    font-size: 11px;
    color: rgba(185,255,102,0.85);
    background: rgba(185,255,102,0.06);
    padding: 2px 8px; border-radius: 4px;
    letter-spacing: 0.02em;
}
.ia2-usage__chev {
    font-family: var(--font-tektur); font-weight: 800; font-size: 22px;
    color: rgba(255,255,255,0.35);
    transition: color var(--ia2-dur) var(--ia2-ease), transform var(--ia2-dur) var(--ia2-ease);
}
.ia2-usage:hover .ia2-usage__chev { color: var(--ia2-lime); transform: translateX(4px); }

/* --- PROOF usage card --- */
.ia2-usage--proof {
    background: linear-gradient(95deg, rgba(185,255,102,0.10) 0%, rgba(185,255,102,0.02) 100%);
    border: 1px solid rgba(185,255,102,0.40);
    grid-template-columns: 1fr auto;
    padding: 26px 32px;
}
.ia2-usage--proof .ia2-proof-badge {
    align-self: flex-start;
    font-family: var(--font-tektur); font-weight: 800; font-size: 11px;
    letter-spacing: 0.2em; padding: 4px 12px;
    background: var(--ia2-lime); color: var(--ia2-bleu);
    border-radius: 3px;
}
.ia2-usage--proof .ia2-proof-body { display: flex; flex-direction: column; gap: 6px; }
.ia2-usage--proof .ia2-proof-client {
    font-family: var(--font-tektur); font-weight: 700; font-size: 13px;
    letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.7);
}
.ia2-usage--proof .ia2-proof-h {
    font-family: var(--font-tektur); font-weight: 800; font-size: 22px;
    color: #fff; margin: 0; line-height: 1.2;
}
.ia2-usage--proof .ia2-proof-h em { font-style: normal; color: var(--ia2-lime); }

.ia2-proof-kpi {
    display: flex; align-items: center; gap: 14px;
    padding-left: 24px;
    border-left: 1px solid rgba(185,255,102,0.30);
}
.ia2-proof-kpi__num {
    font-family: var(--font-tektur); font-weight: 900; font-size: 48px; line-height: 0.9;
    color: var(--ia2-lime); letter-spacing: -0.02em;
}
.ia2-proof-kpi__num small { font-size: 20px; opacity: 0.85; margin-left: 2px; }
.ia2-proof-kpi__lbl {
    font-family: var(--font-tektur); font-weight: 700; font-size: 11px;
    letter-spacing: 0.16em; text-transform: uppercase; color: rgba(185,255,102,0.85);
    max-width: 100px; line-height: 1.3;
}

/* CTA per family */
.ia2-fam__cta {
    margin-top: 18px;
    display: inline-flex; align-items: center; gap: 10px;
    font-family: var(--font-tektur); font-weight: 700; font-size: 14px;
    letter-spacing: 0.05em; text-transform: uppercase;
    color: var(--ia2-lime);
    padding: 12px 0;
    border-bottom: 1.5px solid var(--ia2-lime);
    cursor: pointer; align-self: flex-start;
    transition: gap var(--ia2-dur) var(--ia2-ease);
    text-decoration: none;
}
.ia2-fam__cta:hover { gap: 16px; color: var(--ia2-lime); }
.ia2-fam--02 .ia2-fam__cta { color: var(--ia2-rose); border-bottom-color: var(--ia2-rose); }
.ia2-fam--02 .ia2-fam__cta:hover { color: var(--ia2-rose); }
.ia2-fam--03 .ia2-fam__cta { color: var(--ia2-violet); border-bottom-color: var(--ia2-violet); }
.ia2-fam--03 .ia2-fam__cta:hover { color: var(--ia2-violet); }

/* --- Stack bar --- */
.ia2-stack {
    position: relative; z-index: 2;
    margin: 56px var(--ia2-pad) 0;
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 48px;
    padding: 36px 40px;
    background: rgba(0,0,0,0.22);
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 18px;
    align-items: center;
}
.ia2-stack__head { display: flex; flex-direction: column; gap: 6px; }
.ia2-stack__title {
    font-family: var(--font-tektur); font-weight: 800; font-size: 22px;
    color: #fff; margin: 0; letter-spacing: 0.01em;
}
.ia2-stack__sub { font-size: 14px; color: rgba(255,255,255,0.65); margin: 0; }

.ia2-stack__row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.ia2-stack__pill {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 16px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 999px;
    font-family: var(--font-tektur); font-weight: 700; font-size: 13px;
    letter-spacing: 0.02em; color: #fff;
}
.ia2-stack__pill::before {
    content: ""; width: 7px; height: 7px; border-radius: 50%;
    background: var(--ia2-lime); box-shadow: 0 0 10px var(--ia2-lime);
}
.ia2-stack__pill.rose::before { background: var(--ia2-rose); box-shadow: 0 0 10px var(--ia2-rose); }
.ia2-stack__pill.violet::before { background: var(--ia2-violet); box-shadow: 0 0 10px var(--ia2-violet); }

/* --- Closing --- */
.ia2-closing {
    position: relative; z-index: 2;
    margin: 96px var(--ia2-pad) 0;
    padding: 80px 60px 64px;
    display: flex; flex-direction: column; align-items: center; text-align: center;
    gap: 0;
    background: linear-gradient(135deg, rgba(185,255,102,0.06) 0%, rgba(159,128,255,0.04) 100%);
    border: 1px solid rgba(185,255,102,0.22);
    border-radius: 27px;
    overflow: hidden;
}
.ia2-closing__kicker {
    position: relative; z-index: 1;
    font-family: var(--font-tektur); font-weight: 700; font-size: 12px;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--ia2-lime);
    display: inline-flex; align-items: center; gap: 12px;
    margin-bottom: 22px;
}
.ia2-closing__kicker::before,
.ia2-closing__kicker::after {
    content: ""; width: 28px; height: 1px; background: var(--ia2-lime);
}
.ia2-closing__question {
    position: relative; z-index: 1;
    max-width: 880px;
    font-family: var(--font-tektur); font-weight: 800;
    font-size: 44px; line-height: 1.12; letter-spacing: 0.005em;
    color: #fff;
    margin: 0 0 18px;
}
.ia2-closing__question em { font-style: normal; color: var(--ia2-lime); }
.ia2-closing__pitch {
    position: relative; z-index: 1;
    max-width: 680px;
    font-size: 17px; line-height: 1.55; color: rgba(255,255,255,0.78);
    margin: 0 0 38px;
}
.ia2-closing__pitch strong { color: #fff; font-weight: 700; }

.ia2-closing__actions {
    position: relative; z-index: 1;
    display: flex; align-items: center; gap: 32px;
    margin-bottom: 22px;
    flex-wrap: wrap; justify-content: center;
}
/* Le CTA principal utilise les classes DS .btn-large-revo .btn-custom-green
   définies dans global.css — aucun style local nécessaire. */

.ia2-closing__secondary {
    display: inline-flex; align-items: center; gap: 10px;
    font-family: var(--font-tektur); font-weight: 700; font-size: 14px;
    letter-spacing: 0.05em; text-transform: uppercase;
    color: #fff; text-decoration: none;
    padding: 14px 4px;
    border-bottom: 1.5px solid rgba(255,255,255,0.4);
    transition: color var(--ia2-dur) var(--ia2-ease), border-color var(--ia2-dur) var(--ia2-ease), gap var(--ia2-dur) var(--ia2-ease);
}
.ia2-closing__secondary:hover { color: var(--ia2-lime); border-bottom-color: var(--ia2-lime); gap: 14px; }
.ia2-closing__trust {
    position: relative; z-index: 1;
    display: flex; align-items: center; gap: 18px;
    margin-bottom: 56px;
    font-family: var(--font-onest); font-size: 13px;
    color: rgba(255,255,255,0.55);
    flex-wrap: wrap; justify-content: center;
}
.ia2-closing__trust span { display: inline-flex; align-items: center; gap: 8px; }
.ia2-closing__trust span::before {
    content: ""; width: 6px; height: 6px; border-radius: 50%;
    background: var(--ia2-lime); box-shadow: 0 0 8px var(--ia2-lime);
}
.ia2-closing__signature {
    position: relative; z-index: 1;
    display: flex; align-items: center; justify-content: center;
    gap: 28px;
    width: 100%;
    margin-top: 8px;
}
.ia2-closing__signature::before,
.ia2-closing__signature::after {
    content: ""; flex: 1; max-width: 240px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(185,255,102,0.35), transparent);
}
.ia2-closing__hand {
    font-family: var(--font-salted); font-size: 64px; line-height: 0.95;
    color: rgba(185,255,102,0.85);
    transform: rotate(-2deg);
    margin: 0;
    flex: 0 0 auto;
    white-space: nowrap;
}

/* ----- Responsive ----- */
@media (max-width: 1100px) {
    .ia2-head { grid-template-columns: 1fr 380px; gap: 40px; }
    .ia2-title { font-size: 48px; }
    .ia2-fam { grid-template-columns: 300px 1fr; gap: 40px; }
    .ia2-fam__num-digit { font-size: 80px; }
    .ia2-fam__title { font-size: 32px; }
    .ia2-stack { grid-template-columns: 280px 1fr; gap: 32px; }
}
@media (max-width: 900px) {
    .ia2-head { grid-template-columns: 1fr; padding: 80px var(--ia2-pad) 40px; gap: 28px; align-items: start; }
    .ia2-title { font-size: 40px; }
    .ia2-lead { font-size: 16px; }
    .ia2-keywords { margin-bottom: 40px; }
    .ia2-fam { grid-template-columns: 1fr; gap: 32px; padding: 40px 0; }
    .ia2-fam__left { position: static; }
    .ia2-fam__num-digit { font-size: 64px; }
    .ia2-fam__title { font-size: 28px; }
    .ia2-fam__claim { max-width: none; }
    .ia2-usage { grid-template-columns: 48px 1fr auto; padding: 18px 20px; gap: 16px; }
    .ia2-usage__icon { width: 48px; height: 48px; }
    .ia2-usage__title { font-size: 17px; }
    .ia2-usage--proof { grid-template-columns: 1fr; gap: 18px; padding: 22px 22px; }
    .ia2-proof-kpi { padding-left: 0; padding-top: 14px; border-left: 0; border-top: 1px solid rgba(185,255,102,0.30); }
    .ia2-stack { grid-template-columns: 1fr; gap: 24px; padding: 28px 24px; }
    .ia2-closing { padding: 60px 28px 48px; margin-top: 64px; }
    .ia2-closing__question { font-size: clamp(26px, 5.5vw, 36px); }
    .ia2-closing__pitch { font-size: 15px; }
    .ia2__bg-stamp { width: 480px; right: -120px; }
}
@media (max-width: 720px) {
    .ia2-title { font-size: 32px; }
    .ia2-fil { font-size: 14px; }
    .ia2-closing { padding: 48px 20px 40px; border-radius: 18px; }
    .ia2-closing__question { font-size: clamp(22px, 5.5vw, 28px); }
    .ia2-closing__actions { flex-direction: column; gap: 18px; }
    .ia2-closing__hand { font-size: 44px; }
    .ia2-closing__signature::before,
    .ia2-closing__signature::after { max-width: 60px; }
    .ia2-usage__chev { display: none; }
    .ia2-usage { grid-template-columns: 44px 1fr; }
}
@media (max-width: 420px) {
    .ia2-head { padding-top: 60px; }
    .ia2-title { font-size: 26px; }
    .ia2-fam__num-digit { font-size: 52px; }
    .ia2-fam__title { font-size: 24px; }
    .ia2-keywords .tag { font-size: 12px; padding: 2px 9px; letter-spacing: 0.5px; }
}
/* =============================================================================
   Illustrations + responsive usage cards (ex bloc <style> de page-expertise-ia.html, déplacé 2026-06-11)
   ============================================================================= */

.illustration-left {
    left: 20px;
    background: center left/ contain no-repeat url(../images/global/picto-empreinte-vert.webp);
    position: absolute;
    top: 200px;
    z-index: 9;
    width: 100px;
    height: 100px;
}

.illustration-right {
    right: 20px;
    background: center right/ contain no-repeat url(../images/global/picto-crayon-vert.webp);
    position: absolute;
    top: 200px;
    z-index: 9;
    width: 100px;
    height: 100px;
}
.frame-white-bottom-ia::before {
    position: absolute;
    bottom: 0;
    right: 0;
    content: "";
    width: 100%;
    height: 100%;
    background: bottom / 100% auto no-repeat url(../images/global/trame-cadre-white-bottom.webp);
    z-index: -1;
}
@media (max-width: 768px) {
    /* --- Usage cards : icône + contenu sur 2 colonnes, chevron masqué --- */
    .ia2-usage {
        grid-template-columns: 44px 1fr;
        gap: 14px;
        padding: 16px 18px;
        border-radius: 12px;
    }
    .ia2-usage__icon { width: 44px; height: 44px; border-radius: 10px; }
    .ia2-usage__icon svg { width: 22px; height: 22px; }
    .ia2-usage__title { font-size: 16px; }
    .ia2-usage__desc { font-size: 13.5px; }
    .ia2-usage__tech span { font-size: 10.5px; }
    .ia2-usage__chev { display: none; }

    /* --- Carte preuve : corps + KPI empilés verticalement --- */
    .ia2-usage--proof {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 20px 18px;
    }
    .ia2-usage--proof .ia2-proof-client { font-size: 12px; }
    .ia2-usage--proof .ia2-proof-h { font-size: 18px; }
    .ia2-proof-kpi {
        padding-left: 0;
        padding-top: 14px;
        border-left: 0;
        border-top: 1px solid rgba(185,255,102,0.30);
    }
    .ia2-proof-kpi__num { font-size: 40px; }
    .ia2-proof-kpi__num small { font-size: 17px; }
    .ia2-proof-kpi__lbl { max-width: none; }

    /* --- Signature manuscrite : ne plus rogner le texte --- */
    .ia2-closing__signature {
        flex-direction: column;
        gap: 12px;
    }
    .ia2-closing__signature::before,
    .ia2-closing__signature::after {
        display: none;
    }
    .ia2-closing__hand {
        white-space: normal;
        text-align: center;
        font-size: clamp(30px, 9vw, 44px);
        line-height: 1.1;
    }
}


/* =============================================================================
   Ex styles inline convertis en classes (2026-06-11) — !important = précédence
   des anciens style="".
   ============================================================================= */
.ix-display-contents { display: contents !important; }
.ix-decoration-clone { display: inline !important; -webkit-box-decoration-break: clone !important; box-decoration-break: clone !important; }
.ix-closing-spacing { margin-bottom: 50px !important; }
.ix-arcade-wrapper { position: relative !important; padding-bottom: calc(78.511% + 41px) !important; height: 0px !important; }
.ix-arcade-iframe { position: absolute !important; top: 0 !important; left: 0 !important; height: 100% !important; color-scheme: light !important; }
.ix-cta-offset { margin-top: 12px !important; }
