*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    :root{
      --ink:     #0b1926;
      --ink2:    #122336;
      --blue:    #0890b0;
      --cyan:    #0aaacc;
      --cyan-lt: #2ec1dd;
      --slate:   #3c3f46;
      --snow:    #f4f7fb;
      --snow2:   #e8edf5;
      --body:    #1e2f40;
      --muted:   #5a7085;
      --white:   #ffffff;
      --nav-h:   68px;
    }
    html{scroll-behavior:smooth;font-size:16px}
    body{font-family:'Barlow',sans-serif;color:var(--body);background:var(--white);overflow-x:hidden}
    ::-webkit-scrollbar{width:4px}
    ::-webkit-scrollbar-track{background:var(--ink)}
    ::-webkit-scrollbar-thumb{background:var(--cyan)}
    ::selection{background:var(--cyan);color:#fff}

    /* ── NAV ── */
    #nav{
      position:fixed;top:0;left:0;right:0;z-index:900;
      height:var(--nav-h);
      display:flex;align-items:center;justify-content:space-between;
      padding:0 4rem;
      transition:background .4s,box-shadow .4s;
    }
    #nav.solid{background:rgba(11,25,38,.96);backdrop-filter:blur(12px);box-shadow:0 2px 40px rgba(0,0,0,.25)}
    .nav-logo{display:flex;align-items:center;text-decoration:none}
    .nav-logo-img{height:60px;width:auto;transition:filter .3s}
    .nav-links{display:flex;gap:2.5rem;list-style:none}
    .nav-links a{
      font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:.85rem;
      letter-spacing:.2em;text-transform:uppercase;
      color:rgba(255,255,255,.72);text-decoration:none;transition:color .2s;
    }
    .nav-links a:hover{color:var(--cyan)}

    /* ── HAMBURGER ── */
    .nav-burger{
      display:none;
      flex-direction:column;justify-content:space-between;
      width:28px;height:20px;
      background:none;border:none;cursor:pointer;padding:0;z-index:910;
      flex-shrink:0;
    }
    .nav-burger span{
      display:block;width:100%;height:2px;
      background:rgba(255,255,255,.85);
      border-radius:1px;
      transition:transform .3s,opacity .3s;
    }
    .nav-burger.open span:nth-child(1){transform:translateY(9px) rotate(45deg)}
    .nav-burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
    .nav-burger.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}

    /* ── MOBILE MENU OVERLAY ── */
    .nav-mobile{
      display:none;
      position:fixed;left:0;right:0;
      top:var(--nav-h);bottom:0;
      background:rgba(11,25,38,.97);
      backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
      z-index:800;
      flex-direction:column;align-items:center;justify-content:center;
      gap:2.8rem;
      opacity:0;pointer-events:none;
      visibility:hidden;
      transition:opacity .3s ease, visibility 0s .3s;
    }
    .nav-mobile.open{
      opacity:1;pointer-events:auto;
      visibility:visible;
      transition:opacity .3s ease, visibility 0s;
    }
    .nav-mobile a{
      font-family:'Barlow Condensed',sans-serif;font-weight:700;
      font-size:2rem;letter-spacing:.18em;text-transform:uppercase;
      color:rgba(255,255,255,.72);text-decoration:none;
      transition:color .2s;
    }
    .nav-mobile a:hover,.nav-mobile a:active{color:var(--cyan)}

    /* ── HERO ── */
    #hero{
      min-height:100vh;
      min-height:100svh;
      background:radial-gradient(ellipse 80% 80% at 60% 40%,#152e3f 0%,#0b1926 100%);
      display:flex;align-items:center;position:relative;overflow:hidden;
    }
    .hero-grid{
      position:absolute;inset:0;
      background-image:
        linear-gradient(rgba(10,170,204,.14) 1px,transparent 1px),
        linear-gradient(90deg,rgba(10,170,204,.14) 1px,transparent 1px),
        linear-gradient(rgba(10,170,204,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(10,170,204,.05) 1px,transparent 1px);
      background-size:100px 100px,100px 100px,20px 20px,20px 20px;
      animation:drift 30s linear infinite;
    }
    @keyframes drift{to{background-position:100px 100px,100px 100px,20px 20px,20px 20px}}
    .hero-rings{
      position:absolute;right:6%;top:50%;transform:translateY(-50%);
      width:520px;height:520px;pointer-events:none;
    }
    .hero-rings circle{fill:none;stroke:rgba(10,170,204,.16)}
    .r1{animation:spin1 60s linear infinite}
    .r2{animation:spin1 90s linear infinite reverse}
    @keyframes spin1{to{transform:rotate(360deg);transform-origin:260px 260px}}
    .cross{position:absolute;width:24px;height:24px;color:rgba(10,170,204,.3)}
    .cross::before,.cross::after{content:'';position:absolute;background:currentColor}
    .cross::before{width:1px;height:100%;left:50%;top:0}
    .cross::after{height:1px;width:100%;top:50%;left:0}
    .cross1{top:20%;left:15%}.cross2{bottom:30%;left:30%}.cross3{top:35%;right:22%}
    .hero-inner{
      position:relative;z-index:2;
      max-width:1260px;margin:0 auto;
      padding:0 4rem;padding-top:var(--nav-h);padding-bottom:6rem;width:100%;
    }
    .hero-eyebrow{
      display:inline-flex;align-items:center;gap:.9rem;
      font-family:'Barlow Condensed',sans-serif;font-size:.78rem;font-weight:600;
      letter-spacing:.3em;text-transform:uppercase;color:var(--cyan);
      margin-bottom:2rem;opacity:0;animation:riseIn .8s .3s ease forwards;
    }
    .hero-eyebrow::before{content:'';display:block;width:32px;height:2px;background:var(--cyan)}
    .hero-h1{
      font-family:'Barlow Condensed',sans-serif;font-weight:800;
      font-size:clamp(4rem,8.5vw,8rem);line-height:.9;letter-spacing:-.02em;
      color:#fff;margin-bottom:1.8rem;
      opacity:0;animation:riseIn .8s .5s ease forwards;
    }
    .hero-h1 .cyan{color:var(--cyan)}
    .hero-sub{
      font-family:'Barlow Condensed',sans-serif;
      font-weight:300;font-size:1rem;
      letter-spacing:.22em;color:rgba(255,255,255,.38);
      text-transform:uppercase;
      margin-top:.5rem;margin-bottom:1.6rem;
      opacity:0;animation:riseIn .8s .6s ease forwards;
    }
    .hero-sub strong{font-weight:inherit}
    .hero-lead{
      max-width:480px;font-size:1.08rem;font-weight:300;line-height:1.75;
      color:rgba(255,255,255,.58);margin-bottom:2rem;
      opacity:0;animation:riseIn .8s .7s ease forwards;
    }
    .hero-cta{
      display:inline-flex;align-items:center;gap:.8rem;
      background:var(--cyan);color:#fff;
      font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;letter-spacing:.12em;
      text-transform:uppercase;text-decoration:none;padding:.95rem 2.2rem;
      clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));
      transition:background .25s,gap .25s;
      opacity:0;animation:riseIn .8s .9s ease forwards;
    }
    .hero-cta:hover{background:var(--cyan-lt);gap:1.3rem}
    .hero-cta svg{transition:transform .25s}
    .hero-cta:hover svg{transform:translateX(4px)}
    .hero-stats{
      position:absolute;bottom:2.5rem;left:4rem;
      display:flex;gap:3rem;
      opacity:0;animation:riseIn .8s 1.1s ease forwards;
    }
    .stat{border-left:2px solid var(--cyan);padding-left:1rem}
    .stat-n{font-family:'Barlow Condensed',sans-serif;font-size:1.9rem;font-weight:700;color:#fff;line-height:1}
    .stat-l{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:.15rem}
    @keyframes riseIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

    /* ── SHARED ── */
    section{padding:7rem 4rem}
    .wrap{max-width:1260px;margin:0 auto}
    .s-label{
      display:inline-flex;align-items:center;gap:.75rem;
      font-family:'Barlow Condensed',sans-serif;font-size:.75rem;font-weight:600;
      letter-spacing:.28em;text-transform:uppercase;color:var(--cyan);margin-bottom:.8rem;
    }
    .s-label::before{content:'';display:block;width:28px;height:2px;background:var(--cyan)}
    h2.s-title{
      font-family:'Barlow Condensed',sans-serif;font-weight:800;
      font-size:clamp(2.4rem,4.5vw,3.8rem);line-height:.95;letter-spacing:-.015em;margin-bottom:1.4rem;
    }

    /* ── RÔLE ── */
    #role{background:var(--white)}
    .role-grid{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center}
    .role-text p{font-size:1.05rem;line-height:1.82;color:var(--muted);margin-bottom:1.4rem}
    .role-text p strong{color:var(--body);font-weight:600}
    .benefits{display:flex;flex-direction:column;gap:1.2rem}
    .ben{
      display:flex;gap:1.2rem;align-items:flex-start;
      padding:1.4rem 1.5rem;border:1px solid var(--snow2);
      border-left:3px solid var(--cyan);background:var(--snow);
      transition:transform .3s,border-color .3s,box-shadow .3s;cursor:default;
    }
    .ben:hover{transform:translateX(6px);border-left-color:var(--blue);box-shadow:6px 0 24px rgba(10,170,204,.08)}
    .ben-icon{
      width:36px;height:36px;flex-shrink:0;
      background:rgba(10,170,204,.1);border:1px solid rgba(10,170,204,.25);
      display:flex;align-items:center;justify-content:center;color:var(--cyan);
    }
    .ben-body h4{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;letter-spacing:.04em;color:var(--body);margin-bottom:.3rem}
    .ben-body p{font-size:.88rem;line-height:1.65;color:var(--muted)}

    /* ── EXPERT / À PROPOS ── */
    #expert{background:var(--snow)}
    .expert-grid{display:grid;grid-template-columns:400px 1fr;gap:5rem;align-items:start}
    .expert-photo-wrap{position:relative}
    .expert-photo{
      width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center center;
      display:block;
    }
    .expert-photo-frame{
      position:relative;
      border:2px solid rgba(10,170,204,.3);
    }
    .expert-photo-frame::before{
      content:'';position:absolute;
      top:-10px;left:-10px;right:10px;bottom:10px;
      border:1px solid rgba(10,170,204,.15);
      pointer-events:none;z-index:0;
    }
    .expert-photo-frame::after{
      content:'';position:absolute;
      bottom:-10px;right:-10px;
      width:60px;height:60px;
      border-bottom:2px solid var(--cyan);
      border-right:2px solid var(--cyan);
      pointer-events:none;
    }
    .expert-badge{
      position:absolute;bottom:-1.2rem;left:1.5rem;
      background:var(--cyan);color:#fff;
      font-family:'Barlow Condensed',sans-serif;
      font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
      padding:.5rem 1.2rem;
      clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
    }
    .expert-right{padding-top:.5rem}
    

    /* skills grid */
    .skills-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}
    .skill-tag{
      font-family:'Barlow Condensed',sans-serif;font-size:.78rem;font-weight:600;
      letter-spacing:.12em;text-transform:uppercase;
      background:var(--white);color:var(--body);
      border:1px solid var(--snow2);border-left:2px solid var(--cyan);
      padding:.3rem .8rem;
    }

    /* diplômes */
    .expert-bio{font-size:1rem;line-height:1.8;color:var(--muted);margin-bottom:2rem}



    /* ── CAPACITES ── */
    #capacites{background:var(--white);position:relative;overflow:clip}
    #capacites::before{
      content:'';position:absolute;inset:0;
      background-image:linear-gradient(var(--snow) 1px,transparent 1px),linear-gradient(90deg,var(--snow) 1px,transparent 1px);
      background-size:40px 40px;
    }
    .svc-grid{
      position:relative;z-index:1;
      display:grid;grid-template-columns:repeat(3,1fr);
      margin-top:3.5rem;gap:1px;background:var(--snow2);
    }
    .svc{
      background:var(--white);padding:2.6rem 2.2rem;
      transition:background .35s,transform .35s,box-shadow .35s;
      position:relative;overflow:hidden;
    }
    .svc::after{
      content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
      background:linear-gradient(90deg,var(--cyan),var(--blue));
      transform:scaleX(0);transform-origin:left;transition:transform .4s;
    }
    .svc:hover{background:rgba(10,170,204,.04);transform:translateY(-3px);box-shadow:0 12px 30px rgba(10,170,204,.08)}
    .svc:hover::after{transform:scaleX(1)}
    .svc-ico{width:46px;height:46px;margin-bottom:1.6rem;color:var(--cyan)}
    .svc h3{font-family:'Barlow Condensed',sans-serif;font-size:1.25rem;font-weight:700;letter-spacing:.04em;color:var(--body);margin-bottom:.7rem}
    .svc p{font-size:.88rem;line-height:1.72;color:var(--muted)}
    .svc-tag{
      display:inline-block;margin-top:1.1rem;
      font-family:'Barlow Condensed',sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
      color:var(--cyan);border:1px solid rgba(10,170,204,.3);padding:.22rem .7rem;
    }

    /* ── RÉFÉRENCES ── */
    #references{background:var(--snow)}
    .ref-intro{display:grid;grid-template-columns:1fr auto;align-items:flex-end;gap:2rem;margin-bottom:3rem}
    .ref-total{font-family:'Barlow Condensed',sans-serif;font-size:4.5rem;font-weight:800;color:var(--snow2);line-height:1}
    .ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
    .ref{
      background:var(--white);border:1px solid rgba(0,0,0,.06);padding:0;overflow:hidden;
      transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;
    }
    .ref::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--cyan),var(--blue))}
    .ref:hover{transform:translateY(-7px);box-shadow:0 24px 48px rgba(0,0,0,.1)}
    .ref-img-wrap{overflow:hidden;position:relative;height:240px;background:var(--snow)}
    .ref-img{
      width:100%;height:100%;
      display:block;
      object-fit:contain;
      object-position:center;
      filter:brightness(.92);
      transition:filter .45s ease;
    }
    .ref-body{padding:1.5rem 2rem 2rem}
    .ref:hover .ref-img{filter:brightness(1)}
    .ref-loc{
      display:flex;align-items:center;gap:.5rem;
      font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:600;
      letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);margin-bottom:.7rem;
    }
    .ref-name{font-family:'Barlow Condensed',sans-serif;font-size:1.15rem;font-weight:700;color:var(--body);line-height:1.25;margin-bottom:1.2rem}
    .ref-dl{display:flex;flex-direction:column;gap:.55rem;border-top:1px solid var(--snow2);padding-top:1.1rem}
    .ref-row{display:flex;justify-content:space-between;font-size:.83rem}
    .ref-row span:first-child{color:var(--muted)}
    .ref-row span:last-child{font-weight:600;color:var(--body)}
    .ref-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.9rem}
    .rtag{
      font-family:'Barlow Condensed',sans-serif;font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;
      background:var(--snow);color:var(--muted);border:1px solid var(--snow2);padding:.2rem .55rem;
    }

    /* ── CONTACT ── */
    #contact{background:var(--ink2);position:relative;overflow:clip}
    #contact::after{
      content:'';position:absolute;top:-20%;right:-10%;width:600px;height:600px;border-radius:50%;
      background:radial-gradient(circle,rgba(10,170,204,.1) 0%,transparent 65%);pointer-events:none;
    }
    .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center;position:relative;z-index:1}
    #contact .s-title{color:#fff}
    .cvp-list{display:flex;flex-direction:column;gap:1.8rem;margin-top:2.2rem}
    .cvp{display:flex;gap:1.1rem;align-items:flex-start}
    .cvp-ico{
      width:38px;height:38px;flex-shrink:0;
      background:rgba(10,170,204,.12);border:1px solid rgba(10,170,204,.28);
      display:flex;align-items:center;justify-content:center;color:var(--cyan);
    }
    .cvp h4{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;letter-spacing:.04em;color:#fff;margin-bottom:.3rem}
    .cvp p{font-size:.87rem;line-height:1.65;color:rgba(255,255,255,.45)}
    .contact-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);padding:3rem}

    /* contact card header with photo */
    .cc-head{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}
    .cc-photo{
      width:72px;height:72px;border-radius:50%;
      object-fit:cover;object-position:top center;
      border:2px solid var(--cyan);flex-shrink:0;
    }
    .cc-name{font-family:'Barlow Condensed',sans-serif;font-size:1.8rem;font-weight:800;letter-spacing:.04em;color:#fff}
    .cc-role{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-top:.2rem}
    .cc-links{display:flex;flex-direction:column;gap:1rem}
    .cc-link{
      display:flex;align-items:center;gap:1rem;font-size:1rem;
      color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s;
    }
    .cc-link:hover{color:var(--cyan)}
    .cc-link svg{color:var(--cyan);flex-shrink:0}
    .cc-divider{height:1px;background:rgba(255,255,255,.08);margin:2rem 0}
    .cc-note{font-size:.82rem;line-height:1.65;color:rgba(255,255,255,.35);font-style:italic}

    /* ── FORMULAIRE DE CONTACT ── */
    .cf-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
    .cf-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.85rem}
    .cf-label{
      font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:700;
      letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);
    }
    .cf-input{
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.12);
      color:#fff;font-family:'Barlow',sans-serif;font-size:.92rem;
      padding:.65rem .9rem;outline:none;
      transition:border-color .2s,box-shadow .2s;
      width:100%;
    }
    .cf-input::placeholder{color:rgba(255,255,255,.2)}
    .cf-input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(10,170,204,.12)}
    .cf-input.cf-invalid{border-color:#e05c5c;box-shadow:0 0 0 3px rgba(224,92,92,.1)}
    .cf-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(10,170,204,.7)' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem;cursor:pointer}
    .cf-select option{background:#0e1f35;color:#fff}
    .cf-textarea{resize:vertical;min-height:80px}
    .cf-rgpd-group{margin-top:.5rem}
    .cf-check-label{display:flex;align-items:flex-start;gap:.7rem;cursor:pointer;font-size:.8rem;line-height:1.55;color:rgba(255,255,255,.4)}
    .cf-check-label input[type="checkbox"]{
      flex-shrink:0;width:16px;height:16px;margin-top:2px;
      accent-color:var(--cyan);cursor:pointer;
    }
    .cf-legal-link{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;color:var(--cyan);cursor:pointer;text-decoration:underline}
    .cf-error{font-size:.82rem;color:#e05c5c;margin-bottom:.8rem}
    .cf-btn{
      display:flex;align-items:center;justify-content:center;gap:.6rem;
      width:100%;padding:.9rem 1.8rem;margin-top:.4rem;
      background:var(--cyan);color:#fff;
      font-family:'Barlow Condensed',sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
      border:none;cursor:pointer;
      transition:background .2s,transform .15s,box-shadow .2s;
    }
    .cf-btn:hover{background:var(--cyan-lt);box-shadow:0 8px 24px rgba(10,170,204,.28)}
    .cf-btn:active{transform:scale(.98)}
    .cf-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
    .cf-btn svg{transition:transform .25s;flex-shrink:0}
    .cf-btn:hover svg{transform:translateX(4px)}
    .cf-success{
      display:flex;flex-direction:column;align-items:center;
      gap:1rem;padding:2rem 1rem;text-align:center;
    }
    .cf-success h3{font-family:'Barlow Condensed',sans-serif;font-size:1.5rem;font-weight:800;color:#fff}
    .cf-success p{font-size:.88rem;color:rgba(255,255,255,.5);line-height:1.6}
    @media(max-width:480px){.cf-row{grid-template-columns:1fr}}

    /* ── FOOTER ── */
    footer{
      background:var(--ink);padding:1.4rem 4rem;
      display:flex;align-items:center;justify-content:space-between;
      border-top:1px solid rgba(255,255,255,.05);
    }
    .f-logo{display:flex;align-items:center}
    .footer-logo-img{height:38px;width:auto;opacity:.8}
    .f-right{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}
    footer p{font-size:.78rem;color:rgba(255,255,255,.25)}
    .f-legal{
      font-size:.78rem;color:rgba(255,255,255,.35);cursor:pointer;
      background:none;border:none;padding:0;font-family:inherit;
      transition:color .2s;
    }
    .f-legal:hover{color:var(--cyan)}

    /* ── MODALE MENTIONS LÉGALES ── */
    .ml-overlay{
      position:fixed;inset:0;z-index:9999;
      background:rgba(0,0,0,.85);
      display:flex;align-items:center;justify-content:center;
      padding:1.5rem;
      opacity:0;visibility:hidden;
      transition:opacity .25s ease, visibility 0s .25s;
      pointer-events:none;
    }
    .ml-overlay.ml-open{
      opacity:1;visibility:visible;
      transition:opacity .25s ease, visibility 0s;
      pointer-events:auto;
    }
    .ml-box{
      position:relative;
      width:100%;max-width:700px;max-height:85vh;
      overflow-y:auto;
      background:#0e1f35;
      border:1px solid rgba(10,170,204,.2);
      padding:3rem;
      box-shadow:0 24px 80px rgba(0,0,0,.6);
    }
    .ml-box::-webkit-scrollbar{width:4px}
    .ml-box::-webkit-scrollbar-track{background:rgba(255,255,255,.04)}
    .ml-box::-webkit-scrollbar-thumb{background:var(--cyan);border-radius:2px}
    .ml-close{
      position:sticky;top:0;float:right;margin-left:1rem;
      background:none;border:none;cursor:pointer;
      color:rgba(255,255,255,.45);font-size:1.2rem;line-height:1;
      padding:.2rem .4rem;transition:color .2s;z-index:1;
    }
    .ml-close:hover{color:var(--cyan)}
    .ml-header{margin-bottom:2rem}
    .ml-title{
      font-family:'Barlow Condensed',sans-serif;font-weight:800;
      font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.015em;
      color:#fff;line-height:1;margin-top:.5rem;
    }
    .ml-h3{
      font-family:'Barlow Condensed',sans-serif;font-weight:700;
      font-size:1rem;letter-spacing:.2em;text-transform:uppercase;
      color:var(--cyan);margin-bottom:1rem;
    }
    .ml-sep{height:1px;background:rgba(255,255,255,.08);margin:1.8rem 0}
    .ml-section{padding:.2rem 0}
    .ml-dl{display:flex;flex-direction:column;gap:.6rem}
    .ml-row{display:flex;gap:1rem;font-size:.88rem;line-height:1.6}
    .ml-row dt{
      min-width:140px;flex-shrink:0;
      color:rgba(255,255,255,.4);font-weight:500;
    }
    .ml-row dd{color:rgba(255,255,255,.8)}
    .ml-p{font-size:.9rem;line-height:1.75;color:rgba(255,255,255,.65)}
    .ml-link{color:var(--cyan);text-decoration:none;transition:color .2s}
    .ml-link:hover{color:var(--cyan-lt)}

    /* ── REVEAL ── */
    .reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease;will-change:opacity,transform}
    .reveal.in{opacity:1;transform:translateY(0)}

    /* ── PARTENAIRES ── */
    #partenaires{background:var(--white);padding-left:0;padding-right:0;overflow:hidden}
    .partners-header{text-align:center}

    .ticker-container{
      position:relative;
      overflow-x:hidden;
      overflow-y:visible;
      margin-top:3.5rem;
      padding:1.5rem 0;
    }
    .ticker-container::before,
    .ticker-container::after{
      content:'';position:absolute;top:0;bottom:0;
      width:160px;z-index:2;pointer-events:none;
    }
    .ticker-container::before{left:0;background:linear-gradient(to right,var(--white),transparent)}
    .ticker-container::after{right:0;background:linear-gradient(to left,var(--white),transparent)}

    .ticker-track{
      display:flex;align-items:center;gap:5rem;
      width:max-content;
      animation:ticker-scroll 42s linear infinite;
    }
    .ticker-track:hover{animation-play-state:paused}

    .partner-logo{
      height:120px;width:auto;
      object-fit:contain;flex-shrink:0;display:block;
      filter:grayscale(100%);opacity:.55;
      transition:filter .35s ease, opacity .35s ease, transform .35s ease;
    }
    .partner-logo:hover{filter:grayscale(0%);opacity:1;transform:scale(1.18);position:relative;z-index:10}

    @keyframes ticker-scroll{
      from{transform:translateX(0)}
      to{transform:translateX(-50%)}
    }

    @media(max-width:768px){
      .partner-logo{height:45px}
      .ticker-track{gap:3rem}
    }

    /* ── RESPONSIVE ── */
    @media(max-width:1100px){
      .expert-grid{grid-template-columns:300px 1fr;gap:3.5rem}
    }
    @media(max-width:1024px){
      section{padding:5rem 2.5rem}
      #nav{padding:0 2.5rem}
      .hero-inner{padding:0 2.5rem;padding-top:var(--nav-h)}
      .hero-stats{left:2.5rem}
      .role-grid,.contact-grid{grid-template-columns:1fr;gap:3.5rem}
      .expert-grid{grid-template-columns:1fr;gap:3rem}
      .expert-photo-wrap{max-width:320px}
      .svc-grid{grid-template-columns:1fr 1fr}
      .ref-grid{grid-template-columns:1fr 1fr}
    }
    @media(max-width:680px){
      #nav{padding:0 1.5rem}
      .nav-links{display:none}
      .nav-burger{display:flex}
      .nav-mobile{display:flex}
      section{padding:4rem 1.5rem}
      .hero-inner{padding:0 1.5rem;padding-top:var(--nav-h)}
      .hero-stats{
        position:static;
        margin-top:2.5rem;
        left:auto;bottom:auto;
        gap:1.8rem;
        opacity:1;animation:none;
      }
      .hero-inner{padding-bottom:3rem}
      .svc-grid{grid-template-columns:1fr}
      .ref-grid{grid-template-columns:1fr}
      footer{flex-direction:column;gap:.8rem;text-align:center;padding:1.4rem 1.5rem}
      .f-right{align-items:center}
      .contact-card{padding:2rem 1.5rem}
      .ml-box{padding:2rem 1.2rem}
      .ml-row{flex-direction:column;gap:.15rem}
      .ml-row dt{min-width:unset;font-size:.78rem}
    }