:root{--couleur-texte:#1a1a1a;--couleur-fond:#ffffff;--couleur-accent:#14532d;--couleur-bordure:#d4d4d4;--couleur-bandeau:#7f1d1d}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--couleur-texte);background:var(--couleur-fond)}.bandeau-demo{background:var(--couleur-bandeau);color:#ffffff;padding:.75rem 1rem;text-align:center;font-weight:600;font-size:.9rem}.entete{border-bottom:1px solid var(--couleur-bordure);padding:1.5rem 1rem}.contenu{max-width:48rem;margin:0 auto;padding:2rem 1rem 4rem}h1{color:var(--couleur-accent);margin:0;font-size:1.75rem}.services{list-style:none;padding:0;display:grid;grid-gap:.75rem;gap:.75rem}.services a{display:block;padding:1rem;border:1px solid var(--couleur-bordure);border-radius:.375rem;color:inherit;text-decoration:none}.services a:focus-visible,.services a:hover{border-color:var(--couleur-accent);outline:2px solid var(--couleur-accent);outline-offset:2px}.avertissement{border-left:4px solid var(--couleur-bandeau);padding:.5rem 1rem;background:#fef2f2}@media (prefers-color-scheme:dark){:root{--couleur-texte:#f5f5f5;--couleur-fond:#121212;--couleur-accent:#86efac;--couleur-bordure:#3f3f3f}.avertissement{background:#2a1215}}.fil{font-size:.875rem;margin:0 0 .5rem}.fil a{color:inherit}.obligatoire-note{font-size:.9rem}.section{border:1px solid var(--couleur-bordure);border-radius:.375rem;padding:1rem 1.25rem 1.25rem;margin:0 0 1.5rem}.section legend{font-weight:600;padding:0 .5rem}.champ{margin-bottom:1.25rem}.champ label{display:block;font-weight:500;margin-bottom:.35rem}.champ input[type=email],.champ input[type=file],.champ input[type=tel],.champ input[type=text],.champ select,.champ textarea{width:100%;padding:.6rem;font:inherit;color:inherit;background:var(--couleur-fond);border:1px solid var(--couleur-bordure);border-radius:.25rem}.bouton-primaire:focus-visible,.champ input:focus-visible,.champ select:focus-visible,.champ textarea:focus-visible{outline:3px solid var(--couleur-accent);outline-offset:2px}.champ-consentement label{display:flex;gap:.6rem;align-items:flex-start;font-weight:400}.champ-consentement input{margin-top:.3rem;width:1.1rem;height:1.1rem;flex-shrink:0}.champ-en-erreur input,.champ-en-erreur select,.champ-en-erreur textarea{border-width:2px;border-color:var(--couleur-bandeau)}.erreur-champ{color:var(--couleur-bandeau);font-weight:600;margin:.35rem 0 0}.erreur-champ:before{content:"⚠ "}.erreur-sommaire{border:2px solid var(--couleur-bandeau);border-radius:.375rem;padding:1rem;margin-bottom:1.5rem}.aide{font-size:.875rem;margin:0 0 .35rem;opacity:.85}.bouton-primaire{font:inherit;font-weight:600;padding:.75rem 1.5rem;color:#ffffff;background:var(--couleur-accent);border:none;border-radius:.25rem;cursor:pointer}.bouton-primaire:disabled{opacity:.6;cursor:progress}.confirmation{border-left:4px solid var(--couleur-accent);padding:.5rem 1rem}.numero-suivi{font-size:1.25rem}.hors-ecran{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-color-scheme:dark){.bouton-primaire{color:#08110b}}.historique{padding-left:1.25rem}.historique li{margin-bottom:.75rem}.messages{list-style:none;padding:0}.messages li{border:1px solid var(--couleur-bordure);border-radius:.375rem;padding:.75rem 1rem;margin-bottom:.75rem}.messages .de-la-ville{border-left:4px solid var(--couleur-accent)}.messages .origine{font-size:.85rem;margin:0 0 .35rem;opacity:.85}