
  :root{
    --ink:#0e162a;          /* marine A3BC (charte officielle) */
    --ink-soft:#4A5164;
    --paper:#FBFBF9;        /* warm paper white */
    --paper-2:#F2F1EC;      /* sand panel */
    --line:#E2E0D8;
    --accent:#e63250;       /* rose A3BC (charte officielle) */
    --accent-deep:#c2233d;
    --mint:#0F6E4F;         /* verified green, used sparingly */
    --font:"Times New Roman",Georgia,serif;          /* editorial display via serif numerals optional */
    --sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Inter",Segoe UI,Roboto,sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.45;overflow-x:hidden}
  ::selection{background:var(--accent);color:#fff}
  a{color:inherit}
  .wrap{max-width:1280px;margin:0 auto;padding:0 40px}
  @media(max-width:640px){.wrap{padding:0 22px}}

  /* ---------- two-tier header ---------- */
  header.bar{position:fixed;top:0;left:0;right:0;z-index:100;background:#FBFBF9;
    border-bottom:1px solid var(--line)}
  .bar-in{max-width:1280px;margin:0 auto;padding:0 40px;height:64px;display:flex;align-items:center;gap:40px}
  @media(max-width:640px){.bar-in{padding:0 16px;gap:14px}}
  .mark{font-family:var(--sans);font-weight:800;font-size:22px;letter-spacing:-.04em;text-decoration:none;color:var(--ink);display:flex;align-items:center}
  .mark .dot{color:var(--accent)}
  .nav{display:flex;gap:40px;margin-left:32px}
  .nav a{text-decoration:none;font-size:15px;font-weight:500;color:var(--ink-soft);letter-spacing:.01em;transition:color .2s;position:relative;padding:4px 0}
  .nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--accent);transition:width .25s}
  .nav a:hover{color:var(--ink)}.nav a:hover::after{width:100%}
  .dd{position:relative}
  .dd > .droplink{background:none;border:none;font:500 15px var(--sans);color:var(--ink-soft);cursor:pointer;padding:4px 0;display:inline-flex;align-items:center;gap:6px;transition:color .2s}
  .dd > .droplink::after{content:'⌄';font-size:13px;opacity:.7;transform:translateY(-2px)}
  .dd:hover > .droplink{color:var(--ink)}
  .dd .dropmenu{position:absolute;top:calc(100% + 14px);left:-18px;min-width:240px;background:var(--paper);border:1px solid var(--line);border-radius:3px;box-shadow:0 24px 50px -20px rgba(12,12,13,.22);padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.22s;z-index:30}
  .dd:hover .dropmenu,.dd:focus-within .dropmenu{opacity:1;visibility:visible;transform:none}
  .dd .dropmenu a{display:block;padding:12px 14px;border-radius:2px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;transition:background .2s}
  .dd .dropmenu a span{display:block;font-weight:400;font-size:12.5px;color:var(--ink-soft);margin-top:3px}
  .dd .dropmenu a:hover{background:var(--paper-2)}
  .bar-right{margin-left:auto;display:flex;align-items:center;gap:22px}
  .cta-sm{font-family:var(--sans);font-size:15px;font-weight:600;text-decoration:none;background:var(--ink);color:var(--paper);padding:10px 18px;border-radius:2px;transition:background .25s,transform .2s}
  .cta-sm:hover{background:var(--accent);transform:translateY(-1px)}
  .cta-txt{font-family:var(--sans);font-size:15px;font-weight:600;text-decoration:none;color:var(--ink-soft);padding:10px 4px;transition:color .2s}
  .cta-txt:hover{color:var(--ink)}
  .burger{display:none;width:40px;height:40px;border:1px solid var(--line);background:none;cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center;border-radius:2px}
  .burger span{width:17px;height:2px;background:var(--ink);transition:.3s}
  #navtoggle{display:none}
  #navtoggle:checked~.bar .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  #navtoggle:checked~.bar .burger span:nth-child(2){opacity:0}
  #navtoggle:checked~.bar .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mob{position:fixed;inset:65px 0 0;z-index:99;background:var(--paper);padding:30px 22px;display:flex;flex-direction:column;gap:4px;opacity:0;pointer-events:none;transform:translateY(-8px);transition:.3s;overflow-y:auto}
  #navtoggle:checked~.mob{opacity:1;pointer-events:auto;transform:none}
  .mob a{text-decoration:none;color:var(--ink);font-size:26px;font-weight:700;letter-spacing:-.02em;padding:14px 0;border-bottom:1px solid var(--line)}
  @media(max-width:980px){.nav,.bar-right .cta-sm,.bar-right .cta-txt{display:none}.burger{display:flex}}
  @media(max-width:400px){.lang-trigger{padding:7px 8px;gap:4px}}
  @media(min-width:981px){.mob{display:none}}

  /* ---------- editorial sections ---------- */
  section{padding:120px 0;position:relative}
  .klabel{font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px;margin-bottom:30px}
  .klabel::before{content:"";width:30px;height:1px;background:var(--accent)}
  .display{font-family:var(--sans);font-weight:800;letter-spacing:-.045em;line-height:.96;font-size:clamp(46px,9vw,124px)}
  .big{font-family:var(--sans);font-weight:800;letter-spacing:-.035em;line-height:1.02;font-size:clamp(34px,5.4vw,68px)}
  .sub{font-size:clamp(16px,1.5vw,18px);color:var(--ink-soft);max-width:620px;line-height:1.55;margin-top:26px}
  .rule{height:1px;background:var(--line);border:0;margin:0}

  /* ---------- HERO : manifesto ---------- */
  .hero{padding:176px 0 90px;border-bottom:1px solid var(--line)}
  .hero .display .em{color:var(--accent);font-style:italic;font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.02em}
  .hero .display .thin{-webkit-text-stroke:1.5px var(--ink);color:transparent}
  .hero-meta{display:flex;flex-wrap:wrap;gap:38px;margin-top:54px;align-items:flex-end;justify-content:space-between}
  .hero-actions{display:flex;gap:14px;flex-wrap:wrap}
  .btn{font-family:var(--sans);font-size:15px;font-weight:600;text-decoration:none;padding:15px 30px;border-radius:2px;cursor:pointer;border:1px solid var(--ink);transition:.25s;display:inline-flex;align-items:center;gap:10px}
  .btn-fill{background:var(--ink);color:var(--paper)}
  .btn-fill:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}
  .btn-out{background:none;color:var(--ink)}
  .btn-out:hover{background:var(--ink);color:var(--paper)}
  .hero-claim{max-width:420px;font-size:16px;color:var(--ink-soft);line-height:1.55}
  .hero-claim b{color:var(--ink);font-weight:700}

  /* ---------- ticker (institutional, not startup marquee) ---------- */
  .ticker{border-bottom:1px solid var(--line);background:var(--paper-2)}
  .ticker-in{display:flex;flex-wrap:wrap;gap:0;max-width:1280px;margin:0 auto}
  .tk{flex:1 1 25%;min-width:200px;padding:30px 40px;border-right:1px solid var(--line)}
  .tk:last-child{border-right:none}
  @media(max-width:760px){.tk{flex:1 1 50%}.tk:nth-child(2){border-right:none}}
  .tk .n{font-family:var(--sans);font-size:clamp(30px,3.6vw,46px);font-weight:800;letter-spacing:-.03em;line-height:1}
  .tk .n i{font-style:normal;color:var(--accent)}
  .tk .l{font-size:13px;color:var(--ink-soft);margin-top:10px;line-height:1.4}

  /* ---------- the 3 verbs (IDnow-style platform logic, reframed) ---------- */
  .verbs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:70px;border-top:2px solid var(--ink)}
  @media(max-width:860px){.verbs{grid-template-columns:1fr}}
  .verb{padding:44px 36px 40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:background .3s}
  .verb:last-child{border-right:none}
  .verb:hover{background:var(--paper-2)}
  .verb .vn{font-family:Georgia,serif;font-size:15px;color:var(--accent);font-weight:700}
  .verb h3{font-family:var(--sans);font-size:30px;font-weight:800;letter-spacing:-.02em;margin-top:18px}
  .verb p{color:var(--ink-soft);font-size:15px;margin-top:14px;line-height:1.6}
  .verb .tags{margin-top:22px;display:flex;flex-wrap:wrap;gap:7px}
  .verb .tags span{font-size:11.5px;font-weight:600;letter-spacing:.02em;padding:6px 11px;border:1px solid var(--line);border-radius:2px;color:var(--ink-soft)}

  /* ---------- big statement / objection ---------- */
  .statement{background:var(--ink);color:var(--paper);border:0}
  .statement .display{font-size:clamp(34px,5.6vw,82px)}
  .statement .display .em{color:#e63250;font-style:italic;font-family:Georgia,serif;font-weight:400}
  .statement p{max-width:680px;color:#B9B8B3;font-size:18px;line-height:1.6;margin-top:34px}
  .statement .mini{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:60px;max-width:840px}
  @media(max-width:680px){.statement .mini{grid-template-columns:1fr}}
  .statement .mini > div{border-top:1px solid rgba(255,255,255,.2);padding-top:18px}
  .statement .mini h4{font-size:16px;font-weight:700}
  .statement .mini p{font-size:14.5px;color:#9D9C97;margin-top:8px}

  /* .mini générique (fond clair), pour usage hors section .statement */
  .mini{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px;max-width:840px}
  @media(max-width:680px){.mini{grid-template-columns:1fr}}
  .mini > div{border-top:1px solid var(--line);padding-top:18px}
  .mini h4{font-size:16px;font-weight:700;color:var(--ink)}
  .mini p{font-size:14.5px;color:var(--ink-soft);margin-top:8px}

  /* ---------- products as editorial index ---------- */
  .index .row{display:grid;grid-template-columns:80px 1fr auto;gap:30px;align-items:center;padding:38px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:padding .3s,background .3s}
  .index .row:first-of-type{border-top:1px solid var(--ink);border-top-width:2px}
  .index .row:hover{padding-left:14px;background:var(--paper-2)}
  .index .row .ix{font-family:Georgia,serif;font-size:18px;color:var(--accent)}
  .index .row .ti h3{font-family:var(--sans);font-size:clamp(26px,3.4vw,40px);font-weight:800;letter-spacing:-.025em}
  .index .row .ti p{color:var(--ink-soft);font-size:15.5px;margin-top:8px;max-width:560px;line-height:1.5}
  .index .row .go{font-size:30px;color:var(--ink);transition:transform .3s,color .3s}
  .index .row:hover .go{transform:translateX(8px);color:var(--accent)}
  @media(max-width:680px){.index .row{grid-template-columns:1fr;gap:10px}.index .row .go{display:none}}

  /* ---------- steps (La Poste clarity) ---------- */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:64px}
  @media(max-width:860px){.steps{grid-template-columns:1fr}}
  .steps-cols-4{grid-template-columns:repeat(4,1fr)}
  @media(max-width:1080px){.steps-cols-4{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:640px){.steps-cols-4{grid-template-columns:1fr}}
  .stp{border-top:2px solid var(--ink);padding-top:26px}
  .stp .sn{font-family:Georgia,serif;font-size:46px;font-weight:400;line-height:1;color:var(--accent)}
  .stp h3{font-size:21px;font-weight:800;letter-spacing:-.015em;margin-top:18px}
  .stp p{color:var(--ink-soft);font-size:15px;margin-top:12px;line-height:1.6}

  /* ---------- sectors grid ---------- */
  .sectors{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:64px;border:1px solid var(--line)}
  @media(max-width:760px){.sectors{grid-template-columns:1fr}}
  .sct{padding:40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s}
  .sectors .sct:nth-child(7){border-right:none}
  .sct:nth-child(2n){border-right:none}
  .sct:hover{background:var(--paper-2)}
  .sct h3{font-size:22px;font-weight:800;letter-spacing:-.015em}
  .sct p{color:var(--ink-soft);font-size:14.5px;margin-top:12px;line-height:1.6}
  .sct ul{list-style:none;margin-top:18px;display:flex;flex-direction:column;gap:8px}
  .sct li{font-size:13.5px;color:var(--ink);padding-left:18px;position:relative}
  .sct li::before{content:"—";position:absolute;left:0;color:var(--accent)}

  /* ---------- clients ---------- */
  .clients{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .logo-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:54px;border:1px solid var(--line);background:var(--paper)}
  @media(max-width:760px){.logo-wall{grid-template-columns:repeat(2,1fr)}}
  .lw{aspect-ratio:5/2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px;text-align:center}
  .lw .cl{font-family:var(--sans);font-size:14px;font-weight:800;letter-spacing:.08em;color:var(--ink-soft)}
  .lw .cs{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#A9A8A2}
  .pull{margin-top:54px;display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:start;border-top:2px solid var(--ink);padding-top:40px}
  @media(max-width:680px){.pull{grid-template-columns:1fr}}
  .pull .q{font-family:Georgia,serif;font-size:90px;line-height:.5;color:var(--accent)}
  .pull blockquote{font-family:var(--sans);font-size:clamp(20px,2.6vw,30px);font-weight:700;letter-spacing:-.02em;line-height:1.32}
  .pull .by{margin-top:20px;font-size:14px;color:var(--ink-soft)}
  .pull .by b{color:var(--ink)}
  .note{margin-top:20px;font-size:11.5px;color:#A9A8A2}

  /* ---------- technology spec sheet ---------- */
  .spec{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:64px;border-top:2px solid var(--ink)}
  @media(max-width:760px){.spec{grid-template-columns:1fr!important}}
  .sp{padding:34px 36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
  @media(max-width:480px){.sp{padding:26px 22px}}
  .sp:nth-child(2n){border-right:none}
  .sp .code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--accent);text-transform:uppercase}
  .sp h3{font-size:19px;font-weight:800;letter-spacing:-.015em;margin-top:12px}
  .sp p{color:var(--ink-soft);font-size:14.5px;margin-top:12px;line-height:1.6}

  /* ---------- insights ---------- */
  .ins .row{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:.3s}
  .ins .row:first-of-type{border-top:2px solid var(--ink)}
  .ins .row:hover{padding-left:12px;color:var(--accent)}
  .ins .row{align-items:start}
  .ins .row h3{font-size:clamp(20px,2.4vw,28px);font-weight:700;letter-spacing:-.02em;max-width:820px}
  .ins .row .exc{color:var(--ink-soft);font-size:14.5px;line-height:1.55;margin-top:10px;max-width:720px}
  .ins .row .tag2{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
  .ins .row .rd{font-size:13px;color:var(--ink-soft);white-space:nowrap}

  /* ---------- FAQ ---------- */
  .faq{max-width:900px}
  .faq details{border-bottom:1px solid var(--line)}
  .faq details:first-child{border-top:2px solid var(--ink)}
  .faq summary{cursor:pointer;list-style:none;padding:26px 0;font-size:19px;font-weight:700;letter-spacing:-.01em;display:flex;justify-content:space-between;gap:20px}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"+";color:var(--accent);font-weight:400;font-size:26px;line-height:1}
  .faq details[open] summary::after{content:"–"}
  .faq .ans{padding:0 0 26px;color:var(--ink-soft);font-size:15.5px;line-height:1.7;max-width:760px}

  /* ---------- contact ---------- */
  .contact{background:var(--ink);color:var(--paper);border:0}
  .contact .display{font-size:clamp(36px,5.4vw,76px)}
  .contact .display .em{color:#e63250;font-style:italic;font-family:Georgia,serif;font-weight:400}
  .cgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;margin-top:60px;align-items:start}
  @media(max-width:860px){.cgrid{grid-template-columns:1fr;gap:40px}}
  .form{display:flex;flex-direction:column;gap:14px;max-width:440px}
  .form input,.form select{font:500 15px var(--sans);padding:16px 18px;background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:2px;outline:none;transition:border-color .2s}
  .form input::placeholder{color:#86857F}
  .form select{color:#B9B8B3}.form select option{color:var(--ink)}
  .form input:focus,.form select:focus{border-color:#e63250}
  .form .btn{justify-content:center;border-color:#fff;background:#fff;color:var(--ink);margin-top:6px}
  .form .btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
  .form small{color:#86857F;font-size:11.5px;line-height:1.5}
  .cinfo h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#86857F;margin:0 0 14px}
  .cinfo p{color:#D8D7D2;font-size:15px;line-height:1.7}
  .cinfo a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}
  .cinfo + .cinfo{margin-top:34px}

  /* ---------- footer ---------- */
  footer{padding:70px 0 44px;border-top:1px solid var(--line)}
  .fg{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
  @media(max-width:900px){.fg{grid-template-columns:1fr 1fr 1fr}}
  @media(max-width:760px){.fg{grid-template-columns:1fr 1fr}}
  @media(max-width:480px){.fg{grid-template-columns:1fr;gap:32px}}
  footer h5{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#A9A8A2;margin-bottom:16px}
  footer a{display:block;color:var(--ink-soft);text-decoration:none;margin-bottom:10px;font-size:14px;transition:color .2s}
  footer a:hover{color:var(--accent)}
  .fdesc{max-width:300px;color:var(--ink-soft);font-size:14px;line-height:1.6;margin-top:14px}
  .fbot{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#A9A8A2;font-size:12.5px}
  .fbot a{display:inline;margin-bottom:0}

  /* product detail */
  .pdetail{padding:110px 0;border-bottom:1px solid var(--line)}
  .pdetail .head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end}
  @media(max-width:860px){.pdetail .head{grid-template-columns:1fr;gap:24px}}
  .pdetail .pname{font-family:var(--sans);font-weight:800;letter-spacing:-.04em;font-size:clamp(40px,6.4vw,86px);line-height:.95}
  .ptag,.pdetail .ptag{font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
  .pdetail .plead{font-size:clamp(17px,1.8vw,20px);color:var(--ink-soft);line-height:1.55}
  .duo{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:60px;border-top:2px solid var(--ink)}
  @media(max-width:760px){.duo{grid-template-columns:1fr}}
  .duo > div{padding:36px 40px 38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .duo > div:last-child{border-right:none}
  .duo h4{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
  .duo p{font-size:15.5px;color:var(--ink);margin-top:14px;line-height:1.6;font-weight:500}
  .duo ul{list-style:none;margin-top:20px;display:flex;flex-direction:column;gap:10px}
  .duo li{font-size:14px;color:var(--ink-soft);padding-left:22px;position:relative;line-height:1.45}
  .duo li::before{content:"→";position:absolute;left:0;color:var(--accent);font-weight:700}
  .flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:60px;border-top:2px solid var(--ink)}
  @media(max-width:860px){.flow{grid-template-columns:1fr}}
  .flow.three{grid-template-columns:repeat(3,1fr)}
  @media(max-width:860px){.flow.three{grid-template-columns:1fr}}
  .fl{padding:32px 30px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .fl:last-child{border-right:none}
  .fl .fn{font-family:Georgia,serif;font-size:40px;line-height:1;color:var(--accent)}
  .fl h4{font-size:18px;font-weight:800;letter-spacing:-.01em;margin-top:16px}
  .fl p{font-size:14px;color:var(--ink-soft);margin-top:10px;line-height:1.55}
  .pclose{margin-top:46px;font-family:var(--sans);font-size:clamp(20px,2.6vw,30px);font-weight:800;letter-spacing:-.02em}
  .pdark{background:var(--ink);color:var(--paper)}
  .pdark .pname,.pdark .pclose{color:#fff}
  .pdark .plead{color:#B9B8B3}
  .pdark .duo{border-top-color:#fff}
  .pdark .duo > div{border-color:rgba(255,255,255,.18)}
  .pdark .duo p{color:#fff}
  .pdark .duo li{color:#9D9C97}
  .pdark .flow{border-top-color:#fff}
  .pdark .fl{border-color:rgba(255,255,255,.18)}
  .pdark .fl p{color:#9D9C97}
  .pdef{margin-top:48px;max-width:880px;font-size:clamp(16px,1.5vw,18px);line-height:1.6;color:var(--ink)}
  .pdef b{font-weight:700}
  .pdark .pdef{color:#EAE9E4}.pdark .pdef b{color:#fff}
  .pstrip{margin-top:34px;display:flex;flex-wrap:wrap;gap:10px}
  .pstrip span{font:600 12.5px ui-monospace,SFMono-Regular,Menlo,monospace;padding:8px 14px;border:1px solid var(--line);border-radius:2px;color:var(--ink-soft)}
  .pdark .pstrip span{border-color:rgba(255,255,255,.22);color:#B9B8B3}
  .ucases{margin-top:40px;border-top:1px solid var(--line);padding-top:24px}
  .pdark .ucases{border-top-color:rgba(255,255,255,.22)}
  .ucases .ut{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px}
  .pdark .ucases .ut{color:#9D9C97}
  .ucases .ulist{display:flex;flex-wrap:wrap;gap:8px}
  .ucases .ulist span{font-size:13px;font-weight:500;padding:8px 14px;border-radius:100px;background:var(--paper-2);color:var(--ink)}
  .pdark .ucases .ulist span{background:rgba(255,255,255,.08);color:#EAE9E4}

  /* article pages */
  .article{display:none;padding:150px 0 120px}
  .article:target{display:block}
  body.has-target .home-only{display:none}
  .art-wrap{max-width:760px;margin:0 auto;padding:0 40px}
  @media(max-width:640px){.art-wrap{padding:0 22px}}
  .art-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink-soft);text-decoration:none;margin-bottom:34px;transition:color .2s}
  .art-back:hover{color:var(--accent)}
  .art-cat{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
  .art-h1{font-family:var(--sans);font-weight:800;letter-spacing:-.035em;line-height:1.05;font-size:clamp(32px,5vw,56px);margin-top:18px}
  .art-meta{font-size:13.5px;color:var(--ink-soft);margin-top:18px;padding-bottom:26px;border-bottom:1px solid var(--line)}
  .art-body{margin-top:34px}
  .art-body h2{font-family:var(--sans);font-size:clamp(22px,2.8vw,30px);font-weight:800;letter-spacing:-.02em;margin:44px 0 14px}
  .art-body h3{font-size:19px;font-weight:700;margin:30px 0 10px}
  .art-body p{font-size:17px;line-height:1.72;color:var(--ink);margin-bottom:20px}
  .art-body ul{margin:0 0 22px;padding-left:0;list-style:none}
  .art-body li{font-size:16.5px;line-height:1.6;color:var(--ink);padding-left:24px;position:relative;margin-bottom:12px}
  .art-body li::before{content:"—";position:absolute;left:0;color:var(--accent);font-weight:700}
  .art-body .lead{font-size:20px;line-height:1.6;color:var(--ink-soft);font-weight:500;margin-bottom:30px}
  .art-foot{margin-top:50px;padding-top:30px;border-top:2px solid var(--ink);display:flex;gap:14px;flex-wrap:wrap}
  .art-disc{margin-top:30px;font-size:12.5px;color:#A9A8A2;font-style:italic}
  /* deck blocks */
  .whyw{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:60px;border-top:2px solid var(--ink)}
  @media(max-width:860px){.whyw{grid-template-columns:1fr}}
  .wc{padding:38px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .wc:last-child{border-right:none}
  .wc .wn{font-family:Georgia,serif;font-size:15px;color:var(--accent);font-weight:700}
  .wc h3{font-size:22px;font-weight:800;letter-spacing:-.02em;margin-top:14px}
  .wc p{color:var(--ink-soft);font-size:14.5px;margin-top:12px;line-height:1.6}
  .wc .fig{font-size:15px;font-weight:700;color:var(--ink);margin-top:16px}
  .window{margin-top:34px;background:var(--ink);color:var(--paper);border-radius:20px;padding:30px 34px}
  .window b{color:#e63250}
  .metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;border:1px solid var(--line);background:var(--paper)}
  @media(max-width:760px){.metrics{grid-template-columns:repeat(2,1fr)}}
  .met{padding:34px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .met:nth-child(4n){border-right:none}
  .met .mv{font-family:var(--sans);font-size:clamp(30px,3.4vw,44px);font-weight:800;letter-spacing:-.03em;line-height:1}
  .met .mv i{font-style:normal;color:var(--accent)}
  .met .ml{font-size:13px;color:var(--ink-soft);margin-top:10px;line-height:1.4}
  .flow2{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:56px}
  @media(max-width:760px){.flow2{grid-template-columns:1fr}}
  .loop{border:1px solid var(--line);border-radius:22px;padding:32px 30px;background:#fff}
  .loop h3{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
  .loop ol{list-style:none;margin-top:18px;counter-reset:l}
  .loop li{counter-increment:l;position:relative;padding:12px 0 12px 40px;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink);line-height:1.5}
  .loop li:last-child{border-bottom:none}
  .loop li::before{content:counter(l);position:absolute;left:0;top:11px;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
  .clientwall{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
  .clientwall span{font-size:13.5px;font-weight:600;color:var(--ink);padding:10px 16px;border:1px solid var(--line);border-radius:100px;background:#fff}
  .clientwall span.anchor{border-color:var(--accent);color:var(--accent)}
  .kya-flow{display:flex;gap:14px;flex-wrap:wrap;margin-top:44px}
  .kya-step{flex:1 1 200px;border:1px solid var(--line);border-radius:18px;padding:26px 24px;background:#fff}
  .kya-step .ks{font-family:Georgia,serif;font-size:14px;color:var(--accent);font-weight:700}
  .kya-step h4{font-size:17px;font-weight:800;margin-top:10px}
  .kya-step p{font-size:13.5px;color:var(--ink-soft);margin-top:8px;line-height:1.5}
  .kya-quote{margin-top:40px;border-left:3px solid var(--accent);padding:16px 26px;font-family:Georgia,serif;font-style:italic;font-size:19px;line-height:1.5;color:var(--ink);max-width:820px}
  .kya-quote .by{display:block;font-family:var(--sans);font-style:normal;font-size:13px;color:var(--ink-soft);margin-top:12px}
  /* --- product screenshot frames --- */
  .shotrow{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start;margin-top:56px}
  @media(max-width:900px){.shotrow{grid-template-columns:1fr!important}.shotrow .phoneframe{margin:0 auto}}
  .phoneframe{width:300px;height:633px;aspect-ratio:9/19;background:var(--ink);border-radius:44px;padding:12px;box-shadow:0 40px 80px -30px rgba(12,12,13,.35);position:relative;flex:0 0 auto}
  .phoneframe::before{content:"";position:absolute;top:24px;left:50%;transform:translateX(-50%);width:90px;height:26px;background:var(--ink);border-radius:14px;z-index:3}
  .phoneframe .screen{width:100%;height:100%;border-radius:34px;overflow:hidden;background:var(--paper-2);position:relative}
  .phoneframe .screen img{width:100%;height:100%;object-fit:cover;display:block}
  .browserframe{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 34px 70px -34px rgba(12,12,13,.25);margin-top:48px}
  .browserframe .bbar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--paper-2);border-bottom:1px solid var(--line)}
  .browserframe .bbar .dots{display:flex;gap:6px}
  .browserframe .bbar .dots span{width:10px;height:10px;border-radius:50%;background:#D9D7CF}
  .browserframe .bbar .url{flex:1;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 14px;font:500 12px ui-monospace,Menlo,monospace;color:var(--ink-soft)}
  .browserframe .bscreen{height:0;padding-bottom:59.4%;aspect-ratio:16/9.5;position:relative;background:var(--paper-2)}
  .browserframe .bscreen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;display:block}
  .pdark .browserframe{border-color:rgba(255,255,255,.18);background:var(--ink)}
  .pdark .browserframe .bbar{background:rgba(255,255,255,.06);border-bottom-color:rgba(255,255,255,.14)}
  .pdark .browserframe .bbar .url{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#B9B8B3}
  .pdark .browserframe .bscreen{background:#101a2e}
  .ph-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:26px;border:2px dashed #C9C7BF;border-radius:inherit;margin:10px}
  .pdark .ph-empty{border-color:rgba(255,255,255,.25)}
  .ph-empty .pht{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
  .pdark .ph-empty .pht{color:#B9B8B3}
  .ph-empty .phs{font:500 11.5px ui-monospace,Menlo,monospace;color:#A9A8A2;line-height:1.6}
  .shotcap{font-size:12.5px;color:#A9A8A2;margin-top:12px;text-align:center}
  .skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 20px;z-index:200;font-weight:700;font-size:14px;border-radius:0 0 8px 0}
  .skip:focus{left:0}
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,label:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
  /* reveal */
  .js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.65,.2,1),transform .8s cubic-bezier(.2,.65,.2,1)}
  .js .rv.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}
  
  section{scroll-margin-top:80px}

  /* ---------- additions v3 : sécurité formulaire, confiance, articles réels ---------- */
  .hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
  .backedby{margin-top:22px;font-size:13px;color:var(--ink-soft)}
  .backedby b{color:var(--ink);font-weight:700}
  .form-note{font-size:12px;color:#A9A8A2;margin-top:6px}
  .form-error{display:none;font-size:12.5px;color:var(--accent-deep);margin-top:8px}
  .form-error.show{display:block}
  .breadcrumb{font-size:13px;color:var(--ink-soft);margin-bottom:18px}
  .breadcrumb a{color:var(--ink-soft);text-decoration:none}
  .breadcrumb a:hover{color:var(--accent)}
  .insight-grid .row{cursor:pointer}
  footer a[rel~="noreferrer"]{text-decoration:none}

  /* ---------- accueil v5 : confiance, FranceConnect, solutions succinctes, enjeux ---------- */
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
  @media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:36px}}
  .hero-visual{display:flex;justify-content:center;align-items:center}
  .hero-visual img{width:100%;max-width:520px;height:auto}
  @media(max-width:980px){.hero-visual{order:-1}.hero-visual img{max-width:260px}}

  .trust-section{padding:52px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2)}
  .trust-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:22px;text-align:center}
  .trust-row{display:flex;flex-wrap:wrap;gap:34px;justify-content:center;align-items:center}
  .trust-row span{font-family:var(--sans);font-weight:700;font-size:15px;color:var(--ink-soft);letter-spacing:-.01em;opacity:.85;transition:opacity .2s,color .2s}
  .trust-row span:hover{opacity:1;color:var(--ink)}
  .trust-row .anchor{color:var(--ink);opacity:1;padding:6px 14px;border:1px solid var(--ink);border-radius:20px;font-size:13.5px}

  .fc-section{padding:76px 0}
  .fc-grid{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;background:var(--paper-2);border:1px solid var(--line);border-radius:22px;padding:38px 40px}
  @media(max-width:760px){.fc-grid{grid-template-columns:1fr;text-align:center}}
  .fc-grid img{width:64px;height:64px}
  .fc-grid h3{font-size:21px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}
  .fc-grid p{color:var(--ink-soft);font-size:14.5px;line-height:1.65;max-width:680px}
  .fc-grid .fc-stats{display:flex;gap:26px;margin-top:14px;flex-wrap:wrap}
  @media(max-width:760px){.fc-grid .fc-stats{justify-content:center}}
  .fc-grid .fc-stat b{display:block;font-size:22px;font-weight:800;color:var(--ink)}
  .fc-grid .fc-stat span{font-size:12px;color:var(--ink-soft)}

  .solu-card{padding:36px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}
  .solu-card:hover{background:var(--paper-2)}
  @media(max-width:820px){.solu-card{border-right:none}}
  .solu-card img{width:40px;height:40px;margin-bottom:18px}
  .solu-card h3{font-size:19px;font-weight:800;letter-spacing:-.015em;margin-bottom:10px}
  .solu-card p{color:var(--ink-soft);font-size:14px;line-height:1.6;margin-bottom:16px}
  .solu-card a{font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--accent);padding-bottom:1px}
  .solu-card a:hover{color:var(--accent)}

  .enjeu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:44px}
  @media(max-width:980px){.enjeu-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.enjeu-grid{grid-template-columns:1fr}}
  .enjeu-grid-3{grid-template-columns:repeat(3,1fr)}
  @media(max-width:980px){.enjeu-grid-3{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.enjeu-grid-3{grid-template-columns:1fr}}
  .enjeu-card{padding:26px 22px;background:var(--paper-2);border-radius:16px}
  .enjeu-card img{width:34px;height:34px;margin-bottom:14px}
  .enjeu-card h4{font-size:15.5px;font-weight:800;letter-spacing:-.01em;margin-bottom:8px}
  .enjeu-card p{color:var(--ink-soft);font-size:13.5px;line-height:1.55}

  /* ---------- v6 : confiance renforcée, chiffres, mission, secteurs horizontaux ---------- */
  .trust-section-dark{padding:56px 0;background:var(--ink)}
  .trust-section-dark .trust-label{color:#B9B8B3;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:28px;text-align:center}
  .trust-row-dark{display:flex;flex-wrap:wrap;gap:0;justify-content:center;align-items:center}
  .trust-row-dark span{font-family:var(--sans);font-weight:800;font-size:18px;color:#FBFBF9;letter-spacing:-.01em;padding:10px 28px;position:relative}
  .trust-row-dark span:not(:last-child)::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:18px;background:rgba(255,255,255,.18)}
  .trust-row-dark .anchor{color:#fff;background:var(--accent);border-radius:20px;padding:8px 20px;font-size:15px}
  @media(max-width:760px){.trust-row-dark span{font-size:15px;padding:8px 16px}}

  .stats-section{padding:80px 0}
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px;border:1px solid var(--line)}
  @media(max-width:820px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
  .stat-box{padding:38px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
  .stats-grid .stat-box:nth-child(4n){border-right:none}
  @media(max-width:820px){.stats-grid .stat-box:nth-child(2n){border-right:none}.stats-grid .stat-box:nth-child(4n){border-right:1px solid var(--line)}}
  .stat-box .sv{font-family:var(--sans);font-weight:800;font-size:clamp(30px,4vw,44px);letter-spacing:-.03em;color:var(--ink)}
  .stat-box .sv i{font-style:normal;color:var(--accent)}
  .stat-box .sl{font-size:13.5px;color:var(--ink-soft);margin-top:10px;line-height:1.5}

  .mission-section{padding:80px 0;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

  .sect-h{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:44px;border:1px solid var(--line)}
  @media(max-width:820px){.sect-h{grid-template-columns:1fr!important}}

  /* correction contraste : boutons sur fond sombre (section .contact hors formulaire) */
  .contact .final-cta-actions .btn-fill{background:#fff;color:var(--ink);border-color:#fff}
  .contact .final-cta-actions .btn-fill:hover{background:var(--accent);border-color:var(--accent);color:#fff}
  .contact .final-cta-actions .btn-out{background:none;color:#fff;border-color:#fff}
  .contact .final-cta-actions .btn-out:hover{background:#fff;color:var(--ink)}

  /* ---------- v7 : accroche hero (tagline courte sous le H1) ---------- */
  .hero-tagline{font-family:var(--sans);font-size:clamp(18px,2vw,22px);font-weight:700;letter-spacing:-.01em;color:var(--ink);margin-top:22px;max-width:460px;line-height:1.35}

  /* ---------- v8 : signature de marque sous le logo (footer) ---------- */
  .brand-signature{font-family:var(--font);font-style:italic;font-size:15px;color:var(--ink-soft);margin-top:10px;margin-bottom:6px}

  /* ---------- v9 : vrai logo A3BC (image) dans le mark ---------- */
  .mark img{height:30px;width:auto;display:block}
  @media(max-width:480px){.mark img{height:40px}}
  footer .mark img{height:26px}

  /* ---------- page Plateforme (v10) : nouvelles sections techniques ---------- */
  .pillars5{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:44px}
  @media(max-width:1080px){.pillars5{grid-template-columns:repeat(3,1fr)}}
  @media(max-width:640px){.pillars5{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:480px){.pillars5{grid-template-columns:1fr}}
  .pillar{padding:26px 20px;background:var(--paper-2);border-radius:16px}
  .pillar img{width:34px;height:34px;margin-bottom:14px}
  .pillar h4{font-size:15px;font-weight:800;letter-spacing:-.01em;margin-bottom:8px;line-height:1.3}
  .pillar p{color:var(--ink-soft);font-size:13px;line-height:1.55}
  .tags-lg{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
  .tags-lg span{font-size:13.5px;font-weight:600;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);padding:8px 16px;border-radius:20px}

/* ---------- Hugo build: variante 3 colonnes pour .spec ---------- */
.spec-cols-3 .sp:nth-child(2n){border-right:1px solid var(--line)}
.spec-cols-3 .sp:nth-child(3n){border-right:none}

/* Liens dans .clientwall : même apparence que les pastilles, comportement de lien en plus */
.clientwall a{font-size:13.5px;font-weight:600;color:var(--ink);padding:10px 16px;border:1px solid var(--line);border-radius:100px;background:#fff;text-decoration:none;transition:border-color .2s,color .2s}
.clientwall a:hover{border-color:var(--accent);color:var(--accent)}

/* ---------- Mur de logos partenaires/investisseurs ---------- */
.logowall{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:24px}
@media(max-width:980px){.logowall{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.logowall{grid-template-columns:repeat(3,1fr)}}
.logowall a{display:flex;align-items:center;justify-content:center;height:84px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px;transition:border-color .2s,box-shadow .2s,transform .2s}
.logowall a:hover{border-color:var(--accent);box-shadow:0 10px 22px -14px rgba(14,22,42,.25);transform:translateY(-2px)}
.logowall img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}

/* ---------- Logo pond clair sur fond sombre (accueil) ---------- */
.trust-logopond{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;max-width:900px;margin:0 auto}
.trust-logopond a{display:flex;align-items:center;justify-content:center;width:150px;height:72px;padding:14px;background:#fff;border-radius:10px;transition:transform .2s}
.trust-logopond a:hover{transform:translateY(-2px)}
.trust-logopond img{max-width:100%;max-height:100%;object-fit:contain}
.trust-more{display:block;text-align:center;margin-top:26px;font-size:13.5px;font-weight:700;color:#B9B8B3;text-decoration:none}
.trust-more:hover{color:#fff}

/* ---------- Bannière cookies (informative, pas de consentement à collecter) ---------- */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--ink);border-top:1px solid rgba(255,255,255,.15);box-shadow:0 -8px 24px -12px rgba(0,0,0,.3)}
.cookie-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 40px}
@media(max-width:760px){.cookie-banner-inner{flex-direction:column;align-items:flex-start;gap:14px;padding:16px 22px}}
.cookie-banner p{color:#EAE9E4;font-size:13.5px;line-height:1.55;margin:0;max-width:820px}
.cookie-banner p a{color:#fff;text-decoration:underline}
.cookie-banner .btn{flex-shrink:0;padding:10px 20px;font-size:13.5px}

/* ---------- Switcher de langue (bouton + menu déroulant) ---------- */
.lang-switch{position:relative}
.lang-trigger{display:flex;align-items:center;gap:6px;padding:7px 11px;background:#fff;border:1px solid var(--line);border-radius:100px;font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s}
.lang-trigger:hover{border-color:var(--ink);background:var(--paper-2)}
.lang-trigger svg{flex-shrink:0}
.lang-caret{transition:transform .2s;margin-left:1px}
.lang-switch.open .lang-caret{transform:rotate(180deg)}
.lang-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:130px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 32px -14px rgba(14,22,42,.25);padding:6px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s,transform .18s,visibility .18s;z-index:120}
.lang-switch.open .lang-menu{opacity:1;visibility:visible;transform:translateY(0)}
.lang-item{display:block;padding:9px 12px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--ink-soft);text-decoration:none;transition:background .15s,color .15s}
.lang-item:hover{background:var(--paper-2);color:var(--ink)}
.lang-item-cur{color:var(--ink);background:var(--paper-2);cursor:default}
.mob-lang{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.mob-lang .lang-trigger{background:var(--paper-2)}
.mob-lang .lang-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:8px 0 0;margin-top:8px;display:none}
.mob-lang .lang-switch.open .lang-menu{display:block}

/* ---------- Tableaux : grille avec en-têtes en gras alignés à gauche ---------- */
table{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;border-collapse:collapse;width:100%}
th,td{border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}
th{font-weight:700;color:var(--ink);background:var(--paper-2)}

/* ---------- Liens et texte long : cassure de mot si nécessaire (URLs) ---------- */
main a{overflow-wrap:break-word;word-break:break-word}

/* ---------- Cycle de vie de l'identité (page Plateforme) ---------- */
.lifecycle{display:flex;flex-direction:column;margin-top:56px;max-width:760px}
.lc-step{display:flex;gap:24px;align-items:flex-start;padding:24px 0;border-top:1px solid var(--line)}
.lc-step:last-child{border-bottom:1px solid var(--line)}
.lc-n{flex:0 0 auto;width:40px;height:40px;border-radius:100px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.lc-step h4{font-size:17px;font-weight:800;color:var(--ink)}
.lc-step p{font-size:14.5px;color:var(--ink-soft);margin-top:4px;line-height:1.6}

/* ---------- Solutions en triangle (accueil) : Platform au-dessus, TrustMe + Check TrustMe dessous ---------- */
.solu-pyramid{margin-top:44px;display:flex;flex-direction:column;align-items:center;gap:0;border:1px solid var(--line);border-radius:2px;overflow:hidden}
.solu-top{width:56%;margin:0 auto;border-bottom:1px solid var(--line);background:var(--paper-2);text-align:center}
.solu-top .solu-card img{margin:0 auto}
@media(max-width:640px){.solu-top{width:100%}}
.solu-bottom{width:100%;display:grid;grid-template-columns:repeat(2,1fr)}
.solu-bottom .solu-card{border-right:1px solid var(--line)}
.solu-bottom .solu-card:last-child{border-right:none}
@media(max-width:640px){.solu-bottom{grid-template-columns:1fr}.solu-bottom .solu-card{border-right:none;border-bottom:1px solid var(--line)}.solu-bottom .solu-card:last-child{border-bottom:none}}

/* ---------- 4 fonctions principales (page Plateforme) ---------- */
.verbs-4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px;border-top:2px solid var(--ink)}
@media(max-width:860px){.verbs-4{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:480px){.verbs-4{grid-template-columns:1fr!important}}

/* ---------- Relations (page Plateforme) : variante 4 colonnes des pillars ---------- */
.pillars4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:20px}
@media(max-width:1080px){.pillars4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.pillars4{grid-template-columns:1fr}}

/* ---------- Menu mobile : groupes avec libellé de catégorie ---------- */
.mob-group{border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:6px;display:flex;flex-direction:column}
.mob-group-label{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);padding:16px 0 4px}
.mob-group .mob-sub{display:block;border-bottom:none;padding:10px 0 10px 14px;font-size:21px}
.mob-group .mob-sub:last-child{padding-bottom:14px}

/* ---------- Pages légales : espacement cohérent ---------- */
.legal-content{font-size:16px;line-height:1.7;color:var(--ink)}
.legal-content h2{font-size:22px;font-weight:700;margin:48px 0 16px;color:var(--ink)}
.legal-content h2:first-child{margin-top:0}
.legal-content p{margin:0 0 20px}
.legal-content p:last-child{margin-bottom:0}
.legal-content ul,.legal-content ol{margin:0 0 20px;padding-left:24px}
.legal-content li{margin-bottom:8px}
.legal-content table{margin:24px 0;width:100%;border-collapse:collapse}
.legal-content th,.legal-content td{border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}
.legal-content th{font-weight:700;background:var(--paper-2)}
.legal-content strong{font-weight:700}
.legal-content a{color:var(--accent)}

/* ---------- Mur de partenaires : défilement continu, pause au survol ---------- */
.logowall-marquee{overflow:hidden;margin-top:24px;-webkit-mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent)}
.logowall-track{display:flex;gap:14px;width:max-content;animation:logowall-scroll 45s linear infinite}
.logowall-marquee:hover .logowall-track{animation-play-state:paused}
.logowall-track a{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:160px;height:84px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px;transition:border-color .2s,box-shadow .2s,transform .2s}
.logowall-track a:hover{border-color:var(--accent);box-shadow:0 10px 22px -14px rgba(14,22,42,.25);transform:translateY(-2px)}
.logowall-track img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
@keyframes logowall-scroll{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(max-width:640px){.logowall-track a{width:130px;height:72px}}
@media(prefers-reduced-motion:reduce){.logowall-track{animation:none}}
