body {
--cLwhite: #ffffff;
--cLskyBlue: #4a9bb9;
--cLmediumAquamarine: #6bc5a9;
--cLsemiTransparentBlack1: #0000006E;
--cLsemiTransparentWhite1: #FFFFFF29;
--cLmintGreenTransparent: #A0FFE2A2;
--cLaquamarineTransparent: #00FFB14A;
--cLblack: #000000;
--cLlightGray: #E6E6E6;
--cLcerulean: #1EA2D3;
--cLamethyst: #AA5DBC;
--cLpinkPeach: #FF9DB3;
--cLlimeGreen: #A6B73F;
--cLsemiTransparentBlack2: #00000029;
--cLlightOlive: #CFD98D;
--cLskyBlueDark: #1CA6D1;
--cLpurpleBlue: #6751DE;
--cLbrightPurple: #C351DE;
--cLpinkRose: #FA8FA7;
--cLdarkGray: #2E2E2E;
--cLdeepTeal: #02141A;
--cLtealBlue: #4B9EB7;
--cLdimGray: #505050;
--cLgainsboro: #D8D8D8;
--cLgrayMedium: #989898;
    
margin: 0;
padding: 0;
width: 100vw;
font-weight: 400;
line-height: 1.3;
min-height: 100vh;
overflow-x: hidden;
overflow-y: scroll;
color: var(--cLblack);
font-size: min(20px,3.7vw);
font-family: "articulat-cf", sans-serif;
}
main{overflow-x:clip;}
main>header{z-index:1000;}
* {box-sizing:border-box;}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:clip}.lenis.lenis-smooth.lenis-scrolling iframe{pointer-events:none}
a{color:inherit;text-decoration:none;outline:none!important;}:is(a,span).overlay{position:absolute;inset:0;z-index:2;cursor:pointer;}a:not([class^=btn-]):hover{color:var(--cLlimeGreen);}
ul[class]{position:relative;list-style:none;margin:0;padding:0;}
ul:not([class]){display:flex;flex-direction:column;row-gap:.5rem;list-style:none;padding-left:0}
ul:not([class])>li{position:relative;padding-left:min(2rem,6vw)}
ul:not([class])>li::before{position:absolute;top:min(.4rem,1.4vw);left:0;content:'';padding:.4rem;background-size:contain;background-repeat:no-repeat;background-position:center;background-image:url(assets/images/1.svg)}
ul.rs{position:relative;display:flex;flex-wrap:wrap;gap:min(1rem,1.5vw)}
ul.rs a{display:block;border-radius:2rem;color:var(--cLwhite);background-color:var(--cLlimeGreen)}ul.rs [style^="--icn"]:not([class^=btn])::before{scale:.55;padding:1.2rem}ul.rs a:hover{color:var(--cLdeepTeal)}
iframe,img,video{position:relative;display:block;max-width:100%;object-fit:cover}
:is(h1,h2,h3,h4,h5,h6,[class*=ttl-]){font-weight:900;letter-spacing:0;line-height:1.3;font-family:inherit;color:inherit;text-transform:initial}
:is(h1,h2,h3,h4,h5,h6,[class*=ttl-]) em{color:var(--cLblack);font-family:'Niveau Grotesk',sans-serif;text-transform:uppercase;font-size:min(30px,7.5vw);font-weight:400;font-style:normal;line-height:.8}
h1{font-size:min(48px,4vw)}
h2{font-size:min(37px,6vw)}
h3{font-size:min(25px,10vw)}
h4{font-size:min(19px,10vw)}
h5{font-size:min(17px,10vw)}
h6{font-size:inherit}
.ttl-48{font-size:min(48px,7vw)}
.ttl-44{font-size:min(44px,6.8vw)}
.ttl-28{font-size:min(28px,6vw);}
.ttl-26{font-size:min(26px,5.2vw);}
[class^=text]{width:100%;display:flex;row-gap:15px;font-style:inherit;flex-direction:column}[class^=text]>*{margin-block:0rem}
.text-center{text-align:center;align-items:center}.text-left{text-align:left;align-items:flex-start}.text-right{text-align:right;align-items:flex-end}section{position:relative}
[class^=text]>*{margin-block:0rem}
[style^="--icn"]{display:inline-flex;column-gap:.3rem;align-items:center}
[style^="--icn"]::before{position:relative;scale:2;content:"";padding:.7rem;display:block;transition:initial;pointer-events:none;background-color:currentcolor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:var(--icn);mask-image:var(--icn)}
[style^="--icn"]:not([class^=btn])::before{scale:1;padding:.938rem}
.arrow{z-index:2;padding:1.2817rem;font-size:0;border-radius:3rem;border:.065rem solid var(--cLcerulean);flex:0 0 auto;color:var(--cLwhite);transition:.2s;display:inline-block;background-color:var(--cLcerulean)}
.arrow::after,.arrow::before{content:"";inset:30%;display:block;transition:inherit;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-image:url(assets/images/arrow.svg);mask-image:url(assets/images/arrow.svg)}
.arrow.prev{transform:rotate(-180deg)}
.arrow::after{translate:-100% 0;opacity:0}
.arrow:hover{color:var(--cLwhite);background-color:var(--cLlimeGreen);border-color:var(--cLlimeGreen);}
.arrow::after,.arrow::before,.cliping{position:absolute;pointer-events:none}
.arrow,[class^=btn-]{overflow:hidden;cursor:pointer;text-align:center;outline:0}
.arrow,.cliping+*,[class^=btn-]{position:relative}
.cliping{inset:0;clip-path:inset(0rem round 0rem)}
.cliping::after{position:absolute;inset:0;content:"";opacity:.2;background-color:var(--cLblack)}.cliping img{position:fixed;inset:0;transition:none}.cliping+*{z-index:1}
figure{margin:0;height:100%;overflow:hidden}figure>img{position:relative;height:100%;width:100%;transition:.2s;max-width:inherit}
.next[class^=btn-]{display:inline-flex;column-gap:.6rem;padding-right:1.2rem;align-items:baseline;line-height:0rem;justify-content:space-between}
.next[class^=btn-]>.arrow {scale:1.8;padding:.5rem;}
.next[class^=btn-]>.arrow::after, .next[class^=btn-]>.arrow::before {inset: 20%;}
.next[class^=btn-]:hover>.arrow::before,
.next[class^=btn-]::after{position:relative;content:'';padding:min(.5rem,1.7vw);display:inline-block;background-color:currentcolor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url(assets/images/arrow.svg);mask-image:url(assets/images/arrow.svg)}
.arrow:hover::before{translate:100% 0;opacity:0}
.next[class^=btn-]:hover>.arrow::after,
.arrow:hover::after{translate:0 0;opacity:1}
p:has(>[class^="btn-"]) {display:flex;gap:1rem 2rem;flex-wrap: wrap;}
[class^=btn-]{z-index:1;line-height:1;font-weight:700;border-radius:2rem;font-size:min(25px,4vw);display:inline-block;width:max-content;padding:.9rem 1.6rem;white-space:nowrap;text-transform:initial;transition:.3s;font-family:inherit;border:1px solid transparent}
[class^=btn-][style^=--icn]{display:inline-flex;align-items:center}
[class^=btn-][style^=--icn]:before{padding:.5rem}
[class^=btn-]>input{margin:0!important;line-height:1!important;}
[class^=btn-]:has(>img){display: flex;column-gap: 1.4rem;align-items: center;}
[class^=btn-]>img{flex:0 0 auto;scale:1.8;width:1rem;height:1rem}
[class^=btn-]>:is(input,button):is([type=submit],[type=button]){line-height:1;font-size:inherit;text-transform:inherit;font-weight:inherit;padding:0!important;letter-spacing:inherit;font-family:inherit;border:none!important;outline:0!important;pointer-events:none;color:currentcolor!important;background:0 0!important;display: block !important}
[class*=bg-]>*{position:relative;z-index:1}
[class^=container]:not(:is([class*=leaflet])){width:100%;margin-inline:auto;}
.container{max-width:min(950px,90vw)}
.container-xl{max-width:min(1106px,90vw)}
.container-xxl{max-width:min(1482px,90vw)}
.container-xxxl{max-width:min(1714px,90vw)}
.container-max{max-width:1920px;}
[style*="--w"]{width: var(--w);}
.flex,[class^=flex],[class^=row]{display:flex;flex-wrap:wrap}
.y{flex-direction:column;row-gap:min(3.5rem,7vw);flex-wrap:nowrap;}
[class*="-xcenter"]{justify-content:center}[class*="-ycenter"]{align-items:center}[class*="-xbetween"]{justify-content:space-between;}
[class*="-flexdirrow-rev"]{flex-direction: row-reverse;}
:is([class^="row"],[class^="flex"]):not(.y)>div:not(:is(.half,.full)){flex:1 1 250px;}
.py-1{padding-block:1rem;}.py-2{padding-block:2rem;}.py-3{padding-block:3rem;}.py-4{padding-block:4rem;}.py-5{padding-block:4rem;}
/* other */
.font-didot {
    font-weight: 400;
    font-style: italic;
    font-family: 'linotype-didot',sans-serif;
}
.c-blue,.c-green{display:inline-block}
.c-blue{color: var(--cLtealBlue);}
.c-green{color: var(--cLlimeGreen);}
a.logo{position:relative;display:block;width:min(139px,35vw)}
a.logo img{display:block;width:100%}
.bg-cLdeepTeal {background-color: var(--cLdeepTeal);}
.bg-cLblack {background-color: var(--cLblack);}
:is(.bg-cLdeepTeal,.bg-cLblack){color:var(--cLwhite);}
:is(h1,h2,h3,h4,h5,h6,[class*=ttl-]) .light{font-weight:400;}
:is(h1,h2,h3,h4,h5,h6,[class*=ttl-]) [class^=linear]{position:relative;z-index:-1;margin-inline:-.7rem;padding:min(.5rem,1.5vw) min(1rem,3vw);border-radius:3rem;display:inline-block;font-weight:300;line-height:1}
.underline{position: relative;}
.underline::after{position:absolute;content:'';inset:0 0 -.6rem;display:block;pointer-events:none;background-color:var(--cLlimeGreen);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 1rem;mask-size:100% 1rem;-webkit-mask-position:center bottom;mask-position:center bottom;-webkit-mask-image:url(assets/images/surligne.svg);mask-image:url(assets/images/surligne.svg)}
:is(h1,h2,h3,h4,h5,h6,[class*=ttl-]).underline{margin-bottom:1.3rem}
:is(h1,h2,h3,h4,h5,h6,[class*=ttl-]).underline::after{inset: 0 0 -1.3rem}
#smooth-wrapper[style*="position: fixed;"] >#smooth-content{padding-top: 95px;

/* var(--header) !important; */


 }
.tag{position:relative;padding:.2rem min(.9rem,2.5vw);display:inline-block;color: var(--cLwhite)!important;border-radius:2rem;font-weight:700;font-size:min(20px,3vw);}
.next-step {
    position: relative;
    z-index: 2;
    display: block;
    cursor: pointer;
    width: max-content;
    height: max-content;
}
.next-step::before, .next-step::after {
    position: absolute;
    content: '';
    rotate: 15deg;
    inset: -20% -70%;
    border-radius: 100%;
    transition: all .3s;
    border: 0.5px solid var(--cLlimeGreen);
}
.next-step::before {rotate: -15deg;}
.next-step:hover::before,
.next-step:hover::after {
    rotate: -15deg;
    inset: -40% -70%;
}
.next-step > .arrow {
    border: none;
    display: block;
    color: var(--cLlimeGreen);
    background-color: transparent;
}
.next-step > .arrow::after, 
.next-step > .arrow::before {inset: 0;}
.next-step:hover > .arrow::after, 
.next-step:hover > .arrow::before {scale: 1.2;}

.linear-olive{background:linear-gradient(88deg, #A6B73F 0%, #CFD98D 100%)}
.linear-olive:hover{background:linear-gradient(88deg, #CFD98D 0%, #A6B73F 100%)}

.linear-green{background:linear-gradient(88deg, #499BB9 0%, #6BC4A8 100%)}
.linear-green:hover{background:linear-gradient(88deg, #6BC4A8 0%, #499BB9 100%)}

.linear-purple{background:linear-gradient(180deg, #AA5DBC 0%, #FF9DB3 100%)}
.linear-purple:hover{background:linear-gradient(180deg, #FF9DB3 0%, #AA5DBC 100%)}

.linear-blue{background:linear-gradient(93deg, #7BC7DE 0%, #7869C6 100%)}
.linear-blue:hover{background:linear-gradient(93deg, #7869C6 0%, #7BC7DE 100%)}

.down.linear-green:hover,
a.linear-green:hover{background:linear-gradient(88deg, #6BC4A8 0%, #499BB9 100%)}
.linear-purple{background:linear-gradient(93deg, #AA5DBC 0%, #FF9DB3 100%)}
.down.linear-purple{background:linear-gradient(180deg, #AA5DBC 0%, #FF9DB3 100%)}
.down.linear-purple:hover,
a.linear-purple:hover{background:linear-gradient(88deg, #FF9DB3 0%, #AA5DBC 100%)}
.linear-blue{background:linear-gradient(93deg, #7BC7DE 0%, #7869C6 100%)}
.down.linear-blue{background:linear-gradient(180deg, #7BC7DE 0%, #7869C6 100%)}
.down.linear-blue:hover,
a.linear-blue:hover{background:linear-gradient(88deg, #7869C6 0%, #7BC7DE 100%)}


.linear-green[class^=btn-]{color:var(--cLwhite);}
.linear-olive[class^=btn-]{color:var(--cLwhite);}
.linear-purple[class^=btn-]{color:var(--cLwhite);}
.linear-blue[class^=btn-]{color:var(--cLwhite);}


.idee li::before {
    background-image: url(assets/images/1.svg)!important;
}

.creer li::before {
    background-image: url(assets/images/2.svg)!important;
}

.developpe li::before {
    background-image: url(assets/images/3.svg)!important;
}

.installe li::before {
    background-image: url(assets/images/4.svg)!important;
}



section:not(:is([class*=bg-]))+section:not(:is([class*=bg-]))>[class*=py-]:not(*~*) { padding-top: 0; }
/* code */
header {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding-block: 1.5rem;
    background-color: var(--cLwhite);
    box-shadow: 0px 15px 60px #00000029;
}
header [class^="row"] {
    column-gap: 5%;
    justify-content: space-between;
}
header [class^="row"]:not(.Y) > :is(.left,.right) {
    flex: 0 0 auto;
    width: max-content;
}
header .ct-nav {
    position: fixed;
    inset: 0;
    visibility: hidden;
    pointer-events: none;
}
header.nav-is-open .ct-nav {
    visibility: visible;
    pointer-events: visible;
}
header .ct-nav nav {
    position: relative;
    opacity: 0;
    width: 100%;
    height: 100%;
    gap: 2rem 5%;
    display: flex;
    font-size: 20px;
    transition: .2s;
    flex-wrap: wrap;
    text-align: left;
    visibility: hidden;
    align-items: center;
    align-content: center;
    box-sizing: border-box;
    justify-content: center;
    padding: 5rem 1.5rem 2rem;
    background-color: var(--cLwhite);
}
header.nav-is-open .ct-nav nav {
    opacity: 1;
    visibility: visible;
}
header .nav,
header .primary {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem min(4rem, 4vw);;
}
header :is(.nav,.other) {
    display: flex;
    row-gap: 1.6rem;
    flex-direction: column;
    align-items: flex-start;
}
header :is(.primary,.nav) li > :is(a,span) {
    display: flex;
    font-weight: 700;
    column-gap: .5rem;
    align-items: center;
    font-size: min(21px,6vw);
}
header :is(.primary,.nav) > li > :is(a,span)::before {
    position: relative;
    content: '';
    padding: .9rem;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
header :is(.primary,.nav) > li:nth-child(1) > :is(a,span)::before {
    background-size: 50%;
    background-image: url(assets/images/1.svg);
}
header :is(.primary,nav) [class^=btn-] {font-size: inherit;}
header :is(.primary,.nav) > li:nth-child(2) > :is(a,span)::before {background-image: url(assets/images/2.svg);}
header :is(.primary,.nav) > li:nth-child(3) > :is(a,span)::before {background-image: url(assets/images/3.svg);}
header :is(.primary,.nav) > li:nth-child(4) > :is(a,span)::before {background-image: url(assets/images/4.svg);}
header .open-nav > span {
    position: relative;
    z-index: 2;
    height: 28px;
    row-gap: 8px;
    display: flex;
    cursor: pointer;
    transition: .2s;
    width: max-content;
    align-items: center;
    color: currentColor;
    flex-direction: column;
    justify-content: center;
}
header .open-nav {
    position: relative;
    display: flex;
    column-gap: 1rem;
    font-weight: 700;
    align-items: center;
}
header.nav-is-open .open-nav > span {
    row-gap: 0;
    transform: rotate(45deg);
}
header .open-nav > span > span {
    width: 1.8rem;
    height: 0.15rem;
    line-height: 0;
    border-radius: 1rem;
    transition: .3s;
    pointer-events: none;
    background: currentColor;
    transform-origin: 55% center;
}
header.nav-is-open .open-nav > span > span:first-child {transform: translate(-.1rem,.2rem) rotate(90deg);}
/* sc2 */
.sc2 .container-max {padding-inline: min(2rem,5vw);}
.sc2 .row {position: relative;}
.sc2 .colmar {
    position: relative;
    gap: 1rem;
    display: flex;
    align-items: flex-end;
    font-size: min(14px,2.9vw);
}
.sc2 .colmar > img {width: min(200px,30vw);}
.sc2 .colmar span {
    position: relative;
    padding-left: 1rem;
    color: var(--cLdimGray);
    border-left: 1px solid currentColor;
}
.sc2 .colmar span > strong {display: block;}
.sc2 .right {
    position: relative;
    display: flex;
    gap: 1rem 1rem;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: flex-end;
}
.agenda-popin {
    position: fixed;
    z-index: 999;
    right: 1rem;
    bottom: 1rem;
    font-size: 1.7rem;
    font-weight: 500;
    border-radius: 2rem;
    color: var(--cLwhite);
    max-width: min(248px, 70vw);
    padding: 0.6rem 1.7rem 0.7rem;
    border: 1px solid var(--cLmintGreenTransparent);
    box-shadow: 0px 10px 40px var(--cLsemiTransparentBlack1);
}
.agenda-popin:hover{
    color:#fff!important;
}
.agenda-popin.close {padding: 1rem 2rem;}
.agenda-popin > * {margin: 0;}
.agenda-popin > .flex {
    position: relative;
    column-gap: 2rem;
    padding-bottom: 1rem;
    justify-content: space-between;
    border-bottom: 1px solid currentColor;
}
.agenda-popin.close > .flex {
    padding-bottom: 0;
    border-bottom: 0px solid transparent;
}
.agenda-popin > p {margin-block: .5rem;}
.agenda-popin .next[class^=btn-] {
    padding: 0;
    overflow:visible;
    column-gap: .3rem;
    font-size: min(25px,6vw);
}
.agenda-popin a.next[class^=btn-] {
    font-size: 13px;
    font-weight: inherit;
}
.agenda-popin.close > *:not(.flex),
.agenda-popin.close a.next[class^=btn-] {display: none;}
.agenda-popin a.next[class^=btn-]::after {padding: .4rem;}
.agenda-popin .text {
    position: relative;
    padding: 1rem;
    row-gap: .4rem;
    border-radius: 1.4rem;
    color: var(--cLblack);
    background-color: var(--cLwhite);
}
.agenda-popin .head {
    padding-bottom: .5rem;
    border-bottom: 1px solid var(--cLlightGray);;
}
.agenda-popin .head .time {
    position: relative;
    display: flex;
    column-gap: 1rem;
    /* justify-content: space-between; */
}
.agenda-popin .head .time > span + span {
    position: relative;
    padding-left: 1rem;
}
.agenda-popin .head .time > span + span::before {
    position: absolute;
    left: 0;
    top: 50%;
    width: 2px;
    content: '';
    height: 70%;
    display: block;
    transform: translateY(-50%);
    background-color: var(--cLlightGray);
}
.agenda-popin .head .time b { display: block;}
.agenda-popin .body {
    font-size: 13px;
    font-weight: 700;
}
.agenda-popin .foot {
    position: relative;
    display: flex;
    column-gap: 1rem;
    align-items: center;
    justify-content: space-between;
}
.agenda-popin .foot > img {
    position: relative;
    width: 150px;
    height: 55px;
    border-radius: 0.6rem;
}
.agenda-popin .foot > .arrow {padding:.9rem;}
/* footer */
footer .row {
    position: relative;
    gap: 3rem 5%;
}
footer [class^="row"] .map {flex: 1 1 350px;}
footer .map iframe {
    height: min(261px,50vw);
    clip-path:inset(0rem round 2rem)
}
footer ul.nav {
    position: relative;
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
}
footer .text {row-gap:1.5rem;}
footer .bottom > .container-xl {padding-bottom: 3rem;}
footer .bottom [class^="row"] {
    position: relative;
    gap: 2rem 0;
}
footer .bottom [class^="flex"] {
    position: relative;
    gap: 1rem 2rem;
    justify-content: center;
}
footer .bottom .left {
    justify-content: center;
    flex: 1 1 600px!important;
}
footer .bottom .right {
    justify-content: center;
    flex: 1 1 600px!important;
}
footer .bottom .cpr {
    position: relative;
    display: flex;
    row-gap: .5rem;
    flex-wrap: wrap;
    font-size: inherit;
    align-items: center;
    justify-content: center;
}
footer .bottom .cpr > li:not(:first-child)::before {
    position: relative;
    content: '-';
    margin-inline: .4rem;
    display: inline-block;
}
footer .bottom .left a:has(>img):not([class]) {
    width: min(200px,35vw);
    display: inline-block;
}


ul.a2a_kit.rs li a span {
    display: none;
}





/* Responsive */
@media (min-width: 768px) {
    header .ct-nav nav {
        gap: 2rem 5%;
        align-items: center;
        justify-content: center;
        background-color: var(--cLwhite);
    }
    [style^="--icn"]{column-gap:.9rem;}
    footer .bottom .cpr {justify-content: inherit;}
    footer .bottom [class^="flex"] {justify-content: inherit;}
}
@media (max-width: 1199px) {
    .input-container:has(>.desk),
    .desk {display: none !important;}
}
@media (min-width: 1200px) {
    .input-container:has(>.mob),
    .mob {display: none !important;}
    :is(h1,h2,h3,h4,h5,h6,[class*=ttl-]) [class^=linear] { margin-inline: -1.2rem;}
    header .nav {row-gap: 4.5rem;}
    header .nav li > a {font-size: 30px;}
    header .ct-nav .rs {margin-top: 2rem;}
    header .ct-nav nav {
        gap: 0 5%;
        padding: 2rem;
        align-content: center;
        align-items: center;
        justify-content: center;
    }
    footer .bottom .cpr {
        font-size: 16px;
    }
    footer .bottom .right,
    footer .bottom .left {flex: 0 0 auto !important;}
    footer .bottom [class^="row"] {justify-content: space-between;}
    footer .bottom > .container-xl {padding-bottom: 0;}
}
@media (min-width: 1360px) {
    header .ct-nav nav .primary {column-gap:min(4rem,4vw);}
}


h1.ttl-26 {
    margin-top: 15px;
}

img.logoentreprise {
    max-width: 250px;
    max-height: 110px;
}