/* ==================================================
   SHOWCASE ÉQUIPEMENTS PREMIUM
================================================== */

.ol-showcase_new{
    position:relative;
    padding:90px 0 110px;
    background:#fff;
    overflow:hidden;
}

.ol-showcase_new *{
    box-sizing:border-box;
}

.ol-showcase_new .le-container_new{
    width:min(1680px,94%);
    margin:0 auto;
}

/* ==================================================
   BOX
================================================== */

.ol-showcase-box_new{
    position:relative;
    min-height:570px;
    padding:68px 57% 62px 68px;
    border-radius:30px;
    overflow:visible;

    background:
        radial-gradient(
            circle at 72% 48%,
            rgba(7,87,249,.16),
            transparent 31%
        ),
        linear-gradient(
            135deg,
            #fff 0%,
            #f8fbff 46%,
            #edf4ff 100%
        );

    border:1px solid rgba(7,87,249,.10);

    box-shadow:
        0 34px 90px rgba(0,13,32,.11),
        inset 0 1px 0 rgba(255,255,255,.95);
}

.ol-showcase-box_new::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.82) 36%,
            rgba(255,255,255,.26) 56%,
            transparent 74%
        );
}

/* ==================================================
   CONTENU
================================================== */

.ol-showcase-content_new{
    position:relative;
    z-index:8;
}

.ol-showcase-label_new{
    display:inline-flex;
    align-items:center;
    gap:14px;
    margin-bottom:20px;

    color:#0757f9;
    font-size:13px;
    font-weight:900;
    letter-spacing:3px;
    text-transform:uppercase;
}

.ol-showcase-label_new::before{
    content:"";
    width:34px;
    height:2px;
    border-radius:999px;
    background:#0757f9;
    box-shadow:0 0 16px rgba(7,87,249,.42);
}

.ol-showcase-content_new h2{
    max-width:610px;
    margin:0 0 24px;

    color:#000d20;
    font-size:48px;
    font-weight:900;
    line-height:1.08;
    letter-spacing:-1.5px;
}

.ol-showcase-content_new h2 span{
    color:#0757f9;
}

.ol-showcase-intro_new{
    max-width:570px;
    margin:0 0 34px;

    color:#526078;
    font-size:17px;
    line-height:1.65;
    font-weight:500;
}

/* ==================================================
   LISTE
================================================== */

.ol-showcase-list_new{
    display:grid;
    gap:17px;
    margin-bottom:36px;
}

.ol-showcase-item_new{
    display:grid;
    grid-template-columns:38px 1fr;
    gap:14px;
    align-items:flex-start;
}

.ol-showcase-check_new{
    width:34px;
    height:34px;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#0757f9;
    background:#edf4ff;

    box-shadow:
        inset 0 0 0 1px rgba(7,87,249,.13),
        0 10px 24px rgba(7,87,249,.10);
}

.ol-showcase-check_new svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.ol-showcase-item_new strong{
    display:block;
    margin:0 0 4px;

    color:#000d20;
    font-size:16px;
    font-weight:900;
    line-height:1.3;
}

.ol-showcase-item_new small{
    display:block;

    color:#66748a;
    font-size:14px;
    line-height:1.45;
}

/* ==================================================
   BOUTON
================================================== */

.ol-showcase-btn_new{
    width:max-content;
    min-height:58px;
    padding:0 26px;
    border-radius:11px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:15px;

    color:#fff;
    background:#0757f9;
    text-decoration:none;

    font-size:15px;
    font-weight:900;

    box-shadow:
        0 16px 34px rgba(7,87,249,.25),
        inset 0 1px 0 rgba(255,255,255,.18);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background .3s ease;
}

.ol-showcase-btn_new svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.4;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .3s ease;
}

.ol-showcase-btn_new:hover{
    color:#fff;
    background:#1f73ff;
    transform:translateY(-4px);
    box-shadow:0 22px 44px rgba(7,87,249,.34);
}

.ol-showcase-btn_new:hover svg{
    transform:translateX(5px);
}

/* ==================================================
   VISUEL IMMERSIF
================================================== */

/* VISUEL */

.ol-showcase-visual_new{
    position:absolute;
    top:-115px;
    right:-80px;
    bottom:-120px;

    width:64%;

    z-index:5;

    display:flex;
    align-items:center;      /* au lieu de flex-end */
    justify-content:center;

    pointer-events:none;
}

/* Halo */

.ol-showcase-halo_new{
    position:absolute;
    left:50%;
    top:49%;

    width:650px;
    height:650px;

    transform:translate(-50%,-50%);
    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(7,87,249,.26) 0%,
            rgba(7,87,249,.13) 31%,
            rgba(7,87,249,.045) 56%,
            transparent 74%
        );

    filter:blur(4px);
    animation:olShowcaseHalo_new 5s ease-in-out infinite;
}

/* Orbites */

.ol-showcase-orbit_new{
    position:absolute;
    left:50%;
    top:49%;

    border-radius:50%;
    border:1px solid rgba(7,87,249,.13);

    transform:translate(-50%,-50%);
    animation:olShowcaseOrbit_new 22s linear infinite;
}

.ol-showcase-orbit-one_new{
    width:570px;
    height:570px;
}

.ol-showcase-orbit-two_new{
    width:690px;
    height:690px;
    border-color:rgba(7,87,249,.065);
    animation-duration:30s;
    animation-direction:reverse;
}

/* MACHINES */

.ol-showcase-machines_new{
    position:relative;

    width:min(1120px,122%);

    display:flex;
    justify-content:center;
    align-items:center;

    margin:0;

    filter:drop-shadow(0 48px 56px rgba(0,13,32,.26));

    pointer-events:auto;

    animation:olShowcaseFloat_new 6.8s ease-in-out infinite;

    transition:
        transform .7s cubic-bezier(.22,.61,.36,1),
        filter .7s ease;
}

.ol-showcase-machines_new img{
    display:block;

    width:100%;
    height:auto;

    object-fit:contain;
    object-position:center center;
}

.ol-showcase-visual_new:hover .ol-showcase-machines_new{

    animation-play-state:paused;

    transform:translateY(-10px) scale(1.03);

    filter:drop-shadow(0 62px 68px rgba(0,13,32,.32));
}
/* Reflet */

.ol-showcase-shine_new{
    position:absolute;
    inset:5% 9% 8%;
    z-index:3;
    overflow:hidden;
    pointer-events:none;
}

.ol-showcase-shine_new::before{
    content:"";
    position:absolute;
    top:-28%;
    left:-55%;

    width:25%;
    height:155%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.05),
            rgba(255,255,255,.32),
            rgba(255,255,255,.06),
            transparent
        );

    transform:rotate(11deg);
    animation:olShowcaseShine_new 7.5s ease-in-out infinite;
}

/* ==================================================
   BADGES FLOTTANTS
================================================== */

.ol-showcase-badge_new{
    position:absolute;
    z-index:10;

    display:flex;
    align-items:center;
    gap:13px;

    padding:14px 17px;
    border:1px solid rgba(255,255,255,.74);
    border-radius:14px;

    background:rgba(255,255,255,.82);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);

    box-shadow:
        0 18px 44px rgba(0,13,32,.16),
        inset 0 1px 0 rgba(255,255,255,.90);

    animation:olShowcaseBadgeFloat_new 5.5s ease-in-out infinite;
}

.ol-showcase-badge-partner_new{
    top:21%;
    left:3%;
}

.ol-showcase-badge-projects_new{
    right:6%;
    bottom:18%;
    animation-delay:1.2s;
}

.ol-showcase-badge-icon_new{
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;
    background:#0757f9;

    box-shadow:0 12px 24px rgba(7,87,249,.25);
}

.ol-showcase-badge-icon_new svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.ol-showcase-badge_new strong{
    display:block;
    margin-bottom:3px;

    color:#000d20;
    font-size:13px;
    font-weight:900;
    line-height:1.25;
}

.ol-showcase-badge_new small{
    display:block;

    color:#647087;
    font-size:12px;
    font-weight:600;
}

.ol-showcase-stars_new{
    color:#0757f9;
    font-size:13px;
    letter-spacing:2px;
}

/* ==================================================
   PARTICULES
================================================== */

.ol-showcase-particle_new{
    position:absolute;
    width:6px;
    height:6px;
    border-radius:50%;

    background:#4d84ff;

    box-shadow:
        0 0 10px rgba(77,132,255,.85),
        0 0 24px rgba(7,87,249,.40);

    opacity:.30;
    animation:olShowcaseParticle_new 5.5s ease-in-out infinite;
}

.ol-showcase-particle-one_new{
    top:18%;
    left:22%;
}

.ol-showcase-particle-two_new{
    top:32%;
    right:13%;
    width:4px;
    height:4px;
    animation-delay:1.2s;
}

.ol-showcase-particle-three_new{
    bottom:22%;
    left:11%;
    animation-delay:2.3s;
}

.ol-showcase-particle-four_new{
    bottom:12%;
    right:27%;
    width:4px;
    height:4px;
    animation-delay:3s;
}

/* ==================================================
   ANIMATIONS
================================================== */

@keyframes olShowcaseFloat_new{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-15px);
    }

}

@keyframes olShowcaseHalo_new{
    0%,
    100%{
        opacity:.75;
        transform:translate(-50%,-50%) scale(.96);
    }

    50%{
        opacity:1;
        transform:translate(-50%,-50%) scale(1.05);
    }
}

@keyframes olShowcaseOrbit_new{
    from{
        transform:translate(-50%,-50%) rotate(0deg);
    }

    to{
        transform:translate(-50%,-50%) rotate(360deg);
    }
}

@keyframes olShowcaseShine_new{
    0%,
    34%{
        left:-55%;
        opacity:0;
    }

    44%{
        opacity:1;
    }

    70%,
    100%{
        left:130%;
        opacity:0;
    }
}

@keyframes olShowcaseParticle_new{
    0%,
    100%{
        opacity:.15;
        transform:translateY(0) scale(.8);
    }

    50%{
        opacity:.65;
        transform:translateY(-17px) scale(1.15);
    }
}

@keyframes olShowcaseBadgeFloat_new{
    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-9px);
    }
}

/* ==================================================
   ARRIVÉE AU SCROLL
================================================== */

.ol-showcase-content_new,
.ol-showcase-visual_new{
    opacity:0;

    transition:
        opacity .85s ease,
        transform .85s cubic-bezier(.22,.61,.36,1);
}

.ol-showcase-content_new{
    transform:translateX(-48px);
}

.ol-showcase-visual_new{
    transform:translateX(68px);
}

.ol-showcase-box_new.is-visible .ol-showcase-content_new,
.ol-showcase-box_new.is-visible .ol-showcase-visual_new,
.ol-showcase-box_new.reveal.active .ol-showcase-content_new,
.ol-showcase-box_new.reveal.active .ol-showcase-visual_new{
    opacity:1;
    transform:translateX(0);
}

/* ==================================================
   RESPONSIVE — 100 % / DESIGN CONSERVÉ
================================================== */

@media(max-width:1450px){

    .ol-showcase-box_new{
        min-height:550px;
        padding:60px 54% 56px 54px;
    }

    .ol-showcase-content_new h2{
        font-size:42px;
    }

    .ol-showcase-intro_new{
        font-size:16px;
    }

    .ol-showcase-visual_new{
        top:-95px;
        right:-85px;
        bottom:-100px;

        width:61%;
    }

    .ol-showcase-machines_new{
        width:min(980px,118%);
    }

    .ol-showcase-halo_new{
        width:580px;
        height:580px;
    }

    .ol-showcase-orbit-one_new{
        width:520px;
        height:520px;
    }

    .ol-showcase-orbit-two_new{
        width:630px;
        height:630px;
    }
}


@media(max-width:1180px){

    .ol-showcase_new{
        padding:78px 0 96px;
    }

    .ol-showcase_new .le-container_new{
        width:min(94%,1080px);
    }

    .ol-showcase-box_new{
        min-height:auto;
        padding:50px 42px 0;

        display:grid;
        grid-template-columns:1fr;
        gap:24px;

        overflow:hidden;
    }

    .ol-showcase-content_new{
        width:100%;
        max-width:760px;
        margin:0 auto;

        text-align:center;
    }

    .ol-showcase-label_new{
        justify-content:center;
    }

    .ol-showcase-content_new h2,
    .ol-showcase-intro_new{
        margin-left:auto;
        margin-right:auto;
    }

    .ol-showcase-list_new{
        width:min(100%,620px);
        margin-left:auto;
        margin-right:auto;
    }

    .ol-showcase-item_new{
        text-align:left;
    }

    .ol-showcase-btn_new{
        margin-left:auto;
        margin-right:auto;
    }

    .ol-showcase-visual_new{
        position:relative;
        top:auto;
        right:auto;
        bottom:auto;

        width:112%;
        min-height:500px;

        margin-left:-6%;
        margin-bottom:-52px;
    }

    .ol-showcase-machines_new{
        width:min(900px,100%);
    }

    .ol-showcase-badge-partner_new{
        top:18%;
        left:8%;
    }

    .ol-showcase-badge-projects_new{
        right:8%;
        bottom:17%;
    }
}


@media(max-width:800px){

    .ol-showcase_new{
        padding:62px 0 78px;
    }

    .ol-showcase_new .le-container_new{
        width:calc(100% - 28px);
    }

    .ol-showcase-box_new{
        padding:42px 28px 0;

        border-radius:24px;
    }

    .ol-showcase-content_new h2{
        font-size:36px;
        letter-spacing:-1px;
    }

    .ol-showcase-intro_new{
        margin-bottom:28px;

        font-size:15px;
        line-height:1.62;
    }

    .ol-showcase-list_new{
        gap:14px;
        margin-bottom:30px;
    }

    .ol-showcase-item_new{
        grid-template-columns:34px minmax(0,1fr);

        gap:12px;
    }

    .ol-showcase-check_new{
        width:32px;
        height:32px;
    }

    .ol-showcase-item_new strong{
        font-size:15px;
    }

    .ol-showcase-item_new small{
        font-size:13px;
    }

    .ol-showcase-btn_new{
        width:100%;
        min-height:56px;
    }

    .ol-showcase-visual_new{
        width:122%;
        min-height:390px;

        margin-left:-11%;
        margin-bottom:-34px;
    }

    .ol-showcase-machines_new{
        width:min(760px,100%);
    }

    .ol-showcase-badge_new{
        padding:11px 13px;

        gap:10px;
    }

    .ol-showcase-badge-icon_new{
        width:36px;
        height:36px;
        flex-basis:36px;
    }

    .ol-showcase-badge_new strong{
        font-size:11.5px;
    }

    .ol-showcase-badge_new small{
        font-size:10.5px;
    }

    .ol-showcase-stars_new{
        font-size:11px;
    }

    .ol-showcase-halo_new{
        width:460px;
        height:460px;
    }

    .ol-showcase-orbit-one_new{
        width:390px;
        height:390px;
    }

    .ol-showcase-orbit-two_new{
        width:470px;
        height:470px;
    }
}


@media(max-width:620px){

    .ol-showcase_new{
        padding:48px 0 66px;
    }

    .ol-showcase_new .le-container_new{
        width:calc(100% - 20px);
    }

    .ol-showcase-box_new{
        padding:34px 20px 0;

        border-radius:20px;
    }

    .ol-showcase-label_new{
        gap:10px;

        margin-bottom:16px;

        font-size:10.5px;
        letter-spacing:2px;
    }

    .ol-showcase-label_new::before{
        width:24px;
    }

    .ol-showcase-content_new h2{
        margin-bottom:18px;

        font-size:31px;
        line-height:1.1;
    }

    .ol-showcase-intro_new{
        font-size:13.8px;
    }

    .ol-showcase-list_new{
        gap:13px;
    }

    .ol-showcase-item_new{
        grid-template-columns:31px minmax(0,1fr);

        gap:10px;
    }

    .ol-showcase-check_new{
        width:29px;
        height:29px;
    }

    .ol-showcase-check_new svg{
        width:15px;
        height:15px;
    }

    .ol-showcase-item_new strong{
        font-size:13.5px;
    }

    .ol-showcase-item_new small{
        font-size:11.8px;
    }

    .ol-showcase-btn_new{
        min-height:54px;

        padding:0 16px;

        font-size:13px;
    }

    .ol-showcase-btn_new svg{
        width:19px;
        height:19px;
    }

    .ol-showcase-visual_new{
        width:132%;
        min-height:300px;

        margin-left:-16%;
        margin-bottom:-18px;
    }

    .ol-showcase-badge_new{
        display:none;
    }

    .ol-showcase-halo_new{
        width:360px;
        height:360px;
    }

    .ol-showcase-orbit-one_new{
        width:300px;
        height:300px;
    }

    .ol-showcase-orbit-two_new{
        width:370px;
        height:370px;
    }
}


@media(max-width:420px){

    .ol-showcase-box_new{
        padding:28px 15px 0;
    }

    .ol-showcase-content_new h2{
        font-size:28px;
    }

    .ol-showcase-intro_new{
        font-size:13px;
    }

    .ol-showcase-item_new strong{
        font-size:12.5px;
    }

    .ol-showcase-item_new small{
        font-size:11px;
    }

    .ol-showcase-visual_new{
        width:138%;
        min-height:250px;

        margin-left:-19%;
    }
}


@media(max-width:340px){

    .ol-showcase_new .le-container_new{
        width:calc(100% - 14px);
    }

    .ol-showcase-box_new{
        padding:24px 12px 0;
    }

    .ol-showcase-content_new h2{
        font-size:26px;
    }

    .ol-showcase-btn_new{
        font-size:12px;
    }

    .ol-showcase-visual_new{
        min-height:220px;
    }
}


/* ==================================================
   TACTILE
================================================== */

@media(hover:none){

    .ol-showcase-btn_new:hover{
        transform:none;
    }

    .ol-showcase-visual_new:hover
    .ol-showcase-machines_new{
        transform:none;
        filter:drop-shadow(0 48px 56px rgba(0,13,32,.26));
    }
}


/* ==================================================
   ACCESSIBILITÉ
================================================== */

@media(prefers-reduced-motion:reduce){

    .ol-showcase-machines_new,
    .ol-showcase-halo_new,
    .ol-showcase-orbit_new,
    .ol-showcase-shine_new::before,
    .ol-showcase-particle_new,
    .ol-showcase-badge_new,
    .ol-showcase-content_new,
    .ol-showcase-visual_new,
    .ol-showcase-btn_new,
    .ol-showcase-btn_new svg{
        animation:none !important;
        transition:none !important;
    }

    .ol-showcase-content_new,
    .ol-showcase-visual_new{
        opacity:1 !important;
        transform:none !important;
    }
}
