.guide-doc *,.guide-doc *::before,.guide-doc *::after{ box-sizing:border-box; }.guide-doc{
    --papier:#f7f8f7; --carte:#fff; --encre:#14231d; --encre-2:#43554d; --tertiaire:#71817a;
    --filet:#dde3df; --vert:#0d6b4a; --vert-pale:#e7f1eb; --brique:#97321f; --brique-pale:#f8eae7;
    --ambre:#7d5f14; --ambre-pale:#f7f0dd;
    --serif:Georgia,'Iowan Old Style','Times New Roman',serif;
    --sans:system-ui,'Segoe UI',Roboto,sans-serif;
    --mono:ui-monospace,'Cascadia Mono',Consolas,monospace;
  }
  @media (prefers-color-scheme: dark) {.guide-doc{ --papier:#101614; --carte:#182521; --encre:#e9efec; --encre-2:#b5c3bc;
      --tertiaire:#869890; --filet:#2c3934; --vert:#55c795; --vert-pale:#17302a;
      --brique:#e08a76; --brique-pale:#34201c; --ambre:#d8b45f; --ambre-pale:#2c2617; }
  }.guide-doc{ margin:0; background:var(--papier); color:var(--encre); font-family:var(--sans);
         font-size:17px; line-height:1.6; padding:0 5vw 5rem; }.guide-doc .page{ max-width:780px; margin:0 auto; }.guide-doc .avert{ background:var(--ambre-pale); border:1px solid var(--ambre); border-radius:4px;
           padding:1rem 1.2rem; margin:2rem 0 0; font-size:.92rem; color:var(--encre-2); }.guide-doc .avert b{ color:var(--ambre); }.guide-doc header{ padding:2.5rem 0 1.5rem; border-bottom:2px solid var(--encre); margin-bottom:2rem; }.guide-doc .kicker{ font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
            color:var(--vert); margin:0 0 .8rem; }.guide-doc h1{ font-family:var(--serif); font-weight:400; font-size:clamp(1.9rem,4.5vw,2.6rem);
       line-height:1.15; margin:0 0 1rem; letter-spacing:-.01em; }.guide-doc .chapo{ color:var(--encre-2); margin:0; }.guide-doc h2{ font-family:var(--serif); font-weight:400; font-size:1.55rem; line-height:1.2;
       margin:2.8rem 0 .9rem; padding-top:1.4rem; border-top:1px solid var(--filet); }.guide-doc h3{ font-size:1.02rem; font-weight:650; margin:1.8rem 0 .5rem; }.guide-doc p{ margin:0 0 .9rem; }.guide-doc ul,.guide-doc ol{ margin:0 0 .9rem; padding-left:1.3rem; }.guide-doc li{ margin-bottom:.45rem; }.guide-doc strong{ font-weight:650; }.guide-doc code{ font-family:var(--mono); font-size:.87em; background:var(--vert-pale);
         padding:.1em .35em; border-radius:3px; }.guide-doc .etape{ background:var(--carte); border:1px solid var(--filet); border-radius:4px;
           padding:1.1rem 1.3rem; margin:0 0 1rem; }.guide-doc .etape .num{ font-family:var(--mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;
                color:var(--vert); font-weight:700; display:block; margin-bottom:.35rem; }.guide-doc .etape h3{ margin:0 0 .5rem; font-family:var(--serif); font-weight:400; font-size:1.2rem; }.guide-doc .etape p:last-child,.guide-doc .etape ul:last-child{ margin-bottom:0; }.guide-doc .alerte{ background:var(--brique-pale); border-left:3px solid var(--brique); border-radius:0 3px 3px 0;
            padding:1rem 1.2rem; margin:0 0 1rem; }.guide-doc .alerte .t{ font-family:var(--mono); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase;
               color:var(--brique); font-weight:700; margin:0 0 .4rem; }.guide-doc .alerte p:last-child{ margin-bottom:0; }.guide-doc .note{ background:var(--carte); border-left:3px solid var(--tertiaire);
          border-radius:0 3px 3px 0; padding:1rem 1.2rem; margin:1.6rem 0; }.guide-doc .note p:last-child{ margin-bottom:0; }.guide-doc .note h2{ border-top:0; padding-top:0; margin-top:0; }.guide-doc .astuce{ background:var(--vert-pale); border-left:3px solid var(--vert); border-radius:0 3px 3px 0;
            padding:1rem 1.2rem; margin:0 0 1rem; }.guide-doc .astuce .t{ font-family:var(--mono); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase;
               color:var(--vert); font-weight:700; margin:0 0 .4rem; }.guide-doc .astuce p:last-child{ margin-bottom:0; }.guide-doc .trou{ background:repeating-linear-gradient(45deg, transparent 0 8px, rgba(125,95,20,.06) 8px 16px);
          border:1px dashed var(--ambre); border-radius:4px; padding:1rem 1.2rem; margin:0 0 1rem; }.guide-doc .trou .t{ font-family:var(--mono); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase;
             color:var(--ambre); font-weight:700; margin:0 0 .4rem; }.guide-doc .trou p:last-child{ margin-bottom:0; }.guide-doc .capture{ border:1px dashed var(--filet); border-radius:4px; padding:1.2rem; text-align:center;
             color:var(--tertiaire); font-size:.84rem; margin:0 0 1rem; background:var(--carte); }.guide-doc figure{ margin:1.2rem 0; }.guide-doc figure img{ width:100%; height:auto; display:block; border:1px solid var(--filet);
               border-radius:4px; background:var(--carte); }.guide-doc figcaption{ font-size:.82rem; color:var(--tertiaire); margin-top:.5rem; line-height:1.45; }.guide-doc figcaption b{ color:var(--encre-2); font-weight:650; }.guide-doc /* captures cliquables : lien simple sans JS,.guide-doc lightbox avec JS */
  .zoom{ display:block; position:relative; border-radius:4px; }.guide-doc .zoom:focus-visible{ outline:2px solid var(--vert); outline-offset:3px; }.guide-doc .zoom::after{ content:"Agrandir"; position:absolute; right:.6rem; bottom:.6rem;
                 font-family:var(--mono); font-size:.66rem; letter-spacing:.08em;
                 text-transform:uppercase; color:#fff; background:rgba(20,35,29,.82);
                 padding:.3rem .6rem; border-radius:3px; opacity:0; transition:opacity .15s; }.guide-doc .zoom:hover::after,.guide-doc .zoom:focus-visible::after{ opacity:1; }
  @media (hover:none) {.guide-doc .zoom::after{ opacity:1; } }.guide-doc /* Le bouton de fermeture vit DANS la boîte de dialogue : posé au-dessus par un décalage
     négatif,.guide-doc il sortait de l'écran dès que la modale touchait le haut du viewport. */
  dialog.lb{ border:0; padding:0; background:transparent; max-width:96vw; max-height:96vh;
              display:none; }.guide-doc dialog.lb[open]{ display:flex; flex-direction:column; align-items:flex-start; gap:.6rem; }.guide-doc dialog.lb::backdrop{ background:rgba(10,18,15,.88); }.guide-doc dialog.lb img{ max-width:96vw; max-height:76vh; width:auto; height:auto; display:block;
                  border-radius:4px; box-shadow:0 12px 48px rgba(0,0,0,.5); }.guide-doc dialog.lb .lb-cap{ color:#e9efec; font-family:var(--sans); font-size:.84rem;
                      margin:0; max-width:70ch; }.guide-doc /* Ancré au viewport : la modale est dans le top layer,.guide-doc le bouton reste donc visible
     quelle que soit la hauteur de la capture agrandie. */
  dialog.lb .lb-close{ position:fixed; top:1rem; right:1rem; z-index:2;
                        background:rgba(0,0,0,.55);
                        border:1px solid rgba(255,255,255,.45); color:#fff; border-radius:3px;
                        font-family:var(--mono); font-size:.72rem; padding:.35rem .7rem;
                        cursor:pointer; }.guide-doc dialog.lb .lb-close:hover{ background:rgba(255,255,255,.12); }
  @media (prefers-reduced-motion: reduce) {.guide-doc .zoom::after{ transition:none; } }.guide-doc .tbl-wrap{ overflow-x:auto; margin:0 0 1rem; }.guide-doc table{ border-collapse:collapse; width:100%; font-size:.92rem; }.guide-doc th{ text-align:left; font-family:var(--mono); font-size:.66rem; letter-spacing:.09em;
       text-transform:uppercase; color:var(--tertiaire); font-weight:700;
       padding:0 .8rem .5rem 0; border-bottom:1px solid var(--encre); white-space:nowrap; }.guide-doc td{ padding:.6rem .8rem .6rem 0; border-bottom:1px solid var(--filet); vertical-align:top; }.guide-doc td.n{ font-family:var(--mono); font-variant-numeric:tabular-nums; white-space:nowrap; }.guide-doc .oui{ color:var(--vert); font-weight:700; }.guide-doc ol.chaine{ counter-reset:c; list-style:none; padding:0; }.guide-doc ol.chaine li{ counter-increment:c; position:relative; padding:.7rem 0 .7rem 2.6rem;
                 border-bottom:1px solid var(--filet); }.guide-doc ol.chaine li:last-child{ border-bottom:0; }.guide-doc ol.chaine li::before{ content:counter(c); position:absolute; left:0; top:.7rem; width:1.7rem;
                         height:1.7rem; border-radius:50%; background:var(--vert); color:#fff;
                         font-family:var(--mono); font-size:.8rem; font-weight:700;
                         display:flex; align-items:center; justify-content:center; }.guide-doc .methode{ background:var(--carte); border:1px solid var(--filet); border-radius:4px;
             padding:1.2rem 1.4rem; margin:2.5rem 0 0; font-size:.9rem; color:var(--encre-2); }.guide-doc .methode h2{ margin-top:0; border-top:0; padding-top:0; font-size:1.2rem; }.guide-doc footer{ margin-top:2.5rem; padding-top:1.2rem; border-top:1px solid var(--filet);
           font-family:var(--mono); font-size:.72rem; color:var(--tertiaire); }