.lg-hero{padding:74px 0 40px; background:var(--bg-soft); border-bottom:1px solid var(--border);}
  .lg-hero h1{font-size:clamp(28px,4vw,44px); margin:14px 0 12px; letter-spacing:-.025em;}
  .lg-hero p{color:var(--text-dim); font-size:16px; max-width:70ch; line-height:1.6;}
  .lg-layout{display:grid; grid-template-columns:250px 1fr; gap:40px; align-items:start;}
  .lg-toc{position:sticky; top:88px; padding:20px 20px 22px; border-radius:var(--radius-md);
    background:var(--surface); border:1px solid var(--border);}
  .lg-toc h2{font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
    color:var(--text-mute); margin-bottom:12px;}
  .lg-toc a{display:block; padding:8px 0; font-size:14px; color:var(--text-dim); border-bottom:1px solid var(--border);}
  .lg-toc a:last-child{border-bottom:none;}
  .lg-toc a:hover{color:var(--purple);}
  .lg-doc{max-width:78ch;}
  .lg-doc section{scroll-margin-top:96px; padding-bottom:14px;}
  .lg-doc section + section{margin-top:52px; padding-top:44px; border-top:1px solid var(--border);}
  .lg-doc h2{font-size:clamp(22px,2.6vw,30px); letter-spacing:-.02em; margin-bottom:6px;}
  .lg-updated{display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
    color:var(--text-mute); margin-bottom:20px;}
  .lg-doc h3{font-size:17px; margin:26px 0 8px;}
  .lg-doc p{font-size:14.5px; color:var(--text-dim); line-height:1.7; margin-bottom:10px;}
  .lg-doc ul{margin:0 0 12px; padding-inline-start:20px;}
  .lg-doc li{font-size:14.5px; color:var(--text-dim); line-height:1.65; margin-bottom:6px;}
  .lg-doc strong{color:var(--text);}
  .lg-table{width:100%; border-collapse:collapse; margin:14px 0 18px; font-size:14px;}
  .lg-table th, .lg-table td{text-align:start; padding:11px 14px; border-bottom:1px solid var(--border);}
  .lg-table th{font-size:11.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--text-mute);
    background:var(--bg-soft);}
  .lg-table td{color:var(--text-dim);} .lg-table td:first-child{color:var(--text); font-weight:600;}
  .lg-note{padding:16px 18px; border-radius:var(--radius-sm); background:var(--bg-soft);
    border:1px solid var(--border); border-inline-start:3px solid var(--purple); font-size:13.5px;
    color:var(--text-dim); line-height:1.6; margin:18px 0;}
  @media (max-width:900px){ .lg-layout{grid-template-columns:1fr; gap:26px;} .lg-toc{position:static;} }


/* =====================================================================
   Sommaire des informations légales — réparation
   ---------------------------------------------------------------------
   Les trois entrées se superposaient : elles se disposaient en ligne et
   débordaient les unes sur les autres. Les règles ci-dessous fixent la
   mise en page de façon explicite plutôt que de dépendre de l'héritage,
   et la colonne du sommaire reçoit un minmax(0,1fr) pour ne plus pouvoir
   être comprimée sous la largeur de son texte.
   ===================================================================== */
.lg-layout{display:grid; grid-template-columns:250px minmax(0,1fr);
  gap:40px; align-items:start;}
.lg-toc{display:block;}
.lg-toc h2{display:block; width:100%; margin:0 0 12px;}
.lg-toc a{display:block; width:100%; padding:9px 0; font-size:14px;
  line-height:1.4; white-space:normal; overflow-wrap:anywhere;
  color:var(--text-dim); border-bottom:1px solid var(--border);}
.lg-toc a:last-child{border-bottom:none;}

/* la mention de version n'avait aucune règle : elle se collait au titre */
.lg-updated{display:block; margin:2px 0 18px; font-size:12px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--text-mute);}

@media (max-width:900px){
  .lg-layout{grid-template-columns:minmax(0,1fr); gap:26px;}
  .lg-toc{position:static;}
}


/* Ancres du document legal : viser le titre, pas le bord de la section.
   Chaque section porte 44 px de respiration (section + section) ; on les
   retranche pour que le titre vienne se placer sous l'en-tete collee. */
:root{ --entete-h:74px; --ancre:calc(var(--entete-h) + 22px); }
html{ scroll-padding-top:0; }
.lg-doc section{ scroll-margin-top:var(--ancre); }
.lg-doc section + section{ scroll-margin-top:calc(var(--ancre) - 44px); }
.lg-doc h3{ scroll-margin-top:var(--ancre); }
@media (max-width:900px){ :root{ --entete-h:68px; } }
@media (max-width:640px){ .lg-doc section + section{ scroll-margin-top:calc(var(--ancre) - 32px); } }


/* variables employees par ces regles et absentes de cette feuille */
:root{ --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; --link-accent:var(--purple); }
html[data-theme="dark"]{ --link-accent:#c2a0ff; }

/* =====================================================================
   Pied de page : reprise des regles de site.css
   ---------------------------------------------------------------------
   Cette page portait le pied de page d'une version anterieure, avec
   douze liens pointant sur « # ». Elle recoit desormais le meme pied
   que les sept autres ; ces regles lui donnent sa mise en forme.
   ===================================================================== */
  footer{border-top:1px solid var(--border); padding:60px 0 32px;}
  .foot-brand img{height:24px; margin-bottom:14px;}
  .foot-brand p{color:var(--text-mute); font-size:13.5px; margin:0 0 12px; max-width:260px;}
  .foot-tagline{font-size:13px; color:var(--text-dim); font-style:italic;}
  .foot-col h4{font-size:12.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--text-mute); margin-bottom:16px;}
  .foot-col a{display:block; font-size:14px; color:var(--text-dim); margin-bottom:11px;}
  .foot-col a:hover{color:var(--text);}
  .foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:24px; border-top:1px solid var(--border); font-size:13px; color:var(--text-mute); flex-wrap:wrap; gap:12px;}
@media (max-width:480px){
  .foot-bottom{flex-direction:column; align-items:flex-start; gap:8px;}
}
  /* ===== liens institutionnels ===== */
  .foot-inst{display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px;
    padding:18px 0 4px; border-top:1px solid var(--border); margin-top:8px;}
  .foot-inst a{font-size:12.5px; color:var(--text-dim); text-decoration:none; line-height:1.45;}
  .foot-inst a:hover{color:#7c3dc4; text-decoration:underline;}
  html:not([data-theme="light"]) .foot-inst{border-top-color:rgba(255,255,255,.12);}
  html:not([data-theme="light"]) .foot-inst a:hover{color:#dcc5f6;}
  /* ===== identifiants légaux en pied de page ===== */
  .foot-ids{display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:6px 18px;
    padding-inline-start:18px; margin-inline-start:4px;
    border-inline-start:1px solid var(--border);}
  .foot-ids > span{display:inline-flex; align-items:baseline; gap:7px;}
  .foot-ids small{font-size:10.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
    color:var(--text-dim);}
  .foot-ids strong{font-size:12.5px; font-weight:700; letter-spacing:.02em; color:var(--text);
    font-variant-numeric:tabular-nums;}
@media (max-width:640px){
  .foot-ids{gap:8px 18px;}
  .foot-ids strong{font-size:12px;}
}
@media (max-width:820px){
  .foot-ids{padding-inline-start:0; margin-inline-start:0; border-inline-start:0;
      flex-basis:100%; margin-top:6px;}
}
  html:not([data-theme="light"]) .foot-ids{border-inline-start-color:rgba(255,255,255,.14);}
  .foot-note{margin:0; padding:14px 0 0; font-size:12px; line-height:1.55;
    color:var(--text-dim); font-style:italic;}
  footer{padding:clamp(64px,7vw,96px) 0 36px;}
  .foot-brand img{opacity:.92;}
  html[data-theme="light"] .foot-brand img{filter:none;}
  /* --- 10. bas de page ------------------------------------------------ */
  .foot-col h4{letter-spacing:.2em; font-size:11.5px; font-weight:700; color:var(--text-mute);}
  .foot-bottom{border-top:1px solid var(--border);}
  .gn-chip:hover, .gn-list a:hover .gn-t, .gn-fallback a, .foot-inst a:hover,
  .li-name:hover, .cert-star, .ab-beat:nth-child(2) .ab-n, .ab-beat:nth-child(3) .ab-n,
  .np-ic.gn, .nc-tag, .map-link, .cc-tels a:hover{color:var(--link-accent);}
  html[dir="rtl"] .eyebrow, html[dir="rtl"] .rm-eyebrow, html[dir="rtl"] .modal-eyebrow,
  html[dir="rtl"] .paas-tag, html[dir="rtl"] .rm-date, html[dir="rtl"] .res-meta,
  html[dir="rtl"] .foot-col h4, html[dir="rtl"] .tc-head, html[dir="rtl"] .wc-tag,
  html[dir="rtl"] .uc-photo-tag, html[dir="rtl"] .pcard-tag, html[dir="rtl"] .price-badge,
  html[dir="rtl"] .expansion-card .ec-year{letter-spacing:normal !important; text-transform:none;}
  html[lang="tz"] .eyebrow, html[lang="tz"] .rm-eyebrow, html[lang="tz"] .foot-col h4,
  html[lang="tz"] .tc-head, html[lang="tz"] .wc-tag, html[lang="tz"] .price-badge{
    letter-spacing:.08em !important; text-transform:none;}
  /* pied de page */
  .foot-brand img{height:32px; width:auto; opacity:.92;}
  html[data-theme="light"] .foot-brand img{filter:none;}
  .foot-top{display:flex; align-items:center; gap:clamp(18px,3vw,40px); flex-wrap:wrap;
    padding-bottom:22px; border-bottom:1px solid var(--border);}
  .foot-logo{flex:0 0 auto; display:inline-flex;}
  .foot-logo img{width:124px; height:36px; object-fit:contain;
    opacity:.92;}
  html[data-theme="light"] .foot-logo img{filter:none;}
  .foot-nav{display:flex; flex-wrap:wrap; gap:4px 6px; margin-inline-start:auto;}
  .foot-nav a{font-size:12.8px; color:var(--text-dim); text-decoration:none;
    padding:6px 9px; border-radius:7px; transition:color .16s ease, background .16s ease;}
  .foot-nav a:hover{color:var(--text); background:rgba(255,255,255,.05);}
  html[data-theme="light"] .foot-nav a:hover{background:rgba(10,12,24,.05);}
  .foot-legal{display:flex; flex-wrap:wrap; gap:6px 20px; padding:18px 0;
    border-bottom:1px solid var(--border);}
  .foot-legal a{font-size:11.8px; color:var(--text-mute); text-decoration:none;
    display:inline-flex; align-items:center;}
  .foot-legal a:hover{color:var(--text); text-decoration:underline;}
  .foot-bottom{display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; padding-top:16px;}
  .fb-l, .fb-m{display:inline-flex; align-items:center; font-size:11.6px; color:var(--text-mute);}
  .foot-ids{display:inline-flex; flex-wrap:wrap; gap:6px 16px; margin-inline-start:auto;
    padding-inline-start:0; margin-inline-end:0; border:0;}
  .foot-ids > span{display:inline-flex; align-items:baseline; gap:6px;}
  .foot-ids small{font-family:var(--font-mono); font-size:9.2px; font-weight:600;
    letter-spacing:.1em; text-transform:uppercase; color:var(--text-mute); opacity:.75;}
  .foot-ids strong{font-family:var(--font-mono); font-size:11px; font-weight:500;
    color:var(--text-dim); font-variant-numeric:tabular-nums;}
  .foot-note{margin:14px 0 0; font-size:10.8px; color:var(--text-mute); opacity:.75;}
  .foot-inst, .foot-brand, .foot-col, .foot-tagline{display:none;}
@media (max-width:820px){
  .foot-top{gap:14px;}
  .foot-nav{margin-inline-end:0; width:100%;}
  .foot-ids{margin-inline-start:0; width:100%;}
}
  /* le pied de page perd aussi l'entrée Partenaires de premier niveau */
  .foot-logo img{width:112px; height:auto; aspect-ratio:560 / 171;}
