:root{
  --bg:#f6f1ea;
  --card:#ffffff;
  --text:#171717;
  --muted:#6f6a63;
  --stone:#c7ad8a;
  --stone-dark:#92754f;
  --anth:#202020;
  --line:#ebe3d8;
  --shadow:0 24px 80px rgba(24,20,16,.16);
  --radius:28px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at top left,#fff 0,#f6f1ea 42%,#ece2d5 100%)}
button,input{font:inherit}
.quiz-page{min-height:100vh;padding:28px;display:flex;align-items:center;justify-content:center}
.quiz-shell{width:min(1160px,100%);min-height:700px;background:rgba(255,255,255,.56);border:1px solid rgba(255,255,255,.65);box-shadow:var(--shadow);border-radius:34px;overflow:hidden;display:grid;grid-template-columns:42% 58%;backdrop-filter:blur(18px)}
.quiz-media{position:relative;min-height:700px;background:linear-gradient(135deg,#171717,#5e5141);overflow:hidden}
.quiz-media:before{content:"";position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1200&q=80') center/cover;opacity:.46;transform:scale(1.04)}
.media-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.72))}
.media-card{position:absolute;left:34px;right:34px;bottom:34px;color:#fff;padding:28px;border-radius:26px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(16px)}
.badge,.mini-label{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;background:#f1e0c6;color:#372b1e;font-weight:800;font-size:13px;letter-spacing:.02em}
.media-card h2{margin:18px 0 8px;font-size:34px;letter-spacing:-.04em}.media-card p{margin:0;color:rgba(255,255,255,.82);line-height:1.55}
.quiz-box{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.82));padding:28px;display:flex;flex-direction:column}
.topbar{height:52px;display:flex;gap:18px;align-items:center;margin-bottom:20px}.back-btn{width:44px;height:44px;border:0;border-radius:50%;background:#f1eadf;color:#1c1c1c;cursor:pointer;font-size:22px;transition:.2s}.back-btn:hover{transform:translateX(-2px);background:#e8dbc9}.back-btn[hidden]{visibility:hidden}.progress-wrap{flex:1}.progress-text{font-size:13px;color:var(--muted);font-weight:700;margin-bottom:8px}.progress{height:9px;border-radius:999px;background:#eee6db;overflow:hidden}.progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--stone),#1e1e1e);transition:width .35s ease}
#quizForm{flex:1;display:flex}.step{display:none;width:100%;min-height:560px;flex-direction:column;justify-content:center;animation:fadeUp .35s ease}.step.active{display:flex}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
h1,h2{margin:0;color:#161616;letter-spacing:-.045em;line-height:1.05}h1{font-size:clamp(34px,4vw,58px)}h2{font-size:clamp(28px,3vw,44px);max-width:720px}.lead{font-size:18px;color:var(--muted);line-height:1.6;margin:20px 0 28px;max-width:620px}.question-count{margin:0 0 14px;color:var(--stone-dark);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.primary-btn,.secondary-btn{border:0;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:18px 26px;border-radius:18px;background:#171717;color:#fff;font-weight:900;box-shadow:0 18px 35px rgba(0,0,0,.18);transition:.2s}.primary-btn:hover,.secondary-btn:hover{transform:translateY(-2px);box-shadow:0 22px 45px rgba(0,0,0,.22)}.secondary-btn{background:#f0e7dc;color:#171717;box-shadow:none}.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.trust-row span{font-size:13px;font-weight:800;color:#44382c;background:#f2eadf;border:1px solid #eadcc9;border-radius:999px;padding:10px 13px}
.answers{display:grid;gap:12px;margin-top:30px}.answers.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.answers button{min-height:62px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:20px;padding:17px 18px;font-weight:800;color:#25221f;cursor:pointer;box-shadow:0 10px 28px rgba(35,28,20,.06);transition:.18s}.answers button:hover{border-color:var(--stone);transform:translateY(-2px);box-shadow:0 16px 34px rgba(35,28,20,.11)}.answers button.selected{background:#171717;color:#fff;border-color:#171717}.reassurance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:4px 0 28px}.reassurance span{background:#f7f0e7;border:1px solid #eadcc9;border-radius:16px;padding:14px;font-weight:800;color:#3a3026}.loader-ring{width:58px;height:58px;border-radius:50%;border:5px solid #eadfce;border-top-color:#171717;animation:spin 1s linear infinite;margin-bottom:22px}@keyframes spin{to{transform:rotate(360deg)}}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:26px}.fields label{font-size:13px;font-weight:900;color:#3c352e}.fields input{width:100%;margin-top:8px;border:1px solid #dfd5c8;border-radius:16px;padding:16px 15px;background:#fff;outline:none;transition:.2s}.fields input:focus{border-color:#a98d68;box-shadow:0 0 0 4px rgba(199,173,138,.18)}.submit-btn{width:100%;margin-top:18px}.form-error{min-height:22px;margin:14px 0 0;color:#b42318;font-weight:800}.privacy{font-size:12px;color:var(--muted);line-height:1.5}.success-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#171717;color:#fff;font-size:42px;font-weight:900;margin-bottom:24px}.hp-field{position:absolute!important;left:-99999px!important;opacity:0!important}
@media (max-width:900px){.quiz-page{padding:12px}.quiz-shell{grid-template-columns:1fr;min-height:calc(100vh - 24px);border-radius:26px}.quiz-media{display:none}.quiz-box{min-height:calc(100vh - 24px);padding:18px}.topbar{margin-bottom:8px}.step{min-height:calc(100vh - 132px);justify-content:flex-start;padding-top:32px}.answers.grid-2,.fields,.reassurance{grid-template-columns:1fr}.answers button{min-height:58px}.primary-btn,.secondary-btn{width:100%;padding:18px 18px}h1{font-size:34px}h2{font-size:30px}.lead{font-size:16px}.trust-row span{font-size:12px}.back-btn{width:42px;height:42px}}
@media (max-width:420px){.quiz-box{padding:15px}.step{padding-top:22px}.answers{gap:10px}.answers button{padding:15px 14px;border-radius:17px}h1{font-size:31px}h2{font-size:27px}.topbar{gap:10px}}

/* Consentement confidentialité */
.consent-box{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:16px;
  padding:14px;
  border:1px solid #eadcc9;
  border-radius:16px;
  background:#f8f1e8;
  color:#4b4035;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
}
.consent-box input{
  width:18px;
  height:18px;
  margin-top:1px;
  accent-color:#171717;
  flex:0 0 auto;
}
.consent-box a{
  color:#171717;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Page politique de confidentialité */
.legal-page{min-height:100vh;padding:32px;background:radial-gradient(circle at top left,#fff 0,#f6f1ea 42%,#ece2d5 100%);}
.legal-card{max-width:980px;margin:0 auto;background:#fff;border-radius:28px;box-shadow:var(--shadow);padding:clamp(22px,4vw,48px);border:1px solid rgba(255,255,255,.72)}
.legal-card h1{font-size:clamp(32px,4vw,52px);margin-bottom:14px}.legal-card h2{font-size:24px;margin:30px 0 12px}.legal-card p,.legal-card li{color:#5f5850;line-height:1.75;font-size:16px}.legal-card a{color:#171717;font-weight:900}.legal-back{display:inline-flex;margin-bottom:20px;color:#171717;text-decoration:none;font-weight:900;background:#f1eadf;padding:12px 16px;border-radius:999px}
