
:root{--nuit:#071428;--nuit2:#10233e;--nuit3:#163456;--or:#d8b36a;--or2:#f0d79d;--ivoire:#f7f3eb;--blanc:#fff;--texte:#14233b;--muted:#627086;--ligne:#dde4ed;--vert:#2cb89c;--ombre:0 22px 60px rgba(8,22,43,.14);--ombre2:0 12px 34px rgba(8,22,43,.1);--r1:18px;--r2:26px;--r3:34px;--conteneur:min(1220px,calc(100% - 40px));--header:82px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--texte);background:#fff;line-height:1.58;overflow-x:hidden}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.container{width:var(--conteneur);margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:14px;top:14px;z-index:9999;background:#fff;padding:10px 14px;border-radius:10px}.site-header{position:sticky;top:0;z-index:1000;background:rgba(7,20,40,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 24px rgba(0,0,0,.12)}.nav-wrap{min-height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{flex:0 0 auto}.brand img{width:188px;height:auto}.nav{display:flex;align-items:center;gap:22px;color:rgba(255,255,255,.84)}.nav a{font-size:.93rem;font-weight:650;white-space:nowrap;transition:.2s}.nav a:hover,.nav a[aria-current=page]{color:#fff}.nav a[aria-current=page]{box-shadow:inset 0 -2px var(--or)}.nav-cta{padding:12px 18px;border-radius:999px;background:linear-gradient(135deg,var(--or2),var(--or));color:var(--nuit)!important;box-shadow:none!important}.menu-toggle{display:none;width:46px;height:44px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.07);color:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:22px;height:2px;background:#fff;border-radius:9px}.hero{position:relative;padding:76px 0 68px;color:#fff;background:radial-gradient(circle at 80% 18%,rgba(53,109,177,.22),transparent 34%),radial-gradient(circle at 10% 90%,rgba(216,179,106,.14),transparent 28%),linear-gradient(145deg,var(--nuit),var(--nuit2) 70%,#133152);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;opacity:.08;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(#000,transparent 90%)}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:52px;align-items:center}.hero-copy{min-width:0}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;color:#a67526;font-size:.78rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.eyebrow.light{color:var(--or2)}h1,h2,h3{margin:0 0 16px;line-height:1.12}h1{font-size:clamp(2.8rem,5.25vw,5rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,3.5vw,3.35rem);letter-spacing:-.035em}h3{font-size:1.28rem}.hero h1{max-width:13ch}.lead{margin:0;color:var(--muted);font-size:1.05rem}.lead.light{color:rgba(255,255,255,.78)}.hero .lead{max-width:66ch}.btn-row{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--or2),var(--or));color:var(--nuit);box-shadow:0 12px 28px rgba(216,179,106,.23)}.btn-secondary{color:#fff;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.07)}.hero-visual{border-radius:var(--r3);overflow:hidden;background:#09172b;border:1px solid rgba(255,255,255,.12);box-shadow:0 34px 90px rgba(0,0,0,.38)}.hero-visual picture{display:block;width:100%;aspect-ratio:4/3;overflow:hidden}.hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hero-visual-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.09)}.hero-visual-footer div{padding:15px 14px;background:#0b1b31}.hero-visual-footer strong{display:block;color:#fff;font-size:.9rem}.hero-visual-footer span{display:block;margin-top:4px;color:rgba(255,255,255,.58);font-size:.78rem}.proof-strip{margin-top:36px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.proof{display:flex;gap:12px;align-items:center;padding:15px 16px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.proof i{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(216,179,106,.18);color:var(--or2);font-style:normal;font-weight:900}.proof strong{display:block;font-size:.9rem}.proof span{display:block;color:rgba(255,255,255,.58);font-size:.77rem}.section{padding:92px 0}.section-paper{background:var(--ivoire)}.section-ink{color:#fff;background:linear-gradient(145deg,var(--nuit),var(--nuit2))}.section-ink .lead{color:rgba(255,255,255,.7)}.section-head{max-width:820px;margin:0 auto 38px;text-align:center}.section-head p{max-width:720px;margin:auto}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.value-card{padding:24px;border-radius:var(--r2);background:#fff;border:1px solid var(--ligne);box-shadow:var(--ombre2)}.value-card b{display:inline-grid;place-items:center;width:46px;height:46px;margin-bottom:16px;border-radius:15px;background:linear-gradient(135deg,var(--or2),var(--or));color:var(--nuit)}.value-card p{margin:0;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{padding:28px;border-radius:var(--r2);background:#fff;border:1px solid var(--ligne);box-shadow:var(--ombre2);display:flex;flex-direction:column;min-height:290px}.service.dark{color:#fff;background:linear-gradient(145deg,var(--nuit),var(--nuit3));border-color:rgba(255,255,255,.1)}.service .icon{width:50px;height:50px;display:grid;place-items:center;margin-bottom:22px;border-radius:16px;background:linear-gradient(135deg,var(--or2),var(--or));color:var(--nuit);font-weight:900}.service p{color:var(--muted)}.service.dark p{color:rgba(255,255,255,.7)}.text-link{margin-top:auto;padding-top:18px;color:#a67526;font-weight:800}.service.dark .text-link{color:var(--or2)}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.project{overflow:hidden;border-radius:var(--r3);background:#fff;border:1px solid var(--ligne);box-shadow:var(--ombre)}.project-media{background:#e9eef5;overflow:hidden}.project-media img{width:100%;aspect-ratio:3/1.9;object-fit:cover;transition:transform .35s}.project:hover .project-media img{transform:scale(1.018)}.project-body{padding:26px}.project-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.tag{padding:7px 10px;border-radius:999px;background:#edf2f8;color:#334864;font-size:.76rem;font-weight:750}.project p{color:var(--muted);margin:0}.project-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;color:#48617e;font-size:.82rem}.project-list span:before{content:"✓";margin-right:5px;color:#168265;font-weight:900}.agile{display:grid;grid-template-columns:.78fr 1.22fr;gap:52px;align-items:center}.agile-cycle{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.agile-step{padding:22px;border-radius:22px;background:#fff;border:1px solid var(--ligne);box-shadow:var(--ombre2)}.agile-step b{display:grid;place-items:center;width:42px;height:42px;margin-bottom:15px;border-radius:14px;background:var(--ivoire);color:#a67526}.agile-step p{margin:0;color:var(--muted);font-size:.91rem}.agile-note{margin-top:22px;padding:18px;border-left:4px solid var(--or);border-radius:0 16px 16px 0;background:#fff;color:var(--muted)}.cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.cert{display:grid;grid-template-columns:86px 1fr;gap:22px;padding:30px;border-radius:var(--r3);background:#fff;border:1px solid var(--ligne);box-shadow:var(--ombre2)}.cert-mark{width:76px;height:76px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,#1c5c66,#102f45);color:#fff;font-weight:900}.cert.pcm .cert-mark{background:linear-gradient(145deg,#9c7131,#e1bd72);color:var(--nuit)}.checks{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:9px}.checks li{position:relative;padding-left:22px;color:var(--muted)}.checks li:before{content:"✓";position:absolute;left:0;color:#168265;font-weight:900}.team-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:46px;align-items:start}.roles{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.role{padding:20px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.role strong{display:block;color:var(--or2);margin-bottom:7px}.role span{color:rgba(255,255,255,.68);font-size:.91rem}.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.media-card{border-radius:var(--r3);overflow:hidden;background:#fff;border:1px solid var(--ligne);box-shadow:var(--ombre)}.media-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.media-card.tall img{aspect-ratio:4/5}.bullet-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:13px}.bullet-list li{position:relative;padding-left:28px;color:var(--muted)}.bullet-list li:before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:50%;background:var(--or);box-shadow:0 0 0 5px rgba(216,179,106,.16)}.cta{padding:70px 0;color:#fff;background:linear-gradient(135deg,var(--nuit),#173a60)}.cta-box{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;padding:38px;border-radius:var(--r3);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:start}.contact-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:26px}.contact-card{padding:17px;border-radius:18px;background:#fff;border:1px solid var(--ligne);box-shadow:var(--ombre2)}.contact-card strong{display:block}.contact-card a,.contact-card span{color:var(--muted)}.form{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:28px;border-radius:var(--r3);background:#fff;border:1px solid var(--ligne);box-shadow:var(--ombre)}.form label{display:grid;gap:7px;font-weight:750}.form .full{grid-column:1/-1}.form input,.form textarea,.form select{width:100%;padding:13px 15px;border:1px solid #d4dde8;border-radius:14px;background:#fbfcfe;color:var(--texte)}.form input:focus,.form textarea:focus,.form select:focus{outline:3px solid rgba(216,179,106,.18);border-color:var(--or)}.form .btn{grid-column:1/-1;justify-self:start}.footer{padding:44px 0 24px;background:#050d19;color:rgba(255,255,255,.68)}.footer-grid{display:grid;grid-template-columns:1.25fr .75fr .9fr;gap:34px}.footer-logo{width:190px;margin-bottom:14px}.footer strong{display:block;color:#fff;margin-bottom:12px}.footer a,.footer span{display:block;margin-bottom:8px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font-size:.85rem}.page-hero{padding:66px 0;color:#fff;background:linear-gradient(145deg,var(--nuit),var(--nuit2))}.page-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}.page-hero h1{max-width:13ch}.page-hero-image{border-radius:var(--r3);overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:var(--ombre)}.page-hero-image img{width:100%;aspect-ratio:16/10;object-fit:cover}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.detail-card{padding:26px;border-radius:var(--r2);background:#fff;border:1px solid var(--ligne);box-shadow:var(--ombre2)}.detail-card p{color:var(--muted)}.detail-number{display:grid;place-items:center;width:44px;height:44px;margin-bottom:16px;border-radius:14px;background:linear-gradient(135deg,var(--or2),var(--or));font-weight:900}.timeline{display:grid;gap:14px}.timeline article{display:grid;grid-template-columns:120px 1fr;gap:22px;padding:20px;border-radius:20px;background:#fff;border:1px solid var(--ligne);box-shadow:var(--ombre2)}.timeline time{font-weight:900;color:#a67526}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.price{padding:28px;border-radius:var(--r3);background:#fff;border:1px solid var(--ligne);box-shadow:var(--ombre2);display:flex;flex-direction:column}.price.featured{color:#fff;background:linear-gradient(145deg,var(--nuit),var(--nuit3));border-color:rgba(255,255,255,.1)}.price.premium{color:#fff;background:linear-gradient(145deg,#0b352f,#0d5649);border-color:rgba(255,255,255,.1)}.price ul{list-style:none;padding:0;margin:22px 0;display:grid;gap:10px}.price li{position:relative;padding-left:22px;color:var(--muted)}.price li:before{content:"✓";position:absolute;left:0;color:#168265;font-weight:900}.price.featured li,.price.premium li{color:rgba(255,255,255,.78)}.price.featured li:before,.price.premium li:before{color:var(--or2)}.price .btn{margin-top:auto}.partner{display:flex;align-items:center;gap:22px;padding:22px;border-radius:22px;background:#fff;border:1px solid var(--ligne);box-shadow:var(--ombre2)}.partner img{width:210px;height:auto}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:260px;gap:16px}.gallery figure{margin:0;overflow:hidden;border-radius:var(--r2);background:#ddd;box-shadow:var(--ombre2)}.gallery figure:first-child{grid-row:span 2}.gallery figure:nth-child(4){grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover}.mobile-cta{display:none}.cursor-layer{position:fixed;inset:0;pointer-events:none;z-index:9999}.cursor-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle,rgba(255,239,205,.95),rgba(216,179,106,.18));transform:translate(-50%,-50%);mix-blend-mode:screen}.simple{min-height:100vh;display:grid;place-items:center;padding:28px;background:var(--ivoire)}.simple-card{width:min(760px,100%);padding:40px;border-radius:var(--r3);background:#fff;box-shadow:var(--ombre)}.simple-card img{width:210px;margin-bottom:22px}.case-note{margin-top:16px;color:#718096;font-size:.82rem}
@media(max-width:1100px){.nav{gap:14px}.nav a{font-size:.86rem}.hero-grid{grid-template-columns:1fr 1fr;gap:34px}.proof-strip,.value-grid{grid-template-columns:repeat(2,1fr)}.services{grid-template-columns:repeat(2,1fr)}.agile{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}.pricing{grid-template-columns:1fr 1fr}.price.premium{grid-column:1/-1}.gallery{grid-template-columns:1fr 1fr}.gallery figure:first-child,.gallery figure:nth-child(4){grid-row:auto;grid-column:auto}}
@media(max-width:900px){:root{--header:72px}.menu-toggle{display:flex}.nav{position:fixed;top:calc(var(--header) + 10px);left:16px;right:16px;display:none;flex-direction:column;align-items:stretch;padding:18px;border-radius:20px;background:rgba(5,13,25,.98);border:1px solid rgba(255,255,255,.1);box-shadow:var(--ombre);max-height:calc(100svh - 100px);overflow:auto}.nav.open{display:flex}.nav a{padding:10px 8px}.nav-cta{text-align:center}.hero{padding:52px 0 58px}.hero-grid,.page-hero-grid,.feature-split,.contact-layout,.team-layout,.cta-box{grid-template-columns:1fr}.hero-copy{order:1}.hero-visual{order:2}.hero h1,.page-hero h1{max-width:16ch}.hero-visual picture{aspect-ratio:16/10}.hero-visual-footer{grid-template-columns:1fr 1fr}.hero-visual-footer div:last-child{grid-column:1/-1}.projects,.cert-grid{grid-template-columns:1fr}.roles{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.pricing{grid-template-columns:1fr}.price.premium{grid-column:auto}.gallery{grid-template-columns:1fr 1fr}.contact-layout{gap:28px}}
@media(max-width:640px){:root{--conteneur:min(100% - 26px,1220px);--header:68px}.brand img{width:154px}.section{padding:68px 0}.hero{padding:38px 0 48px}.hero h1{font-size:clamp(2.25rem,11.6vw,3.25rem);max-width:100%}.lead{font-size:.98rem}.btn-row{display:grid;grid-template-columns:1fr}.btn{width:100%}.hero-visual{border-radius:22px}.hero-visual picture{aspect-ratio:4/3}.hero-visual-footer{grid-template-columns:1fr}.hero-visual-footer div:last-child{grid-column:auto}.proof-strip,.value-grid,.services,.detail-grid,.roles,.contact-cards,.form,.agile-cycle,.gallery{grid-template-columns:1fr}.proof-strip{margin-top:24px}.proof{padding:13px}.project-media img{aspect-ratio:16/11}.project-body{padding:21px}.cert{grid-template-columns:1fr}.cert-mark{width:66px;height:66px}.timeline article{grid-template-columns:1fr;gap:6px}.partner{flex-direction:column;align-items:flex-start}.partner img{width:180px}.form .full,.form .btn{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.mobile-cta{position:fixed;opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .25s ease,transform .25s ease;left:10px;right:10px;bottom:10px;z-index:900;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;border-radius:17px;background:rgba(5,13,25,.94);backdrop-filter:blur(12px);box-shadow:0 18px 44px rgba(0,0,0,.3)}.mobile-cta.show{opacity:1;transform:none;pointer-events:auto}.mobile-cta a{min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:.84rem;font-weight:900}.mobile-cta a:first-child{background:var(--or2);color:var(--nuit)}.mobile-cta a:last-child{color:#fff;border:1px solid rgba(255,255,255,.15)}body{padding-bottom:72px}.cursor-layer{display:none}.page-hero{padding:44px 0}.page-hero h1{font-size:clamp(2.25rem,11vw,3.2rem);max-width:100%}.page-hero-image img{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.cursor-layer{display:none}}

/* Version 5 — correction définitive du chevauchement du visuel d’accueil */
.hero-media{
  min-width:0;
  display:grid;
  gap:14px;
  align-self:center;
}
.hero-media .hero-visual{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:100%;
  border-radius:28px;
  overflow:hidden;
  background:#09172b;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 30px 72px rgba(0,0,0,.34);
}
.hero-media .hero-visual picture{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
}
.hero-media .hero-visual img{
  position:relative;
  inset:auto;
  display:block;
  width:100%;
  height:100%;
  max-height:430px;
  object-fit:cover;
  object-position:center 42%;
  transform:none;
}
.hero-media-caption{
  position:static !important;
  inset:auto !important;
  transform:none !important;
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  z-index:auto;
}
.hero-media-caption span{
  min-width:0;
  display:grid;
  gap:3px;
  padding:13px 14px;
  border-radius:15px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.62);
  font-size:.76rem;
  line-height:1.35;
}
.hero-media-caption strong{
  display:block;
  color:#fff;
  font-size:.86rem;
  line-height:1.25;
}
/* Neutralise les anciens panneaux superposés éventuellement conservés par un ancien HTML. */
.hero-visual .hero-visual-footer,
.hero-visual .project-panel,
.hero-visual .project-digital,
.hero-visual .digital-project,
.hero-visual .dashboard-overlay,
.hero-visual .hero-panel{
  position:static !important;
  inset:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
@media(max-width:900px){
  .hero-media{order:2}
  .hero-media .hero-visual picture{aspect-ratio:16/10}
  .hero-media .hero-visual img{max-height:380px}
  .hero-media-caption{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
  .hero-media{gap:10px}
  .hero-media .hero-visual{border-radius:20px}
  .hero-media .hero-visual picture{aspect-ratio:4/3}
  .hero-media .hero-visual img{max-height:290px;object-position:center 38%}
  .hero-media-caption{grid-template-columns:1fr;gap:8px}
  .hero-media-caption span{padding:11px 12px}
}

/* L’image reste toujours avant les légendes, y compris avec les anciennes règles mobiles. */
.hero-media .hero-visual{order:0 !important}
.hero-media-caption{order:1 !important}
