:root{
    --bg:#f3f2ee;--ink:#0a1020;--ink-2:rgba(10,16,32,0.64);--ink-3:rgba(10,16,32,0.44);
    --stat:#11244f;--accent:#3a64c8;--accent-2:#5d82d8;--accent-soft:rgba(58,100,200,0.07);
    --line:rgba(17,36,79,0.12);--line-2:rgba(17,36,79,0.20);--green:#2f8a5a;--card:#ffffff;
    --navy:#02050d;--navy-2:#00052b;--mark-dot:#668feb;--sheen:#6baaff;--hi:#cfe0ff;--d-ink:#eaf0ff;
    --motif:url('/doc-assets/motif.jpg');
    --col:760px;--pad:max(22px, calc((100% - var(--col)) / 2));
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;font-size:16.5px;font-weight:400;line-height:1.64;letter-spacing:-0.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}

  /* --- EN-TÊTE IMMERSIF --- */
  .hero{position:relative;min-height:clamp(380px,52vh,540px);padding:30px var(--pad) 46px;display:flex;flex-direction:column;justify-content:space-between;color:var(--d-ink);background:linear-gradient(180deg, rgba(2,5,13,0.58) 0%, rgba(2,5,13,0.10) 24%, rgba(0,5,43,0.42) 62%, rgba(2,5,13,0.93) 100%), var(--motif) center 44% / cover no-repeat, var(--navy);}
  .hero-top{display:flex;justify-content:space-between;align-items:center;gap:16px;}
  .hero-kicker{font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--sheen);margin-bottom:16px;}
  .hero h1{font-weight:300;font-size:clamp(2.1rem,4.8vw,3.7rem);line-height:1.07;letter-spacing:-0.02em;color:#f6f9ff;margin:0 0 18px;text-shadow:0 2px 40px rgba(0,8,42,0.55);}
  .hero .deck{font-weight:300;font-size:clamp(1.02rem,2vw,1.26rem);line-height:1.46;color:rgba(234,240,255,0.88);max-width:56ch;margin:0;text-shadow:0 1px 20px rgba(0,8,42,0.5);}

  /* --- EN-TÊTE BANDEAU --- */
  .full-bandeau{width:100%;color:var(--d-ink);background:linear-gradient(180deg,rgba(2,5,13,0.38),rgba(2,5,13,0.86)),var(--motif) center 44%/cover;}
  .full-bandeau .fh-in{padding:22px var(--pad);display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
  .full-bandeau .fh-k{font-size:10.5px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--sheen);margin-bottom:7px;}
  .full-bandeau .fh-title{font-weight:300;font-size:clamp(1.3rem,2.6vw,1.7rem);color:#f6f9ff;letter-spacing:-0.015em;line-height:1.1;}

  /* --- EN-TÊTE FILET --- */
  .full-filet{width:100%;color:var(--d-ink);background:var(--navy);border-bottom:2px solid var(--accent);}
  .full-filet .fh-in{padding:20px var(--pad) 18px;}
  .full-filet .fh-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:9px;}
  .full-filet .fh-type{font-size:10.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--sheen);}
  .full-filet .fh-title{font-weight:300;font-size:clamp(1.3rem,2.6vw,1.7rem);color:#f6f9ff;letter-spacing:-0.015em;line-height:1.1;}

  .mark{font-size:12px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:#fff;text-decoration:none;transition:opacity .15s ease;}
  a.mark:hover{opacity:.72;}
  .mark .dot{color:var(--mark-dot);}
  .hero-top .tag{font-size:10.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(202,216,244,0.72);}

  /* Fil d'Ariane : bandeau sombre (couleur en-tête), texte clair inversé — il se
     fond avec le header juste en dessous. Accueil → Espace investisseurs → [doc]. */
  .crumbs{display:flex;justify-content:space-between;align-items:center;gap:12px 16px;flex-wrap:wrap;background:var(--navy);padding:12px var(--pad);font-size:12.5px;line-height:1.4;}
  .crumb-trail{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:rgba(202,216,244,0.5);}
  .crumbs a{color:rgba(214,226,248,0.78);text-decoration:none;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease;}
  .crumbs a:hover{color:#fff;border-color:rgba(255,255,255,0.55);}
  .crumb-sep{color:rgba(202,216,244,0.38);}
  .crumb-here{color:var(--d-ink);font-weight:500;}
  .crumb-admin{color:#eaf0ff;font-weight:500;letter-spacing:.02em;border:1px solid rgba(214,226,248,0.3);border-radius:999px;padding:5px 14px;}
  .crumb-admin:hover{color:#fff;background:rgba(214,226,248,0.12);border-color:rgba(214,226,248,0.6);}

  /* Sommaire (hub investisseurs) — index cliquable vers chaque chapitre. */
  .toc{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(17,36,79,0.06);padding:22px 26px;}
  .toc-title{font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;}
  .toc-list{list-style:none;margin:0;padding:0;counter-reset:toc;}
  .toc-list li{counter-increment:toc;border-top:1px solid var(--line);}
  .toc-list li:first-child{border-top:none;}
  .toc-list a{display:flex;align-items:baseline;gap:10px 14px;flex-wrap:wrap;padding:12px 0;text-decoration:none;color:var(--ink);transition:color .15s ease;}
  .toc-list a::before{content:counter(toc,decimal-leading-zero);font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--accent);min-width:1.6em;}
  .toc-k{font-weight:600;}
  .toc-h{color:var(--ink-2);font-size:14.5px;}
  .toc-list a:hover,.toc-list a:hover .toc-k{color:var(--accent);}
  .band.part{scroll-margin-top:18px;}

  /* --- STRUCTURE --- */
  .band{padding:50px var(--pad);}
  .band.tight{padding-top:40px;}
  p{margin:0 0 16px;}
  strong{font-weight:600;color:var(--ink);}
  em{font-style:italic;}
  .num{font-variant-numeric:tabular-nums;letter-spacing:0;}
  .lead{font-size:17.5px;line-height:1.68;margin:0 0 16px;}
  .em{color:var(--accent);font-weight:600;}
  .lead .em{color:var(--accent);font-weight:500;}
  .part{padding-top:46px;border-top:1px solid var(--line);}
  .part-tag{font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:13px;}
  h2{font-weight:300;font-size:clamp(1.55rem,3vw,2.1rem);line-height:1.12;letter-spacing:-0.015em;color:var(--ink);margin:0 0 10px;}
  .part-sub{color:var(--ink-2);font-size:15.5px;max-width:62ch;margin:0;}
  h3{font-weight:500;font-size:1.3rem;letter-spacing:-0.012em;color:var(--stat);margin:42px 0 12px;}

  /* --- COMPOSANTS --- */
  .cases{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0;}
  .case{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(17,36,79,0.06);padding:24px 24px 20px;}
  .case-num{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
  .case h4{font-weight:500;font-size:1.06rem;line-height:1.25;color:var(--stat);margin:0 0 16px;}
  .case ul{margin:0;padding:0;list-style:none;}
  .case li{font-size:14.5px;line-height:1.5;padding:0 0 11px 18px;position:relative;color:var(--ink);}
  .case li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:1.5px;background:var(--accent-2);}

  .path{position:relative;overflow:hidden;margin:36px 0 8px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 40px rgba(17,36,79,0.07);padding:28px 28px 24px;}
  .path::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg, rgba(58,100,200,0.045) 0 1px, transparent 1px 26px);}
  .path-inner{position:relative;z-index:1;}
  .path-title{font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 24px;}
  .node{position:relative;padding:0 0 0 30px;}
  .node::before{content:"";position:absolute;left:6px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(58,100,200,0.12);}
  .node::after{content:"";position:absolute;left:10.5px;top:15px;width:1px;height:calc(100% - 8px);background:linear-gradient(var(--accent-2),rgba(93,130,216,0.25));}
  .node:last-child::after{display:none;}
  .node-label{font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px;}
  .node-body{font-size:15px;line-height:1.5;padding-bottom:22px;color:var(--ink);}
  .node-body b{font-weight:600;color:var(--stat);}
  .node.never::before{background:#fff;border:2px solid var(--line-2);box-shadow:none;}
  .node.never .node-body{color:var(--ink-2);}
  .node.guard::before{background:var(--sheen);box-shadow:0 0 0 4px rgba(107,170,255,0.18);}
  .cross{color:var(--ink-3);font-weight:600;}

  .figrow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0 4px;}
  .fig{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 20px rgba(17,36,79,0.05);padding:18px 18px 16px;}
  .fig .v{font-weight:400;font-size:1.35rem;color:var(--stat);font-variant-numeric:tabular-nums;letter-spacing:-0.01em;margin-bottom:5px;line-height:1.1;}
  .fig .k{font-size:12.5px;line-height:1.38;color:var(--ink-2);}

  .law{margin:30px 0 24px;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 16px 16px 0;padding:22px 24px;}
  .law-eq{font-size:1.18rem;font-weight:400;color:var(--accent);letter-spacing:-0.01em;line-height:1.3;margin-bottom:10px;font-variant-numeric:tabular-nums;}
  .law-eq b{color:var(--stat);font-weight:600;}
  .law-why{font-size:14px;color:var(--ink-2);margin:0;line-height:1.5;}

  .tbl-wrap{margin:24px 0;overflow-x:auto;}
  table.cov{width:100%;border-collapse:collapse;font-size:14.5px;font-variant-numeric:tabular-nums;min-width:480px;}
  table.cov th{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);text-align:right;padding:0 14px 10px;border-bottom:1.5px solid var(--stat);white-space:nowrap;}
  table.cov th:first-child{text-align:left;}
  table.cov td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;color:var(--ink);}
  table.cov td:first-child{text-align:left;font-weight:500;}
  table.cov .cvr{font-weight:600;color:var(--accent);}
  table.cov .st{color:var(--stat);font-weight:500;}
  table.cov .pos{color:var(--green);font-weight:600;}
  table.cov .neg{color:var(--stat);}
  table.cov tr.par{background:rgba(58,100,200,0.09);}
  table.cov tr.par td{border-bottom:1px solid var(--accent);}
  .flag{font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-left:6px;}

  /* specs (term sheet / juridique) */
  .spec-list{margin:18px 0;border-top:1px solid var(--line);}
  .spec{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px;}
  .spec .k{color:var(--ink-2);}
  .spec .v{color:var(--stat);font-weight:500;text-align:right;font-variant-numeric:tabular-nums;}

  .note{background:var(--accent-soft);border-left:2px solid var(--accent);border-radius:0 16px 16px 0;padding:18px 22px;margin:26px 0;}
  .note .tag{font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:7px;}
  .note p{margin:0;font-size:15px;line-height:1.56;color:var(--ink);}

  .caps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:24px 0;}
  .cap{background:var(--card);border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:0 0 16px 16px;box-shadow:0 6px 18px rgba(17,36,79,0.05);padding:18px 16px 15px;}
  .cap .cap-k{font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
  .cap .pct{font-size:1.7rem;font-weight:300;color:var(--stat);line-height:1;margin-bottom:9px;font-variant-numeric:tabular-nums;}
  .cap .cap-d{font-size:13px;line-height:1.44;color:var(--ink);}
  /* mini-bannières chiffres-clés : MOTIF de marque en fond + gros nombre blanc */
  .caps-motif{margin:26px 0;}
  .caps-motif .cap{position:relative;overflow:hidden;background:linear-gradient(160deg,rgba(2,5,13,0.5),rgba(2,5,13,0.9)),var(--motif) center/cover no-repeat;border:0;border-radius:16px;box-shadow:0 14px 34px rgba(2,5,13,0.22);color:#fff;padding:22px 18px 18px;}
  .caps-motif .cap .cap-k{color:var(--sheen);}
  .caps-motif .cap .pct{color:#fff;font-weight:400;font-size:2rem;}
  .caps-motif .cap .cap-d{color:rgba(234,240,255,0.85);}
  /* encadré « mémo complet » entièrement cliquable (lien intégré) */
  a.memo-cta{display:block;text-decoration:none;background:var(--accent-soft);border:1px solid var(--line-2);border-left:3px solid var(--accent);border-radius:0 16px 16px 0;padding:18px 22px;margin:26px 0;transition:box-shadow .2s ease,transform .2s ease;}
  a.memo-cta:hover{box-shadow:0 14px 34px rgba(17,36,79,0.12);transform:translateY(-1px);}
  .memo-cta .tag{font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:7px;}
  .memo-cta-txt{font-size:15px;line-height:1.56;color:var(--ink);}
  .memo-cta strong{color:var(--ink);}
  .memo-cta-go{display:inline-flex;align-items:center;gap:.4em;margin-top:11px;color:var(--accent);font-weight:600;font-size:14px;}
  a.memo-cta:hover .memo-cta-go{text-decoration:underline;}

  .nuance{margin:22px 0;}
  .nuance-item{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--line);}
  .nuance-item:last-child{border-bottom:1px solid var(--line);}
  .nuance-n{font-size:1.6rem;font-weight:300;color:var(--accent);line-height:1;font-variant-numeric:tabular-nums;}
  .nuance-b{font-size:15px;line-height:1.56;color:var(--ink);}
  .nuance-b strong{display:block;margin-bottom:3px;color:var(--stat);}

  /* --- FRISE CHRONOLOGIQUE (timeline) --- */
  .tl{position:relative;margin:30px 0 12px;padding-left:30px;}
  .tl::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:1px;background:linear-gradient(var(--accent-2),rgba(93,130,216,0.22));}
  .tl-item{position:relative;padding:0 0 26px 0;}
  .tl-item:last-child{padding-bottom:2px;}
  .tl-item::before{content:"";position:absolute;left:-30px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(58,100,200,0.12);}
  .tl-mark{font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:5px;font-variant-numeric:tabular-nums;}
  .tl-title{font-weight:600;font-size:1.02rem;line-height:1.28;color:var(--stat);margin:0 0 7px;}
  .tl-body{font-size:15px;line-height:1.56;color:var(--ink);margin:0;}
  .tl-body b,.tl-body strong{font-weight:600;color:var(--stat);}
  .tl-body ul{margin:6px 0 0;padding:0;list-style:none;}
  .tl-body li{font-size:14.5px;line-height:1.5;padding:0 0 6px 16px;position:relative;color:var(--ink);}
  .tl-body li:last-child{padding-bottom:0;}
  .tl-body li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:1.5px;background:var(--accent-2);}
  .tl-chips{margin:9px 0 0;font-size:12px;line-height:1.5;color:var(--ink-3);}

  .disc{font-size:13px;line-height:1.5;font-style:italic;color:var(--ink-2);margin:22px 0 0;}

  .close-wrap{padding:34px var(--pad) 12px;}
  .close-panel{position:relative;overflow:hidden;border-radius:16px;padding:42px 38px;color:var(--d-ink);box-shadow:0 20px 54px rgba(2,5,13,0.26);background:linear-gradient(180deg, rgba(0,5,43,0.52), rgba(2,5,13,0.95)), var(--motif) center 36% / cover no-repeat, var(--navy);}
  .close-panel .kicker{font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--sheen);margin-bottom:16px;}
  .close-line{font-weight:300;font-size:clamp(1.22rem,2.5vw,1.58rem);line-height:1.42;color:#f6f9ff;max-width:62ch;margin:0;}
  .close-line .em{color:var(--sheen);}
  .foot{background:#02040b;padding:26px var(--pad);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center;}
  .foot .mark{font-size:11px;}
  .foot .foot-r{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:rgba(196,212,240,0.42);}

  @media (max-width:680px){.cases,.figrow,.caps{grid-template-columns:1fr;}.hero{min-height:340px;}.tl{padding-left:24px;}.tl-item::before{left:-24px;}}
  @media print{.hero,.close-panel,.full-bandeau{background:#fff !important;color:#0a1020 !important;}.hero h1,.hero .deck,.close-line,.full-bandeau .fh-title{color:#0a1020 !important;text-shadow:none;}.foot{background:#fff;border-top:1px solid #ccc;}.foot .foot-r,.mark{color:#0a1020;}}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
