[hidden]{display:none!important}
:root{
  --bg:#eceff4; --surface:#fff; --ink:#171a22; --muted:#5f6779; --line:#dde2ea;
  --accent:#171a22; --accent-soft:#fff6d6; --alert:#c8352b; --jaune:#ffc928;
  --display:"Bricolage Grotesque","Figtree",system-ui,sans-serif; --body:"Figtree",system-ui,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--body)}
a{color:var(--accent)}
.page{max-width:560px;margin:0 auto;padding:40px 20px 80px}
h1{font:800 32px/1.1 var(--display);letter-spacing:-.03em;margin:0 0 8px}
h2{font:700 18px/1.3 var(--display);margin:0 0 8px}
.sub{color:var(--muted);margin:0 0 24px}
.carte{background:var(--surface);border:0;border-radius:20px;padding:22px;margin-bottom:16px;box-shadow:0 1px 2px rgba(23,26,34,.06),0 10px 30px rgba(23,26,34,.08)}
label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:6px}
input[type=email]{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font:16px var(--body)}
button,.bouton{display:inline-block;font:700 15px var(--body);border-radius:999px;cursor:pointer;padding:12px 20px;
  border:2px solid var(--jaune);background:var(--jaune);color:var(--ink);text-decoration:none;text-align:center}
button.second,.bouton.second{background:#fff;color:var(--ink);border-color:var(--ink)}
button:disabled{opacity:.45;cursor:not-allowed}
button:focus-visible,.bouton:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.etat{font-size:14px;color:var(--muted);margin-top:12px;min-height:1.4em}
.erreur{color:var(--alert)}
