:root { --nuit:#2b2150; --rose-pale:#fbeff2; --rose-fonce:#a8446a; --rose-fonce-2:#8f3459; --creme:#fffaf8; --texte:#2f2a40; --doux:#5f5a70; --trait:#efe3e6;
  --titre:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif; --corps:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--creme); color:var(--texte); font:17px/1.65 var(--corps); }
h1,h2,h3 { font-family:var(--titre); color:var(--nuit); line-height:1.2; }
h1 { font-size:clamp(34px,7vw,50px); margin:12px 0 14px; }
h2 { font-size:clamp(25px,4.5vw,32px); margin:44px 0 10px; }
h3 { font-size:20px; margin:0 0 6px; }
p { margin:0 0 14px; }
a { color:var(--rose-fonce); }
:focus-visible { outline:3px solid var(--nuit); outline-offset:3px; border-radius:6px; }
.large { max-width:820px; margin:0 auto; padding:0 20px; }
.haut { background:var(--rose-pale); padding-bottom:30px; }
.entete { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:68px; }
.marque { display:inline-flex; align-items:center; gap:9px; font:700 20px var(--titre); color:var(--nuit); text-decoration:none; }
.connexion { color:var(--nuit); font-weight:600; font-size:15px; padding:11px 4px; }
.chapeau { font-size:19px; color:var(--doux); margin:0; }
main { padding:12px 0 54px; }
.carte { background:#fff; border:1px solid var(--trait); border-radius:20px; padding:22px; margin:12px 0; }
.carte p:last-child { margin-bottom:0; }
ul { padding-left:22px; margin:0 0 14px; } li { margin:6px 0; }
.bouton { display:inline-flex; justify-content:center; align-items:center; min-height:52px; padding:13px 26px; border-radius:999px; background:var(--rose-fonce); color:#fff; font-weight:700; text-decoration:none; }
.bouton:hover { background:var(--rose-fonce-2); }
.appel { text-align:center; background:var(--rose-pale); border-radius:24px; padding:30px 20px; margin-top:40px; }
.pied { background:var(--nuit); color:#d9d2ea; padding:32px 0; font-size:15px; }
.pied nav { display:flex; flex-wrap:wrap; gap:4px 18px; }
.pied a { color:#fff; display:inline-block; padding:6px 0; }
details { background:#fff; border:1px solid var(--trait); border-radius:16px; padding:4px 20px; margin-top:10px; }
summary { cursor:pointer; font-weight:700; color:var(--nuit); padding:14px 0; }
