    :root{
      --midnight:#031B46; --navy:#062B6F; --gold:#F2D33D; --cyan:#00A7E8;
      --pro:#008CD6; --pro-deep:#005E9E; --smart:#00A6D8; --smart-teal:#00A9B8;
      --paper:#FAFBFC; --offwhite:#F5F7FA; --silver:#D9E2EC; --steel:#6E7C90; --graphite:#1C2430;
      --info:#1976D2; --success:#1F8A5B; --warning:#C77800; --critical:#B42318;
      --ink:#1C2430; --ink-soft:#41506a;
      --font:'Inter',Arial,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
      --wrap:1200px; --r:12px; --r-sm:8px; --r-lg:16px;
      --sh-sm:0 2px 8px rgba(3,27,70,.08); --sh:0 8px 24px rgba(3,27,70,.10);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);
      font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
    a{color:var(--pro-deep);text-decoration:none}
    img{max-width:100%;display:block}
    h1,h2,h3,h4{margin:0;color:var(--midnight);letter-spacing:-.02em;line-height:1.14;font-weight:700}
    p{margin:0}
    .wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
    .ey{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;
      letter-spacing:.08em;text-transform:uppercase;color:var(--cyan)}
    .ey .dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}

    .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
      font-weight:600;font-size:15px;padding:13px 22px;border-radius:var(--r);
      border:1px solid transparent;cursor:pointer;transition:background .14s,border-color .14s,transform .12s;white-space:nowrap}
    .btn:hover{transform:translateY(-1px)}
    .btn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
    .btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--midnight)}
    .btn-pro{background:var(--pro);color:#fff}.btn-pro:hover{background:var(--pro-deep)}
    .btn-smart{background:var(--smart-teal);color:#fff}.btn-smart:hover{background:#0b8f9c}
    .btn-gold{background:var(--gold);color:var(--midnight)}.btn-gold:hover{background:#e6c531}
    .btn-ghost{background:transparent;color:var(--midnight);border-color:var(--silver)}
    .btn-ghost:hover{border-color:var(--navy)}
    .btn-ghost-d{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.28)}
    .btn-ghost-d:hover{border-color:#fff}

    /* Announce / lead magnet */
    .announce{background:var(--midnight);color:#dbe6f7;font-size:13.5px}
    .announce .wrap{display:flex;align-items:center;justify-content:center;gap:12px;padding:9px 24px;text-align:center;flex-wrap:wrap}
    .announce b{color:#fff}
    .announce a{color:var(--gold);font-weight:600;white-space:nowrap}
    .announce a:hover{text-decoration:underline}

    /* Header */
    header{position:sticky;top:0;z-index:40;background:rgba(250,251,252,.9);
      backdrop-filter:blur(10px);border-bottom:1px solid var(--silver)}
    .nav{display:flex;align-items:center;gap:22px;height:68px}
    .nav .logo{height:42px;width:auto}
    .nav .sp{flex:1}
    .nav a.lk{font-size:14.5px;font-weight:500;color:var(--ink-soft);padding:8px 4px}
    .nav a.lk:hover{color:var(--midnight)}
    @media(max-width:860px){.nav a.lk{display:none}}

    /* Hero */
    .hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--midnight),var(--navy));color:#fff}
    .hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:.92fr 1.08fr;gap:40px;
      align-items:center;padding:66px 24px 74px}
    .hero .ey{color:#8fd4f6}
    .hero h1{color:#fff;font-size:clamp(34px,5vw,56px);line-height:1.05;margin:18px 0 18px;font-weight:800;text-wrap:balance}
    .hero h1 .g{color:var(--gold)}
    .hero p.lead{font-size:18.5px;line-height:1.55;color:#c7d3e8;max-width:46ch;margin:0 0 28px}
    .hero p.lead b{color:#fff;font-weight:600}
    .hero .cta{display:flex;flex-wrap:wrap;gap:12px}
    .hero-fig{position:relative;display:flex;justify-content:center;align-items:center;min-height:440px}
    .hero-fig img.lynx{position:relative;z-index:1;width:min(410px,96%);filter:drop-shadow(0 22px 46px rgba(0,0,0,.5))}
    .hero .link-shields{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:90%;width:auto;
      opacity:.08;pointer-events:none;z-index:0}
    .hero .link-shields path{fill:none;stroke:#9cc2ee;vector-effect:non-scaling-stroke}
    .hero .link-shields .s-out{stroke-width:1.4}
    .hero .link-shields .s-in{stroke-width:1;opacity:.55}
    @media(max-width:820px){
      .hero .wrap{grid-template-columns:1fr;text-align:center;padding:46px 24px 52px}
      .hero p.lead{margin-inline:auto}.hero .cta{justify-content:center}
      .hero-fig{order:2;min-height:auto}.hero-fig img.lynx{width:230px}
      .hero .link-shields{opacity:.06}
    }

    /* Trust bar */
    .trustbar{background:var(--offwhite);border-bottom:1px solid var(--silver)}
    .trustbar .wrap{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 30px;padding:16px 24px}
    .trustbar .t{display:inline-flex;align-items:center;gap:9px;font-size:14px;color:var(--ink-soft);font-weight:500}
    .trustbar .t svg{width:18px;height:18px;stroke:var(--pro);fill:none;stroke-width:1.8}
    .trustbar .t b{color:var(--midnight)}

    /* Sections */
    section{padding:74px 0}
    .sec-head{max-width:64ch;margin:0 auto 44px;text-align:center}
    .sec-head h2{font-size:clamp(28px,3.4vw,38px);margin:12px 0 12px}
    .sec-head p{color:var(--ink-soft);font-size:17px;line-height:1.55}

    /* Deux forces : applications + services */
    .forces{display:grid;grid-template-columns:1fr 1fr;gap:22px}
    @media(max-width:860px){.forces{grid-template-columns:1fr}}
    .force{background:#fff;border:1px solid var(--silver);border-radius:var(--r-lg);padding:30px 28px;box-shadow:var(--sh-sm)}
    .force .fh{display:flex;align-items:center;gap:12px;margin-bottom:6px}
    .force .fh .ic{width:44px;height:44px;border-radius:var(--r);display:grid;place-items:center;flex:none}
    .force.apps .fh .ic{background:rgba(0,140,214,.12)}
    .force.svc .fh .ic{background:rgba(0,169,184,.14)}
    .force .fh .ic svg{width:24px;height:24px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
    .force.apps .fh .ic svg{stroke:var(--pro-deep)} .force.svc .fh .ic svg{stroke:#0b7a86}
    .force h3{font-size:22px}
    .force>.sub{color:var(--steel);font-size:14px;margin:2px 0 18px}
    .force .row{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--offwhite)}
    .force .row .n{font-weight:700;color:var(--midnight);min-width:132px;font-size:15px}
    .force .row .d{color:var(--ink-soft);font-size:14.5px}
    .force .foot{margin-top:20px}
    .badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:6px;margin-bottom:14px}
    .force.apps .badge{background:rgba(0,140,214,.12);color:var(--pro-deep)}
    .force.svc .badge{background:rgba(0,169,184,.14);color:#0b7a86}

    /* Parcours */
    .journey{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
    @media(max-width:880px){.journey{grid-template-columns:1fr 1fr}}
    @media(max-width:520px){.journey{grid-template-columns:1fr}}
    .step{background:#fff;border:1px solid var(--silver);border-radius:var(--r-lg);padding:26px 24px;position:relative}
    .step .num{font-size:13px;font-weight:700;color:var(--cyan);letter-spacing:.08em}
    .step .ic{width:44px;height:44px;border-radius:var(--r);background:var(--offwhite);border:1px solid var(--silver);display:grid;place-items:center;margin:14px 0 14px}
    .step .ic svg{width:24px;height:24px;stroke:var(--navy);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
    .step h3{font-size:19px;margin:0 0 8px}
    .step p{color:var(--ink-soft);font-size:14.5px;line-height:1.55}

    /* Pour qui : Smart / Pro */
    .duo{display:grid;grid-template-columns:1fr 1fr;gap:22px}
    @media(max-width:820px){.duo{grid-template-columns:1fr}}
    .offer{position:relative;background:#fff;border:1px solid var(--silver);border-radius:var(--r-lg);
      padding:30px 28px 28px;display:flex;flex-direction:column;overflow:hidden}
    .offer::before{content:"";position:absolute;top:0;left:0;right:0;height:4px}
    .offer.pro::before{background:var(--pro)} .offer.smart::before{background:var(--smart-teal)}
    .offer .tag{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
      padding:5px 11px;border-radius:6px;margin-bottom:14px}
    .offer.pro .tag{background:rgba(0,140,214,.12);color:var(--pro-deep)}
    .offer.smart .tag{background:rgba(0,169,184,.14);color:#0b7a86}
    .offer h3{font-size:23px;margin:0 0 6px}
    .offer .who{color:var(--steel);font-size:14px;margin:0 0 14px}
    .offer p.d{color:var(--ink-soft);font-size:15px;line-height:1.55;margin:0 0 16px}
    .offer ul{list-style:none;margin:0 0 22px;padding:0}
    .offer li{position:relative;padding:8px 0 8px 26px;color:var(--ink-soft);font-size:14.5px;border-top:1px solid var(--offwhite)}
    .offer li:first-child{border-top:0}
    .offer li::before{content:"";position:absolute;left:2px;top:14px;width:8px;height:8px;border-radius:2px}
    .offer.pro li::before{background:var(--pro)} .offer.smart li::before{background:var(--smart-teal)}
    .offer .foot{margin-top:auto}

    /* Pourquoi — différenciateurs */
    .why{background:var(--offwhite);border-top:1px solid var(--silver);border-bottom:1px solid var(--silver)}
    .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}
    @media(max-width:860px){.pillars{grid-template-columns:1fr}}
    .pillar{background:#fff;border:1px solid var(--silver);border-radius:var(--r-lg);padding:28px 26px;box-shadow:var(--sh-sm)}
    .pillar .k{font-size:34px;font-weight:800;color:var(--gold);line-height:1;letter-spacing:-.03em}
    .pillar h3{font-size:20px;margin:14px 0 8px}
    .pillar p{color:var(--ink-soft);font-size:15px;line-height:1.55}
    .pillar p b{color:var(--midnight)}
    .pillars-sm{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
    @media(max-width:860px){.pillars-sm{grid-template-columns:1fr}}
    .psm{background:#fff;border:1px solid var(--silver);border-left:4px solid var(--cyan);border-radius:var(--r);padding:20px 22px}
    .psm h4{font-size:16.5px;margin:0 0 6px}
    .psm p{color:var(--ink-soft);font-size:14px;line-height:1.5}

    /* CTA final */
    .final{background:linear-gradient(160deg,var(--midnight),var(--navy));color:#fff}
    .final .wrap{padding:62px 24px;text-align:center}
    .final h2{color:#fff;font-size:clamp(26px,3.2vw,36px);margin:0 0 10px}
    .final p{color:#c7d3e8;font-size:17px;margin:0 auto 26px;max-width:56ch}
    .final .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

    /* Footer riche */
    footer{background:var(--midnight);color:#9fb0cc;font-size:14px}
    footer .wrap{padding:52px 24px 30px}
    .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:30px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.1)}
    @media(max-width:960px){.foot-grid{grid-template-columns:1fr 1fr 1fr}}
    @media(max-width:600px){.foot-grid{grid-template-columns:1fr 1fr}}
    .foot-brand .cartouche{display:inline-flex;background:#fff;border-radius:var(--r);padding:11px 15px;margin-bottom:14px}
    .foot-brand .cartouche img{height:34px;width:auto}
    .foot-brand p{color:#7f92b0;font-size:13.5px;max-width:30ch;line-height:1.6}
    .foot-col h4{color:#fff;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px}
    .foot-col a{display:block;color:#c7d3e8;margin-bottom:10px;font-size:14px}
    .foot-col a:hover{color:#fff}
    .foot-contact{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start;justify-content:space-between;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.1)}
    .foot-contact .cc{font-size:14px}
    .foot-contact .cc .l{color:#7f92b0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
    .foot-contact .cc b{color:#fff;font-size:17px}
    .foot-contact .social{display:flex;gap:10px}
    .foot-contact .social a{width:38px;height:38px;border-radius:9px;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;color:#c7d3e8}
    .foot-contact .social a:hover{border-color:#fff;color:#fff}
    .foot-contact .social svg{width:18px;height:18px;fill:currentColor}
    .foot-bot{padding-top:20px;color:#7f92b0;font-size:12.5px;line-height:1.6;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between}
    .foot-bot b{color:#c7d3e8}
/* ============ Pages société (mission/vision, valeurs, rse) ============ */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--midnight),var(--navy));color:#fff}
.page-hero .wrap{position:relative;z-index:1;padding:66px 24px 62px;text-align:center}
.page-hero .ey{color:#8fd4f6;justify-content:center}
.page-hero h1{color:#fff;font-size:clamp(32px,4.6vw,50px);margin:16px auto 16px;font-weight:800;max-width:22ch;text-wrap:balance}
.page-hero p{color:#c7d3e8;font-size:19px;line-height:1.55;max-width:62ch;margin:0 auto}
.page-hero .link-shields{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:150%;width:auto;opacity:.06;pointer-events:none;z-index:0}
.page-hero .link-shields path{fill:none;stroke:#9cc2ee;vector-effect:non-scaling-stroke}
.page-hero .link-shields .s-out{stroke-width:1.4}.page-hero .link-shields .s-in{stroke-width:1;opacity:.55}
.prose{max-width:760px;margin:0 auto}
.prose p{color:var(--ink-soft);font-size:17px;line-height:1.7;margin:0 0 18px}
.prose p.lead-p{font-size:20px;line-height:1.6;color:var(--graphite);font-weight:500}
.prose h3{font-size:22px;margin:34px 0 12px}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:800px){.value-grid{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
@media(max-width:800px){.split{grid-template-columns:1fr}}
.mv{background:#fff;border:1px solid var(--silver);border-radius:var(--r-lg);padding:32px 30px;box-shadow:var(--sh-sm)}
.mv .k{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}
.mv h2{font-size:26px;margin:10px 0 12px}
.mv p{color:var(--ink-soft);font-size:16.5px;line-height:1.65}
.callout{background:var(--offwhite);border:1px solid var(--silver);border-left:4px solid var(--gold);border-radius:var(--r);padding:22px 24px;color:var(--graphite);font-size:16px;line-height:1.6}
.callout b{color:var(--midnight)}

/* == nav mobile hamburger == */
.navtog{display:none}
.burger{display:none;margin-left:auto;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--silver);border-radius:var(--r-sm);background:#fff;color:var(--midnight);cursor:pointer}
.burger svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
@media(max-width:860px){
  header{background:var(--paper)}
  .nav{flex-wrap:wrap;column-gap:12px;height:auto;min-height:64px;padding:8px 0}
  .nav .sp{display:none}
  .burger{display:inline-flex}
  .nav a.lk,.nav>.btn{flex-basis:100%;display:none}
  .navtog:checked~a.lk{display:block;background:var(--paper);padding:13px 6px;border-top:1px solid var(--silver);font-size:16px;color:var(--midnight)}
  .navtog:checked~.btn{display:flex;width:100%;margin:10px 0 12px}
}
