:root{--brand: #704e98;--brand-light: #c8a9f5;--brand-bg: #f9f6ff;--text: #2a1f3d;--muted: #7a6e8a;--border: #efe7fb;--error: #c0392b;--success: #1e7c47}*{box-sizing:border-box}body{margin:0;padding:0;background:var(--brand-bg);font-family:Poppins,system-ui,-apple-system,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}.layout{max-width:560px;margin:0 auto;padding:32px 16px 48px}.brand-row{display:flex;align-items:center;gap:12px;margin-bottom:28px}.brand-link{font-family:Playfair Display,serif;font-style:italic;color:var(--brand);font-size:22px;text-decoration:none}.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px;box-shadow:0 2px 12px #704e980f}h1{font-family:Playfair Display,serif;font-style:italic;font-weight:400;font-size:28px;margin:0 0 8px;color:var(--brand);line-height:1.2;letter-spacing:-.01em}.intro{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 24px}.field{margin-bottom:18px}.field label{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:6px}.field .hint{display:block;font-size:11px;color:var(--muted);margin-top:4px;font-style:italic}.field input,.field textarea{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:16px;background:#fff;color:var(--text)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #704e9826}.field textarea{min-height:100px;resize:vertical}.btn-submit{display:block;width:100%;padding:13px 16px;border-radius:10px;background:var(--brand);color:#fff;border:none;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s ease;margin-top:8px}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.btn-submit:hover:not(:disabled){background:#5d3f80}.btn-back{display:inline-flex;align-items:center;min-height:40px;padding:4px 2px;margin-top:10px;color:var(--brand);text-decoration:none;font-size:13px}.btn-back:hover{text-decoration:underline}.gate,.loading{padding:40px 24px;text-align:center}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--text);color:#fff;padding:12px 20px;border-radius:8px;font-size:14px;z-index:1100;box-shadow:0 4px 16px #0003}.toast-error{background:var(--error)}.toast-success{background:var(--success)}#fork{display:flex;flex-direction:column;gap:12px}#fork[hidden]{display:none}.choice{width:100%;text-align:left;cursor:pointer;background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:5px;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.choice:hover{border-color:var(--brand);box-shadow:0 0 0 3px #704e981f}.choice-title{font-family:Playfair Display,serif;font-style:italic;font-size:18px;color:var(--brand)}.choice-sub{font-size:13px;color:var(--muted);line-height:1.45}.particulier-msg{font-size:14.5px;line-height:1.6;color:var(--text);margin:0 0 18px}.cta-link{display:block;width:100%;padding:13px 16px;border-radius:10px;background:var(--brand);color:#fff;text-decoration:none;text-align:center;font-size:15px;font-weight:600;box-sizing:border-box}.cta-link:hover{background:#5d3f80}@media(max-width:380px){.layout{padding:24px 12px 40px}.card{padding:20px 16px}.recap{padding:12px 14px}}.done-mark{width:44px;height:44px;border-radius:50%;margin:0 0 14px;display:flex;align-items:center;justify-content:center;background:#e8f6ee;color:var(--success);font-size:22px;font-weight:700}.recap{margin:0 0 20px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--brand-bg)}.recap dt{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:10px}.recap dt:first-child{margin-top:0}.recap dd{margin:2px 0 0;font-size:14px;font-weight:500;line-height:1.45}.recap dd.mail{overflow-wrap:break-word}.recap dd.mail a{color:var(--brand);text-decoration:none}.recap code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;letter-spacing:.08em;color:var(--brand);background:#fff;border:1px solid var(--border);border-radius:6px;padding:2px 7px}.next{font-size:14px;line-height:1.65;color:var(--text);margin:0 0 16px}.next a{color:var(--brand)}
