
:root{--paper:#f7f2e9;--ink:#33202f;--ink-soft:#5c4653;--accent:#9a3f63;--gold:#b08d57;--line:#ddc9cf;--card:#fffdf8;--head-font:"Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--body-font:-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 var(--body-font)}
a{color:var(--accent);text-underline-offset:3px}a:hover,a:focus-visible{color:var(--ink)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:30}
.topline{background:var(--ink);color:#e9dcd2;font:600 12px/1.5 var(--body-font);letter-spacing:.04em}.topline .wrap{max-width:var(--max);margin:auto;padding:9px 24px}.topline b{color:var(--gold)}
.masthead{border-bottom:1px solid var(--line);background:var(--paper)}.masthead .wrap{max-width:var(--max);margin:auto;padding:20px 24px;display:flex;align-items:baseline;gap:36px;flex-wrap:wrap}
.wordmark{font:700 30px/1 var(--head-font);letter-spacing:.01em;text-decoration:none;color:var(--ink)}.wordmark em{font-style:normal;color:var(--accent)}
nav{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}nav a{font:600 12.5px var(--body-font);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:var(--ink-soft);border-bottom:2px solid transparent;padding-bottom:3px}nav a[aria-current="page"]{border-color:var(--accent);color:var(--ink)}
.hero{max-width:var(--max);margin:auto;padding:64px 24px 44px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.kicker{font:700 12px var(--body-font);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
h1,h2,h3{font-family:var(--head-font);font-weight:700;letter-spacing:-.01em;color:var(--ink)}
h1{font-size:clamp(34px,4.6vw,54px);line-height:1.12;margin:.3em 0 .35em}
.dek{font-size:19px;color:var(--ink-soft);max-width:620px}
.hero figure{margin:0;background:var(--card);border:1px solid var(--line);padding:26px;box-shadow:0 14px 34px #33202f14}
.hero svg{display:block;width:100%;height:auto}
.hero figcaption{margin-top:14px;font:600 12px/1.5 var(--body-font);color:var(--ink-soft);letter-spacing:.03em}
.layout{max-width:var(--max);margin:auto;padding:20px 24px 70px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(28px,5vw,72px)}
.sommaire{position:sticky;top:26px;align-self:start;border-top:4px solid var(--accent);padding-top:14px;font:600 12.5px/1.6 var(--body-font);color:var(--ink-soft)}
.sommaire span{display:block;font:700 30px/1 var(--head-font);color:var(--gold);margin-bottom:8px}
.sommaire ul{list-style:none;margin:14px 0 0;padding:0}.sommaire li{margin:7px 0}.sommaire a{color:var(--ink-soft);text-decoration:none}.sommaire a:hover{color:var(--accent)}
article .sec{border-top:1px solid var(--line);padding:36px 0}
article .sec h2{font-size:clamp(24px,3vw,34px);margin:0 0 16px}
article .sec p{margin:0 0 16px;max-width:74ch}
.fiche{background:var(--card);border:1px solid var(--line);margin:34px 0;padding:8px 0 4px}
.fiche h2{font-size:22px;padding:0 24px 6px;margin:14px 0 8px}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{padding:13px 24px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}
th[scope=row]{font-family:var(--head-font);font-size:16px;color:var(--ink);width:30%}
td.num{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700;white-space:nowrap;width:22%}
td.note{color:var(--ink-soft);font-size:13.5px}
.timeline{counter-reset:etape;margin:36px 0;border-top:1px solid var(--line)}
.timeline h2{font-size:clamp(24px,3vw,34px);padding-top:32px}
.step{counter-increment:etape;display:grid;grid-template-columns:76px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid var(--line)}
.step:before{content:counter(etape,decimal-leading-zero);font:700 44px/1 var(--head-font);color:var(--gold)}
.step h3{margin:4px 0 8px;font-size:20px}
.step p{margin:0;max-width:74ch;color:var(--ink)}
figure.inline{margin:40px 0;background:var(--card);border:1px solid var(--line);padding:24px}
figure.inline svg{display:block;width:100%;height:auto}
figure.inline figcaption{margin-top:12px;font:600 12px/1.5 var(--body-font);color:var(--ink-soft);letter-spacing:.03em}
.faq{border-top:4px solid var(--ink);padding-top:30px;margin-top:44px}
.faq h2{font-size:clamp(24px,3vw,34px);margin:0 0 10px}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{cursor:pointer;font:700 18px/1.3 var(--head-font);color:var(--ink)}
.faq details p{margin:12px 0 4px;max-width:74ch;color:var(--ink)}
.bandeau{background:#efe4d3;border-left:5px solid var(--gold);padding:18px 22px;margin:34px 0;font-size:15px;color:var(--ink-soft)}
.pied{background:var(--ink);color:#e9dcd2;margin-top:70px}
.pied .wrap{max-width:var(--max);margin:auto;padding:40px 24px;display:grid;grid-template-columns:1fr 2fr;gap:36px}
.pied strong{font:700 24px var(--head-font);color:#f7f2e9}
.pied p{margin:0;font-size:13.5px;line-height:1.65;color:#cbb8b0}
.pied a{color:var(--gold)}
.err{min-height:60vh;display:grid;place-items:center;text-align:center;padding:40px 24px}
@media(max-width:860px){
.topline .wrap{padding:8px 16px}.masthead .wrap{display:block;padding:16px}.wordmark{font-size:26px}nav{margin:14px 0 0;gap:14px}
.hero{grid-template-columns:1fr;padding:40px 16px 30px;gap:26px}.hero figure{order:-1;padding:16px}
.layout{grid-template-columns:1fr;padding:8px 16px 50px}
.sommaire{position:static;border-top-width:3px}.sommaire ul{display:flex;gap:14px;flex-wrap:wrap}
article .sec{padding:26px 0}h1{font-size:32px}
.fiche{margin:26px 0}.fiche h2{padding:0 14px}
.fiche table,.fiche tbody,.fiche tr,.fiche th,.fiche td{display:block;width:auto!important;white-space:normal}
.fiche tr{border-top:1px solid var(--line);padding:8px 0}
.fiche th,.fiche td{border:0;padding:3px 14px}
.step{grid-template-columns:52px 1fr}.step:before{font-size:32px}
.pied .wrap{grid-template-columns:1fr;padding:32px 16px}
}
