/* ===========================================================
   META SYSTEM — feuille de style commune
   =========================================================== */
:root{
  /* Charte dérivée du logo — bleu (principal) + vert (accent).
     NB : noms historiques conservés ; --rouge = BLEU primaire, --orange = VERT accent. */
  --noir:#0c1b2e; --acier:#123c6e; --acier2:#1e5ba8;
  --rouge:#0a4fa0; --orange:#2fa043; --vert:#2fa043;
  --gris:#5c6b7b; --gris-clair:#93a0ae; --bord:#dbe3ec;
  --fond:#f1f5fb; --blanc:#fff;
  --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,sans-serif;
     color:var(--noir);background:var(--blanc);line-height:1.65;font-size:16px}
img{max-width:100%;display:block}
a{color:var(--acier)}

/* ---------- En-tête ---------- */
.hdr{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);
     backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid var(--bord)}
.hdr-in{max-width:var(--max);margin:0 auto;padding:12px 20px;
        display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--noir)}
.brand img{height:40px;width:auto}
.brand .wm{font-family:"Oswald",sans-serif;font-weight:600;font-size:21px;
           letter-spacing:.06em;text-transform:uppercase;line-height:1}
.brand .wm small{display:block;font-size:10px;letter-spacing:.22em;color:var(--gris);font-weight:400}
.nav{margin-left:auto;display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.nav a{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.04em;
       font-size:13.5px;color:var(--noir);text-decoration:none;padding:9px 12px;border-radius:7px;
       transition:.18s}
.nav a:hover{background:var(--fond);color:var(--acier)}
.nav a.active{color:var(--rouge)}
.nav .tel{background:var(--rouge);color:#fff;padding:9px 16px}
.nav .tel:hover{background:#08376f;color:#fff}
.burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;
        font-size:26px;color:var(--noir)}
@media(max-width:860px){
  .burger{display:block}
  .nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;
       flex-direction:column;align-items:stretch;gap:0;padding:8px 14px 16px;
       border-bottom:1px solid var(--bord);box-shadow:0 10px 24px rgba(0,0,0,.08)}
  .nav.open{display:flex}
  .nav a{padding:13px 10px;border-radius:0;border-bottom:1px solid var(--bord)}
  .nav .tel{margin-top:10px;border-radius:7px;text-align:center}
}

/* ---------- Sections génériques ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
section{padding:56px 0}
.kicker{font-family:"Oswald",sans-serif;letter-spacing:.28em;text-transform:uppercase;
        font-size:12.5px;color:var(--rouge);font-weight:500;margin-bottom:10px}
h1,h2,h3{font-family:"Oswald",sans-serif;font-weight:600;letter-spacing:.01em;line-height:1.15}
h1{font-size:clamp(28px,4.4vw,44px);text-transform:uppercase}
h2{font-size:clamp(23px,3vw,32px);margin-bottom:14px;color:var(--acier)}
h3{font-size:18px;margin:22px 0 6px;color:var(--noir)}
p{margin:10px 0;color:#2a2e33}
.lead{font-size:18px;color:#3a3f45;max-width:760px}
.divider{width:54px;height:4px;background:var(--rouge);border-radius:2px;margin:14px 0 22px}

/* ---------- Héros ---------- */
.hero{position:relative;color:#fff;min-height:62vh;display:flex;align-items:center;
      background:linear-gradient(120deg,#0c1b2e,#123c6e)}
.hero .wrap{padding-top:60px;padding-bottom:60px}
.hero h1{max-width:900px}
.hero .kicker{color:var(--orange)}
.hero p{color:#dfe5ea;max-width:640px;font-size:18px;margin-top:16px}
.hero .btns{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Boutons ---------- */
.btn{display:inline-block;font-family:"Oswald",sans-serif;text-transform:uppercase;
     letter-spacing:.06em;font-size:14.5px;padding:13px 26px;border-radius:8px;
     text-decoration:none;transition:.2s;border:2px solid transparent;cursor:pointer}
.btn-r{background:var(--rouge);color:#fff}
.btn-r:hover{background:#08376f}
.btn-o{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-o:hover{background:#fff;color:var(--noir);border-color:#fff}

/* ---------- Grilles de contenu ---------- */
.alt{background:var(--fond)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.split img{border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.12)}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:24px}}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:8px}
.card{background:var(--blanc);border:1px solid var(--bord);border-radius:12px;padding:24px 22px;
      box-shadow:0 2px 10px rgba(0,0,0,.04)}
.alt .card{background:#fff}
.card h3{margin-top:0;color:var(--acier)}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.pill{background:#fff;border:1px solid var(--bord);border-radius:30px;padding:8px 16px;
      font-size:14px;font-weight:600;color:var(--acier)}
.value{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.value .v{text-align:center;padding:26px 18px}
.value .v .num{font-family:"Oswald",sans-serif;font-size:40px;color:var(--rouge);font-weight:600}
.value .v h3{color:var(--acier);margin:6px 0}

/* ---------- Bandeau CTA ---------- */
.cta{background:linear-gradient(120deg,#0c1b2e,#123c6e);color:#fff;text-align:center}
.cta h2{color:#fff}
.cta p{color:#cdd6df;max-width:620px;margin:0 auto 22px}

/* ---------- Pied de page ---------- */
.ftr{background:var(--noir);color:#c2c8cf;font-size:14px}
.ftr-in{max-width:var(--max);margin:0 auto;padding:50px 20px 26px;
        display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
@media(max-width:760px){.ftr-in{grid-template-columns:1fr;gap:24px}}
.ftr h4{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.1em;
        font-size:13px;color:#fff;margin-bottom:14px}
.ftr a{color:#c2c8cf;text-decoration:none}
.ftr a:hover{color:#fff}
.ftr .brand .wm{color:#fff}
.ftr .brand .wm small{color:var(--gris-clair)}
.ftr ul{list-style:none}
.ftr li{margin:7px 0}
.ftr .bottom{border-top:1px solid #2a2f35;margin-top:30px;padding:18px 20px;text-align:center;
             font-size:12.5px;color:var(--gris-clair)}
.ftr .bottom a{color:var(--gris-clair)}

/* ---------- Pages légales ---------- */
.legal{max-width:840px}
.legal p,.legal li{color:#2a2e33}
.legal h2{font-size:22px;margin-top:30px}
.legal table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}
.legal th,.legal td{border:1px solid var(--bord);padding:9px 11px;text-align:left;vertical-align:top}
.legal th{background:var(--fond);font-family:"Oswald",sans-serif;text-transform:uppercase;
          font-size:12px;letter-spacing:.05em}
