:root{
  --navy:#082F59;
  --navy-2:#0A3B6D;
  --turquoise:#08A7B3;
  --turquoise-2:#0CB9C5;
  --orange:#F6A000;
  --ink:#082F59;
  --text:#40556A;
  --muted:#708399;
  --line:#D9E5EB;
  --soft:#F5FAFB;
  --white:#FFFFFF;
  --accent:#F6A000;
  --radius:22px;
  --shadow:0 22px 60px rgba(8,47,89,.12);
  --shadow-soft:0 14px 34px rgba(8,47,89,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Bahnschrift,"Aptos","Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.section{padding:110px 0;position:relative}
.section-soft{background:var(--soft)}
.section-dark{background:linear-gradient(135deg,#061F3A,#082F59 70%,#0A4D73);color:#fff}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:var(--turquoise);margin:0 0 15px}
.section-dark .eyebrow,.light .eyebrow{color:#5ED0D5}
.section-heading{max-width:720px;margin-bottom:46px}
.section-heading h2,.about-copy h2,.contact-copy h2{font-size:clamp(2.1rem,4vw,3.7rem);line-height:1.05;margin:0 0 20px;letter-spacing:-.035em}
.section-heading p,.lead-small{font-size:1.12rem;color:var(--text)}
.light p,.section-dark .section-cta p{color:#d4e1eb}
.site-header{position:fixed;top:0;left:0;right:0;z-index:80;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(8,43,82,.08)}
.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;min-width:190px}
.brand img{max-height:48px;max-width:215px}
.brand-fallback{display:none;font-weight:900;font-size:1.75rem;color:var(--navy);letter-spacing:.08em}
.brand-fallback small{display:block;font-size:.56rem;letter-spacing:.12em;font-weight:700}
.main-nav{display:flex;align-items:center;gap:22px;font-size:.92rem;font-weight:650}
.main-nav>a{position:relative;color:#203952}
.main-nav>a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--turquoise);transition:.25s}
.main-nav>a:hover:after{width:100%}
.nav-toggle{display:none;border:0;background:transparent;padding:8px}
.nav-toggle span{display:block;width:26px;height:2px;background:var(--navy);margin:5px 0}
.btn{border:0;border-radius:999px;padding:14px 22px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;transition:.2s;gap:8px}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(8,43,82,.18)}
.btn-primary:hover{background:var(--navy-2)}
.btn-small{padding:10px 16px;font-size:.88rem}
.btn-ghost{border:1px solid #bdcbd7;color:var(--navy);background:#fff}
.btn-light{background:#fff;color:var(--navy)}
.btn-text{background:transparent;color:var(--navy);padding:12px}
.hero{min-height:92vh;display:flex;align-items:center;padding-top:150px;overflow:hidden;background:radial-gradient(circle at 85% 20%,#E8F7F8 0,transparent 34%),linear-gradient(180deg,#fff,#f9fbfd)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px}
.hero h1{font-size:clamp(3.2rem,6.7vw,6.5rem);line-height:.92;letter-spacing:-.055em;margin:0 0 30px;color:var(--navy)}
.hero h1 span{color:var(--turquoise)}
.lead{font-size:1.28rem;color:var(--text);max-width:710px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin:32px 0}
.hero-proof{display:flex;gap:20px;flex-wrap:wrap;font-size:.88rem;color:var(--muted);margin-top:28px}
.hero-proof span:before{content:"•";color:var(--turquoise);margin-right:9px}
.hero-visual{min-height:520px;position:relative}
.data-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:270px;background:rgba(255,255,255,.93);box-shadow:var(--shadow);border:1px solid #d9e8f0;border-radius:28px;padding:30px;text-align:center;z-index:4}
.data-card p{color:var(--muted);margin-top:0}
.data-card strong{display:block;padding:8px 0;color:var(--navy);font-size:1.13rem}
.data-card em{display:block;background:var(--navy);color:#fff;border-radius:14px;padding:13px;font-style:normal;font-weight:800}
.data-arrow{font-size:2rem;color:var(--turquoise-2)}
.data-orbit{position:absolute;border:1px solid #aacbdc;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.orbit-one{width:410px;height:410px}
.orbit-two{width:520px;height:520px;border-style:dashed;opacity:.55}
.data-node{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--turquoise);box-shadow:0 0 0 9px rgba(47,119,168,.12)}
.node-a{left:18%;top:25%}.node-b{right:15%;top:46%;background:var(--turquoise-2)}.node-c{left:38%;bottom:7%;background:var(--accent)}
.cards-grid.five{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.situation-card{border:1px solid var(--line);background:#fff;text-align:left;border-radius:20px;padding:25px;min-height:270px;color:inherit;transition:.25s}
.situation-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:#bad6e5}
.card-index{font-size:.78rem;font-weight:800;color:var(--turquoise)}
.situation-card h3{font-size:1.18rem;line-height:1.2;margin:28px 0 13px}
.situation-card p{font-size:.92rem;color:var(--text)}
.text-link{display:block;margin-top:28px;color:var(--turquoise);font-weight:800;font-size:.88rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
blockquote{margin:35px 0 0;border-left:4px solid var(--turquoise);padding:6px 0 6px 24px;font-size:1.15rem;font-weight:750;color:var(--navy)}
.logic{text-align:center;background:var(--soft);border-radius:28px;padding:42px;box-shadow:var(--shadow)}
.logic-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.logic-row span{background:#fff;border:1px solid var(--line);padding:12px 18px;border-radius:999px;font-weight:700}
.logic-line{width:1px;height:35px;background:#9eb5c5;margin:10px auto}
.logic-core{margin:auto;background:var(--navy);color:#fff;border-radius:50%;width:150px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;font-size:1.7rem;box-shadow:0 15px 30px rgba(8,43,82,.2)}
.logic-core small{font-size:.7rem;font-weight:600;color:#d2e0ec}
.logic-result{display:inline-block;background:#E7F8F9;border:1px solid #A9DEE2;color:var(--navy);padding:14px 24px;border-radius:14px;font-weight:900}
.expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.expertise-card{padding:30px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(255,255,255,.06);min-height:300px}
.expertise-card span{font-size:.82rem;color:#5ED0D5;font-weight:800}
.expertise-card h3{font-size:1.5rem;line-height:1.1;margin:50px 0 18px}
.expertise-card p{color:#d4e1eb}
.section-cta{margin-top:42px;padding:22px 0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.16)}
.process{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center}
.process-step{border:1px solid var(--line);border-radius:18px;padding:25px 18px;min-height:215px}
.process-step span{color:var(--turquoise);font-size:.78rem;font-weight:900}
.process-step strong{display:block;font-size:1.22rem;margin:24px 0 10px}
.process-step p{font-size:.9rem;color:var(--text)}
.process-arrow{font-size:1.25rem;color:#99abba}
.usecase-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.usecase{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px}
.tag{display:inline-block;margin:0 0 25px;background:#e8f4f9;color:var(--navy);border-radius:999px;padding:7px 12px;font-size:.78rem;font-weight:800}
.usecase h3{font-size:1.5rem;margin:0 0 12px}
.usecase p:last-child{color:var(--text)}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}
.portrait{min-height:600px;border-radius:30px;overflow:hidden;background:linear-gradient(140deg,#e2eef4,#f7fafb);position:relative}
.portrait img{width:100%;height:100%;object-fit:cover;position:absolute}
.portrait-placeholder{display:none;width:100%;height:600px;place-items:center;align-content:center;color:var(--navy)}
.portrait-placeholder span{letter-spacing:.2em;font-size:.75rem;color:var(--muted)}
.portrait-placeholder strong{font-size:2rem;margin-top:10px}
.about-copy>p:not(.eyebrow){color:var(--text)}
.expert-badge{margin:28px 0;padding:20px;border:1px solid #B8E2E4;border-radius:18px;background:#F2FBFB}
.expert-badge span,.expert-badge small{display:block;color:var(--muted);font-size:.8rem}
.expert-badge strong{display:block;color:var(--navy);font-size:1.12rem;margin:5px 0}
.bridge{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-weight:900;color:var(--navy)}
.bridge i{font-style:normal;color:var(--turquoise-2)}
.why{padding-top:30px}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.why-card{border-top:3px solid var(--navy);background:var(--soft);padding:28px;border-radius:0 0 18px 18px}
.why-card strong{color:var(--turquoise)}
.why-card h3{margin:30px 0 10px}.why-card p{color:var(--text)}
.contact{background:linear-gradient(135deg,#f4f8fb,#eef5f8)}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.contact-direct{margin-top:35px}.contact-direct p{margin:4px 0}.contact-direct a{font-weight:800;color:var(--navy)}
.muted{color:var(--muted)}
.contact-form{background:#fff;padding:32px;border-radius:24px;box-shadow:var(--shadow)}
.contact-form label{display:block;font-size:.85rem;font-weight:800;color:var(--navy);margin-bottom:16px}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #ccd9e2;border-radius:12px;padding:13px 14px;margin-top:7px;outline:none;background:#fff}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--turquoise);box-shadow:0 0 0 3px rgba(47,119,168,.1)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-note{font-size:.78rem;color:var(--muted)}
.diagnostic-preview{background:#EEF9FA;border:1px solid #BEE5E7;padding:15px;border-radius:12px;margin-bottom:18px;font-size:.9rem}
.site-footer{background:#061a30;color:#d5e2ec;padding:46px 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
.site-footer strong{color:#fff;font-size:1.2rem}
.site-footer p{color:#9db2c3}
.site-footer a{display:block;margin:8px 0;font-size:.9rem}
.diagnostic-modal{position:fixed;inset:0;z-index:200;display:none}
.diagnostic-modal.open{display:block}
.diagnostic-backdrop{position:absolute;inset:0;background:rgba(5,22,39,.6);backdrop-filter:blur(8px)}
.diagnostic-panel{position:absolute;right:0;top:0;height:100%;width:min(650px,100%);background:#fff;padding:48px;overflow:auto;box-shadow:-20px 0 50px rgba(0,0,0,.16)}
.diag-close{position:absolute;right:26px;top:20px;border:0;background:transparent;font-size:2rem;color:var(--navy)}
.diag-top h2{font-size:2.4rem;margin:0 0 20px}
.diag-progress{height:5px;background:#e7edf2;border-radius:999px;overflow:hidden}
.diag-progress span{display:block;height:100%;background:var(--turquoise);width:25%;transition:.25s}
.diag-step{display:none;padding-top:40px}
.diag-step.active{display:block}
.diag-counter{font-size:.8rem;color:var(--muted);font-weight:800}
.diag-step h3{font-size:1.55rem;margin:8px 0 26px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choice-grid button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px;text-align:left;color:var(--navy);font-weight:800;min-height:72px}
.choice-grid button:hover,.choice-grid button.selected{border-color:var(--turquoise);background:#EAF8F9}
.recommendation{border:1px solid #cfe2eb;background:#f5fafc;border-radius:18px;padding:24px;margin-bottom:24px}
.recommendation strong{display:block;color:var(--navy);font-size:1.3rem;margin-bottom:10px}
.recommendation ul{padding-left:20px;color:var(--text)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.reveal.visible{opacity:1;transform:none}
@media (max-width:1050px){
  .main-nav{position:absolute;left:20px;right:20px;top:78px;background:#fff;box-shadow:var(--shadow);border-radius:18px;padding:22px;display:none;flex-direction:column;align-items:stretch}
  .main-nav.open{display:flex}.nav-toggle{display:block}
  .hero-grid,.split,.about-grid,.contact-grid{grid-template-columns:1fr}
  .hero-visual{min-height:430px}
  .cards-grid.five{grid-template-columns:repeat(2,1fr)}
  .expertise-grid,.why-grid{grid-template-columns:repeat(2,1fr)}
  .process{grid-template-columns:1fr 1fr;gap:15px}.process-arrow{display:none}
  .portrait{min-height:500px}.portrait-placeholder{height:500px}
}
@media (max-width:650px){
  .container{width:min(100% - 28px,1180px)}.section{padding:78px 0}
  .hero{padding-top:120px}.hero h1{font-size:3.35rem}
  .hero-visual{min-height:350px}.orbit-one{width:300px;height:300px}.orbit-two{width:350px;height:350px}.data-card{width:230px;padding:22px}
  .cards-grid.five,.expertise-grid,.why-grid,.usecase-grid,.process,.form-row,.choice-grid{grid-template-columns:1fr}
  .section-cta{align-items:flex-start;gap:18px;flex-direction:column}
  .footer-grid{grid-template-columns:1fr}.diagnostic-panel{padding:40px 20px}
  .about-grid{gap:35px}
}\n::selection{background:rgba(8,167,179,.18);color:var(--navy)}
body{font-family:Bahnschrift,"Aptos","Segoe UI",Arial,sans-serif}
.site-header{box-shadow:0 8px 30px rgba(8,47,89,.04)}
.brand img{max-height:54px;max-width:285px;width:auto;object-fit:contain}
.btn-primary{background:linear-gradient(135deg,var(--navy),#0A4275);box-shadow:0 12px 28px rgba(8,47,89,.20)}
.btn-primary:hover{background:linear-gradient(135deg,#0A3B6D,#0B4A83);box-shadow:0 15px 34px rgba(8,47,89,.24)}
.btn-ghost:hover{border-color:var(--turquoise);color:var(--turquoise);background:#F5FCFC}
.hero{background:radial-gradient(circle at 82% 20%,rgba(8,167,179,.12) 0,rgba(8,167,179,0) 34%),radial-gradient(circle at 72% 68%,rgba(246,160,0,.06) 0,rgba(246,160,0,0) 24%),linear-gradient(180deg,#FFFFFF,#F9FCFD)}
.hero h1 span{background:linear-gradient(135deg,var(--turquoise),#067D9A);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-proof span:before{color:var(--turquoise)}
.data-card{border:1px solid rgba(8,167,179,.20);box-shadow:0 24px 70px rgba(8,47,89,.13);backdrop-filter:blur(14px)}
.data-card em{background:linear-gradient(135deg,var(--navy),#0A4275)}
.data-arrow{color:var(--turquoise)}
.data-orbit{border-color:rgba(8,167,179,.40)}
.orbit-two{border-color:rgba(8,47,89,.16)}
.data-node{background:var(--turquoise);box-shadow:0 0 0 9px rgba(8,167,179,.10)}
.node-b{background:var(--turquoise)}
.node-c{background:var(--orange);box-shadow:0 0 0 9px rgba(246,160,0,.12)}
.situation-card{box-shadow:0 0 0 rgba(0,0,0,0)}
.situation-card:hover{border-color:rgba(8,167,179,.42);box-shadow:0 22px 55px rgba(8,47,89,.10)}
.situation-card:hover .card-index,.situation-card:hover .text-link{color:var(--turquoise)}
.logic{background:radial-gradient(circle at 30% 15%,rgba(8,167,179,.09),transparent 34%),var(--soft)}
.logic-core{background:linear-gradient(145deg,var(--navy),#0A4B7A);box-shadow:0 18px 40px rgba(8,47,89,.22)}
.logic-result{background:#EAF9FA;border-color:#B5E5E7}
.section-dark{background:radial-gradient(circle at 85% 18%,rgba(8,167,179,.18),transparent 27%),radial-gradient(circle at 12% 84%,rgba(246,160,0,.07),transparent 22%),linear-gradient(135deg,#061D36,#082F59 70%,#0A466D)}
.expertise-card{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.04));backdrop-filter:blur(10px);transition:.25s ease}
.expertise-card:hover{transform:translateY(-6px);border-color:rgba(94,208,213,.44);box-shadow:0 18px 45px rgba(0,0,0,.16)}
.expertise-card span{color:#62D1D6}
.process-step{transition:.24s ease;background:#fff}
.process-step:hover{transform:translateY(-5px);border-color:rgba(8,167,179,.35);box-shadow:var(--shadow-soft)}
.process-step span{color:var(--turquoise)}
.usecase{transition:.24s ease}
.usecase:hover{transform:translateY(-5px);border-color:rgba(8,167,179,.35);box-shadow:var(--shadow-soft)}
.tag{background:#EAF9FA;color:var(--turquoise)}
.expert-badge{border-color:#B9E4E6;background:linear-gradient(135deg,#F1FBFB,#FFFFFF);position:relative;overflow:hidden}
.expert-badge:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--orange)}
.bridge i{color:var(--turquoise)}
.why-card{border-top-color:var(--turquoise);transition:.24s ease}
.why-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}
.why-card strong{color:var(--orange)}
.contact{background:radial-gradient(circle at 15% 20%,rgba(8,167,179,.08),transparent 30%),linear-gradient(135deg,#F7FBFC,#EFF8F9)}
.contact-form{border:1px solid rgba(8,47,89,.07)}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--turquoise);box-shadow:0 0 0 3px rgba(8,167,179,.10)}
.diagnostic-panel{border-left:1px solid rgba(8,167,179,.14)}
.diag-progress span{background:linear-gradient(90deg,var(--turquoise),var(--orange))}
.choice-grid button:hover,.choice-grid button.selected{border-color:var(--turquoise);background:#EFFAFA;box-shadow:0 10px 25px rgba(8,47,89,.06)}
.recommendation{border-color:#BCE4E6;background:linear-gradient(135deg,#F4FBFB,#FFFFFF)}
.text-link,.eyebrow{color:var(--turquoise)}
.card-index{color:var(--turquoise)}
.site-footer{background:radial-gradient(circle at 80% 0%,rgba(8,167,179,.12),transparent 28%),#061A30}


/* =========================================================
   SDS V3 — Header / logo / responsive final adjustments
   Official palette:
   Marine    #082F59
   Turquoise #08A7B3
   Orange    #F6A000
   ========================================================= */

.nav-wrap{
  height: 96px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  min-width:0;
}

.brand img{
  height:68px;
  width:auto;
  max-height:none;
  max-width:360px;
  object-fit:contain;
  display:block;
}

.main-nav{
  margin-left:auto;
}

.site-header{
  background:rgba(255,255,255,.95);
  border-bottom:1px solid rgba(8,47,89,.08);
  box-shadow:0 8px 30px rgba(8,47,89,.045);
}

.main-nav>a{
  color:#082F59;
}

.main-nav>a:after{
  background:#08A7B3;
}

.btn-primary{
  background:linear-gradient(135deg,#082F59,#0A4275);
}

.btn-primary:hover{
  background:linear-gradient(135deg,#0A3B6D,#0B4A83);
}

@media (max-width:1050px){
  .nav-wrap{
    height:86px;
  }

  .brand img{
    height:58px;
    max-width:310px;
  }

  .main-nav{
    top:86px;
  }
}

@media (max-width:650px){
  .nav-wrap{
    height:78px;
  }

  .brand img{
    height:48px;
    max-width:245px;
  }

  .main-nav{
    top:78px;
  }
}


/* =========================================================
   SDS V4 — Tunnel de qualification projet migration
   ========================================================= */

.brand img{
  height:68px !important;
  width:auto !important;
  max-height:none !important;
  max-width:360px !important;
}

.diag-intro{
  margin:-8px 0 22px;
  color:var(--text);
  font-size:.96rem;
}

.diag-help{
  color:var(--muted);
  font-size:.9rem;
  margin:-14px 0 20px;
}

.choice-grid-multi,
.radio-grid{
  grid-template-columns:1fr 1fr;
}

.choice-check{
  position:relative;
  display:block;
  margin:0 !important;
  cursor:pointer;
}

.choice-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.choice-check span{
  display:flex;
  align-items:center;
  min-height:72px;
  height:100%;
  padding:17px 18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--navy);
  font-weight:800;
  line-height:1.3;
  transition:.22s ease;
}

.choice-check span:before{
  content:"";
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin-right:11px;
  border:2px solid #B9C8D3;
  border-radius:5px;
  background:#fff;
  transition:.2s ease;
}

.radio-grid .choice-check span:before{
  border-radius:50%;
}

.choice-check input:checked + span{
  border-color:var(--turquoise);
  background:#EFFAFA;
  box-shadow:0 10px 25px rgba(8,47,89,.07);
}

.choice-check input:checked + span:before{
  background:var(--turquoise);
  border-color:var(--turquoise);
  box-shadow:inset 0 0 0 4px #fff;
}

.choice-check:hover span{
  border-color:rgba(8,167,179,.55);
  transform:translateY(-2px);
}

.diag-field{
  display:block;
  margin-top:24px;
  color:var(--navy);
  font-size:.88rem;
  font-weight:800;
}

.diag-field small{
  color:var(--muted);
  font-weight:600;
}

.diag-field input,
.diag-field textarea{
  width:100%;
  margin-top:8px;
  padding:13px 14px;
  border:1px solid #CCD9E2;
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  outline:none;
}

.diag-field input:focus,
.diag-field textarea:focus{
  border-color:var(--turquoise);
  box-shadow:0 0 0 3px rgba(8,167,179,.10);
}

.diag-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin-top:30px;
  padding-top:22px;
  border-top:1px solid #E8EEF2;
}

.diag-actions.two{
  justify-content:space-between;
}

.diag-contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 14px;
}

.diag-contact-grid .full{
  grid-column:1 / -1;
}

.qualification-summary{
  margin-top:24px;
  padding:19px;
  border:1px solid #BCE4E6;
  border-radius:16px;
  background:linear-gradient(135deg,#F3FBFB,#FFFFFF);
}

.qualification-summary>strong{
  display:block;
  color:var(--navy);
  margin-bottom:9px;
}

.qualification-summary dl{
  margin:0;
}

.qualification-summary dl div{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:12px;
  padding:7px 0;
  border-top:1px solid #E3EEF0;
}

.qualification-summary dl div:first-child{
  border-top:0;
}

.qualification-summary dt{
  font-size:.78rem;
  font-weight:800;
  color:var(--muted);
}

.qualification-summary dd{
  margin:0;
  font-size:.88rem;
  color:var(--ink);
}

.diag-privacy{
  margin:18px 0 0;
  color:var(--muted);
  font-size:.78rem;
}

.diag-success{
  padding:70px 10px 20px;
  text-align:center;
}

.success-mark{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  margin:0 auto 22px;
  border-radius:50%;
  background:#E6F8F8;
  color:var(--turquoise);
  font-size:2rem;
  font-weight:900;
}

.diag-success h3{
  max-width:490px;
  margin:0 auto 15px;
  color:var(--navy);
  font-size:1.7rem;
  line-height:1.2;
}

.diag-success p{
  max-width:500px;
  margin:0 auto 28px;
  color:var(--text);
}

@media (max-width:650px){
  .brand img{
    height:48px !important;
    max-width:245px !important;
  }

  .choice-grid-multi,
  .radio-grid,
  .diag-contact-grid{
    grid-template-columns:1fr;
  }

  .diag-contact-grid .full{
    grid-column:auto;
  }

  .diag-actions.two{
    gap:14px;
  }

  .qualification-summary dl div{
    grid-template-columns:1fr;
    gap:2px;
  }
}


/* =========================================================
   SDS V5 — Contenu migration prioritaire
   ========================================================= */

.hero-kicker{
  max-width:760px;
  margin:0 0 14px;
  color:var(--navy);
  font-size:1.2rem;
  line-height:1.45;
}

.hero-open{
  max-width:720px;
  margin:28px 0 0;
  padding-top:22px;
  border-top:1px solid rgba(8,47,89,.10);
  color:var(--muted);
  font-size:.94rem;
}

.migration-context{
  background:
    radial-gradient(circle at 85% 18%,rgba(8,167,179,.08),transparent 26%),
    #fff;
}

.migration-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.migration-card{
  position:relative;
  min-height:285px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 30px rgba(8,47,89,.045);
  transition:.24s ease;
}

.migration-card:hover{
  transform:translateY(-6px);
  border-color:rgba(8,167,179,.42);
  box-shadow:var(--shadow-soft);
}

.migration-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#EAF9FA;
  color:var(--turquoise);
  font-size:.76rem;
  font-weight:900;
}

.migration-card h3{
  margin:48px 0 14px;
  color:var(--navy);
  font-size:1.28rem;
  line-height:1.18;
}

.migration-card p{
  margin:0;
  color:var(--text);
  font-size:.94rem;
}

.migration-bridge{
  margin-top:30px;
  padding:28px 30px;
  border-left:4px solid var(--orange);
  border-radius:0 18px 18px 0;
  background:linear-gradient(135deg,#F5FBFB,#FFFFFF);
  box-shadow:0 14px 34px rgba(8,47,89,.05);
}

.migration-bridge strong{
  display:block;
  margin-bottom:8px;
  color:var(--navy);
  font-size:1.08rem;
}

.migration-bridge p{
  margin:0;
  color:var(--text);
}

@media (max-width:1050px){
  .migration-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:650px){
  .migration-grid{
    grid-template-columns:1fr;
  }

  .migration-card{
    min-height:auto;
  }

  .migration-card h3{
    margin-top:28px;
  }
}


/* V6 - Hero size adjustment */
.hero h1{
  font-size: clamp(2.9rem, 5.2vw, 5.1rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em !important;
  max-width: 780px;
}

.hero .lead{
  font-size: 1.18rem;
  max-width: 720px;
}

.hero-kicker{
  font-size: 1.08rem;
  max-width: 700px;
}

.hero-grid{
  align-items: center;
  gap: 54px;
}

.hero-proof{
  margin-top: 22px;
}

@media (max-width: 1050px){
  .hero h1{
    font-size: clamp(2.6rem, 7vw, 4.4rem) !important;
    max-width: 100%;
  }
}

@media (max-width: 650px){
  .hero h1{
    font-size: 2.75rem !important;
    line-height: 1.0 !important;
  }

  .hero .lead{
    font-size: 1.02rem;
  }

  .hero-kicker{
    font-size: .98rem;
  }
}


/* V7 - Hero line-break and balance refinement */
.hero-grid{
  grid-template-columns:1.12fr .88fr;
  gap:42px;
}

.hero-copy{
  max-width:820px;
}

.hero h1{
  max-width:820px;
  font-size:clamp(2.9rem,4.75vw,4.85rem) !important;
  line-height:.98 !important;
}

.hero h1 span{
  display:inline-block;
}

.hero-visual{
  transform:translateY(-34px);
}

@media (max-width:1050px){
  .hero-grid{
    grid-template-columns:1fr;
  }

  .hero-visual{
    transform:none;
  }
}

@media (max-width:650px){
  .hero h1{
    font-size:2.6rem !important;
  }
}


/* V9 - refinements without flattening the V7 visual identity */
.scope-analysis{
  margin:3px auto 0;
  padding:7px 12px;
  border-radius:10px;
  background:rgba(8,167,179,.10);
  color:var(--navy);
  border:1px solid rgba(8,167,179,.25);
  font-size:.8rem;
  font-weight:900;
}

.data-card em{
  background:var(--orange) !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(246,160,0,.20);
}

.migration-context{
  background:
    radial-gradient(circle at 85% 15%,rgba(8,167,179,.08),transparent 25%),
    linear-gradient(180deg,#fff,#F8FBFC);
}

.migration-grid{
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.migration-card{
  min-height:330px;
  background:linear-gradient(180deg,#FFFFFF,#F8FBFC);
  border:1px solid rgba(8,47,89,.10);
  box-shadow:0 14px 34px rgba(8,47,89,.055);
}

.migration-card h3{
  margin-top:34px;
}

.migration-card .benefit{
  display:block;
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid rgba(8,47,89,.08);
  color:var(--turquoise);
  font-size:.9rem;
  line-height:1.4;
}

.migration-bridge{
  background:
    linear-gradient(135deg,rgba(8,167,179,.08),rgba(255,255,255,.96));
  border-left:4px solid var(--orange);
}

@media(max-width:1050px){
  .migration-grid{grid-template-columns:repeat(2,1fr)}
  .migration-card{min-height:auto}
}

@media(max-width:650px){
  .migration-grid{grid-template-columns:1fr}
}


/* V10 - Migration as a project in its own right */
.migration-intro{
  margin:-10px 0 34px;
  padding:24px 28px;
  border-radius:18px;
  background:
    linear-gradient(135deg,rgba(8,167,179,.09),rgba(255,255,255,.98));
  border:1px solid rgba(8,167,179,.18);
  box-shadow:0 14px 34px rgba(8,47,89,.05);
}

.migration-intro p{
  margin:0 0 10px;
  color:var(--text);
  font-size:1.02rem;
}

.migration-intro strong{
  display:block;
  color:var(--navy);
  font-size:1.05rem;
}

.migration-grid-three{
  grid-template-columns:repeat(3,1fr);
}

.migration-grid-three .migration-card{
  min-height:315px;
}

@media(max-width:1050px){
  .migration-grid-three{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V11 — WOW effect for the 3 migration benefit cards
   ========================================================= */

.migration-grid-three{
  gap:24px !important;
  align-items:stretch;
  perspective:1200px;
}

.migration-grid-three .migration-card{
  position:relative;
  overflow:hidden;
  min-height:360px;
  padding:32px 30px 30px;
  border:1px solid rgba(8,47,89,.10);
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,251,252,.98));
  box-shadow:
    0 18px 44px rgba(8,47,89,.08),
    inset 0 1px 0 rgba(255,255,255,.95);
  transform:translateY(0);
  transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;
}

/* colored glow */
.migration-grid-three .migration-card::before{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  top:-90px;
  right:-70px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(8,167,179,.20),rgba(8,167,179,0) 70%);
  pointer-events:none;
  transition:transform .4s ease, opacity .4s ease;
}

/* premium top line */
.migration-grid-three .migration-card::after{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  top:0;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,#08A7B3 0%,#08A7B3 58%,#F6A000 100%);
  opacity:.95;
}

.migration-grid-three .migration-card:hover{
  transform:translateY(-10px) rotateX(1.5deg);
  border-color:rgba(8,167,179,.30);
  box-shadow:
    0 30px 70px rgba(8,47,89,.15),
    0 10px 28px rgba(8,167,179,.08),
    inset 0 1px 0 rgba(255,255,255,.98);
}

.migration-grid-three .migration-card:hover::before{
  transform:scale(1.18);
  opacity:1;
}

/* Large technical number */
.migration-grid-three .migration-card > span{
  position:relative;
  z-index:2;
  display:inline-grid;
  place-items:center;
  width:46px;
  height:46px;
  margin-bottom:34px;
  border-radius:14px;
  background:
    linear-gradient(145deg,rgba(8,167,179,.14),rgba(8,167,179,.06));
  border:1px solid rgba(8,167,179,.22);
  color:#08A7B3;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.05em;
  box-shadow:0 8px 20px rgba(8,167,179,.10);
}

.migration-grid-three .migration-card h3{
  position:relative;
  z-index:2;
  margin:0 0 18px;
  max-width:280px;
  color:#082F59;
  font-size:1.45rem;
  line-height:1.15;
  letter-spacing:-.02em;
}

.migration-grid-three .migration-card p{
  position:relative;
  z-index:2;
  color:#40556A;
  font-size:1rem;
  line-height:1.6;
}

/* Benefit = strong visual payoff */
.migration-grid-three .migration-card .benefit{
  position:relative;
  z-index:2;
  display:block;
  margin-top:26px;
  padding:18px 18px 18px 20px;
  border-top:0;
  border-radius:14px;
  background:
    linear-gradient(135deg,rgba(8,167,179,.10),rgba(8,167,179,.035));
  border:1px solid rgba(8,167,179,.14);
  color:#057C86 !important;
  font-size:.94rem;
  line-height:1.45;
  font-weight:900;
}

.migration-grid-three .migration-card .benefit::before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:4px;
  border-radius:0 4px 4px 0;
  background:#F6A000;
}

/* slightly different glow per card */
.migration-grid-three .migration-card:nth-child(2)::before{
  background:radial-gradient(circle,rgba(8,47,89,.16),rgba(8,47,89,0) 70%);
}
.migration-grid-three .migration-card:nth-child(3)::before{
  background:radial-gradient(circle,rgba(246,160,0,.16),rgba(246,160,0,0) 70%);
}

.migration-grid-three .migration-card:nth-child(3) > span{
  background:linear-gradient(145deg,rgba(246,160,0,.14),rgba(246,160,0,.05));
  border-color:rgba(246,160,0,.20);
  color:#D98600;
}

/* subtle spotlight on the whole block */
.migration-context{
  position:relative;
  overflow:hidden;
}
.migration-context::before{
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  right:-180px;
  top:180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(8,167,179,.07),rgba(8,167,179,0) 68%);
  pointer-events:none;
}

/* responsive */
@media(max-width:1050px){
  .migration-grid-three{
    grid-template-columns:1fr !important;
  }

  .migration-grid-three .migration-card{
    min-height:auto;
  }
}

@media(max-width:650px){
  .migration-grid-three .migration-card{
    padding:26px 22px;
  }

  .migration-grid-three .migration-card h3{
    font-size:1.28rem;
  }
}


/* V12 — Quote styling for migration warning */
.migration-quote{
  position:relative;
  margin-left:0;
  margin-right:0;
  padding:34px 54px 30px 62px;
  border-left:0;
  overflow:visible;
}

.migration-quote::before{
  content:"“";
  position:absolute;
  left:18px;
  top:4px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:5.2rem;
  line-height:1;
  color:var(--turquoise);
  opacity:.22;
  font-weight:700;
}

.migration-quote::after{
  content:"”";
  position:absolute;
  right:18px;
  bottom:-18px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:5.2rem;
  line-height:1;
  color:var(--orange);
  opacity:.24;
  font-weight:700;
}

.migration-quote p{
  position:relative;
  z-index:1;
  margin:0 0 14px;
}

.migration-quote strong{
  position:relative;
  z-index:1;
  display:block;
}

@media(max-width:650px){
  .migration-quote{
    padding:30px 30px 28px 44px;
  }

  .migration-quote::before{
    left:8px;
    font-size:4rem;
  }

  .migration-quote::after{
    right:8px;
    font-size:4rem;
  }
}


/* =========================================================
   V14 — Cards lighter, cleaner, more readable
   ========================================================= */

.migration-grid-three{
  gap:22px !important;
}

.migration-grid-three .migration-card{
  min-height:335px;
  padding:38px 28px 26px;
  border-radius:22px;
  background:linear-gradient(180deg,#FFFFFF 0%, #FAFCFD 100%);
  box-shadow:
    0 14px 30px rgba(8,47,89,.06),
    inset 0 1px 0 rgba(255,255,255,.92);
}

.migration-grid-three .migration-card::after{
  left:28px;
  right:28px;
}

.migration-grid-three .migration-card > span{
  width:42px;
  height:42px;
  margin-top:10px;
  margin-bottom:28px;
  border-radius:13px;
  font-size:.78rem;
  box-shadow:0 6px 16px rgba(8,167,179,.08);
}

.migration-grid-three .migration-card h3{
  max-width:290px;
  margin:0 0 16px;
  font-size:1.25rem;
  line-height:1.2;
  letter-spacing:-.015em;
}

.migration-grid-three .migration-card p{
  font-size:.98rem;
  line-height:1.55;
  color:#4A5F72;
}

.migration-grid-three .migration-card .benefit{
  margin-top:22px;
  padding:16px 16px 16px 18px;
  border-radius:12px;
  font-size:.9rem;
  line-height:1.5;
  font-weight:800;
  background:linear-gradient(135deg,rgba(8,167,179,.08),rgba(8,167,179,.03));
}

.migration-grid-three .migration-card .benefit::before{
  top:10px;
  bottom:10px;
}

@media(max-width:1050px){
  .migration-grid-three .migration-card{
    min-height:auto;
  }
}

@media(max-width:650px){
  .migration-grid-three .migration-card{
    padding:32px 22px 22px;
  }

  .migration-grid-three .migration-card > span{
    margin-top:6px;
    margin-bottom:22px;
  }

  .migration-grid-three .migration-card h3{
    font-size:1.18rem;
  }

  .migration-grid-three .migration-card p{
    font-size:.94rem;
  }
}


/* =========================================================
   V15 — New WOW layout for the 3 migration cards
   No top-right blobs, more original/premium presentation
   ========================================================= */

.migration-grid-three{
  position:relative;
  gap:26px !important;
  align-items:start;
}

.migration-grid-three::before{
  content:"";
  position:absolute;
  left:10%;
  right:10%;
  top:32px;
  height:2px;
  background:linear-gradient(90deg, rgba(8,167,179,.18), rgba(246,160,0,.16), rgba(8,47,89,.12));
  z-index:0;
}

.migration-grid-three .migration-card{
  position:relative;
  z-index:1;
  min-height:340px;
  padding:34px 28px 24px;
  border-radius:24px;
  border:1px solid rgba(8,47,89,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,252,.98));
  box-shadow:
    0 16px 36px rgba(8,47,89,.07),
    inset 0 1px 0 rgba(255,255,255,.95);
  overflow:visible;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

/* remove previous blob/halo logic */
.migration-grid-three .migration-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:24px;
  background:
    linear-gradient(90deg, rgba(8,167,179,.035) 1px, transparent 1px),
    linear-gradient(rgba(8,167,179,.03) 1px, transparent 1px);
  background-size:22px 22px;
  opacity:.22;
  pointer-events:none;
}

.migration-grid-three .migration-card::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  top:-1px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, #08A7B3 0%, #08A7B3 58%, #F6A000 100%);
  box-shadow:0 8px 18px rgba(8,167,179,.12);
}

/* stepped composition for a stronger visual rhythm */
.migration-grid-three .migration-card:nth-child(1){margin-top:0}
.migration-grid-three .migration-card:nth-child(2){margin-top:26px}
.migration-grid-three .migration-card:nth-child(3){margin-top:52px}

.migration-grid-three .migration-card:hover{
  transform:translateY(-8px);
  border-color:rgba(8,167,179,.24);
  box-shadow:
    0 28px 60px rgba(8,47,89,.12),
    0 8px 20px rgba(8,167,179,.07),
    inset 0 1px 0 rgba(255,255,255,.98);
}

/* original floating badge */
.migration-grid-three .migration-card > span{
  position:absolute;
  left:26px;
  top:-18px;
  width:50px;
  height:50px;
  margin:0;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid rgba(8,167,179,.24);
  color:#08A7B3;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.05em;
  box-shadow:
    0 12px 25px rgba(8,47,89,.08),
    0 4px 12px rgba(8,167,179,.08);
  z-index:3;
}

/* card-specific tint without blobs */
.migration-grid-three .migration-card:nth-child(2) > span{
  color:#0A3B6D;
  border-color:rgba(10,59,109,.18);
}

.migration-grid-three .migration-card:nth-child(3) > span{
  color:#D98600;
  border-color:rgba(246,160,0,.22);
}

.migration-grid-three .migration-card h3{
  position:relative;
  margin:28px 0 14px;
  max-width:280px;
  font-size:1.24rem;
  line-height:1.18;
  letter-spacing:-.02em;
  color:#082F59;
}

.migration-grid-three .migration-card p{
  color:#4A5F72;
  font-size:.97rem;
  line-height:1.55;
}

.migration-grid-three .migration-card .benefit{
  position:relative;
  display:block;
  margin-top:22px;
  padding:16px 16px 16px 18px;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(8,167,179,.08), rgba(255,255,255,.92));
  border:1px solid rgba(8,167,179,.14);
  color:#057C86 !important;
  font-size:.9rem;
  line-height:1.5;
  font-weight:800;
}

.migration-grid-three .migration-card .benefit::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:0 4px 4px 0;
  background:#F6A000;
}

/* decorative technical corner brackets instead of blobs */
.migration-grid-three .migration-card .benefit::after{
  content:"";
  position:absolute;
  right:14px;
  top:12px;
  width:18px;
  height:18px;
  border-top:2px solid rgba(8,167,179,.18);
  border-right:2px solid rgba(8,167,179,.18);
  border-radius:0 8px 0 0;
}

.migration-grid-three .migration-card .card-corner{
  display:none;
}

.migration-grid-three .migration-card:hover .benefit{
  background:linear-gradient(135deg, rgba(8,167,179,.11), rgba(255,255,255,.96));
}

/* cleaner mobile/tablet fallback */
@media(max-width:1050px){
  .migration-grid-three::before{
    display:none;
  }

  .migration-grid-three .migration-card:nth-child(1),
  .migration-grid-three .migration-card:nth-child(2),
  .migration-grid-three .migration-card:nth-child(3){
    margin-top:0;
  }

  .migration-grid-three .migration-card{
    min-height:auto;
  }
}

@media(max-width:650px){
  .migration-grid-three{
    gap:20px !important;
  }

  .migration-grid-three .migration-card{
    padding:32px 22px 22px;
  }

  .migration-grid-three .migration-card > span{
    left:20px;
    top:-16px;
    width:44px;
    height:44px;
    border-radius:14px;
  }

  .migration-grid-three .migration-card h3{
    margin-top:24px;
    font-size:1.16rem;
  }

  .migration-grid-three .migration-card p{
    font-size:.94rem;
  }

  .migration-grid-three .migration-card .benefit{
    font-size:.88rem;
  }
}


/* =========================================================
   V16 — Remove 01/02/03, align benefit blocks, simplify card 02
   ========================================================= */

.migration-grid-three::before{
  top:18px;
}

.migration-grid-three .migration-card{
  display:flex;
  flex-direction:column;
  min-height:370px;
  padding:30px 28px 24px;
}

.migration-grid-three .migration-card > span{
  display:none !important;
}

.migration-grid-three .migration-card h3{
  margin:0 0 16px;
  max-width:290px;
}

.migration-grid-three .migration-card p{
  margin:0;
}

.migration-grid-three .migration-card .benefit{
  margin-top:auto;
  min-height:92px;
  display:flex;
  align-items:flex-start;
}

.migration-grid-three .migration-card:nth-child(1),
.migration-grid-three .migration-card:nth-child(2),
.migration-grid-three .migration-card:nth-child(3){
  margin-top:0;
}

@media(max-width:1050px){
  .migration-grid-three .migration-card{
    min-height:auto;
  }
  .migration-grid-three .migration-card .benefit{
    min-height:0;
  }
}


/* =========================================================
   V19 — New information architecture + Migration expertise
   ========================================================= */
.migration-expertise{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfc 100%);
}
.migration-expertise::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(8,167,179,.024) 1px,transparent 1px),
    linear-gradient(rgba(8,167,179,.021) 1px,transparent 1px);
  background-size:32px 32px;
}
.migration-expertise .container{
  position:relative;
  z-index:1;
}
.migration-expertise-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}
.migration-expertise-card{
  position:relative;
  padding:28px 24px 26px;
  border-radius:20px;
  border:1px solid rgba(8,47,89,.09);
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 34px rgba(8,47,89,.055);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.migration-expertise-card::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:0;
  height:3px;
  border-radius:999px 999px 0 0;
  background:linear-gradient(90deg,#08A7B3,#F6A000);
}
.migration-expertise-card:hover{
  transform:translateY(-6px);
  border-color:rgba(8,167,179,.22);
  box-shadow:0 24px 50px rgba(8,47,89,.09);
}
.migration-expertise-card h3{
  margin:0 0 12px;
  color:#082F59;
  font-size:1.08rem;
  line-height:1.25;
}
.migration-expertise-card p{
  margin:0;
  color:#4b6175;
  line-height:1.55;
  font-size:.94rem;
}
.migration-expertise-signature{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:24px;
  padding:18px 22px;
  border-radius:16px;
  border:1px solid rgba(8,167,179,.16);
  background:linear-gradient(90deg,rgba(8,167,179,.06),rgba(246,160,0,.04));
  color:#28475f;
}
.migration-expertise-signature strong{
  color:#082F59;
}
@media(max-width:1100px){
  .migration-expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:650px){
  .migration-expertise-grid{grid-template-columns:1fr;}
}

/* V21 — profil Sydney */
.about .about-process{
  flex-wrap:wrap;
  gap:10px 12px;
  align-items:center;
}
.about .about-process span{
  white-space:normal;
  text-align:center;
}


/* =========================================================
   V24 — HEADER UI CLEAN
   Rebuild from V21 to avoid V22/V23 conflicting rules
   ========================================================= */

/* ---------- DESKTOP ---------- */
.site-header{
  overflow:visible;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(8,47,89,.07);
  box-shadow:0 5px 18px rgba(8,47,89,.035);
}

.nav-wrap{
  position:relative;
  height:84px;
  gap:28px;
}

.brand img{
  max-height:55px;
  max-width:305px;
  width:auto;
  object-fit:contain;
}

.main-nav{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.005em;
}

.main-nav > a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:44px;
  padding:0 13px;
  border-radius:12px;
  color:#17385A;
  transition:background .2s ease,color .2s ease;
}

.main-nav > a::after{
  display:none;
}

.main-nav > a:hover,
.main-nav > a:focus-visible{
  background:rgba(8,167,179,.075);
  color:#082F59;
  outline:none;
}

/* CTA principal du header */
.main-nav .btn-nav{
  margin-left:10px;
  min-height:50px;
  padding:0 22px;
  border-radius:999px;
  background:#F6A000;
  color:#FFFFFF !important;
  font-weight:850;
  box-shadow:none !important;
}

.main-nav .btn-nav:hover,
.main-nav .btn-nav:focus-visible{
  background:#E99400;
  color:#FFFFFF !important;
  box-shadow:none !important;
  transform:translateY(-1px);
  outline:none;
}

/* Burger */
.nav-toggle{
  display:none;
  position:relative;
  width:48px;
  height:48px;
  flex:0 0 48px;
  padding:0;
  border:1px solid rgba(8,47,89,.11);
  border-radius:14px;
  background:#FFFFFF;
  box-shadow:none;
}

.nav-toggle span{
  position:absolute;
  left:13px;
  width:22px;
  height:2px;
  margin:0;
  border-radius:999px;
  background:#082F59;
  transition:top .2s ease,transform .2s ease,opacity .15s ease;
}

.nav-toggle span:nth-child(1){top:15px}
.nav-toggle span:nth-child(2){top:22px}
.nav-toggle span:nth-child(3){top:29px}

.nav-toggle.is-open span:nth-child(1){
  top:22px;
  transform:rotate(45deg);
}
.nav-toggle.is-open span:nth-child(2){
  opacity:0;
}
.nav-toggle.is-open span:nth-child(3){
  top:22px;
  transform:rotate(-45deg);
}

/* ---------- TABLET / MOBILE ---------- */
@media (max-width:1050px){

  .nav-wrap{
    height:80px;
  }

  .brand img{
    max-height:50px !important;
    max-width:270px !important;
  }

  .nav-toggle{
    display:block !important;
    margin-left:auto;
    z-index:4;
  }

  /* Menu déroulant sous le header.
     Pas de panneau fixe, pas d'overlay, pas de fond vide au-dessus. */
  .main-nav{
    position:absolute !important;
    top:100% !important;
    left:-20px !important;
    right:-20px !important;
    bottom:auto !important;
    width:auto !important;
    margin:0 !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;

    padding:10px 20px 20px !important;
    border:0 !important;
    border-top:1px solid rgba(8,47,89,.06) !important;
    border-radius:0 0 22px 22px !important;
    background:#FFFFFF !important;
    box-shadow:0 18px 28px rgba(8,47,89,.10) !important;

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-8px) !important;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease !important;
    z-index:3 !important;
  }

  .main-nav.open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }

  .main-nav > a{
    min-height:52px !important;
    padding:0 12px !important;
    border:0 !important;
    border-bottom:1px solid rgba(8,47,89,.075) !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    font-size:1rem !important;
    font-weight:750 !important;
    color:#17385A !important;
  }

  .main-nav > a:hover,
  .main-nav > a:focus-visible{
    padding-left:16px !important;
    background:rgba(8,167,179,.06) !important;
    border-radius:10px !important;
  }

  .main-nav .btn-nav{
    width:100% !important;
    min-height:54px !important;
    margin:16px 0 0 !important;
    padding:0 18px !important;
    border:0 !important;
    border-radius:999px !important;
    background:#F6A000 !important;
    color:#FFFFFF !important;
    box-shadow:none !important;
    font-size:1rem !important;
  }
}

@media (max-width:650px){

  .container{
    width:min(100% - 24px,1180px);
  }

  .nav-wrap{
    height:74px;
  }

  .brand img{
    max-height:45px !important;
    max-width:225px !important;
  }

  .nav-toggle{
    width:46px;
    height:46px;
    flex-basis:46px;
    border-radius:13px;
  }

  .nav-toggle span{
    left:12px;
  }

  .nav-toggle span:nth-child(1){top:14px}
  .nav-toggle span:nth-child(2){top:21px}
  .nav-toggle span:nth-child(3){top:28px}
  .nav-toggle.is-open span:nth-child(1),
  .nav-toggle.is-open span:nth-child(3){top:21px}

  .main-nav{
    left:-12px !important;
    right:-12px !important;
    padding:8px 16px 18px !important;
    border-radius:0 0 18px 18px !important;
  }

  .main-nav > a{
    min-height:50px !important;
  }

  .main-nav .btn-nav{
    min-height:52px !important;
  }
}

/* =========================================================
   UI FINAL — règles extraites de index.html
   Séparation HTML / CSS sans modification visuelle
   ========================================================= */

/* =========================================================
   HERO — visuel planète SCOPE DATA
   Métier + Données + Contraintes -> Analyse -> Solution
   ========================================================= */

.hero-visual{
  display:grid;
  place-items:center;
}

.sd-planet{
  position:relative;
  width:min(560px,100%);
  aspect-ratio:1 / 1;
  display:grid;
  place-items:center;
  margin:auto;
}

.sd-orbit{
  position:absolute;
  border:1px solid rgba(8,167,179,.28);
  border-radius:50%;
  animation:sdOrbitRotate 18s linear infinite;
}

.sd-orbit-one{
  inset:12%;
}

.sd-orbit-two{
  inset:3%;
  border-style:dashed;
  border-color:rgba(8,47,89,.14);
  animation-duration:28s;
  animation-direction:reverse;
}

.sd-orbit::before,
.sd-orbit::after{
  content:"";
  position:absolute;
  width:11px;
  height:11px;
  border-radius:50%;
  background:#08A7B3;
  box-shadow:0 0 0 8px rgba(8,167,179,.09);
}

.sd-orbit::before{
  top:10%;
  left:12%;
}

.sd-orbit::after{
  right:9%;
  top:48%;
}

.sd-orbit-two::before{
  top:auto;
  bottom:8%;
  left:34%;
  background:#F6A000;
  box-shadow:0 0 0 8px rgba(246,160,0,.09);
}

.sd-orbit-two::after{
  display:none;
}

.sd-core{
  position:relative;
  z-index:5;
  width:230px;
  height:230px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:26px;
  background:
    radial-gradient(circle at 35% 30%,rgba(255,255,255,.98),rgba(244,251,252,.96) 52%,rgba(227,246,248,.98));
  border:1px solid rgba(8,167,179,.22);
  box-shadow:
    0 24px 54px rgba(8,47,89,.13),
    inset 0 0 36px rgba(8,167,179,.05);
  animation:sdCorePulse 3.6s ease-in-out infinite;
}

.sd-core small{
  margin-bottom:7px;
  color:#08A7B3;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.sd-core strong{
  color:#082F59;
  font-size:1.32rem;
  line-height:1.12;
}

.sd-solution{
  margin-top:16px;
  min-height:44px;
  padding:0 19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#F6A000;
  color:#fff;
  font-size:.88rem;
  font-weight:900;
  box-shadow:none;
}

.sd-node{
  position:absolute;
  z-index:6;
  min-width:112px;
  padding:12px 16px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(8,47,89,.10);
  box-shadow:0 11px 28px rgba(8,47,89,.07);
  color:#082F59;
  text-align:center;
  font-size:.93rem;
  font-weight:800;
  opacity:0;
  animation:sdNodeIn .65s ease forwards;
}

.sd-node::after{
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#08A7B3;
}

.sd-node-metier{
  left:3%;
  top:26%;
  animation-delay:.12s;
}

.sd-node-metier::after{
  right:-19px;
  top:50%;
  transform:translateY(-50%);
}

.sd-node-donnees{
  right:3%;
  top:27%;
  animation-delay:.26s;
}

.sd-node-donnees::after{
  left:-19px;
  top:50%;
  transform:translateY(-50%);
}

.sd-node-contraintes{
  left:50%;
  bottom:3%;
  transform:translateX(-50%);
  animation-delay:.40s;
}

.sd-node-contraintes::after{
  left:50%;
  top:-19px;
  transform:translateX(-50%);
}

.sd-beam{
  position:absolute;
  z-index:2;
  height:2px;
  overflow:hidden;
  opacity:.56;
  background:linear-gradient(90deg,rgba(8,167,179,0),rgba(8,167,179,.72),rgba(8,167,179,0));
}

.sd-beam::after{
  content:"";
  position:absolute;
  top:-2px;
  left:-22px;
  width:20px;
  height:6px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 0 12px rgba(8,167,179,.75);
  animation:sdBeamTravel 2.2s ease-in-out infinite;
}

.sd-beam-one{
  width:190px;
  left:17%;
  top:39%;
  transform:rotate(18deg);
  transform-origin:left center;
}

.sd-beam-two{
  width:190px;
  right:17%;
  top:39%;
  transform:rotate(162deg);
  transform-origin:right center;
}

.sd-beam-three{
  width:135px;
  left:50%;
  bottom:24%;
  transform:translateX(-50%) rotate(90deg);
  transform-origin:left center;
}

@keyframes sdOrbitRotate{
  to{transform:rotate(360deg)}
}

@keyframes sdCorePulse{
  0%,100%{
    transform:scale(1);
    box-shadow:0 24px 54px rgba(8,47,89,.13),inset 0 0 36px rgba(8,167,179,.05);
  }
  50%{
    transform:scale(1.018);
    box-shadow:0 28px 62px rgba(8,167,179,.16),inset 0 0 42px rgba(8,167,179,.08);
  }
}

@keyframes sdNodeIn{
  to{opacity:1}
}

@keyframes sdBeamTravel{
  0%{left:-22px;opacity:0}
  20%{opacity:1}
  100%{left:100%;opacity:0}
}

@media(max-width:1050px){
  .sd-planet{
    width:min(520px,90vw);
  }
}

@media(max-width:650px){
  .hero-visual{
    min-height:430px !important;
  }

  .sd-planet{
    width:100%;
    max-width:390px;
    min-height:420px;
    aspect-ratio:auto;
  }

  .sd-orbit-one{
    inset:auto;
    width:290px;
    height:290px;
  }

  .sd-orbit-two{
    inset:auto;
    width:350px;
    height:350px;
  }

  .sd-core{
    width:205px;
    height:205px;
    padding:22px;
  }

  .sd-core strong{
    font-size:1.16rem;
  }

  .sd-solution{
    min-height:41px;
    padding:0 16px;
    font-size:.82rem;
  }

  .sd-node{
    min-width:94px;
    padding:10px 13px;
    font-size:.86rem;
  }

  .sd-node-metier{
    left:0;
    top:18%;
  }

  .sd-node-donnees{
    right:0;
    top:19%;
  }

  .sd-node-contraintes{
    bottom:1%;
  }

  .sd-beam{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .sd-orbit,
  .sd-core,
  .sd-node,
  .sd-beam::after{
    animation:none !important;
  }

  .sd-node{
    opacity:1;
  }
}

/* =========================================================
   MIGRATION CARDS — compact / clean / industrial
   ========================================================= */
.migration-grid-three{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px !important;
  align-items:stretch;
  margin-top:28px;
}

.migration-grid-three .migration-card{
  position:relative;
  min-height:0 !important;
  padding:24px 24px 22px !important;
  border-radius:18px !important;
  border:1px solid rgba(8,47,89,.10) !important;
  background:#FFFFFF !important;
  box-shadow:0 10px 24px rgba(8,47,89,.05) !important;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.migration-grid-three .migration-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:#08A7B3 !important;
  opacity:.95;
}

.migration-grid-three .migration-card::after{
  display:none !important;
}

.migration-grid-three .migration-card:hover{
  transform:translateY(-4px);
  border-color:rgba(8,167,179,.22) !important;
  box-shadow:0 16px 32px rgba(8,47,89,.08) !important;
}

.migration-grid-three .migration-card h3{
  margin:0 0 12px !important;
  max-width:none !important;
  color:#082F59;
  font-size:1.16rem !important;
  line-height:1.22 !important;
  letter-spacing:-.015em;
}

.migration-grid-three .migration-card p{
  margin:0 !important;
  color:#4A5F72;
  font-size:.95rem !important;
  line-height:1.5 !important;
}

.migration-grid-three .migration-card .benefit{
  position:relative;
  margin-top:18px !important;
  padding:16px 0 0 !important;
  min-height:0 !important;
  border:0 !important;
  border-top:1px solid rgba(8,167,179,.18) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#057C86 !important;
  box-shadow:none !important;
  font-size:.9rem !important;
  line-height:1.45 !important;
  font-weight:800 !important;
}

.migration-grid-three .migration-card .benefit::before,
.migration-grid-three .migration-card .benefit::after{
  display:none !important;
}

/* neutralise les anciens dégradés/variations de cartes */
.migration-grid-three .migration-card:nth-child(1),
.migration-grid-three .migration-card:nth-child(2),
.migration-grid-three .migration-card:nth-child(3){
  margin-top:0 !important;
  background:#FFFFFF !important;
}

@media(max-width:1050px){
  .migration-grid-three{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .migration-grid-three .migration-card{
    padding:22px 22px 20px !important;
  }
}

@media(max-width:650px){
  .migration-grid-three{
    margin-top:22px;
  }

  .migration-grid-three .migration-card{
    padding:20px 18px 18px !important;
    border-radius:16px !important;
  }

  .migration-grid-three .migration-card h3{
    font-size:1.06rem !important;
    margin-bottom:9px !important;
  }

  .migration-grid-three .migration-card p{
    font-size:.92rem !important;
    line-height:1.45 !important;
  }

  .migration-grid-three .migration-card .benefit{
    margin-top:14px !important;
    padding-top:13px !important;
    font-size:.88rem !important;
  }
}

/* =========================================================
   UI — Rythme vertical global des sections
   ========================================================= */

/* Réduit la hauteur générale entre les blocs tout en conservant
   une respiration suffisante sur desktop. */
.section{
  padding-top:78px;
  padding-bottom:78px;
}

/* Le hero conserve son traitement spécifique. */
.hero.section{
  padding-top:150px;
  padding-bottom:78px;
}

@media(max-width:1050px){
  .section{
    padding-top:68px;
    padding-bottom:68px;
  }

  .hero.section{
    padding-top:130px;
    padding-bottom:68px;
  }
}

@media(max-width:650px){
  .section{
    padding-top:54px;
    padding-bottom:54px;
  }

  .hero.section{
    padding-top:112px;
    padding-bottom:54px;
  }
}

/* =========================================================
   UI — Positionnement fin des ancres de navigation
   ========================================================= */

/*
  Le titre doit apparaître sous le header fixe sans laisser
  une grande bande de la section précédente visible.
  L'offset tient compte du padding interne déjà présent
  dans chaque section.
*/
html{
  scroll-padding-top:8px;
}

section[id]{
  scroll-margin-top:8px;
}

@media(max-width:1050px){
  html{
    scroll-padding-top:12px;
  }

  section[id]{
    scroll-margin-top:12px;
  }
}

@media(max-width:650px){
  html{
    scroll-padding-top:20px;
  }

  section[id]{
    scroll-margin-top:20px;
  }
}

/* =========================================================
   HERO PLANÈTE — convergence vers SCOPE DATA
   ========================================================= */
.sd-connections{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:3;
  pointer-events:none;
  overflow:visible;
}
.sd-connection{
  fill:none;
  stroke:#08A7B3;
  stroke-width:2;
  stroke-linecap:round;
  stroke-dasharray:7 9;
  opacity:.52;
  vector-effect:non-scaling-stroke;
  animation:sdConnectionFlow 2.4s linear infinite;
}
.sd-connection-right{animation-delay:.45s}
.sd-connection-bottom{animation-delay:.9s}
.sd-beam{display:none !important}

/* Points orbitaux réduits pour conserver un écart visuel net. */
.sd-orbit::before,
.sd-orbit::after{
  width:9px;
  height:9px;
  box-shadow:0 0 0 5px rgba(8,167,179,.08);
}
.sd-orbit-two::before{
  width:9px;
  height:9px;
  box-shadow:0 0 0 5px rgba(246,160,0,.08);
}
.sd-orbit-one{animation-delay:-3.8s}
.sd-orbit-two{animation-delay:-11.5s}
.sd-core{z-index:5}
.sd-node{z-index:6}

@keyframes sdConnectionFlow{
  to{stroke-dashoffset:-32}
}

@media(max-width:650px){
  .sd-connection{
    stroke-width:1.7;
    opacity:.46;
  }
  .sd-orbit::before,
  .sd-orbit::after,
  .sd-orbit-two::before{
    width:8px;
    height:8px;
    box-shadow:0 0 0 4px rgba(8,167,179,.07);
  }
  .sd-orbit-two::before{
    box-shadow:0 0 0 4px rgba(246,160,0,.07);
  }
}

@media(prefers-reduced-motion:reduce){
  .sd-connection{animation:none !important}
}



/* =========================================================
   HERO PLANÈTE — points convergeant vers le centre
   ========================================================= */
/* Les orbites deviennent statiques : l'effet visuel repose maintenant
   sur les points qui vont vers le centre SCOPE DATA. */
.sd-orbit{
  animation:none !important;
}

.sd-orbit::before,
.sd-orbit::after,
.sd-orbit-two::before,
.sd-orbit-two::after{
  display:none !important;
}

.sd-connections{
  z-index:4;
}

.sd-connection{
  stroke-dasharray:6 8;
  opacity:.5;
}

.sd-travel-dot{
  fill:#08A7B3;
  filter:drop-shadow(0 0 7px rgba(8,167,179,.35));
}

.sd-travel-dot-donnees{
  fill:#0C95A0;
}

.sd-travel-dot-contraintes{
  fill:#F6A000;
  filter:drop-shadow(0 0 7px rgba(246,160,0,.34));
}


@media(prefers-reduced-motion:reduce){
  .sd-travel-dot animateMotion{
    display:none;
  }
}


/* =========================================================
   HERO PLANÈTE — balles orange mobiles + suppression des points fixes
   ========================================================= */
/* Supprime les petits points fixes bleus au niveau des blocs Métier / Données / Contraintes. */
.sd-node::after{
  display:none !important;
}

/* Toutes les balles qui convergent vers le centre deviennent orange
   pour mieux ressortir visuellement. */
.sd-travel-dot,
.sd-travel-dot-metier,
.sd-travel-dot-donnees,
.sd-travel-dot-contraintes{
  fill:#F6A000 !important;
  filter:drop-shadow(0 0 8px rgba(246,160,0,.38)) !important;
}

/* Légère différence de timing visuel déjà gérée dans le SVG ;
   on renforce ici simplement la lisibilité des trois parcours. */
.sd-connection{
  opacity:.42;
}

.sd-connection-left,
.sd-connection-right,
.sd-connection-bottom{
  stroke:#08A7B3;
}

/* =========================================================
   HERO PLANÈTE — équilibrage radial + effet radar
   ========================================================= */
.sd-node-metier,
.sd-node-donnees,
.sd-node-contraintes{
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
}
.sd-node-metier{transform:translate(-50%,-50%) translate(-195px,-112px) !important;}
.sd-node-donnees{transform:translate(-50%,-50%) translate(195px,-112px) !important;}
.sd-node-contraintes{transform:translate(-50%,-50%) translate(0,225px) !important;}

.sd-radar-dots{
  position:absolute;
  inset:3%;
  z-index:2;
  border-radius:50%;
  pointer-events:none;
  animation:sdRadarRotate 12s linear infinite;
}
.sd-radar-dot{
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#08A7B3;
  box-shadow:0 0 0 5px rgba(8,167,179,.08),0 0 12px rgba(8,167,179,.34);
}
.sd-radar-dot-a{left:50%;top:0;transform:translate(-50%,-50%);}
.sd-radar-dot-b{right:6.7%;top:75%;transform:translate(50%,-50%);}
.sd-radar-dot-c{left:6.7%;top:75%;transform:translate(-50%,-50%);}

.sd-node::after{display:none !important;}

@keyframes sdRadarRotate{to{transform:rotate(360deg)}}

.sd-connections{z-index:4;}
.sd-core{z-index:5;}
.sd-node{z-index:6;}

@media(max-width:650px){
  .sd-node-metier{transform:translate(-50%,-50%) translate(-128px,-76px) !important;}
  .sd-node-donnees{transform:translate(-50%,-50%) translate(128px,-76px) !important;}
  .sd-node-contraintes{transform:translate(-50%,-50%) translate(0,151px) !important;}
  .sd-radar-dot{width:7px;height:7px;}
}

@media(prefers-reduced-motion:reduce){
  .sd-radar-dots{animation:none !important;}
}



/* =========================================================
   MIGRATION — ordre : enjeu stratégique > bénéfices > citation
   ========================================================= */
#migration-environnement .section-heading { margin-bottom:22px; }
#migration-environnement .migration-bridge {
  margin-top:0;
  margin-bottom:25px;
}
#migration-environnement .migration-grid-three {
  margin-top:0;
  margin-bottom:28px;
}
#migration-environnement .migration-quote {
  margin:0;
}
/* Remove legacy decorative line/gradient behind the 3 compact cards. */
#migration-environnement .migration-grid-three::before { display:none !important; }
@media(max-width:650px) {
  #migration-environnement .section-heading { margin-bottom:18px; }
  #migration-environnement .migration-bridge { margin-bottom:20px; }
  #migration-environnement .migration-grid-three { margin-bottom:22px; }
}


/* =========================================================
   NOS SERVICES — cartes d'accès aux quatre pages dédiées
   ========================================================= */
.services-overview{
  background:radial-gradient(circle at 84% 10%,rgba(8,167,179,.15),transparent 32%),linear-gradient(135deg,#061E37,#082F59 72%,#073B60);
  color:#fff;
}
.services-overview-heading{max-width:770px;margin-bottom:30px}
.services-overview-heading h2{color:#fff;font-size:clamp(2rem,3.7vw,3.25rem)}
.services-overview-heading p:last-child{color:#D2E1EB;font-size:1.04rem}
.services-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:stretch}
.service-overview-card{
  position:relative;min-width:0;min-height:310px;display:flex;flex-direction:column;padding:22px 20px 19px;
  background:#fff;color:#082F59;border:1px solid #DCE8ED;border-radius:19px;
  box-shadow:0 12px 30px rgba(0,0,0,.11);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.service-overview-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.18);border-color:#8DD8DB}
.service-overview-featured::before{content:"";position:absolute;left:20px;right:20px;top:0;height:3px;background:#08A7B3;border-radius:0 0 4px 4px}
.service-overview-top{display:flex;align-items:center;gap:12px;min-height:38px;margin-bottom:16px}
.service-overview-index{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#E9F8F9;color:#07818C;font-size:.83rem;font-weight:900;flex:none}
.service-overview-subtitle{color:#698193;text-transform:uppercase;letter-spacing:.04em;font-size:.66rem;font-weight:800;line-height:1.28}
.service-overview-card h3{margin:0 0 10px;color:#082F59;font-size:1.21rem;line-height:1.19}
.service-overview-question{margin:0 0 11px;color:#153F5F;font-size:.93rem;font-weight:800;line-height:1.4}
.service-overview-copy{margin:0;color:#52697B;font-size:.88rem;line-height:1.5}
.service-overview-benefit{display:flex;flex-direction:column;gap:3px;margin:auto 0 12px;padding-top:20px}
.service-overview-benefit span{color:#7891A1;letter-spacing:.045em;text-transform:uppercase;font-size:.70rem;font-weight:800}
.service-overview-benefit strong{color:#057E88;font-size:.86rem;line-height:1.3}
.service-overview-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:13px;border-top:1px solid #DDEAEF;color:#082F59;font-size:.86rem;font-weight:850}
.service-overview-link span{color:#08A7B3;font-size:1.25rem;transition:transform .2s}
.service-overview-link:hover{color:#008B97}
.service-overview-link:hover span{transform:translate(2px,-2px)}
.service-overview-link:focus-visible{outline:3px solid #08A7B3;outline-offset:4px;border-radius:4px}
.services-overview-bottom{padding-top:24px;color:#C9DEE9;font-size:.93rem}
.services-overview-bottom p{max-width:790px;margin:0}
@media(max-width:1050px){.services-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-overview-card{min-height:275px}}
@media(max-width:650px){.services-overview-grid{grid-template-columns:1fr;gap:12px}.service-overview-card{min-height:0;padding:19px}.service-overview-benefit{margin-top:13px;padding-top:0}.services-overview-heading{margin-bottom:22px}}

/* =========================================================
   PAGES PRESTATIONS — style partagé, responsive
   ========================================================= */
.service-page{overflow-x:clip}
.service-page .service-page-hero{position:relative;padding:138px 0 70px;background:radial-gradient(circle at 84% 22%,rgba(8,167,179,.12),transparent 36%),linear-gradient(180deg,#fff,#F8FBFC)}
.service-page-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:#657D91;font-size:.82rem;font-weight:750;margin-bottom:32px}
.service-page-breadcrumb a:hover{color:#008B97}
.service-page-breadcrumb span[aria-hidden]{color:#08A7B3}
.service-page-eyebrow{margin:0 0 12px;color:#078C98;text-transform:uppercase;letter-spacing:.15em;font-weight:900;font-size:.76rem}
.service-page-layout{display:grid;grid-template-columns:minmax(0,1.23fr) minmax(280px,.77fr);gap:clamp(24px,5vw,80px);align-items:center}
.service-page-title{margin:0 0 22px;color:#082F59;font-size:clamp(2.25rem,4.25vw,4.65rem);line-height:1.06;letter-spacing:-.041em;max-width:810px}
.service-page-lead{margin:0 0 24px;max-width:740px;color:#40556A;font-size:1.1rem;line-height:1.65}
.service-page-actions{display:flex;gap:11px;flex-wrap:wrap}
.service-page-actions .btn-primary{background:#082F59;color:#fff}
.service-page-actions .btn-primary:hover{background:#0A3B6D}
.service-page-stat{position:relative;background:#fff;border:1px solid #CFE5E9;border-radius:23px;padding:32px 29px;box-shadow:0 20px 48px rgba(8,47,89,.08)}
.service-page-stat::before{content:"";position:absolute;left:29px;right:29px;top:0;height:3px;background:#08A7B3;border-radius:4px}
.service-page-stat-label{margin:0 0 18px;color:#078C98;text-transform:uppercase;letter-spacing:.1em;font-size:.77rem;font-weight:900}
.service-page-stat strong{display:block;color:#082F59;font-size:1.37rem;line-height:1.27;margin-bottom:12px}
.service-page-stat p:last-child{color:#526A7B;line-height:1.56;font-size:.95rem;margin:0}
.service-section-title{max-width:800px;margin:0 0 27px;color:#082F59;font-size:clamp(1.85rem,3vw,2.65rem);letter-spacing:-.025em;line-height:1.15}
.service-section-intro{max-width:760px;color:#52697A;margin:-12px 0 26px;font-size:1rem}
.service-situations{background:#fff}
.service-situations-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.service-situation{position:relative;padding:23px 21px;border:1px solid #DCE9EE;border-radius:18px;background:#FAFCFD}
.service-situation::before{content:"";display:block;width:25px;height:3px;background:#08A7B3;border-radius:6px;margin-bottom:18px}
.service-situation h3{color:#082F59;font-size:1.08rem;line-height:1.25;margin:0 0 11px}
.service-situation p{font-size:.92rem;line-height:1.55;color:#52697B;margin:0}
.service-workflow{background:#F4FAFB}
.service-workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-workflow-step{position:relative;padding:25px 24px;border:1px solid rgba(8,47,89,.09);border-radius:20px;background:#fff}
.service-workflow-count{display:inline-flex;color:#078C98;font-size:.84rem;font-weight:900;letter-spacing:.06em;margin-bottom:26px}
.service-workflow-step h3{color:#082F59;font-size:1.15rem;line-height:1.24;margin:0 0 11px}
.service-workflow-step p{color:#52697B;font-size:.94rem;line-height:1.56;margin:0}
.service-deliverables{background:#fff}
.service-deliverables-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.service-deliverables-intro{max-width:450px;color:#52697B;font-size:1rem;line-height:1.57}
.service-deliverables-list{margin:0;padding:4px 0 0;list-style:none}
.service-deliverables-list li{position:relative;padding:15px 0 15px 25px;border-bottom:1px solid #DCE8ED;color:#284A61;line-height:1.52}
.service-deliverables-list li:first-child{padding-top:0}
.service-deliverables-list li::before{content:"";position:absolute;left:0;top:24px;width:9px;height:9px;border-radius:3px;background:#08A7B3}
.service-deliverables-list li:first-child::before{top:8px}
.service-page-outcome{background:#082F59;color:#fff}
.service-page-outcome-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:45px;align-items:center}
.service-page-outcome h2{color:#fff;margin:0 0 14px;font-size:clamp(1.85rem,3vw,2.8rem)}
.service-page-outcome p{max-width:760px;color:#D9E7EF;font-size:1.03rem;line-height:1.65;margin:0}
.service-page-outcome p + p{font-size:.92rem;color:#BFD1E1;margin-top:10px}
.service-page-cta{min-width:max-content;background:#F6A000;color:#fff;box-shadow:none}
.service-page-cta:hover{background:#E99400;color:#fff;box-shadow:none}
.service-related{padding-top:70px!important;padding-bottom:74px!important}
.service-related-heading{font-size:clamp(1.75rem,2.7vw,2.4rem);margin:0 0 23px}
.service-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.service-related-link{display:flex;flex-direction:column;gap:8px;min-height:130px;padding:22px;background:#F7FBFC;border:1px solid #D9E7EC;border-radius:17px;transition:border-color .2s ease,transform .2s ease}
.service-related-link:hover{border-color:#08A7B3;transform:translateY(-3px)}
.service-related-link small{color:#078C98;text-transform:uppercase;letter-spacing:.08em;font-size:.73rem;font-weight:900}
.service-related-link strong{color:#082F59;font-size:1.11rem}
.service-related-link span{color:#52697B;font-size:.87rem}
.service-related-link:focus-visible{outline:3px solid #08A7B3;outline-offset:2px}
.service-page .site-footer{position:relative}
@media(max-width:1050px){
 .service-page-layout{grid-template-columns:1fr;gap:24px}.service-page-stat{max-width:680px}
 .service-situations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-workflow-grid{gap:12px}.service-workflow-step{padding:20px}
}
@media(max-width:700px){
 .service-page .service-page-hero{padding-top:104px;padding-bottom:49px}
 .service-page-breadcrumb{margin-bottom:24px}
 .service-page-title{font-size:clamp(2.05rem,8vw,3rem)}.service-page-lead{font-size:1rem}
 .service-page-stat{padding:24px 22px}
 .service-situations-grid,.service-workflow-grid,.service-deliverables-grid,.service-related-grid{grid-template-columns:1fr}
 .service-situation{padding:19px}.service-workflow-step{padding:21px}
 .service-section-title{font-size:1.85rem}
 .service-page-outcome-layout{grid-template-columns:1fr;gap:25px}
 .service-page-cta{width:100%}
 .service-related{padding-top:52px!important;padding-bottom:55px!important}
}
@media(prefers-reduced-motion:reduce){.service-overview-card,.service-related-link,.service-overview-link span{transition:none!important}}

.skip-link{position:fixed;left:12px;top:-100px;z-index:500;padding:9px 14px;background:#fff;color:#082F59;border:2px solid #08A7B3;border-radius:8px;font-weight:800}
.skip-link:focus{top:10px}


/* =========================================================
   PAGE AUDIT — identité éditoriale et diagramme de flux
   Scoped: .audit-* uniquement. Autres pages inchangées.
   ========================================================= */
.service-page .audit-hero{padding:130px 0 64px;background:radial-gradient(circle at 88% 25%,rgba(8,167,179,.11),transparent 32%),#F9FCFD;overflow:hidden}
.audit-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:clamp(30px,5vw,72px);align-items:center}
.audit-title{max-width:740px;font-size:clamp(2.6rem,4.35vw,4.65rem);line-height:1.06;letter-spacing:-.044em;color:#082F59;margin:0 0 22px}
.audit-title span{color:#078F9C}
.audit-promise{font-size:clamp(1.08rem,1.55vw,1.3rem);line-height:1.45;font-weight:790;color:#082F59;max-width:660px;margin:0 0 13px}
.audit-lead{max-width:665px;font-size:1.02rem;line-height:1.68;color:#4D6476;margin:0 0 26px}
.audit-hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.audit-btn{background:#082F59;box-shadow:none;white-space:nowrap}
.audit-btn:hover{background:#0B4D7B;box-shadow:none}
.audit-btn span,.audit-conclusion-cta span{font-size:1.15em;line-height:1}
.audit-secondary-link{color:#082F59;font-size:.92rem;font-weight:800;border-bottom:1px solid rgba(8,47,89,.35);padding-bottom:3px}
.audit-secondary-link:hover{color:#078F9C;border-color:#078F9C}
.audit-hero-footnote{display:flex;align-items:flex-start;gap:11px;font-size:.85rem;line-height:1.5;color:#6A8090;margin:25px 0 0;max-width:640px}
.audit-hero-footnote span{display:grid;place-items:center;flex:0 0 22px;height:22px;border-radius:50%;background:#DCF5F5;color:#078F9C;font-weight:900}

/* Schéma vectoriel CSS + SVG représentant les échanges interservices */
.audit-diagram{position:relative;height:440px;min-width:0;border-radius:27px;background:radial-gradient(circle at 51% 50%,rgba(14,115,141,.24),transparent 38%),linear-gradient(145deg,#072B50,#0C416B);box-shadow:0 25px 54px rgba(8,47,89,.16);overflow:hidden;isolation:isolate}
.audit-diagram:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:24px 24px}
.audit-diagram-label{position:absolute;z-index:3;top:22px;left:24px;margin:0;color:#B8E1E8;letter-spacing:.15em;font-size:.68rem;font-weight:900}
.audit-diagram-lines{position:absolute;inset:0;z-index:1}
.audit-diagram-lines svg{width:100%;height:100%}
.audit-diagram-lines path{stroke:rgba(86,209,219,.78);stroke-width:1.8;stroke-dasharray:5 9;fill:none;animation:auditFlow 3.7s linear infinite;vector-effect:non-scaling-stroke}
.audit-diagram-lines .audit-diagram-ring{stroke:rgba(109,204,215,.13);stroke-width:1;fill:none;stroke-dasharray:3 9}
.audit-diagram-core{position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);z-index:4;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;width:159px;height:159px;border-radius:50%;background:linear-gradient(145deg,#F3FEFF,#D6F1F3);border:2px solid #89D7DF;box-shadow:0 0 0 12px rgba(8,167,179,.11),0 0 42px rgba(8,167,179,.2);color:#082F59}
.audit-diagram-core span{font-size:1.04rem;line-height:1.2;font-weight:900;letter-spacing:.02em}
.audit-diagram-core small{font-size:.62rem;font-weight:750;margin-top:10px;color:#487889}
.audit-diagram-node{position:absolute;z-index:5;display:flex;justify-content:center;align-items:center;min-width:112px;padding:10px 14px;border-radius:12px;border:1px solid rgba(117,208,222,.3);background:rgba(255,255,255,.96);box-shadow:0 12px 24px rgba(0,0,0,.12);color:#082F59;font-size:.84rem;font-weight:850;text-align:center}
.audit-diagram-node--methods{top:20%;left:8%}
.audit-diagram-node--prod{top:20%;right:8%}
.audit-diagram-node--quality{bottom:19%;right:7%}
.audit-diagram-node--buy{bottom:19%;left:8%}
.audit-diagram-node--sav{bottom:7%;left:50%;transform:translateX(-50%);min-width:75px}
.audit-diagram-legend{position:absolute;bottom:17px;left:22px;color:#ADD4E4;letter-spacing:.04em;font-size:.65rem;font-weight:800}
.audit-diagram-legend span{color:#F6A000;margin:0 4px}
@keyframes auditFlow{to{stroke-dashoffset:-56}}

/* Section difficultés en liste légère */
.audit-problems{background:#fff}
.audit-problems-layout{display:grid;grid-template-columns:minmax(260px,.86fr) minmax(0,1.14fr);gap:clamp(45px,8vw,115px);align-items:start}
.audit-heading{margin:0 0 19px;max-width:770px;font-size:clamp(1.85rem,3vw,2.8rem);line-height:1.12;letter-spacing:-.033em;color:#082F59}
.audit-heading span{color:#087D8A}
.audit-problems-intro>p:last-child,.audit-section-heading>p:last-child,.audit-deliverables-intro{max-width:550px;font-size:1rem;line-height:1.63;color:#557084;margin:0}
.audit-problem-list{border-top:1px solid #D9E7EC}
.audit-problem{display:grid;grid-template-columns:43px minmax(0,1fr);gap:17px;padding:17px 6px;border-bottom:1px solid #D9E7EC;transition:background .2s ease}
.audit-problem:hover{background:#F7FBFC}
.audit-problem-index{font-size:.77rem;letter-spacing:.03em;color:#078F9C;font-weight:900;padding-top:3px}
.audit-problem h3{margin:0 0 3px;font-size:1.02rem;font-weight:850;color:#082F59}
.audit-problem p{margin:0;color:#536B7A;font-size:.9rem;line-height:1.5}

/* Intervention en frise */
.audit-method{background:#F4FAFB}
.audit-section-heading{max-width:870px;margin-bottom:35px}
.audit-method-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;position:relative}
.audit-method-track:before{content:'';position:absolute;left:9%;right:9%;top:26px;border-top:2px dashed rgba(8,167,179,.35)}
.audit-method-step{position:relative;z-index:1;padding:0 7px 7px}
.audit-step-no{display:grid;place-items:center;width:53px;height:53px;margin:0 0 21px;border-radius:16px;background:#082F59;color:#fff;border:4px solid #F4FAFB;font-weight:900;font-size:.83rem}
.audit-method-step h3{margin:0 0 8px;color:#082F59;font-size:1.25rem}
.audit-method-step p{max-width:335px;margin:0;color:#547083;line-height:1.58;font-size:.95rem}

/* Livrables : représentation d'un document technique */
.audit-deliverables{background:#fff}
.audit-deliverables-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(32px,7vw,100px);align-items:center}
.audit-deliverables-stamp{display:flex;align-items:center;gap:13px;max-width:480px;margin-top:27px;padding:16px 19px;border-left:3px solid #08A7B3;background:#F1FAFA;color:#17465B;font-weight:780;line-height:1.45;font-size:.93rem}
.audit-deliverables-stamp span{font-size:1.35rem;color:#078F9C}
.audit-deliverables-paper{padding:27px 29px 20px;background:#FCFEFF;border:1px solid #DBE9EE;border-top:4px solid #08A7B3;box-shadow:0 18px 45px rgba(8,47,89,.055);border-radius:5px 5px 17px 17px}
.audit-document-top{display:flex;justify-content:space-between;gap:12px;color:#668498;font-size:.72rem;font-weight:900;letter-spacing:.13em;padding-bottom:16px;border-bottom:1px solid #D8E7ED}
.audit-document-top span:last-child{letter-spacing:.32em;color:#08A7B3}
.audit-output-list{list-style:none;padding:0;margin:4px 0 0}
.audit-output-list li{position:relative;padding:14px 5px 14px 30px;border-bottom:1px solid #E2EEF1;color:#264A62;line-height:1.45;font-size:.93rem}
.audit-output-list li:last-child{border-bottom:0}
.audit-output-list li:before{content:'✓';position:absolute;left:0;top:13px;color:#07929F;font-size:.98rem;font-weight:900}

/* Deux voies après l'audit */
.audit-paths{background:#F7FAFC}
.audit-paths-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.audit-path{display:flex;flex-direction:column;min-height:245px;padding:29px 30px;background:#fff;border:1px solid #DCE9EE;border-radius:20px}
.audit-path--plm{background:#EFF9FA;border-color:#C4E5E8}
.audit-path-tag{font-size:.73rem;font-weight:900;color:#078C98;letter-spacing:.13em;text-transform:uppercase}
.audit-path h3{margin:13px 0 10px;color:#082F59;font-size:1.35rem;line-height:1.2}
.audit-path p{margin:0;color:#50697B;line-height:1.6;font-size:.95rem}
.audit-path-signature{margin-top:auto;padding-top:26px;display:flex;justify-content:space-between;align-items:center;color:#0A7887;font-weight:850;font-size:.9rem}
.audit-path-signature span{font-size:1.23rem}

/* Résultat et conversion */
.audit-conclusion{background:linear-gradient(110deg,#061E38,#082F59 72%,#0B476E);color:#fff}
.audit-conclusion-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:38px;align-items:center}
.audit-conclusion h2{color:#fff;margin:0 0 13px;font-size:clamp(1.8rem,2.65vw,2.8rem);line-height:1.13;letter-spacing:-.02em;max-width:770px}
.audit-conclusion p:not(.service-page-eyebrow){max-width:760px;margin:0;color:#D3E5EE;font-size:1.02rem;line-height:1.58}
.audit-conclusion-cta{background:#F6A000;color:#fff;box-shadow:none;white-space:nowrap}
.audit-conclusion-cta:hover{background:#E99500;color:#fff;box-shadow:none}
.audit-related{background:#fff}

@media(max-width:1100px){
 .audit-hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.84fr);gap:24px}
 .audit-title{font-size:clamp(2.3rem,4.2vw,3.6rem)}
 .audit-diagram{height:390px}
 .audit-diagram-node{min-width:95px;font-size:.78rem;padding:9px}
 .audit-diagram-core{width:142px;height:142px}
}
@media(max-width:850px){
 .audit-hero-grid{grid-template-columns:1fr;gap:35px}
 .audit-diagram{height:440px;width:min(100%,600px);margin:0 auto}
 .audit-problems-layout,.audit-deliverables-grid{grid-template-columns:1fr;gap:25px}
 .audit-problems-intro>p:last-child{max-width:720px}
 .audit-problem-list{max-width:100%}
 .audit-conclusion-layout{grid-template-columns:1fr;gap:25px}
 .audit-conclusion-cta{width:max-content}
}
@media(max-width:650px){
 .service-page .audit-hero{padding-top:100px;padding-bottom:48px}
 .audit-title{font-size:clamp(2.15rem,8.2vw,3.1rem);line-height:1.08}
 .audit-promise{font-size:1.02rem}
 .audit-lead{font-size:.96rem}
 .audit-hero-actions{gap:18px}
 .audit-btn{width:100%}
 .audit-secondary-link{margin:0 auto 0 0}
 .audit-hero-footnote{font-size:.82rem}
 .audit-diagram{height:315px;border-radius:20px}
 .audit-diagram-label{font-size:.56rem;top:15px;left:15px}
 .audit-diagram-core{width:111px;height:111px;box-shadow:0 0 0 7px rgba(8,167,179,.10)}
 .audit-diagram-core span{font-size:.84rem}
 .audit-diagram-core small{font-size:.5rem;margin-top:6px}
 .audit-diagram-node{min-width:69px;max-width:80px;font-size:.66rem;padding:7px 6px;border-radius:8px}
 .audit-diagram-node--methods{left:4%;top:23%}
 .audit-diagram-node--prod{right:4%;top:23%}
 .audit-diagram-node--quality{right:3%;bottom:20%}
 .audit-diagram-node--buy{left:4%;bottom:20%}
 .audit-diagram-node--sav{bottom:8%;min-width:63px}
 .audit-diagram-legend{left:14px;bottom:12px;font-size:.54rem}
 .audit-heading{font-size:1.88rem}
 .audit-problem{grid-template-columns:33px minmax(0,1fr);gap:10px;padding:14px 0}
 .audit-method-track{grid-template-columns:1fr;gap:26px;margin-top:20px}
 .audit-method-track:before{left:25px;right:auto;top:20px;bottom:32px;height:auto;border-top:0;border-left:2px dashed rgba(8,167,179,.3)}
 .audit-method-step{padding-left:71px;min-height:60px}
 .audit-step-no{position:absolute;top:-3px;left:0;width:52px;height:52px}
 .audit-deliverables-paper{padding:22px 20px}
 .audit-paths-grid{grid-template-columns:1fr;gap:13px}
 .audit-path{padding:25px 22px;min-height:230px}
 .audit-conclusion-cta{width:100%;white-space:normal}
}
@media(prefers-reduced-motion:reduce){.audit-diagram-lines path{animation:none!important}}


/* =========================================================
   PAGE CONSEIL & FORMATION — Processus & usages (V9)
   Sélecteurs dédiés .cf-* : n'affecte pas Audit ni les autres pages.
   ========================================================= */
.service-page .cf-hero{padding:130px 0 64px;background:radial-gradient(circle at 88% 22%,rgba(8,167,179,.12),transparent 32%),#F9FCFD;overflow:hidden}
.cf-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr);align-items:center;gap:clamp(28px,5vw,72px)}
.cf-title{margin:0 0 21px;max-width:770px;color:#082F59;font-size:clamp(2.45rem,4.3vw,4.55rem);line-height:1.06;letter-spacing:-.045em}
.cf-title span,.cf-heading span{color:#078F9C}
.cf-promise{margin:0 0 14px;font-size:clamp(1.04rem,1.55vw,1.25rem);font-weight:800;color:#082F59;line-height:1.46;max-width:665px}
.cf-lead{margin:0 0 24px;max-width:665px;color:#4D6476;font-size:1.02rem;line-height:1.66}
.cf-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}
.cf-btn{background:#082F59;box-shadow:none;white-space:nowrap}
.cf-btn:hover{background:#0B4D7B;box-shadow:none}
.cf-btn span,.cf-conclusion-cta span{font-size:1.15em}
.cf-secondary-link{color:#082F59;border-bottom:1px solid rgba(8,47,89,.35);font-size:.92rem;font-weight:800;padding-bottom:3px}
.cf-secondary-link:hover{color:#078F9C;border-color:#078F9C}
.cf-hero-footnote{display:flex;align-items:flex-start;gap:10px;max-width:640px;color:#6A8090;font-size:.85rem;line-height:1.52;margin:25px 0 0}
.cf-hero-footnote span{display:grid;place-items:center;flex:0 0 22px;height:22px;border-radius:50%;background:#DCF5F5;color:#078F9C;font-weight:900}

/* Illustration éditoriale : chemin processus -> paramétrage -> usage */
.cf-diagram{position:relative;display:flex;flex-direction:column;height:440px;min-width:0;overflow:hidden;isolation:isolate;padding:25px 27px 21px;border-radius:27px;color:#E7F8FA;background:radial-gradient(circle at 85% 18%,rgba(8,167,179,.22),transparent 43%),linear-gradient(145deg,#072B50,#0C416B);box-shadow:0 25px 54px rgba(8,47,89,.16)}
.cf-diagram:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.033) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.033) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.cf-diagram-label{position:relative;z-index:1;margin:0;color:#B8E1E8;letter-spacing:.14em;font-size:.68rem;font-weight:900}
.cf-diagram-flow{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:0;margin:7px 0 5px}
.cf-diagram-stage{position:relative;width:min(100%,352px);background:rgba(251,254,255,.97);border:1px solid #9ED6DE;border-radius:12px;padding:12px 16px 11px;text-align:center;color:#082F59;box-shadow:0 10px 19px rgba(0,0,0,.12)}
.cf-diagram-stage--platform{background:#DDF5F7;border:1px solid #54BBC6;box-shadow:0 0 0 5px rgba(8,167,179,.11),0 14px 26px rgba(0,0,0,.12)}
.cf-diagram-step{position:absolute;top:10px;left:12px;display:flex;flex-direction:column;gap:0;font-size:.60rem;font-weight:950;color:#008895}
.cf-diagram-step span{font-size:.5rem;letter-spacing:.02em;font-weight:750;text-transform:uppercase}
.cf-diagram-stage strong{display:block;padding:0 40px;font-size:.87rem;font-weight:900;letter-spacing:.02em}
.cf-diagram-stage--platform strong{font-size:1.02rem;letter-spacing:.05em}
.cf-diagram-chips{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:7px}
.cf-diagram-chips span{padding:3px 7px;border-radius:30px;background:#E9F3F6;color:#4B7182;font-size:.62rem;font-weight:750}
.cf-diagram-stage--platform .cf-diagram-chips span{background:#C8E9ED;color:#17637A}
.cf-diagram-connector{position:relative;display:flex;align-items:center;justify-content:center;height:18px;width:2px;background:linear-gradient(#A8E1E8,#08A7B3)}
.cf-diagram-connector:before{content:'';display:block;position:absolute;width:5px;height:5px;border-radius:50%;background:#F6A000;top:2px;animation:cfFlow 1.7s ease-in-out infinite}
.cf-diagram-connector i{position:absolute;bottom:-1px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #08A7B3}
.cf-diagram-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0;color:#ADD4E4;letter-spacing:.03em;font-size:.61rem;font-weight:800}
.cf-diagram-bottom span{color:#F6A000;font-size:.89rem}
@keyframes cfFlow{0%{top:1px;opacity:.5}75%{top:11px;opacity:1}100%{top:11px;opacity:0}}

.cf-heading{max-width:810px;margin:0 0 19px;color:#082F59;font-size:clamp(1.85rem,3vw,2.8rem);line-height:1.13;letter-spacing:-.033em}
.cf-situations{background:#fff}
.cf-situations-layout{display:grid;grid-template-columns:minmax(260px,.86fr) minmax(0,1.14fr);gap:clamp(40px,8vw,110px);align-items:start}
.cf-situations-intro>p:last-child,.cf-section-heading>p:last-child,.cf-deliverables-intro{max-width:550px;color:#557084;font-size:1rem;line-height:1.63;margin:0}
.cf-situations-list{border-top:1px solid #D9E7EC}
.cf-situation{display:grid;grid-template-columns:37px minmax(0,1fr);gap:14px;padding:20px 5px;border-bottom:1px solid #D9E7EC;transition:background .2s ease}
.cf-situation:hover{background:#F7FBFC}
.cf-situation-index{padding-top:4px;color:#078F9C;font-weight:900;font-size:.75rem}
.cf-situation h3{margin:0 0 5px;color:#082F59;font-size:1.03rem;font-weight:850}
.cf-situation p{margin:0;color:#536B7A;font-size:.91rem;line-height:1.52}

.cf-method{background:#F4FAFB}
.cf-section-heading{max-width:890px;margin-bottom:34px}
.cf-method-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;position:relative}
.cf-method-track:before{content:'';position:absolute;left:9%;right:9%;top:25px;border-top:2px dashed rgba(8,167,179,.33)}
.cf-method-step{position:relative;z-index:1;padding:0 7px 5px}
.cf-step-number{display:grid;place-items:center;width:53px;height:53px;border-radius:16px;border:4px solid #F4FAFB;background:#082F59;color:white;font-size:.83rem;font-weight:900;margin:0 0 22px}
.cf-method-step h3{margin:0 0 8px;color:#082F59;font-size:1.23rem}
.cf-method-step p{max-width:340px;margin:0;color:#547083;font-size:.95rem;line-height:1.58}

.cf-deliverables{background:#fff}
.cf-deliverables-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(32px,7vw,100px);align-items:center}
.cf-deliverables-highlight{display:flex;align-items:center;gap:13px;max-width:480px;margin:27px 0 0;padding:16px 19px;background:#F1FAFA;border-left:3px solid #08A7B3;color:#17465B;font-size:.93rem;line-height:1.45;font-weight:780}
.cf-deliverables-highlight span{color:#078F9C;font-size:1.35rem}
.cf-deliverables-paper{padding:27px 29px 20px;border:1px solid #DBE9EE;border-top:4px solid #08A7B3;border-radius:5px 5px 17px 17px;background:#FCFEFF;box-shadow:0 18px 45px rgba(8,47,89,.055)}
.cf-document-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid #D8E7ED;color:#668498;font-size:.72rem;letter-spacing:.13em;font-weight:900}
.cf-document-header span:last-child{color:#08A7B3;letter-spacing:.32em}
.cf-output-list{padding:0;margin:4px 0 0;list-style:none}
.cf-output-list li{position:relative;padding:13px 5px 13px 30px;border-bottom:1px solid #E2EEF1;color:#264A62;font-size:.92rem;line-height:1.45}
.cf-output-list li:last-child{border-bottom:0}
.cf-output-list li:before{content:'✓';position:absolute;left:0;top:13px;color:#07929F;font-size:.98rem;font-weight:900}

.cf-paths{background:#F7FAFC}
.cf-paths-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cf-path{display:flex;flex-direction:column;min-height:240px;padding:29px 30px;border:1px solid #DCE9EE;border-radius:20px;background:white}
.cf-path--existing{background:#EFF9FA;border-color:#C4E5E8}
.cf-path-tag{color:#078C98;text-transform:uppercase;letter-spacing:.13em;font-size:.73rem;font-weight:900}
.cf-path h3{margin:13px 0 10px;color:#082F59;font-size:1.35rem;line-height:1.2}
.cf-path p{margin:0;color:#50697B;line-height:1.6;font-size:.95rem}
.cf-path-signature{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:23px;color:#0A7887;font-size:.9rem;font-weight:850}
.cf-path-signature span{font-size:1.23rem}
.cf-conclusion{background:linear-gradient(110deg,#061E38,#082F59 72%,#0B476E);color:white}
.cf-conclusion-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:38px}
.cf-conclusion h2{margin:0 0 13px;max-width:770px;color:white;font-size:clamp(1.8rem,2.65vw,2.8rem);line-height:1.13;letter-spacing:-.02em}
.cf-conclusion p:not(.service-page-eyebrow){max-width:760px;margin:0;color:#D3E5EE;font-size:1.02rem;line-height:1.58}
.cf-conclusion-cta{background:#F6A000;color:white;box-shadow:none;white-space:nowrap}
.cf-conclusion-cta:hover{background:#E99500;color:white;box-shadow:none}
.cf-related{background:white}
@media(max-width:1100px){
 .cf-hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.86fr);gap:24px}
 .cf-title{font-size:clamp(2.3rem,4.1vw,3.6rem)}
 .cf-diagram{height:410px;padding:24px 17px 20px}
 .cf-diagram-stage{width:min(100%,320px)}
}
@media(max-width:850px){
 .cf-hero-grid{grid-template-columns:1fr;gap:35px}
 .cf-diagram{height:435px;width:min(100%,600px);margin:0 auto}
 .cf-situations-layout,.cf-deliverables-grid{grid-template-columns:1fr;gap:25px}
 .cf-conclusion-layout{grid-template-columns:1fr;gap:24px}
 .cf-conclusion-cta{width:max-content}
}
@media(max-width:650px){
 .service-page .cf-hero{padding-top:100px;padding-bottom:48px}
 .cf-title{font-size:clamp(2.15rem,8.2vw,3.1rem);line-height:1.09}
 .cf-promise{font-size:1.02rem}
 .cf-lead{font-size:.96rem}
 .cf-hero-actions{gap:18px}
 .cf-btn{width:100%}
 .cf-secondary-link{margin:0 auto 0 0}
 .cf-hero-footnote{font-size:.82rem}
 .cf-diagram{height:380px;padding:19px 15px;border-radius:20px}
 .cf-diagram-label{font-size:.57rem}
 .cf-diagram-stage{width:min(100%,325px);padding:12px 6px 11px}
 .cf-diagram-stage strong{font-size:.78rem;padding:0 38px}
 .cf-diagram-stage--platform strong{font-size:.88rem}
 .cf-diagram-chips{gap:5px}
 .cf-diagram-chips span{font-size:.57rem}
 .cf-diagram-bottom{font-size:.52rem}
 .cf-heading{font-size:1.88rem}
 .cf-situation{grid-template-columns:31px minmax(0,1fr);gap:10px;padding:15px 0}
 .cf-method-track{grid-template-columns:1fr;gap:27px;margin-top:20px}
 .cf-method-track:before{left:25px;right:auto;top:20px;bottom:30px;border-top:0;border-left:2px dashed rgba(8,167,179,.3)}
 .cf-method-step{padding-left:71px;min-height:62px}
 .cf-step-number{position:absolute;top:-3px;left:0;width:52px;height:52px}
 .cf-deliverables-paper{padding:22px 20px}
 .cf-paths-grid{grid-template-columns:1fr;gap:13px}
 .cf-path{min-height:225px;padding:24px 22px}
 .cf-conclusion-cta{width:100%;white-space:normal}
}
@media(prefers-reduced-motion:reduce){.cf-diagram-connector:before{animation:none!important}}


/* =========================================================
   PAGE 03 — MIGRATION DE DONNEES / SOLIDWORKS -> 3DEXPERIENCE
   Specific styles, other service pages unchanged.
   ========================================================= */
.service-page .md-hero{padding:130px 0 64px;background:radial-gradient(circle at 83% 21%,rgba(8,167,179,.105),transparent 33%),#F9FCFD}
.md-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);align-items:center;gap:clamp(34px,5vw,76px)}
.md-title{max-width:780px;margin:0 0 20px;color:#082F59;font-size:clamp(2.4rem,4vw,4rem);line-height:1.095;letter-spacing:-.039em}
.md-title span{color:#078C98}
.md-promise{margin:0 0 15px;color:#123D59;font-weight:850;font-size:1.13rem;letter-spacing:-.008em}
.md-lead{max-width:720px;margin:0;color:#4D6578;font-size:1rem;line-height:1.65}
.md-hero-actions{display:flex;align-items:center;gap:17px 24px;flex-wrap:wrap;margin:26px 0 18px}
.md-btn{gap:20px;display:inline-flex;align-items:center;justify-content:space-between;background:#F6A000;color:white;box-shadow:none}
.md-btn:hover{background:#E99600;color:white;box-shadow:none}
.md-btn span{font-size:1.13rem}
.md-secondary-link{color:#0A6274;font-size:.92rem;font-weight:800;border-bottom:1px solid rgba(8,167,179,.38);padding-bottom:3px}
.md-secondary-link:hover{color:#082F59}
.md-hero-note{display:flex;align-items:start;gap:9px;color:#61788A;font-size:.83rem;line-height:1.5;margin:0}
.md-hero-note span{color:#0B9DAA;font-weight:900}
.md-visual{min-width:0;position:relative;padding:22px 27px 22px;border-radius:23px;overflow:hidden;border:1px solid #D0E4E9;background:linear-gradient(165deg,#FBFEFF,#F1F9FB);box-shadow:0 20px 55px rgba(8,47,89,.07)}
.md-visual:after{content:'';position:absolute;pointer-events:none;width:260px;height:260px;border:1px solid rgba(8,167,179,.14);border-radius:50%;right:-129px;top:-143px}
.md-visual-top{display:flex;gap:8px;justify-content:space-between;align-items:center;color:#718E9E;letter-spacing:.13em;font-size:.65rem;font-weight:850;margin-bottom:25px}
.md-visual-code{color:#A7C1CB;letter-spacing:.04em;font-size:.55rem}
.md-visual-sources{display:grid;grid-template-columns:1fr 1.25fr 1.1fr;gap:7px}
.md-visual-sources span{min-height:47px;display:grid;place-items:center;text-align:center;padding:8px 4px;border:1px solid #CDE3EA;background:white;color:#154B69;font-size:.67rem;font-weight:850;border-radius:10px;line-height:1.16}
.md-flow-down{height:38px;display:flex;gap:6px;align-items:center;justify-content:center;color:#0C9DAD}
.md-flow-down span{display:block;width:21px;height:1px;background:#CCE7EB}
.md-flow-down b{font-size:1.08rem;font-weight:700;animation:md-flow 2s ease-in-out infinite}
.md-visual-audit{border:1px solid #B3DBDF;border-radius:12px;background:#EAF8F9;text-align:center;padding:13px 10px}
.md-visual-audit small,.md-visual-target small{display:block;font-size:.63rem;letter-spacing:.13em;font-weight:850;color:#448B97}
.md-visual-audit strong{display:block;font-size:1.04rem;line-height:1.3;color:#082F59;margin:5px 0}
.md-visual-audit em{display:block;font-size:.7rem;font-style:normal;color:#587D8C}
.md-visual-target{border-radius:12px;background:#082F59;padding:16px;color:white;text-align:center}
.md-visual-target small{color:#92DADD}
.md-visual-target strong{display:block;font-size:1.4rem;letter-spacing:.02em;line-height:1.15;margin:7px auto 13px}
.md-visual-target-track{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;max-width:185px;margin:auto}
.md-visual-target-track i{height:4px;border-radius:4px;background:#08A7B3}
.md-visual-target-track i:nth-child(2){opacity:.8}.md-visual-target-track i:nth-child(3){opacity:.6}.md-visual-target-track i:nth-child(4){background:#F6A000}
.md-visual-caption{display:flex;align-items:center;justify-content:center;gap:10px;color:#6D8A99;letter-spacing:.08em;font-size:.63rem;font-weight:850;margin-top:18px}
.md-visual-caption span{color:#08A7B3}
.md-heading{color:#082F59;font-size:clamp(1.84rem,2.7vw,2.75rem);line-height:1.16;letter-spacing:-.028em;margin:0 0 18px}
.md-heading span{color:#078F9C}
.md-situations{background:#fff}
.md-situations-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(32px,7vw,100px);align-items:start}
.md-situations-lead p:not(.service-page-eyebrow){max-width:470px;font-size:.98rem;color:#597081;line-height:1.64;margin:0}
.md-situations-list{border-top:1px solid #D5E5EB}
.md-situation{display:grid;grid-template-columns:41px minmax(0,1fr);gap:12px;align-items:start;padding:16px 0 17px;border-bottom:1px solid #D5E5EB}
.md-situation>span{padding-top:2px;color:#0793A2;font-size:.76rem;font-weight:900}
.md-situation h3{margin:0 0 5px;color:#082F59;font-size:1.07rem;line-height:1.25}
.md-situation p{margin:0;color:#557083;font-size:.92rem;line-height:1.52}
.md-audit{background:linear-gradient(115deg,#061F39,#082F59 67%,#0C4665);color:white}
.md-audit-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(270px,.72fr);gap:clamp(32px,6.2vw,96px);align-items:center}
.md-audit-eyebrow{margin:0 0 16px;color:#76D5D7;text-transform:uppercase;font-size:.76rem;font-weight:900;letter-spacing:.14em}
.md-audit h2{color:white;max-width:780px;font-size:clamp(1.94rem,3vw,2.9rem);line-height:1.13;letter-spacing:-.025em;margin:0 0 20px}
.md-audit h2 span{color:#92D6DF}
.md-audit-main>p:not(.md-audit-eyebrow){margin:0;color:#D5E4ED;max-width:760px;line-height:1.64;font-size:1rem}
.md-audit-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:25px 0 0}
.md-audit-tags li{border:1px solid rgba(140,216,222,.31);background:rgba(8,167,179,.095);border-radius:25px;color:#D4EFF2;font-size:.75rem;font-weight:720;padding:8px 12px}
.md-audit-report{padding:27px 28px 23px;background:#fff;color:#082F59;border-radius:19px;box-shadow:0 24px 45px rgba(0,0,0,.13);border-top:4px solid #08A7B3}
.md-report-head{display:flex;justify-content:space-between;border-bottom:1px solid #DBE9EC;padding-bottom:15px;gap:8px;color:#608798;letter-spacing:.12em;font-size:.66rem;font-weight:900}
.md-report-head span:last-child{color:#08A7B3}
.md-audit-report strong{display:block;margin:19px 0 13px;font-size:1.42rem;line-height:1.24}
.md-audit-report p{margin:0;font-size:.93rem;line-height:1.58;color:#526B7B}
.md-report-foot{margin-top:20px;border-top:1px solid #DBE9EC;padding-top:14px;color:#078893;font-size:.8rem;font-weight:850}
.md-report-foot span{margin-right:8px}
.md-method{background:#F4FAFB}
.md-section-head{max-width:850px;margin-bottom:36px}
.md-section-head>p:last-child{margin:0;color:#526F81;line-height:1.6;max-width:720px}
.md-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;position:relative}
.md-method-grid:before{content:'';position:absolute;z-index:0;top:24px;left:7%;right:7%;border-top:2px dashed rgba(8,167,179,.35)}
.md-step{position:relative;z-index:1;min-width:0}
.md-step-num{display:grid;place-items:center;width:49px;height:49px;background:#082F59;color:white;border:4px solid #F4FAFB;border-radius:15px;font-size:.77rem;font-weight:900;margin-bottom:22px}
.md-step h3{margin:0 0 8px;color:#082F59;font-size:1.2rem}
.md-step p{margin:0;color:#547083;font-size:.92rem;line-height:1.58}
.md-deliverables{background:white}
.md-deliverables-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,7vw,100px);align-items:center}
.md-deliverables-copy>p:not(.service-page-eyebrow){max-width:490px;margin:0;color:#547083;line-height:1.62}
.md-responsibilities{max-width:530px;background:#F0FAFB;border-left:3px solid #08A7B3;margin-top:28px;padding:17px 21px}
.md-responsibilities strong{color:#17465B;display:block;font-size:.95rem;margin-bottom:7px}
.md-responsibilities p{margin:0;color:#526B7C;font-size:.89rem;line-height:1.53}
.md-deliverables-document{padding:27px 30px 19px;border:1px solid #DBE9EE;border-top:4px solid #08A7B3;border-radius:5px 5px 18px 18px;background:#FCFEFF;box-shadow:0 17px 45px rgba(8,47,89,.06)}
.md-doc-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #DBE9EE;padding-bottom:16px;color:#648695;font-size:.72rem;font-weight:900;letter-spacing:.12em}
.md-doc-head span:last-child{color:#08A7B3}
.md-deliverables-document ul{list-style:none;margin:4px 0 0;padding:0}
.md-deliverables-document li{position:relative;padding:13px 0 13px 29px;color:#284B61;border-bottom:1px solid #E2EBF0;line-height:1.4;font-size:.93rem}
.md-deliverables-document li:last-child{border:0}
.md-deliverables-document li:before{content:'✓';position:absolute;left:0;top:13px;color:#0797A3;font-weight:900}
.md-conclusion{background:linear-gradient(110deg,#061F3A,#082F59 75%,#0B4264);color:white}
.md-conclusion-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:42px;align-items:center}
.md-conclusion h2{max-width:800px;margin:0 0 13px;color:white;font-size:clamp(1.78rem,2.7vw,2.8rem);line-height:1.15;letter-spacing:-.025em}
.md-conclusion h2 span{color:#93DCE0}
.md-conclusion p:not(.service-page-eyebrow){max-width:760px;color:#D1E2EB;margin:0;font-size:1.01rem;line-height:1.65}
.md-conclusion-cta{display:inline-flex;align-items:center;gap:23px;background:#F6A000;color:white;box-shadow:none;white-space:nowrap}
.md-conclusion-cta:hover{background:#E99500;color:white;box-shadow:none}
.md-related{background:#fff}
@keyframes md-flow{50%{transform:translateY(3px)}}
@media(max-width:1080px){.md-hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:30px}.md-title{font-size:clamp(2.25rem,4vw,3.35rem)}.md-visual{padding:20px 19px}}
@media(max-width:850px){.md-hero-grid,.md-situations-grid,.md-audit-grid,.md-deliverables-grid,.md-conclusion-grid{grid-template-columns:1fr;gap:30px}.md-visual{max-width:560px;width:100%;margin:auto}.md-audit-report{max-width:540px}.md-conclusion-cta{width:max-content}.md-method-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:31px}.md-method-grid:before{display:none}}
@media(max-width:650px){
  .service-page .md-hero{padding:100px 0 48px}
  .md-title{font-size:clamp(2.12rem,8.1vw,3.1rem);line-height:1.09}
  .md-promise{font-size:1.02rem}.md-lead{font-size:.96rem}
  .md-btn{width:100%}.md-secondary-link{font-size:.89rem}
  .md-hero-actions{gap:15px}
  .md-visual{padding:18px 15px 20px;border-radius:18px}
  .md-visual-top{font-size:.56rem}.md-visual-code{font-size:.49rem}
  .md-visual-sources span{font-size:.54rem;padding:8px 3px;min-height:40px}
  .md-visual-audit strong{font-size:.96rem}.md-visual-target strong{font-size:1.27rem}
  .md-visual-caption{font-size:.53rem;gap:7px}
  .md-heading{font-size:1.85rem}
  .md-situation{grid-template-columns:33px minmax(0,1fr);padding:15px 0}
  .md-audit h2{font-size:1.92rem}.md-audit-report{padding:24px 20px}
  .md-method-grid{grid-template-columns:1fr;gap:24px;margin-top:15px}
  .md-step{padding-left:69px;min-height:59px}.md-step-num{position:absolute;top:-3px;left:0}
  .md-method-grid:before{display:block;top:20px;bottom:30px;left:24px;right:auto;border-top:0;border-left:2px dashed rgba(8,167,179,.35)}
  .md-deliverables-document{padding:23px 20px}.md-responsibilities{padding:15px 17px}
  .md-conclusion-cta{width:100%;white-space:normal;justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){.md-flow-down b{animation:none!important}}


/* ================================================================
   SCOPE DATA — PAGE 04 : DÉVELOPPEMENT SPÉCIFIQUE (V11)
   Règles isolées sous ds-* pour préserver les autres pages.
   ================================================================ */
.service-page .ds-hero{padding:125px 0 74px;background:radial-gradient(circle at 81% 17%,#E8F6F8 0,transparent 40%),linear-gradient(180deg,#FFFFFF,#F7FAFC)}
.ds-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(35px,5.3vw,80px);align-items:center}
.ds-hero-copy{min-width:0}
.ds-title{font-size:clamp(2.4rem,4.15vw,4.05rem);line-height:1.07;letter-spacing:-.036em;color:#082F59;margin:0 0 19px;max-width:690px}
.ds-title span{color:#088D9B}
.ds-promise{font-size:1.13rem;font-weight:820;color:#163E5E;margin:0 0 13px}
.ds-lead{max-width:680px;color:#526E80;font-size:1.02rem;line-height:1.67;margin:0}
.ds-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:23px;margin:30px 0 20px}
.ds-btn{background:#F6A000;color:#fff;box-shadow:none;gap:23px}
.ds-btn:hover{background:#E99600;color:#fff;box-shadow:none}
.ds-secondary-link{display:inline-flex;gap:7px;align-items:center;color:#0E778A;font-size:.91rem;font-weight:820}
.ds-secondary-link:hover{color:#082F59}
.ds-note{display:flex;gap:9px;align-items:start;margin:0;color:#627F8F;font-size:.83rem;line-height:1.5}
.ds-note span{font-weight:900;color:#078F9C}
.ds-visual{min-width:0;border:1px solid #CDE5EC;box-shadow:0 17px 47px rgba(8,47,89,.07);padding:24px 23px 20px;border-radius:23px;background:linear-gradient(145deg,#FCFEFF,#EDF8FA);position:relative;overflow:hidden}
.ds-visual:after{content:'';position:absolute;width:260px;height:260px;right:-144px;top:-145px;border:1px solid rgba(8,167,179,.14);border-radius:50%;pointer-events:none}
.ds-visual-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#638796;font-size:.65rem;font-weight:900;letter-spacing:.095em;margin-bottom:22px}
.ds-visual-header small{font-size:.57rem;color:#97B4C0;white-space:nowrap}
.ds-inputs{display:grid;grid-template-columns:.8fr 1.25fr 1fr;gap:7px}
.ds-inputs span{background:#fff;border:1px solid #D0E4EA;border-radius:10px;padding:12px 6px;display:grid;place-items:center;text-align:center;color:#2B6073;font-size:.66rem;font-weight:850;line-height:1.2;min-height:45px}
.ds-flowline{display:flex;justify-content:center;align-items:center;gap:6px;color:#0796A4;height:32px}
.ds-flowline i{display:block;width:20px;height:1px;background:#B4DDE1}
.ds-flowline b{font-weight:700;font-size:1.13rem;animation:ds-flow 2.1s ease-in-out infinite}
.ds-visual-core{background:#082F59;color:white;border-radius:13px;text-align:center;padding:17px 10px}
.ds-visual-core small{display:block;font-size:.61rem;color:#90D6DD;letter-spacing:.14em;font-weight:880}
.ds-visual-core strong{display:block;font-size:1.47rem;letter-spacing:.035em;margin:6px 0 7px;line-height:1.12}
.ds-visual-core span{font-size:.69rem;color:#C7DEE7}
.ds-outputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.ds-outputs div{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:62px;border-radius:10px;background:#fff;border:1px solid #CDE5E9;padding:8px 4px;gap:5px;text-align:center}
.ds-outputs b{font-size:.62rem;letter-spacing:.12em;color:#0693A0}
.ds-outputs strong{font-size:.68rem;color:#174A65;line-height:1.15}
.ds-visual-caption{display:flex;justify-content:center;gap:9px;margin:17px 0 0;color:#698A9B;font-size:.62rem;font-weight:900;letter-spacing:.065em}
.ds-visual-caption span{color:#0796A4}
.ds-heading{margin:0 0 18px;font-size:clamp(1.92rem,2.85vw,2.8rem);line-height:1.15;letter-spacing:-.028em;color:#082F59}
.ds-heading span{color:#078F9C}
.ds-situations{background:white}
.ds-situations-grid{display:grid;grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr);gap:clamp(35px,7vw,106px);align-items:start}
.ds-situations-intro>p:not(.service-page-eyebrow){max-width:485px;line-height:1.65;color:#566F81;margin:0;font-size:.97rem}
.ds-situations-list{border-top:1px solid #D5E6EB}
.ds-situation{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;border-bottom:1px solid #D5E6EB;padding:16px 0}
.ds-situation>span{color:#0A96A2;font-weight:900;font-size:.78rem;padding-top:3px}
.ds-situation h3{font-size:1.07rem;line-height:1.24;color:#082F59;margin:0 0 5px}
.ds-situation p{font-size:.92rem;color:#587286;line-height:1.54;margin:0}
.ds-method{background:#F3F9FB}
.ds-section-head{max-width:840px;margin-bottom:36px}
.ds-section-head>p:last-child{font-size:.98rem;color:#557184;max-width:710px;line-height:1.61;margin:0}
.ds-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:29px;position:relative}
.ds-method-grid:before{content:'';position:absolute;top:24px;left:12%;right:12%;border-top:2px dashed #B2DDE2}
.ds-method-step{position:relative;z-index:1;min-width:0;padding-right:8px}
.ds-step-number{display:grid;place-items:center;width:48px;height:48px;border:4px solid #F3F9FB;border-radius:15px;background:#082F59;color:white;font-size:.78rem;font-weight:900;margin-bottom:22px}
.ds-method-step h3{color:#082F59;font-size:1.2rem;margin:0 0 9px;line-height:1.25}
.ds-method-step p{max-width:325px;color:#567083;font-size:.93rem;line-height:1.6;margin:0}
.ds-feasibility{background:linear-gradient(112deg,#061F39,#082F59 70%,#0A4666);color:white}
.ds-feasibility-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.79fr);gap:clamp(35px,6vw,92px);align-items:center}
.ds-dark-eyebrow{color:#78D7DA;letter-spacing:.15em;font-size:.73rem;text-transform:uppercase;font-weight:900;margin:0 0 15px}
.ds-feasibility h2{color:white;font-size:clamp(2rem,3.1vw,2.92rem);line-height:1.13;letter-spacing:-.03em;margin:0 0 20px}
.ds-feasibility h2 span{color:#95DDE0}
.ds-feasibility-copy>p:not(.ds-dark-eyebrow){color:#D3E3ED;max-width:650px;font-size:.98rem;line-height:1.64;margin:0 0 14px}
.ds-feasibility-copy>p:last-child{margin-bottom:0}
.ds-feasibility-panel{border-top:4px solid #08A7B3;background:#fff;border-radius:7px 7px 19px 19px;color:#082F59;padding:24px 26px 22px;box-shadow:0 18px 40px rgba(0,0,0,.12)}
.ds-panel-header{display:flex;justify-content:space-between;gap:9px;color:#607E91;font-weight:900;font-size:.7rem;letter-spacing:.12em;border-bottom:1px solid #D7E6EB;padding-bottom:14px}
.ds-panel-header span:last-child{color:#08A7B3}
.ds-feasibility-panel ul{list-style:none;padding:5px 0 0;margin:0}
.ds-feasibility-panel li{position:relative;padding:10px 0 10px 27px;color:#31536A;line-height:1.45;font-size:.91rem;border-bottom:1px solid #E4ECF0}
.ds-feasibility-panel li:before{content:'✓';font-weight:900;color:#0A9AA5;position:absolute;left:1px;top:10px}
.ds-feasibility-panel p{color:#58798A;font-size:.79rem;line-height:1.5;margin:15px 0 0}
.ds-feasibility-panel p span{color:#0894A1;font-weight:900}
.ds-realisation{background:white}
.ds-realisation-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(35px,7vw,105px);align-items:start}
.ds-realisation-intro{color:#557084;max-width:460px;line-height:1.65;font-size:.98rem;margin:0}
.ds-realisation-options{border-top:1px solid #D5E6EC}
.ds-realisation-option{padding:18px 0 20px;border-bottom:1px solid #D5E6EC}
.ds-option-head{display:flex;gap:15px;align-items:baseline}
.ds-option-head span{font-size:.76rem;font-weight:900;color:#088E9C}
.ds-option-head h3{font-size:1.13rem;margin:0;color:#082F59;line-height:1.3}
.ds-realisation-option p{margin:8px 0 0 35px;color:#587286;font-size:.92rem;line-height:1.59}
.ds-conclusion{background:linear-gradient(110deg,#061F39,#082F59 72%,#0B4568);color:#fff}
.ds-conclusion-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:42px;align-items:center}
.ds-conclusion h2{font-size:clamp(1.8rem,2.72vw,2.82rem);line-height:1.14;letter-spacing:-.025em;margin:0 0 13px;color:white}
.ds-conclusion h2 span{color:#9ADDE1}
.ds-conclusion p:not(.service-page-eyebrow){max-width:760px;font-size:1.01rem;color:#D2E5ED;line-height:1.65;margin:0}
.ds-conclusion-cta{white-space:nowrap;display:inline-flex;align-items:center;gap:26px;background:#F6A000;color:#fff;box-shadow:none}
.ds-conclusion-cta:hover{background:#E99600;color:white;box-shadow:none}
.ds-related{background:white}
@keyframes ds-flow{50%{transform:translateY(3px)}}
@media(max-width:1080px){
  .ds-hero-grid{grid-template-columns:minmax(0,1fr) minmax(305px,.86fr);gap:30px}
  .ds-title{font-size:clamp(2.25rem,4vw,3.45rem)}
  .ds-visual{padding:20px 18px}
}
@media(max-width:850px){
  .ds-hero-grid,.ds-situations-grid,.ds-feasibility-grid,.ds-realisation-grid,.ds-conclusion-grid{grid-template-columns:1fr;gap:31px}
  .ds-visual{max-width:580px;width:100%;margin:0 auto}
  .ds-feasibility-panel{max-width:550px}
  .ds-method-grid{gap:25px}
  .ds-conclusion-cta{width:max-content}
}
@media(max-width:650px){
  .service-page .ds-hero{padding:100px 0 48px}
  .ds-title{font-size:clamp(2.13rem,8.15vw,3.1rem);line-height:1.08}
  .ds-promise{font-size:1.02rem}
  .ds-lead{font-size:.96rem}
  .ds-hero-actions{gap:15px}
  .ds-btn{width:100%}
  .ds-secondary-link{font-size:.89rem}
  .ds-visual{padding:19px 14px 18px;border-radius:18px}
  .ds-visual-header{font-size:.55rem}
  .ds-visual-header small{font-size:.5rem}
  .ds-inputs span{font-size:.57rem;padding:9px 3px}
  .ds-outputs strong{font-size:.58rem}
  .ds-visual-core strong{font-size:1.31rem}
  .ds-visual-caption{gap:6px;font-size:.53rem}
  .ds-heading{font-size:1.88rem}
  .ds-situation{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:15px 0}
  .ds-method-grid{grid-template-columns:1fr;gap:28px;margin-top:18px}
  .ds-method-grid:before{border-top:0;border-left:2px dashed #B2DDE2;top:20px;bottom:28px;left:24px;right:auto}
  .ds-method-step{padding-left:70px;min-height:56px}
  .ds-step-number{position:absolute;left:0;top:-3px}
  .ds-feasibility h2{font-size:1.96rem}
  .ds-feasibility-panel{padding:22px 20px}
  .ds-realisation-option p{margin-left:29px}
  .ds-conclusion-cta{width:100%;white-space:normal;justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){.ds-flowline b{animation:none!important}}


/* V12 — Formulaires de production (contact et qualification) */
.form-trap {position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.form-feedback {margin:12px 0 0;padding:12px 15px;border-radius:11px;font-size:.89rem;font-weight:650;line-height:1.45}
.form-feedback.is-error {border:1px solid #EBC1C1;background:#FFF5F4;color:#923434}
.form-feedback.is-success {border:1px solid #A9DBD2;background:#F0FBF8;color:#126552}
.form-feedback[hidden], .diag-success[hidden], .diagnostic-preview[hidden], .conditional-field[hidden], .contact-form [hidden] {display:none!important}
.contact-form button:disabled, .diag-actions button:disabled {opacity:.65;cursor:progress}
.form-note a, .diag-privacy a {text-decoration:underline;text-underline-offset:3px;color:var(--navy)}

/* V13 — Après envoi, formulaire Contact remplacé par une confirmation. */
.contact-form[hidden],.contact-success[hidden],.contact-success-email[hidden]{display:none!important}
.contact-success{background:#FFFFFF;padding:clamp(28px,4vw,46px);border-radius:24px;box-shadow:var(--shadow);border:1px solid rgba(8,47,89,.08);align-self:start}
.contact-success-mark{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:#E8F9F5;border:1px solid #8FD1C9;color:#087F79;font-size:27px;font-weight:700;margin-bottom:23px}
.contact-success-eyebrow{color:#087F8A;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em;margin:0 0 10px}
.contact-success h3{color:#082F59;font-size:clamp(1.45rem,2.5vw,1.95rem);line-height:1.25;margin:0 0 16px}
.contact-success h3:focus{outline:none}
.contact-success p:not(.contact-success-eyebrow){color:#455F73;line-height:1.7;font-size:.98rem;margin:0}
.contact-success .contact-success-email{margin-top:21px!important;padding:13px 16px;background:#F0F9F8;border-left:3px solid #08A7B3;color:#0B615C!important;font-size:.88rem!important}


/* =========================================================
   V14 — NAVIGATION : sous-menu accessible des 4 prestations
   ========================================================= */
.main-nav .nav-services { position:relative; flex:0 0 auto; }
.nav-services-toggle {
  display:inline-flex;align-items:center;justify-content:space-between;gap:9px;
  min-height:44px;padding:0 13px;border:0;border-radius:12px;
  background:transparent;color:#17385A;font-weight:700;font-size:1rem;
  cursor:pointer;white-space:nowrap;transition:background .2s,color .2s;
}
.nav-services-toggle:hover,.nav-services-toggle:focus-visible,.nav-services.is-open .nav-services-toggle {
  background:rgba(8,167,179,.075);color:#082F59;
}
.nav-services-toggle:focus-visible {outline:2px solid #08A7B3;outline-offset:2px}
.nav-services-chevron {transition:transform .2s ease;flex:none}
.nav-services.is-open .nav-services-chevron {transform:rotate(180deg)}
.nav-services-panel {
  position:absolute;top:100%;left:-26px;width:360px;z-index:100;
  padding:18px 12px 12px;background:white;color:#082F59;
  border:1px solid #DCE9EE;border-radius:16px;box-shadow:0 22px 55px rgba(4,35,61,.18);
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(9px);transition:opacity .18s,transform .18s,visibility .18s;
}
.nav-services.is-open .nav-services-panel {
  opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);
}
.nav-services-heading {
  margin:0 8px 9px;color:#648297;text-transform:uppercase;font-size:.70rem;
  letter-spacing:.10em;font-weight:850;
}
.nav-services-panel a:not(.nav-services-all) {
  display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;
  border-radius:11px;padding:11px 9px;text-decoration:none;
  transition:background .2s;color:#082F59;
}
.nav-services-panel a:not(.nav-services-all):hover,.nav-services-panel a:not(.nav-services-all):focus-visible {background:#EEF8F9;outline:none}
.nav-services-number {color:#06949D;font-size:.72rem;font-weight:900;align-self:start;margin-top:2px}
.nav-services-panel a strong {display:block;font-size:.90rem;font-weight:850;line-height:1.25}
.nav-services-panel a small {display:block;color:#667F8F;font-size:.73rem;font-weight:550;line-height:1.4;margin-top:3px}
.nav-services-arrow {color:#08A7B3;font-size:1.13rem;font-weight:700}
.nav-services-all {
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  margin-top:9px;padding:12px 12px 5px;border-top:1px solid #DCE9EE;
  color:#087E88;font-size:.83rem;font-weight:850;
}
.nav-services-all:hover,.nav-services-all:focus-visible {color:#082F59;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1050px){
  .main-nav{max-height:calc(100dvh - 80px);overflow-y:auto !important;overscroll-behavior:contain}
  .main-nav .nav-services{width:100%;flex:none;border-bottom:1px solid rgba(8,47,89,.075)}
  .nav-services-toggle{width:100%;min-height:52px;padding:0 12px;justify-content:space-between;border-radius:0;font-weight:750;font-size:1rem;color:#17385A}
  .nav-services-panel{position:static;left:auto;top:auto;width:100%;border:none;border-radius:0;box-shadow:none;background:#F3F8FA;
    padding:0 8px;max-height:0;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden;transform:none;transition:max-height .25s ease,opacity .16s,padding .16s;}
  .nav-services.is-open .nav-services-panel{padding:11px 8px 12px;max-height:650px;opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .nav-services-panel a:not(.nav-services-all){padding:10px 8px}
  .nav-services-panel a strong{font-size:.88rem}
  .nav-services-panel a small{font-size:.72rem}
  .nav-services-heading{margin:0 8px 7px}
  .nav-services-all{padding:12px 8px 3px}
}
@media(max-width:650px){
  .main-nav{max-height:calc(100dvh - 74px)}
  .nav-services-toggle{min-height:50px}
}

/* =========================================================
   V14 — ACCUEIL : 4 spécialités en premier, migration en focus
   ========================================================= */
.hero.home-hero {min-height:0;padding-top:166px;padding-bottom:90px}
.home-hero .hero-grid{gap:clamp(24px,3vw,55px);grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr)}
.home-hero .hero-copy h1{font-size:clamp(2.9rem,4.25vw,4.7rem);line-height:1.06;letter-spacing:-.045em;margin:0 0 25px}
.home-hero .hero-copy h1 span{display:inline}
.home-hero .hero-kicker{font-size:1.08rem;line-height:1.52;margin:0 0 16px;max-width:590px}
.home-hero .lead{font-size:1.07rem;line-height:1.65;max-width:580px;margin:0;color:#526B7B}
.home-hero .hero-actions{margin:24px 0 18px;gap:12px}
.home-hero .hero-proof{margin:12px 0 15px;gap:10px 15px}
.home-hero .hero-proof span{font-size:.81rem;white-space:normal}
.home-hero .hero-open{margin:17px 0 0;max-width:570px;font-size:.87rem;line-height:1.56;color:#607888}
.home-hero .hero-visual{min-height:0}
.home-services .services-overview-heading{max-width:850px;margin-bottom:30px}
.home-services .services-overview-heading h2 span{color:#96E0E1}
.home-services .services-overview-heading p:last-child{max-width:710px}
.home-services .services-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.home-services .service-overview-card{min-height:248px;padding:22px 20px 17px;border-radius:16px}
.home-services .service-overview-top{margin-bottom:12px}
.home-services .service-overview-copy{font-size:.89rem;line-height:1.57;margin:0 0 22px;color:#4F6979}
.home-services .service-overview-link{margin-top:auto;letter-spacing:.005em}
.home-services .services-overview-bottom{margin:0;padding-top:23px;color:#D2E6EC;font-size:.9rem}
.home-services .service-overview-featured{border-color:#62BCC4}
.migration-link-wrap{margin-top:24px}
.migration-detail-link{display:inline-flex;align-items:center;gap:17px;background:#082F59;color:white;padding:13px 20px;border-radius:999px;font-weight:850;font-size:.92rem;transition:background .2s,transform .2s}
.migration-detail-link span{color:#64D1D7;font-size:1.15rem}
.migration-detail-link:hover,.migration-detail-link:focus-visible{background:#0B4474;color:#fff;transform:translateY(-2px)}
@media(max-width:1100px){
  .home-services .services-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-services .service-overview-card{min-height:230px}
}
@media(max-width:950px){
  .hero.home-hero{padding-top:135px;padding-bottom:65px}
  .home-hero .hero-grid{grid-template-columns:1fr;gap:24px}
  .home-hero .hero-visual{max-width:550px;margin:auto;width:100%}
  .home-hero .hero-copy h1{font-size:clamp(2.7rem,6.3vw,4.15rem)}
}
@media(max-width:650px){
  .hero.home-hero{padding-top:115px;padding-bottom:50px}
  .home-hero .hero-copy h1{font-size:clamp(2.2rem,8.5vw,3.35rem);line-height:1.08;letter-spacing:-.045em}
  .home-hero .hero-kicker{font-size:1rem}
  .home-hero .lead{font-size:.97rem;line-height:1.6}
  .home-hero .hero-actions{flex-direction:column;align-items:stretch}
  .home-hero .hero-actions .btn{width:100%;min-height:49px}
  .home-hero .hero-proof{gap:5px 12px;margin-top:17px}
  .home-hero .hero-proof span{font-size:.73rem}
  .home-hero .hero-open{font-size:.8rem;margin-top:13px}
  .home-services .services-overview-grid{grid-template-columns:1fr;gap:12px}
  .home-services .service-overview-card{min-height:0;padding:20px}
  .home-services .service-overview-copy{margin-bottom:18px}
  .migration-detail-link{width:100%;justify-content:space-between;font-size:.84rem;padding:13px 17px}
}
@media(prefers-reduced-motion:reduce){.nav-services-panel,.nav-services-chevron{transition:none}}


/* =======================================================
  V15 - ACCUEIL EQUILIBRE : SLOGAN / 4 PRESTATIONS / APPROCHE
  Les règles ne modifient pas le dessin / mouvement sd-planet.
   ======================================================= */
.hero.home-hero{padding-top:clamp(122px,11vw,152px);padding-bottom:80px}
.home-hero .hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(15px,2.8vw,42px);align-items:center}
.home-hero .hero-copy h1.home-slogan{font-size:clamp(3rem,4.55vw,4.65rem);line-height:1.115;letter-spacing:-.043em;margin:0 0 20px;font-weight:850;color:#082F59}
.home-hero .hero-copy .home-slogan span{display:inline;color:#08A7B3}
.home-slogan-rule{height:3px;width:60px;background:#F6A000;border-radius:5px;margin:4px 0 24px}
.home-hero .home-hero-lead{font-size:clamp(1.02rem,1.23vw,1.12rem);line-height:1.67;font-weight:530;color:#284B67;max-width:595px;margin:0 0 15px}
.home-hero .home-hero-sub{font-size:.95rem;line-height:1.62;color:#637D8C;max-width:575px;margin:0}
.home-hero .hero-actions{margin:26px 0 0;gap:12px}
.home-hero .hero-visual{min-width:0}
.home-services .services-overview-heading h2{color:#fff;max-width:850px}
.home-services .service-overview-card{border-color:#DCE8ED;min-height:272px;padding:22px 20px 19px}
.home-services .service-overview-card::before{display:none !important}
.home-services .service-overview-top{align-items:start;min-height:41px}
.home-services .service-overview-subtitle{word-break:normal;hyphens:auto}
.home-services .service-overview-card h3{font-size:1.17rem;min-height:2.32em}
.home-services .service-overview-copy{font-size:.88rem;line-height:1.55;margin-bottom:23px}
.home-services .service-overview-link{margin-top:auto}
/* Notre approche */
.home-approach{background:#F7FBFC;scroll-margin-top:65px}
.home-approach .approach-intro{max-width:880px;margin-bottom:30px}
.home-approach .approach-intro h2{font-size:clamp(1.85rem,3vw,2.8rem);line-height:1.18;letter-spacing:-.03em;color:#082F59;margin:10px 0 17px}
.home-approach .approach-intro>p:last-child{font-size:1.04rem;line-height:1.73;color:#536E7C;margin:0}
.approach-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;position:relative;align-items:stretch}
.approach-stage{padding:27px 26px 26px;background:#fff;border:1px solid #DCE8EE;border-radius:18px;box-shadow:0 13px 30px rgba(8,47,89,.045);position:relative}
.approach-stage:not(:last-child)::after{content:'→';position:absolute;z-index:1;right:-20px;top:54px;font-size:1.4rem;line-height:1;color:#08A7B3;font-weight:800}
.approach-number{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;margin-bottom:18px;border-radius:14px;background:#E5F6F7;color:#058995;font-size:.88rem;font-weight:850}
.approach-stage h3{font-size:1.35rem;color:#082F59;margin:0 0 11px;line-height:1.25}
.approach-stage p{margin:0;font-size:.94rem;line-height:1.62;color:#536D7D}
.approach-conclusion{margin:26px 0 0;background:#E9F3F6;border-left:4px solid #08A7B3;padding:20px 24px;color:#143B56;font-size:.99rem;line-height:1.65;font-weight:600;border-radius:0 12px 12px 0}
.about-signature{margin-top:25px;padding:19px 22px;border-left:4px solid #08A7B3;background:#F0F8FA;border-radius:0 10px 10px 0;color:#082F59;font-weight:750;line-height:1.5}
.contact-extra{margin-top:27px;padding:18px 20px;background:#F0F7F9;border:1px solid #D8EAF0;border-radius:14px;max-width:450px}
.contact-extra p{margin:0 0 10px;font-weight:650;color:#294C68;font-size:.89rem}
.contact-qualify-link{appearance:none;background:none;padding:0;border:0;color:#087E89;font-weight:800;cursor:pointer;font-size:.91rem;text-align:left;line-height:1.5}
.contact-qualify-link span{margin-left:5px}
.contact-qualify-link:hover,.contact-qualify-link:focus-visible{color:#082F59;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){
  .home-hero .hero-copy h1.home-slogan{font-size:clamp(2.65rem,5vw,3.8rem)}
  .home-services .service-overview-card h3{min-height:0}
}
@media(max-width:950px){
  .hero.home-hero{padding-top:132px;padding-bottom:62px}
  .home-hero .hero-grid{grid-template-columns:1fr;gap:20px}
  .home-hero .hero-copy h1.home-slogan{font-size:clamp(3rem,6.8vw,4.1rem)}
  .home-hero .hero-visual{max-width:550px;margin:auto;width:100%}
}
@media(max-width:700px){
  .approach-stages{grid-template-columns:1fr;gap:13px}
  .approach-stage{padding:21px 22px}
  .approach-number{margin-bottom:12px}
  .approach-stage:not(:last-child)::after{display:none}
  .approach-conclusion{padding:17px 18px;margin-top:19px;font-size:.93rem}
}
@media(max-width:650px){
  .hero.home-hero{padding-top:113px;padding-bottom:51px}
  .home-hero .hero-copy h1.home-slogan{font-size:clamp(2.42rem,10vw,3.75rem);letter-spacing:-.045em;line-height:1.12;margin:0 0 16px}
  .home-slogan-rule{margin-bottom:19px}
  .home-hero .home-hero-lead{font-size:1rem;line-height:1.6;margin-bottom:13px}
  .home-hero .home-hero-sub{font-size:.91rem;line-height:1.55}
  .home-hero .hero-actions{margin-top:22px}
  .home-services .service-overview-card{min-height:0}
  .home-services .service-overview-card h3{font-size:1.22rem}
  .home-approach .approach-intro h2{font-size:clamp(1.85rem,7vw,2.4rem)}
  .home-approach .approach-intro>p:last-child{font-size:.96rem}
}


/* ============================================================
   V16 — ICONES FLAT SCOPE DATA / identité de 4 prestations.
   Carte d'accueil, sous-menu toutes pages, prestations liées.
   Les numéros des ÉTAPES de méthodologie restent intacts.
   ============================================================ */
.home-services .service-overview-top{
  display:flex;align-items:flex-start;flex-direction:column;gap:10px;
  min-height:0;margin-bottom:11px;
}
.home-services .service-overview-icon{
  display:grid;place-items:center;width:72px;height:72px;flex:none;
  background:#E8F8F9;border-radius:17px;overflow:hidden;
}
.home-services .service-overview-icon img{display:block;width:56px;height:56px;object-fit:contain}
.home-services .service-overview-subtitle{display:block;min-height:0;margin:0;
  color:#718597;font-size:.69rem;font-weight:800;line-height:1.32;letter-spacing:.035em}
.home-services .service-overview-card{min-height:340px}
.home-services .service-overview-card h3{margin-bottom:13px}
/* Liens du menu déroulant — même famille d'icônes que l'accueil */
.nav-services-panel a:not(.nav-services-all){grid-template-columns:35px 1fr auto;gap:11px;align-items:center}
.nav-services-icon{display:grid;place-items:center;width:35px;height:35px;flex:none;background:#E8F8F9;border-radius:9px}
.nav-services-icon img{width:29px;height:29px;display:block;object-fit:contain}
/* Prestations croisées sur les quatre pages */
.service-related-head{display:flex;align-items:center;gap:12px;min-height:41px}
.service-related-icon{display:grid;place-items:center;width:42px;height:42px;flex:none;background:#E8F8F9;border-radius:11px}
.service-related-icon img{width:34px;height:34px;display:block;object-fit:contain}
.service-related-head small{line-height:1.35}
@media(max-width:1100px){.home-services .service-overview-card{min-height:305px}}
@media(max-width:650px){
  .home-services .service-overview-card{min-height:0}
  .home-services .service-overview-icon{width:68px;height:68px}
  .home-services .service-overview-icon img{width:53px;height:53px}
}
/* SCOPE DATA V17 | Progressive enhancements to validated V16 base */
:root{--sd-navy:#082F59;--sd-teal:#08A7B3;--sd-orange:#F6A000;--sd-muted:#526779}
.service-overview-top{justify-content:flex-start!important}
.service-overview-subtitle{display:none!important}
.service-overview-card h3{color:#536477!important}
.service-overview-icon img{object-fit:contain}
.approach-icon{display:flex;width:64px;height:64px;align-items:center;justify-content:center;background:#e7f6f7;border-radius:16px;margin-bottom:16px;box-shadow:0 1px 0 #a6d8dc;position:relative}
.approach-icon:before{content:'✧';font-size:38px;line-height:1;color:var(--sd-teal)}
.approach-stage:nth-child(1) .approach-icon:before{content:'☏'}
.approach-stage:nth-child(2) .approach-icon:before{content:'🤝';font-size:30px}
.approach-stage:nth-child(3) .approach-icon:before{content:'✓'}
.approach-commitment{max-width:850px;margin:28px auto 0;border-top:3px solid var(--sd-teal);padding:20px 0;text-align:center;color:var(--sd-navy)}
.approach-commitment p{color:var(--sd-muted);margin:7px 0 0}
.about-more-link{display:inline-flex;margin-top:20px;gap:10px;color:var(--sd-navy);font-weight:750;text-decoration:none;align-items:center}
.about-more-link:hover{color:var(--sd-teal)}
.contact-home{background:#f1f7f9}
.contact-home-panel{border-radius:22px;padding:38px;display:flex;align-items:center;justify-content:space-between;gap:35px;background:#fff;border:1px solid #dbe8ed}
.contact-home-panel h2{font-size:clamp(1.6rem,2.5vw,2.3rem);margin:6px 0 13px;color:var(--sd-navy)}
.contact-home-panel p:last-child{max-width:720px;color:var(--sd-muted);margin:0}
.language-switch{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:750;white-space:nowrap;border:1px solid #cfdee7;border-radius:999px;padding:6px 9px}
.language-switch a{text-decoration:none;color:#647b8d!important;padding:3px}
.language-switch a[aria-current='page']{color:var(--sd-navy)!important;background:#dff3f5;border-radius:5px}
/* ABOUT */
.about-full-hero{background:#f4f9fb}
.about-full-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,.6fr);gap:36px;align-items:center}
.about-full-copy h1{font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.14;letter-spacing:-.035em;color:var(--sd-navy);margin:15px 0 23px}
.about-full-intro{font-size:1.15rem;line-height:1.75;color:#34546b}
.about-full-portrait{aspect-ratio:4/5;border-radius:18px;background:linear-gradient(135deg,#dcecf4,#c3e3e7);overflow:hidden}
.about-full-portrait img{display:block;width:100%;height:100%;object-fit:cover}
.about-full-text{max-width:1000px}
.about-full-text>p{font-size:1.08rem;line-height:1.85;color:#36536a;margin-bottom:25px}
.about-full-signature{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:36px 0;background:#e7f5f7;color:var(--sd-navy);padding:22px;border-radius:14px;font-size:.88rem;font-weight:800;letter-spacing:.02em}
.about-full-signature span:nth-child(even){color:var(--sd-teal);font-size:21px}
/* CONTACT PAGE */
.contact-subject{grid-column:1/-1;display:grid;gap:6px;margin-bottom:9px}
.contact-subject>label{display:block;font-weight:650;color:var(--sd-navy);font-size:.9rem}
.contact-subject select,.scope-drawer-form input,.scope-drawer-form textarea{width:100%;background:#fff;border:1px solid #c9dbe3;border-radius:9px;font:inherit;color:#193951;min-height:44px;padding:11px 12px;box-sizing:border-box}
.contact-subject select:focus,.scope-drawer-form :is(input,textarea):focus{outline:2px solid var(--sd-teal);outline-offset:2px}
.migration-choice{background:#f0f9fa;border:1px solid #c9e3e6;padding:18px;border-radius:12px;margin:12px 0;color:var(--sd-navy)}
.migration-choice-actions{display:flex;gap:9px;flex-wrap:wrap}
.migration-choice-actions .btn{font-size:.87rem}
#contactForm.is-migration-choice > :not(.contact-subject){display:none!important}
/* DRAWER */
.scope-drawer-backdrop:not([hidden]){position:fixed;inset:0;background:#061e36aa;z-index:1199;animation:sdBackIn .2s ease-out}
.scope-drawer{position:fixed;z-index:1200;top:0;right:0;bottom:0;width:min(470px,100vw);max-width:100%;transform:translateX(105%);transition:transform .36s cubic-bezier(.22,.74,.16,1);background:#fff;box-shadow:-20px 0 55px #082f5938;padding:28px 30px 38px;overflow:auto;color:var(--sd-navy);box-sizing:border-box;visibility:hidden}
.scope-drawer.is-open{transform:translateX(0);visibility:visible}
.scope-drawer-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.scope-drawer h2{font-size:clamp(1.5rem,3vw,2rem);margin:10px 0;line-height:1.15}
.scope-drawer-lead{color:#567080;margin-bottom:22px;line-height:1.55}
.scope-drawer-close{font-size:27px;cursor:pointer;background:#eef5f8;color:#082f59;border:0;border-radius:50%;width:39px;height:39px;flex-shrink:0}
.scope-drawer-form{display:grid;gap:15px}
.scope-drawer-form label{display:grid;gap:6px;font-weight:600;color:#244359;font-size:.9rem}
.scope-drawer-form textarea{resize:vertical;min-height:112px}
.scope-drawer-form .btn{justify-content:center}
.scope-drawer-migration{background:#eef8fa;border-radius:14px;padding:20px;margin-bottom:15px;border:1px solid #c3e1e4}
.scope-drawer-migration p{margin:0 0 12px;color:#31546a}
.scope-drawer-migration .btn{width:100%;margin-bottom:9px;white-space:normal;text-align:center}
.scope-drawer .btn-secondary{background:#fff!important;color:var(--sd-navy)!important;border:1px solid #9ebdc9!important}
.scope-drawer-success{padding:28px 8px;text-align:center}
.scope-drawer-success h3{font-size:1.4rem;color:var(--sd-navy)}
body.scope-drawer-open{overflow:hidden}
@keyframes sdBackIn{from{opacity:0}to{opacity:1}}
/* AUDIT GRAPH */
.audit-diagram{background:#fff!important;border:1px solid #d7e7ed!important;border-radius:20px!important;box-shadow:0 14px 40px #082f590c!important;min-width:0!important}
.audit-diagram-label{text-align:center;color:#087c88!important;letter-spacing:.1em}
.audit-flow-map{position:relative;aspect-ratio:540/410;width:100%;margin:15px auto 10px;max-width:550px}
.audit-flow-map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.audit-flow-paths path{stroke-dasharray:6 7;animation:sdFlow 16s linear infinite}
.audit-flow-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;width:41%;height:24%;background:var(--sd-navy);color:#fff;border-radius:16px;box-shadow:0 10px 28px #082f5926;padding:8px}
.audit-flow-hub strong{font-size:clamp(11px,1.1vw,16px);line-height:1.3}
.audit-flow-hub small{color:#8cd9df;margin-top:7px;font-size:clamp(9px,.9vw,12px)}
.audit-flow-node{position:absolute;border:1px solid #b9dbe4;background:#f1f9fa;color:var(--sd-navy);border-radius:11px;padding:11px 13px;text-align:center;font-weight:700;font-size:clamp(10px,1vw,14px);box-shadow:0 2px 8px #082f590a;min-width:22%}
.audit-flow-node--methods{top:14%;left:2%}.audit-flow-node--production{top:3%;left:36%}.audit-flow-node--quality{top:14%;right:2%}.audit-flow-node--buy{bottom:14%;left:4%}.audit-flow-node--sav{bottom:14%;right:4%}
.audit-flow-caption{color:#68808c;font-size:.78rem;text-align:center;line-height:1.6;margin-bottom:0}
@keyframes sdFlow{to{stroke-dashoffset:-140}}
/* CONSEIL FOUR STEP WHITE PANEL AND ACTIVE ORANGE OUTLINE */
.cf-diagram{background:#fff!important;border:1px solid #d7e8ee!important;box-shadow:0 16px 40px #082f590d!important;color:var(--sd-navy)!important;min-width:0!important}
.cf-diagram-label{color:#078b98!important}
.cf-v17-steps{padding:10px 0;display:flex;flex-direction:column;align-items:stretch;gap:0}
.cf-v17-step{border:1px solid #d4e7e9;background:#f5fafb;display:flex;align-items:center;gap:15px;border-radius:12px;padding:14px;box-sizing:border-box;animation:sdStepFocus 16s linear infinite}
.cf-v17-step:nth-of-type(3){animation-delay:-12s}.cf-v17-step:nth-of-type(5){animation-delay:-8s}.cf-v17-step:nth-of-type(7){animation-delay:-4s;background:#ebf8f9}
.cf-v17-step-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;background:#dcf2f4;border-radius:10px;color:#008b97;font-size:25px}
.cf-v17-step strong{color:#082f59;font-size:clamp(.86rem,1.1vw,1rem);display:block;line-height:1.3}
.cf-v17-step small{display:block;color:#5d7686;line-height:1.35;margin-top:4px}
.cf-v17-down{text-align:center;color:var(--sd-teal);height:24px;font-size:20px;line-height:23px}
@keyframes sdStepFocus{0%,24%,100%{border-color:#d4e7e9;box-shadow:0 0 0 0 transparent}3%,22%{border-color:#f6a000;box-shadow:0 0 0 2px #f6a00023}}
/* MIGRATION PLANET PAIR AND STRATEGIC SECTION */
.md-visual{background:#fff!important;border:1px solid #dce9f0!important;box-shadow:0 15px 40px #082f590a!important;color:#082f59!important;overflow:hidden!important;min-width:0!important}
.md-planet-label{text-align:center;font-size:11px;color:#087c87;font-weight:800;letter-spacing:.14em}
.md-planet-field{position:relative;height:230px;max-width:440px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px}
.md-planet{position:relative;width:42%;max-width:168px;aspect-ratio:1;border-radius:50%;z-index:1;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset -16px -12px 32px #082f5922,0 10px 25px #082f590e}
.md-planet--source{background:radial-gradient(circle at 32% 28%,#ecf9fb,#7ccbd6 50%,#1f699a 100%);border:2px solid #abdde4}
.md-planet--target{background:radial-gradient(circle at 28% 24%,#ecfaff,#addbeb 42%,#4581a5 100%);border:2px solid #9adce2}
.md-planet strong{position:relative;z-index:2;background:#082f59dc;color:#fff;border-radius:6px;padding:7px 9px;font-size:clamp(.6rem,1vw,.8rem);line-height:1.2;text-align:center}
.md-planet-grid{position:absolute;inset:8px;border-radius:50%;border:1px solid #fff9;background:repeating-linear-gradient(20deg,transparent 0 18px,#ffffff55 19px 20px),repeating-linear-gradient(105deg,transparent 0 20px,#ffffff55 21px 22px);opacity:.55}
.md-planet-arc{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible}
.md-planet-arc path{fill:none;stroke:#08a7b3;stroke-width:2;stroke-dasharray:5 8;opacity:.7}
.md-planet-flow{fill:#f6a000;filter:drop-shadow(0 0 3px #f6a000)}.md-planet-flow--b{fill:#08a7b3}
.md-planet-sources,.md-planet-caption{text-align:center;color:#607585;font-size:.78rem;line-height:1.4;margin:4px 0 13px}
.md-planet-tasks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:10px}
.md-planet-tasks span{border-radius:7px;background:#eff8f9;color:#0b6173;font-weight:750;padding:9px 3px;font-size:clamp(.62rem,.85vw,.8rem);text-align:center;animation:sdStepFocus 16s linear infinite}
.md-planet-tasks span:nth-child(2){animation-delay:-12s}.md-planet-tasks span:nth-child(3){animation-delay:-8s}.md-planet-tasks span:nth-child(4){animation-delay:-4s}
.md-strategy{background:#f8fbfc}.md-strategy-intro{padding:24px 28px;border-left:4px solid #f6a000;background:#fff;border-radius:12px;margin:25px 0}
.md-strategy-intro strong{color:#082f59}.md-strategy-intro p{margin:9px 0 0;color:#526779}
.md-strategy-grid,.md-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.md-strategy-grid article,.md-result-grid article{background:#fff;border:1px solid #dce9ee;border-left:3px solid #08a7b3;border-radius:12px;padding:23px;display:flex;flex-direction:column;gap:10px}
.md-strategy-grid h3,.md-result-grid h3{color:#082f59;font-size:1.07rem;line-height:1.4;margin:0}
.md-strategy-grid p,.md-result-grid p{color:#53697a;margin:0;line-height:1.6}
.md-strategy-grid strong{color:#008a94;font-size:.84rem;margin-top:auto;line-height:1.5}
.md-strategy-quote{margin:28px 0 0;background:#edf4f7;border-radius:12px;padding:28px 35px;color:#36556e;font-size:.98rem;line-height:1.7}
.md-strategy-quote strong{display:block;margin-top:15px;color:#082f59}
.md-result{background:#f4f9fa}.md-result .container>p{color:#526779;max-width:850px;line-height:1.7}
.md-result-grid{margin:28px 0}.md-result-grid article>span{font-size:25px;color:#08a7b3}.md-result-end{border-top:2px solid #08a7b3;padding-top:20px;font-weight:650;color:#082f59!important;max-width:100%!important}
/* Long headings must never be clipped; preserve original font and spacing rhythm */
:is(.audit-title,.cf-title,.md-title,.ds-title,.md-heading,.cf-heading,.audit-heading,.about-copy h2,.service-overview-card h3){height:auto!important;max-height:none!important;overflow:visible!important;overflow-wrap:break-word;word-break:normal;text-wrap:balance}
:is(.service-overview-card,.approach-stage,.cf-v17-step,.md-step,.md-strategy-grid article){min-width:0!important}
@media(max-width:1050px){.language-switch{margin:12px 0 3px;align-self:flex-start}.contact-home-panel{padding:28px}}
@media(max-width:750px){.contact-home-panel{display:grid;gap:22px}.about-full-grid{grid-template-columns:1fr}.about-full-portrait{max-width:230px;aspect-ratio:1}.md-strategy-grid,.md-result-grid{grid-template-columns:1fr}.md-planet-field{height:200px}.md-planet-tasks{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-flow-map{margin:2px auto}.scope-drawer{padding:23px 19px}.about-full-signature{display:grid;text-align:center;gap:7px}.about-full-text>p{font-size:1rem}}
@media(max-width:390px){.audit-flow-node{font-size:9px;padding:7px 6px;min-width:18%}.audit-flow-hub strong{font-size:9px}.audit-flow-hub small{font-size:8px}.md-planet-field{height:170px}.md-planet strong{font-size:9px}.cf-v17-step{padding:11px;gap:10px}.cf-v17-step-icon{width:36px;height:36px}.scope-drawer{padding:18px 14px}}
@media(prefers-reduced-motion:reduce){.cf-v17-step,.md-planet-tasks span,.audit-flow-paths path{animation:none!important}.md-planet-flow{display:none}.scope-drawer{transition:none}}
.cf-method-track{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:13px!important;align-items:stretch!important}
.cf-method-step{min-width:0!important;max-width:none!important}
@media(max-width:880px){.cf-method-track{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:540px){.cf-method-track{grid-template-columns:1fr!important}}

.approach-icon:before{content:none!important}.approach-icon img{width:42px;height:42px;display:block}
