
    :root{
      --idv-blue:#2859f6;
      --idv-cyan:#39c8ff;
      --idv-violet:#6957ff;
      --idv-ink:#11203f;
      --idv-copy:#66728b;
      --idv-line:rgba(40,89,246,.18);
      --idv-bg:#ffffff;
    }

    *{
      box-sizing:border-box;
      margin:0;
      padding:0;
    }

    html{
      scroll-behavior:smooth;
    }

    body{
      font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      color:var(--idv-ink);
      background:#f5f8ff;
      min-height:100vh;
      display:grid;
      place-items:center;
      padding:48px 20px;
    }

    .outside-box-right {
    margin-right: -30vw;
}
.position-relative {
    position: relative !important;
}

@media (min-width: 1200px) {
    .offset-xl-1 {
        margin-left: 8.33333333%;
    }
}

.margin-5-rem-bottom {
    margin-bottom: 5rem;
}

.margin-15px-bottom {
    margin-bottom: 15px;
}
.font-weight-600 {
    font-weight: 600 !important;
}
.text-gradient-fast-blue-purple {
    background: linear-gradient(to right, #0039e3, #0039e3, #5e28dd, #741bd9, #8600d4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.margin-5-rem-bottom {
    margin-bottom: 5rem;
}

.animate__fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}
.p-0 {
    padding: 0 !important;
}

.align-items-center {
    align-items: center !important;
}

.justify-content-center {
    justify-content: center !important;
}

.process-step-style-02 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.process-step-style-02 .process-step-item {
    display: flex;
    position: relative;
    flex-flow: row wrap;
    align-items: stretch !important;
    justify-content: flex-start;
    text-align: left;
    transition: box-shadow .3s ease, background .3s ease;
}

.process-step-style-02 .process-step-icon-wrap {
    position: relative;
    margin-right: 40px;
}


.process-step-style-02 .process-step-icon {
    position: relative;
    width: 50px;
    height: 50px;
    border-radius: 100%;
    font-size: 19px;
    line-height: 48px;
    color: #fff;
}

.process-step-style-02 {
    transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.process-step-style-02:last-child .process-content {
    margin-bottom: 0;
}
.process-step-style-02 .process-content {
    overflow: hidden;
    flex: 1;
    max-width: 100%;
    margin-bottom: 3.7em;
}
.process-step-style-02 * {
    transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.bg-medium-gray {
    background-color: #e4e4e4;
}

.border-color-fast-blue {
    border-color: #0038e3 !important;
}
.border-width-2px {
    border-width: 2px !important;
}
.border-all {
    border: 1px solid !important;
}
.bg-fast-blue {
    background-color: #0038e3;
}
.font-weight-500 {
    font-weight: 500 !important;
}

.process-step-style-02 .process-step-icon-wrap .process-step-item-box-bfr {
    position: absolute;
    bottom: 20px;
    left: 50%;
    width: 1px;
    height: calc(100% - 90px);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.process-step-style-02 * {
    transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}
.bg-medium-gray {
    background-color: #e4e4e4;
}

    .idv-benefits{
      width:100%;
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(circle at 50% 48%, rgba(57,200,255,.10), transparent 24%),
        radial-gradient(circle at 50% 48%, rgba(105,87,255,.06), transparent 38%),
        linear-gradient(180deg,#fff 0%,#fbfdff 100%);
      border:1px solid rgba(40,89,246,.08);
      box-shadow:0 30px 80px rgba(19,43,101,.10);
      padding:78px 44px 88px;
    }

    .idv-benefits::before,
    .idv-benefits::after{
      content:"";
      position:absolute;
      border-radius:50%;
      pointer-events:none;
      filter:blur(10px);
    }

    .idv-benefits::before{
      width:420px;
      height:420px;
      left:-220px;
      top:-170px;
      background:rgba(57,200,255,.07);
    }

    .idv-benefits::after{
      width:460px;
      height:460px;
      right:-250px;
      bottom:-230px;
      background:rgba(105,87,255,.07);
    }

    .idv-heading{
      position:relative;
      z-index:3;
      text-align:center;
      max-width:820px;
      margin:0 auto 58px;
    }

    .idv-kicker{
      display:inline-flex;
      align-items:center;
      gap:10px;
      margin-bottom:16px;
      color:var(--idv-blue);
      font-size:.79rem;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:.12em;
    }

    .idv-kicker::before,
    .idv-kicker::after{
      content:"";
      width:34px;
      height:1px;
      background:linear-gradient(90deg,transparent,var(--idv-blue));
    }

    .idv-kicker::after{
      transform:scaleX(-1);
    }

    .idv-heading h2{
      font-size:clamp(2.05rem,4vw,3.45rem);
      line-height:1.05;
      letter-spacing:-.045em;
      margin-bottom:18px;
      font-weight:850;
    }

    .idv-heading p{
      color:var(--idv-copy);
      max-width:690px;
      margin:0 auto;
      line-height:1.75;
      font-size:1.02rem;
    }

    .idv-orbit{
      position:relative;
      z-index:2;
      min-height:680px;
      display:grid;
      grid-template-columns:minmax(300px,1fr) minmax(430px,520px) minmax(300px,1fr);
      gap:24px;
      align-items:center;
    }

    .idv-column{
      min-height:590px;
      display:grid;
      grid-template-rows:repeat(3,1fr);
      align-items:center;
    }

    .idv-item{
      position:relative;
      max-width:410px;
      opacity:0;
      transition:
        opacity .75s cubic-bezier(.2,.7,.2,1),
        transform .75s cubic-bezier(.2,.7,.2,1);
    }

    .idv-item h3{
      font-size:1.08rem;
      line-height:1.3;
      margin-bottom:8px;
      color:var(--idv-ink);
      font-weight:820;
      letter-spacing:-.012em;
    }

    .idv-item p{
      color:var(--idv-copy);
      font-size:.96rem;
      line-height:1.62;
    }

    .idv-number{
      position:absolute;
      top:-22px;
      color:rgba(40,89,246,.10);
      font-weight:900;
      font-size:2.9rem;
      line-height:1;
      letter-spacing:-.06em;
      z-index:-1;
    }

    .idv-column--left .idv-item{
      margin-left:auto;
      text-align:right;
      padding-right:34px;
      transform:translateX(-52px);
    }

    .idv-column--left .idv-number{
      right:27px;
    }

    .idv-column--left .idv-item::after{
      content:"";
      position:absolute;
      top:17px;
      right:0;
      width:20px;
      height:1px;
      background:var(--idv-line);
    }

    .idv-column--left .idv-item::before{
      content:"";
      position:absolute;
      top:14px;
      right:-3px;
      width:7px;
      height:7px;
      border-radius:50%;
      background:var(--idv-blue);
      box-shadow:0 0 0 6px rgba(40,89,246,.08);
    }

    .idv-column--right .idv-item{
      margin-right:auto;
      text-align:left;
      padding-left:34px;
      transform:translateX(52px);
    }

    .idv-column--right .idv-number{
      left:27px;
    }

    .idv-column--right .idv-item::after{
      content:"";
      position:absolute;
      top:17px;
      left:0;
      width:20px;
      height:1px;
      background:var(--idv-line);
    }

    .idv-column--right .idv-item::before{
      content:"";
      position:absolute;
      top:14px;
      left:-3px;
      width:7px;
      height:7px;
      border-radius:50%;
      background:var(--idv-blue);
      box-shadow:0 0 0 6px rgba(40,89,246,.08);
    }

    /* Les décalages donnent l'impression que les textes épousent le visuel */
    .idv-column--left .idv-item:nth-child(1){ margin-right:56px; align-self:end; }
    .idv-column--left .idv-item:nth-child(2){ margin-right:4px; }
    .idv-column--left .idv-item:nth-child(3){ margin-right:62px; align-self:start; }

    .idv-column--right .idv-item:nth-child(1){ margin-left:56px; align-self:end; }
    .idv-column--right .idv-item:nth-child(2){ margin-left:4px; }
    .idv-column--right .idv-item:nth-child(3){ margin-left:62px; align-self:start; }

    .idv-center{
      min-height:640px;
      position:relative;
      display:grid;
      place-items:center;
    }

    .idv-center::before{
      content:"";
      position:absolute;
      width:510px;
      height:510px;
      border-radius:50%;
      border:1px solid rgba(40,89,246,.08);
      background:
        radial-gradient(circle at 50% 45%,rgba(255,255,255,.98) 0 54%,rgba(239,246,255,.86) 68%,rgba(255,255,255,0) 69%),
        conic-gradient(from 35deg,rgba(40,89,246,.18),rgba(57,200,255,.06),rgba(105,87,255,.15),rgba(40,89,246,.18));
      box-shadow:
        0 30px 70px rgba(26,57,129,.10),
        inset 0 0 0 14px rgba(255,255,255,.72);
      opacity:0;
      transform:scale(.86);
      transition:opacity .9s ease,transform .9s cubic-bezier(.18,.8,.2,1);
    }

    .idv-center::after{
      content:"";
      position:absolute;
      width:544px;
      height:544px;
      border-radius:50%;
      border:1px dashed rgba(40,89,246,.16);
      opacity:0;
      transform:scale(.9) rotate(-14deg);
      transition:opacity 1s ease .15s,transform 1.1s cubic-bezier(.18,.8,.2,1) .15s;
    }

    .idv-visual{
      position:relative;
      z-index:2;
      width:min(95%,500px);
      opacity:0;
      transform:translateY(34px) scale(.94);
      filter:drop-shadow(0 34px 35px rgba(11,24,58,.24));
      transition:opacity .9s ease .12s,transform .95s cubic-bezier(.18,.8,.2,1) .12s;
      animation:idvFloat 5.5s ease-in-out infinite;
    }

    .idv-orbit.is-visible .idv-item,
    .idv-orbit.is-visible .idv-visual{
      opacity:1;
      transform:translate(0,0) scale(1);
    }

    .idv-orbit.is-visible .idv-center::before,
    .idv-orbit.is-visible .idv-center::after{
      opacity:1;
      transform:scale(1) rotate(0deg);
    }

    .idv-orbit.is-visible .idv-item:nth-child(1){ transition-delay:.08s; }
    .idv-orbit.is-visible .idv-item:nth-child(2){ transition-delay:.20s; }
    .idv-orbit.is-visible .idv-item:nth-child(3){ transition-delay:.32s; }

    @keyframes idvFloat{
      0%,100%{ translate:0 0; }
      50%{ translate:0 -10px; }
    }

    @media (max-width:1180px){
      .idv-orbit{
        min-height:auto;
        grid-template-columns:1fr;
      }

      .idv-center{
        order:-1;
        min-height:540px;
        margin-bottom:18px;
      }

      .idv-center::before{ width:430px; height:430px; }
      .idv-center::after{ width:460px; height:460px; }

      .idv-column{
        min-height:auto;
        grid-template-rows:none;
        gap:24px;
        max-width:800px;
        width:100%;
        margin:0 auto;
      }

      .idv-column--left .idv-item,
      .idv-column--right .idv-item{
        margin:0 !important;
        max-width:none;
        text-align:left;
        padding:0 0 0 34px;
        transform:translateY(28px);
        align-self:auto !important;
      }

      .idv-column--left .idv-item::after,
      .idv-column--right .idv-item::after{
        left:0;
        right:auto;
      }

      .idv-column--left .idv-item::before,
      .idv-column--right .idv-item::before{
        left:-3px;
        right:auto;
      }

      .idv-column--left .idv-number,
      .idv-column--right .idv-number{
        left:27px;
        right:auto;
      }
    }

    @media (max-width:680px){
      body{
        padding:0;
        background:#fff;
      }

      .idv-benefits{
        border:0;
        box-shadow:none;
        padding:58px 20px 64px;
      }

      .idv-heading{
        margin-bottom:30px;
      }

      .idv-center{
        min-height:390px;
      }

      .idv-center::before{
        width:305px;
        height:305px;
      }

      .idv-center::after{
        width:328px;
        height:328px;
      }

      .idv-visual{
        width:min(100%,335px);
      }

      .idv-heading p{
        font-size:.96rem;
      }

      .idv-item h3{
        font-size:1.02rem;
      }

      .idv-item p{
        font-size:.93rem;
      }
    }

    @media (prefers-reduced-motion:reduce){
      *,
      *::before,
      *::after{
        animation:none !important;
        transition:none !important;
      }

      .idv-item,
      .idv-visual,
      .idv-center::before,
      .idv-center::after{
        opacity:1 !important;
        transform:none !important;
      }
    }
