:root{--encre:#1d4e5f;--encre2:#2b6a7e;--corail:#e2725b;--corail2:#c45a44;--fond:#fbf7f1;--sable:#f3ebdf;--carte:#fff;--texte:#22292c;--doux:#5d6a6f;--ligne:#e6dccd}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fond);color:var(--texte);font:17px/1.65 "Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--encre2);text-underline-offset:2px}a:hover{color:var(--corail2)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--corail);outline-offset:2px}
.w{max-width:1000px;margin:0 auto;padding:0 20px}
.saut{position:absolute;left:-999px}.saut:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:9}
header.site{background:var(--fond);border-bottom:1px solid var(--ligne)}
header.site .w{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:66px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
header.site .logo svg{height:32px;width:auto;display:block}
nav.menu{display:flex;gap:18px;flex-wrap:wrap;font-size:15.5px}nav.menu a{text-decoration:none;color:var(--texte);padding:4px 0;border-bottom:2px solid transparent}
nav.menu a:hover,nav.menu a[aria-current]{color:var(--encre);border-bottom-color:var(--corail)}
h1,h2,h3{font-family:"DM Serif Display",Georgia,serif;color:var(--encre);line-height:1.2;font-weight:400}
h1{font-size:clamp(30px,4.6vw,44px);margin:.35em 0 .3em}h2{font-size:clamp(22px,3vw,28px);margin:1.6em 0 .45em}h3{font-size:20px;margin:1.1em 0 .4em}
.chapo{font-size:19px;color:var(--doux);max-width:720px}
.fil{font-size:14px;color:var(--doux);margin-top:22px}.fil a{color:var(--doux)}
.hero{padding:22px 0 6px}
.bandeau{background:var(--sable);border-bottom:1px solid var(--ligne)}.bandeau .w{padding-top:34px;padding-bottom:30px}
.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:16px 0}
.carte{background:var(--carte);border:1px solid var(--ligne);border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--texte);display:block;border-top:4px solid var(--encre)}
.carte:hover{border-top-color:var(--corail)}.carte b{font-family:"DM Serif Display",Georgia,serif;font-weight:400;color:var(--encre);font-size:19px;display:block;margin-bottom:4px}.carte span{font-size:14.5px;color:var(--doux)}
.bouton{display:inline-block;background:var(--encre);color:#fff!important;text-decoration:none;padding:12px 20px;border-radius:8px;font-weight:600;margin:10px 8px 10px 0;border:none;font:inherit;cursor:pointer}
.bouton:hover{background:var(--encre2)}.bouton.corail{background:var(--corail);color:#fff!important}.bouton.corail:hover{background:var(--corail2)}
article p,article li,main>p,.texte p,.texte li{max-width:740px}
article ul,article ol{padding-left:22px}article li{margin:4px 0}
.voir{background:var(--sable);border-radius:12px;padding:16px 20px;margin-top:30px}.voir h2{margin-top:0;font-size:21px}
.voir ul{margin:0;padding-left:20px}
.outil{background:var(--carte);border:1px solid var(--ligne);border-radius:14px;padding:20px 22px;margin:18px 0}
.outil fieldset{border:none;margin:0 0 10px;padding:0}.outil legend{font-family:"DM Serif Display",Georgia,serif;color:var(--encre);font-size:20px;margin:10px 0 4px}
.outil label{display:flex;align-items:flex-start;gap:10px;font-size:16px;padding:7px 8px;border-radius:8px;cursor:pointer}
.outil label:hover{background:var(--fond)}.outil input[type=checkbox]{margin-top:4px;width:18px;height:18px;flex-shrink:0;accent-color:var(--encre)}
.compte{position:sticky;bottom:0;background:var(--encre);color:#fff;border-radius:10px;padding:12px 16px;margin-top:12px;font-weight:600}
.note{font-size:14.5px;color:var(--doux)}
dl.faq dt{color:var(--encre);margin-top:20px;font-family:"DM Serif Display",Georgia,serif;font-size:20px}dl.faq dd{margin:6px 0 0;max-width:740px}
footer.site{margin-top:64px;background:var(--encre);color:#d9e6ea;font-size:14.5px}footer.site .w{padding-top:28px;padding-bottom:28px}
footer.site a{color:#fff}footer.site .liens{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0}
@media (max-width:640px){body{font-size:16px}nav.menu{gap:12px;font-size:14.5px}.outil{padding:14px}.chapo{font-size:17px}}
@media print{header.site,footer.site,.voir,.compte,.bouton{display:none}body{background:#fff}.outil{border:none;padding:0}}
