/* UNI_CITY clone — FR (default) — coordinates = live y − 50 (Wix banner removed) */

html, body { margin: 0; padding: 0; background: #fff; overflow-x: hidden; }
img { display: block; }
a { text-decoration: none; }

#scale-wrap { position: relative; width: 1920px; transform-origin: top left; }
#frame { position: relative; width: 1920px; height: 4707px; }
.abs { position: absolute; }

/* ---------- fixed layers (outside scale-wrap, scaled by fitPage) ---------- */
.fx { position: fixed; top: 0; left: 0; transform-origin: top left; z-index: 10; }
#pagebg { width: 1920px; height: 1296px; z-index: 0; overflow: hidden; }
#pagebg img { width: 1920px; height: 1296px; object-fit: cover; }

#site-header { width: 1920px; height: 100px; background: #fff; z-index: 30; }

#chat { z-index: 40; width: 332px; height: 54px; background: #000; border-radius: 8px;
        color: #fff; display: flex; align-items: center; cursor: pointer; }
#chat svg { margin-left: 19px; flex: none; }
#chat span { margin-left: 14px; font-family: 'Nunito Sans', sans-serif; font-weight: 800;
             font-size: 15px; letter-spacing: 3.2px; }

#totop { z-index: 40; width: 26px; height: 14px; cursor: pointer; display: none; }

/* ---------- header content ---------- */
#site-header .logo { position: absolute; left: 420px; top: 3px; width: 96px; height: 96px; }
#site-header .brand { position: absolute; left: 575px; top: 29px; font-family: 'Montserrat', sans-serif;
                      font-weight: 700; font-size: 17px; letter-spacing: 4.5px; color: #000; }
#site-header .tagline { position: absolute; left: 470px; top: 58px; width: 316px; text-align: center;
                        font-family: 'Nunito Sans', sans-serif; font-weight: 300; font-size: 14px;
                        letter-spacing: 2.1px; color: #000; }
#site-header nav a { position: absolute; top: 26px; height: 50px; line-height: 50px;
                     font-family: 'Nunito Sans', sans-serif; font-weight: 300; font-size: 15px;
                     color: #000; text-align: center; }
#site-header nav a.active { color: #57bbbf; }

.langbox { position: absolute; left: 1478px; top: 24px; width: 90px; height: 47px;
           border: 1px solid #d4d4d4; background: #fff; cursor: pointer; z-index: 31; }
.langbox .cur { position: absolute; left: 15px; top: 13px; font-family: 'Nunito Sans', sans-serif;
                font-weight: 300; font-size: 15px; color: #000; }
.langbox svg { position: absolute; left: 63px; top: 22px; }
.langdrop { display: none; position: absolute; left: -1px; top: 48px; width: 90px; background: #fff;
            border: 1px solid #d4d4d4; }
.langbox:hover .langdrop { display: block; }
.langdrop a { display: block; padding: 8px 15px; font-family: 'Nunito Sans', sans-serif;
              font-weight: 300; font-size: 15px; color: #000; }
.langdrop a:hover { background: #f2f2f2; }
.langdrop a.active { font-weight: 700; }

/* ---------- generic text classes ---------- */
.lulo { font-family: 'Montserrat', sans-serif; font-weight: 700; }
.avenir { font-family: 'Nunito Sans', sans-serif; font-weight: 300; }
.avenir-hv { font-family: 'Nunito Sans', sans-serif; font-weight: 800; }
.futura { font-family: 'Jost', sans-serif; font-weight: 400; }
.futura-l { font-family: 'Jost', sans-serif; font-weight: 300; }
.palatino { font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif; }

/* ---------- strips ---------- */
.strip { position: absolute; left: 0; width: 1920px; }
#hero { top: 101px; height: 973px; overflow: hidden; }
#vision { top: 1074px; height: 829px; background: #fff; }
#mission { top: 1903px; height: 808px; }
#deploiement { top: 2711px; height: 791px; background: #fff; }
#accomp { top: 3506px; height: 679px; background: #fafafa; }
#footer { top: 4190px; height: 517px; background: #57bbbf; }

#herobg { position: absolute; left: 0; top: -50px; width: 1920px; height: 1080px; will-change: transform; }
#herobg img { width: 1920px; height: 1080px; object-fit: cover; }

/* ---------- hero content ---------- */
.hero-logo { left: 917px; top: 234px; width: 84px; height: 84px; }
.hero-sub { left: 522px; top: 338px; width: 875px; text-align: center; color: #fff;
            font-size: 16.5px; letter-spacing: .7px; line-height: 23.8px; }
.hero-title { left: 450px; top: 380px; width: 980px; text-align: center; color: #fff;
              font-size: 74px; letter-spacing: 7.8px; line-height: 70px; transform: scaleX(1.1); }
.hero-btn { left: 887px; top: 536px; width: 144px; height: 40px; border-radius: 20px;
            border: 2px solid #323232; background: rgba(255,255,255,.92);
            color: #323232; font-size: 13px; line-height: 36px; text-align: center; }

/* ---------- vision ---------- */
.v-title { left: 503px; top: 1193px; font-size: 46px; line-height: 50.4px; color: #000; }
.v-title .l1 { letter-spacing: 5.3px; }
.v-title .l2 { letter-spacing: 4.6px; }
.v-text { left: 503px; top: 1350px; width: 393px; font-size: 17px; line-height: 20px; color: #000; }
.v-img { left: 960px; top: 1074px; width: 960px; height: 829px; }

/* ---------- mission ---------- */
.m-title { left: 470px; top: 2009px; font-size: 46px; line-height: 50.4px; letter-spacing: 4.5px; color: #000; }

#ssl { left: 470px; top: 2085px; width: 980px; height: 516px; }
#ssl .slide { position: absolute; left: 0; top: 0; width: 980px; height: 516px; display: none; }
#ssl .slide.on { display: block; }
#ssl .simg { position: absolute; left: 0; top: 0; width: 980px; height: 516px; overflow: hidden; }
#ssl .simg img { width: 980px; height: 516px; }
#ssl .spanel { position: absolute; left: 490px; top: 0; width: 490px; height: 516px; background: rgba(255,255,255,.93); }
#ssl .spanel h2 { position: absolute; left: 80px; top: 85px; width: 285px; margin: 0; text-align: center;
                  font-family: 'Jost', sans-serif; font-weight: 400; font-size: 26px; color: #110a2b; }
#ssl .spanel p { position: absolute; left: 50px; top: 152px; width: 346px; margin: 0;
                 font-family: 'Nunito Sans', sans-serif; font-weight: 300; font-size: 15px;
                 letter-spacing: .3px; line-height: 25.5px; color: #000; }
#ssl .arrow { position: absolute; top: 237px; width: 20px; height: 42px; cursor: pointer; z-index: 3; }
#ssl .arrow svg { width: 20px; height: 42px; }
#ssl .prev { left: 44px; }
#ssl .next { left: 916px; }
#ssl .dots { position: absolute; left: 463px; top: 481px; height: 8px; z-index: 3; }
#ssl .dots i { display: inline-block; width: 8px; height: 8px; border-radius: 50%;
               background: rgba(0,0,0,.35); margin-right: 15px; cursor: pointer; }
#ssl .dots i.on { background: #000; }

/* ---------- déploiement ---------- */
.d-img { left: 0; top: 2711px; width: 1211px; height: 791px; }
.d-title { left: 1385px; top: 2795px; font-size: 46px; letter-spacing: 7.7px; color: #000; }
.d-sub { left: 1385px; top: 2918px; font-size: 16px; color: #110a2b; }
.d-text { left: 1388px; top: 2967px; width: 298px; font-size: 15px; letter-spacing: .75px;
          line-height: 22.5px; color: #000; }
.d-btn { left: 1466px; top: 3398px; width: 200px; height: 43px; background: #000; color: #fff;
         font-size: 16px; line-height: 43px; text-align: center; }

/* ---------- accompagnateurs ---------- */
.a-title { left: 699px; top: 3576px; width: 523px; text-align: center; font-size: 44px; color: #2a2a2a; }
.a-bar { left: 944px; top: 3656px; width: 32px; height: 5px; background: #0f0f0f; }
.a-logo1 { left: 525px; top: 3735px; width: 204px; height: 205px; }
.a-logo2 { left: 858px; top: 3735px; width: 204px; height: 205px; }
.a-logo3 { left: 1187px; top: 3735px; width: 198px; height: 205px; }
.a-cap { font-size: 16px; line-height: 19px; color: #110a2b; text-align: center; }
.a-cap1 { left: 476px; top: 3973px; width: 317px; }
.a-cap2 { left: 887px; top: 3975px; width: 142px; }
.a-cap3 { left: 1133px; top: 3967px; width: 305px; }

/* ---------- footer ---------- */
.f-bar { left: 503px; top: 4256px; width: 22px; height: 4px; background: #000; }
.f-title { left: 503px; top: 4278px; font-size: 17px; letter-spacing: 5px; color: #000; }
.f-addr { left: 503px; top: 4324px; font-size: 15px; letter-spacing: .3px; line-height: 25.5px; color: #000; }
.f-mail { left: 503px; top: 4426px; font-size: 15px; letter-spacing: .3px; line-height: 25.5px; color: #000; }
.f-linkedin { left: 498px; top: 4518px; width: 25px; height: 25px; }
.f-copy { left: 503px; top: 4624px; font-size: 14px; letter-spacing: .56px; line-height: 22.4px; color: #000; }
.f-privacy { left: 692px; top: 4624px; font-size: 14px; letter-spacing: .56px; line-height: 22.4px;
             color: #000; text-decoration: underline; }

.cform input, .cform textarea { position: absolute; left: 973px; width: 443px; box-sizing: border-box;
  background: #57bbbf; border: 2px solid #000; color: #000; padding: 0 10px;
  font-family: 'Nunito Sans', sans-serif; font-weight: 300; font-size: 15px; outline: none; }
.cform input { height: 35px; }
.cform input::placeholder, .cform textarea::placeholder { color: #333; opacity: 1; }
.cform .in-nom { top: 4277px; }
.cform .in-email { top: 4319px; }
.cform .in-tel { top: 4360px; }
.cform textarea { top: 4400px; height: 126px; padding-top: 8px; resize: none; }
.cform button { position: absolute; left: 1289px; top: 4533px; width: 127px; height: 39px;
  background: #000; border: 2px solid #000; color: #fff; cursor: pointer;
  font-family: 'Nunito Sans', sans-serif; font-weight: 300; font-size: 16px; }
