@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dmsans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dmsans-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'Newsreader';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/newsreader-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Newsreader';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/newsreader-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{font-family:'DM Sans',Arial,sans-serif;color:#102437;background:#f5f5f1;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}button,input{font:inherit}button{cursor:pointer}.wrap{max-width:1220px;margin:auto;padding-left:32px;padding-right:32px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:white;z-index:10;padding:12px}.topbar{min-height:78px;padding:0 max(32px,calc((100vw - 1156px)/2));display:flex;align-items:center;gap:60px;background:#102437;color:#f7f5ed}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-weight:700;letter-spacing:.12em;font-size:16px;white-space:nowrap}.brand small{font-size:10px;letter-spacing:.2em;display:block;color:#a6b4be}.brand-mark{width:34px;height:34px;border:1px solid #b9d3d5;display:grid;place-items:center;font-family:Newsreader,Georgia,serif;font-size:25px;letter-spacing:-.14em}.brand-mark span{color:#d6ae75}.topbar nav{display:flex;gap:32px;margin-left:auto}.topbar nav a{font-size:14px;text-decoration:none;color:#d9e0e2}.topbar nav a:hover,.topbar nav a:focus{text-decoration:underline}.edition{border-left:1px solid #405564;padding-left:25px;font-size:11px;letter-spacing:.12em;color:#b8c9ca;white-space:nowrap}.online{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c7a56d;margin-left:8px}.intro{padding-top:82px;padding-bottom:75px}.eyebrow,.section-index,.level{font-size:11px;font-weight:700;letter-spacing:.15em;color:#59737e}.eyebrow span{color:#846c4c;margin:0 6px}h1,h2,h3,p{margin-top:0}.intro h1,.page-view h1,.article-view h1{font-family:Newsreader,Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.02}.intro h1{font-size:clamp(58px,7.3vw,104px);margin:20px 0 22px}.intro h1 em,.page-view h1 em{font-weight:400;color:#748e93}.intro p{font-size:17px;line-height:1.65;max-width:620px;color:#53636b}.workbench{background:#fff;border:1px solid #dce2df;padding-top:34px;padding-bottom:37px;box-shadow:0 22px 70px #1024370b}.work-head,.results-head,.card-top,.card-bottom,.article-top,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.work-head h2,.map h2{font-family:Newsreader,Georgia,serif;font-weight:500;letter-spacing:-.025em;font-size:35px;margin:9px 0 26px}.count{font-size:12px;color:#60737a}.search-wrap{display:flex;align-items:center;border:1px solid #bfcdd0;background:#fafbf9;height:59px;padding:0 18px;gap:14px}.search-wrap:focus-within{outline:2px solid #577b88;outline-offset:2px}.search-wrap span{font-size:28px;line-height:0;color:#526d77}.search-wrap input{border:0;outline:0;background:transparent;flex:1;min-width:0;color:#102437}.search-wrap input::placeholder{color:#68767b}.search-wrap kbd{border:1px solid #d2dcdc;padding:2px 7px;color:#5e737a;font-size:12px}.filters{display:flex;flex-wrap:wrap;gap:8px;padding:20px 0 32px}.filter{border:1px solid #d0dcdb;background:#fff;color:#48626c;padding:9px 15px;border-radius:2px;font-size:14px}.filter.active{background:#19394b;border-color:#19394b;color:white}.filter:hover{border-color:#416b7a}.results-head{border-bottom:1px solid #dce2df;padding-bottom:13px;font-size:11px;letter-spacing:.12em;font-weight:700;color:#5b737c}.results-head span:last-child{font-weight:500;letter-spacing:0}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.card{display:flex;flex-direction:column;text-decoration:none;padding:24px 0 23px;border-bottom:1px solid #e1e6e4;min-height:230px}.card:hover h3,.card:focus h3{text-decoration:underline;text-decoration-color:#b59567;text-underline-offset:5px}.card-top{font-size:11px;color:#58737e;letter-spacing:.12em;font-weight:700}.card-top span:last-child{font-size:20px;font-weight:400;color:#b49a73}.card h3{font-family:Newsreader,Georgia,serif;font-size:27px;line-height:1.18;font-weight:500;letter-spacing:-.02em;margin:19px 0 8px}.card p{color:#5e6e74;font-size:14px;line-height:1.55;max-width:490px}.card-bottom{margin-top:auto;font-size:12px;color:#5e737a}.card-bottom span:last-child{color:#1a5061;font-weight:700}.empty{padding:25px 0}.map{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;padding-top:86px;padding-bottom:110px}.map h2{font-size:37px;line-height:1.12;margin:17px 0 13px}.map p{font-size:14px;line-height:1.7;color:#647378}.topics{display:flex;align-content:start;flex-wrap:wrap;gap:10px}.topics span,.topics a{border:1px solid #ccd7d6;padding:13px 17px;font-size:14px;color:#48626c;background:#f9faf7;text-decoration:none}.topics a:hover{border-color:#416b7a;text-decoration:underline}.page-view,.article-view{min-height:75vh;padding-top:52px;padding-bottom:110px}.back{display:inline-block;margin-bottom:55px;text-decoration:none;color:#426472;font-size:14px;font-weight:700}.back:hover{text-decoration:underline}.page-view h1{font-size:clamp(52px,6.2vw,82px);margin:22px 0 55px}.method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.method-grid>div,.notice{border:1px solid #d4dfdd;background:white;padding:28px}.method-grid b{font-size:12px;letter-spacing:.1em;color:#346071}.method-grid p,.notice p,.lead{color:#53676e;line-height:1.7;margin:15px 0 0}.notice{margin-top:28px;border-left:4px solid #ad906b}.notice.provenance-note{margin:0 0 42px}.notice.provenance-note strong{font-size:13px;letter-spacing:.02em}.notice.provenance-note .participer{margin-top:10px;font-size:14px}.notice.provenance-note .participer a{color:#15516a;font-weight:700}.notice strong{font-size:14px}.lead{font-size:18px;max-width:750px;margin:-23px 0 35px}.source-list{border-top:1px solid #cbd7d6;max-width:850px}.source-list a{display:flex;justify-content:space-between;padding:22px 5px;border-bottom:1px solid #cbd7d6;text-decoration:none;font-family:Newsreader,Georgia,serif;font-size:26px}.source-list a span{font-family:'DM Sans',sans-serif;font-size:14px;color:#41697a}.source-list a:hover{background:#e9efed}.res-group{margin-bottom:46px}.res-group h2{font-family:Newsreader,Georgia,serif;font-weight:500;font-size:28px;letter-spacing:-.02em;margin:0 0 8px}.res-group>p{font-size:14px;line-height:1.7;color:#647378;max-width:760px;margin:0 0 6px}.source-list a{align-items:baseline}.res-name{font-family:Newsreader,Georgia,serif;font-size:26px}.res-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right;max-width:430px}.res-rang{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.12em;font-weight:700;text-transform:uppercase;border:1px solid #bcc9c9;padding:3px 7px;color:#3f5c66;white-space:nowrap}.res-rang-1,.res-rang-2{background:#153247;border-color:#153247}.source-list a span.res-rang-1,.source-list a span.res-rang-2{color:#f2efe6}.res-when{font-family:'DM Sans',sans-serif;font-size:14px;color:#5c6e75;line-height:1.5}.res-context{border:1px solid #d4dfdd;background:#fff;padding:26px;margin-top:38px}.res-context strong{font-size:12px;letter-spacing:.1em;color:#346071}.res-context>p{font-size:14px;color:#60737a;margin:10px 0 4px}.res-context .source-list a{padding:16px 5px}.res-context .res-name{font-size:20px}.footnote{font-size:14px;color:#657274;margin-top:40px}.article-top{color:#5d747d;font-size:12px}.article-view h1{font-size:clamp(49px,6.2vw,80px);max-width:1000px;margin:23px 0 47px}.answer{background:#153247;color:#fff;padding:30px 36px;margin-bottom:60px}.answer span{font-size:11px;letter-spacing:.16em;color:#d9bd8d;font-weight:700}.answer p{font-family:Newsreader,Georgia,serif;font-size:clamp(24px,2.7vw,35px);line-height:1.35;max-width:1000px;margin:16px 0 0}.article-grid{display:grid;grid-template-columns:210px minmax(0,740px);gap:70px}.article-nav{position:sticky;top:20px;align-self:start;display:grid;gap:18px;border-top:1px solid #c7d2d2;padding-top:18px}.article-nav span{font-size:11px;color:#627379;letter-spacing:.13em;font-weight:700}.article-nav a{text-decoration:none;font-size:14px;color:#365d6b}.article-nav a:hover{text-decoration:underline}.article-body section{border-bottom:1px solid #d1dbd9;padding-bottom:45px;margin-bottom:45px;scroll-margin-top:25px}.article-body h2{font-family:Newsreader,Georgia,serif;font-size:39px;font-weight:500;letter-spacing:-.025em;margin:13px 0 22px}.article-body p,.article-body li{line-height:1.8;color:#3f535b;font-size:16px}.article-body li{padding-left:8px;margin-bottom:15px}.article-body ol{padding-left:24px}.references{background:#eaf0ee;margin-top:30px;padding:24px}.references strong{display:block;font-size:12px;letter-spacing:.06em;margin-bottom:15px}.references a{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #cbd8d6;padding:14px 0;color:#15516a;text-decoration:none;font-weight:700;font-size:14px}.references a span{color:#5c6e75;font-weight:400}.references a:hover{text-decoration:underline}.article-note{font-size:14px;color:#60737a;line-height:1.65}footer{background:#102437;color:#b7c7cb}.footer-inner{padding-top:29px;padding-bottom:30px;font-size:11px;letter-spacing:.04em}.footer-inner a{color:#e2e7e4;text-decoration:none}.footer-sep{color:#c9a777;padding:0 7px}[hidden]{display:none!important}@media(max-width:800px){.topbar{padding:0 18px;gap:18px;min-height:66px;flex-wrap:wrap}.topbar nav{gap:8px 12px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.topbar nav a{font-size:12px}.edition{display:none}.wrap{padding-left:20px;padding-right:20px}.intro{padding-top:59px;padding-bottom:50px}.intro h1{font-size:clamp(52px,10vw,75px)}.workbench{border-left:0;border-right:0}.cards{grid-template-columns:1fr}.card{min-height:205px}.map{grid-template-columns:1fr;gap:20px;padding-top:65px;padding-bottom:75px}.article-grid{grid-template-columns:1fr;gap:30px}.article-nav{position:static;display:flex;flex-wrap:wrap;gap:13px}.article-nav span{width:100%}.footer-inner{flex-wrap:wrap}.method-grid{grid-template-columns:1fr}}@media(max-width:500px){.topbar{padding-top:14px;padding-bottom:12px}.topbar nav{width:100%;margin:0}.intro h1{font-size:52px}.intro p{font-size:16px}.work-head{align-items:start}.count{display:none}.work-head h2{font-size:31px}.search-wrap kbd{display:none}.filters{gap:6px}.filter{padding:8px 10px}.article-view h1{font-size:49px}.answer{padding:25px}.references a{display:block}.references a span{display:block;margin-top:5px}.source-list a{font-size:22px;gap:10px;flex-direction:column}.res-name{font-size:20px}.res-meta{align-items:flex-start;text-align:left;max-width:none;margin-top:8px}}
.breadcrumb{font-size:14px;color:#4f6670;margin-bottom:40px}
.breadcrumb ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.breadcrumb li+li::before{content:"›";padding-right:6px;color:#9aa9ae}
.breadcrumb a{color:#365d6b;text-decoration:none}
.breadcrumb a:hover,.breadcrumb a:focus{text-decoration:underline}
.breadcrumb [aria-current]{color:#102437;font-weight:600}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #577b88;outline-offset:2px}
.card:focus-visible{outline-offset:-3px}
.not-found{padding-top:80px;padding-bottom:120px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Signalétique de vérification (AD-23) : ce qui a été contrôlé, quand, sur quoi. Sobre, pas un label marketing. */
.provenance{display:flex;flex-wrap:wrap;gap:8px 18px;margin:24px 0 32px;padding:14px 16px;border:1px solid #d8e0e3;border-left:3px solid #577b88;background:#f7fafb;font-size:13px;color:#3d565f}
.provenance b{letter-spacing:.08em;color:#102437}
.article-note.limites ul,.article-note.leviers ul{margin:8px 0 0;padding-left:20px}
.article-note.leviers{border-left:3px solid #ad906b;background:#fff;padding:18px 22px;margin:0 0 26px}
.article-note.leviers strong{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#346071;margin-bottom:2px}
.article-note.leviers li{font-size:14px;line-height:1.7;margin-bottom:6px}
.article-note.leviers.blocages{border-left-color:#8f4a3c}
.article-note.signal a{color:#365d6b}
/* Cas pratiques : une décision rattachée à la fiche qui porte la règle, sans adresse propre. */
.cas-list{margin-top:40px}
.cas{border:1px solid #d8e0e3;border-top:3px solid #102437;padding:20px 22px;margin:16px 0;background:#fff}
.cas h3{margin:0 0 6px;font-size:19px}
.cas-q{color:#3d565f;margin:0 0 14px}
.cas dl{margin:0}
.cas dt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#577b88;margin-top:12px}
.cas dd{margin:4px 0 0}
/* Formulaire de signalement : le visiteur pointe une source, il ne corrige pas la fiche. */
.contact-form{max-width:620px;margin-top:32px}
.contact-form p{margin:0 0 18px}
.contact-form label{display:block;font-size:14px;letter-spacing:.04em;color:#3d565f;margin-bottom:6px}
.contact-form .opt{color:#5c6e75}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:10px 12px;border:1px solid #c7d3d7;background:#fff;font:inherit;font-size:15px;color:#102437}
.contact-form textarea{resize:vertical}
.contact-form button{padding:12px 22px;border:0;background:#102437;color:#fff;font:inherit;font-size:15px;cursor:pointer}
.contact-form button[disabled]{background:#8a9aa1;cursor:not-allowed}
.contact-form .hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.contact-status{font-size:14px;color:#3d565f}
