:root{
    --bg:#FFFFFF; --card:#F5F6F7; --ink:#141414; --muted:#5B5B55;
    --line:#E8E6E0; --signal:#CC0000; --signal-dark:#A30000; --dark-card:#0A0A0A; --radius:14px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  a,button{-webkit-tap-highlight-color:transparent;}
  html{scroll-behavior:smooth;}
  body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-weight:400;}
  .wrap{max-width:860px;margin:0 auto;padding:0 24px;}
  header{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 0;border-bottom:1px solid var(--line);gap:16px;flex-wrap:wrap;
    position:sticky;top:0;z-index:50;
    background:rgba(252,251,249,.92);backdrop-filter:saturate(180%) blur(12px);
    -webkit-backdrop-filter:saturate(180%) blur(12px);
  }
  .logo{line-height:0;}
  .logo img{height:32px;width:auto;display:block;}
  .logo a{color:inherit;text-decoration:none;}
  .logo span{color:var(--signal);}
  .back{font-family:'Inter',sans-serif;font-size:.85rem;font-weight:600;color:var(--ink);text-decoration:none;border:1.5px solid var(--ink);padding:12px 18px;border-radius:10px;}
  .back:hover{background:var(--ink);color:#fff;}
  .hero{padding:54px 0 10px;}
  .eyebrow{font-family:'Inter',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--signal);margin-bottom:14px;}
  h1{font-family:'Sora',sans-serif;font-size:clamp(1.9rem,4.6vw,3rem);line-height:1.08;letter-spacing:-.015em;}
  .maj{font-family:'Inter',sans-serif;font-size:.8rem;color:var(--muted);margin-top:14px;}
  section{margin:46px 0 0;}
  h2{font-family:'Sora',sans-serif;font-size:1.35rem;letter-spacing:-.01em;margin-bottom:12px;}
  p, li{font-size:.98rem;color:#222;}
  section p + p{margin-top:10px;}
  ul{margin:10px 0 0 20px;}
  li{margin-bottom:6px;}
  .note{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin-top:14px;font-size:.92rem;color:var(--muted);}
  .note b{color:var(--ink);}
  a.inline{color:var(--signal);font-weight:600;}
  footer{margin-top:70px;padding:28px 0 40px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted);line-height:1.7;}
  .foot-bottom{
    display:flex;justify-content:space-between;align-items:center;gap:10px 24px;flex-wrap:wrap;
    margin-top:22px;padding-top:16px;border-top:1px solid var(--line);
  }
  .foot-bottom .copyright{color:var(--muted);}
  footer a{color:inherit;}

  /* ---------- Consentement témoins (Loi 25) ---------- */
  #consentBanner{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#0A0A0A;color:#fff;padding:18px 22px;display:none;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;box-shadow:0 -8px 30px rgba(0,0,0,.35);}
  #consentBanner.show{display:flex;}
  #consentBanner .cb-text{font-size:.86rem;color:#D6D6D6;max-width:62ch;line-height:1.5;}
  #consentBanner .cb-text b{color:#fff;}
  #consentBanner .cb-text a{color:#fff;font-weight:600;}
  #consentBanner .cb-actions{display:flex;gap:10px;flex-wrap:wrap;}
  #consentBanner button{font-family:'Inter',sans-serif;font-weight:700;font-size:.9rem;cursor:pointer;padding:12px 22px;border-radius:10px;min-width:120px;}
  #consentBanner .cb-accept{background:var(--signal);color:#fff;border:1.5px solid var(--signal);}
  #consentBanner .cb-refuse{background:transparent;color:#fff;border:1.5px solid #fff;}
  #consentBanner button:focus-visible{outline:3px solid #fff;outline-offset:2px;}
  ::selection{background:var(--ink);color:var(--bg);}
  h1,h2,h3{text-wrap:balance;}
  header nav{margin-left:auto;}
