:root{--paper: #f1ede1;--ivory: #f7f4ea;--vellum: #e4ddc9;--vellum-2: #d9d2bc;--ink: #1e1a14;--ink-2: #2d2820;--red: #a8332b;--red-dk: #7e2620;--red-soft: rgba(168, 51, 43, .08);--red-border: rgba(168, 51, 43, .22);--ochre: #b8834e;--ochre-dk: #8f6537;--stone: #8b8377;--stone-dk: #4a4740;--line: #c9c2b0;--line-dk: #2a2620;--bg-base: var(--paper);--bg-alt: var(--vellum);--bg-dark: var(--ink);--surface-card: var(--paper);--surface-hover: var(--ivory);--text-strong: var(--ink);--text-body: var(--ink-2);--text-muted: var(--stone-dk);--text-faint: var(--stone);--text-on-dark: var(--paper);--accent: var(--red);--accent-press: var(--red-dk);--accent-2: var(--ochre);--rule: var(--line);--rule-strong: var(--ink);--rule-on-dark: var(--paper);--font-h: "Bricolage Grotesque", system-ui, sans-serif;--font-b: "Work Sans", system-ui, sans-serif;--font-m: "JetBrains Mono", "SF Mono", Menlo, monospace;--font-s: "Instrument Serif", Georgia, serif;--w-regular: 400;--w-medium: 500;--w-semibold: 600;--w-bold: 700;--w-extrabold: 800;--t-h1: clamp(48px, 8vw, 116px);--t-h2: clamp(34px, 5vw, 60px);--t-h3: clamp(22px, 2.4vw, 32px);--t-h4: 17px;--t-lead: clamp(18px, 1.8vw, 22px);--t-body: 16.5px;--t-body-sm: 14.5px;--t-caption: 13px;--t-folio: 11px;--t-eyebrow: 11px;--t-micro: 10.5px;--lh-display: .98;--lh-tight: 1.15;--lh-snug: 1.35;--lh-body: 1.55;--lh-relaxed: 1.65;--ls-display: -.035em;--ls-h2: -.03em;--ls-h3: -.025em;--ls-tight: -.015em;--ls-body: -.005em;--ls-folio: .14em;--ls-eyebrow: .2em;--ls-label: .18em;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 2.75rem;--sp-8: 4rem;--sp-9: 6rem;--sp-10: 7.75rem;--bw-hair: 1px;--bw-rule: 1.5px;--bw-bold: 2.5px;--bw-heavy: 3px;--r-none: 0;--r-xs: 2px;--r-sm: 3px;--shadow-card: 0 1px 0 rgba(30, 26, 20, .04);--shadow-pop: 0 18px 50px -22px rgba(30, 26, 20, .35);--ring: 0 0 0 3px rgba(168, 51, 43, .3);--max: 1280px;--max-sm: 1020px;--pad: 36px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-b);font-size:var(--t-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}::selection{background:var(--red);color:var(--paper)}h1,h2,h3{font-family:var(--font-h);color:var(--ink);letter-spacing:-.025em;line-height:1.08;font-weight:500}a{color:var(--red);text-decoration:none}a:hover{text-decoration:underline}em{font-style:italic;color:var(--red)}.wrap{max-width:820px;margin:0 auto;padding:0 24px}.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--ink);color:var(--paper);font-family:var(--font-b);font-size:14px;padding:10px 16px}.skip-link:focus{left:8px;top:8px}.nav{position:sticky;top:0;z-index:50;background:#f1ede1eb;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:70px;max-width:1080px;margin:0 auto;padding:0 24px}.brand{font-family:var(--font-h);font-size:20px;font-weight:600;letter-spacing:-.03em;display:inline-flex;align-items:center;gap:10px;color:var(--ink)}.brand:hover{text-decoration:none}.brand .dot{width:7px;height:7px;background:var(--red);border-radius:50%}.nav-links{display:flex;gap:28px;align-items:center}.nav-links a{font-family:var(--font-b);font-size:14px;font-weight:500;color:var(--ink)}.nav-links a.nav-cta{background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);padding:11px 20px;font-size:13px;line-height:1}.nav-links a.nav-cta:hover{background:var(--red);border-color:var(--red);text-decoration:none}.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}.burger span{width:24px;height:2px;background:var(--ink)}.mobile-menu{display:none;flex-direction:column;gap:4px;padding:16px 24px 24px;border-bottom:1px solid var(--line);background:var(--paper)}.mobile-menu a{padding:12px 0;font-size:16px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--line)}.mobile-menu.open{display:flex}@media (max-width: 780px){.nav-links a:not(.nav-cta){display:none}.burger{display:flex}}.breadcrumb{padding:22px 0 0;font-family:var(--font-m);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone-dk)}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.breadcrumb li:after{content:"/";margin-left:8px;color:var(--line)}.breadcrumb li:last-child:after{content:""}.breadcrumb a{color:var(--stone-dk)}.breadcrumb [aria-current=page]{color:var(--red)}.head{padding:28px 0 8px}.eyebrow{font-family:var(--font-m);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:22px;display:inline-flex;align-items:center;gap:14px}.eyebrow:before{content:"";width:28px;height:1.5px;background:var(--red)}h1{font-size:clamp(34px,5vw,56px);letter-spacing:-.03em;line-height:1.02;max-width:20ch;margin-bottom:20px}.lead{font-size:clamp(17px,1.8vw,20px);color:var(--ink-2);max-width:60ch;line-height:1.5}.en-bref{margin:32px 0 8px;padding:24px 28px;background:var(--vellum);border-left:3px solid var(--red)}.en-bref .lbl{font-family:var(--font-m);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);font-weight:600;display:block;margin-bottom:8px}.en-bref p{font-size:16.5px;line-height:1.55;color:var(--ink);margin:0}main{padding:8px 0 80px}.content h2{font-size:clamp(24px,3vw,34px);margin:52px 0 16px}.content h3{font-size:clamp(18px,2vw,22px);margin:28px 0 10px}.content p{margin:0 0 16px;font-size:16.5px;line-height:1.65;color:var(--ink-2)}.content p strong{color:var(--ink);font-weight:600}.content ul,.content ol{margin:0 0 18px;padding-left:0;list-style:none}.content ul li,.content ol li{padding:8px 0;font-size:16px;line-height:1.55;color:var(--ink-2);border-bottom:1px solid var(--line);display:flex;gap:12px}.content ul li:before{content:"→";color:var(--red);flex-shrink:0}.content ol{counter-reset:step}.content ol li:before{counter-increment:step;content:counter(step);font-family:var(--font-m);color:var(--red);font-weight:600;flex-shrink:0;min-width:18px}.cmp{width:100%;border-collapse:collapse;margin:18px 0 24px;font-size:15px}.cmp th,.cmp td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.45}.cmp thead th{font-family:var(--font-m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone-dk);border-bottom:1.5px solid var(--ink)}.cmp tbody th{font-weight:600;color:var(--ink)}.faq-list{border-top:1.5px solid var(--ink);margin-top:16px}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;padding:22px 0;font-family:var(--font-h);font-size:clamp(17px,2vw,21px);font-weight:500;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;line-height:1.25;letter-spacing:-.02em}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{color:var(--red)}.faq-item summary:after{content:"+";font-family:var(--font-h);font-size:26px;color:var(--red);flex-shrink:0;line-height:1;font-weight:400}.faq-item[open] summary:after{content:"−"}.faq-answer{padding:0 0 24px}.faq-answer p{margin:0 0 12px;font-size:16px;line-height:1.6;color:var(--ink-2)}.cta-box{margin:56px 0 0;padding:40px 36px;border:2px solid var(--ink);background:var(--ivory);position:relative}.cta-box:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;height:6px;background:var(--red)}.cta-box h2{margin:0 0 12px;font-size:clamp(22px,2.6vw,30px)}.cta-box p{font-size:16px;color:var(--ink-2);margin-bottom:22px;line-height:1.55}.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;font-family:var(--font-b);font-weight:500;font-size:14.5px;cursor:pointer;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);transition:all .15s}.btn:hover{background:var(--red);border-color:var(--red);text-decoration:none}.btn-ghost{background:transparent;color:var(--ink);margin-left:10px}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.res-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:32px 0 8px}.res-card{display:flex;flex-direction:column;gap:10px;padding:26px 24px;border:1.5px solid var(--line);background:var(--ivory);transition:all .15s}.res-card:hover{border-color:var(--ink);text-decoration:none;transform:translateY(-2px)}.res-card .kicker{font-family:var(--font-m);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);font-weight:600}.res-card h2{font-size:20px;line-height:1.2;letter-spacing:-.02em;color:var(--ink);margin:0}.res-card p{font-size:14.5px;line-height:1.5;color:var(--ink-2);margin:0}.res-card .more{margin-top:auto;padding-top:6px;font-weight:500;font-size:14px;color:var(--red)}@media (max-width: 680px){.res-grid{grid-template-columns:1fr}}.related{margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}.related h2{font-size:18px;margin-bottom:14px}.related ul{list-style:none;display:grid;gap:8px}.related a{font-weight:500}footer{border-top:1.5px solid var(--ink);padding:40px 0;background:var(--paper)}.foot-inner{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;font-family:var(--font-m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone-dk)}.foot-inner a{color:var(--stone-dk)}.foot-inner a:hover{color:var(--red)}@media (max-width: 560px){.cmp thead{display:none}.cmp,.cmp tbody,.cmp tr,.cmp th,.cmp td{display:block;width:100%}.cmp tr{border-bottom:1.5px solid var(--ink);margin-bottom:12px}.cmp td,.cmp th{border-bottom:none;padding:6px 0}}

/* ═══ passe accessibilité S31 · 2026-07-27 ═══════════════════
   Aucune couleur de la palette n'est modifiée : on ne fait que
   choisir, parmi les tokens existants, celui qui atteint le seuil.
   ─────────────────────────────────────────────────────────── */

/* 2.4.7 Focus visible — un anneau au clavier, invisible à la souris. */
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
a:focus-visible,button:focus-visible,summary:focus-visible,
[role=button]:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--ink);outline-offset:3px;border-radius:var(--r-xs)}
input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--red-dk);outline-offset:1px}
.on-dark :focus-visible,.dark :focus-visible,
section[class*=dark] :focus-visible,footer :focus-visible{
  outline-color:var(--paper)}

/* 1.4.1 + 1.4.11 Liens en pleine prose : soulignés, donc repérables
   sans dépendre de la seule couleur. Les liens de navigation, les
   boutons et les cartes gardent leur traitement d'origine. */
main p > a:not(.btn):not(.card):not([class*=cta]),
main li > a:not(.btn):not(.card):not([class*=cta]),
main dd > a:not(.btn):not(.card):not([class*=cta]),
.legal a:not(.btn),.note a:not(.btn),
figcaption a:not(.btn),blockquote a:not(.btn){
  text-decoration:underline;text-underline-offset:.18em;
  text-decoration-thickness:from-font}
main p > a:not(.btn):not(.card):not([class*=cta]):hover,
main li > a:not(.btn):not(.card):not([class*=cta]):hover{
  text-decoration-thickness:2px}

/* Utilitaire : lisible par un lecteur d'écran, invisible à l'œil. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* 2.3.3 Respect de « réduire les animations » (réglage système). */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;
    animation-iteration-count:1 !important;transition-duration:.01ms !important;
    scroll-behavior:auto !important}
}
