/* Vocabulaire des blocs (B01…B19, G1…G3) dans le design « Inside the box » — partagé par wireframes.html et index.html */
  /* repère de bloc (code Figma) */
  .w-bloc{position:relative}
  .w-tag{display:none;position:absolute;right:calc(99 * var(--u));top:calc(14 * var(--u));z-index:3;font-size:max(8px, calc(9 * var(--u)));font-weight:700;color:var(--orange);letter-spacing:.08em;text-transform:uppercase;background:rgba(0,0,0,.65);padding:calc(3 * var(--u)) calc(6 * var(--u))}
  body.reperes .w-tag{display:block}
  .w-corps .w-tag,.w-contenu .w-tag{right:0;top:calc(-18 * var(--u));background:none}

  /* ============ Vocabulaire des blocs, dans le design Atelier ============ */
  .w-sur{font-size:max(9px, calc(10 * var(--u)));font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.55;margin-bottom:calc(14 * var(--u))}
  .w-h2{font-family:var(--hn);font-weight:700;font-size:calc(36 * var(--u));line-height:calc(36 * var(--u))}
  .w-h1{font-family:var(--hn);font-weight:700;font-size:calc(54 * var(--u));line-height:calc(54 * var(--u))}
  .w-lien{font-weight:700;font-size:max(9px, calc(12 * var(--u)));white-space:nowrap}
  .w-lien::after{content:"";width:.78em;height:.78em;background:currentColor;-webkit-mask:var(--fleche) center / contain no-repeat;mask:var(--fleche) center / contain no-repeat;vertical-align:-.06em;color:var(--orange);display:inline-block;margin-left:.4em;transition:transform .25s cubic-bezier(.2,.7,.15,1)}
  .w-lien:hover::after,.w-carte:hover .w-lien::after{transform:translateX(calc(5 * var(--u)))}
  .w-entete{display:flex;align-items:flex-end;justify-content:space-between;gap:calc(40 * var(--u));margin-bottom:calc(40 * var(--u))}
  .w-p{font-size:max(11px, calc(14 * var(--u)));line-height:1.5}
  .w-fil{display:flex;justify-content:space-between;font-size:max(9px, calc(10 * var(--u)));font-weight:700;opacity:.6;margin-bottom:calc(60 * var(--u))}
  .w-fil span + span::before{content:"  ›  ";opacity:.5}
  .w-fil .actions span + span::before{content:"   ·   "}
  .w-noir{background:#000;color:#fff;padding:calc(110 * var(--u)) calc(99 * var(--u)) calc(90 * var(--u))}
  .w-gris{background:var(--gris);color:#000;padding:calc(90 * var(--u)) calc(99 * var(--u))}
  .w-gris + .w-gris{padding-top:0}
  .w-legende{font-size:max(8px, calc(10 * var(--u)));font-style:italic;opacity:.5;margin-top:calc(8 * var(--u))}
  .w-vis{background:#1a1a1a center/cover no-repeat;position:relative}
  .w-vis .w-legende{position:absolute;left:calc(16 * var(--u));bottom:calc(12 * var(--u));margin:0;color:#fff;opacity:.8;text-shadow:0 1px 8px rgba(0,0,0,.8)}

  /* B01 Hero niveau 1 : comme les blocs photo de l'accueil */
  .w-hero1{position:relative;height:calc(900 * var(--u));overflow:hidden;background:#111}
  .w-hero1 > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
  .w-hero1 .w-fil{position:absolute;left:calc(99 * var(--u));right:calc(99 * var(--u));top:calc(100 * var(--u))}
  .w-hero1 .texte{position:absolute;left:calc(99 * var(--u));top:calc(330 * var(--u));width:calc(620 * var(--u))}
  .w-hero1 .w-p{margin-top:calc(22 * var(--u));width:calc(560 * var(--u))}
  .w-hero1 .w-legende{position:absolute;right:calc(99 * var(--u));bottom:calc(40 * var(--u));color:#fff;opacity:.6}

  /* B02 Hero niveau 2 */
  .w-hero2 .w-h1{width:calc(1100 * var(--u))}
  .w-hero2 .w-p{margin-top:calc(26 * var(--u));width:calc(1000 * var(--u));font-size:max(13px, calc(18 * var(--u)));line-height:1.45}
  .w-hero2 .meta{margin-top:calc(22 * var(--u));font-size:max(9px, calc(10 * var(--u)));font-weight:700;opacity:.5}
  .w-hero2 .w-vis{margin-top:calc(60 * var(--u));height:calc(560 * var(--u))}

  /* B03/B04/B05 : corps à deux colonnes */
  .w-corps{display:grid;grid-template-columns:calc(271 * var(--u)) 1fr;gap:calc(60 * var(--u))}
  .w-sommaire{position:sticky;top:calc(100 * var(--u));align-self:start}
  .w-sommaire ul{list-style:none;border-left:1px solid rgba(0,0,0,.15)}
  .w-sommaire li{font-weight:700;font-size:max(10px, calc(12 * var(--u)));line-height:2.6;padding-left:calc(16 * var(--u));border-left:calc(4 * var(--u)) solid transparent;margin-left:calc(-2.5 * var(--u));cursor:pointer;color:rgba(0,0,0,.55);transition:color .2s}
  .w-sommaire li.actif,.w-sommaire li:hover{color:#000;border-color:var(--orange)}
  .w-contenu > * + *{margin-top:calc(70 * var(--u))}
  .w-bref{background:#000;color:#fff;padding:calc(28 * var(--u)) calc(30 * var(--u)) calc(28 * var(--u)) calc(34 * var(--u));border-left:calc(3 * var(--u)) solid var(--orange)}
  .w-bref ol{list-style:none;counter-reset:n}
  .w-bref li{counter-increment:n;font-weight:700;font-size:max(11px, calc(14 * var(--u)));line-height:1.45;padding-left:calc(32 * var(--u));position:relative}
  .w-bref li + li{margin-top:calc(12 * var(--u))}
  .w-bref li::before{content:counter(n);position:absolute;left:0;top:0;color:var(--orange)}
  .w-section .w-p{margin-top:calc(16 * var(--u));width:calc(880 * var(--u));max-width:100%}
  .w-section h3{font-weight:700;font-size:max(13px, calc(18 * var(--u)));margin-top:calc(30 * var(--u))}
  .w-section h3 + .w-p{margin-top:calc(8 * var(--u))}

  /* B06 Chiffres clés : cartes à barre orange, comme les cartes d'événements */
  .w-chiffres .grille{display:grid;gap:calc(14 * var(--u))}
  .w-chiffre{border-left:calc(3 * var(--u)) solid var(--orange);padding:calc(6 * var(--u)) 0 calc(6 * var(--u)) calc(24 * var(--u))}
  .w-chiffre b{display:block;font-family:var(--hn);font-size:calc(54 * var(--u));line-height:1;margin-bottom:calc(12 * var(--u))}
  .w-chiffre span{display:block;font-weight:700;font-size:max(9px, calc(12 * var(--u)));line-height:1.3}
  .w-chiffre small{display:block;font-size:max(8px, calc(10 * var(--u)));font-weight:700;opacity:.4;margin-top:calc(10 * var(--u))}
  .w-contenu .w-chiffre b{font-size:calc(40 * var(--u))}

  /* B10 Cartes de pages / B11 Actualités : la carte de l'accueil */
  .w-cartes .grille{display:grid;gap:calc(14 * var(--u))}
  /* carte : UNE seule marge (--m) partout ; l'image vient coller la barre, le haut et le bord droit */
  .w-carte{--m:calc(28 * var(--u));position:relative;border-left:calc(3 * var(--u)) solid var(--orange);padding:var(--m) var(--m) var(--m) var(--m);min-height:calc(240 * var(--u));cursor:pointer;transition:background .2s}
  .w-carte:hover{background:rgba(0,0,0,.04)}
  .w-noir .w-carte:hover{background:rgba(255,255,255,.06)}
  .w-carte .vis{height:calc(200 * var(--u));background:#333 center/cover no-repeat;margin:calc(-1 * var(--m)) calc(-1 * var(--m)) var(--m) calc(-1 * var(--m))}
  .w-carte .cat{font-size:max(8px, calc(10 * var(--u)));font-weight:700;opacity:.8;margin-bottom:calc(40 * var(--u))}
  .w-carte .cat b{color:var(--orange)}
  .w-carte h3{font-weight:700;font-size:calc(24 * var(--u));line-height:1.2;width:calc(360 * var(--u));max-width:100%}
  .w-carte .txt{margin-top:calc(16 * var(--u));font-weight:700;font-size:max(9px, calc(12 * var(--u)));line-height:1.3;width:calc(358 * var(--u));max-width:100%}
  .w-carte .date{margin-top:calc(14 * var(--u));font-size:max(8px, calc(10 * var(--u)));font-weight:700;opacity:.4}
  .w-carte .w-lien{display:block;margin-top:calc(18 * var(--u))}
  .w-carte .fleche{position:absolute;right:0;top:0;width:calc(26 * var(--u));height:calc(26 * var(--u));border:1px solid #000;background:#fff;color:#000;display:grid;place-items:center;transition:background .2s}
  .w-carte .fleche svg{width:46%;height:46%;transform:rotate(135deg)}
  .w-carte:hover .fleche{background:#000}.w-carte:hover .fleche path{stroke:#fff}

  /* B08 Citation */
  .w-citation{border-left:calc(3 * var(--u)) solid var(--orange);padding-left:calc(40 * var(--u))}
  .w-citation blockquote{font-family:var(--hn);font-weight:700;font-size:calc(36 * var(--u));line-height:calc(40 * var(--u));width:calc(1100 * var(--u));max-width:100%}
  .w-contenu .w-citation blockquote{font-size:calc(28 * var(--u));line-height:calc(32 * var(--u))}
  .w-citation .auteur{display:flex;align-items:center;gap:calc(14 * var(--u));margin-top:calc(28 * var(--u));font-size:max(9px, calc(12 * var(--u)))}
  .w-citation .auteur i{width:calc(40 * var(--u));height:calc(40 * var(--u));border-radius:50%;background:#555;flex:none;position:relative;overflow:hidden}
  .w-citation .auteur i::after{content:"";position:absolute;left:25%;right:25%;bottom:22%;height:12%;background:var(--orange)}
  .w-citation .auteur b{display:block}
  .w-citation .auteur span{opacity:.6;font-weight:700}

  /* Catch-phrase citation : la phrase-choc sur fond orange des pages de niveau 1 et 2 ; même typo que « Orange est là pour » de l'accueil */
  .catch-citation{background:var(--orange);color:#fff;text-align:center}
  .catch-citation.noire{background:#000}   /* une catch phrase sans auteur (la raison d'être) : fond noir, comme la phrase de l'accueil ; une citation de personne reste orange, avec guillemets */
  .catch-citation blockquote{margin:0 auto;font-family:var(--hn);font-weight:700;font-size:calc(65 * var(--u));line-height:calc(62 * var(--u))}
  .catch-citation .mot{display:inline-block;opacity:0;transition:opacity .16s ease-out}   /* chaque mot arrive plein, sans flou */
  .catch-citation .mot.vu{opacity:1}
  /* citation d'une personne : guillemets américains dans les angles du bloc de texte, hors des lignes ; l'ouvrant arrive avec le premier mot, le fermant avec le dernier */
  .catch-citation.personne blockquote{position:relative;width:fit-content}
  .catch-citation.personne blockquote::before, .catch-citation.personne blockquote::after{position:absolute;font-size:calc(170 * var(--u));line-height:1;opacity:0;transition:opacity .5s}
  .catch-citation.personne blockquote::before{content:"\201C";left:calc(-100 * var(--u));top:calc(-112 * var(--u))}   /* le dessin du guillemet tient dans le haut de sa boîte : il finit ~30u au-dessus de la 1re ligne */
  .catch-citation.personne blockquote::after{content:"\201D";right:calc(-100 * var(--u));bottom:calc(-170 * var(--u))}   /* et commence ~30u sous la dernière ligne */
  .catch-citation.personne blockquote:has(.mot.vu)::before, .catch-citation.personne blockquote:has(.mot:last-child.vu)::after{opacity:1}

  /* Outils de page (Écouter · Partager · Imprimer) : l'icône et son nom à sa droite (01/11) ; la couleur suit le texte */
  .outils-page{display:flex;align-items:center;gap:calc(36 * var(--u))}
  .outils-page a{display:inline-flex;align-items:center;gap:calc(10 * var(--u));height:calc(40 * var(--u));min-height:28px;color:inherit;transition:color .3s}
  .outils-page a span{font-weight:700;font-size:max(11px, calc(15 * var(--u)));line-height:1;white-space:nowrap}
  .outils-page a:hover{color:var(--orange)}
  .outils-page svg{width:calc(24 * var(--u));height:calc(24 * var(--u));min-width:18px;min-height:18px}

  /* Chiffres clés (Blocs.chiffresCles) : liseré orange 3u, chiffre 62u, libellé 22u #707070, « ✦ Vérifier » 18u */
  .g-ch-grille{display:grid;grid-template-columns:repeat(var(--n), auto);column-gap:calc(60 * var(--u));justify-content:center}
  .g-ch{border-left:calc(3 * var(--u)) solid var(--orange);min-height:calc(209 * var(--u));box-sizing:border-box;padding:calc(4 * var(--u)) calc(30 * var(--u)) 0 calc(46 * var(--u));min-width:calc(316 * var(--u));text-align:left}
  .g-ch b{display:block;font-weight:700;font-size:calc(62 * var(--u));line-height:1.1;white-space:nowrap;color:#000}
  .g-ch span{display:block;margin-top:calc(22 * var(--u));font-weight:600;font-size:max(13px, calc(22 * var(--u)));line-height:1.18;color:#707070}
  .g-verifier{display:inline-flex;align-items:center;gap:calc(14 * var(--u));margin-top:calc(30 * var(--u));background:none;border:0;padding:0;cursor:pointer;font:inherit;font-weight:600;font-size:max(11px, calc(18 * var(--u)));color:#444}
  .g-verifier svg{width:calc(29 * var(--u));height:calc(29 * var(--u));transition:transform .5s cubic-bezier(.2,.7,.15,1)}
  .g-verifier:hover svg{transform:scale(1.15) rotate(12deg)}
  /* « ✦ Vérifier » arrive un instant après son chiffre (--dch : le décalage de la colonne, posé par Blocs.activer), puis l'étoile se balance doucement, de gauche à droite : une invitation à cliquer (01/11) */
  .g-ch.rev{transition-delay:var(--dch, 0ms)}
  .g-ch .g-verifier{opacity:0;transform:translateY(calc(10 * var(--u)));transition:opacity .6s calc(var(--dch, 0ms) + .55s), transform .7s calc(var(--dch, 0ms) + .55s) cubic-bezier(.2,.7,.15,1)}
  .g-ch.vu .g-verifier{opacity:1;transform:none}
  .g-ch.vu .g-verifier svg{animation:g-balance 3.4s calc(var(--dch, 0ms) + 1.3s) ease-in-out infinite}
  .g-ch.vu .g-verifier:hover svg{animation:none}
  @keyframes g-balance{0%, 42%, 100%{transform:rotate(0)} 10%{transform:rotate(-16deg)} 26%{transform:rotate(13deg)} 36%{transform:rotate(-5deg)}}

  /* Documents de référence (Blocs.documents) : boutons pleins 48u, « ✦ Résumer » orange, « Télécharger » noir */
  .docs-ref .entete{display:flex;justify-content:space-between;align-items:center;padding-bottom:calc(44 * var(--u));border-bottom:1px solid #cfcfcf}
  .docs-ref .entete h2{margin:0;font-weight:700;font-size:calc(36 * var(--u));line-height:1.15}
  .docs-ref .lien{display:inline-flex;align-items:center;gap:calc(14 * var(--u));font-weight:600;font-size:max(12px, calc(17 * var(--u)));color:#000;text-decoration:none}
  .docs-ref .lien svg{width:calc(13 * var(--u));height:calc(13 * var(--u));transition:transform .4s cubic-bezier(.2,.7,.15,1)}
  .docs-ref .lien:hover svg{transform:translateX(calc(4 * var(--u)))}
  .docs-ref .doc{display:grid;grid-template-columns:calc(60 * var(--u)) 1fr auto auto;gap:0 calc(30 * var(--u));align-items:center;padding:calc(26 * var(--u)) 0;border-bottom:1px solid #cfcfcf}
  .docs-ref .fichier{width:calc(58 * var(--u));height:calc(70 * var(--u));border:1px solid #000;box-sizing:border-box}
  .docs-ref .doc b{display:block;margin-bottom:calc(8 * var(--u));font-weight:600;font-size:max(13px, calc(19 * var(--u)))}
  .docs-ref .doc small{font-size:max(10px, calc(15.5 * var(--u)));color:#8c8c8c}
  .docs-ref .resumer, .docs-ref .telecharger{display:inline-flex;align-items:center;justify-content:center;height:calc(48 * var(--u));min-height:34px;box-sizing:border-box;border:0;color:#fff;font:inherit;font-weight:700;font-size:max(12px, calc(15 * var(--u)));white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color .3s}
  .docs-ref .resumer{gap:calc(10 * var(--u));margin-right:calc(-18 * var(--u));padding:0 calc(18 * var(--u)) 0 calc(14 * var(--u));background:var(--orange)}
  .docs-ref .resumer svg{width:calc(18 * var(--u));height:calc(18 * var(--u));transition:transform .25s cubic-bezier(.2,.7,.15,1)}
  .docs-ref .resumer:hover svg{transform:scale(1.18) rotate(15deg)}
  .docs-ref .lire{display:inline-flex;align-items:center;justify-content:center;height:calc(48 * var(--u));min-height:34px;box-sizing:border-box;margin-right:calc(-18 * var(--u));padding:0 calc(20 * var(--u));border:1px solid #000;background:#fff;color:#000;font:inherit;font-weight:700;font-size:max(11px, calc(14 * var(--u)));cursor:pointer;transition:background .2s, color .2s}
  .docs-ref .lire:hover{background:#000;color:#fff}
  .docs-ref .doc.avec-lecteur .fichier, .docs-ref .doc.avec-lecteur b{cursor:pointer}
  .docs-ref .doc.avec-lecteur b:hover{color:var(--orange)}
  .docs-ref .telecharger{padding:0 calc(22 * var(--u));background:#000}
  .docs-ref .telecharger:hover{background:#333}
  @media (max-width: 767px){
    .g-ch-grille{grid-template-columns:1fr;gap:28px}
    .g-ch{min-height:0;margin:0;padding:4px 0 6px 18px}
    .g-ch b{font-size:40px}
    .g-ch span{font-size:15px;margin-top:10px}
    .g-verifier{font-size:13px;margin-top:14px}
    .docs-ref .entete{flex-wrap:wrap;gap:10px;padding-bottom:20px}
    .docs-ref .entete h2{font-size:24px}
    .docs-ref .doc{grid-template-columns:40px 1fr;gap:12px}
    .docs-ref .fichier{width:40px;height:50px}
    .docs-ref .resumer, .docs-ref .telecharger{grid-column:2;justify-self:start;margin:8px 0 0}
  }

  /* Bloc de redirection plein cadre (.bloc-redir) : photo, titre 80u en haut à gauche, texte 26u en bas à gauche, bouton blanc 71u en bas à droite.
     Niveau 2 (Capital Markets Day, bilan) et accueil (Fondation). --k (0 → 1) : la photo se pose en arrivant */
  .bloc-redir{position:relative;overflow:hidden;color:#fff}
  .bloc-redir .img{position:absolute;inset:0;background:center / cover no-repeat;transform:scale(calc(1.06 - .06 * var(--k, 1)))}
  .bloc-redir::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,0) 38%, rgba(0,0,0,.42))}
  .bloc-redir h2{position:absolute;z-index:1;left:calc(60 * var(--u));top:calc(64 * var(--u));max-width:calc(520 * var(--u));margin:0;font-weight:700;font-size:calc(80 * var(--u));line-height:1.02}
  .bloc-redir p{position:absolute;z-index:1;left:calc(60 * var(--u));bottom:calc(58 * var(--u));width:calc(390 * var(--u));margin:0;font-weight:600;font-size:max(14px, calc(26 * var(--u)));line-height:1.17}
  .bloc-redir .bouton{position:absolute;z-index:1;right:calc(56 * var(--u));bottom:calc(61 * var(--u));display:flex;align-items:center;height:calc(71 * var(--u));padding:0 calc(33 * var(--u));background:#fff;color:#000;font-weight:600;font-size:max(13px, calc(21 * var(--u)));text-decoration:none;transition:background-color .4s, color .4s}
  .bloc-redir .bouton:hover{background:#000;color:#fff}

  /* ============ Composants des pages de niveau 1 et 2 (31/10) : un seul code par composant, toutes les pages l'appellent ============ */
  /* Documents : la vignette porte l'icône PDF (Solaris) ; pour un autre format, son sigle */
  .docs-ref .fichier{display:grid;place-items:center;font-weight:700;font-size:max(9px, calc(12 * var(--u)));color:#000}
  .docs-ref .fichier svg{width:calc(32 * var(--u));height:calc(32 * var(--u))}

  /* Questions fréquentes (Blocs.faq) : question grise, la question ouverte en noir, « − » orange, « Demander à l'IA ✦ » */
  .faq-ref .entete{padding-bottom:calc(30 * var(--u))}
  .faq-ref .entete h2{margin:0;font-weight:700;font-size:calc(36 * var(--u));line-height:1.15}
  .faq-ref .liste{border-top:1px solid #cfcfcf}
  .faq-ref details{border-bottom:1px solid #cfcfcf}
  .faq-ref summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:calc(30 * var(--u));padding:calc(25 * var(--u)) 0;font-weight:600;font-size:max(13px, calc(20 * var(--u)));line-height:1.35;color:#8c8c8c;transition:color .5s}
  .faq-ref summary::-webkit-details-marker{display:none}
  .faq-ref summary::after{content:"+";flex:none;font-weight:600;font-size:max(12px, calc(18 * var(--u)));color:#8c8c8c}
  .faq-ref summary:hover{color:#1a1a1a}
  .faq-ref details[open] summary{color:#1a1a1a;font-size:max(13px, calc(19 * var(--u)));padding-bottom:calc(12 * var(--u))}
  .faq-ref details[open] summary::after{content:"-";color:var(--orange);font-size:max(14px, calc(22 * var(--u)))}
  .faq-ref .reponse{overflow:hidden;padding-bottom:calc(28 * var(--u))}
  .faq-ref .reponse p{margin:0 0 calc(22 * var(--u));font-size:max(12px, calc(18 * var(--u)));line-height:1.55;color:#555}
  .faq-ref .demander{display:inline-flex;align-items:center;gap:calc(16 * var(--u));height:calc(46 * var(--u));min-height:32px;padding:0 calc(20 * var(--u));background:var(--orange);color:#fff;border:0;font:inherit;font-weight:500;font-size:max(11px, calc(15 * var(--u)));cursor:pointer}
  .faq-ref .demander svg{width:calc(22 * var(--u));height:calc(22 * var(--u));transition:transform .5s cubic-bezier(.2,.7,.15,1)}
  .faq-ref .demander:hover svg{transform:scale(1.15) rotate(12deg)}

  /* Carrousel de cartes photo carrées (Blocs.rail) : dégradé sombre en bas, titre 29u, texte 19u, flèche orange ; en grille avec .grille-pa */
  .g-rail{--cs:min(calc(504 * var(--u)), calc(100vh - 430 * var(--u)));display:flex;gap:calc(24 * var(--u));overflow-x:auto;padding:0 calc(84 * var(--u));scroll-snap-type:x mandatory;scroll-padding-left:calc(84 * var(--u));scrollbar-width:none;overscroll-behavior-x:contain}
  .g-rail::-webkit-scrollbar{display:none}
  .g-rail::after{content:"";flex:none;width:calc(60 * var(--u))}
  .g-pa{position:relative;flex:none;box-sizing:border-box;width:var(--cs);aspect-ratio:1 / 1;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:0 calc(42 * var(--u)) calc(74 * var(--u));color:#fff;text-decoration:none;scroll-snap-align:start}
  .g-pa .img{position:absolute;inset:0;background:center / cover no-repeat;transition:transform 1.4s cubic-bezier(.2,.7,.15,1)}
  .g-pa::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.3) 45%, rgba(0,0,0,.6))}
  .g-pa h3, .g-pa p, .g-pa small, .g-pa .fl{position:relative;z-index:2}
  .g-pa small{display:block;margin-bottom:calc(14 * var(--u));font-weight:600;font-size:max(11px, calc(15.5 * var(--u)));opacity:.8}
  .g-pa h3{margin:0 0 calc(12 * var(--u));font-weight:600;font-size:calc(29 * var(--u));line-height:1.2}
  .g-pa p{margin:0;max-width:calc(400 * var(--u));font-size:max(12px, calc(19 * var(--u)));line-height:1.6}
  .g-pa .a-valider{color:rgba(255,255,255,.7)}
  .g-pa .fl{position:absolute;top:auto;bottom:calc(32 * var(--u));right:calc(42 * var(--u));width:calc(24 * var(--u));height:calc(24 * var(--u));transition:transform .6s cubic-bezier(.2,.7,.15,1)}
  .g-pa .fl svg{display:block;width:100%;height:100%}
  .g-pa .tags{position:absolute;z-index:2;top:calc(42 * var(--u));left:calc(42 * var(--u));right:calc(100 * var(--u));display:flex;flex-wrap:wrap;gap:calc(6 * var(--u))}   /* étiquettes : format, thème — fond noir, sans arrondi */
  .g-pa .tag{font-style:normal;background:#000;color:#fff;border-radius:0;padding:calc(7 * var(--u)) calc(12 * var(--u));font-weight:600;font-size:max(11px, calc(14 * var(--u)));line-height:1.2}
  .g-pa:hover .img{transform:scale(1.04)}
  .g-pa.noir{background:#000;transition:background-color .4s}   /* variante sans photo : carré noir (formats éditoriaux) */
  .g-pa.noir::before{display:none}
  .g-pa.noir:hover{background:#1a1a1a}
  .g-rail.petit{--cs:calc(300 * var(--u))}   /* variante petite : 300u de côté */
  .g-rail.petit .g-pa{padding:0 calc(30 * var(--u)) calc(40 * var(--u))}
  .g-rail.petit .g-pa h3{font-size:calc(24 * var(--u))}
  .g-rail.petit .g-pa p{font-size:max(12px, calc(16 * var(--u)));line-height:1.5}
  .g-rail.petit .g-pa .fl{top:auto;bottom:calc(16 * var(--u));right:calc(30 * var(--u))}
  .g-pa:hover .fl{transform:translateX(calc(5 * var(--u)))}
  .grille-pa{display:grid;grid-template-columns:repeat(3, 1fr);gap:calc(24 * var(--u))}
  .grille-pa .g-pa{width:auto}

  /* Membres (Blocs.membres) : portrait, nom, fonction, « Voir la fiche → » */
  .membres{display:grid;grid-template-columns:repeat(4, 1fr);gap:calc(48 * var(--u)) calc(24 * var(--u))}
  .membre{display:block;color:#000;text-decoration:none}
  .membre .photo{display:block;aspect-ratio:197 / 215;overflow:hidden;background:#d9d9d9}
  .membre .photo span{display:block;width:100%;height:100%;background:center top / cover no-repeat;transition:transform 1.2s cubic-bezier(.2,.7,.15,1)}
  .membre:hover .photo span{transform:scale(1.04)}
  .membre b{display:block;margin-top:calc(20 * var(--u));font-weight:600;font-size:max(13px, calc(19 * var(--u)));line-height:1.3}
  .membre small{display:block;margin-top:calc(8 * var(--u));font-size:max(11px, calc(15.5 * var(--u)));line-height:1.35;color:#707070}
  .membre .voir{display:inline-flex;align-items:center;gap:calc(10 * var(--u));margin-top:calc(12 * var(--u));font-weight:600;font-size:max(11px, calc(15 * var(--u)))}
  .membre .voir svg{width:calc(12 * var(--u));height:calc(12 * var(--u));transition:transform .4s cubic-bezier(.2,.7,.15,1)}
  .membre:hover .voir svg{transform:translateX(calc(4 * var(--u)))}
  /* variante mosaïque : 3 photos par ligne, sans marge ni écart ; au survol, une carte blanche monte du bas : nom 25u, fonction 17u, flèche */
  .membres.mosaique{grid-template-columns:repeat(3, 1fr);gap:0}
  .membres.mosaique .membre{position:relative;overflow:hidden}
  .membres.mosaique .photo{aspect-ratio:444 / 485}
  .membres.mosaique .carte{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:calc(20 * var(--u));padding:calc(28 * var(--u)) calc(40 * var(--u)) calc(30 * var(--u));background:#fff;transform:translateY(101%);transition:transform .55s cubic-bezier(.2,.7,.15,1)}
  .membres.mosaique .membre:hover .carte, .membres.mosaique .membre:focus-visible .carte{transform:none}
  .membres.mosaique .carte b{display:block;margin:0;font-weight:600;font-size:max(14px, calc(25 * var(--u)));line-height:1.2}
  .membres.mosaique .carte small{display:block;margin-top:calc(6 * var(--u));font-size:max(11px, calc(17 * var(--u)));color:#555}
  .membres.mosaique .carte svg{flex:none;width:calc(16 * var(--u));height:calc(16 * var(--u));transition:transform .4s cubic-bezier(.2,.7,.15,1)}
  .membres.mosaique .membre:hover .carte svg{transform:translateX(calc(4 * var(--u)))}
  @media (max-width: 767px){ .membres.mosaique{grid-template-columns:1fr 1fr} .membres.mosaique .carte{position:static;transform:none;padding:12px} }

  /* Filtres d'un flux (Blocs.filtres) : formats en pastilles (la pastille active en noir), listes Thème · Pays · Année */
  .filtres{display:flex;justify-content:space-between;align-items:center;gap:calc(30 * var(--u));flex-wrap:wrap}
  .filtres .formats, .filtres .listes{display:flex;gap:calc(10 * var(--u));flex-wrap:wrap}
  .filtres button{height:calc(44 * var(--u));min-height:32px;padding:0 calc(20 * var(--u));border:1px solid #cfcfcf;background:transparent;color:#1a1a1a;font:inherit;font-weight:600;font-size:max(12px, calc(15.5 * var(--u)));cursor:pointer;transition:background-color .3s, color .3s, border-color .3s}
  .filtres button:hover{border-color:#000}
  .filtres .formats button.actif{background:#000;border-color:#000;color:#fff}
  .filtres .listes button{display:inline-flex;align-items:center;gap:calc(12 * var(--u));border-color:#000}
  .filtres .listes button::after{content:"";width:calc(7 * var(--u));height:calc(7 * var(--u));min-width:5px;min-height:5px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-25%) rotate(45deg)}
  .filtres-themes{margin:calc(22 * var(--u)) 0 0;font-size:max(11px, calc(13 * var(--u)));color:#8c8c8c}

  /* Événements (Blocs.evenements) : le composant chiffres clés, la date à la place du chiffre */
  .g-ch .lieu{display:block;margin-top:calc(10 * var(--u));font-weight:600;font-size:max(11px, calc(15.5 * var(--u)));color:#8c8c8c}
  .g-ch .ajouter{display:inline-flex;align-items:center;gap:calc(12 * var(--u));margin-top:calc(30 * var(--u));font-weight:600;font-size:max(11px, calc(18 * var(--u)));color:#444;text-decoration:none}
  .g-ch .ajouter i{font-style:normal;font-size:1.3em;line-height:1;color:var(--orange)}

  /* Contact (Blocs.contact) : écran noir, titre 40u, sous-titre 21u gris. Sur ordinateur (01/11), la barre IA du site RESTE la barre : sur ce bloc elle remonte
     à sa taille d'accueil (--bar-top), tape « Écrire … » (data-q) et son carré orange s'étire avec « Écrire » ; en quittant le bloc, elle redevient comme avant
     (le geste de la barre sur l'Assemblée générale de l'accueil — niveau1.js, niveau2.js). Le titre et le texte se centrent au-dessus d'elle.
     Variante formulaire : l'abonnement aux communiqués */
  .contact-ia{box-sizing:border-box;min-height:calc(100vh - 96 * var(--u));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(100 * var(--u)) 16px calc(100vh - var(--bar-top) + 30 * var(--u));background:#000;color:#fff;text-align:center;scroll-snap-align:start}
  .contact-ia h2{margin:0;font-weight:700;font-size:calc(40 * var(--u));line-height:1.15}
  .contact-ia p{margin:calc(22 * var(--u)) 0 0;max-width:calc(900 * var(--u));font-size:max(13px, calc(21 * var(--u)));line-height:1.45;color:#bdbdbd}
  .contact-ia .a-valider{color:inherit}
  .ecrire-ia{position:relative;box-sizing:border-box;display:flex;align-items:center;width:calc(742 * var(--u));height:calc(154 * var(--u));margin-top:calc(70 * var(--u));padding:0 calc(65 * var(--u)) 0 calc(71 * var(--u));background:#fff;border:1px solid #fff;color:#000;text-decoration:none;text-align:left;box-shadow:0 calc(10 * var(--u)) calc(40 * var(--u)) rgba(0,0,0,.25)}   /* la barre IA blanche devenue « Écrire … » : elle reste blanche */
  .ecrire-ia .q, .ecrire-ia .t{position:absolute;left:calc(71 * var(--u));top:50%;translate:0 -50%;white-space:nowrap;font-size:max(13px, calc(21 * var(--u)));transition:opacity .5s}
  .ecrire-ia .q{color:#000;opacity:0}
  .ecrire-ia .carre{position:relative;margin-left:auto;flex:none;width:calc(62 * var(--u));height:calc(62 * var(--u));background:var(--orange);border:0;padding:0;display:grid;place-items:center;cursor:pointer}
  .ecrire-ia .carre svg{grid-area:1 / 1;width:calc(30 * var(--u));height:calc(30 * var(--u));transition:opacity .5s, transform .5s cubic-bezier(.2,.7,.15,1)}
  .ecrire-ia .carre .etoile{opacity:0;width:calc(26 * var(--u))}
  .ecrire-ia:hover .carre .enveloppe, .ecrire-ia .carre:hover .fleche{transform:scale(1.1)}
  .ecrire-ia.barre-ia{background:#fff;border-color:#fff;box-shadow:0 calc(10 * var(--u)) calc(40 * var(--u)) rgba(0,0,0,.25)}
  .ecrire-ia.barre-ia .q{opacity:.4}
  .ecrire-ia.barre-ia .t, .ecrire-ia.barre-ia .enveloppe{opacity:0}
  .ecrire-ia.barre-ia .etoile{opacity:1}
  .ecrire-ia.anime{transition:transform 1s cubic-bezier(.65,0,.35,1), width 1s cubic-bezier(.65,0,.35,1), height 1s cubic-bezier(.65,0,.35,1), background-color .6s .35s, border-color .6s .35s, box-shadow .6s .2s}
  .ecrire-ia.anime .q, .ecrire-ia.anime .t, .ecrire-ia.anime .carre svg{transition-delay:.4s}
  /* le bloc contact : une barre d'assistance IA, aux proportions de la barre du site (bw × bh) — texte, micro, carré orange à l'étoile */
  .ecrire-ia.assistant{width:var(--bw);height:var(--bh);padding:0 calc(var(--bw) * 0.089) 0 calc(var(--bw) * 0.095);gap:calc(var(--bw) * 0.045);margin-top:calc(80 * var(--u));outline:0}
  @media (min-width: 768px){ .contact-ia .ecrire-ia.assistant{display:none} }   /* sur ordinateur, c'est la barre IA du site qui vient écrire (01/11) ; sur mobile, la barre du bloc reste */
  .ecrire-ia.assistant .q{left:calc(var(--bw) * 0.095);font-size:calc(var(--bh) * 0.125)}
  .ecrire-ia.assistant input{margin:0;font-family:var(--sf);font-size:calc(var(--bh) * 0.125);transition:opacity .5s}
  .ecrire-ia.barre-ia input{opacity:0}
  .ecrire-ia .ico{flex:none;width:calc(var(--bh) * 0.15);height:calc(var(--bh) * 0.15);padding:0;border:0;background:none;color:#8c8c8c;cursor:pointer}
  .ecrire-ia .ico:hover{color:#000}
  .ecrire-ia .ico svg{display:block;width:100%;height:100%}
  .ecrire-ia.assistant .carre{width:calc(var(--bh) * 0.405);height:calc(var(--bh) * 0.405);margin-left:calc(var(--bw) * 0.01)}
  .ecrire-ia.assistant .carre svg{width:46%;height:46%}
  .ecrire-ia input{flex:1;min-width:0;height:100%;margin-right:calc(30 * var(--u));background:none;border:0;outline:none;color:#000;font:inherit;font-size:max(13px, calc(21 * var(--u)))}
  .ecrire-ia input::placeholder{color:#8c8c8c}
  .ecrire-ia .merci{font-size:max(13px, calc(21 * var(--u)))}

  /* Texte seul (Blocs.texteSeul, 02/11) : les modèles — paragraphes, puces (carré orange), liens dans le texte (soulignés orange), chiffres clés intégrés (le composant, plus petit), bouton de renvoi */
  .texte-ref .para{margin:calc(24 * var(--u)) 0 0;font-weight:500;font-size:max(14px, calc(19 * var(--u)));line-height:1.6;color:#333}
  .texte-ref .intro + .para{margin-top:calc(30 * var(--u))}
  .puces-ref{list-style:none;margin:calc(34 * var(--u)) 0 0;padding:0}
  .puces-ref li{position:relative;padding:calc(8 * var(--u)) 0 calc(8 * var(--u)) calc(30 * var(--u));font-weight:500;font-size:max(14px, calc(19 * var(--u)));line-height:1.55;color:#333}
  .puces-ref li::before{content:"";position:absolute;left:0;top:calc(8 * var(--u) + .62em);width:calc(9 * var(--u));height:calc(9 * var(--u));min-width:6px;min-height:6px;background:var(--orange)}
  .puces-ref li b{font-weight:700;color:#000}
  .lien-texte{color:inherit;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:.22em;transition:color .2s}
  .lien-texte:hover{color:var(--orange)}
  .texte-ref .chiffres-mini{margin-top:calc(54 * var(--u))}
  .texte-ref .chiffres-mini .g-ch-grille{grid-template-columns:repeat(var(--n), minmax(0, 1fr));justify-content:stretch;column-gap:calc(30 * var(--u));row-gap:calc(30 * var(--u))}
  .texte-ref .chiffres-mini .g-ch{min-width:0;min-height:0;padding:calc(2 * var(--u)) calc(14 * var(--u)) 0 calc(24 * var(--u))}
  .texte-ref .chiffres-mini .g-ch b{font-size:calc(40 * var(--u) * var(--chf, 1))}
  .texte-ref .chiffres-mini .g-ch span{margin-top:calc(12 * var(--u));font-size:max(12px, calc(16 * var(--u)))}
  .texte-ref .chiffres-mini .g-verifier{margin-top:calc(16 * var(--u));font-size:max(11px, calc(15 * var(--u)))}
  .texte-ref .chiffres-mini .g-verifier svg{width:calc(22 * var(--u));height:calc(22 * var(--u))}
  .texte-ref .bouton-renvoi{display:inline-block;margin-top:calc(50 * var(--u));padding:0 calc(22 * var(--u));background:#000;color:#fff;font-weight:700;font-size:max(12px, calc(15 * var(--u)));line-height:calc(48 * var(--u));text-decoration:none;transition:background .25s}
  .texte-ref .bouton-renvoi:hover{background:var(--orange)}
  @media (max-width: 767px){ .texte-ref .chiffres-mini .g-ch-grille{grid-template-columns:1fr 1fr} .texte-ref .chiffres-mini .g-ch b{font-size:28px} }

  /* Tableau de bord des résultats (Blocs.tableauResultats, revu le 02/11) : en tête la légende et le bouton « Graphique » ; un tableau blanc, lisible, par groupes
     (Activité · Cash-flow et bilan · Clients), chiffres alignés, variation en petite étiquette, « ✦ Expliquer » au survol de la ligne, le semestre à part ;
     le graphique remplace le tableau (un indicateur à la fois) ; dessous, le dernier trimestre, puis les activités et les objectifs en cartes */
  .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .tableau-bord{width:100%;max-width:calc(1360 * var(--u));margin:0 auto;color:#1a1a1a}
  .tb-tete{display:flex;justify-content:center;align-items:center;gap:calc(30 * var(--u));margin-bottom:calc(22 * var(--u))}
  .tb-legende{margin:0;font-weight:600;font-size:max(11px, calc(14 * var(--u)));color:#8c8c8c}
  .tb-bascule{display:inline-flex;align-items:center;gap:calc(10 * var(--u));height:calc(44 * var(--u));min-height:32px;padding:0 calc(18 * var(--u));border:0;background:#000;color:#fff;font:inherit;font-weight:700;font-size:max(12px, calc(14 * var(--u)));cursor:pointer;transition:background .2s}
  .tb-bascule:hover{background:var(--orange)}
  .tb-bascule svg{width:calc(16 * var(--u));height:calc(16 * var(--u));min-width:12px;min-height:12px}
  .tb-vue[hidden]{display:none}
  .tb-tableau{background:#fff;overflow-x:auto}
  .tb-tableau table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
  .tb-tableau thead th{position:sticky;top:0;padding:calc(22 * var(--u)) calc(18 * var(--u)) calc(16 * var(--u));background:#fff;border-bottom:1px solid #1a1a1a;text-align:right;font-weight:700;font-size:max(11px, calc(14 * var(--u)));color:#1a1a1a;white-space:nowrap}
  .tb-tableau thead th small{display:block;margin-top:2px;font-weight:600;font-size:max(9px, calc(11 * var(--u)));color:#8c8c8c}
  .tb-tableau thead th.ref{color:var(--orange)}
  .tb-tableau tr.groupe th{padding:calc(26 * var(--u)) calc(30 * var(--u)) calc(8 * var(--u));text-align:left;font-weight:700;font-size:max(11px, calc(13 * var(--u)));color:#8c8c8c;border-bottom:1px solid #ececec}
  .tb-tableau tbody tr:not(.groupe){transition:background .15s}
  .tb-tableau tbody tr:not(.groupe):hover{background:#fafafa}
  .tb-tableau tbody th[scope=row]{padding:calc(16 * var(--u)) calc(18 * var(--u)) calc(16 * var(--u)) calc(30 * var(--u));text-align:left;border-bottom:1px solid #ececec;white-space:nowrap}
  .tb-tableau tbody th[scope=row] b{display:block;font-weight:700;font-size:max(12px, calc(16 * var(--u)))}
  .tb-tableau tbody th[scope=row] small{display:block;margin-top:2px;font-weight:600;font-size:max(9px, calc(12 * var(--u)));color:#8c8c8c}
  .tb-tableau td{padding:calc(16 * var(--u)) calc(18 * var(--u));text-align:right;vertical-align:top;border-bottom:1px solid #ececec}
  .tb-tableau td b{display:block;font-weight:600;font-size:max(13px, calc(19 * var(--u)));line-height:1.2;white-space:nowrap}
  .tb-tableau td.ref b{font-weight:800}
  .tb-tableau td b sup{font-size:.55em;font-weight:600;color:#8c8c8c;margin-left:1px;vertical-align:top}
  .tb-tableau .semestre{border-left:1px dashed #cfcfcf;background:#fbfbfb}
  .var{display:inline-block;margin-top:calc(5 * var(--u));padding:1px calc(6 * var(--u));font-style:normal;font-weight:700;font-size:max(9px, calc(11.5 * var(--u)));white-space:nowrap;color:#707070;background:#f2f2f2}
  .var.hausse{color:#1a1a1a;background:#ffe9d9}
  .var.hausse::before{content:"▲ ";font-size:.75em;color:var(--orange)}
  .var.baisse::before{content:"▼ ";font-size:.75em;color:#8c8c8c}
  .tb-tableau td .var{display:inline-block}
  .tb-tableau td.ia{width:calc(110 * var(--u));padding-left:0;vertical-align:middle;text-align:left}
  .tb-expliquer{display:inline-flex;align-items:center;gap:calc(6 * var(--u));padding:calc(6 * var(--u)) calc(8 * var(--u));border:0;background:none;font:inherit;font-weight:700;font-size:max(10px, calc(12 * var(--u)));color:#1a1a1a;cursor:pointer;opacity:0;transition:opacity .2s, background .2s}
  .tb-expliquer svg{width:calc(16 * var(--u));height:calc(16 * var(--u))}
  .tb-tableau tr:hover .tb-expliquer, .tb-expliquer:focus-visible{opacity:1}
  .tb-expliquer:hover{background:#f2f2f2}
  /* le graphique */
  .tb-graphique{background:#fff;padding:calc(30 * var(--u)) calc(40 * var(--u)) calc(34 * var(--u))}
  .tb-indic{display:flex;flex-wrap:wrap;gap:calc(8 * var(--u));margin-bottom:calc(30 * var(--u))}
  .tb-indic button{font:inherit;font-weight:700;font-size:max(10px, calc(13 * var(--u)));line-height:calc(34 * var(--u));padding:0 calc(14 * var(--u));border:1px solid rgba(0,0,0,.2);background:transparent;color:#1a1a1a;cursor:pointer;transition:background .2s, color .2s, border-color .2s}
  .tb-indic button:hover{border-color:#000}
  .tb-indic button.actif{background:var(--orange);border-color:var(--orange);color:#fff}
  .tb-graph-tete{display:flex;align-items:baseline;gap:calc(12 * var(--u));margin-bottom:calc(40 * var(--u))}
  .tb-graph-tete b{font-weight:700;font-size:max(14px, calc(22 * var(--u)))}
  .tb-graph-tete small{font-weight:600;font-size:max(10px, calc(13 * var(--u)));color:#8c8c8c}
  .tb-graph .serie{display:flex;align-items:flex-end;gap:calc(36 * var(--u));height:calc(340 * var(--u));border-bottom:1px solid #1a1a1a}
  .tb-graph .an{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%}
  .tb-graph .b{position:relative;height:0;background:#d9d9d9;transition:height .7s cubic-bezier(.2,.7,.15,1)}
  .tb-graph.vu .b{height:var(--h)}
  .tb-graph .an:nth-last-child(2) .b{background:var(--orange)}
  .tb-graph .an.semestre .b{background:repeating-linear-gradient(135deg, #ffd2b0 0 6px, #fff2e8 6px 12px)}
  .tb-graph .b span{position:absolute;left:0;right:0;top:calc(-30 * var(--u));text-align:center;font-weight:700;font-size:max(11px, calc(15 * var(--u)));font-variant-numeric:tabular-nums;opacity:0;transition:opacity .3s .5s}
  .tb-graph.vu .b span{opacity:1}
  .tb-graph .vide{text-align:center;padding-bottom:calc(10 * var(--u));font-weight:700;font-size:max(11px, calc(14 * var(--u)));color:#8c8c8c}
  .tb-graph small{position:absolute;left:0;right:0;top:calc(100% + 12 * var(--u));text-align:center;font-weight:700;font-size:max(10px, calc(13 * var(--u)));color:#1a1a1a}
  .tb-graph em{position:absolute;left:50%;top:calc(100% + 36 * var(--u));transform:translateX(-50%);margin:0}
  .tb-graph-ia{margin-top:calc(90 * var(--u))}
  /* 02/11 : le tableau (et le graphique) dans un écran noir plein cadre, dans l'esprit de la carte du monde (Présence internationale) :
     fond noir bord à bord, hauteur d'écran, contenu centré, filets blancs fins, la dernière année pleine en orange,
     le bouton Graphique en pastille à contour blanc (orange quand le graphique est affiché), comme les pastilles de la carte */
  .tb-ecran{position:relative;box-sizing:border-box;width:100vw;margin-left:calc(50% - 50vw);min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:calc(60 * var(--u)) calc((100vw - 1360 * var(--u)) / 2) calc(140 * var(--u));background:#000;color:#fff;scroll-snap-align:start}
  .tb-ecran .tb-titre{color:#fff;margin-bottom:calc(36 * var(--u))}
  .tb-ecran .tb-tete{margin-bottom:calc(30 * var(--u))}
  .tb-ecran .tb-bascule{height:auto;min-height:0;line-height:calc(32 * var(--u));padding:0 calc(14 * var(--u));background:transparent;border:1px solid rgba(255,255,255,.3);font-size:max(10px, calc(12 * var(--u)));transition:background .2s, border-color .2s}
  .tb-ecran .tb-bascule:hover{background:transparent;border-color:#fff}
  .tb-ecran .tb-bascule[aria-pressed="true"]{background:var(--orange);border-color:var(--orange)}
  .tb-ecran .tb-bascule svg{width:calc(13 * var(--u));height:calc(13 * var(--u))}
  .tb-ecran .tb-tableau{background:transparent}
  .tb-ecran .tb-tableau thead th{background:#000;color:#fff;border-bottom-color:rgba(255,255,255,.6);padding-top:calc(12 * var(--u))}
  .tb-ecran .tb-tableau thead th.ref{color:var(--orange)}
  .tb-ecran .tb-tableau thead th small, .tb-ecran .tb-tableau tbody th[scope=row] small, .tb-ecran .tb-tableau td b sup{color:rgba(255,255,255,.5)}
  .tb-ecran .tb-tableau tr.groupe th{color:rgba(255,255,255,.5);border-bottom-color:rgba(255,255,255,.15);padding-top:calc(18 * var(--u));padding-bottom:calc(6 * var(--u))}
  .tb-ecran .tb-tableau tbody th[scope=row], .tb-ecran .tb-tableau td{border-bottom-color:rgba(255,255,255,.15);padding-top:calc(7 * var(--u));padding-bottom:calc(7 * var(--u))}
  .tb-ecran .tb-tableau td b{display:inline;font-size:max(13px, calc(18 * var(--u)))}
  .tb-ecran .tb-tableau td .var{margin:0 0 0 calc(8 * var(--u));vertical-align:2px}   /* la variation à droite du chiffre : une ligne par indicateur */
  .tb-ecran .tb-tableau td{white-space:nowrap;vertical-align:middle}
  .tb-ecran .tb-tableau tbody tr:not(.groupe):hover{background:rgba(255,255,255,.06)}
  .tb-ecran .tb-tableau td b{color:#fff}
  .tb-ecran .tb-tableau td.ref b{color:var(--orange)}
  .tb-ecran .tb-tableau .semestre{border-left-color:rgba(255,255,255,.3);background:rgba(255,255,255,.04)}
  .tb-ecran .var{color:rgba(255,255,255,.7);background:rgba(255,255,255,.1)}
  .tb-ecran .var.hausse{color:#fff;background:rgba(255,121,0,.28)}
  .tb-ecran .var.baisse::before{color:rgba(255,255,255,.5)}
  .tb-ecran .tb-expliquer{color:#fff}
  .tb-ecran .tb-expliquer:hover{background:rgba(255,255,255,.1)}
  .tb-ecran .tb-graphique{background:transparent;padding:0}
  .tb-ecran .tb-indic{justify-content:center}
  .tb-ecran .tb-indic button{font-size:max(9px, calc(11 * var(--u)));line-height:calc(32 * var(--u));border-color:rgba(255,255,255,.3);color:#fff}
  .tb-ecran .tb-indic button:hover{border-color:#fff}
  .tb-ecran .tb-indic button.actif{background:var(--orange);border-color:var(--orange)}
  .tb-ecran .tb-graph-tete{justify-content:center}
  .tb-ecran .tb-graph-tete b, .tb-ecran .tb-graph small, .tb-ecran .tb-graph .b span{color:#fff}
  .tb-ecran .tb-graph-tete small, .tb-ecran .tb-graph .vide{color:rgba(255,255,255,.5)}
  .tb-ecran .tb-graph .serie{border-bottom-color:rgba(255,255,255,.6)}
  .tb-ecran .tb-graph .b{background:#3a3a3a}
  .tb-ecran .tb-graph .an:nth-last-child(2) .b{background:var(--orange)}
  .tb-ecran .tb-graph .an.semestre .b{background:repeating-linear-gradient(135deg, rgba(255,121,0,.7) 0 6px, rgba(255,121,0,.18) 6px 12px)}
  .tb-ecran .tb-graph-ia{display:flex;margin:calc(80 * var(--u)) auto 0;color:#fff}
  @media (max-width: 767px){ .tb-ecran{min-height:0;padding:64px 16px} }
  /* dessous : le dernier trimestre, puis les cartes */
  .tb-dernier{margin-top:0;min-height:calc(984 * var(--u));display:flex;flex-direction:column;justify-content:center;padding:calc(80 * var(--u)) 0;box-sizing:border-box}   /* 02/11 : le dernier trimestre en pleine page, aéré comme les chiffres clés */
  .tb-dernier h3, .tb-carte h3{margin:0 0 calc(30 * var(--u));font-weight:700;font-size:max(14px, calc(22 * var(--u)))}
  .tb-dernier .g-ch-grille{grid-template-columns:repeat(var(--n), auto);justify-content:center;column-gap:calc(60 * var(--u))}
  .tb-dernier .g-ch{min-width:0}
  .tb-dernier .g-ch b{font-size:calc(62 * var(--u))}
  .tb-dernier > h3{text-align:center;font-size:max(18px, calc(40 * var(--u)));margin-bottom:calc(120 * var(--u))}
  @media (max-width: 767px){ .tb-dernier{min-height:0;padding:60px 0} .tb-dernier > h3{margin-bottom:32px} .tb-dernier .g-ch-grille{grid-template-columns:1fr} }
  .tb-cartes{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:calc(24 * var(--u));margin-top:calc(80 * var(--u))}
  .tb-carte{background:#fff;padding:calc(36 * var(--u)) calc(40 * var(--u))}
  .tb-carte .act{display:grid;grid-template-columns:minmax(0, 1.2fr) auto minmax(0, 1fr);gap:calc(20 * var(--u));align-items:center;padding:calc(16 * var(--u)) 0;border-top:1px solid #ececec}
  .tb-carte .act .nom b{display:block;font-weight:700;font-size:max(12px, calc(16 * var(--u)))}
  .tb-carte .act .vals{text-align:right}
  .tb-carte .act .vals b{display:block;font-weight:700;font-size:max(12px, calc(17 * var(--u)));font-variant-numeric:tabular-nums;white-space:nowrap}
  .tb-carte .act small{display:block;font-weight:600;font-size:max(9px, calc(12 * var(--u)));color:#8c8c8c;white-space:nowrap}
  .tb-carte .marge i{display:block;height:calc(6 * var(--u));min-height:4px;margin-bottom:calc(6 * var(--u));background:linear-gradient(90deg, var(--orange) var(--m), #ececec var(--m))}
  .tb-carte ul{list-style:none;margin:0;padding:0}
  .tb-carte li{display:flex;justify-content:space-between;align-items:baseline;gap:calc(24 * var(--u));padding:calc(16 * var(--u)) 0;border-top:1px solid #ececec;font-size:max(12px, calc(15 * var(--u)))}
  .tb-carte li span{font-weight:600;color:#707070}
  .tb-carte li b{font-weight:700;text-align:right}
  .tb-note{margin:calc(40 * var(--u)) 0 0;font-size:max(10px, calc(12 * var(--u)));line-height:1.55;color:#8c8c8c}
  @media (max-width: 767px){ .tb-cartes{grid-template-columns:1fr} .tb-graph .serie{height:200px;gap:10px} .tb-tableau td b{font-size:14px} .tb-expliquer{opacity:1} .tb-expliquer span{display:none} }


  /* Cette page vous a-t-elle été utile ? (Blocs.utile) : toujours le dernier élément avant le pied */
  .utile-ref{display:flex;justify-content:center;align-items:center;gap:calc(14 * var(--u));padding:calc(60 * var(--u)) 16px;background:#f0f0f0;font-weight:500;font-size:max(12px, calc(16 * var(--u)))}
  .utile-ref span{margin-right:calc(12 * var(--u))}
  .utile-ref .btn{margin:0;min-height:calc(40 * var(--u))}

  /* Page clé (Blocs.pageCle) : photo plein cadre 1030u, voile plus sombre sur les bords, titre 72u à gauche, texte 20u + bouton blanc à droite.
     Accueil (Trust the future, la Fondation) et Actualités (À la une) */
  .page-cle{position:relative;height:calc(1030 * var(--u));overflow:hidden;background:#111;color:#fff}
  .page-cle .img{position:absolute;inset:0;background:center / cover no-repeat}
  .page-cle .img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.12) 48%, rgba(0,0,0,.12) 55%, rgba(0,0,0,.62))}   /* un peu plus sombre sur les bords : le texte reste lisible */
  .page-cle .titre{position:absolute;z-index:1;left:calc(99 * var(--u));top:50%;transform:translateY(-50%);width:calc(620 * var(--u))}
  .page-cle .sur{display:block;margin-bottom:calc(22 * var(--u));font-weight:600;font-size:max(11px, calc(15.5 * var(--u)));opacity:.85}
  .page-cle h2{margin:0;font-family:var(--hn);font-weight:700;font-size:calc(72 * var(--u));line-height:1.02}
  .page-cle .texte{position:absolute;z-index:1;right:calc(99 * var(--u));top:50%;transform:translateY(-50%);width:calc(400 * var(--u))}
  .page-cle p{margin:0;font-weight:700;font-size:max(14px, calc(20 * var(--u)));line-height:1.4}
  .page-cle .bouton{display:inline-block;margin-top:calc(36 * var(--u));padding:0 calc(22 * var(--u));background:#fff;color:#000;font-weight:700;font-size:max(12px, calc(15 * var(--u)));line-height:calc(48 * var(--u));text-decoration:none;transition:background-color .25s, color .25s}
  .page-cle .bouton::after{content:"";width:.78em;height:.78em;background:currentColor;-webkit-mask:var(--fleche) center / contain no-repeat;mask:var(--fleche) center / contain no-repeat;vertical-align:-.06em;display:inline-block;margin-left:.4em;color:var(--orange);transition:transform .25s cubic-bezier(.2,.7,.15,1)}
  .page-cle .bouton:hover{background:var(--orange);color:#fff}
  .page-cle .bouton:hover::after{color:#fff;transform:translateX(3px)}
  @media (max-width: 767px){
    .page-cle{height:auto;min-height:80vh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 16px 40px}
    .page-cle .titre, .page-cle .texte{position:relative;left:auto;right:auto;top:auto;transform:none;width:auto}
    .page-cle h2{font-size:34px}
    .page-cle .texte{margin-top:16px}
    .page-cle p{font-size:15px}
  }

  /* En bref (Blocs.bref) : carte blanche, étoile IA en haut à droite, titre 29u, liste numérotée orange 19u */
  .bref-ref{position:relative;box-sizing:border-box;background:#fff;padding:calc(69 * var(--u)) calc(121 * var(--u)) calc(82 * var(--u)) calc(86 * var(--u));color:#000;text-align:left}
  .bref-ref .etoile-ia{position:absolute;top:calc(66 * var(--u));right:calc(121 * var(--u));width:calc(30 * var(--u));height:calc(30 * var(--u))}
  .bref-ref .etoile-ia svg{width:100%;height:100%}
  .bref-ref h2{margin:0 0 calc(70 * var(--u));font-weight:500;font-size:calc(29 * var(--u));line-height:1.2}
  .bref-ref ol{list-style:none;margin:0;padding:0;counter-reset:b;display:grid;gap:calc(36 * var(--u))}
  .bref-ref li{counter-increment:b;display:grid;grid-template-columns:calc(83 * var(--u)) 1fr;font-weight:500;font-size:max(13px, calc(19 * var(--u)));line-height:1.64}
  .bref-ref li::before{content:counter(b);color:var(--orange);font-weight:400}

  /* Points numérotés (Blocs.points) : numéro orange 29u, titre 21u, texte 17u #555, colonne de 83u */
  .points-ref{list-style:none;margin:calc(70 * var(--u)) 0 0;padding:0;display:grid;gap:calc(46 * var(--u))}
  .points-ref li{display:grid;grid-template-columns:calc(83 * var(--u)) 1fr}
  .points-ref .n{font-weight:500;font-size:calc(29 * var(--u));line-height:1.2;color:var(--orange)}
  .points-ref h3{margin:0 0 calc(14 * var(--u));font-weight:600;font-size:max(14px, calc(21 * var(--u)));line-height:1.3}
  .points-ref p{margin:0;font-size:max(12px, calc(17 * var(--u)));line-height:1.64;color:#555}
  @media (max-width: 767px){
    .bref-ref{padding:32px 22px 36px}
    .bref-ref .etoile-ia{top:32px;right:22px;width:20px;height:20px}
    .bref-ref h2{font-size:22px;margin-bottom:26px}
    .bref-ref ol{gap:18px}
    .bref-ref li{grid-template-columns:30px 1fr;font-size:15px}
    .points-ref li{grid-template-columns:30px 1fr}
    .points-ref .n{font-size:20px}
    .points-ref h3{font-size:16px}
    .points-ref p{font-size:14px}
  }

  /* Frise (Blocs.frise) : une ligne orange centrale de 3u ; les jalons alternent de part et d'autre, un carré orange sur la ligne ;
     chaque jalon au style du composant chiffres clés : date 62u gras, titre 22u #707070, texte 17u #555, « ✦ Vérifier » */
  .frise-ref{position:relative;width:min(100%, calc(1200 * var(--u)));margin:0 auto;padding:calc(20 * var(--u)) 0}
  .frise-ref::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:calc(3 * var(--u));background:var(--orange);transform:translateX(-50%)}
  .frise-ref .g-ch{position:relative;width:50%;min-width:0;min-height:0;box-sizing:border-box;border-left:0;padding:0 calc(70 * var(--u)) calc(70 * var(--u)) 0;text-align:right}
  .frise-ref .g-ch:nth-child(even){margin-left:50%;padding:0 0 calc(70 * var(--u)) calc(70 * var(--u));text-align:left}
  .frise-ref .g-ch::after{content:"";position:absolute;top:calc(24 * var(--u));right:calc(-9 * var(--u));width:calc(18 * var(--u));height:calc(18 * var(--u));background:var(--orange)}   /* le carré du jalon, sur la ligne */
  .frise-ref .g-ch:nth-child(even)::after{right:auto;left:calc(-9 * var(--u))}
  .frise-ref .g-ch:last-child{padding-bottom:0}
  .frise-ref .g-ch .detail{display:block;max-width:calc(460 * var(--u));margin:calc(14 * var(--u)) 0 0 auto;font-size:max(12px, calc(17 * var(--u)));line-height:1.6;color:#555}
  .frise-ref .g-ch:nth-child(even) .detail{margin-left:0}
  @media (max-width: 767px){
    .frise-ref::before{left:8px}
    .frise-ref .g-ch, .frise-ref .g-ch:nth-child(even){width:auto;margin-left:0;padding:0 0 40px 34px;text-align:left}
    .frise-ref .g-ch::after, .frise-ref .g-ch:nth-child(even)::after{left:0;right:auto}
    .frise-ref .g-ch .detail{margin-left:0}
  }

  /* Contacts (Blocs.contacts) : la ligne du composant documents ; enveloppe à gauche, « ✦ Demander à l'IA » orange, « Écrire » noir */
  .contacts-ref .fichier svg{width:calc(30 * var(--u));height:calc(22 * var(--u))}
  .contacts-ref .doc small{display:block;margin-top:calc(4 * var(--u))}

  @media (max-width: 767px){
  }

  /* Bloc de redirection : une étiquette facultative au-dessus du titre (À la une · Dossier · Stratégie) */
  .bloc-redir .sur{position:absolute;z-index:1;left:calc(60 * var(--u));top:calc(64 * var(--u));font-weight:600;font-size:max(11px, calc(15.5 * var(--u)));letter-spacing:.02em}
  .bloc-redir .sur ~ h2{top:calc(104 * var(--u));max-width:calc(900 * var(--u))}

  @media (max-width: 767px){
    .faq-ref .entete h2{font-size:24px}
    .faq-ref summary{font-size:15px}
    .faq-ref .reponse p{font-size:14px}
    .faq-ref .demander{height:42px;font-size:13px}
    .g-rail{padding:0 16px;gap:10px;scroll-padding-left:16px}
    .g-pa{width:78vw;padding:0 18px 24px}
    .g-pa h3{font-size:19px}
    .g-pa p{font-size:13px}
    .g-pa .fl{top:auto;bottom:14px;right:18px;width:18px;height:18px}
    .grille-pa{grid-template-columns:1fr}
    .grille-pa .g-pa{width:auto}
    .membres{grid-template-columns:1fr 1fr;gap:24px 12px}
    .membre b{font-size:15px}
    .membre small, .membre .voir{font-size:12px}
    .contact-ia{min-height:70vh;padding:60px 16px}
    .contact-ia h2{font-size:26px}
    .ecrire-ia{width:100%;height:76px;padding:0 12px 0 18px}
    .ecrire-ia.assistant{width:100%;height:64px;padding:0 12px 0 18px;gap:12px}
    .ecrire-ia.assistant .q, .ecrire-ia.assistant input{font-size:15px}
    .ecrire-ia.assistant .ico{width:18px;height:18px}
    .ecrire-ia.assistant .carre{width:40px;height:40px}
    .ecrire-ia .q, .ecrire-ia .t{left:18px;font-size:15px}
    .ecrire-ia .carre{width:46px;height:46px}
    .utile-ref{padding:30px 16px;flex-wrap:wrap}
  }

  /* B07 Texte et visuel */
  .w-tv{display:grid;grid-template-columns:1fr 1fr;gap:calc(60 * var(--u));align-items:center}
  .w-tv .w-vis{height:calc(440 * var(--u))}
  .w-tv.inverse .w-vis{order:2}
  .w-tv .w-p{margin-top:calc(16 * var(--u))}
  .w-tv .w-lien{display:inline-block;margin-top:calc(22 * var(--u))}
  .w-contenu .w-tv{gap:calc(40 * var(--u))}
  .w-contenu .w-tv .w-vis{height:calc(300 * var(--u))}

  /* B12 Documents */
  .w-doc{display:grid;grid-template-columns:calc(40 * var(--u)) 1fr auto;gap:calc(20 * var(--u));align-items:center;padding:calc(18 * var(--u)) 0;border-top:1px solid rgba(0,0,0,.12)}
  .w-doc:last-child{border-bottom:1px solid rgba(0,0,0,.12)}
  .w-doc .type{width:calc(40 * var(--u));height:calc(40 * var(--u));background:#000;color:#fff;display:grid;place-items:center;font-size:max(7px, calc(8 * var(--u)));font-weight:700;letter-spacing:.05em}
  .w-doc b{display:block;font-size:max(11px, calc(14 * var(--u)))}
  .w-doc span{font-size:max(8px, calc(10 * var(--u)));font-weight:700;opacity:.45}
  .w-doc .actions{display:flex;gap:calc(8 * var(--u))}
  .w-doc .btn{margin:0}

  /* B13 FAQ */
  .w-faq details{border-top:1px solid rgba(0,0,0,.12)}
  .w-faq details:last-child{border-bottom:1px solid rgba(0,0,0,.12)}
  .w-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:calc(20 * var(--u)) 0;font-weight:700;font-size:max(11px, calc(15 * var(--u)))}
  .w-faq summary::-webkit-details-marker{display:none}
  .w-faq summary::after{content:"+";color:var(--orange);font-size:calc(22 * var(--u))}
  .w-faq details[open] summary::after{content:"−"}
  .w-faq .w-p{padding:0 0 calc(22 * var(--u));width:calc(1000 * var(--u));max-width:100%}

  /* B14 Contact : le panneau noir de la Fondation */
  .w-contact{background:#000;color:#fff;padding:calc(30 * var(--u)) calc(36 * var(--u));display:flex;align-items:center;justify-content:space-between;gap:calc(40 * var(--u))}
  .w-contact h3{font-weight:700;font-size:calc(24 * var(--u))}
  .w-contact .w-p{margin-top:calc(8 * var(--u));opacity:.7;font-weight:700;font-size:max(9px, calc(12 * var(--u)))}
  .w-contact .btn{margin:0}

  /* B15 Utilité de la page */
  .w-utilite{display:flex;align-items:center;gap:calc(14 * var(--u));font-weight:700;font-size:max(9px, calc(12 * var(--u)));padding:calc(20 * var(--u)) 0;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12)}
  .w-utilite .btn{margin:0}

  /* B16 Personnes */
  .w-personnes .grille{display:grid;grid-template-columns:repeat(4, 1fr);gap:calc(24 * var(--u)) calc(14 * var(--u))}
  .w-personne .portrait{aspect-ratio:1;background:#1a1a1a;position:relative;display:grid;place-items:center;font-family:var(--hn);font-weight:700;font-size:calc(40 * var(--u));color:rgba(255,255,255,.25)}
  .w-personne .portrait::after{content:"";position:absolute;left:calc(14 * var(--u));bottom:calc(14 * var(--u));width:calc(40 * var(--u));height:calc(6 * var(--u));background:var(--orange)}
  .w-personne b{display:block;margin-top:calc(12 * var(--u));font-size:max(10px, calc(13 * var(--u)))}
  .w-personne span{display:block;font-size:max(8px, calc(11 * var(--u)));font-weight:700;opacity:.5;line-height:1.3}
  .w-personne .w-lien{display:block;margin-top:calc(6 * var(--u));font-size:max(8px, calc(10 * var(--u)))}

  /* G3 Pied de page */
  /* le pied de page (30/10, d'après sa maquette) : orange, quatre colonnes, sa propre barre IA, les liens légaux sur une ligne */
  .w-pied{background:var(--orange);color:#fff;padding:calc(112 * var(--u)) 0;scroll-snap-align:end}   /* aimanté en bas de page (01/11) ; sur l'accueil, l'aimant de la page fait de même */
  .w-pied .pied-in{width:calc(1032 * var(--u));margin:0 auto}
  .w-pied .colonnes{display:grid;grid-template-columns:repeat(4, auto);justify-content:space-between}
  .w-pied h4{margin:0 0 calc(8 * var(--u));font-weight:700;font-size:max(12px, calc(19 * var(--u)));line-height:1.6}
  .w-pied ul{list-style:none;margin:0;padding:0}
  .w-pied li{font-size:max(11px, calc(17 * var(--u)));line-height:calc(36 * var(--u))}
  .w-pied li a{color:rgba(255,255,255,.72);text-decoration:none;transition:color .3s}
  .w-pied li a:hover{color:#fff}
  .pied-barre{display:flex;align-items:center;gap:calc(26 * var(--u));height:calc(158 * var(--u));margin-top:calc(84 * var(--u));padding:0 calc(50 * var(--u)) 0 calc(71 * var(--u));background:#fff}
  /* la grande barre du pied est toujours là ; la barre IA fixe s'efface juste avant l'arrivée du pied (commun.js, 01/11) */
  .pied-barre input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:max(13px, calc(21 * var(--u)));color:#000}
  .pied-barre input::placeholder{color:#8c8c8c}
  .pied-barre .micro svg{display:block;width:calc(21 * var(--u));height:calc(21 * var(--u));opacity:.5}
  .pied-barre .envoi{flex:none;width:calc(56 * var(--u));height:calc(56 * var(--u));background:var(--orange);border:0;padding:0;display:grid;place-items:center;cursor:pointer}
  .pied-barre .envoi svg{width:calc(25 * var(--u));height:calc(25 * var(--u));transition:transform .25s cubic-bezier(.2,.7,.15,1)}
  .pied-barre .envoi:hover svg{transform:scale(1.18) rotate(15deg)}
  .w-pied .legal{display:flex;justify-content:space-between;gap:calc(12 * var(--u));margin-top:calc(104 * var(--u))}
  .w-pied .legal a{color:#fff;text-decoration:none;white-space:nowrap;font-size:max(9px, calc(14 * var(--u)))}
  .w-pied .legal a:hover{text-decoration:underline}
  /* 05/11 : le pied de page de la maquette « Accueil Marge element », sur tout le site (ordinateur) : un écran noir, le carré orange du cadre avec la barre IA dedans
     (sur l'accueil c'est la barre de la page qui y remonte, index.html ; ailleurs, la barre du pied), les quatre colonnes de part et d'autre, les mentions à 811.
     Cotes en --px (1 px de la maquette 1440 × 860, commun.css), calées sur le centre de l'écran */
  @media (min-width: 768px){
    .w-pied{--pied-sq:calc(680 * var(--px));--pied-top:calc((100vh - 680 * var(--px)) / 2);--pied-bar:calc((100vh - 680 * var(--px)) / 2 + 479 * var(--px));--pied-bw:calc(480 * var(--px));--pied-bh:calc(101 * var(--px));--pied-bb:calc(59 * var(--px))}
    .w-pied{height:100vh;box-sizing:border-box;padding:0;background:#000;position:relative}
    .w-pied::before{content:"";position:absolute;left:50%;top:var(--pied-top);width:var(--pied-sq);height:var(--pied-sq);transform:translateX(-50%);background:var(--orange)}
    .w-pied .pied-in{position:absolute;inset:0;width:auto;margin:0}
    .w-pied .colonnes{display:block}
    .w-pied .colonnes > div{position:absolute}
    .w-pied .colonnes > div:nth-child(1){left:max(40px, calc(50% - 607 * var(--px)));top:calc(50% - 235 * var(--px))}
    .w-pied .colonnes > div:nth-child(2){left:max(40px, calc(50% - 607 * var(--px)));top:calc(50% + 54 * var(--px))}
    .w-pied .colonnes > div:nth-child(3){left:min(calc(50% + 450 * var(--px)), calc(100% - 40px - 150 * var(--px)));top:calc(50% - 233 * var(--px))}
    .w-pied .colonnes > div:nth-child(4){left:min(calc(50% + 450 * var(--px)), calc(100% - 40px - 150 * var(--px)));top:calc(50% + 54 * var(--px))}
    .w-pied h4{margin:0;font-size:max(11px, calc(15 * var(--px)));line-height:calc(21.75 * var(--px))}
    .w-pied li{font-size:max(11px, calc(14 * var(--px)));line-height:calc(20.3 * var(--px));margin-top:calc(10 * var(--px))}
    .w-pied li a{color:rgba(255,255,255,.7)}
    /* la barre du pied, dans le carré orange, aux cotes de la barre de l'accueil (480 × 101, carré orange de 59) */
    .w-pied .pied-barre{position:absolute;left:calc(50% - var(--pied-bw) / 2);top:var(--pied-bar);width:var(--pied-bw);height:var(--pied-bh);margin:0;padding:0 calc(21 * var(--px)) 0 calc(46 * var(--px));gap:calc(26 * var(--px))}
    .w-pied .pied-barre input{font-size:max(12px, calc(15 * var(--px)))}
    .w-pied .pied-barre .micro svg{width:calc(19.3 * var(--px));height:calc(19.3 * var(--px))}
    .w-pied .pied-barre .envoi{width:var(--pied-bb);height:var(--pied-bb)}
    .w-pied .pied-barre .envoi svg{width:calc(23 * var(--px));height:calc(23 * var(--px))}
    .w-pied .legal{position:absolute;left:0;right:0;top:calc(50% + 381 * var(--px));margin:0;justify-content:center;gap:calc(13.5 * var(--px))}
    .w-pied .legal a{font-size:max(9px, calc(11 * var(--px)))}
  }

  /* ---- blocs propres à l'accueil ---- */
  .w-carre{position:relative;height:calc(900 * var(--u));background:#000}
  .w-carre .boite{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(620 * var(--u));height:calc(560 * var(--u));overflow:hidden;background:#222}
  .w-carre .boite img{width:100%;height:100%;object-fit:cover;object-position:62% 38%;opacity:.8}
  .w-carre .boite p{position:absolute;left:calc(56 * var(--u));top:calc(192 * var(--u));width:calc(508 * var(--u));font-family:var(--hn);font-weight:700;font-size:calc(36 * var(--u));line-height:calc(38 * var(--u));text-shadow:0 2px 24px rgba(0,0,0,.6)}
  .w-carre .note{position:absolute;left:calc(99 * var(--u));bottom:calc(40 * var(--u));width:calc(500 * var(--u));font-size:max(8px, calc(10 * var(--u)));font-weight:700;opacity:.45;line-height:1.5}
  /* Temps fort = bandeau d'alerte sur fond orange, affiché seulement en cas d'urgence ou d'annonce importante */
  .w-tempsfort{background:var(--orange);color:#fff;padding:calc(26 * var(--u)) calc(99 * var(--u));display:flex;align-items:center;gap:calc(40 * var(--u))}
  .w-tempsfort .tag{font-size:max(8px, calc(10 * var(--u)));font-weight:700;color:#fff;opacity:.85;white-space:nowrap}
  .w-tempsfort p{flex:1;font-weight:700;font-size:max(12px, calc(16 * var(--u)))}
  .w-tempsfort .btn{margin:0;background:#000;color:#fff}
  .w-tempsfort .btn:hover{background:#fff;color:#000}
  .w-profils .grille{display:grid;grid-template-columns:repeat(4, 1fr);gap:calc(14 * var(--u))}
  .w-profil{border-left:calc(3 * var(--u)) solid var(--orange);padding:calc(14 * var(--u)) 0 calc(14 * var(--u)) calc(28 * var(--u))}
  .w-profil .w-sur{margin-bottom:calc(10 * var(--u))}
  .w-profil h3{font-weight:700;font-size:calc(24 * var(--u));line-height:1.15}
  .w-profil ul{list-style:none;margin-top:calc(36 * var(--u))}
  .w-profil li{font-weight:700;font-size:max(9px, calc(12 * var(--u)));line-height:2}
  .w-profil li a{display:inline-block}
  .w-profil li a::after{content:"";width:.78em;height:.78em;background:currentColor;-webkit-mask:var(--fleche) center / contain no-repeat;mask:var(--fleche) center / contain no-repeat;vertical-align:-.06em;color:var(--orange);display:inline-block;margin-left:.4em;transition:transform .25s cubic-bezier(.2,.7,.15,1)}
  .w-profil li a:hover::after{transform:translateX(calc(5 * var(--u)))}
  .w-alaune .grille{display:grid;grid-template-columns:1fr 1fr calc(414 * var(--u));gap:calc(32 * var(--u))}
  .w-agenda h3{font-weight:700;font-size:calc(24 * var(--u));margin-bottom:calc(14 * var(--u))}
  .w-agenda .ev{border-top:1px solid rgba(0,0,0,.12);padding:calc(14 * var(--u)) 0}
  .w-agenda .ev:last-of-type{border-bottom:1px solid rgba(0,0,0,.12)}
  .w-agenda .ev small{display:block;font-size:max(8px, calc(10 * var(--u)));font-weight:700;opacity:.5}
  .w-agenda .ev b{display:block;font-size:max(11px, calc(14 * var(--u)));margin:calc(4 * var(--u)) 0}
  .w-agenda .ev .w-lien{font-size:max(8px, calc(10 * var(--u)))}
  .w-agenda .w-lien.tout{display:inline-block;margin-top:calc(16 * var(--u))}
  /* Monde : à gauche les chiffres (2 × 2) et les boutons, à droite la carte en carrés */
  .w-monde.w-gris{background:#000;color:#fff;padding-top:calc(260 * var(--u)) !important;padding-bottom:calc(260 * var(--u)) !important}
  .w-monde .w-entete{margin-bottom:calc(90 * var(--u))}
  .w-monde .w-lien::after{color:var(--orange)}
  .monde-grille{display:grid;grid-template-columns:calc(520 * var(--u)) 1fr;gap:calc(100 * var(--u));align-items:center}
  .w-monde .chiffres-monde{display:grid;grid-template-columns:1fr 1fr;gap:calc(50 * var(--u)) calc(24 * var(--u))}
  .w-monde .chiffres-monde b{font-size:calc(44 * var(--u))}
  .w-monde .chiffres-monde span{font-size:max(9px, calc(12 * var(--u)))}
  .w-monde .boutons{margin-top:calc(60 * var(--u));display:flex;gap:calc(10 * var(--u))}
  .w-monde .btn{margin:0}
  .btn.contour-blanc{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px #fff}
  .btn.contour-blanc:hover{background:#fff;color:#000}
  .carte-pix{position:relative}
  /* la carte plein écran (page Présence internationale) : filtres au-dessus, bouton de liste dessous */
  .w-monde.plein{box-sizing:border-box;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(80 * var(--u)) calc(40 * var(--u)) calc(150 * var(--u));scroll-margin-top:0;background:#000;color:#fff}
  .w-monde.plein .carte-pix{width:min(100%, calc((100vh - 380 * var(--u)) * 160 / 62))}
  .w-monde.plein .carte-pix[hidden]{display:none}
  .w-monde.plein .pills{margin-bottom:calc(24 * var(--u))}
  .w-monde.plein.en-liste{height:auto;min-height:100vh;justify-content:flex-start;padding-top:calc(130 * var(--u))}   /* la liste à la place de la carte : le bloc prend sa hauteur */   /* toute la carte tient dans l’écran */
  .w-monde.plein .pills{justify-content:center}
  .w-monde.plein .liens{display:flex;justify-content:center;margin-top:calc(30 * var(--u))}
  .w-monde.plein .liste-continents{width:100%;padding:0}
  .w-monde.simple .w-h2{margin:0 0 calc(40 * var(--u));text-align:center}   /* 05/11 : la carte de l'accueil, sur une autre page */
  .liste-continents{background:#000;color:#fff;padding:calc(110 * var(--u)) calc(84 * var(--u)) calc(190 * var(--u));scroll-margin-top:calc(96 * var(--u))}
  .liste-continents[hidden]{display:none}
  .liste-continents h2{margin:0 0 calc(70 * var(--u));text-align:center;font-weight:700;font-size:calc(40 * var(--u))}
  .liste-continents .continents{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:calc(70 * var(--u)) calc(60 * var(--u));max-width:calc(1360 * var(--u));margin:0 auto}
  .liste-continents h3{margin:0 0 calc(24 * var(--u));padding-bottom:calc(14 * var(--u));border-bottom:1px solid rgba(255,255,255,.25);font-weight:700;font-size:calc(26 * var(--u))}
  .liste-continents h3 span{color:var(--orange)}
  .liste-continents ul{list-style:none;margin:0;padding:0}
  .liste-continents li{padding:calc(9 * var(--u)) 0}
  .liste-continents li b{display:block;font-weight:600;font-size:max(13px, calc(18 * var(--u)))}
  .liste-continents li span{display:block;margin-top:2px;font-size:max(11px, calc(13 * var(--u)));color:#8c8c8c}
  @media (max-width: 767px){ .w-monde.plein{height:auto;padding:64px 16px} .w-monde.plein .carte-pix{width:100%} .liste-continents{padding:56px 16px} .liste-continents h2{font-size:24px} .liste-continents .continents{grid-template-columns:1fr;gap:36px} .liste-continents h3{font-size:20px} }
  .carte-pix .pills{display:flex;gap:calc(8 * var(--u));margin-bottom:calc(40 * var(--u));flex-wrap:wrap}
  .carte-pix .pills button{font-weight:700;font-size:max(9px, calc(11 * var(--u)));line-height:calc(32 * var(--u));padding:0 calc(14 * var(--u));border:1px solid rgba(255,255,255,.3);color:#fff;transition:background .2s,color .2s,border-color .2s}
  .carte-pix .pills button:hover{border-color:#fff}
  .carte-pix .pills button.actif{background:var(--orange);border-color:var(--orange);color:#fff}
  .carte-pix canvas{display:block;width:100%}
  /* l'étiquette d'un pays : une carte blanche aux proportions du logo Orange. Côté --w (260u) ; en haut la zone, le pays (bold), ses statuts (gris) ;
     pour l'Europe, l'Afrique et le Moyen-Orient, le bouton « Notre présence en … » est à la place de la barre blanche du logo :
     71 % de la largeur, 14,7 % de la hauteur, retrait de 14,7 % à gauche et en bas (comme la barre IA dans le carré du hero) */
  .carte-pix .info{--w:max(170px, calc(215 * var(--u)));position:absolute;z-index:2;box-sizing:border-box;width:var(--w);padding:calc(var(--w) * .13) calc(var(--w) * .147) calc(var(--w) * .147);background:#fff;color:#1a1a1a;box-shadow:0 calc(10 * var(--u)) calc(40 * var(--u)) rgba(0,0,0,.35);pointer-events:none;opacity:0;transition:opacity .2s}
  .carte-pix .info.cliquable{height:var(--w);pointer-events:auto}
  .carte-pix .info .zone{display:block;font-weight:600;font-size:calc(var(--w) * .045);line-height:1.2}
  .carte-pix .info b{display:block;margin-top:calc(var(--w) * .05);font-weight:700;font-size:calc(var(--w) * .104);line-height:1.05}
  .carte-pix .info small{display:block;margin-top:calc(var(--w) * .022);font-weight:600;font-size:calc(var(--w) * .05);line-height:1.3;color:#8c8c8c}
  .carte-pix .info .lien-zone{position:absolute;left:calc(var(--w) * .147);bottom:calc(var(--w) * .148);width:calc(var(--w) * .706);height:calc(var(--w) * .147);box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:calc(var(--w) * .025);background:#000;color:#fff;font-weight:700;font-size:calc(var(--w) * .038);white-space:nowrap;text-decoration:none;transition:background-color .25s}   /* le bouton du site : noir plein, flèche orange */
  .carte-pix .info .lien-zone i{font-style:normal;color:var(--orange);transition:transform .25s cubic-bezier(.2,.7,.15,1)}
  .carte-pix .info .lien-zone:hover{background:var(--orange)}
  .carte-pix .info .lien-zone:hover i{color:#fff;transform:translateX(3px)}
  .carte-pix .legende{margin-top:calc(24 * var(--u));font-size:max(8px, calc(10 * var(--u)));font-weight:700}
  .carte-pix .legende .aide{opacity:.4}

  /* ---- blocs propres aux actualités ---- */
  .w-entete-actu .pastilles{display:flex;gap:calc(8 * var(--u));margin-top:calc(40 * var(--u));flex-wrap:wrap}
  .w-entete-actu .pastilles span{font-weight:700;font-size:max(9px, calc(12 * var(--u)));line-height:calc(32 * var(--u));padding:0 calc(14 * var(--u));border:1px solid rgba(255,255,255,.3);cursor:pointer}
  .w-entete-actu .pastilles span.actif{background:#fff;color:#000;border-color:#fff}
  .w-entete-actu .filtres{margin-left:auto;display:flex;gap:calc(8 * var(--u))}
  .w-entete-actu .filtres span::after{content:" ⌄"}
  .w-entete-actu .themes{margin-top:calc(22 * var(--u));font-size:max(8px, calc(10 * var(--u)));font-weight:700;opacity:.45}
  .w-une{display:grid;grid-template-columns:calc(720 * var(--u)) 1fr;gap:calc(56 * var(--u));align-items:center}
  .w-une .w-vis{height:calc(420 * var(--u))}
  .w-une .tags{display:flex;gap:calc(8 * var(--u));margin-bottom:calc(20 * var(--u))}
  .w-une .tags span{font-size:max(8px, calc(10 * var(--u)));font-weight:700;background:#000;color:#fff;padding:calc(5 * var(--u)) calc(10 * var(--u))}
  .w-une .tags span:first-child{background:var(--orange)}
  .w-une h3{font-family:var(--hn);font-weight:700;font-size:calc(36 * var(--u));line-height:calc(38 * var(--u))}
  .w-une .w-p{margin-top:calc(16 * var(--u))}
  .w-une .meta{margin-top:calc(18 * var(--u));font-size:max(8px, calc(10 * var(--u)));font-weight:700;opacity:.5}
  .w-une .w-lien{display:inline-block;margin-top:calc(16 * var(--u))}
  .w-flux .grille{display:grid;grid-template-columns:repeat(3, 1fr);gap:calc(40 * var(--u)) calc(14 * var(--u))}
  .w-flux .btn{margin-top:calc(40 * var(--u))}
  .w-formats .grille{display:grid;grid-template-columns:repeat(5, 1fr);gap:calc(14 * var(--u))}
  .w-format{border-left:calc(3 * var(--u)) solid var(--orange);padding:calc(8 * var(--u)) 0 calc(8 * var(--u)) calc(18 * var(--u))}
  .w-format b{display:block;font-size:calc(20 * var(--u))}
  .w-format span{display:block;margin-top:calc(8 * var(--u));font-weight:700;font-size:max(9px, calc(11 * var(--u)));opacity:.6;line-height:1.3}
  .w-agenda-ligne .grille{display:grid;grid-template-columns:repeat(3, 1fr);gap:calc(14 * var(--u))}
  .w-date{display:flex;gap:calc(20 * var(--u));border-left:calc(3 * var(--u)) solid var(--orange);padding-left:calc(20 * var(--u))}
  .w-date .jour{text-align:center;min-width:calc(70 * var(--u))}
  .w-date .jour b{display:block;font-family:var(--hn);font-size:calc(40 * var(--u));line-height:1}
  .w-date .jour span{display:block;font-size:max(8px, calc(10 * var(--u)));font-weight:700;opacity:.5;margin-top:calc(4 * var(--u))}
  .w-date small{display:block;font-size:max(8px, calc(10 * var(--u)));font-weight:700;opacity:.5}
  .w-date strong{display:block;font-size:max(11px, calc(14 * var(--u)));margin:calc(4 * var(--u)) 0}
  .w-abonnement{display:flex;align-items:center;gap:calc(40 * var(--u));background:#000;color:#fff;padding:calc(30 * var(--u)) calc(36 * var(--u))}
  .w-abonnement h3{font-weight:700;font-size:calc(24 * var(--u))}
  .w-abonnement .w-p{opacity:.7;font-weight:700;font-size:max(9px, calc(12 * var(--u)));margin-top:calc(6 * var(--u))}
  .w-abonnement .champ{margin-left:auto;background:#fff;color:rgba(0,0,0,.4);width:calc(340 * var(--u));height:calc(44 * var(--u));display:flex;align-items:center;padding:0 calc(16 * var(--u));font-weight:700;font-size:max(9px, calc(12 * var(--u)))}
  .w-abonnement .btn{margin:0;background:var(--orange)}

  /* B18 Réponse IA, filtres, B19 Résultat, pagination (page Résultats de recherche) */
  .w-requete{display:flex;align-items:center;gap:calc(20 * var(--u));background:#fff;color:#000;padding:0 calc(10 * var(--u)) 0 calc(24 * var(--u));height:calc(64 * var(--u));margin-top:calc(16 * var(--u))}
  .w-requete b{flex:1;font-size:max(12px, calc(16 * var(--u)))}
  .w-requete small{font-size:max(8px, calc(10 * var(--u)));font-weight:700;opacity:.4}
  .w-requete .btn{margin:0}
  .w-reponse{background:#fff;color:#000;border-left:calc(3 * var(--u)) solid var(--orange);padding:calc(30 * var(--u)) calc(36 * var(--u))}
  .w-reponse .tete{display:flex;align-items:baseline;gap:calc(14 * var(--u));margin-bottom:calc(18 * var(--u))}
  .w-reponse .tete b{font-size:max(13px, calc(18 * var(--u)))}
  .w-reponse .tete small{font-size:max(8px, calc(10 * var(--u)));font-weight:700;opacity:.4}
  .w-reponse .w-p{width:calc(1100 * var(--u));max-width:100%}
  .cite{color:var(--orange);font-weight:700;font-size:.7em;vertical-align:super}
  .w-sources{display:grid;grid-template-columns:repeat(3, 1fr);gap:calc(12 * var(--u));margin-top:calc(8 * var(--u))}
  .w-source{border:1px solid rgba(0,0,0,.15);padding:calc(12 * var(--u)) calc(14 * var(--u));font-size:max(9px, calc(11 * var(--u)));cursor:pointer;transition:border-color .2s}
  .w-source:hover{border-color:#000}
  .w-source b{display:block;margin-bottom:calc(4 * var(--u))}
  .w-source b i{font-style:normal;color:var(--orange);margin-right:.4em}
  .w-source span{opacity:.5;font-weight:700;font-size:max(8px, calc(10 * var(--u)))}
  .w-assoc{display:flex;flex-wrap:wrap;gap:calc(8 * var(--u));margin-top:calc(8 * var(--u))}
  .w-assoc span{border:1px solid rgba(0,0,0,.2);padding:calc(8 * var(--u)) calc(12 * var(--u));font-size:max(9px, calc(11 * var(--u)));font-weight:700;cursor:pointer;transition:background .2s,color .2s}
  .w-assoc span:hover{background:#000;color:#fff}
  .w-reponse .champ{margin-top:calc(22 * var(--u));display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(0,0,0,.2);padding:0 calc(6 * var(--u)) 0 calc(16 * var(--u));height:calc(48 * var(--u));color:rgba(0,0,0,.4);font-weight:700;font-size:max(9px, calc(12 * var(--u)))}
  .w-reponse .champ i{width:calc(36 * var(--u));height:calc(36 * var(--u));background:var(--orange);display:grid;place-items:center;color:#fff;font-style:normal}
  .w-filtres{display:flex;align-items:center;gap:calc(8 * var(--u));margin-top:calc(28 * var(--u));flex-wrap:wrap}
  .w-filtres span{font-weight:700;font-size:max(9px, calc(12 * var(--u)));line-height:calc(34 * var(--u));padding:0 calc(14 * var(--u));border:1px solid rgba(0,0,0,.25);cursor:pointer}
  .w-filtres span.actif{background:#000;color:#fff;border-color:#000}
  .w-filtres .tri{margin-left:auto;display:flex;gap:calc(16 * var(--u))}
  .w-filtres .tri span{border:0;padding:0}
  .w-filtres .tri span::after{content:" ⌄"}
  .w-resultat{padding:calc(24 * var(--u)) 0;border-top:1px solid rgba(0,0,0,.12);cursor:pointer}
  .w-resultat:last-child{border-bottom:1px solid rgba(0,0,0,.12)}
  .w-resultat .fil{font-size:max(8px, calc(10 * var(--u)));font-weight:700;opacity:.45;margin-bottom:calc(6 * var(--u))}
  .w-resultat h3{font-weight:700;font-size:max(13px, calc(20 * var(--u)));line-height:1.3;width:calc(1200 * var(--u));max-width:100%}
  .w-resultat:hover h3{color:var(--orange)}
  .w-resultat .w-p{margin-top:calc(6 * var(--u));width:calc(1200 * var(--u));max-width:100%}
  .w-resultat .meta{display:flex;align-items:center;gap:calc(12 * var(--u));margin-top:calc(10 * var(--u));font-size:max(8px, calc(10 * var(--u)));font-weight:700;opacity:.5}
  .w-resultat .meta b{background:#000;color:#fff;padding:calc(3 * var(--u)) calc(8 * var(--u));opacity:1}
  .w-resultat .meta .btn{margin:0;opacity:1;line-height:calc(28 * var(--u))}
  .w-pagination{display:flex;justify-content:center;gap:calc(24 * var(--u));padding:calc(40 * var(--u)) 0 0;font-weight:700;font-size:max(10px, calc(13 * var(--u)))}
  .w-pagination span{cursor:pointer;opacity:.5}
  .w-pagination span.actif{opacity:1;color:var(--orange)}
  .w-pagination span:hover{opacity:1}

  /* B17 Recherche (page 404) */
  .w-recherche{background:#000;color:#fff;padding:calc(26 * var(--u)) calc(36 * var(--u));border-left:calc(3 * var(--u)) solid var(--orange)}
  .w-noir .w-recherche{background:#111}
  .w-recherche .w-p{font-weight:700;font-size:max(9px, calc(12 * var(--u)));opacity:.7;width:calc(900 * var(--u));max-width:100%}
  .w-recherche .w-lien{display:inline-block;margin-top:calc(16 * var(--u))}


  .w-profils .w-entete{margin-bottom:calc(70 * var(--u))}

  .w-alaune .w-entete{margin-bottom:calc(70 * var(--u))}
  /* la liste des pays, posée exactement à la place de la carte (le bloc ne change pas de taille) */
  .carte-pix .liste-pays{position:absolute;inset:0;overflow:hidden;columns:4;column-gap:calc(30 * var(--u));animation:msg .4s cubic-bezier(.2,.7,.15,1) both}
  .carte-pix .liste-pays[hidden]{display:none}
  .carte-pix .zone{margin-bottom:calc(14 * var(--u))}   /* les zones coulent d'une colonne à la suivante, les colonnes se remplissent */
  .carte-pix .zone h4{font-size:max(8px, calc(10 * var(--u)));text-transform:uppercase;letter-spacing:.08em;margin-bottom:calc(4 * var(--u));break-after:avoid}
  .carte-pix .zone h4 span{color:var(--orange);margin-left:.4em}
  .carte-pix .zone ul{list-style:none}
  .carte-pix .zone li{font-size:max(8px, calc(10.5 * var(--u)));font-weight:700;line-height:1.45;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ---------- 02/11 ---------- */
/* l'article à la une (page clé) : étiquettes noires et date, comme les petites cartes */
.page-cle .tags{display:flex;flex-wrap:wrap;gap:calc(6 * var(--u));margin-bottom:calc(18 * var(--u))}
.page-cle .tag{font-style:normal;background:#000;color:#fff;padding:calc(7 * var(--u)) calc(12 * var(--u));font-weight:600;font-size:max(11px, calc(14 * var(--u)));line-height:1.2}
.page-cle .date{display:block;margin-bottom:calc(16 * var(--u));font-weight:600;font-size:max(11px, calc(15.5 * var(--u)))}
/* le menu déroulant du bouton « Thème » */
.filtres .deroulant{position:relative}
.filtres .deroulant > button[aria-expanded="true"]::after{transform:translateY(25%) rotate(-135deg)}
.filtres .menu-deroulant{position:absolute;z-index:30;top:calc(100% + 8 * var(--u));left:0;min-width:calc(300 * var(--u));margin:0;padding:calc(8 * var(--u)) 0;list-style:none;background:#fff;color:#000;box-shadow:0 calc(10 * var(--u)) calc(40 * var(--u)) rgba(0,0,0,.18)}
.filtres .menu-deroulant[hidden]{display:none}
.filtres .menu-deroulant button{display:flex;align-items:center;gap:calc(12 * var(--u));width:100%;padding:calc(10 * var(--u)) calc(18 * var(--u));border:0;background:none;color:inherit;font:inherit;font-weight:600;font-size:max(12px, calc(15 * var(--u)));text-align:left;cursor:pointer}
.filtres .menu-deroulant button::before{content:"";flex:none;width:calc(14 * var(--u));height:calc(14 * var(--u));min-width:12px;min-height:12px;border:1.5px solid #000}
.filtres .menu-deroulant button[aria-checked="true"]::before{background:var(--orange);border-color:var(--orange)}
.filtres .menu-deroulant button:hover, .filtres .menu-deroulant button:focus-visible{background:#f2f2f2}
/* le contact compact : une carte blanche, le texte à gauche, un seul bouton orange à droite */
.contact-court{box-sizing:border-box;width:calc(1360 * var(--u));max-width:calc(100% - 32px);margin:calc(110 * var(--u)) auto;padding:calc(44 * var(--u)) calc(56 * var(--u));display:flex;align-items:center;justify-content:space-between;gap:calc(40 * var(--u));background:#fff;color:#000;scroll-margin-top:calc(120 * var(--u))}
.contact-court h2{margin:0;font-weight:700;font-size:max(18px, calc(28 * var(--u)));line-height:1.2}
.contact-court p{white-space:pre-line;margin:calc(10 * var(--u)) 0 0;max-width:calc(820 * var(--u));font-size:max(13px, calc(17 * var(--u)));line-height:1.5;color:#4d4d4d}
.contact-court .cc-bouton{flex:none;display:inline-flex;align-items:center;gap:calc(10 * var(--u));height:calc(48 * var(--u));min-height:40px;padding:0 calc(22 * var(--u)) 0 calc(16 * var(--u));border:0;background:var(--orange);color:#fff;font:inherit;font-weight:700;font-size:max(13px, calc(16 * var(--u)));white-space:nowrap;cursor:pointer}
.contact-court .cc-bouton svg{width:calc(18 * var(--u));height:calc(18 * var(--u));min-width:14px;min-height:14px;transition:transform .25s cubic-bezier(.2,.7,.15,1)}
.contact-court .cc-bouton:hover svg{transform:scale(1.18) rotate(15deg)}
.contact-court .cc-abo{display:flex;align-items:stretch;gap:0;flex:none}
.contact-court .cc-abo input{width:calc(340 * var(--u));min-width:200px;padding:0 calc(16 * var(--u));border:1.5px solid #000;border-right:0;font:inherit;font-size:max(13px, calc(16 * var(--u)))}
.contact-court .merci{font-weight:700}
@media (max-width: 767px){ .contact-court{flex-direction:column;align-items:flex-start;padding:24px 20px;margin:48px auto} .contact-court .cc-abo{width:100%} .contact-court .cc-abo input{flex:1;width:auto;min-width:0} }
/* le tableau des résultats sur trois ans : des chiffres plus grands */
.tableau-bord.sur-3 .tb-ecran .tb-tableau thead th{font-size:max(13px, calc(19 * var(--u)))}
.tableau-bord.sur-3 .tb-ecran .tb-tableau tbody th[scope=row] b{font-size:max(14px, calc(21 * var(--u)))}
.tableau-bord.sur-3 .tb-ecran .tb-tableau tbody th[scope=row] small{font-size:max(11px, calc(14 * var(--u)))}
.tableau-bord.sur-3 .tb-ecran .tb-tableau td b{font-size:max(17px, calc(30 * var(--u)))}
.tableau-bord.sur-3 .tb-ecran .var{font-size:max(11px, calc(14.5 * var(--u)));padding:2px calc(8 * var(--u))}
.tableau-bord.sur-3 .tb-ecran .tb-tableau td, .tableau-bord.sur-3 .tb-ecran .tb-tableau tbody th[scope=row]{padding-top:calc(9 * var(--u));padding-bottom:calc(9 * var(--u))}
.tableau-bord.sur-3 .tb-graph .b span{font-size:max(13px, calc(21 * var(--u)))}
.tableau-bord.sur-3 .tb-graph small{font-size:max(12px, calc(17 * var(--u)))}
/* le formulaire d'inscription du contact compact : sans les styles de l'ancienne grande barre d'écriture */
.contact-court form.cc-abo{position:static;width:auto;height:auto;min-height:0;margin:0;padding:0;background:none;box-shadow:none;border:0;transform:none}
.contact-court form.cc-abo input{height:calc(48 * var(--u));min-height:40px;box-sizing:border-box;margin:0;background:#fff;color:#000}
.contact-court form.cc-abo .cc-bouton{position:static;width:auto;margin:0}
/* le tableau sur trois ans tient dans un écran : lignes resserrées, chiffres gardés grands */
.tableau-bord.sur-3 .tb-ecran .tb-tableau td, .tableau-bord.sur-3 .tb-ecran .tb-tableau tbody th[scope=row]{padding-top:calc(4 * var(--u));padding-bottom:calc(4 * var(--u))}
.tableau-bord.sur-3 .tb-ecran .tb-tableau tr.groupe th{padding-top:calc(12 * var(--u));padding-bottom:calc(4 * var(--u))}
.tableau-bord.sur-3 .tb-ecran .tb-tableau td b{font-size:max(17px, calc(28 * var(--u)));line-height:1.15}
.tableau-bord.sur-3 .tb-ecran .tb-tableau tbody th[scope=row] b{line-height:1.15}
.tableau-bord.sur-3 .tb-ecran .tb-tableau tbody th[scope=row] small{margin-top:0}
.contact-court a.cc-bouton{justify-content:center;min-width:calc(150 * var(--u));padding:0 calc(28 * var(--u));text-decoration:none}   /* 02/11 : « Écrire », sans icône, ouvre la messagerie */
.contact-court a.cc-bouton:hover{background:#000}
/* cartes de pages liées (02/11) : le texte et la flèche dans une même rangée ; la flèche, blanche, s'aligne sur la dernière ligne du texte */
.g-pa .pied-pa{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:calc(24 * var(--u))}
.g-pa .pied-pa .txt{min-width:0}
.g-pa .pied-pa .txt > :last-child{margin-bottom:0}
.g-pa .pied-pa .fl{position:relative;inset:auto;flex:none;margin-bottom:calc(5 * var(--u))}
.g-pa:hover .pied-pa .fl{transform:translateX(calc(5 * var(--u)))}
.contact-court a.cc-bouton i{font-style:normal;margin-left:calc(8 * var(--u))}
/* ---------- le tableau des résultats (02/11) : toutes les années, qui défilent ; l'intitulé fixe à gauche ; le S1 2026, en orange, et « Décrypter » fixes à droite ---------- */
.tb-ecran .tb-tableau{overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent;overscroll-behavior-x:contain}
.tb-ecran .tb-tableau table{width:max-content;min-width:100%}
.tb-ecran .tb-tableau thead th:not(:first-child):not(.ia), .tb-ecran .tb-tableau td:not(.ia){min-width:calc(190 * var(--u))}
.tb-ecran .tb-tableau thead th:first-child, .tb-ecran .tb-tableau tbody th[scope=row]{position:sticky;left:0;z-index:2;background:#000;min-width:calc(290 * var(--u))}
.tb-ecran .tb-tableau tr.groupe th{background:#000}
.tb-ecran .tb-tableau tr.groupe .g-lib{position:sticky;left:calc(30 * var(--u))}
.tb-ecran .tb-tableau .semestre{position:sticky;right:calc(150 * var(--u));z-index:2;background:#111;border-left:1px solid rgba(255,121,0,.55)}
.tb-ecran .tb-tableau thead th.semestre, .tb-ecran .tb-tableau thead th.semestre small{color:var(--orange)}
.tb-ecran .tb-tableau td.semestre b{color:var(--orange)}
.tb-ecran .tb-tableau thead th.ref{color:#fff}
.tb-ecran .tb-tableau td.ref b{color:#fff}
.tb-ecran .tb-tableau td.ia, .tb-ecran .tb-tableau thead th.ia{position:sticky;right:0;z-index:2;width:calc(150 * var(--u));min-width:calc(150 * var(--u));box-sizing:border-box;padding-left:calc(14 * var(--u));background:#000}
.tb-ecran .tb-expliquer{opacity:1;white-space:nowrap}   /* toujours visible : l'étoile IA et « Décrypter » */
/* ---------- « L'action Orange » (02/11) : écran noir, comme le tableau des résultats ; la courbe orange, le cours en grand ---------- */
.cours-ecran{box-sizing:border-box;width:100vw;margin-left:calc(50% - 50vw);min-height:100vh;display:flex;align-items:center;padding:calc(90 * var(--u)) 0 calc(150 * var(--u));background:#000;color:#fff;scroll-snap-align:start}
.cours-dedans{width:calc(1360 * var(--u));max-width:calc(100% - 32px);margin:0 auto}
.cours-tete{display:flex;justify-content:space-between;align-items:flex-end;gap:calc(40 * var(--u));margin-bottom:calc(34 * var(--u))}
.cours-tete h2{margin:0;font-weight:700;font-size:max(22px, calc(40 * var(--u)));line-height:1.1}
.cours-id{margin:calc(10 * var(--u)) 0 0;font-weight:600;font-size:max(11px, calc(14 * var(--u)));color:rgba(255,255,255,.65)}
.cours-prix{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:end;gap:calc(4 * var(--u)) calc(16 * var(--u));text-align:right}
.cours-valeur{font-family:var(--hn);font-weight:700;font-size:max(30px, calc(64 * var(--u)));line-height:1;font-variant-numeric:tabular-nums}
.cours-ecran .cours-var{font-size:max(12px, calc(16 * var(--u)));padding:calc(4 * var(--u)) calc(10 * var(--u));color:#fff;background:rgba(255,255,255,.12)}
.cours-ecran .cours-var.hausse{background:rgba(255,121,0,.3)}
.cours-heure{grid-column:1 / -1;font-weight:600;font-size:max(10px, calc(12.5 * var(--u)));color:rgba(255,255,255,.55)}
.cours-outils{display:flex;justify-content:space-between;align-items:center;gap:calc(20 * var(--u));flex-wrap:wrap;margin-bottom:calc(12 * var(--u))}
.cours-periodes{display:flex;gap:calc(6 * var(--u));flex-wrap:wrap}
.cours-periodes button, .cours-cac{font:inherit;font-weight:700;font-size:max(11px, calc(13 * var(--u)));line-height:calc(34 * var(--u));min-height:30px;padding:0 calc(14 * var(--u));border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;transition:background .2s, border-color .2s}
.cours-periodes button:hover, .cours-cac:hover{border-color:#fff}
.cours-periodes button.actif, .cours-cac.actif{background:var(--orange);border-color:var(--orange)}
.cours-graph{min-height:420px}
.cours-attente{margin:0;padding-top:180px;text-align:center;font-weight:600;color:rgba(255,255,255,.6)}
.cours-donnees{display:grid;grid-template-columns:repeat(6, minmax(0, 1fr));gap:calc(24 * var(--u));margin:calc(26 * var(--u)) 0 0;padding-top:calc(22 * var(--u));border-top:1px solid rgba(255,255,255,.18)}
.cours-donnees dt{font-weight:600;font-size:max(10px, calc(12.5 * var(--u)));color:rgba(255,255,255,.6)}
.cours-donnees dd{margin:calc(6 * var(--u)) 0 0;font-weight:700;font-size:max(14px, calc(20 * var(--u)));font-variant-numeric:tabular-nums}
.cours-pied{display:flex;justify-content:space-between;align-items:center;margin-top:calc(28 * var(--u))}
.cours-ecran .tb-expliquer{opacity:1;color:#fff;font-size:max(12px, calc(15 * var(--u)))}
.cours-lien{font-weight:700;font-size:max(12px, calc(15 * var(--u)));color:#fff;text-decoration:none;border-bottom:1px solid var(--orange)}
.cours-lien:hover{color:var(--orange)}
@media (max-width: 767px){ .cours-ecran{min-height:0;padding:64px 0} .cours-tete{flex-direction:column;align-items:flex-start} .cours-prix{justify-content:start;text-align:left} .cours-donnees{grid-template-columns:repeat(2, 1fr)} .cours-graph{min-height:300px} }
/* 03/11 : Candidats — extensions des composants existants */
/* chiffres clés : la phrase d'accroche sous le libellé */
.g-ch .accroche{display:block;max-width:calc(300 * var(--u));margin-top:calc(16 * var(--u));font-weight:500;font-size:max(12px, calc(16 * var(--u)));line-height:1.45;color:#333}
/* « Pour vous » : la famille de métier du profil choisi (pages liées) */
.g-pa.pour-vous::after{content:"Pour vous";position:absolute;z-index:2;top:calc(26 * var(--u));left:calc(30 * var(--u));padding:calc(6 * var(--u)) calc(10 * var(--u));background:var(--orange);color:#fff;font-weight:700;font-size:max(11px, calc(13 * var(--u)))}
/* mosaïque Personnes, récits (témoignages) : le texte et le CTA vers orange.jobs dans la carte du survol */
.membres.mosaique.recits .carte{align-items:flex-end}
.membres.mosaique.recits .carte p{margin:calc(12 * var(--u)) 0 0;font-weight:500;font-size:max(12px, calc(16 * var(--u)));line-height:1.5;color:#333}
.membres.mosaique.recits .carte .cta{display:inline-flex;align-items:center;gap:.4em;margin-top:calc(16 * var(--u));font-style:normal;font-weight:700;font-size:max(12px, calc(16 * var(--u)));color:#000;border-bottom:2px solid var(--orange)}
.membres.mosaique.recits .carte .cta i{font-style:normal;color:var(--orange)}
.membres.mosaique .membre.pour-vous .photo{position:relative}
.membres.mosaique .membre.pour-vous .photo::before{content:"Pour vous";position:absolute;z-index:2;top:calc(24 * var(--u));left:calc(24 * var(--u));padding:calc(6 * var(--u)) calc(10 * var(--u));background:var(--orange);color:#fff;font-weight:700;font-size:max(11px, calc(13 * var(--u)))}
/* FAQ : texte d'intro */
.faq-ref .faq-intro{max-width:calc(820 * var(--u));margin:calc(18 * var(--u)) 0 0;font-weight:500;font-size:max(13px, calc(19 * var(--u)));line-height:1.55;color:#333}
/* carte du monde, variante offres : le titre (catch phrase), les continents, le domaine, la légende ; l'étiquette liste les offres du pays */
.w-monde.plein.offres{height:auto;min-height:100vh;padding-top:calc(110 * var(--u));padding-bottom:calc(220 * var(--u))}
.w-monde.offres .titre-carte{max-width:calc(1100 * var(--u));margin:0 0 calc(50 * var(--u));text-align:center;font-weight:700;font-size:calc(52 * var(--u));line-height:1.12}
.w-monde.offres .carte-pix{width:min(100%, calc(1400 * var(--u)))}
.w-monde.offres .pills{align-items:center}
.w-monde.offres .pills button{line-height:calc(36 * var(--u))}
.w-monde.offres .pills button[aria-pressed]{cursor:pointer}
.w-monde.offres .dom select{height:calc(38 * var(--u));min-height:30px;margin-left:calc(14 * var(--u));padding:0 calc(34 * var(--u)) 0 calc(14 * var(--u));border:1px solid rgba(255,255,255,.3);border-radius:0;background:#000 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 7.5l5 5 5-5' fill='none' stroke='%23ff7900' stroke-width='2.4'/%3E%3C/svg%3E") right calc(10 * var(--u)) center / calc(14 * var(--u)) no-repeat;color:#fff;font:inherit;font-weight:700;font-size:max(9px, calc(11 * var(--u)));appearance:none;-webkit-appearance:none;cursor:pointer}
.carte-pix .info.liste-offres{--w:max(230px, calc(320 * var(--u)));height:auto;padding-bottom:calc(var(--w) * .07)}
.carte-pix .info.liste-offres ul{list-style:none;margin:calc(var(--w) * .05) 0 0;padding:0;border-top:1px solid #e5e5e5}
.carte-pix .info.liste-offres li a{display:block;padding:calc(var(--w) * .03) 0;border-bottom:1px solid #e5e5e5;color:#000;text-decoration:none}
.carte-pix .info.liste-offres li a span{display:block;font-weight:700;font-size:calc(var(--w) * .045);line-height:1.3}
.carte-pix .info.liste-offres li a small{margin-top:2px;font-size:calc(var(--w) * .038)}
.carte-pix .info.liste-offres li a:hover span{color:var(--orange)}
.carte-pix .info.liste-offres .lien-zone{position:static;width:100%;margin-top:calc(var(--w) * .06)}
@media (max-width: 767px){ .w-monde.offres .titre-carte{font-size:28px} }
/* 03/11 : chiffres clés, variante renvoi : le petit CTA fléché vers la page, à la place de « Vérifier » (il arrive comme lui) */
.g-ch .g-ch-lien{display:inline-flex;align-items:center;gap:calc(12 * var(--u));margin-top:calc(30 * var(--u));font-weight:600;font-size:max(11px, calc(18 * var(--u)));color:#000;text-decoration:none;opacity:0;transform:translateY(calc(10 * var(--u)));transition:opacity .6s calc(var(--dch, 0ms) + .55s), transform .7s calc(var(--dch, 0ms) + .55s) cubic-bezier(.2,.7,.15,1)}
.g-ch.vu .g-ch-lien{opacity:1;transform:none}
.g-ch .g-ch-lien svg{flex:none;width:calc(14 * var(--u));height:calc(14 * var(--u));min-width:11px;min-height:11px;transition:transform .4s cubic-bezier(.2,.7,.15,1)}
.g-ch .g-ch-lien:hover svg{transform:translateX(calc(4 * var(--u)))}
.g-ch .g-ch-lien:hover{color:var(--orange)}
@media (max-width: 767px){ .g-ch .g-ch-lien{font-size:13px;margin-top:14px} }
/* 03/11 : un bloc contact, plusieurs interlocuteurs : le titre et le texte, puis une ligne par interlocuteur (question, coordonnées, « Écrire ») */
.contact-court.contact-multi{flex-direction:column;align-items:stretch;gap:calc(26 * var(--u))}
.contact-multi .cc-lignes{border-top:1px solid #e0e0e0}
.contact-multi .cc-ligne{display:flex;align-items:center;justify-content:space-between;gap:calc(40 * var(--u));padding:calc(26 * var(--u)) 0;border-bottom:1px solid #e0e0e0}
.contact-multi .cc-ligne:last-child{border-bottom:0;padding-bottom:0}
.contact-multi h3{margin:0;font-weight:700;font-size:max(15px, calc(20 * var(--u)));line-height:1.3}
.contact-multi .cc-ligne p{margin-top:calc(6 * var(--u))}
@media (max-width: 767px){ .contact-multi .cc-ligne{flex-direction:column;align-items:flex-start;gap:14px} }
/* 03/11 : le renvoi fléché en bas de l'écran noir du tableau de résultats */
.tb-ecran .tb-lien{align-self:center;display:inline-flex;align-items:center;gap:calc(14 * var(--u));margin-top:calc(50 * var(--u));font-weight:600;font-size:max(12px, calc(17 * var(--u)));color:#fff;text-decoration:none}
.tb-ecran .tb-lien svg{width:calc(13 * var(--u));height:calc(13 * var(--u));min-width:11px;min-height:11px;transition:transform .4s cubic-bezier(.2,.7,.15,1)}
.tb-ecran .tb-lien:hover{color:var(--orange)}
.tb-ecran .tb-lien:hover svg{transform:translateX(calc(4 * var(--u)))}
