.img-software-hero .img-software-hero__ismp .porte-incomplete {
    position: absolute;
    height: 700px;
    width: 90%;
    left: 90%;
    z-index: 1;
    opacity: 0.8;
}

#ismp.hero {
    height: 855px;
}

.section.software-dev-section.ismp-section .section__subtitle {
    max-width: 720px;
    font-size: 16px;
    font-weight: 400;
    line-height: 29.6px;
    letter-spacing: 0%;
}

.section.software-dev-section.ismp-section .cta.cta-souligne {
    border-bottom: 2px solid var(--gold);
}

#ismp-titre-avant-footer .section__subtitle {
    font-size: 16px;
    font-weight: 400;
    line-height: 29.6px;
}

.expertise-cards-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-block: 3rem 0;
    max-width: 1200px;
    margin-inline: auto;
    gap: 20px;
}

.expertise-cards-column .card-expertise {
    max-width: 478px;
    height: 219.05px;
    text-align: start;
    border-radius: 18px;
    padding: 33.6px 30.4px;
}

.grid-cards-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    justify-content: center;
}

.grid-cards-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    justify-content: center;
    max-width: 50rem;
}

.section.software-dev-section.ismp-section .cta.cta-souligne::after {
    background-color: transparent;
}

.hero__content.hero__software.ismp_hero {
    padding-block: 43px 70px;
    margin-top: 1rem;
}

.hero__content.hero__software.ismp_hero h1 {
    max-width: 617.4px;
    margin-bottom: 10px;
    font-size: 72px;
    font-weight: 600;
}

.hero__content.hero__software.ismp_hero .subtitle {
    max-width: 500px;
    padding-right: 0;
    letter-spacing: 0.3px;
    line-height: 29.68px;
    font-size: 17px;
    font-weight: 300;
}

.img-software-hero__ismp.img-software-hero .software-hero-image {
    height: 42rem;
    width: 37.6rem;
    left: 3rem;
    bottom: -2.3rem;
}

.img-software-hero__ismp.img-software-hero .porte-entre-tiret {
    height: 31rem;
    width: 25.8rem;
    left: 10.7rem;
    top: 6.5rem;
}

.img-software-hero.img-software-hero__ismp .badge-message {
    top: 8.4rem;
    right: -2rem;
    padding: 11.5px 15px;
    gap: 10px;
    line-height: 1.2rem;
    border-radius: 14px;
}

.img-software-hero.img-software-hero__ismp .badge-message img {
    height: 18px;
    width: 18px;
}

.img-software-hero.img-software-hero__ismp .badge-message p {
    border-radius: 7px;
}

.img-software-hero.img-software-hero__ismp .badge-message .description-message__texte {
    font-size: 11px;
}

.img-software-hero.img-software-hero__ismp .badge-message .description-message__titre {
    font-size: 13px;
    font-weight: bold;
}

.img-software-hero.img-software-hero__ismp .porte-incomplete {
    height: 680px;
    width: 79%;
    left: 82%;
    z-index: 1;
    opacity: 0.8;
    bottom: -4.4rem;
}

.img-software-hero.img-software-hero__ismp .grande-porte {
    height: 53rem;
    width: 50rem;
    left: 81%;
    bottom: -9rem;
    opacity: 0.3;
}

.section.section-expertise.section-ismp {
    height: 957.15px;
}

.cta.cta-noir {
    background-color: #1C1A15;
    color: #fff;
}

#ismp-titre-avant-footer {
    max-width: 670px;
    font-size: 56.5px;
    line-height: 62.21px;
    letter-spacing: -1.15px;
    font-weight: 600;
    padding-top: 100px;
}

.section.section-ismp .expertise-en-tete h1 {
    margin-top: 0;
    font-size: 47.1px;
    max-width: 860px;
    margin-inline: auto;
}

.section.section-ismp .expertise-en-tete .section__subtitle-expertise {
    max-width: 820px;
    margin-inline: auto;
    font-size: 15.5px;
    line-height: 27.94px;
    font-weight: 400;
    letter-spacing: 0%;
}

.section-2.section-ismp.section-blanche {
    height: 890px;
}

.section-ismp.section-blanche .expertise-en-tete h1 {
    font-size: 47.4px;
}

.hero__software .subtitle.ismp-hero {
    margin-top: 0;
}

.img-software-hero.img-software-hero__ismp .icon-bas-gauche {
    position: absolute;
    background-color: #062E12;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    padding: 8px;
    z-index: 5;
    transform: scale(2.1);
    left: 6.5rem;
    bottom: 9.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.section .card-expertise img {
    transform: translateY(7px);
}

.img-software-hero .icon-bas-gauche img {
    width: 35px;
    height: 35px;
}

.section.section-expertise.section-blanche {
    background-color: #FAF6EE;
}

.imsp-cards-3 .card-expertise {
    width: 377.33px;
    height: 219.06px;
    border-radius: 18px;
    padding: 33.6px 30.4px;
}

#profils {
    height: 724.05px;
}

#profils .card-expertise {
    width: 304.39px;
    height: 228.13px;
}

#profils h1 {
    font-size: 47.4px;
    max-width: 840px;
}

.expertise-cards.imsp-cards-4 > div {
    margin-block: 20px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    justify-content: center;
    max-width: 700px;
    margin-inline: auto;
    font-family: "Fraunces";
}

.expertise-cards.imsp-cards-4 .card-expertise__title {
    font-size: 17px;
    font-weight: 600;
}

.expertise-cards.imsp-cards-2 > div {
    margin-block: 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    justify-content: center;
    width: 50%;
    margin-inline: auto;
    font-family: "Fraunces";
}

.expertise-cards.imsp-cards-2 .card-expertise {
    width: 100%;
    height: 225px;
}

.expertise-cards.imsp-cards-4 .card-expertise {
    width: 304.39px;
    height: 204.27px;
    padding: 27.2px 24px;
}

.expertise-cards.imsp-cards-4 .card-expertise img {
    margin-block: 10px;
}

.section-noir {
    background-color: #1C1A15;
    height: 400px;
}

#badge-ismp span {
    letter-spacing: 1.65px;
    font-size: 12.7px;
    font-weight: 550;
    transform: translate(-5px);
}

.section.software-dev-section.ismp-section .cercle {
    top: 70%;
    width: 52%;
    height: 170%;
}

.section.software-dev-section.ismp-section .grand-cercle {
    width: 67%;
    height: 200%;
    top: 60%;
}

.section.software-dev-section.ismp-section {
    height: 550.68px;
    padding-top: 25px;
}

@media (max-width: 1280px) {
    html, body {
        overflow-x: hidden;
        overflow-x: clip;
    }

    #ismp.hero {
        position: relative;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: clamp(24px, 4vw, 56px);
        height: auto;
        min-height: 0;
        padding: 110px clamp(24px, 5vw, 64px) 72px;
        overflow: hidden;
    }

    #ismp .hero__content.hero__software.ismp_hero {
        flex: 1 1 0;
        min-width: 0;
        width: auto;
        max-width: 560px;
        margin: 0;
        padding: 0;
    }

    #ismp .hero__content.hero__software.ismp_hero h1 {
        max-width: none;
        font-size: clamp(34px, 4.6vw, 56px);
        line-height: 1.08;
    }

    #ismp .hero__content.hero__software.ismp_hero .subtitle {
        max-width: 480px;
        font-size: 16px;
        line-height: 1.7;
    }

    #ismp .Btn {
        flex-wrap: wrap;
        gap: 16px;
    }

    #ismp .img-software-hero.img-software-hero__ismp {
        position: relative;
        flex: 0 0 clamp(300px, 40vw, 460px);
        width: clamp(300px, 40vw, 460px);
        height: auto;
        margin: 0;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        align-self: center;
    }

    #ismp .img-software-hero__ismp .software-hero-image:not(.porte-entre-tiret) {
        position: relative;
        display: block;
        z-index: 2;
        width: 80%;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
        left: auto;
        bottom: auto;
    }

    #ismp .img-software-hero__ismp .porte-entre-tiret {
        position: absolute;
        z-index: 1;
        width: 78%;
        height: auto;
        left: 20%;
        top: 8%;
        bottom: auto;
    }

    #ismp .img-software-hero.img-software-hero__ismp .badge-message {
        position: absolute;
        top: 6%;
        right: -3%;
        bottom: auto;
        left: auto;
        z-index: 4;
    }

    #ismp .img-software-hero.img-software-hero__ismp .icon-bas-gauche {
        position: absolute;
        z-index: 5;
        width: clamp(64px, 8vw, 84px);
        height: clamp(64px, 8vw, 84px);
        padding: 10px;
        transform: none;
        left: -3%;
        bottom: 4%;
    }

    #ismp .img-software-hero.img-software-hero__ismp .icon-bas-gauche img {
        width: 62%;
        height: 62%;
    }

    .section.section-expertise.section-ismp,
    .section-2.section-ismp.section-blanche,
    #profils,
    .section.software-dev-section.ismp-section {
        height: auto;
        min-height: 0;
        box-sizing: border-box;
        padding: 80px clamp(24px, 5vw, 64px);
    }

    .section.section-ismp .expertise-en-tete h1,
    .section-ismp.section-blanche .expertise-en-tete h1,
    #profils h1 {
        max-width: 100%;
        font-size: clamp(30px, 4vw, 47.4px);
        line-height: 1.12;
    }

    .section.section-ismp .expertise-en-tete .section__subtitle-expertise {
        max-width: 820px;
        font-size: 15px;
        line-height: 1.75;
    }

    .expertise-cards.imsp-cards-3 > div {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
        width: 100%;
        max-width: 1180px;
        margin-inline: auto;
    }

    .expertise-cards.imsp-cards-4 > div {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        width: 100%;
        max-width: 1180px;
    }

    .imsp-cards-3 .card-expertise,
    .expertise-cards.imsp-cards-4 .card-expertise,
    #profils .card-expertise,
    .expertise-cards-column .card-expertise {
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        height: auto;
        min-height: 204px;
    }

    .expertise-cards-column {
        align-items: stretch;
        width: 100%;
        margin-block: 2.5rem 0;
    }

    .grid-cards-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        max-width: 1180px;
        margin-inline: auto;
    }

    .grid-cards-2 {
        width: 100%;
        max-width: min(50rem, 100%);
        margin-inline: auto;
    }

    .section.software-dev-section.ismp-section {
        overflow: hidden;
    }

    #ismp-titre-avant-footer {
        max-width: 670px;
        font-size: clamp(30px, 5vw, 56.5px);
        line-height: 1.1;
        padding-top: 0;
    }

    .section.software-dev-section.ismp-section .section__subtitle {
        max-width: 720px;
        font-size: 15px;
        line-height: 1.7;
    }
}

@media (max-width: 1024px) {
    /* Hero tablette : deux colonnes comme la page intÃƒÂ©gration */
    #ismp.hero {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        text-align: left;
        gap: 40px;
        padding: 72px 32px;
        height: auto;
    }

    #ismp .hero__content.hero__software.ismp_hero {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        flex: 1 1 0;
        min-width: 0;
        width: auto;
        max-width: none;
        text-align: left;
        margin: 0;
        padding: 0;
    }

    #ismp #badge-ismp {
        align-self: flex-start;
        width: auto;
        max-width: 100%;
        margin: 0;
    }

    #ismp #badge-ismp span {
        text-align: left;
    }

    #ismp .hero__content.hero__software.ismp_hero h1 {
        width: 100%;
        max-width: none;
        font-size: clamp(38px, 5.4vw, 52px);
        line-height: 1.08;
        text-align: left;
        overflow-wrap: break-word;
        margin: 0;
    }

    #ismp .hero__content.hero__software.ismp_hero .subtitle {
        width: 100%;
        max-width: 440px;
        text-align: left;
        font-size: 16px;
        line-height: 1.7;
        margin: 0;
    }

    #ismp .img-software-hero.img-software-hero__ismp {
        flex: 0 1 340px;
        position: relative;
        width: 100%;
        max-width: 340px;
        height: clamp(320px, 45vw, 480px);
        min-height: 0;
        margin: 0;
        display: block;
    }

    #ismp .img-software-hero__ismp .software-hero-image:not(.porte-entre-tiret) {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -43%);
        width: 99%;
        height: 100%;
        z-index: 1;
        display: block;
        object-fit: contain;
        margin: 0;
    }

    #ismp .img-software-hero__ismp .porte-entre-tiret {
        display: block;
        position: absolute;
        top: 6%;
        left: 50%;
        transform: translateX(-50%);
        width: 80%;
        height: 88%;
        z-index: 0;
        object-fit: contain;
        pointer-events: none;
    }

    #ismp .img-software-hero.img-software-hero__ismp .badge-message {
        position: absolute;
        top: 6%;
        right: 0;
        left: auto;
        bottom: auto;
        z-index: 4;
    }

    #ismp .img-software-hero.img-software-hero__ismp .icon-bas-gauche {
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        left: 0;
        bottom: 6%;
        top: auto;
        width: 84px;
        height: 84px;
        padding: 8px;
        background-color: #062E12;
        border-radius: 50%;
        transform: none;
        z-index: 5;
    }

    #ismp .img-software-hero.img-software-hero__ismp .icon-bas-gauche img {
        width: 80%;
        height: 80%;
    }

    #ismp .Btn {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        gap: 16px;
        width: 100%;
        margin: 0;
        padding-top: 8px;
    }

    #ismp .img-software-hero__ismp .porte-incomplete {
        display: none;
    }

    .section.section-expertise.section-ismp,
    .section-2.section-ismp.section-blanche,
    #profils,
    .section.software-dev-section.ismp-section {
        padding: 64px 24px;
    }

    .expertise-cards.imsp-cards-3 > div,
    .expertise-cards.imsp-cards-4 > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    /* Hero mobile : empilÃƒÂ© et centrÃƒÂ© (les colonnes restent tablette) */
    #ismp.hero {
        flex-direction: column;
        text-align: center;
        gap: 24px;
        padding: 88px 20px 48px;
    }

    #ismp .hero__content.hero__software.ismp_hero {
        align-items: center;
        text-align: center;
    }

    #ismp #badge-ismp {
        align-self: center;
    }

    #ismp #badge-ismp span {
        text-align: center;
    }

    #ismp .hero__content.hero__software.ismp_hero h1 {
        font-size: clamp(28px, 8vw, 38px);
        text-align: center;
    }

    #ismp .hero__content.hero__software.ismp_hero .subtitle {
        font-size: 14.5px;
        line-height: 1.6;
        max-width: 560px;
        text-align: center;
        margin-inline: auto;
    }

    #ismp .Btn {
        justify-content: center;
    }

    #ismp .img-software-hero.img-software-hero__ismp {
        max-width: 380px;
        height: 400px;
        margin-inline: auto;
    }

    #ismp .img-software-hero.img-software-hero__ismp .icon-bas-gauche {
        width: 68px;
        height: 68px;
    }

    .grid-cards-3 {
        grid-template-columns: 1fr;
    }

    .section.section-expertise.section-ismp,
    .section-2.section-ismp.section-blanche,
    #profils,
    .section.software-dev-section.ismp-section {
        padding: 56px 20px;
    }

    .section.section-ismp .expertise-en-tete h1,
    .section-ismp.section-blanche .expertise-en-tete h1,
    #profils h1 {
        font-size: clamp(28px, 7.5vw, 36px);
    }

    .section.software-dev-section.ismp-section .Btn {
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }
}

@media (max-width: 640px) {
    .expertise-cards.imsp-cards-3 > div,
    .expertise-cards.imsp-cards-4 > div,
    .grid-cards-2 {
        grid-template-columns: minmax(0, 1fr);
    }

    .imsp-cards-3 .card-expertise,
    .expertise-cards.imsp-cards-4 .card-expertise,
    #profils .card-expertise,
    .expertise-cards-column .card-expertise {
        min-height: 0;
    }
}

@media (max-width: 480px) {
    #ismp .hero__content.hero__software.ismp_hero h1 {
        font-size: clamp(26px, 8.5vw, 32px);
    }

    #ismp-titre-avant-footer {
        font-size: 28px;
    }
}