    /* Composant : styles à intégrer à la feuille CSS existante du site. */
    .erb-bandeau, .erb-bandeau * { box-sizing: border-box; }
    .erb-bandeau {
      display: flex;
      align-items: center;
      gap: 20px;
      min-height: 88px;
      padding: 16px 24px;
      border-radius: 12px;
      color: #fff;
      background: #0f172a;
      font-family: var(--font, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
      -webkit-font-smoothing: antialiased;
    }
    .erb-bandeau__icone { flex: 0 0 36px; width: 36px; height: 36px; color: #fdba74; }
    .erb-bandeau__texte { flex: 1 1 auto; min-width: 0; }
    .erb-bandeau__titre {
      margin: 0;
      font-size: 18px;
      font-weight: 800;
      line-height: 1.35;
      letter-spacing: -.025em;
      color: #fff;
    }
    .erb-bandeau__description {
      margin: 4px 0 0;
      font-size: 14px;
      font-weight: 400;
      line-height: 1.5;
      color: #d5deec;
      overflow-wrap: anywhere;
      text-wrap: pretty;
    }
    .erb-bandeau__lien {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      gap: 12px;
      min-height: 44px;
      max-width: 100%;
      padding: 12px 20px;
      border: 0;
      border-radius: 999px;
      background: #c2410c;
      color: #fff;
      font-size: 13px;
      font-weight: 750;
      line-height: 1.5;
      text-decoration: none;
      text-align: center;
      transition: background-color .15s;
    }
    .erb-bandeau__lien svg { flex: 0 0 16px; width: 16px; height: 16px; }
    .erb-bandeau__lien:visited { color: #fff; }
    .erb-bandeau__lien:hover { color: #fff; background: #9a3412; text-decoration: none; }
    .erb-bandeau__lien:focus-visible { outline: 3px solid #fdba74; outline-offset: 4px; }
    @media (max-width: 640px) {
      .erb-bandeau { flex-direction: column; align-items: flex-start; gap: 12px; padding: 16px; }
      .erb-bandeau__icone { display: none; }
      .erb-bandeau__texte { flex: 0 1 auto; }
      .erb-bandeau__description { font-size: 13px; }
      .erb-bandeau__lien { flex: 0 1 auto; }
    }
    @media (prefers-reduced-motion: reduce) {
      .erb-bandeau__lien { transition: none; }
    }
  
/* Actualisation 2026 : composants circonscrits aux pages enrichies. */
.ym26-stats { background: var(--orange-dark, #c2410c); }
.ym26-stats .stats-grid > div { border: 0; }
.ym26-note { margin: 1rem 0; color: var(--muted, #5f6d82); font-size: .8rem; line-height: 1.65; }
.ym26-note a, .ym26-bilan a:not(.button), .ym26-case a, .ym26-service-example a, .ym26-breadcrumb a { text-decoration: underline; text-underline-offset: .18em; }
.ym26-stats .ym26-note { margin: 0; padding: 0 0 1.2rem; color: #fff; }
.ym26-stats .ym26-note a { color: inherit; }
.ym26-erb-section { padding-block: 2rem; }
.ym26-chiffres { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; margin: 2rem 0 1.25rem; }
.ym26-chiffres > div { min-width: 0; padding: 1.25rem; border: 1px solid var(--line, #dfe5ee); border-radius: 1rem; }
.ym26-chiffres dt { color: var(--muted, #5f6d82); font-size: .8rem; font-weight: 750; }
.ym26-chiffres dd { margin: .45rem 0; color: var(--navy, #0f172a); font-size: 2rem; line-height: 1.15; font-weight: 900; letter-spacing: -.04em; }
.ym26-chiffres .ym26-desc { display: block; margin: .75rem 0 0; color: var(--muted, #5f6d82); font-size: .86rem; font-weight: 400; letter-spacing: normal; line-height: 1.6; }
.ym26-bilan > p { max-width: 85ch; }
.ym26-bilan h3 { margin: 2rem 0 .75rem; }
.ym26-table-scroll { margin: 2rem 0; overflow-x: auto; border: 1px solid var(--line, #dfe5ee); border-radius: 1rem; }
.ym26-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.ym26-table caption { padding: 1rem; text-align: left; font-weight: 800; color: var(--navy, #0f172a); }
.ym26-table th, .ym26-table td { padding: 1rem; text-align: left; vertical-align: top; }
.ym26-table thead, .ym26-table tbody tr:nth-child(even) { background: var(--soft, #f3f6fa); }
.ym26-method, .ym26-case { margin: 1rem 0; border: 1px solid var(--line, #dfe5ee); border-radius: 1rem; }
.ym26-method summary, .ym26-case summary { padding: 1.2rem; cursor: pointer; font-weight: 800; line-height: 1.5; }
.ym26-method > div, .ym26-case > div { padding: 0 1.2rem 1.2rem; }
.ym26-method p { max-width: 85ch; }
.ym26-method summary:focus-visible, .ym26-case summary:focus-visible, .ym26-table-scroll:focus-visible { outline: 3px solid var(--orange-dark, #c2410c); outline-offset: 4px; }
.ym26-breadcrumb { margin-bottom: 1rem; font-size: .78rem; color: var(--muted, #5f6d82); }
.page-hero-dark .ym26-breadcrumb { color: #d5deec; }
.page-hero-dark .ym26-breadcrumb a { color: #fdba74; }
.ym26-cases { padding-top: 2rem; }
.ym26-cases-heading { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 2rem; align-items: end; margin-bottom: 1.5rem; }
.ym26-cases-heading h2 { margin: 0; font-size: clamp(1.65rem,3vw,2.5rem); line-height: 1.15; letter-spacing: -.035em; }
.ym26-cases-heading > p { margin: 0; color: var(--muted, #5f6d82); }
.ym26-case summary > span:first-child { font-size: 1.05rem; }
.ym26-case summary > span:last-child { display: block; padding-top: .25rem; color: var(--muted, #5f6d82); font-size: .82rem; font-weight: 500; }
.ym26-case dl { display: grid; gap: .85rem; margin: 1.25rem 0; }
.ym26-case dl > div { display: grid; grid-template-columns: 10rem minmax(0,1fr); gap: 1rem; }
.ym26-case dt { font-weight: 800; }
.ym26-case dd { margin: 0; }
.ym26-service-example { font-size: .85rem; }
.ym26-featured { background: var(--navy, #0f172a); }
.ym26-xp-document .experience-placeholder { display: grid; place-items: start center; padding-top: 3rem; font-size: 4rem; letter-spacing: -.08em; color: #a9b9ce; }
.ym26-xp-document .experience-content a { display: inline-block; padding-top: .65rem; font-size: .82rem; }
.ym26-case, .ym26-method, .service-detail-grid article[id], .experience-card[id] { scroll-margin-block: 6rem; }
@media(max-width: 700px) {
  .ym26-chiffres, .ym26-cases-heading { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  .ym26-chiffres > div { padding: 1rem; }
  .ym26-case dl > div { grid-template-columns: minmax(0,1fr); gap: .25rem; }
  .ym26-table { font-size: .8rem; }
  .ym26-table th, .ym26-table td { padding: .75rem; overflow-wrap: anywhere; }
  .ym26-stats .stats-grid > div { padding-block: .9rem; }
  .ym26-stats .ym26-note { padding-top: .5rem; }
}
