/* AK Agency — Structure Elementor V2 */

:root {
    --akv2-orange: #ff6a0a;
    --akv2-dark: #0b0e14;
    --akv2-ink: #17191f;
    --akv2-paper: #f7f1eb;
    --akv2-muted: #696159;
}

.akv2-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.akv2-section {
    position: relative;
    overflow: hidden;
    padding: clamp(74px, 8vw, 118px) 0;
}

.akv2-heading {
    max-width: 760px;
    margin-bottom: clamp(34px, 5vw, 58px);
}

.akv2-eyebrow {
    margin: 0 0 13px;
    color: var(--akv2-orange);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.akv2-heading h2,
.akv2-cta h2 {
    margin: 0;
    color: var(--akv2-ink);
    font-size: clamp(34px, 5vw, 62px);
    line-height: 1.02;
    letter-spacing: -.055em;
}

.akv2-heading > p:last-child {
    max-width: 670px;
    margin: 20px 0 0;
    color: var(--akv2-muted);
    font-size: 15px;
    line-height: 1.75;
}

/* Header */
.akv2-header {
    position: relative;
    z-index: 1000;
    background: rgba(8,10,14,.96);
    border-bottom: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
}

.akv2-header__inner {
    width: min(1240px, calc(100% - 40px));
    min-height: 82px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 30px;
}

.akv2-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
}

.akv2-brand__mark {
    display: grid;
    width: 43px;
    height: 43px;
    place-items: center;
    border: 1px solid rgba(255,122,35,.38);
    border-radius: 13px;
    background: linear-gradient(145deg, rgba(255,111,18,.22), rgba(255,111,18,.06));
    color: #ff7b24;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: -.05em;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.11), 0 11px 27px rgba(255,93,0,.11);
}

.akv2-brand__name {
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .18em;
}

.akv2-nav ul {
    display: flex;
    justify-content: center;
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.akv2-nav a {
    position: relative;
    color: rgba(255,255,255,.70);
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    transition: color .25s ease;
}

.akv2-nav a:hover {
    color: #fff;
}

.akv2-header__cta,
.akv2-mobile-menu__cta,
.akv2-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 19px;
    border-radius: 14px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 850;
    transition: transform .25s ease, box-shadow .25s ease;
}

.akv2-header__cta {
    color: #17110d;
    background: linear-gradient(135deg, #ff8a31, #ff5d00);
    box-shadow: 0 13px 30px rgba(255,91,0,.24);
}

.akv2-header__cta:hover,
.akv2-button:hover {
    transform: translateY(-2px);
}

.akv2-menu-open {
    display: none;
    width: 44px;
    height: 44px;
    padding: 11px;
    border: 0;
    background: transparent;
}

.akv2-menu-open span {
    display: block;
    height: 2px;
    margin: 5px 0;
    border-radius: 5px;
    background: #fff;
}

.akv2-mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: grid;
    grid-template-rows: auto 1fr;
    padding: 22px;
    color: #fff;
    background:
        radial-gradient(circle at 90% 8%, rgba(255,103,12,.18), transparent 24rem),
        #090c11;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    transition: opacity .28s ease, visibility .28s ease, transform .28s ease;
}

.akv2-mobile-menu.is-open {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.akv2-mobile-menu__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.akv2-menu-close {
    position: relative;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 13px;
    background: rgba(255,255,255,.05);
}

.akv2-menu-close span {
    position: absolute;
    left: 12px;
    top: 21px;
    width: 19px;
    height: 2px;
    background: #fff;
}

.akv2-menu-close span:first-child { transform: rotate(45deg); }
.akv2-menu-close span:last-child { transform: rotate(-45deg); }

.akv2-mobile-nav {
    display: grid;
    align-content: center;
}

.akv2-mobile-nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.akv2-mobile-nav li {
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.akv2-mobile-nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    color: #fff;
    text-decoration: none;
    font-size: clamp(24px, 7vw, 34px);
    font-weight: 780;
    letter-spacing: -.035em;
}

.akv2-mobile-nav i {
    color: #ff7321;
    font-size: 18px;
    font-style: normal;
}

.akv2-mobile-menu__footer {
    align-self: end;
}

.akv2-mobile-menu__cta {
    width: 100%;
    color: #15100c;
    background: linear-gradient(135deg, #ff8b33, #ff5f00);
}

.akv2-mobile-menu__footer p {
    margin: 13px 0 0;
    color: rgba(255,255,255,.46);
    font-size: 11px;
    text-align: center;
}

body.akv2-menu-open {
    overflow: hidden;
}

/* AKV2 WHY PREMIUM START */

/* Section premium inspirée de la maquette, sans changer la police du site. */
.home .akv2-why {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    padding: clamp(84px, 8vw, 118px) 0 !important;
    background:
        radial-gradient(circle at 7% 8%, rgba(255, 113, 22, .10), transparent 28rem),
        radial-gradient(circle at 92% 84%, rgba(255, 171, 93, .08), transparent 31rem),
        linear-gradient(180deg, #fbf7f2 0%, #f2e9df 100%) !important;
}

.home .akv2-why::before {
    content: "" !important;
    position: absolute !important;
    top: -22% !important;
    right: -10% !important;
    z-index: -1 !important;
    width: 52% !important;
    height: 82% !important;
    border-radius: 46% !important;
    pointer-events: none !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.65), rgba(255,255,255,0)) !important;
    filter: blur(4px) !important;
    transform: rotate(13deg) !important;
    opacity: .65 !important;
}

.home .akv2-why__heading {
    max-width: 820px !important;
    margin-bottom: clamp(42px, 5vw, 64px) !important;
}

.home .akv2-why__heading h2 {
    max-width: 780px !important;
    margin: 0 !important;
    color: #121820 !important;
    font-size: clamp(46px, 5.3vw, 72px) !important;
    line-height: .98 !important;
    letter-spacing: -.058em !important;
}

.home .akv2-why__heading > p:last-child {
    max-width: 690px !important;
    margin: 22px 0 0 !important;
    color: #655d56 !important;
    font-size: 15px !important;
    line-height: 1.72 !important;
}

.home .akv2-why__layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.14fr) minmax(0, .96fr) !important;
    align-items: stretch !important;
    gap: 26px !important;
}

/* Grand panneau sombre. */
.home .akv2-why__manifesto {
    position: relative !important;
    isolation: isolate !important;
    display: flex !important;
    min-height: 610px !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 40px !important;
    border: 1px solid rgba(255, 126, 40, .28) !important;
    border-radius: 30px !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 94% 2%, rgba(255, 106, 10, .22), transparent 20rem),
        linear-gradient(150deg, #151b24 0%, #091019 74%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07),
        0 34px 78px rgba(46, 29, 18, .23) !important;
}

.home .akv2-why__manifesto::before {
    content: "" !important;
    position: absolute !important;
    top: -150px !important;
    right: -140px !important;
    z-index: -1 !important;
    width: 390px !important;
    height: 390px !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    border: 1px solid rgba(255, 124, 39, .16) !important;
    box-shadow:
        0 0 0 28px rgba(255, 124, 39, .035),
        0 0 0 58px rgba(255, 124, 39, .018),
        0 0 0 92px rgba(255, 124, 39, .009) !important;
}

.home .akv2-why__brand-orbit {
    position: relative !important;
    display: grid !important;
    width: 78px !important;
    height: 78px !important;
    place-items: center !important;
    border: 1px solid rgba(255, 122, 34, .36) !important;
    border-radius: 50% !important;
    color: #ff7720 !important;
    background: rgba(255, 106, 10, .07) !important;
    box-shadow:
        0 0 0 7px rgba(255, 106, 10, .025),
        inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.home .akv2-why__brand-orbit::before,
.home .akv2-why__brand-orbit::after {
    content: "" !important;
    position: absolute !important;
    border-radius: 50% !important;
    pointer-events: none !important;
}

.home .akv2-why__brand-orbit::before {
    inset: -9px !important;
    border: 1px solid rgba(255, 122, 34, .12) !important;
}

.home .akv2-why__brand-orbit::after {
    inset: 9px !important;
    border: 1px dashed rgba(255, 122, 34, .16) !important;
}

.home .akv2-why__brand-orbit span {
    font-size: 17px !important;
    font-weight: 900 !important;
    letter-spacing: -.04em !important;
}

.home .akv2-why__manifesto-copy {
    margin-top: clamp(46px, 7vh, 78px) !important;
}

.home .akv2-why__kicker {
    margin: 0 0 17px !important;
    color: #ff8b3a !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.home .akv2-why__manifesto h3 {
    max-width: 650px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(38px, 4vw, 58px) !important;
    line-height: 1.03 !important;
    letter-spacing: -.052em !important;
}

.home .akv2-why__manifesto-copy > p:last-child {
    max-width: 590px !important;
    margin: 23px 0 0 !important;
    color: rgba(255,255,255,.65) !important;
    font-size: 13px !important;
    line-height: 1.72 !important;
}

/* Processus interne propre, sans chiffres décoratifs. */
.home .akv2-why__method {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin-top: auto !important;
    padding: 18px 0 !important;
    border: 1px solid rgba(255,255,255,.085) !important;
    border-radius: 17px !important;
    background: rgba(255,255,255,.025) !important;
    backdrop-filter: blur(10px) !important;
}

.home .akv2-why__method-item {
    display: grid !important;
    grid-template-columns: 34px 1fr !important;
    align-items: start !important;
    gap: 11px !important;
    min-width: 0 !important;
    padding: 0 18px !important;
}

.home .akv2-why__method-item:not(:last-child) {
    border-right: 1px solid rgba(255,255,255,.075) !important;
}

.home .akv2-why__method-item > span {
    display: grid !important;
    width: 32px !important;
    height: 32px !important;
    place-items: center !important;
    color: #ff7a24 !important;
}

.home .akv2-why__method-item svg {
    display: block !important;
    width: 25px !important;
    height: 25px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.home .akv2-why__method-item strong,
.home .akv2-why__method-item small {
    display: block !important;
}

.home .akv2-why__method-item strong {
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.home .akv2-why__method-item small {
    margin-top: 6px !important;
    color: rgba(255,255,255,.43) !important;
    font-size: 9px !important;
    line-height: 1.45 !important;
}

.home .akv2-why__note {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    display: block !important;
    margin-top: 17px !important;
    color: rgba(255,255,255,.38) !important;
    font-size: 9px !important;
}

/* Colonne droite. */
.home .akv2-why__right {
    display: grid !important;
    grid-template-rows: 1fr auto !important;
    gap: 15px !important;
    min-width: 0 !important;
}

.home .akv2-why__cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.home .akv2-why__card,
.home .akv2-why__card:nth-child(2),
.home .akv2-why__card:nth-child(3),
.home .akv2-why__card:nth-child(4) {
    --akv2-accent: 255, 106, 10 !important;
    position: relative !important;
    display: flex !important;
    min-height: 276px !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 26px 24px 22px !important;
    border: 1px solid rgba(var(--akv2-accent), .15) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 105% -10%, rgba(var(--akv2-accent), .10), transparent 12rem),
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(var(--akv2-accent), .035)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.75),
        0 22px 55px rgba(57, 39, 27, .09) !important;
    transition:
        transform .32s cubic-bezier(.2,.78,.2,1),
        border-color .32s ease,
        box-shadow .32s ease !important;
}

.home .akv2-why__card:nth-child(2) {
    --akv2-accent: 18, 147, 155 !important;
}

.home .akv2-why__card:nth-child(3) {
    --akv2-accent: 91, 89, 186 !important;
}

.home .akv2-why__card:nth-child(4) {
    --akv2-accent: 73, 147, 90 !important;
}

.home .akv2-why__card::before {
    content: "" !important;
    position: absolute !important;
    top: -58px !important;
    right: -50px !important;
    width: 150px !important;
    height: 150px !important;
    border-radius: 50% !important;
    background: rgba(var(--akv2-accent), .08) !important;
    box-shadow: 0 0 0 24px rgba(var(--akv2-accent), .022) !important;
}

.home .akv2-why__card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(var(--akv2-accent), .25) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.85),
        0 30px 70px rgba(57, 39, 27, .14) !important;
}

/* Aucune numérotation décorative dans les coins. */
.home .akv2-why__number {
    display: none !important;
}

.home .akv2-why__card-icon {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    width: 43px !important;
    height: 43px !important;
    place-items: center !important;
    margin-left: auto !important;
    border: 1px solid rgba(var(--akv2-accent), .20) !important;
    border-radius: 13px !important;
    color: rgb(var(--akv2-accent)) !important;
    background: rgba(var(--akv2-accent), .055) !important;
}

.home .akv2-why__card-icon svg {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.75 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.home .akv2-why__card h3 {
    position: relative !important;
    z-index: 2 !important;
    margin: 25px 0 10px !important;
    color: #171b21 !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
    letter-spacing: -.025em !important;
}

.home .akv2-why__card > p {
    position: relative !important;
    z-index: 2 !important;
    margin: 0 !important;
    color: #69615a !important;
    font-size: 12px !important;
    line-height: 1.62 !important;
}

.home .akv2-metric {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: end !important;
    gap: 12px !important;
    margin-top: auto !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(var(--akv2-accent), .12) !important;
}

.home .akv2-metric strong,
.home .akv2-metric small {
    display: block !important;
}

.home .akv2-metric strong {
    color: rgb(var(--akv2-accent)) !important;
    font-size: 29px !important;
    line-height: 1 !important;
    letter-spacing: -.05em !important;
}

.home .akv2-metric small {
    margin-top: 5px !important;
    color: #8a8179 !important;
    font-size: 7.5px !important;
    font-weight: 800 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

.home .akv2-bars {
    display: flex !important;
    height: 43px !important;
    align-items: end !important;
    justify-content: end !important;
    gap: 4px !important;
}

.home .akv2-bars i {
    width: 6px !important;
    height: calc(var(--akv2-bar) * 1%) !important;
    min-height: 5px !important;
    border-radius: 6px 6px 2px 2px !important;
    background: linear-gradient(180deg, rgba(var(--akv2-accent), .98), rgba(var(--akv2-accent), .23)) !important;
    box-shadow: 0 5px 13px rgba(var(--akv2-accent), .11) !important;
}

/* Barre de réassurance sous les 4 cartes. */
.home .akv2-why__proofs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: center !important;
    min-height: 58px !important;
    overflow: hidden !important;
    border: 1px solid rgba(39, 30, 22, .08) !important;
    border-radius: 17px !important;
    background: rgba(255,255,255,.72) !important;
    box-shadow: 0 18px 44px rgba(58, 40, 27, .07) !important;
    backdrop-filter: blur(12px) !important;
}

.home .akv2-why__proofs span {
    display: flex !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 34px !important;
    color: #5f5852 !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

.home .akv2-why__proofs span:not(:last-child) {
    border-right: 1px solid rgba(39, 30, 22, .08) !important;
}

.home .akv2-why__proofs svg {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    flex: 0 0 17px !important;
    fill: none !important;
    stroke: #333a42 !important;
    stroke-width: 1.5 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

/* Tablette. */
@media (max-width: 1100px) {
    .home .akv2-why__layout {
        grid-template-columns: 1fr !important;
    }

    .home .akv2-why__manifesto {
        min-height: 580px !important;
    }
}

/* Mobile. */
@media (max-width: 767px) {
    .home .akv2-why {
        padding: 74px 0 78px !important;
    }

    .home .akv2-why__heading h2 {
        font-size: clamp(39px, 11vw, 52px) !important;
    }

    .home .akv2-why__manifesto {
        min-height: 0 !important;
        padding: 25px !important;
        border-radius: 24px !important;
    }

    .home .akv2-why__brand-orbit {
        width: 66px !important;
        height: 66px !important;
    }

    .home .akv2-why__manifesto-copy {
        margin-top: 45px !important;
    }

    .home .akv2-why__manifesto h3 {
        font-size: clamp(34px, 9vw, 45px) !important;
    }

    .home .akv2-why__method {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        margin-top: 42px !important;
        padding: 0 16px !important;
    }

    .home .akv2-why__method-item {
        padding: 15px 0 !important;
    }

    .home .akv2-why__method-item:not(:last-child) {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.075) !important;
    }

    .home .akv2-why__cards {
        grid-template-columns: 1fr !important;
    }

    .home .akv2-why__card {
        min-height: 265px !important;
    }

    .home .akv2-why__proofs {
        grid-template-columns: 1fr !important;
        padding: 5px 16px !important;
    }

    .home .akv2-why__proofs span {
        justify-content: flex-start !important;
        padding: 12px 0 !important;
        text-align: left !important;
    }

    .home .akv2-why__proofs span:not(:last-child) {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(39, 30, 22, .08) !important;
    }
}

/* AKV2 WHY PREMIUM END */

/* Solutions */
.akv2-solutions {
    background: #0d1118;
}

.akv2-solutions .akv2-heading h2 {
    color: #fff;
}

.akv2-solutions .akv2-heading > p:last-child {
    color: rgba(255,255,255,.57);
}

.akv2-solutions__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.akv2-solution {
    position: relative;
    min-height: 325px;
    overflow: hidden;
    padding: 27px 24px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 24px;
    background:
        radial-gradient(circle at 100% 0%, rgba(255,105,12,.12), transparent 13rem),
        linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.018));
    transition: transform .35s ease, border-color .35s ease, background .35s ease;
}

.akv2-solution:hover {
    transform: translateY(-6px);
    border-color: rgba(255,112,25,.30);
}

.akv2-solution__icon {
    display: grid;
    width: 47px;
    height: 47px;
    place-items: center;
    border: 1px solid rgba(255,122,35,.24);
    border-radius: 14px;
    color: #ff7b27;
    background: rgba(255,105,12,.08);
    font-size: 11px;
    font-weight: 900;
}

.akv2-solution h3 {
    margin: 70px 0 12px;
    color: #fff;
    font-size: 21px;
    line-height: 1.12;
    letter-spacing: -.03em;
}

.akv2-solution p {
    margin: 0;
    color: rgba(255,255,255,.55);
    font-size: 12px;
    line-height: 1.7;
}

.akv2-solution a {
    position: absolute;
    left: 24px;
    bottom: 25px;
    display: inline-flex;
    gap: 9px;
    color: #ff8b3c;
    text-decoration: none;
    font-size: 11px;
    font-weight: 850;
}

/* Testimonials */
.akv2-testimonials {
    background: linear-gradient(180deg, #f6eee6, #fbf8f4);
}

.akv2-testimonials__track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.akv2-testimonial {
    min-height: 290px;
    padding: 27px;
    border: 1px solid rgba(73,48,31,.09);
    border-radius: 25px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 24px 60px rgba(63,42,27,.08);
}

.akv2-stars {
    color: #ff711c;
    font-size: 13px;
    letter-spacing: .10em;
}

.akv2-testimonial blockquote {
    margin: 35px 0 42px;
    color: #282522;
    font-size: 17px;
    line-height: 1.62;
    letter-spacing: -.018em;
}

.akv2-testimonial footer {
    display: flex;
    align-items: center;
    gap: 12px;
}

.akv2-testimonial footer > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #ff8530, #ff5e00);
    font-weight: 900;
}

.akv2-testimonial strong,
.akv2-testimonial small {
    display: block;
}

.akv2-testimonial strong {
    color: #211e1b;
    font-size: 12px;
}

.akv2-testimonial small {
    margin-top: 4px;
    color: #847a71;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

/* CTA */
.akv2-cta {
    padding: clamp(58px, 7vw, 96px) 0;
    background: #f7f1eb;
}

.akv2-cta__panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 42px;
    overflow: hidden;
    padding: clamp(34px, 5vw, 60px);
    border: 1px solid rgba(255,112,23,.26);
    border-radius: 32px;
    background:
        linear-gradient(140deg, rgba(255,255,255,.08), transparent 30%),
        radial-gradient(circle at 100% 100%, rgba(255,104,12,.07), transparent 22rem),
        linear-gradient(145deg, #171a21, #0c1016);
    box-shadow: 0 35px 85px rgba(46,29,18,.22);
}

.akv2-cta__copy {
    max-width: 760px;
}

.akv2-cta h2 {
    color: #fff;
}

.akv2-cta__copy > p:last-child {
    max-width: 650px;
    margin: 20px 0 0;
    color: rgba(255,255,255,.58);
    font-size: 13px;
    line-height: 1.75;
}

.akv2-cta__actions {
    display: grid;
    min-width: 290px;
    gap: 11px;
}

.akv2-button--primary {
    color: #17100b;
    background: linear-gradient(135deg, #ff8a31, #ff5d00);
    box-shadow: 0 14px 32px rgba(255,91,0,.23);
}

.akv2-button--secondary {
    color: #fff;
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(255,255,255,.045);
}

.akv2-cta__actions small {
    color: rgba(255,255,255,.38);
    font-size: 8.5px;
    text-align: center;
}

@media (max-width: 1024px) {
    .akv2-nav,
    .akv2-header__cta {
        display: none;
    }

    .akv2-header__inner {
        grid-template-columns: 46px 1fr 46px;
    }

    .akv2-menu-open {
        display: block;
    }

    .akv2-brand {
        justify-self: center;
        grid-column: 2;
    }

    .akv2-menu-open {
        grid-column: 1;
        grid-row: 1;
    }

    .akv2-why__layout,
    .akv2-cta__panel {
        grid-template-columns: 1fr;
    }

    .akv2-solutions__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .akv2-cta__actions {
        min-width: 0;
        max-width: 370px;
    }
}

@media (max-width: 767px) {
    .akv2-container,
    .akv2-header__inner {
        width: min(100% - 28px, 1180px);
    }

    .akv2-header__inner {
        min-height: 72px;
    }

    .akv2-brand__mark {
        width: 39px;
        height: 39px;
    }

    .akv2-brand__name {
        font-size: 10px;
    }

    .akv2-heading {
        margin-bottom: 30px;
    }

    .akv2-heading h2,
    .akv2-cta h2 {
        font-size: clamp(32px, 10vw, 44px);
    }

    .akv2-why__manifesto {
        min-height: 560px;
        padding: 25px;
        border-radius: 24px;
    }

    .akv2-why__kicker {
        margin-top: 58px;
    }

    .akv2-why__method {
        left: 23px;
        right: 23px;
        bottom: 70px;
        grid-template-columns: 1fr;
    }

    .akv2-why__method span {
        display: grid;
        grid-template-columns: 45px 1fr;
        align-items: center;
        padding: 10px 12px;
    }

    .akv2-why__method strong {
        font-size: 19px;
    }

    .akv2-why__note {
        left: 24px;
        right: 24px;
        bottom: 30px;
    }

    .akv2-why__cards,
    .akv2-solutions__grid {
        grid-template-columns: 1fr;
    }

    .akv2-why__card {
        min-height: 260px;
    }

    .akv2-testimonials__track {
        display: flex;
        overflow-x: auto;
        gap: 14px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .akv2-testimonials__track::-webkit-scrollbar {
        display: none;
    }

    .akv2-testimonial {
        min-width: 100%;
        scroll-snap-align: start;
    }

    .akv2-cta__panel {
        gap: 28px;
        padding: 32px 23px;
        border-radius: 25px;
    }
}

/* AKV2 MOBILE MENU FIX START */

/* Flèches vectorielles CSS : plus aucun emoji bleu dans le header ou les boutons. */
.akv2-header__cta > span,
.akv2-mobile-menu__cta > span {
    position: relative !important;
    display: inline-block !important;
    flex: 0 0 15px !important;
    width: 15px !important;
    height: 15px !important;
    overflow: visible !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.akv2-header__cta > span::before,
.akv2-mobile-menu__cta > span::before {
    content: "" !important;
    position: absolute !important;
    top: 1px !important;
    right: 1px !important;
    display: block !important;
    width: 8px !important;
    height: 8px !important;
    border-top: 2px solid currentColor !important;
    border-right: 2px solid currentColor !important;
}

.akv2-header__cta > span::after,
.akv2-mobile-menu__cta > span::after {
    content: "" !important;
    position: absolute !important;
    left: 2px !important;
    bottom: 3px !important;
    display: block !important;
    width: 11px !important;
    height: 2px !important;
    border: 0 !important;
    border-radius: 99px !important;
    background: currentColor !important;
    transform: rotate(-45deg) !important;
    transform-origin: left center !important;
}

.akv2-header__cta > span {
    color: #17100b !important;
}

.akv2-mobile-menu__cta > span {
    color: #17100b !important;
}

@media (max-width: 1024px) {
    html,
    body {
        overflow-x: clip !important;
    }

    .ak-elementor-header-shell {
        position: relative !important;
        z-index: 10000 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: #090c11 !important;
    }

    .ak-elementor-header-shell > .elementor,
    .ak-elementor-header-shell .elementor-section,
    .ak-elementor-header-shell .elementor-container,
    .ak-elementor-header-shell .elementor-column,
    .ak-elementor-header-shell .elementor-widget-wrap,
    .ak-elementor-header-shell .elementor-widget,
    .ak-elementor-header-shell .elementor-widget-container,
    .ak-elementor-header-shell .e-con,
    .ak-elementor-header-shell .e-con-inner {
        width: 100% !important;
        max-width: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .akv2-header {
        position: relative !important;
        z-index: 2 !important;
        width: 100% !important;
        min-height: 72px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
        background: rgba(8,10,14,.98) !important;
        box-shadow: none !important;
        backdrop-filter: blur(18px) !important;
    }

    .akv2-header__inner {
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) 48px !important;
        align-items: center !important;
        width: min(100% - 28px, 1240px) !important;
        min-height: 72px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        gap: 0 !important;
    }

    .akv2-menu-open {
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: grid !important;
        width: 44px !important;
        height: 44px !important;
        place-content: center !important;
        margin: 0 !important;
        padding: 10px !important;
        border: 1px solid rgba(255,255,255,.09) !important;
        border-radius: 13px !important;
        color: #fff !important;
        background: rgba(255,255,255,.035) !important;
        appearance: none !important;
        box-shadow: none !important;
    }

    .akv2-menu-open span {
        display: block !important;
        width: 20px !important;
        height: 2px !important;
        margin: 2px 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 99px !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .akv2-header__inner > .akv2-brand {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: center !important;
        margin: 0 !important;
    }

    .akv2-nav,
    .akv2-header__cta {
        display: none !important;
    }

    body > .akv2-mobile-menu {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147483000 !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        width: 100vw !important;
        max-width: none !important;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        margin: 0 !important;
        padding:
            max(18px, env(safe-area-inset-top))
            18px
            max(18px, env(safe-area-inset-bottom)) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        color: #fff !important;
        background:
            radial-gradient(circle at 100% 0%, rgba(255,103,12,.13), transparent 23rem),
            linear-gradient(180deg, #101017 0%, #090d13 48%, #080b10 100%) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-10px) !important;
        transition:
            opacity .25s ease,
            visibility .25s ease,
            transform .25s ease !important;
        isolation: isolate !important;
    }

    body > .akv2-mobile-menu.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    body > .akv2-mobile-menu .akv2-brand::before,
    body > .akv2-mobile-menu .akv2-brand::after,
    body > .akv2-mobile-menu .akv2-brand span::before,
    body > .akv2-mobile-menu .akv2-brand span::after,
    body > .akv2-mobile-menu .akv2-mobile-nav ul::before,
    body > .akv2-mobile-menu .akv2-mobile-nav ul::after,
    body > .akv2-mobile-menu .akv2-mobile-nav li::before,
    body > .akv2-mobile-menu .akv2-mobile-nav li::after,
    body > .akv2-mobile-menu .akv2-mobile-nav a::before,
    body > .akv2-mobile-menu .akv2-mobile-nav a::after,
    body > .akv2-mobile-menu .akv2-mobile-nav a span::before,
    body > .akv2-mobile-menu .akv2-mobile-nav a span::after {
        content: none !important;
        display: none !important;
    }

    body > .akv2-mobile-menu .akv2-mobile-menu__top {
        display: flex !important;
        grid-row: 1 !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body > .akv2-mobile-menu .akv2-brand {
        display: inline-flex !important;
        width: auto !important;
        align-items: center !important;
        gap: 9px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: #fff !important;
        background: transparent !important;
        text-decoration: none !important;
        box-shadow: none !important;
    }

    body > .akv2-mobile-menu .akv2-brand__mark {
        display: grid !important;
        width: 40px !important;
        height: 40px !important;
        place-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(255,122,35,.34) !important;
        border-radius: 12px !important;
        color: #ff7925 !important;
        background: rgba(255,110,17,.09) !important;
        box-shadow: none !important;
        font-size: 14px !important;
        line-height: 1 !important;
        font-weight: 900 !important;
    }

    body > .akv2-mobile-menu .akv2-brand__name {
        display: inline-block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: #fff !important;
        background: transparent !important;
        font-size: 10px !important;
        line-height: 1 !important;
        font-weight: 850 !important;
        letter-spacing: .17em !important;
        box-shadow: none !important;
    }

    body > .akv2-mobile-menu .akv2-menu-close {
        position: relative !important;
        display: block !important;
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(255,255,255,.11) !important;
        border-radius: 13px !important;
        background: rgba(255,255,255,.045) !important;
        appearance: none !important;
        box-shadow: none !important;
    }

    body > .akv2-mobile-menu .akv2-menu-close span {
        position: absolute !important;
        top: 21px !important;
        left: 12px !important;
        display: block !important;
        width: 19px !important;
        height: 2px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    body > .akv2-mobile-menu .akv2-menu-close span:first-child {
        transform: rotate(45deg) !important;
    }

    body > .akv2-mobile-menu .akv2-menu-close span:last-child {
        transform: rotate(-45deg) !important;
    }

    body > .akv2-mobile-menu .akv2-mobile-nav {
        display: block !important;
        grid-row: 2 !important;
        align-self: start !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: clamp(30px, 6vh, 50px) 0 16px !important;
        border: 0 !important;
        background: transparent !important;
    }

    body > .akv2-mobile-menu .akv2-mobile-nav ul {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        list-style: none !important;
        background: transparent !important;
    }

    body > .akv2-mobile-menu .akv2-mobile-nav li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.085) !important;
        background: transparent !important;
        list-style: none !important;
    }

    body > .akv2-mobile-menu .akv2-mobile-nav a {
        display: flex !important;
        width: 100% !important;
        min-height: 54px !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 18px !important;
        margin: 0 !important;
        padding: 4px 2px !important;
        border: 0 !important;
        color: #fff !important;
        background: transparent !important;
        text-decoration: none !important;
        box-shadow: none !important;
        font-size: clamp(23px, 6.7vw, 29px) !important;
        font-weight: 760 !important;
        line-height: 1.05 !important;
        letter-spacing: -.035em !important;
        white-space: nowrap !important;
    }

    body > .akv2-mobile-menu .akv2-mobile-nav a > span {
        display: inline-block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: inherit !important;
        background: transparent !important;
        line-height: inherit !important;
        box-shadow: none !important;
    }

    /* Flèche orange dessinée en CSS, sans caractère emoji. */
    body > .akv2-mobile-menu .akv2-mobile-nav i {
        position: relative !important;
        display: inline-block !important;
        flex: 0 0 18px !important;
        width: 18px !important;
        height: 18px !important;
        margin: 0 3px 0 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: transparent !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 0 !important;
        font-style: normal !important;
        line-height: 0 !important;
    }

    body > .akv2-mobile-menu .akv2-mobile-nav i::before {
        content: "" !important;
        position: absolute !important;
        top: 1px !important;
        right: 1px !important;
        display: block !important;
        width: 9px !important;
        height: 9px !important;
        border-top: 2px solid #ff7a24 !important;
        border-right: 2px solid #ff7a24 !important;
        background: transparent !important;
    }

    body > .akv2-mobile-menu .akv2-mobile-nav i::after {
        content: "" !important;
        position: absolute !important;
        left: 2px !important;
        bottom: 4px !important;
        display: block !important;
        width: 12px !important;
        height: 2px !important;
        border: 0 !important;
        border-radius: 99px !important;
        background: #ff7a24 !important;
        transform: rotate(-45deg) !important;
        transform-origin: left center !important;
    }

    body > .akv2-mobile-menu .akv2-mobile-menu__footer {
        display: block !important;
        grid-row: 3 !important;
        align-self: end !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    body > .akv2-mobile-menu .akv2-mobile-menu__cta {
        display: flex !important;
        width: 100% !important;
        min-height: 52px !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 0 18px !important;
        border: 0 !important;
        border-radius: 15px !important;
        color: #18100a !important;
        background: linear-gradient(135deg, #ff8b33, #ff5f00) !important;
        box-shadow: 0 14px 34px rgba(255,91,0,.23) !important;
        text-decoration: none !important;
        font-size: 12px !important;
        font-weight: 850 !important;
        line-height: 1 !important;
    }

    body > .akv2-mobile-menu .akv2-mobile-menu__footer p {
        margin: 11px 0 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: rgba(255,255,255,.43) !important;
        background: transparent !important;
        font-size: 9px !important;
        line-height: 1.4 !important;
        text-align: center !important;
        box-shadow: none !important;
    }

    body.akv2-menu-open {
        overflow: hidden !important;
        touch-action: none !important;
    }
}

@media (max-width: 390px) {
    body > .akv2-mobile-menu .akv2-mobile-nav {
        padding-top: 24px !important;
    }

    body > .akv2-mobile-menu .akv2-mobile-nav a {
        min-height: 50px !important;
        font-size: 22px !important;
    }
}

/* AKV2 MOBILE MENU FIX END */

/* AKV2 CTA ICON FIX START */

/*
 * Boutons orange : on neutralise les couleurs de liens imposées
 * par Elementor/WordPress au survol et après visite.
 */
.akv2-header__cta,
.akv2-header__cta:link,
.akv2-header__cta:visited,
.akv2-header__cta:hover,
.akv2-header__cta:focus,
.akv2-header__cta:active,
.akv2-mobile-menu__cta,
.akv2-mobile-menu__cta:link,
.akv2-mobile-menu__cta:visited,
.akv2-mobile-menu__cta:hover,
.akv2-mobile-menu__cta:focus,
.akv2-mobile-menu__cta:active,
.akv2-button--primary,
.akv2-button--primary:link,
.akv2-button--primary:visited,
.akv2-button--primary:hover,
.akv2-button--primary:focus,
.akv2-button--primary:active {
    color: #17100b !important;
    text-decoration: none !important;
    background: linear-gradient(135deg, #ff8a31, #ff5d00) !important;
    border-color: transparent !important;
}

/* Le survol reste orange, sans bleu. */
.akv2-header__cta:hover,
.akv2-header__cta:focus,
.akv2-mobile-menu__cta:hover,
.akv2-mobile-menu__cta:focus,
.akv2-button--primary:hover,
.akv2-button--primary:focus {
    color: #17100b !important;
    background: linear-gradient(135deg, #ff9844, #ff6507) !important;
    box-shadow:
        0 16px 36px rgba(255, 91, 0, .28),
        inset 0 1px 0 rgba(255, 255, 255, .22) !important;
}

/* Focus clavier propre. */
.akv2-header__cta:focus-visible,
.akv2-mobile-menu__cta:focus-visible,
.akv2-button--primary:focus-visible {
    outline: 2px solid #ffb176 !important;
    outline-offset: 3px !important;
}

/*
 * On désactive l'ancienne flèche construite avec des pseudo-éléments.
 * Le SVG devient l'unique icône.
 */
.akv2-header__cta > span::before,
.akv2-header__cta > span::after,
.akv2-mobile-menu__cta > span::before,
.akv2-mobile-menu__cta > span::after {
    content: none !important;
    display: none !important;
}

.akv2-header__cta > span,
.akv2-mobile-menu__cta > span {
    display: none !important;
}

/* Icône vectorielle propre et nette à toutes les tailles. */
.akv2-icon-arrow-up-right {
    display: block !important;
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    overflow: visible !important;
    color: currentColor !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    transform: translate3d(0, 0, 0) !important;
    transition: transform .24s ease !important;
}

.akv2-header__cta:hover .akv2-icon-arrow-up-right,
.akv2-header__cta:focus .akv2-icon-arrow-up-right,
.akv2-mobile-menu__cta:hover .akv2-icon-arrow-up-right,
.akv2-mobile-menu__cta:focus .akv2-icon-arrow-up-right,
.akv2-button--primary:hover .akv2-icon-arrow-up-right,
.akv2-button--primary:focus .akv2-icon-arrow-up-right {
    transform: translate3d(2px, -2px, 0) !important;
}

/* Taille légèrement plus grande dans le grand bouton mobile. */
body > .akv2-mobile-menu .akv2-mobile-menu__cta .akv2-icon-arrow-up-right {
    width: 17px !important;
    height: 17px !important;
}

/* AKV2 CTA ICON FIX END */



/* AKV2 SOLUTIONS PREMIUM START */

/* Section plus riche, toujours cohérente avec la palette noire et orange. */
.home .akv2-solutions {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 8% 12%, rgba(255, 106, 10, .09), transparent 28rem),
        radial-gradient(circle at 92% 84%, rgba(255, 126, 40, .055), transparent 26rem),
        linear-gradient(180deg, #0d1118 0%, #090d13 100%) !important;
}

.home .akv2-solutions::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    pointer-events: none !important;
    opacity: .45 !important;
    background-image:
        linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px) !important;
    background-size: 72px 72px !important;
    mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent) !important;
}

.home .akv2-solutions__grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

/* Carte premium, sans numéro. */
.home .akv2-solution {
    position: relative !important;
    isolation: isolate !important;
    display: flex !important;
    min-height: 430px !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 28px !important;
    border: 1px solid rgba(255, 255, 255, .09) !important;
    border-radius: 25px !important;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .018)),
        linear-gradient(180deg, #171b23, #10141b) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .06),
        0 26px 60px rgba(0, 0, 0, .20) !important;
    transition:
        transform .34s cubic-bezier(.2, .75, .2, 1),
        border-color .34s ease,
        box-shadow .34s ease !important;
}

.home .akv2-solution::before {
    content: "" !important;
    position: absolute !important;
    top: -95px !important;
    right: -90px !important;
    z-index: -1 !important;
    width: 220px !important;
    height: 220px !important;
    border-radius: 50% !important;
    background: rgba(255, 106, 10, .105) !important;
    box-shadow:
        0 0 0 38px rgba(255, 106, 10, .025),
        0 0 0 76px rgba(255, 106, 10, .012) !important;
    transition: transform .34s ease, opacity .34s ease !important;
}

.home .akv2-solution::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 28px !important;
    width: 82px !important;
    height: 3px !important;
    border-radius: 0 0 10px 10px !important;
    background: linear-gradient(90deg, #ff7e2b, rgba(255, 106, 10, 0)) !important;
    box-shadow: 0 6px 20px rgba(255, 106, 10, .20) !important;
}

.home .akv2-solution:hover {
    transform: translateY(-8px) !important;
    border-color: rgba(255, 121, 35, .28) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .075),
        0 34px 80px rgba(0, 0, 0, .30),
        0 0 34px rgba(255, 106, 10, .055) !important;
}

.home .akv2-solution:hover::before {
    transform: scale(1.12) !important;
    opacity: 1 !important;
}

.home .akv2-solution__top {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    min-height: 54px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
}

.home .akv2-solution__icon {
    display: grid !important;
    width: 52px !important;
    height: 52px !important;
    flex: 0 0 52px !important;
    place-items: center !important;
    border: 1px solid rgba(255, 126, 42, .24) !important;
    border-radius: 16px !important;
    color: #ff7b26 !important;
    background:
        linear-gradient(145deg, rgba(255, 124, 39, .15), rgba(255, 106, 10, .045)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .08),
        0 12px 26px rgba(255, 91, 0, .09) !important;
}

.home .akv2-solution__icon svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.home .akv2-solution__tag {
    display: inline-flex !important;
    min-height: 28px !important;
    align-items: center !important;
    padding: 0 11px !important;
    border: 1px solid rgba(255, 255, 255, .075) !important;
    border-radius: 999px !important;
    color: rgba(255, 255, 255, .52) !important;
    background: rgba(255, 255, 255, .035) !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .10em !important;
    text-transform: uppercase !important;
}

.home .akv2-solution__body {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    padding-top: 38px !important;
}

.home .akv2-solution h3 {
    margin: 0 0 13px !important;
    color: #fff !important;
    font-size: 24px !important;
    line-height: 1.10 !important;
    letter-spacing: -.032em !important;
}

.home .akv2-solution__body > p {
    margin: 0 !important;
    color: rgba(255, 255, 255, .60) !important;
    font-size: 13.5px !important;
    line-height: 1.65 !important;
}

.home .akv2-solution__benefits {
    display: grid !important;
    gap: 9px !important;
    margin: 24px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.home .akv2-solution__benefits li {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .74) !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
}

.home .akv2-solution__benefits svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    padding: 3px !important;
    border: 1px solid rgba(255, 120, 31, .22) !important;
    border-radius: 50% !important;
    fill: none !important;
    stroke: #ff7a24 !important;
    stroke-width: 2.2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    background: rgba(255, 106, 10, .07) !important;
}

.home .akv2-solution__link {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 3 !important;
    display: flex !important;
    width: 100% !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-top: 28px !important;
    padding: 0 7px 0 15px !important;
    border: 1px solid rgba(255, 255, 255, .085) !important;
    border-radius: 14px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .035) !important;
    text-decoration: none !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    transition:
        border-color .25s ease,
        background .25s ease,
        color .25s ease !important;
}

.home .akv2-solution__link i {
    display: grid !important;
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
    place-items: center !important;
    border-radius: 10px !important;
    color: #17100b !important;
    background: linear-gradient(135deg, #ff8b34, #ff6206) !important;
    box-shadow: 0 9px 22px rgba(255, 91, 0, .18) !important;
    transition: transform .25s ease !important;
}

.home .akv2-solution__link i svg {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.home .akv2-solution__link:hover,
.home .akv2-solution__link:focus {
    border-color: rgba(255, 123, 38, .26) !important;
    color: #fff !important;
    background: rgba(255, 106, 10, .07) !important;
}

.home .akv2-solution__link:hover i,
.home .akv2-solution__link:focus i {
    transform: translateX(3px) !important;
}

@media (max-width: 1100px) {
    .home .akv2-solutions__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .home .akv2-solutions__grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .home .akv2-solution {
        min-height: 0 !important;
        padding: 24px !important;
        border-radius: 22px !important;
    }

    .home .akv2-solution__body {
        padding-top: 30px !important;
    }

    .home .akv2-solution h3 {
        font-size: 23px !important;
    }
}

/* AKV2 SOLUTIONS PREMIUM END */


/* AK FOOTER CTA GLOW FIX START */
.home .akv2-footer-cta,
.home .akv2-site-footer-cta,
.home .akv2-final-cta,
.home .akv2-footer-cta-block {
    background:
        radial-gradient(circle at 78% 58%, rgba(255, 106, 10, 0.16), transparent 34%),
        radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.03), transparent 26%),
        linear-gradient(135deg, #0e131b 0%, #0a0f16 52%, #15100f 100%) !important;
    border: 1px solid rgba(255, 126, 42, 0.18) !important;
    box-shadow:
        0 18px 50px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255,255,255,0.04) !important;
}

.home .akv2-footer-cta::before,
.home .akv2-site-footer-cta::before,
.home .akv2-final-cta::before,
.home .akv2-footer-cta-block::before {
    opacity: 0.10 !important;
    filter: blur(60px) !important;
    transform: scale(0.72) !important;
}

.home .akv2-footer-cta::after,
.home .akv2-site-footer-cta::after,
.home .akv2-final-cta::after,
.home .akv2-footer-cta-block::after {
    opacity: 0.14 !important;
    filter: blur(70px) !important;
    transform: scale(0.82) !important;
}

/* Si le glow bas-gauche vient d’un overlay interne, on le calme aussi */
.home .akv2-footer-cta .akv2-glow-left,
.home .akv2-site-footer-cta .akv2-glow-left,
.home .akv2-final-cta .akv2-glow-left,
.home .akv2-footer-cta-block .akv2-glow-left {
    opacity: 0.08 !important;
    filter: blur(50px) !important;
}
/* AK FOOTER CTA GLOW FIX END */

/* AKV2 WHY MOBILE FINAL V3 START */

@media (max-width: 900px) {

    /*
     * Ces sélecteurs fonctionnent sur le site public
     * et dans l'aperçu responsive Elementor.
     */

    html body.home .akv2-why,
    html body .elementor-widget-akv2_why .akv2-why {
        padding: 58px 0 66px !important;
    }

    html body.home .akv2-why__heading,
    html body .elementor-widget-akv2_why .akv2-why__heading {
        margin-bottom: 26px !important;
    }

    html body.home .akv2-why__heading h2,
    html body .elementor-widget-akv2_why .akv2-why__heading h2 {
        max-width: 100% !important;
        font-size: clamp(34px, 9vw, 44px) !important;
        line-height: 1.03 !important;
        letter-spacing: -.045em !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        text-wrap: balance !important;
    }

    html body.home .akv2-why__heading > p:last-child,
    html body .elementor-widget-akv2_why .akv2-why__heading > p:last-child {
        margin-top: 15px !important;
        font-size: 13px !important;
        line-height: 1.6 !important;
    }

    html body.home .akv2-why__layout,
    html body .elementor-widget-akv2_why .akv2-why__layout {
        display: block !important;
        width: 100% !important;
    }

    /* Grand bloc sombre plus compact */

    html body.home .akv2-why__manifesto,
    html body .elementor-widget-akv2_why .akv2-why__manifesto {
        display: flex !important;
        min-height: 0 !important;
        height: auto !important;

        padding: 21px !important;
        border-radius: 23px !important;
    }

    html body.home .akv2-why__brand-orbit,
    html body .elementor-widget-akv2_why .akv2-why__brand-orbit {
        width: 54px !important;
        height: 54px !important;
        flex: 0 0 54px !important;
    }

    html body.home .akv2-why__brand-orbit span,
    html body .elementor-widget-akv2_why .akv2-why__brand-orbit span {
        font-size: 14px !important;
    }

    html body.home .akv2-why__manifesto-copy,
    html body .elementor-widget-akv2_why .akv2-why__manifesto-copy {
        margin-top: 27px !important;
    }

    html body.home .akv2-why__kicker,
    html body .elementor-widget-akv2_why .akv2-why__kicker {
        margin: 0 0 11px !important;
        font-size: 9px !important;
        line-height: 1.3 !important;
        letter-spacing: .14em !important;
    }

    html body.home .akv2-why__manifesto h3,
    html body .elementor-widget-akv2_why .akv2-why__manifesto h3 {
        max-width: 100% !important;
        margin: 0 !important;

        font-size: clamp(29px, 8vw, 38px) !important;
        line-height: 1.07 !important;
        letter-spacing: -.042em !important;

        word-break: normal !important;
        overflow-wrap: normal !important;
        white-space: normal !important;
        text-wrap: balance !important;
    }

    html body.home .akv2-why__manifesto-copy > p:last-child,
    html body .elementor-widget-akv2_why .akv2-why__manifesto-copy > p:last-child {
        max-width: 100% !important;
        margin: 16px 0 0 !important;

        font-size: 12.5px !important;
        line-height: 1.58 !important;
    }

    /*
     * Neutralise définitivement les anciennes positions
     * absolues et les valeurs left/right/bottom.
     */

    html body.home .akv2-why__method,
    html body .elementor-widget-akv2_why .akv2-why__method {
        position: static !important;
        inset: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        top: auto !important;

        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100% !important;
        margin: 25px 0 0 !important;
        padding: 0 13px !important;

        border-radius: 15px !important;
    }

    html body.home .akv2-why__method-item,
    html body .elementor-widget-akv2_why .akv2-why__method-item {
        display: grid !important;
        grid-template-columns: 29px minmax(0, 1fr) !important;
        align-items: center !important;

        gap: 10px !important;
        padding: 12px 0 !important;
    }

    html body.home .akv2-why__method-item:not(:last-child),
    html body .elementor-widget-akv2_why .akv2-why__method-item:not(:last-child) {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.075) !important;
    }

    html body.home .akv2-why__method-item > span,
    html body .elementor-widget-akv2_why .akv2-why__method-item > span {
        display: grid !important;
        width: 28px !important;
        height: 28px !important;
        padding: 0 !important;
    }

    html body.home .akv2-why__method-item svg,
    html body .elementor-widget-akv2_why .akv2-why__method-item svg {
        width: 21px !important;
        height: 21px !important;
    }

    html body.home .akv2-why__method-item strong,
    html body .elementor-widget-akv2_why .akv2-why__method-item strong {
        font-size: 10px !important;
        line-height: 1.25 !important;
    }

    html body.home .akv2-why__method-item small,
    html body .elementor-widget-akv2_why .akv2-why__method-item small {
        margin-top: 3px !important;
        font-size: 8.5px !important;
        line-height: 1.38 !important;
    }

    html body.home .akv2-why__note,
    html body .elementor-widget-akv2_why .akv2-why__note {
        position: static !important;
        inset: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        top: auto !important;

        display: block !important;
        margin: 11px 0 0 !important;

        font-size: 8px !important;
        line-height: 1.4 !important;
    }

    /* Carrousel des quatre cartes */

    html body.home .akv2-why__right,
    html body .elementor-widget-akv2_why .akv2-why__right {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-top: 17px !important;
        overflow: hidden !important;
    }

    html body.home .akv2-why__cards,
    html body .elementor-widget-akv2_why .akv2-why__cards {
        display: flex !important;
        grid-template-columns: none !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 14px !important;
        margin: 0 !important;
        padding: 2px 0 18px !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        scroll-snap-type: x mandatory !important;
        scroll-padding-inline: 0 !important;
        scroll-behavior: smooth !important;
        scroll-snap-stop: always !important;

        overscroll-behavior-x: contain !important;
        touch-action: pan-x !important;

        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
    }

    html body.home .akv2-why__cards::-webkit-scrollbar,
    html body .elementor-widget-akv2_why .akv2-why__cards::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    html body.home .akv2-why__card,
    html body.home .akv2-why__card:nth-child(2),
    html body.home .akv2-why__card:nth-child(3),
    html body.home .akv2-why__card:nth-child(4),
    html body .elementor-widget-akv2_why .akv2-why__card,
    html body .elementor-widget-akv2_why .akv2-why__card:nth-child(2),
    html body .elementor-widget-akv2_why .akv2-why__card:nth-child(3),
    html body .elementor-widget-akv2_why .akv2-why__card:nth-child(4) {
        box-sizing: border-box !important;

        flex: 0 0 100% !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        min-height: 290px !important;

        margin: 0 !important;
        padding: 22px 21px 19px !important;

        border-radius: 21px !important;

        scroll-snap-align: start !important;
        scroll-snap-stop: always !important;

        transform: none !important;
    }

    html body.home .akv2-why__card-icon,
    html body .elementor-widget-akv2_why .akv2-why__card-icon {
        width: 40px !important;
        height: 40px !important;
    }

    html body.home .akv2-why__card h3,
    html body .elementor-widget-akv2_why .akv2-why__card h3 {
        margin: 22px 0 9px !important;

        font-size: 21px !important;
        line-height: 1.14 !important;
    }

    html body.home .akv2-why__card > p,
    html body .elementor-widget-akv2_why .akv2-why__card > p {
        font-size: 12.5px !important;
        line-height: 1.58 !important;
    }

    html body.home .akv2-metric,
    html body .elementor-widget-akv2_why .akv2-metric {
        margin-top: auto !important;
        padding-top: 15px !important;
    }

    html body.home .akv2-why__proofs,
    html body .elementor-widget-akv2_why .akv2-why__proofs {
        grid-template-columns: 1fr !important;
        margin-top: 0 !important;
        padding: 4px 15px !important;
    }

    html body.home .akv2-why__proofs span,
    html body .elementor-widget-akv2_why .akv2-why__proofs span {
        justify-content: flex-start !important;
        padding: 10px 0 !important;
        text-align: left !important;
    }

    html body.home .akv2-why__proofs span:not(:last-child),
    html body .elementor-widget-akv2_why .akv2-why__proofs span:not(:last-child) {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(39,30,22,.08) !important;
    }
}

/* AKV2 WHY MOBILE FINAL V3 END */
