:root{--bg:#07090b;--surface:#101316;--surface2:#15191d;--text:#f7f7f5;--muted:#aeb4b8;--orange:#f57822;--gold:#ffc45e;--blue:#0A3865;--leaf:#6F9068;--line:#272c31;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.topbar{height:82px;display:flex;align-items:center;gap:34px;padding:0 max(24px,calc((100vw - var(--max))/2));border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(7,9,11,.88);backdrop-filter:blur(18px)}.brand{margin-right:auto}.brand img{display:block;width:270px;height:62px;object-fit:contain;object-position:left center}.topbar nav{display:flex;gap:30px;font-size:14px;font-weight:650}.topbar nav a:hover{color:var(--orange)}.menu{display:none;background:none;border:0;color:#fff;font-size:25px}.hero{min-height:620px;position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;padding:80px max(24px,calc((100vw - var(--max))/2));border-bottom:1px solid var(--line)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 48%,rgba(245,120,34,.14),transparent 34%),linear-gradient(115deg,transparent 58%,rgba(255,255,255,.025));pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:720px}.eyebrow,.peca-kicker{margin:0 0 14px;color:var(--orange);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.hero h1{font-size:clamp(46px,6vw,82px);line-height:.95;margin:0 0 14px;letter-spacing:-.045em}.hero-tag{font-size:clamp(18px,2vw,26px);font-weight:750;color:var(--orange);letter-spacing:.04em;margin:0 0 24px}.lead{max-width:650px;color:#d0d4d7;font-size:18px}.actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 23px;border-radius:999px;font-weight:750;font-size:14px}.primary{color:#090909;background:linear-gradient(110deg,var(--gold),var(--orange));box-shadow:0 10px 34px rgba(245,120,34,.18)}.ghost{border:1px solid #4c5257}.hero-art{position:relative;height:440px;z-index:1}.bolt{position:absolute;right:10%;top:-4%;font-size:390px;line-height:1;color:transparent;-webkit-text-stroke:2px rgba(245,120,34,.45);transform:skew(-8deg);font-family:Arial}.circuit{position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--orange));opacity:.45}.c1{width:72%;right:0;top:25%}.c2{width:48%;right:12%;top:53%}.c3{width:62%;right:-10%;top:78%}.section{max-width:var(--max);margin:auto;padding:92px 24px}.section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end;margin-bottom:42px}.section h2,.contact h2{font-size:clamp(34px,4vw,52px);line-height:1.05;margin:0;letter-spacing:-.035em}.section-head>p{color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{min-height:300px;background:linear-gradient(145deg,#171b1f,#0d0f11);border:1px solid var(--line);border-radius:20px;padding:30px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;width:180px;height:180px;right:-90px;top:-90px;background:radial-gradient(circle,rgba(245,120,34,.18),transparent 70%)}.icon{width:48px;height:48px;border:1px solid var(--orange);border-radius:50%;display:grid;place-items:center;color:var(--orange);font-size:22px}.card h3{font-size:24px;margin:28px 0 12px}.card p{color:var(--muted);margin:0}.line{position:absolute;left:30px;bottom:28px;width:48px;height:2px;background:var(--orange)}.peca{background:#f4f7f8;color:#12344c;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center;padding:86px max(24px,calc((100vw - var(--max))/2));position:relative;overflow:hidden}.peca:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(111,144,104,.22),transparent 68%);right:-130px;bottom:-260px}.peca-mark{min-height:310px;border-radius:34px;background:linear-gradient(145deg,#0A3865,#0c4d86);box-shadow:0 28px 60px rgba(10,56,101,.22);color:white;display:flex;flex-direction:column;justify-content:center;padding:48px;position:relative;overflow:hidden}.peca-mark:after{content:"";position:absolute;width:160px;height:160px;border-radius:55% 45% 55% 45%;background:linear-gradient(145deg,#8cab78,#6f9068);right:-45px;bottom:-45px;transform:rotate(-25deg)}.peca-mark strong{font-size:68px;line-height:1;letter-spacing:-.05em}.peca-mark small{margin-top:14px;color:#d7e2ea}.leaf-dot{width:28px;height:28px;border-radius:70% 20% 70% 20%;background:var(--leaf);margin-bottom:28px;transform:rotate(-20deg)}.peca-copy{position:relative;z-index:1}.peca-kicker{color:var(--blue)}.peca-copy h2{font-size:clamp(38px,5vw,62px);line-height:1.02;margin:0 0 22px;letter-spacing:-.04em}.peca-copy>p{max-width:700px}.peca-pills{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.peca-pills span{background:#e8eff5;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}.soon{font-size:13px;color:#5b6d75}.approach{padding-top:100px}.values{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.value{padding:34px 34px 10px 0}.value+ .value{border-left:1px solid var(--line);padding-left:34px}.value b{color:var(--orange);font-size:13px}.value h3{font-size:21px;margin:14px 0 8px}.value p{color:var(--muted);margin:0}.contact{max-width:var(--max);margin:0 auto 90px;padding:55px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}.contact p:not(.eyebrow){color:var(--muted)}footer{max-width:var(--max);margin:auto;padding:0 24px 45px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;color:#b7bdc1;font-size:13px}.footer-brand img{width:260px;height:100px;object-fit:contain;object-position:left top}footer div:not(.footer-brand){display:flex;flex-direction:column;gap:5px}footer strong{color:#fff;margin-bottom:8px}footer a:hover{color:var(--orange)}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px}.reveal{opacity:0;transform:translateY(16px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:820px){.topbar{height:72px}.brand img{width:205px;height:54px}.menu{display:block}.topbar nav{display:none;position:absolute;top:72px;left:0;right:0;background:#0b0d0f;padding:22px 24px;flex-direction:column;border-bottom:1px solid var(--line)}.topbar nav.open{display:flex}.hero{grid-template-columns:1fr;min-height:650px;padding-top:65px}.hero-art{position:absolute;right:-20%;bottom:-10%;width:80%;opacity:.45}.section-head,.peca{grid-template-columns:1fr;gap:38px}.cards,.values{grid-template-columns:1fr}.value+.value{border-left:0;border-top:1px solid var(--line);padding-left:0}.contact{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media(max-width:520px){.hero h1{font-size:48px}.hero-tag{font-size:17px}.section{padding:70px 20px}.peca{padding:70px 20px}.peca-mark{min-height:230px;padding:32px}.peca-mark strong{font-size:54px}footer{grid-template-columns:1fr}.contact{margin-bottom:60px}.btn{width:100%}}

/* Peca — visuel officiel fourni */
.peca-mark.peca-visual{
  padding:0;
  background:#eaf1f7;
  display:flex;
  align-items:center;
  justify-content:center;
}
.peca-mark.peca-visual:after{display:none}
.peca-mark.peca-visual img{
  display:block;
  width:100%;
  height:100%;
  min-height:310px;
  object-fit:cover;
  object-position:center;
}
@media(max-width:520px){
  .peca-mark.peca-visual img{min-height:230px}
}

/* Hero v2 — logo officiel existant, sans éclair décoratif */
.hero{
  grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);
  gap:72px;
}
.hero-logo{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.hero-logo img{
  display:block;
  width:min(100%,500px);
  height:auto;
  object-fit:contain;
}
.hero-art{display:none!important}
.company-vat{
  margin:24px 0 0;
  color:#8f979d;
  font-size:13px;
  font-weight:650;
  letter-spacing:.08em;
}
@media(max-width:820px){
  .hero{
    grid-template-columns:1fr;
    gap:34px;
    padding-top:48px;
  }
  .hero-logo{
    justify-content:center;
  }
  .hero-logo img{
    width:min(82vw,390px);
  }
}

/* Hero v3 — composition finale : logo à gauche, contenu à droite */
.hero{
  min-height:calc(100vh - 86px);
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(420px,1.1fr);
  align-items:center;
  gap:72px;
  padding-top:72px;
  padding-bottom:72px;
}
.hero-logo{
  align-self:center;
  justify-self:end;
  width:100%;
  max-width:470px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-logo img{
  width:100%;
  max-width:440px;
  height:auto;
  max-height:430px;
  object-fit:contain;
}
.hero-copy{
  align-self:center;
  max-width:620px;
}
.hero-copy .eyebrow{
  margin-top:0;
}
.hero-copy .hero-tag{
  margin-top:12px;
  font-size:clamp(22px,2.15vw,34px);
  line-height:1.25;
}
.hero-copy .lead{
  max-width:590px;
  margin-top:26px;
}
.company-vat{
  margin-top:24px;
}
@media(max-width:900px){
  .hero{
    min-height:auto;
    grid-template-columns:1fr;
    gap:32px;
    padding-top:48px;
    padding-bottom:64px;
  }
  .hero-logo{
    justify-self:center;
    max-width:380px;
  }
  .hero-logo img{
    max-width:360px;
    max-height:none;
  }
  .hero-copy{
    max-width:680px;
    margin:0 auto;
  }
}
@media(max-width:520px){
  .hero{
    gap:24px;
    padding-top:34px;
  }
  .hero-logo{
    max-width:290px;
  }
  .hero-logo img{
    max-width:280px;
  }
  .hero-copy .hero-tag{
    font-size:22px;
  }
}

/* Hero v4 — desktop: deux colonnes strictement alignées verticalement */
@media(min-width:901px){
  .hero{
    box-sizing:border-box;
    min-height:calc(100vh - 86px);
    width:100%;
    display:grid;
    grid-template-columns:minmax(360px,1fr) minmax(500px,1.15fr);
    align-items:center;
    justify-content:center;
    column-gap:clamp(56px,7vw,120px);
    padding:64px clamp(48px,8vw,140px);
  }

  .hero-logo{
    position:relative;
    inset:auto;
    align-self:center;
    justify-self:end;
    width:min(100%,520px);
    max-width:520px;
    margin:0;
    padding:0;
    transform:none;
  }

  .hero-logo img{
    display:block;
    width:100%;
    max-width:520px;
    height:auto;
    max-height:none;
    margin:0;
    object-fit:contain;
  }

  .hero-copy{
    position:relative;
    inset:auto;
    align-self:center;
    justify-self:start;
    width:100%;
    max-width:650px;
    margin:0;
    padding:0;
    transform:none;
  }

  .hero-copy .eyebrow{
    margin:0 0 20px;
  }

  .hero-copy .hero-tag{
    margin:0;
    max-width:650px;
    font-size:clamp(30px,3vw,48px);
    line-height:1.12;
  }

  .hero-copy .lead{
    margin:30px 0 0;
    max-width:620px;
    font-size:clamp(17px,1.45vw,21px);
    line-height:1.55;
  }

  .hero-copy .actions{
    margin-top:32px;
  }

  .company-vat{
    margin-top:24px;
  }
}

/* Mobile/tablette : logo puis contenu, centrés proprement */
@media(max-width:900px){
  .hero{
    display:grid;
    grid-template-columns:1fr;
    align-items:start;
    gap:34px;
  }
  .hero-logo,
  .hero-copy{
    justify-self:center;
    align-self:auto;
    margin:0;
    transform:none;
  }
}

/* Hero v5 — sans logo */
.hero{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:calc(100vh - 86px);
  padding:72px clamp(24px,8vw,140px)!important;
}
.hero-copy{
  width:min(100%,760px)!important;
  max-width:760px!important;
  margin:0 auto!important;
  padding:0!important;
  justify-self:auto!important;
  align-self:center!important;
  transform:none!important;
}
.hero-logo{display:none!important}
@media(max-width:900px){
  .hero{
    min-height:auto;
    padding:52px 22px 64px!important;
  }
}
