
      :root {
        --fond: #fbeeea; --carte: #ffffff; --encre: #2e3159; --prune-fonce: #232649;
        --doux: #615f7a; --corail: #c97f85; --sauge-fort: #664f96; --accent-fort: #b23c46;
        --bordure: #e9dfe3; --radius: 16px; --ombre: 0 6px 24px rgba(110,45,83,.08);
      }
      * { box-sizing: border-box; }
      body {
        margin: 0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
        background: var(--fond); color: var(--encre); line-height: 1.65; -webkit-font-smoothing: antialiased;
      }
      a { color: var(--sauge-fort); }
      .wrap { max-width: 780px; margin: 0 auto; padding: 0 20px; }
      header.site {
        background: rgba(251,238,234,.9); backdrop-filter: blur(10px); border-bottom: 1px solid var(--bordure);
        position: sticky; top: 0; z-index: 10;
      }
      header.site .wrap { display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; }
      .brand { display: flex; align-items: center; gap: 10px; text-decoration: none; }
      .brand img { width: 46px; height: 46px; }
      .brand span { font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; font-weight: 600; color: var(--prune-fonce); }
      .retour { text-decoration: none; font-weight: 600; font-size: .92rem; color: var(--prune-fonce); border: 1px solid var(--bordure); padding: 8px 14px; border-radius: 999px; }
      .retour:hover { background: #fff; }
      main { padding: 40px 0 70px; }
      h1 { font-family: Georgia, serif; font-size: clamp(1.7rem, 5vw, 2.3rem); color: var(--prune-fonce); margin: 0 0 6px; }
      .maj { color: var(--doux); font-size: .9rem; margin: 0 0 28px; }
      section.bloc { background: var(--carte); border: 1px solid var(--bordure); border-radius: var(--radius); box-shadow: var(--ombre); padding: 22px 24px; margin: 0 0 18px; }
      h2 { font-family: Georgia, serif; font-size: 1.25rem; color: var(--prune-fonce); margin: 0 0 12px; }
      p { margin: 0 0 10px; }
      dl { margin: 0; display: grid; grid-template-columns: 210px 1fr; gap: 8px 16px; }
      dt { color: var(--doux); font-weight: 600; }
      dd { margin: 0; }
      @media (max-width: 560px) { dl { grid-template-columns: 1fr; gap: 2px 0; } dt { margin-top: 8px; } }
      .todo { background: #fff5d6; border: 1px dashed #d9b84a; color: #7a5c00; border-radius: 8px; padding: 2px 8px; font-size: .9rem; font-weight: 600; }
      .avis { background: rgba(179,72,63,.06); border: 1px solid var(--bordure); border-radius: var(--radius); padding: 16px 20px; color: var(--doux); font-size: .93rem; }
      footer { background: var(--prune-fonce); color: #cfceda; padding: 26px 0; font-size: .88rem; }
      footer a { color: #cfceda; }

.mb-24{margin-bottom:24px}
.mt-14{margin-top:14px}
.note-source{margin-top:14px;color:var(--doux);font-size:.92rem}
