/* ERA Jonquières & Co — Accueil V2 (aperçu) — surcharges de design, aucune modification du simulateur */
:root{--red:#D5012A;--red-d:#A30022;--ink:#171512;--mut:#5F5F66;--warm:#F7F2EA;--line:#E8E1D6;--gold:#E8A400;--r:18px;--max:1180px;
 --sh1:0 1px 2px rgba(23,21,18,.06),0 8px 24px rgba(23,21,18,.07);--sh2:0 2px 4px rgba(23,21,18,.06),0 18px 44px rgba(23,21,18,.13)}
body{font-size:17px;line-height:1.65;color:var(--ink)}
h1,h2,h3{letter-spacing:-.022em}
h2{font-size:clamp(28px,3.6vw,40px);font-weight:800;line-height:1.12}
.section{padding:88px 0}
@media(max-width:900px){.section{padding:56px 0}}
:focus-visible{outline:3px solid #1a56db;outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:#fff;color:var(--ink);padding:10px 16px;border-radius:8px;font-weight:700}
.skip:focus{left:8px}
.anchor{position:relative;top:-90px;display:block;height:0}
/* boutons */
.btn{height:54px;border-radius:12px;transition:background .18s,transform .18s,box-shadow .18s,border-color .18s}
.btn:active{transform:translateY(1px)}
.btn-p{box-shadow:0 6px 18px rgba(213,1,42,.26)}
.btn-p:hover{box-shadow:0 10px 24px rgba(213,1,42,.34);transform:translateY(-1px)}
.btn-s{border-color:#cfc7b9;background:#fff}
.btn-s:hover{border-color:var(--ink)}
.ic{width:20px;height:20px;flex:none}
/* header */
.hd .wrap{height:72px}
.hd nav a.lk{padding:10px 4px;position:relative}
.hd nav a.lk:hover{color:var(--red)}
.hd .tel{padding:10px 4px}
.burger{display:none;margin-left:auto;width:48px;height:48px;border:1.6px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.burger span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:900px){
 .hd .wrap{height:64px}
 .burger{display:flex}
 .brand .logo{height:44px}
 .hd nav{position:fixed;left:0;right:0;top:64px;bottom:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 96px;margin:0;overflow:auto;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility .18s;z-index:59}
 .hd nav.open{opacity:1;transform:none;visibility:visible}
 .hd nav a.lk,.hd nav a.tel{display:flex !important;align-items:center;min-height:56px;border-bottom:1px solid var(--line);font-size:18px;padding:0 4px}
 .hd nav a.btn{margin-top:18px;height:56px;justify-content:center}
}
/* HERO */
.hero2{min-height:min(700px,86vh);align-items:flex-end}
.hero2 .bg::before{background:linear-gradient(0deg,rgba(10,8,6,.78) 0%,rgba(10,8,6,.18) 55%,rgba(10,8,6,.30) 100%),linear-gradient(90deg,rgba(10,8,6,.84) 0%,rgba(10,8,6,.55) 48%,rgba(10,8,6,.08) 100%)}
.hero2 .wrap{padding-top:72px;padding-bottom:150px}
.hero2 h1{font-size:clamp(34px,5.2vw,58px);font-weight:800;max-width:19ch;line-height:1.06;margin:14px 0 .4em}
.hero2 .sub{font-size:clamp(17px,1.6vw,20px);max-width:560px;margin-bottom:0}
.hero2 .eyebrow{font-size:12.5px}
.cvr2b{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 14px}
.cvr2b a{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:68px;padding:12px 24px;border-radius:14px;text-decoration:none;transition:.18s;max-width:370px;flex:1 1 300px}
.cvr2b b{font-size:16px;font-weight:800;line-height:1.25}
.cvr2b span{font-size:13.5px;line-height:1.35;font-weight:500}
.cvr2b .cta1{background:var(--red);color:#fff;box-shadow:0 10px 28px rgba(213,1,42,.38)}
.cvr2b .cta1:hover{background:var(--red-d);transform:translateY(-1px)}
.cvr2b .cta1 span{color:#ffe3e8}
.cvr2b .cta2{background:rgba(255,255,255,.1);color:#fff;border:1.6px solid rgba(255,255,255,.62);backdrop-filter:blur(6px)}
.cvr2b .cta2:hover{background:rgba(255,255,255,.2)}
.cvr2b .cta2 span{color:#f1ebe3}
.hero2 .hreass{font-size:13px;color:#e4ded5;max-width:520px;margin:0}
.hero2 .htrust{margin-top:22px;gap:10px 16px}
.hero2 .htrust a{border-bottom:2px solid rgba(232,164,0,.7)}
.hero2 .illcap{bottom:92px;right:24px;left:auto;font-size:11px}
@media(max-width:900px){
 .hero2{min-height:0}
 .hero2 .wrap{padding-top:36px;padding-bottom:96px}
 .cvr2b{margin-top:24px}.cvr2b a{max-width:none;flex:1 1 100%}
 .hero2 .illcap{top:auto;bottom:70px;right:12px;left:auto !important}
}
/* RÉASSURANCE */
.trust{position:relative;z-index:5;margin-top:-76px;padding-bottom:30px}
.trustcard{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:20px;box-shadow:var(--sh2);border:1px solid var(--line)}
.tc{padding:26px 22px 24px;text-align:center;position:relative}
.tc+.tc::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:1px;background:var(--line)}
.tv{font-size:clamp(34px,3.6vw,46px);font-weight:900;line-height:1;letter-spacing:-.03em;color:var(--ink)}
.tv small{font-size:.45em;font-weight:700;color:var(--mut);margin-left:2px}
.tl{margin-top:9px;font-size:14px;line-height:1.4;color:#4a4a50;font-weight:600}
.tl small{display:block;font-size:12px;color:var(--mut);font-weight:500;margin-top:2px}
.tl .stars,.stars{color:var(--gold)}
.distinc{display:flex;gap:10px 18px;flex-wrap:wrap;justify-content:center;margin:22px 0 0;font-size:14.5px;font-weight:700;color:var(--ink)}
.distinc .dot{width:5px;height:5px;border-radius:50%;background:var(--red);align-self:center}
.cited{margin:8px 0 0;text-align:center;font-size:13.5px;color:var(--mut)}
.cited a{margin-left:14px;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:1px solid #cbc3b6;display:inline-block;padding:6px 0}
.cited a:hover{color:var(--red);border-color:var(--red)}
.trustnote{margin:6px auto 0;max-width:820px;text-align:center;font-size:12px;color:var(--mut);line-height:1.5}
@media(max-width:900px){
 .trust{margin-top:-60px;padding-bottom:10px}
 .trustcard{grid-template-columns:1fr 1fr;border-radius:18px}
 .tc{padding:20px 12px}
 .tc+.tc::before{display:none}
 .tc:nth-child(odd)::after{content:"";position:absolute;right:0;top:18px;bottom:18px;width:1px;background:var(--line)}
 .tc:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .tl{font-size:13px}
 .cited a{margin:0 7px}
}
/* SIMULATEUR (habillage seulement) */
.estimate{background:linear-gradient(180deg,#181512,#211c17)}
.estimate .wrap{padding-top:84px;padding-bottom:84px;align-items:start}
.estimate .estintro{padding-top:8px}
.estimate .lead{font-size:18px;max-width:460px}
.paths{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:12px;max-width:470px}
.paths li{border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:14px 18px;background:rgba(255,255,255,.04)}
.paths b{display:block;font-size:16px;color:#fff}
.paths span{display:block;font-size:14px;color:#d6d0c7;margin-top:2px;line-height:1.5}
.estimate .direct{display:inline-flex;gap:8px;align-items:center;margin-top:18px;color:#fff;font-weight:700;font-size:15px;text-decoration:none;border-bottom:2px solid var(--red);padding:6px 0}
.estimate .direct:hover{color:#ffb3bf}
.estimate .card{border-radius:22px;padding:28px;box-shadow:0 30px 70px rgba(0,0,0,.45)}
#sim .opt .em,.opt svg.em{width:30px;height:30px;display:block;margin:0 auto 8px;color:var(--red)}
#sim .opt{min-height:72px}
@media(max-width:900px){.estimate .wrap{padding:44px 16px 52px}.estimate .card{padding:20px 16px}.estimate .lead{font-size:16.5px}}
/* MÉTHODE */
.head2{max-width:760px;margin-bottom:34px}
.head2 .qintro{font-size:18px;color:#55555b}
.mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;box-shadow:var(--sh1);transition:.2s}
.mcard:hover{transform:translateY(-3px);box-shadow:var(--sh2)}
.mi{width:44px;height:44px;padding:10px;border-radius:12px;background:#fdecef;color:var(--red);display:block;margin-bottom:16px}
.mcard h3{font-size:18px;line-height:1.25;margin-bottom:8px}
.mcard p{font-size:15px;color:#4d4d53;margin:0 0 12px;line-height:1.55}
.mcard small{display:block;font-size:12px;font-weight:700;color:var(--mut);letter-spacing:.02em;border-top:1px solid var(--line);padding-top:10px}
.mfoot{margin:30px 0 0;font-size:18px;max-width:700px}
.mcta2{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 0}
@media(max-width:1000px){.mgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.mgrid{grid-template-columns:1fr}.mcta2 .btn{width:100%;justify-content:center}}
/* VENTES */
.sales{background:var(--warm)}
.sgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.scard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--sh1);position:relative}
.scard .si{width:36px;height:36px;color:var(--red);display:block}
.sh{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px}
.stype{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);order:2}
.sh .si{order:1}
.scard .sbadge{position:absolute;top:22px;right:22px;font-size:11.5px;font-weight:800;background:#e7f5ec;color:#136a36;border-radius:999px;padding:4px 10px}
.sh{flex-direction:column;align-items:flex-start;gap:8px}
.scard h3{font-size:18px;line-height:1.25;margin:0 0 4px}
.sloc{margin:0 0 14px;font-size:14.5px;color:#4d4d53}
.sprix{margin:0;font-size:13.5px;color:#4d4d53;border-top:1px solid var(--line);padding-top:12px;line-height:1.5}
.snote{margin:20px 0 0;font-size:14px;color:var(--mut)}
.sact{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 0}
@media(max-width:1000px){.sgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sgrid{grid-template-columns:1fr}.sact .btn{width:100%;justify-content:center}}
/* AVIS */
.reviews .revframe{max-width:1040px;margin:26px auto 0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px 18px;box-shadow:var(--sh1)}
.revwidget a[href*="writereview"],.revwidget a[href*="write-review"]{display:none !important}
/* ÉQUIPE */
.team2 .team{gap:64px;align-items:start}
.team2 .duo.solo figure{aspect-ratio:4/5;min-height:0;box-shadow:var(--sh2);border-radius:22px}
.team2 .role{font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.team2 h2{margin-top:6px}
.team2 .exp{font-size:19px;font-weight:600;border-left:4px solid var(--red);padding-left:18px;margin:18px 0 22px;line-height:1.5;color:var(--ink)}
.team2 .tpoints .tp{padding:14px 0;border-top:1px solid var(--line)}
.team2 .tpoints .tp h3{font-size:17px;margin:0 0 4px}
.team2 .tpoints .tp p{font-size:15px;color:#4d4d53;margin:0}
.team2 .vq{margin:22px 0;padding:18px 20px;border-radius:14px;background:var(--warm);font-size:19px;font-weight:600;line-height:1.45;border:0}
.team2 .vq cite{display:block;margin-top:8px;font-size:13px;font-weight:600;color:var(--mut);font-style:normal}
.tbtns{display:flex;gap:12px;flex-wrap:wrap;margin:0}
@media(max-width:900px){.team2 .team{gap:28px}.tbtns .btn{width:100%;justify-content:center}.team2 .exp{font-size:17px}}
.press{margin-top:72px}
/* quartiers, observatoire, biens (polish) */
.qcard{transition:transform .22s,box-shadow .22s}.qcard:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.qcard .ov{padding:22px}
.bien{transition:transform .2s,box-shadow .2s}.bien:hover{transform:translateY(-3px);box-shadow:var(--sh2)}
/* CTA final */
.finalcta .btn-xl{height:60px}
.finalcta .btn-w .ic{margin-right:2px}
/* pied de page : cibles tactiles */
footer a{display:inline-block;padding:7px 0}
footer .fin a{padding:6px 2px}
/* barre mobile & cookies */
@media(max-width:900px){
 .mcta .tel{color:var(--red)}.mcta .tel svg{width:24px;height:24px}
 #ccBanner{bottom:8px !important;padding:8px 10px !important;font-size:12px !important;gap:8px !important;border-radius:12px !important}
 #ccBanner button{min-height:44px !important;padding:8px 14px !important}
}
.tel .ic,.btn .ic{stroke:currentColor}
/* mouvement discret */
@media(prefers-reduced-motion:no-preference){
 .rv{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
 .rv.in{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none !important;animation:none !important}}
#demoBanner{position:fixed;left:0;right:0;top:0;z-index:2147483001;background:#1a56db;color:#fff;font:600 12px/1.3 Montserrat,system-ui,sans-serif;text-align:center;padding:5px 10px}
body.demo .hd{top:26px}

.hero2 .wrap{width:100%}
.team2 .duo.solo{position:sticky;top:100px}
@media(max-width:900px){.team2 .duo.solo{position:static}}
.obs .head h2{font-size:clamp(26px,3vw,36px)}
.team2 .vq{background:#fff}
/* --- Ajustements mobile : compacité sans perte de contenu --- */
.btn{height:auto;min-height:54px;padding-top:12px;padding-bottom:12px;text-align:center;line-height:1.25}
.btn-ghost{min-height:0;padding:0}
@media(max-width:900px){
 .distinc{flex-direction:column;align-items:center;gap:4px}.distinc .dot{display:none}
 .paths span{display:none}.paths{gap:8px;margin-top:18px}.paths li{padding:12px 16px}
 .estimate .direct{font-size:14.5px}
 /* méthode : icône à gauche, texte à droite */
 .mgrid{gap:12px}
 .mcard{display:grid;grid-template-columns:44px 1fr;column-gap:14px;padding:18px 16px}
 .mcard .mi{grid-row:1/4;margin:0}
 .mcard h3,.mcard p,.mcard small{grid-column:2}
 .mcard h3{margin-bottom:4px;font-size:17px}
 .mcard small{margin-top:2px}
 /* ventes & biens : défilement horizontal au doigt */
 .sgrid,.biens{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:82%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 16px 14px;margin:0 -16px}
 .sgrid>*,.biens>*{scroll-snap-align:center}
 .sgrid::-webkit-scrollbar,.biens::-webkit-scrollbar{height:4px}
 /* quartiers : deux colonnes */
 .qgrid{grid-template-columns:1fr 1fr;gap:12px}
 .qcard{min-height:170px}
 .qcard .ov{padding:12px}.qcard h3{font-size:15px}.qcard .d{font-size:11.5px;line-height:1.35}
 .qcard .illtag{display:none}
 .team2 .duo.solo figure{aspect-ratio:5/6}
 .finalcta .btns .btn{width:100%;justify-content:center}
 footer a{padding:9px 0}
}
@media(max-width:900px){header.hd{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}}
.htrust a,.reviews a[href*="google"],.qcard+*,.btn-ghost,.obsflex .src a,.mut a{display:inline-block;padding-top:10px;padding-bottom:10px}
.hero2 .htrust a{padding-top:10px;padding-bottom:10px}
.obsflex .src a{padding:12px 6px}
@media(max-width:900px){.hero2 h1{font-size:clamp(30px,8.6vw,48px)}.hero2 .sub{font-size:16.5px;line-height:1.55}.hero2 .wrap{padding-top:28px}.cvr2b{margin:20px 0 12px}.cvr2b a{min-height:60px;padding:10px 18px}}

.trust .tv .pd{display:block;font-size:12px;font-weight:700;letter-spacing:.02em;line-height:1.2;margin-bottom:2px;color:#5d564c}

/* ===== ÉTAPE C — FINITIONS ===== */
/* focus visible partout */
a:focus-visible,button:focus-visible,[role=button]:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid #171512;outline-offset:3px;border-radius:8px}
.hero2 a:focus-visible,.estimate a:focus-visible,.estimate [role=button]:focus-visible,.finalcta a:focus-visible,footer a:focus-visible,#ccBanner button:focus-visible{outline-color:#fff;box-shadow:0 0 0 5px #171512}
/* HERO mobile : plus court, plus lisible, CTA plus tôt */
@media(max-width:900px){
 .hd .wrap{height:58px}.hd nav{top:58px}body.demo .hd{top:30px}
 .burger{width:44px;height:44px}
 .hero2 .bg::before{background:linear-gradient(180deg,rgba(10,8,6,.62) 0%,rgba(10,8,6,.5) 38%,rgba(10,8,6,.86) 100%)}
 .hero2 .wrap{padding-top:20px;padding-bottom:84px}
 .hero2 .eyebrow{font-size:11.5px;letter-spacing:.1em;margin:0}
 .hero2 h1{font-size:clamp(27px,7.5vw,40px);line-height:1.08;letter-spacing:-.015em;margin:8px 0 10px;max-width:none;text-shadow:0 2px 16px rgba(0,0,0,.5)}
 .hero2 .sub{font-size:15px;line-height:1.5;text-shadow:0 1px 10px rgba(0,0,0,.55);max-width:44ch}
 .cvr2b{margin:16px 0 10px;gap:10px}
 .cvr2b a{min-height:56px;padding:8px 16px;border-radius:14px}
 .cvr2b a b{font-size:16px;line-height:1.2}
 .cvr2b a span{font-size:12.5px;line-height:1.3}
 .hero2 .hreass{font-size:12.5px;line-height:1.45;color:#efe9e0;text-shadow:0 1px 8px rgba(0,0,0,.6)}
 .hero2 .htrust{margin-top:10px;gap:2px 12px;font-size:13px}
 .hero2 .htrust .sep{display:none}
 .hero2 .illcap{bottom:64px}
}
@media(max-width:380px){.hero2 h1{font-size:26px}.hero2 .sub{font-size:14.5px}}
/* BANDEAU COOKIES : compact, intégré, refus aussi simple que l'acceptation */
#ccBanner{left:16px !important;right:auto !important;bottom:16px !important;transform:none !important;width:min(560px,calc(100% - 32px)) !important;max-width:none !important;
 background:#1c1a17 !important;border:1px solid rgba(255,255,255,.14);border-radius:16px !important;padding:14px 16px !important;box-shadow:0 14px 40px rgba(0,0,0,.4) !important;
 font:400 13px/1.5 Montserrat,system-ui,sans-serif !important;display:grid !important;grid-template-columns:1fr 1fr;gap:10px 10px !important;justify-content:stretch !important;align-items:stretch !important}
#ccBanner>span{grid-column:1/-1;flex:none !important;color:#f1ece4}
#ccBanner a{color:#ffd98a !important;text-underline-offset:2px;font-weight:600}
#ccBanner button{min-height:44px !important;border-radius:10px !important;font:700 14px/1 Montserrat,system-ui,sans-serif !important;padding:10px 12px !important;cursor:pointer;width:100%}
#ccBanner button:nth-of-type(1){background:#d5012a !important;color:#fff !important;border:2px solid #d5012a !important}
#ccBanner button:nth-of-type(2){background:#fff !important;color:#171512 !important;border:2px solid #fff !important}
#ccBanner button:hover{filter:brightness(.95)}
@media(max-width:900px){
 #ccBanner{left:10px !important;right:10px !important;width:auto !important;bottom:10px !important;padding:11px 12px !important;font-size:12px !important;line-height:1.4 !important;gap:8px !important}
 #ccBanner button{min-height:44px !important;font-size:14px !important}
}
/* SIMULATEUR : états, lisibilité, stabilité */
#sim .btn-p[disabled]{opacity:1 !important;background:#ece6dc !important;color:#665f55 !important;border:1.6px dashed #c9bfae !important;box-shadow:none !important;cursor:not-allowed;pointer-events:none}
#sim .btn-p:not([disabled]){background:var(--red);color:#fff;box-shadow:0 8px 20px rgba(213,1,42,.3)}
#sim .btn-p:not([disabled]):hover{background:var(--red-d)}
#sim .btn{min-height:52px;height:auto;font-size:15.5px}
#sim .navb{margin-top:4px;align-items:stretch}
#sim .navb .btn-p{flex:1 1 auto}
#sim .navhint{margin:2px 2px 10px;font-size:13px;line-height:1.35;color:#5d564c;min-height:18px}
#sim .navhint.ok{color:#136a36;font-weight:700}
#sim .opt{position:relative;min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:14px;line-height:1.25;border-width:1.6px}
#sim .opt .em,#sim .opt .em svg{width:28px;height:28px;margin:0 0 4px}
#sim .opt.sel{border-width:2px;border-color:var(--red);background:#fdeef1;color:#7d0018;box-shadow:0 0 0 3px rgba(213,1,42,.14)}
#sim .opt.sel::after{content:"";position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat}
#sim .opt:focus-visible{outline:3px solid #171512;outline-offset:2px}
#sim select,#sim input[type=number],#sim input[type=text],#sim input[type=tel],#sim input[type=email]{font-size:16px;min-height:52px;scroll-margin:110px 0 170px}
#sim .simbar{height:7px;border-radius:99px}
#sim input[aria-invalid=true]{border-color:#b3261e;box-shadow:0 0 0 3px rgba(179,38,30,.14)}
#leadOk[style*="block"]{border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.4;font-weight:600;background:#fdf1ef;border:1px solid #f0c9c4;margin:8px 0}
#sim .simstep[data-step]:not([hidden]){min-height:var(--stepmin,0)}
html.typing .mcta{visibility:hidden}
/* VENTES : lisibilité, hauteurs, carrousel */
.scard{display:flex;flex-direction:column}
.scard .sprix{margin-top:auto}
.scard .sloc{min-height:2.9em}
.cnav{display:none}
@media(max-width:900px){
 .sgrid,.biens{grid-auto-columns:84%;scroll-padding-inline:16px;outline-offset:2px}
 .sgrid:focus-visible,.biens:focus-visible{outline:3px solid #171512}
 .scard h3{font-size:18px}.scard .sloc{font-size:15px;min-height:0}.scard .sprix{font-size:14px}.stype{font-size:12px}
 .cnav{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px 0 4px}
 .cnav button{width:48px;height:48px;border-radius:50%;border:1.6px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer}
 .cnav button[disabled]{opacity:.38;cursor:default}
 .cnav button svg{width:20px;height:20px}
 .cnav .cpos{min-width:56px;text-align:center;font-weight:700;font-size:14px;color:#4d4d53;font-variant-numeric:tabular-nums}
}
/* AVIS : état de repli sans vide disproportionné */
.revframe{min-height:0}
.revfb{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:10px 6px 4px}
.revfb[hidden]{display:none}
.revfbtop{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.revscore{font-size:20px;color:var(--mut);font-weight:700}.revscore b{font-size:44px;line-height:1;color:var(--ink);font-weight:900;letter-spacing:-.02em}
.revfb .stars{color:var(--gold);font-size:22px;letter-spacing:2px}
.revfbn{margin:0;font-size:16px}
.revdemo{margin:0;max-width:52ch;font-size:13.5px;line-height:1.5;color:#1a56db;background:#eef3ff;border:1px solid #c9d8fb;border-radius:10px;padding:8px 12px}
.revframe.norev{padding:20px 16px}
/* COHÉRENCE : rythme vertical, cartes */
@media(max-width:900px){
 .section{padding:48px 0}
 h2{line-height:1.15}
}
.mcard,.scard,.qcard,.bien{border-radius:18px}
.btn,.btn-p,.btn-s,.btn-w{border-radius:12px;font-weight:800}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.demo{padding-top:30px}@media(max-width:900px){body.demo .hd{top:30px}}
/* ajustements finition (2) */
#sim .opts,#sim .opts.opts3{gap:8px}
#sim .opt{padding:10px 2px;overflow-wrap:normal !important;word-break:normal;hyphens:none;font-size:13px;letter-spacing:-.005em}
@media(max-width:420px){#sim .opt{font-size:12px}}
#sim .opt.sel::after{top:-8px;right:-8px;width:22px;height:22px;box-shadow:0 0 0 2px #fff}
#sim .navb .btn-ghost2{flex:0 0 auto;min-width:92px;padding:0 14px}
#sim .navb .btn-p{white-space:normal;line-height:1.2;padding:0 14px}
.scard .sbadge{font-size:12.5px}
.revframe.norev+p,.revframe.norev+p+p{display:none}
#sim .navb .btn-ghost2{flex:0 0 96px !important;width:96px !important;min-width:0;padding:0 8px}#sim .navb .btn-p{flex:1 1 0 !important;min-width:0;width:auto !important}
#sim .simstep[data-step="1"] .navb>span{display:none}#sim .simstep[data-step="1"] .navb .btn-p{flex:1 1 auto !important}#calcBtn{white-space:nowrap !important;font-size:14.5px;padding:0 8px !important}@media(max-width:420px){#calcBtn{font-size:14px}}
/* cibles tactiles >= 44 px */
footer a{padding:11px 0 !important;display:inline-block}
footer .fin a{padding:13px 4px !important}
.cited a,.estpress a,.pressline a,.quote a{display:inline-block;padding:12px 4px}
.paths a,a.skiplead,.estintro a,a[href="#simulateur"].link{min-height:44px}
.htrust a,.reviews a[href*="google"]{min-height:44px;display:inline-flex;align-items:center}
.pathalt,.paths .alt,.esthint+*{min-height:44px}

/* ===== MOTION DESIGN — discret, transform/opacity uniquement, désactivé si prefers-reduced-motion ===== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cnt{display:inline-block;font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:no-preference){
 /* Hero : entrée rapide (≤ 600 ms). Le H1 ne change jamais d'opacité (LCP) */
 @keyframes moUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
 @keyframes moH1{from{transform:translateY(10px)}to{transform:none}}
 @keyframes moBg{from{transform:scale(1.045)}to{transform:scale(1)}}
 @keyframes moStep{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
 @keyframes moPop{0%{transform:scale(1)}45%{transform:scale(1.045)}100%{transform:scale(1)}}
 @keyframes moMsg{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
 .hero2 .bg{animation:moBg .9s cubic-bezier(.2,.7,.2,1) both;transform-origin:60% 40%}
 .hero2 h1{animation:moH1 .4s cubic-bezier(.2,.7,.2,1) both}
 .hero2 .eyebrow{animation:moUp .35s ease-out .02s both}
 .hero2 .sub{animation:moUp .4s ease-out .08s both}
 .hero2 .cvr2b{animation:moUp .4s ease-out .16s both}
 .hero2 .hreass{animation:moUp .4s ease-out .22s both}
 .hero2 .htrust{animation:moUp .45s ease-out .3s both}
 /* CTA : retour visuel */
 .cta1,.cta2,.btn{transition:transform .18s ease,box-shadow .2s ease,background-color .18s ease,border-color .18s ease}
 .cta1:active,.cta2:active,.btn:active{transform:scale(.98)}
 /* Simulateur */
 #sim .simstep:not([hidden]){animation:moStep .24s cubic-bezier(.2,.7,.2,1) both}
 #sim .opt{transition:transform .15s ease,border-color .15s ease,background-color .15s ease,box-shadow .18s ease}
 #sim .opt:active{transform:scale(.97)}
 #sim .opt.sel{animation:moPop .24s ease-out}
 #sim .simbar #bar,#sim #bar{transition:width .3s cubic-bezier(.2,.7,.2,1)}
 #sim .btn-p:not([disabled]){transition:transform .15s ease,box-shadow .2s ease,background-color .15s ease}
 #sim .btn-p:not([disabled]):active{transform:scale(.98)}
 #leadOk:not(:empty){animation:moMsg .18s ease-out}
 /* Chiffres de confiance et barres de l'observatoire (états initiaux posés par le JS uniquement) */
 html.mo .bars .bf{transform:scaleX(0);transform-origin:left center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
 html.mo .bars.in .bf{transform:none}
 /* Carrousels */
 .sgrid,.biens{scroll-behavior:smooth}
 /* Retire le délai d'apparition une fois la carte affichée (survol immédiat) */
 .rv.in.done{transition-delay:0s !important}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover){
 .cta1:hover,.cta2:hover{transform:translateY(-2px)}
 .scard,.mcard{transition:transform .22s ease,box-shadow .25s ease}
 .scard:hover,.mcard:hover{transform:translateY(-3px);box-shadow:var(--sh2)}
 .qcard .bgi,.qcard img{transition:transform .5s ease}
 .qcard:hover img{transform:scale(1.03)}
 .pr{transition:transform .2s ease,box-shadow .22s ease}
 .pr:hover{transform:translateY(-2px);box-shadow:var(--sh2)}
}
@media(prefers-reduced-motion:reduce){.hero2 *,.hero2 .bg,#sim *{animation:none !important}}

/* bouton Continuer : passage inactif → actif en douceur */
@media(prefers-reduced-motion:no-preference){#sim .btn-p{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease}}
