
:focus-visible{outline:2px solid var(--midnight);outline-offset:3px;border-radius:4px}
.wrap{max-width:820px;margin:0 auto;padding:0 6%}
.quiz-card{position:relative;width:100%;max-width:720px;margin:0 auto;background:var(--white);border-radius:20px;box-shadow:var(--shadow-lg);padding:2.2rem 2.2rem 2rem}@media(max-width:560px){.quiz-card{padding:1.5rem 1.2rem}}
.quiz-top{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.quiz-bar{flex:1;height:8px;background:var(--mist);border-radius:99px;overflow:hidden}
.quiz-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--horizon),#388add);border-radius:99px;transition:width .45s cubic-bezier(.4,0,.2,1)}
.quiz-count{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:0.75rem;font-weight:600;color:var(--text-muted);white-space:nowrap}
.step{display:none;animation:stepIn .4s cubic-bezier(.2,.7,.2,1) both}
.step.active{display:block}
.step-kicker{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:0.6875rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#2f72b8;margin-bottom:.55rem}
.step-q{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:clamp(1.2rem,3.2vw,1.55rem);font-weight:700;color:var(--midnight);line-height:1.22;letter-spacing:-.01em}
.step-hint{font-size:0.875rem;color:var(--text-light);margin-top:.5rem}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1.4rem}@media(max-width:560px){.opts{grid-template-columns:1fr}}
.opt{display:flex;align-items:center;gap:.85rem;width:100%;text-align:left;background:var(--white);border:2px solid var(--border);border-radius:14px;padding:.9rem 1rem;cursor:pointer;transition:border-color var(--t),background var(--t),transform .12s ease;font-family:'Inter','Inter Fallback',sans-serif}
.opt:hover{border-color:#9db4cf;background:#f7f9fc}
.opt:active{transform:scale(.99)}
.opt.sel{border-color:var(--midnight);background:#eef3fb}
.opt-emoji{font-size:1.5rem;line-height:1;flex-shrink:0;width:2rem;text-align:center}
.opt-txt{display:flex;flex-direction:column;gap:.1rem}
.opt-label{font-weight:600;font-size:0.9375rem;color:var(--midnight);line-height:1.25}
.opt-desc{font-size:0.75rem;color:var(--text-light);line-height:1.35}
.opt-check{margin-left:auto;width:22px;height:22px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;transition:all var(--t)}
.opt.sel .opt-check{background:var(--midnight);border-color:var(--midnight)}
.quiz-nav{display:flex;align-items:center;justify-content:space-between;margin-top:1.6rem;gap:1rem}
.multi-note{font-size:0.75rem;color:var(--text-muted);margin-top:.9rem;font-style:italic}
.intro{text-align:center}
.intro-badge{display:inline-flex;align-items:center;gap:.45rem;background:var(--mist);color:var(--midnight);font-size:0.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:.4rem .9rem;border-radius:99px;margin-bottom:1rem}
.intro-meta{display:flex;justify-content:center;gap:1.4rem;flex-wrap:wrap;margin:1.4rem 0 1.7rem;font-size:0.8125rem;color:var(--text-muted);font-weight:500}
.result-pop{font-size:2.5rem;line-height:1;margin-bottom:.4rem;animation:pop .55s cubic-bezier(.2,1.4,.4,1) both}
.result-kicker{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:0.75rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#2f72b8;margin-bottom:.5rem}
.result-sub{font-size:0.9375rem;color:var(--text-light);max-width:480px;margin:.8rem auto 0}
.match{max-width:360px;margin:1.4rem auto 0}
.match-row{display:flex;justify-content:space-between;font-size:0.8125rem;font-weight:600;color:var(--text-muted);margin-bottom:.4rem}
.match-bar{height:10px;background:var(--mist);border-radius:99px;overflow:hidden}
.match-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--green),#0e4d7d);border-radius:99px;transition:width 1s cubic-bezier(.3,1,.3,1) .2s}
.profile-box{text-align:left;background:#f7f9fc;border:1px solid var(--border);border-radius:14px;padding:1.2rem 1.3rem;margin:1.5rem auto 0;max-width:520px}
.profile-box h4{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:1rem;font-weight:700;color:var(--midnight);margin-bottom:.5rem}
.profile-box ul{margin:.5rem 0 0 1.1rem;font-size:0.875rem;color:var(--text-light);line-height:1.6}
.immo-note{background:linear-gradient(160deg,var(--midnight),var(--deep));color:#fff;border-radius:14px;padding:1.2rem 1.3rem;margin:1rem auto 0;max-width:520px;text-align:left}
.ref-form{max-width:520px;margin:1.7rem auto 0;text-align:left}
.ref-form h4{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:1.125rem;font-weight:700;color:var(--midnight);text-align:center}
.field{margin-bottom:.85rem}
.field label{display:block;font-size:0.75rem;font-weight:600;color:var(--midnight);margin-bottom:.4rem}
.consent{display:flex;gap:.6rem;align-items:flex-start;margin:.4rem 0 1.1rem;font-size:0.8125rem;color:var(--text-light);line-height:1.5}
.ref-feedback{display:none;margin-top:.8rem;font-weight:600;font-size:0.875rem;text-align:center}
.ref-note{font-size:0.75rem;color:var(--text-muted);text-align:center;margin-top:.9rem}
.restart{display:block;margin:1.3rem auto 0;background:none;border:none;color:var(--text-muted);font-size:0.8125rem;font-weight:600;cursor:pointer;text-decoration:underline}
.guide-in{max-width:820px;margin:0 auto}
.guide ul,.guide ol{margin:0 0 1.2rem 1.3rem;color:var(--text-light);line-height:1.75}
.guide li{margin-bottom:.5rem}
.callout{background:var(--mist);border:1px solid var(--border);border-radius:14px;padding:1.3rem 1.5rem;margin:1.6rem 0}
.cmp{width:100%;border-collapse:collapse;margin:1.2rem 0 1.6rem;font-size:0.875rem}
.cmp th,.cmp td{border:1px solid var(--border);padding:.7rem .85rem;text-align:left;vertical-align:top}
.cmp th{background:var(--midnight);color:#fff;font-family:'Montserrat','Montserrat Fallback',sans-serif;font-weight:600;font-size:0.8125rem}
.cmp tr:nth-child(even){background:#f7f9fc}
.guide-cta{background:var(--midnight);color:#fff;border-radius:16px;padding:2rem 1.8rem;margin:2.5rem 0 0;text-align:center}
.faq-wrap{max-width:820px;margin:0 auto}
.faq-head{text-align:center;margin-bottom:2.2rem}
.faq-eyebrow{font-size:0.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.7rem;display:block}
.faq-title{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:clamp(1.5rem,2.6vw,30px);font-weight:700;color:var(--midnight)}
.faq-list{display:flex;flex-direction:column;gap:.7rem}
.faq-item{border:1px solid var(--border);border-radius:12px;background:var(--white);overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:1.1rem 1.4rem;font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:1rem;font-weight:600;color:var(--midnight);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;padding:0 1.4rem}
.faq-item.open .faq-a{max-height:600px;padding-bottom:1.3rem}
.footer-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:3rem}
.footer-logo{font-family:'Montserrat','Montserrat Fallback',sans-serif;color:var(--white);display:flex;align-items:center;gap:.5rem}
.footer-logo-mark{width:var(--logo-mark-size);height:var(--logo-mark-size);background:transparent;display:flex;align-items:center;justify-content:center;color:#fff;--logo-accent:#7cc0ec}
.footer-logo-name{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-weight:700;font-size:1.25rem;color:var(--white)}
.footer-col h4{font-size:0.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1.1rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.footer-bottom{max-width:1240px;margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.footer-contact{margin-top:.9rem}
.footer-social{display:flex;gap:.6rem;margin-top:1rem}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}}
.guide-toc-title{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.75rem}
.guide-toc ol{margin:0 0 0 1.1rem;padding:0}
.guide-toc li{margin-bottom:.35rem}
.guide-takeaways-title{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:.9rem}
.guide-takeaways ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.6rem}
.guide-takeaways li{display:flex;align-items:flex-start;gap:.65rem;font-size:0.9375rem;color:rgba(255,255,255,.88);line-height:1.55}
.guide-takeaways li::before{content:'✓';color:#4a9ede;font-weight:700;flex-shrink:0;margin-top:.1rem}
.svg-figure figcaption{font-size:0.75rem;color:var(--text-muted);margin-top:.6rem;font-style:italic}
.svg-hero-illustration{width:100%;max-width:680px;height:auto}
.svg-comparison{width:100%;max-width:680px;height:auto}
.svg-process{width:100%;max-width:640px;height:auto}
.pages-reliees ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.45rem .9rem}@media(max-width:560px){.pages-reliees ul{grid-template-columns:1fr}}
.spec-head{max-width:820px;margin:0 auto 1.8rem;text-align:center}
.spec-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.spec-card{background:var(--white);border:1px solid var(--border);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--text);display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s,border-color .35s}
.spec-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--midnight)}
.spec-img{height:140px;position:relative;overflow:hidden;background:linear-gradient(160deg,#1C304F,#12213A)}
.spec-tag{position:absolute;top:12px;left:12px;background:rgba(10,22,40,.85);backdrop-filter:blur(4px);color:#fff;font-size:0.625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .7rem;border-radius:20px}
.spec-body{padding:1.3rem 1.4rem;display:flex;flex-direction:column;flex:1}
.spec-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;font-size:0.8125rem;font-weight:600;color:var(--midnight)}
.spec-card:hover .spec-link{gap:.7rem}@media(max-width:900px){.spec-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.spec-grid{grid-template-columns:1fr}}
.spec-cat{max-width:1100px;margin:0 auto 2.4rem}
.spec-cat:last-child{margin-bottom:0}
.spec-cat-title{font-family:'Montserrat','Montserrat Fallback',sans-serif;font-size:1.0625rem;font-weight:700;color:var(--midnight);margin:0 0 1.1rem;display:flex;align-items:center;gap:.55rem;padding-bottom:.7rem;border-bottom:1px solid var(--border)}figcaption{color:#3f586e!important}.section.dark .section-badge{color:rgba(255,255,255,.72)!important}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border-radius:6px}.table-wrap table,.table-wrap .seo-table{min-width:480px;width:100%}