
    :root{
      --ink:#111318;
      --ink2:#2c313b;
      --paper:#f6f1e6;
      --paper2:#efe6d6;
      --accent:#b21d1d;   /* rouge référence */
      --violet:#5b2a86;   /* violet scénario */
      --blue:#0e5c78;
      --good:#1d6b2e;
    }

    *{box-sizing:border-box}
    body{
      margin:0;
      color:var(--ink);
      background:
        radial-gradient(900px 500px at 20% 0%, rgba(178,29,29,.07), transparent 60%),
        radial-gradient(800px 480px at 80% 10%, rgba(91,42,134,.07), transparent 60%),
        linear-gradient(180deg, var(--paper), var(--paper2));
      font-family: Georgia, "Times New Roman", Times, serif;
      line-height:1.65;
    }

    .page{
      max-width:1140px;
      margin:0 auto;
      padding:26px 14px 60px;
    }
    .sheet{
      background: rgba(255,255,255,.52);
      border: 1px solid rgba(0,0,0,.08);
      box-shadow: 0 25px 70px rgba(0,0,0,.14);
      border-radius: 14px;
      overflow:hidden;
    }

    .topStrip{
      display:flex;
      justify-content:space-between;
      gap:10px;
      padding:10px 16px;
      background: rgba(0,0,0,.03);
      border-bottom: 1px solid rgba(0,0,0,.10);
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      font-size:12px;
      color: rgba(17,19,24,.75);
      letter-spacing:.02em;
    }
    .topStrip b{color:rgba(17,19,24,.92)}
    .topStrip .right{text-align:right}

    .masthead{
      padding:18px 18px 12px;
      border-bottom: 3px double rgba(0,0,0,.30);
      background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.30));
    }
    .brandRow{
      display:grid;
      grid-template-columns: 1fr auto 1fr;
      align-items:end;
      gap:12px;
    }
    .brandLeft,.brandRight{
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      font-size:12px;
      color: rgba(17,19,24,.75);
    }
    .brandRight{text-align:right}
    .brand{text-align:center}
    .brand h1{
      margin:0;
      font-size:52px;
      letter-spacing:-.02em;
      line-height:1;
      font-weight:900;
    }
    .brand .tagline{
      margin-top:6px;
      font-size:12px;
      color: rgba(17,19,24,.70);
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      letter-spacing:.08em;
      text-transform: uppercase;
    }
    .brand .divider{
      height:1px;
      background: rgba(0,0,0,.14);
      margin:10px auto 0;
      width:72%;
    }

    .articleHead{
      padding:16px 18px 14px;
      border-bottom: 1px solid rgba(0,0,0,.10);
      background: rgba(255,255,255,.25);
    }
    .kicker{
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      font-size:12px;
      letter-spacing:.12em;
      text-transform: uppercase;
      color: rgba(17,19,24,.72);
      display:flex;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .kicker .label{
      padding:4px 8px;
      border:1px solid rgba(0,0,0,.12);
      border-radius:999px;
      background: rgba(255,255,255,.45);
    }
    .headline{
      margin:10px 0 6px;
      font-size: clamp(30px, 4.4vw, 52px);
      line-height:1.05;
      font-weight:900;
      letter-spacing:-.02em;
    }
    .headline .red{color:var(--accent)}
    .subhead{
      margin:0;
      font-size:18px;
      color: rgba(17,19,24,.82);
      max-width: 100ch;
    }

    .grid{
      display:grid;
      grid-template-columns: 1.6fr .85fr;
      gap:18px;
      padding:16px 18px 20px;
      align-items:start;
    }
    @media (max-width: 980px){
      .brandRow{grid-template-columns:1fr; text-align:center}
      .brandLeft,.brandRight{display:none}
      .grid{grid-template-columns:1fr}
    }

    .columns{
      column-count: 2;
      column-gap: 26px;
      column-rule: 1px solid rgba(0,0,0,.10);
      padding-right:2px;
    }
    @media (max-width: 760px){
      .columns{column-count:1}
    }

    .byline{
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      font-size:12px;
      color: rgba(17,19,24,.68);
      border-top: 1px solid rgba(0,0,0,.10);
      border-bottom: 1px solid rgba(0,0,0,.10);
      padding:8px 0;
      margin:0 0 12px;
      break-inside: avoid;
    }

    .dropcap:first-letter{
      float:left;
      font-size:58px;
      line-height:.85;
      padding:6px 10px 0 0;
      font-weight:900;
      color: rgba(17,19,24,.92);
    }

    h3{
      margin:14px 0 6px;
      font-size:16px;
      letter-spacing:.04em;
      text-transform: uppercase;
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      break-inside: avoid;
      color: rgba(17,19,24,.78);
    }
    p{margin:0 0 12px}

    .pullQuote{
      break-inside: avoid;
      margin:12px 0 14px;
      padding:12px 12px 10px;
      border-left: 5px solid rgba(178,29,29,.85);
      background: rgba(178,29,29,.06);
    }
    .pullQuote.violet{
      border-left-color: rgba(91,42,134,.85);
      background: rgba(91,42,134,.06);
    }
    .pullQuote.blue{
      border-left-color: rgba(14,92,120,.85);
      background: rgba(14,92,120,.06);
    }
    .pullQuote p{
      margin:0;
      font-size:18px;
      line-height:1.35;
      color: rgba(17,19,24,.92);
      font-style: italic;
    }
    .pullQuote .who{
      margin-top:8px;
      font-size:12px;
      color: rgba(17,19,24,.70);
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    }

    .infoBox{
      break-inside: avoid;
      border:1px solid rgba(0,0,0,.12);
      background: rgba(255,255,255,.55);
      padding:12px 12px 10px;
      margin:12px 0 14px;
    }
    .infoBox .title{
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      text-transform: uppercase;
      letter-spacing:.10em;
      font-size:12px;
      color: rgba(17,19,24,.75);
      margin-bottom:8px;
    }
    .infoBox ul{margin:0; padding-left:18px}
    .infoBox li{margin:6px 0}

    .sidebar{
      position: sticky;
      top: 14px;
      display:flex;
      flex-direction:column;
      gap:14px;
    }
    .box{
      border:1px solid rgba(0,0,0,.12);
      background: rgba(255,255,255,.55);
      padding:12px 12px 10px;
    }
    .box h4{
      margin:0 0 10px;
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      text-transform: uppercase;
      letter-spacing:.10em;
      font-size:12px;
      color: rgba(17,19,24,.75);
    }

    .legendMini{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:8px;
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      font-size:12px;
      color: rgba(17,19,24,.70);
    }
    .chip{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:4px 8px;
      border:1px solid rgba(0,0,0,.12);
      border-radius:999px;
      background: rgba(255,255,255,.45);
    }
    .dot{
      width:10px;height:10px;border-radius:999px;background: var(--accent);
    }
    .dot.violet{background: var(--violet)}
    .dot.blue{background: var(--blue)}

    .chart{
      border-top: 1px solid rgba(0,0,0,.10);
      padding-top:10px;
      margin-top:10px;
    }
    .chart strong{
      display:block;
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      font-size:13px;
      color: rgba(17,19,24,.86);
    }
    .chart small{
      display:block;
      margin-top:2px;
      color: rgba(17,19,24,.65);
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      font-size:12px;
    }
    .chart img{
      width:100%;
      height:auto;
      display:block;
      margin-top:10px;
      border:1px solid rgba(0,0,0,.12);
      background: rgba(255,255,255,.5);
    }
    .caption{
      margin-top:8px;
      font-size:12px;
      color: rgba(17,19,24,.68);
    }

    .foot{
      padding:12px 18px 16px;
      border-top: 3px double rgba(0,0,0,.28);
      color: rgba(17,19,24,.68);
      font-size:12px;
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      display:flex;
      flex-wrap:wrap;
      justify-content:space-between;
      gap:10px;
      background: rgba(255,255,255,.30);
    }

    .accent{color:var(--accent); font-weight:700}
    .violetTxt{color:var(--violet); font-weight:700}
    .blueTxt{color:var(--blue); font-weight:700}
    .good{color:var(--good); font-weight:700}
