/* CGV, mentions légales, confidentialité : même charte que la page du kit */
:root { --paper: #efece5; --card: #fbfaf6; --ink: #151515; --grey: #57534b; --red-ink: #c4321f; --line: rgba(21,21,21,.16);
  --sans: 'Space Grotesk', system-ui, sans-serif; --serif: 'Instrument Serif', Georgia, serif; --mono: 'JetBrains Mono', ui-monospace, monospace; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); font: 400 17px/1.6 var(--sans); -webkit-font-smoothing: antialiased;
  background: var(--paper) radial-gradient(circle, rgba(0,0,0,.055) 1px, transparent 1.4px) 0 0 / 6px 6px; }
a { color: inherit; }
a:focus-visible { outline: 3px solid var(--red-ink); outline-offset: 3px; border-radius: 4px; }
main { max-width: 760px; margin: 0 auto; padding: clamp(40px, 8vh, 90px) 16px 80px; }
.back { font: 500 13px var(--mono); color: var(--grey); text-decoration: none; }
h1 { font: 600 clamp(40px, 7vw, 68px)/1 var(--sans); letter-spacing: -0.05em; margin: 24px 0 10px; }
h1 em { font: 400 italic 1.06em/1 var(--serif); letter-spacing: -0.02em; color: var(--red-ink); }
.date { font: 500 13px var(--mono); color: var(--grey); margin: 0 0 36px; }
section { background: var(--card); border-radius: 22px; box-shadow: inset 0 0 0 1.5px var(--line); padding: clamp(22px, 4vw, 36px); margin: 0 0 14px; }
h2 { font: 600 22px/1.2 var(--sans); letter-spacing: -0.02em; margin: 0 0 10px; }
p, li { margin: 0 0 10px; }
ul { padding-left: 20px; margin: 0 0 10px; }
.todo { background: #ffe58a; padding: 0 4px; border-radius: 4px; }
footer { max-width: 760px; margin: 0 auto; padding: 0 16px 40px; font: 500 13px var(--sans); color: var(--grey); display: flex; flex-wrap: wrap; gap: 14px; }
footer a { text-decoration: none; }
