
  :root{
    --navy:#0c3054; --navy2:#0a2846; --navy3:#071d34; --surf:#123a63;
    --gold:#f09c3c; --gold2:#f7b45f; --urg:#e6553c;
    --paper:#f4f7fb; --paper2:#eaf0f7; --ink:#0c3054;
    --ink2:#42597a; --ink3:#6c809b; --linel:rgba(12,48,84,.12);
    --cream:#eef3f8; --mut:#a9b8cc; --mut2:#7f92ad; --line:rgba(255,255,255,.10); --line2:rgba(255,255,255,.16);
    --wht:#fff; --f:'Work Sans',system-ui,-apple-system,Segoe UI,sans-serif;
  }
  *{box-sizing:border-box}
  body{margin:0;background:var(--paper);color:var(--ink2);font-family:var(--f);line-height:1.62;-webkit-font-smoothing:antialiased}
  a{color:var(--gold);text-decoration:none}
  h1,h2,h3,h4{font-family:var(--f);font-weight:800;line-height:1.1;margin:0;letter-spacing:-.015em}
  .wrap{max-width:1160px;margin:0 auto;padding:0 30px}
  .eyebrow{font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:12px;color:var(--gold)}
  .btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:15px;padding:14px 26px;border-radius:6px;
    background:var(--gold);color:var(--navy3);border:1.5px solid var(--gold);cursor:pointer;transition:.18s;white-space:nowrap}
  .btn:hover{background:var(--gold2);border-color:var(--gold2);transform:translateY(-1px)}
  .btn.line{background:transparent;color:var(--navy);border-color:rgba(12,48,84,.28)}
  .btn.line:hover{border-color:var(--gold);color:var(--gold);background:rgba(240,156,60,.06)}
  .btn.lineW{background:transparent;color:#fff;border-color:var(--line2)}
  .btn.lineW:hover{border-color:var(--gold);color:var(--gold)}
  .btn.urg{background:var(--urg);border-color:var(--urg);color:#fff} .btn.urg:hover{background:#ff6a4f;border-color:#ff6a4f}

  /* NAV */
  .nav{position:sticky;top:0;z-index:40;background:rgba(9,32,55,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:74px;gap:26px}
  .nav img.logo{height:50px;width:auto;display:block}
  .menu{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-weight:600;font-size:15px}
  .menu a{color:var(--cream)} .menu a:hover{color:var(--gold)}
  /* sous-menus déroulants */
  .nav .menu{align-items:stretch}
  .nav .menu>li{display:flex;align-items:center;height:74px;position:relative}
  .nav .menu li{position:relative}
  .nav .menu .sub-menu{position:absolute;top:100%;left:0;min-width:252px;list-style:none;margin:0;padding:10px 0;
    background:var(--navy2);border:1px solid var(--line2);border-top:2px solid var(--gold);border-radius:0 0 10px 10px;
    display:none;box-shadow:0 26px 60px -24px rgba(0,0,0,.75);z-index:50}
  .nav .menu>li:hover>.sub-menu,.nav .menu>li:focus-within>.sub-menu{display:block}
  .nav .menu .sub-menu a{display:block;padding:10px 18px;font-size:14px;white-space:nowrap;color:var(--cream)}
  .nav .menu .sub-menu a:hover{color:var(--gold);background:rgba(240,156,60,.08)}
  .nav .menu .menu-item-has-children>a::after{content:"▾";margin-left:6px;font-size:11px;opacity:.7}
  .nav .sub-menu-toggle{display:none!important}
  .nav .act{display:flex;gap:10px;align-items:center}

  /* HERO (navy) */
  .hero{position:relative;overflow:hidden;color:var(--cream);
    background:radial-gradient(1100px 700px at 26% -10%,#1a4b7d 0%,#0c3054 52%,#071d34 100%)}
  .hero .wave{position:absolute;top:-30px;right:-40px;width:min(1050px,80%);opacity:.9;pointer-events:none}
  .hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;padding:70px 30px 78px}
  .hero .badge{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--gold);
    border:1px solid rgba(240,156,60,.34);background:rgba(240,156,60,.09);border-radius:999px;padding:6px 14px}
  .hero h1{font-size:54px;font-weight:900;color:#fff;margin:22px 0 0}
  .hero h1 .g{color:var(--gold)}
  .hero p.lead{font-size:19px;color:var(--mut);max-width:540px;margin:20px 0 0}
  .hero .cta{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
  .hero .art{position:relative;display:flex;justify-content:center;align-items:flex-end}
  .hero .art img{width:100%;max-width:430px;height:auto;position:relative;z-index:2}
  .hero .disc{position:absolute;bottom:-10px;width:330px;height:330px;border-radius:50%;
    background:radial-gradient(circle,rgba(240,156,60,.22),transparent 62%)}

  /* PROOF bar (navy2) */
  .proof{background:var(--navy2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .proof .wrap{display:flex;flex-wrap:wrap;gap:12px 34px;align-items:center;justify-content:center;padding:16px 30px}
  .proof .t{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--cream)}
  .proof .t svg{color:var(--gold)}

  /* LIGHT / NAVY sections */
  .sec{padding:88px 0;position:relative;overflow:hidden}
  .sec > .wrap{position:relative;z-index:1}
  .sec::before{content:"";position:absolute;top:-50px;right:-90px;width:900px;height:600px;z-index:0;pointer-events:none;
    background-repeat:no-repeat;background-size:contain;background-position:top right}
  .navy::before{background-image:url('net.svg')}
  .light::before{background-image:url('net-navy.svg')}
  .sec.no-net::before{content:none}
  .sec:nth-of-type(even)::before{right:auto;left:-120px;top:auto;bottom:-60px;transform:scaleX(-1)}
  footer{position:relative;overflow:hidden}
  footer::before{content:"";position:absolute;top:-40px;right:-60px;width:760px;height:520px;z-index:0;pointer-events:none;
    background:url('net.svg') no-repeat top right/contain}
  footer .wrap{position:relative;z-index:1}
  .light{background:var(--paper);color:var(--ink2)}
  .light h2,.light h3{color:var(--ink)}
  .navy{background:var(--navy);color:var(--cream)}
  .navy h2,.navy h3{color:#fff}
  .navy .eyebrow,.light .eyebrow{color:var(--gold)}
  .kicker{display:flex;align-items:center;gap:12px}
  .kicker::before{content:"";width:30px;height:2px;background:var(--gold)}
  .h2{font-size:38px;margin-top:14px;font-weight:800}
  .lead2{font-size:17px;margin-top:15px;max-width:640px}
  .light .lead2{color:var(--ink3)} .navy .lead2{color:var(--mut)}
  .center{text-align:center} .center .kicker{justify-content:center}

  /* PILIERS (trio) */
  .trio{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
  .pil{padding:30px;border-radius:14px;background:#fff;border:1px solid var(--linel);box-shadow:0 20px 40px -30px rgba(12,48,84,.35)}
  .pil .n{font-family:var(--f);font-weight:900;font-size:15px;color:var(--gold);letter-spacing:.1em}
  .pil h3{font-size:20px;margin:12px 0 8px}
  .pil p{color:var(--ink3);font-size:14.5px;margin:0}

  /* SERVICES : liste éditoriale numérotée */
  .offers{margin-top:40px;border-top:1px solid var(--linel)}
  .offer{display:grid;grid-template-columns:88px 1fr auto;gap:26px;align-items:start;padding:34px 0;border-bottom:1px solid var(--linel);transition:.2s}
  .offer:hover{background:linear-gradient(90deg,rgba(240,156,60,.05),transparent 60%)}
  .offer .num{font-weight:900;font-size:40px;color:var(--navy);opacity:.22;line-height:1;font-variant-numeric:tabular-nums}
  .offer .bd h3{font-size:24px}
  .offer .bd p{color:var(--ink3);font-size:15.5px;margin:9px 0 0;max-width:640px}
  .offer .go{align-self:center;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--gold);white-space:nowrap}
  .offer:hover .num{opacity:.5;color:var(--gold)}

  /* PARCOURS (stepper navy) */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:52px;position:relative}
  .step{padding:0 22px;position:relative}
  .step:not(:last-child)::after{content:"";position:absolute;top:26px;right:-2px;width:calc(100% - 52px);left:52px;height:2px;
    background:repeating-linear-gradient(90deg,rgba(240,156,60,.5) 0 6px,transparent 6px 12px)}
  .step .d{width:54px;height:54px;border-radius:50%;background:var(--surf);border:1px solid rgba(240,156,60,.4);
    display:flex;align-items:center;justify-content:center;color:var(--gold);font-weight:900;font-size:18px;position:relative;z-index:2}
  .step h3{font-size:18px;margin:18px 0 7px}
  .step p{color:var(--mut);font-size:14px;margin:0}

  /* MENACES (light row) */
  .threats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px}
  .threat{text-align:center;padding:26px 16px;border-radius:14px;background:#fff;border:1px solid var(--linel);transition:.2s}
  .threat:hover{border-color:rgba(240,156,60,.5);transform:translateY(-4px);box-shadow:0 24px 44px -30px rgba(12,48,84,.4)}
  .threat img{height:70px;width:auto;margin:0 auto 14px;display:block}
  .threat b{color:var(--ink);font-weight:700;font-size:16px;display:block}
  .threat span{color:var(--ink3);font-size:13px}

  /* SOUVERAINETÉ (navy split) */
  .sov{display:grid;grid-template-columns:.75fr 1.25fr;gap:56px;align-items:center}
  .sov .fr{display:flex;justify-content:center} .sov .fr img{width:100%;max-width:280px}

  /* CERT split */
  .split{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
  .split .ill{display:flex;justify-content:center} .split .ill img{width:100%;max-width:400px}
  .checks{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:13px}
  .checks li{display:flex;gap:12px;align-items:flex-start;font-size:15px}
  .checks svg{flex:0 0 auto;color:var(--gold);margin-top:3px}
  .checks b{color:var(--ink);font-weight:700}

  /* RESSOURCES (light list) */
  .rlist{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:0 50px}
  .rlink{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--linel);transition:.15s}
  .rlink:hover{padding-left:8px}
  .rlink .tt{color:var(--ink);font-weight:700;font-size:16.5px}
  .rlink .tt span{display:block;color:var(--ink3);font-weight:500;font-size:13px;margin-top:3px}
  .rlink .ar{color:var(--gold);font-weight:800;font-size:20px}

  /* URGENCE band */
  .band{background:radial-gradient(700px 320px at 50% 0,rgba(240,156,60,.16),transparent 60%),linear-gradient(180deg,#0e3157,#0a2542);
    border:1px solid var(--line2);border-radius:20px;padding:56px;text-align:center;color:var(--cream)}
  .band h2{font-size:38px;color:#fff} .band p{color:var(--mut);font-size:18px;margin:15px auto 0;max-width:560px}
  .band .cta{display:flex;gap:12px;justify-content:center;margin-top:28px;flex-wrap:wrap}
  .cinfo{display:flex;gap:34px;justify-content:center;margin-top:30px;flex-wrap:wrap;color:var(--mut);font-weight:600;font-size:14.5px}
  .cinfo b{color:#fff}

  /* FOOTER */
  footer{background:var(--navy3);color:var(--mut);padding:56px 0 40px}
  .social{display:flex;gap:12px;margin-top:18px}
  .social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--line2);color:var(--cream);transition:.2s}
  .social a:hover{color:var(--navy3);background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}
  .social svg{width:20px;height:20px}
  .fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px}
  .fgrid img{height:64px;width:auto}
  .fgrid p{color:var(--mut);font-size:14px;max-width:270px;margin:16px 0 0}
  .fgrid h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut2);margin:0 0 15px}
  .fgrid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
  .fgrid a{color:var(--cream);font-size:14.5px} .fgrid a:hover{color:var(--gold)}
  .fbot{display:flex;justify-content:space-between;align-items:center;margin-top:42px;padding-top:24px;border-top:1px solid var(--line);color:var(--mut2);font-size:13px;flex-wrap:wrap;gap:12px}

  @media(max-width:960px){
    .hero .wrap,.sov,.split{grid-template-columns:1fr}.hero .art{display:none}
    .trio,.steps,.threats,.rlist{grid-template-columns:1fr 1fr}
    .step::after{display:none}.offer{grid-template-columns:52px 1fr}.offer .go{display:none}
    .fgrid{grid-template-columns:1fr 1fr}.menu{display:none}.hero h1{font-size:38px}.h2{font-size:30px}
  }
  @media(max-width:600px){.trio,.steps,.threats,.rlist{grid-template-columns:1fr}}

/* ==== Pages internes ==== */
.pagehero{position:relative;overflow:hidden;color:var(--cream);padding:66px 0 54px;
  background:radial-gradient(1000px 560px at 24% -20%,#1a4b7d 0%,#0c3054 55%,#071d34 100%)}
.pagehero::before{content:"";position:absolute;top:-40px;right:-70px;width:820px;height:520px;z-index:0;pointer-events:none;
  background:url('net.svg') no-repeat top right/contain}
.pagehero .wrap{position:relative;z-index:1}
.pagehero .thumb{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:.22;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 70%);mask-image:linear-gradient(90deg,transparent,#000 70%)}
.crumb{font-weight:600;font-size:13px;color:var(--mut);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.crumb a{color:var(--mut)} .crumb a:hover{color:var(--gold)} .crumb .sep{color:var(--gold)}
.pagehero h1{font-size:42px;font-weight:900;color:#fff;max-width:900px}
.prose{max-width:860px;margin:0 auto;color:var(--ink2);font-size:16.5px;line-height:1.75}
.prose h2{color:var(--ink);font-weight:800;font-size:27px;margin:44px 0 14px}
.prose h3{color:var(--ink);font-weight:700;font-size:21px;margin:30px 0 10px}
.prose h4{color:var(--ink);font-weight:800;font-size:16px;margin:26px 0 8px}
.prose hr,.prose .wp-block-separator{border:0;height:0;border-top:1px solid rgba(7,29,52,.14);margin:34px 0}
.prose p{margin:0 0 16px}.prose strong{color:var(--ink)}
.prose a{color:var(--gold);font-weight:600}
.prose ul,.prose ol{margin:0 0 20px;padding:0;list-style:none}
.prose li{position:relative;padding-left:26px;margin:0 0 11px}
.prose ul li::before{content:"";position:absolute;left:2px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.prose ol{counter-reset:olc}
.prose ol li{counter-increment:olc;padding-left:38px}
.prose ol li::before{content:counter(olc);position:absolute;left:0;top:1px;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;background:var(--gold);color:#071d34;font-weight:800;font-size:13px}
.prose img{max-width:100%;height:auto;border-radius:12px}
.prose blockquote{border-left:3px solid var(--gold);margin:20px 0;padding:6px 18px;color:var(--ink3);background:rgba(240,156,60,.07)}
/* menu mobile */
.burger{display:none;background:none;border:0;color:#fff;cursor:pointer;padding:6px}
@media(max-width:960px){
  .burger{display:inline-flex}
  .nav .menu{position:absolute;top:74px;left:0;right:0;display:none;flex-direction:column;gap:0;
    background:var(--navy2);border-bottom:1px solid var(--line);padding:8px 0}
  .nav.open .menu{display:flex}
  .nav .menu li{padding:0 30px}.nav .menu a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
}
/* polish mobile */
@media(max-width:600px){
  .fgrid{grid-template-columns:1fr;gap:22px}
  .pagehero h1{font-size:32px}.hero h1{font-size:32px}
  .wrap{padding-left:20px;padding-right:20px}
}
