/* ═══════════════════════════════════════════
   HERO MINIMALISTE UNIFIÉ — Services & News
   ═══════════════════════════════════════════ */
.hero{
  margin-top:76px;
  padding:40px 0;
  background:var(--primary);
  position:relative;
  overflow:hidden;
  height:calc(100vh - 76px);
  height:calc(100svh - 76px);
  display:flex;
  align-items:center;
}
.hero--compact{
  height:auto;
  display:block;
  padding:100px 0 80px;
}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 70% 50%,rgba(14,165,233,.08) 0%,transparent 60%);
  pointer-events:none;
}
/* ââ Layout ââ */
.hero .container{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}
.hero-content{
  min-width:0;
}
/* ââ Breadcrumb ââ */
.hero-bread{
  font-family:var(--font-display);
  font-size:12px;
  font-weight:600;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--accent-light);
  margin-bottom:16px;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.hero-bread a{color:rgba(255,255,255,.4);text-decoration:none;transition:var(--transition)}
.hero-bread a:hover{color:var(--accent-light)}
.hero-bread span{color:rgba(255,255,255,.2)}
/* ââ Tag / catégorie ââ */
.hero-tag,.hero-cats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:14px;
}
.hero-tag span,.hero-cat,.hero-cat-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 12px;
  background:rgba(14,165,233,.12);
  border:1px solid rgba(14,165,233,.2);
  font-family:var(--font-display);
  font-size:11px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--accent-light);
}
/* Dot animé tag service */
.hero-tag span::before{
  content:'';
  width:6px;height:6px;
  background:var(--accent-light);
  border-radius:50%;
  animation:heroDot 2s ease-in-out infinite;
}
@keyframes heroDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
/* ââ Titre ââ */
.hero-title{
  font-size:clamp(40px,6vw,64px);
  font-weight:800;
  color:#fff;
  line-height:1.05;
  letter-spacing:-2px;
  margin-bottom:24px;
}
.hero-title em{
  font-style:normal;
  background:linear-gradient(135deg,var(--accent-light),#06b6d4);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
/* ââ Description ââ */
.hero-desc,.hero-sub{
  font-size:18px;
  color:rgba(255,255,255,.6);
  line-height:1.8;
  max-width:520px;
  margin-bottom:36px;
}
.hero-sub{font-size:19px;max-width:640px}
/* ââ Meta (date, temps lecture) ââ */
.hero-meta{
  display:flex;
  align-items:center;
  gap:16px;
  font-size:13px;
  color:rgba(255,255,255,.35);
  font-weight:500;
  margin-top:8px;
}
.hero-meta svg{width:14px;height:14px;opacity:.6}
.hero-meta span{display:flex;align-items:center;gap:6px}
/* ââ Boutons ââ */
.hero-btns{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:4px;
}
.hero-btns .btn{padding:10px 22px;font-size:13px}
/* ââ Image décorative ââ */
.hero-visual{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-shrink:0;
}
.hero-img-wrap{
  position:relative;
  width:100%;
  max-width:480px;
  max-height:calc(100vh - 200px);
  max-height:calc(100svh - 200px);
}
.hero-img-wrap img{
  width:100%;
  height:100%;
  max-height:calc(100vh - 200px);
  max-height:calc(100svh - 200px);
  object-fit:contain;
  display:block;
  opacity:1;
  transition:opacity .4s;
  position:relative;
  z-index:2;
}

/* Cadre decoratif bleu (c2) */
.hero-img-wrap::before{
  content:'';
  position:absolute;
  inset:-12px;
  border:2px solid rgba(14,165,233,0.2);
  z-index:1;
  pointer-events:none;
}
/* Bloc accent derriere (c2) */
.hero-img-wrap::after{
  content:'';
  position:absolute;
  bottom:-20px;
  right:-20px;
  width:120px;
  height:120px;
  background:var(--accent-vivid);
  opacity:0.1;
  z-index:0;
  pointer-events:none;
}
/* ââ Responsive ââ */
@media(max-width:768px){
  .hero{padding:80px 0 64px}
  .hero .container{grid-template-columns:1fr;gap:40px}
  .hero-visual{width:100%;max-width:100%;order:-1}
  .hero-img-wrap{max-width:100%}
  .hero-title{letter-spacing:-1px}
  .hero-desc{font-size:16px}
}

:root{--primary:#0F172A;--primary-light:#1E293B;--accent:#0369A1;--accent-light:#0EA5E9;--accent-vivid:#0284C7;--accent-subtle:#E0F2FE;--orange:#F97316;--emerald:#10B981;--bg:#F8FAFC;--bg-white:#FFFFFF;--text:#020617;--text-secondary:#475569;--text-muted:#64748B;--border:#E2E8F0;--shadow-sm:0 1px 2px rgba(15,23,42,0.05);--shadow-md:0 4px 16px rgba(15,23,42,0.08);--shadow-lg:0 8px 32px rgba(15,23,42,0.12);--shadow-accent:0 4px 20px rgba(3,105,161,0.15);--font-heading:"Plus Jakarta Sans","Space Grotesk",sans-serif;--font-body:"DM Sans",sans-serif;--font-display:"Space Grotesk",sans-serif;--max-width:1200px;--transition:0.3s cubic-bezier(0.4,0,0.2,1);--success:#10B981;--radius:0px;--radius-lg:0px}

    body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}

    .hero::before{content:'';position:absolute;top:-30%;right:-15%;width:700px;height:700px;background:radial-gradient(circle,rgba(14,165,233,0.12) 0%,transparent 70%);pointer-events:none}

    .hero::after{content:attr(data-watermark);position:absolute;right:-20px;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-size:280px;font-weight:700;color:rgba(255,255,255,0.02);pointer-events:none;letter-spacing:-8px}

    .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}

    .hero-bread{font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--accent-light);margin-bottom:32px}

    .hero-bread a{color:rgba(255,255,255,0.5);transition:var(--transition)}

    .hero-bread a:hover{color:var(--accent-light)}

    .hero-bread span{color:rgba(255,255,255,0.3);margin:0 8px}

    .hero-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:rgba(14,165,233,0.15);border:1px solid rgba(14,165,233,0.25);font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent-light);margin-bottom:24px}

    .hero-tag::before{content:'';width:8px;height:8px;background:var(--accent-light);animation:pulse 2s infinite}

    @keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}

    .hero-title{font-size:clamp(40px,6vw,64px);font-weight:800;color:#fff;line-height:1.05;letter-spacing:-2px;margin-bottom:24px}

    .hero-title em{font-style:normal;background:linear-gradient(135deg,var(--accent-light),#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

    .typed-cursor{font-weight:300;color:var(--accent-light);animation:blink-cursor 0.75s step-end infinite;font-size:clamp(40px,6vw,64px)}

    @keyframes blink-cursor{from,to{opacity:1}50%{opacity:0}}

    .split-line{display:block;overflow:hidden}

    .split-line-inner{display:block;transform:translateY(110%);transition:transform 0.8s cubic-bezier(0.16,1,0.3,1)}

    .split-line.revealed .split-line-inner{transform:translateY(0)}

    .word-reveal{display:inline-block;margin-right:0.25em;opacity:0;transform:translateY(20px) rotateX(-40deg);transition:opacity 0.6s ease,transform 0.6s cubic-bezier(0.16,1,0.3,1)}

    .word-reveal.revealed{opacity:1;transform:translateY(0) rotateX(0deg)}

    .draw-underline{position:relative;display:inline-block}

    .draw-underline::after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:3px;background:var(--accent-vivid);transform:scaleX(0);transform-origin:left;transition:transform 0.8s cubic-bezier(0.16,1,0.3,1) 0.3s}

    .draw-underline.revealed::after{transform:scaleX(1)}

    .count-up-line{display:inline-block;transform:translateY(100%);opacity:0;transition:transform 0.7s cubic-bezier(0.16,1,0.3,1),opacity 0.7s ease}

    .count-up-line.revealed{transform:translateY(0);opacity:1}

    .hero-desc{font-size:18px;color:rgba(255,255,255,0.6);line-height:1.8;margin-bottom:36px;max-width:520px}

    .hero-btns{display:flex;gap:16px;flex-wrap:wrap}

    .hero-visual{position:relative;display:flex;justify-content:center;align-items:center}

    .hero-img-wrap{position:relative;width:100%;max-width:100%}

        .hero-img-wrap::before{content:'';position:absolute;inset:-12px;border:2px solid rgba(14,165,233,0.2);z-index:1}

    .hero-img-wrap::after{content:'';position:absolute;bottom:-20px;right:-20px;width:120px;height:120px;background:var(--accent-vivid);opacity:0.1;z-index:0}

    .why{padding:100px 0;background:var(--bg-white)}

    .why-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}

    .why-label{font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent-vivid);margin-bottom:16px;display:inline-flex;align-items:center;gap:10px}

    .why-label::before{content:'';width:28px;height:3px;background:linear-gradient(90deg,#0EA5E9,#06b6d4)}

    .why-title{font-size:clamp(28px,4vw,40px);font-weight:800;color:var(--primary);margin-bottom:24px;letter-spacing:-1px}

    .why-text{font-size:17px;color:var(--text-secondary);line-height:1.85;margin-bottom:24px}

    .why-highlights{display:flex;flex-direction:column;gap:20px}

    .why-highlight{display:flex;gap:20px;padding:24px;background:var(--bg);border-left:3px solid var(--accent-vivid);transition:var(--transition)}

    .why-highlight:hover{transform:translateX(6px);box-shadow:var(--shadow-md)}

    .why-icon{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);color:var(--accent-vivid)}

    .why-highlight h4{font-size:16px;font-weight:700;color:var(--primary);margin-bottom:6px}

    .why-highlight p{font-size:14px;color:var(--text-secondary);line-height:1.7}

    .process{padding:100px 0;background:var(--bg);position:relative;overflow:hidden}

    .process::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-vivid),transparent)}

    .process-header{text-align:left;margin-bottom:64px;max-width:600px}

    .process-title{font-size:clamp(28px,4vw,40px);font-weight:800;color:var(--primary);letter-spacing:-1px;margin-bottom:16px}

    .process-sub{font-size:17px;color:var(--text-secondary);line-height:1.7}

    .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0}

    .step{position:relative;padding:40px 28px;background:var(--bg-white);border:1px solid var(--border);border-right:none;border-bottom:none;transition:var(--transition);overflow:hidden;cursor:pointer}

    .step:last-child{border-right:1px solid var(--border)}

    .step::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0EA5E9,#06b6d4);transform:scaleX(0);transform-origin:left;transition:0.5s ease}

    .step:hover::before,.step.active::before{transform:scaleX(1)}

    .step:hover,.step.active{z-index:2}

    .step.active{box-shadow:0 -4px 0 0 var(--accent-vivid) inset,var(--shadow-lg);border-color:transparent}

    .step.active .step-num{color:rgba(2,132,199,0.12)}

    .step-num{font-family:var(--font-display);font-size:64px;font-weight:700;color:rgba(2,132,199,0.06);line-height:1;margin-bottom:16px;transition:color 0.5s ease}

    .step-label{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent-vivid);margin-bottom:12px}

    .step h3{font-size:17px;font-weight:800;color:var(--primary);margin-bottom:12px}

    .step p{font-size:13px;color:var(--text-secondary);line-height:1.75}

    .livrables{padding:100px 0;background:var(--bg-white)}

    .livrables-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}

    .livrable-card{padding:40px;background:var(--bg);border:1px solid var(--border);position:relative;overflow:hidden;transition:var(--transition)}

    .livrable-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#0EA5E9,#06b6d4);transform:scaleY(0);transform-origin:bottom;transition:0.5s ease}

    .livrable-card:hover::before{transform:scaleY(1)}

    .livrable-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}

    .livrable-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);color:var(--accent-vivid);margin-bottom:24px}

    .livrable-card h3{font-size:18px;font-weight:800;color:var(--primary);margin-bottom:14px}

    .livrable-card p{font-size:14px;color:var(--text-secondary);line-height:1.85}

    @media(max-width:1024px){
      .hero-grid{grid-template-columns:1fr;gap:40px}.hero-visual{order:-1}
      .why-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.step{border-right:1px solid var(--border)}
      .livrables-grid{grid-template-columns:1fr 1fr !important;gap:20px !important}
      .livrable-card{padding:28px}
      .footer-grid{grid-template-columns:1fr 1fr}
    }

    @media(max-width:768px){
      .livrables{padding:60px 0}
      .livrables-grid{grid-template-columns:1fr !important;gap:16px !important;margin-top:32px}
      .livrable-card{padding:24px}
      .livrable-icon{width:48px;height:48px;margin-bottom:18px}
      .livrable-icon svg{width:22px;height:22px}
      .livrable-card h3{font-size:16px;margin-bottom:10px}
      .livrable-card p{font-size:13.5px;line-height:1.75}
      .footer-grid{grid-template-columns:1fr;gap:32px}
    }

        .lang-dropdown a{display:flex;align-items:center;gap:10px;padding:10px 16px;font-family:var(--font-heading);font-size:13px;font-weight:600;color:var(--text-secondary);transition:var(--transition)}

.footer{background:#020617;padding:64px 0 0;color:rgba(255,255,255,.5)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.06)}
.footer-brand .logo-img{height:60px;width:auto;opacity:.9;transition:.3s}
.footer-brand .logo-img:hover{opacity:1}
.footer-brand p{font-size:14px;line-height:1.7;margin-top:16px;max-width:280px;color:rgba(255,255,255,.45)}
.footer-socials{display:flex;gap:10px;margin-top:24px}
.footer-social{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);color:rgba(255,255,255,.5);transition:all .3s;text-decoration:none;border:1px solid rgba(255,255,255,.06)}
.footer-social svg{width:18px;height:18px}
.footer-social.linkedin:hover{background:#0A66C2;color:#fff;border-color:#0A66C2;transform:translateY(-3px);box-shadow:0 8px 20px rgba(10,102,194,.35)}
.footer-social.youtube:hover{background:#FF0000;color:#fff;border-color:#FF0000;transform:translateY(-3px);box-shadow:0 8px 20px rgba(255,0,0,.35)}
.footer-social.facebook:hover{background:#1877F2;color:#fff;border-color:#1877F2;transform:translateY(-3px);box-shadow:0 8px 20px rgba(24,119,242,.35)}
.footer-social.instagram:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff;border-color:#dc2743;transform:translateY(-3px);box-shadow:0 8px 20px rgba(220,39,67,.35)}
.footer h4{font-size:11px;font-weight:800;color:#fff;margin-bottom:20px;text-transform:uppercase;letter-spacing:2px}
.footer-links{display:flex;flex-direction:column;gap:10px}
.footer-links a{font-size:14px;color:rgba(255,255,255,.45);transition:all .25s;text-decoration:none}
.footer-links a:hover{color:#fff;transform:translateX(4px)}
.footer-city{font-size:12px;font-weight:700;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:1px;margin-top:8px;display:block}
.footer-city:first-child{margin-top:0}
.footer-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 0;font-size:13px;color:rgba(255,255,255,.3);flex-wrap:wrap;gap:12px}
.footer-bottom a{color:rgba(255,255,255,.3);transition:.2s;text-decoration:none}
.footer-bottom a:hover{color:rgba(255,255,255,.6)}
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:24px}.footer-bottom{flex-direction:column;text-align:center}}
  /* RESPONSIVE_INJECTED */
@media(max-width:768px){
  .hero{height:auto;min-height:0;padding:48px 0 56px;align-items:stretch;display:block}
  .hero .container{grid-template-columns:1fr;gap:32px}
  .hero-visual{display:flex;width:100%;max-width:100%;justify-content:center;align-items:center;order:2;margin-top:8px}
  .hero-img-wrap{width:100%;max-width:260px;max-height:none}
  .hero-img-wrap img{width:100%;max-height:none;height:auto;object-fit:contain}
  .hero-img-wrap::before{inset:-8px}
  .hero-img-wrap::after{width:60px;height:60px;bottom:-10px;right:-10px}
  .hero-btns,.hero-actions{flex-direction:column;width:100%}
  .hero-btns .btn,.hero-actions .btn{width:100%;justify-content:center;text-align:center}
  .hero-bread{font-size:11px;letter-spacing:1.5px;margin-bottom:20px}
  .hero-content{order:1}
}
@media(max-width:480px){
  .hero-img-wrap{max-width:220px}
}


/* Hero sans image — même hauteur */
.hero--no-image .container { display: block; grid-template-columns: 1fr; }
.hero--no-image .hero-content { max-width: 620px; }
.hero--no-image .hero-bread,
.hero--no-image .hero-title,
.hero--no-image .hero-sub { max-width: 720px; text-align: left; }
.hero--no-image .hero-title { font-size: clamp(52px,8vw,96px); line-height: 0.95; letter-spacing: -3px; margin-bottom: 32px; }

/* SEO content sections (style c2) */
.seo-section{padding:80px 0 60px;background:var(--bg-white);border-top:1px solid var(--border)}
.seo-section:nth-child(even){background:var(--bg)}
.seo-section .section-label{margin-bottom:24px}
.seo-section h2{font-size:clamp(28px,4vw,40px);font-weight:800;color:var(--primary);letter-spacing:-1px;margin-bottom:24px}
.seo-section p{font-size:16px;color:var(--text-secondary);line-height:1.8;margin-bottom:16px;max-width:800px}
.seo-section p:last-child{margin-bottom:0}
