:root{--b:#1d3b8b;--bd:#162e6e;--r:#d42a3c;--ink:#0f1a33;--mut:#4a5468;--line:#dfe3ec;--soft:#f4f6fa;--a:#1d3b8b}
*{box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3{line-height:1.2}.doc h1{font-size:34px}a{color:var(--b)}.w{max-width:1080px;margin:0 auto;padding:0 20px}
header{background:#fff;border-bottom:3px solid var(--b)}header .w{display:flex;align-items:center;gap:14px;height:70px}
.logo{color:var(--b);text-decoration:none;font-weight:800;font-size:24px;letter-spacing:-.02em}.logo span{color:var(--r)}
.tagl{font-size:12px;color:#5b6475;border-left:1px solid var(--line);padding-left:14px;line-height:1.3}
header nav{margin-left:auto;display:flex;gap:26px}header nav a{color:var(--b);text-decoration:none;font-weight:700;font-size:15px}header nav a:hover{color:var(--r)}
.hero{background:var(--b);color:#fff;box-shadow:0 0 0 100vmax var(--b);clip-path:inset(0 -100vmax);padding:52px 0 56px;margin-bottom:28px}
.hero h1{font-size:46px;line-height:1.08;margin:10px 0 16px;letter-spacing:-.02em}.hero h1 em{font-style:normal;border-bottom:5px solid var(--r)}
.hero .lead{color:#dbe3f6}.hero a{color:#fff}
.lead{font-size:19px;color:var(--mut);max-width:720px;margin:0}
.pill,.kick{display:block;background:none;border:0;padding:0;color:#ffb3ba;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin:0}
.hgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.hbox{background:#fff;color:var(--ink);padding:26px;border-top:6px solid var(--r)}.hbox h2{margin:0 0 6px;font-size:22px}.hbox p{color:var(--mut);margin:0 0 16px;font-size:15px}
.hbox .btn{display:block;text-align:center}.hbox .alt-link{display:block;text-align:center;margin-top:12px;font-size:14px;color:var(--mut)}.hbox .alt-link a{color:var(--b);font-weight:700}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);margin:-28px 0 10px}
.facts div{padding:22px 18px;border-right:1px solid var(--line)}.facts div:last-child{border:0}.facts b{display:block;font-size:30px;color:var(--b);letter-spacing:-.02em}.facts span{font-size:14px;color:var(--mut);line-height:1.4}
.choix{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}
.card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:22px}
.choix a.card{text-decoration:none;color:var(--ink);display:block;border-top:4px solid var(--b)}.choix a.card:hover{border-top-color:var(--r)}
.choix h2{margin:0 0 6px;font-size:22px}.go{display:inline-block;margin-top:12px;font-weight:800;color:var(--r)}
.btn{display:inline-block;background:var(--r);color:#fff;border:0;border-radius:3px;padding:15px 22px;font-size:17px;font-weight:800;cursor:pointer;text-decoration:none}.btn:hover{background:#b8202f}
.btn:disabled{opacity:.5}.btn.alt{background:var(--b)}.btn.alt:hover{background:var(--bd)}
section{padding:26px 0}section h2{font-size:28px;margin:0 0 14px;letter-spacing:-.01em;color:var(--b)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--b)}.grid3>div{padding:18px 20px 6px 0}.grid3 .card{border:0;padding:18px 20px 6px 0}
.grid3 h3{margin:0 0 6px;font-size:18px;color:var(--ink)}.num{color:var(--r);font-weight:800;font-size:13px;letter-spacing:.1em}
.note{font-size:13px;color:var(--mut)}
#diag{border-top:6px solid var(--r);box-shadow:0 18px 40px rgba(15,26,51,.12);margin-top:-60px;position:relative}
.q{margin:18px 0}.q>b{display:block;margin-bottom:8px}.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts button{background:#fff;border:1.5px solid #c3cad8;border-radius:3px;padding:11px 15px;font-size:15px;font-weight:600;cursor:pointer;color:var(--ink)}
.opts button.on{border-color:var(--b);background:var(--b);color:#fff}
input,select{width:100%;max-width:340px;padding:12px;border:1.5px solid #c3cad8;border-radius:3px;font-size:16px;background:#fff}input:focus{outline:2px solid var(--b);border-color:var(--b)}
.verdict{border-radius:3px;padding:18px 20px;margin:16px 0;font-size:17px}
.v-err{background:#fff4f5;border-left:6px solid var(--r)}.v-chk{background:#eef2fb;border-left:6px solid var(--b)}.v-ok{background:#f1f8f3;border-left:6px solid #2f855a}
.pts{margin:10px 0 0;padding-left:20px}.pts li{margin:6px 0}
.err{color:#b8202f;font-weight:700}
details{background:#fff;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 0;margin:0}summary{font-weight:700;cursor:pointer;color:var(--ink)}details p{color:var(--mut)}
footer{color:var(--mut);font-size:13px;padding:28px 0 40px;border-top:3px solid var(--b);margin-top:30px;background:var(--soft)}footer a{color:var(--mut)}
.doc{border-top:6px solid var(--b)}.doc h1{margin-top:0;color:var(--b)}.doc h2{font-size:20px;margin:24px 0 6px;color:var(--b)}
.lettre{white-space:pre-wrap;border:1px solid var(--line);border-left:6px solid var(--b);padding:18px 20px;background:var(--soft);font-size:15px;line-height:1.6;margin:14px 0}
.cta{background:var(--b);color:#fff;padding:22px;margin:26px 0}.cta p{margin:4px 0 14px;color:#dbe3f6}.cta b{font-size:20px}
.demo{margin:0;justify-self:center}.demo video{width:100%;max-width:320px;height:auto;border-radius:18px;background:#0f1a33;display:block;border:8px solid #0f1a33}.demo figcaption{text-align:center;margin-top:6px}
.fig{margin:8px 0}.fig img{width:100%;height:auto;border:1px solid var(--line)}
.garantie{background:#eef2fb;border-left:5px solid var(--b);padding:12px 14px;margin:12px 0;font-size:15px}
.paye{background:#eef2fb;border-left:6px solid var(--b);padding:14px 18px;margin:0 0 14px;font-size:16px}
.scan{background:#f4f6fa;border:2px dashed #8fa1cf;padding:18px 20px}.scan label.btn{cursor:pointer}
.lu{background:#eef2fb;border-left:6px solid var(--b);padding:12px 16px;margin:12px 0}
.priv{font-size:12.5px;color:#5b6475;padding:6px 0 0}
@media print{header,footer,.noprint{display:none!important}body{background:#fff}.card{box-shadow:none;border:0;padding:0}main{padding:0!important}#lettre{font-size:12pt}}
@media(max-width:860px){.hgrid,.choix,.grid3{grid-template-columns:1fr}.facts{grid-template-columns:1fr 1fr}.facts div:nth-child(2){border-right:0}.hero h1{font-size:31px}.hero{padding:34px 0 44px}
.tagl{display:none}.doc h1{font-size:27px}.doc{padding:18px}header nav{gap:12px}header nav a{font-size:13px}.logo{font-size:20px}#diag{margin-top:-40px}}
