:root{
    --jm-primary:#00599a; /* bleu dynamique */
    --jm-bg:#fafafa;      /* fond */
    --jm-text:#404040;    /* texte */
    --nav-offset:72px; /* hauteur approx de la navbar */
  }
  /* Smooth scrolling + offset pour la navbar */
  html{scroll-behavior:smooth; scroll-padding-top:var(--nav-offset);}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
  }
  section[id],header[id]{scroll-margin-top:var(--nav-offset);}
  html,body{background:var(--jm-bg); color:var(--jm-text); font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";}
  a{color:var(--jm-primary);} a:hover{color:#004673;}
  
  /* NAVBAR */
  .navbar{background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.04);} 
  .navbar .nav-link{font-weight:600;}
  .brand-title{color:var(--jm-primary);} 
  
  /* BUTTONS */
  .btn-jm{background:var(--jm-primary); color:#fff; border:none;}
  .btn-jm:hover{background:#004f88; color:#fff;}
  
  /* TYPO UTILS */
  .text-gradient{background:linear-gradient(90deg, var(--jm-primary), #00a2ff); -webkit-background-clip:text; background-clip:text; color:transparent;}
  .section-title{font-weight:800; letter-spacing:.3px;}
  
  /* HERO */
  .hero{position:relative; padding:7rem 0 4rem; overflow:hidden;}
  .hero .container{position:relative; z-index:1;}
  .hero:before{content:""; position:absolute; inset:-30% -10% auto -10%; height:100%; background:radial-gradient(1200px 400px at 10% 10%, rgba(0,89,154,.12), transparent 60%); pointer-events:none; z-index:0;} 
  
  /* BADGES / CARDS */
  .badge-soft{background:rgba(0,89,154,.08); color:var(--jm-primary); border:1px solid rgba(0,89,154,.18);}    
  .card{border:1px solid rgba(0,0,0,.06); box-shadow:0 6px 20px rgba(0,0,0,.04);}    
.card-img-top{width:100%;height:auto;object-fit:contain;background:#fff;}
  .icon-lg{font-size:2rem; color:var(--jm-primary);} 
  .pillar i{width:2.2rem;}
  
  /* MISC */
  .divider{height:1px; background:linear-gradient(90deg, rgba(0,0,0,.06), rgba(0,0,0,.0));}
  .footer{background:#fff; border-top:1px solid rgba(0,0,0,.06);}  
  
  /* FORMS */
  .form-control:focus{border-color:var(--jm-primary); box-shadow:0 0 0 .2rem rgba(0,89,154,.15);} 
  .chip{border:1px dashed rgba(0,89,154,.35); color:#1f3b4d; padding:.35rem .6rem; border-radius:999px; font-size:.85rem;}
  
  /* CTA */
  .cta-box{background:linear-gradient(180deg, rgba(0,89,154,.06), rgba(0,89,154,.02)); border:1px solid rgba(0,89,154,.15);} 
  
  /* IMAGE FALLBACK */
  .with-fallback{display:inline-block;}
  
  /* Sections alternating backgrounds */
  #expertises, #process, #contact{background:#fff;}
  
  /* Responsive tweaks */
  @media (max-width: 991.98px){
    .hero{padding:5rem 0 3rem;}
  }

/* Mobile-only phone action button */
.phone-fab{position:fixed; right:1rem; bottom:15vh; width:3.25rem; height:3.25rem; border-radius:999px; background:var(--jm-primary); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 24px rgba(0,0,0,.18); z-index:1050; transition:transform .2s ease, box-shadow .2s ease, background .2s ease;}
.phone-fab:hover,.phone-fab:focus{background:#004f88; color:#fff; text-decoration:none; transform:translateY(-2px); box-shadow:0 14px 30px rgba(0,0,0,.24);}
.phone-fab:active{transform:translateY(1px); box-shadow:0 8px 18px rgba(0,0,0,.2);}
@media (min-width:992px){.phone-fab{display:none;}}




