
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/Poppins-400.woff?v=3.6') format('woff')}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url('/assets/Poppins-500.woff?v=3.6') format('woff')}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url('/assets/Poppins-600.woff?v=3.6') format('woff')}
:root{--rose:#fb6464;--navy:#344960;--ink:#253346;--muted:#6c7886;--line:#e6eaee;--soft:#f6f8fa;--green:#197149;--red:#b84646;--amber:#946514;--ease:cubic-bezier(.22,1,.36,1)}
.preselected-entry #home{display:none!important}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font:16px/1.6 Poppins,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}body{background:var(--navy);transition:background .28s var(--ease)}body.journey-mode{background:white}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.52;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--rose);outline-offset:3px}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.icon{width:20px;height:20px;flex:0 0 auto}.shell{position:fixed;inset-inline:0;top:var(--viewport-top,0);height:var(--app-height,100dvh);display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{height:76px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 max(28px,env(safe-area-inset-right)) 0 max(28px,env(safe-area-inset-left));color:white;transition:height .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease);border-bottom:1px solid transparent}.journey-mode .topbar{color:var(--navy);border-color:var(--line);background:#fffffff7}.identity{display:flex;align-items:center;gap:14px;min-width:0}.brand{display:block;width:128px;line-height:0;flex:0 0 auto}.brand img{display:block;width:100%;height:auto}.brand-rose{display:none!important}.journey-mode .brand-white{display:none!important}.journey-mode .brand-rose{display:block!important}.identity small{font-size:.6875rem;line-height:1.45}.top-actions{display:flex;align-items:center;gap:8px}.version{font-size:.6875rem;border:1px solid #ffffff40;border-radius:99px;padding:4px 10px}.journey-mode .version{border-color:var(--line);color:var(--muted)}.header-action{min-height:44px;display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:inherit;padding:8px 9px;border-radius:9px;font-size:.8125rem;font-weight:500}.header-action:hover{background:#ffffff18}.journey-mode .header-action:hover{background:var(--soft)}
.home{flex:1;min-height:0;overflow:auto;display:grid;padding:28px 20px max(22px,env(safe-area-inset-bottom))}.welcome{width:min(100%,780px);margin:auto;text-align:center;animation:home-in .42s var(--ease) both}.eyebrow{font-size:.75rem;letter-spacing:1.4px;text-transform:uppercase;font-weight:600;margin:0 0 18px;color:#ffffffc9}.welcome h1{color:white;font-size:clamp(2.2rem,5vw,4rem);line-height:1.12;letter-spacing:-2px;font-weight:600;margin:0 auto 18px;max-width:760px}.intro{max-width:620px;margin:0 auto 28px;color:#ffffffc9;font-size:.9375rem}.home-composer{display:flex;align-items:flex-end;gap:8px;max-width:720px;margin:auto;background:white;border:1px solid white;border-radius:18px;padding:10px;box-shadow:0 18px 55px #14213138;text-align:left}.home-composer:focus-within{outline:3px solid #ffffff42;outline-offset:5px}.home-composer textarea{width:100%;min-width:0;height:58px;max-height:116px;resize:none;border:0;outline:0;background:transparent;color:var(--ink);font-size:1rem;line-height:1.5;padding:10px}.send{width:48px;height:48px;min-width:48px;border:1px solid var(--rose);border-radius:8px;background:var(--rose);color:white;display:grid;place-items:center;transition:transform .12s var(--ease),background .18s,border-color .18s}.send:hover{background:var(--navy);border-color:var(--navy)}.send:active,.choice:active,.primary:active,.secondary:active{transform:scale(.98)}.ideas-label{font-size:.75rem;color:#ffffffb8;margin:22px 0 11px}.home-ideas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.home-idea{min-height:52px;border:1px solid #ffffff44;border-radius:12px;background:#ffffff0d;color:white;padding:11px 13px;text-align:left;font-size:.75rem;line-height:1.5;transition:transform .16s var(--ease),background .16s,border-color .16s}.home-idea:hover{transform:translateY(-2px);background:#ffffff17;border-color:#ffffff80}.privacy{font-size:.625rem;color:#ffffffa6;margin:18px auto 0}.privacy a{text-underline-offset:3px}
.journey{flex:1;min-height:0;display:flex;flex-direction:column;background:white}.request-header{flex:0 0 auto;background:white;padding:22px 24px 16px;transition:padding .22s var(--ease);z-index:3}.request-title{width:min(100%,1120px);margin:auto;font-size:clamp(1.8rem,4vw,3.3rem);line-height:1.16;letter-spacing:-1.5px;font-weight:600;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere;transition:font-size .22s var(--ease),letter-spacing .22s var(--ease)}.compact .request-header{padding-top:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.compact .request-title{font-size:1.05rem;letter-spacing:-.2px;-webkit-line-clamp:1}.progress-meta{width:min(100%,720px);margin:16px auto 0;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.6875rem}.progress-track{height:4px;flex:1;background:#eef1f4;border-radius:99px;overflow:hidden}.progress-fill{height:100%;width:0;background:var(--rose);border-radius:99px;transition:width .28s var(--ease)}.compact .progress-meta{margin-top:8px}.viewport{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scroll-behavior:smooth}.flow{width:min(calc(100% - 40px),720px);margin:0 auto;padding:38px 0 max(42px,env(safe-area-inset-bottom))}.results-flow{width:min(calc(100% - 40px),1180px)}.step-panel{animation:step-in .22s var(--ease) both}.step-kicker{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:var(--rose);font-size:.75rem;font-weight:600;letter-spacing:.7px;text-transform:uppercase}.smile-dot{width:10px;height:10px;border-radius:50%;background:var(--rose);box-shadow:0 0 0 5px #fb646416}.question{font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.35;letter-spacing:-.7px;font-weight:500;margin:0 0 28px;max-width:700px}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choices.compact-options{grid-template-columns:repeat(3,minmax(0,1fr))}.choice{position:relative;min-height:58px;border:1px solid #d9e0e6;border-radius:12px;background:white;color:var(--navy);padding:14px 16px;text-align:left;font-size:.875rem;font-weight:500;line-height:1.45;transition:transform .12s var(--ease),border-color .16s,background .16s,color .16s,box-shadow .16s}.choice:hover{border-color:var(--navy);box-shadow:0 7px 22px #3449600b}.choice.picked{background:var(--navy);border-color:var(--navy);color:white;padding-right:48px}.choice.picked::after{content:'✓';position:absolute;right:16px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#ffffff1f}.answer-tools{display:flex;align-items:center;gap:10px;margin-top:18px}.other-answer{min-height:48px;border:0;background:transparent;color:var(--muted);padding:8px 2px;text-decoration:underline;text-underline-offset:4px;font-size:.8125rem}.other-answer:hover{color:var(--navy)}.processing{display:flex;align-items:center;gap:11px;color:var(--muted);font-size:.8125rem;margin-top:24px}.processing .smile-dot{animation:breathe 1s ease-in-out infinite alternate}.status{background:#fff1ed;color:#94413d;border-radius:12px;padding:14px 16px;font-size:.8125rem;margin:18px 0;overflow-wrap:anywhere}.status:empty{display:none}.status code{display:block;font-size:.6875rem;margin-top:6px}.retry{border:0;background:none;color:inherit;text-decoration:underline;padding:8px 0 0}.free-panel,.custom-panel{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--soft);animation:step-in .18s var(--ease) both}.free-panel label,.custom-panel label{display:block;font-size:.75rem;font-weight:600;color:var(--navy);margin:0 0 9px}.inline-composer{display:flex;align-items:flex-end;gap:7px;background:white;border:1px solid #d9e0e6;border-radius:14px;padding:8px}.inline-composer:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px #34496010}.inline-composer textarea,.custom-panel input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:1rem}.inline-composer textarea{resize:none;min-height:48px;max-height:110px;padding:11px 7px;line-height:1.5}.custom-row{display:flex;align-items:center;gap:8px;background:white;border:1px solid #d9e0e6;border-radius:12px;padding:7px}.custom-row input{height:48px;padding:8px}.mic{width:48px;height:48px;min-width:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:white;color:var(--navy)}.mic.recording{color:var(--red);background:#fff0ef;border-color:#eab4b0;animation:voice-pulse 1s ease-in-out infinite}.voice-state{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:0;margin-top:7px;font-size:.6875rem;color:var(--muted)}.voice-state:has(#voice-status:empty):has(#voice-cancel[hidden]){display:none}.voice-cancel{border:0;background:transparent;color:var(--navy);text-decoration:underline;min-height:40px}.voice-note{font-size:.625rem;color:var(--muted);margin:6px 0 0}.primary,.secondary{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:11px 17px;text-decoration:none;font-size:.875rem;font-weight:600;line-height:1.4;transition:transform .12s var(--ease),background .16s,border-color .16s,color .16s}.primary{background:var(--rose);border:1px solid var(--rose);color:white}.primary:hover{background:var(--navy);border-color:var(--navy)}.secondary{background:white;border:1px solid #d7dde3;color:var(--navy)}.secondary:hover{border-color:var(--navy);background:#fafbfc}
.results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.results-head p{margin:0 0 5px;color:var(--rose);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px}.results-head h2{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.25;letter-spacing:-.8px;margin:0}.carousel-controls{display:flex;gap:7px}.carousel-controls button{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--navy);font-size:1.3rem}.cards{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;padding:3px 2px 16px;scroll-behavior:smooth}.cards.single{grid-auto-columns:min(100%,410px)}.card{min-width:0;display:flex;flex-direction:column;scroll-snap-align:start;border:1px solid var(--line);border-radius:20px;background:white;overflow:hidden;box-shadow:0 8px 30px #34496008;transition:transform .18s var(--ease),box-shadow .18s;animation:card-in .25s var(--ease) both}.card:hover{transform:translateY(-2px);box-shadow:0 14px 38px #34496012}.card-visual{position:relative;aspect-ratio:16/10;background:var(--soft);overflow:hidden}.card-visual img{width:100%;height:100%;object-fit:cover;display:block}.no-visual{height:100%;display:grid;place-items:center;text-align:center;padding:20px;color:var(--muted);font-size:.75rem}.card-role{position:absolute;left:12px;top:12px;max-width:calc(100% - 24px);background:#ffffffed;border:1px solid #ffffff;border-radius:99px;padding:6px 10px;color:var(--navy);font-size:.6875rem;font-weight:600;box-shadow:0 4px 14px #25334614}.card-body{padding:17px;display:flex;flex:1;flex-direction:column}.card-programme{font-size:.6875rem;color:var(--muted);margin:0 0 5px}.card h3{font-size:1.05rem;line-height:1.4;margin:0 0 4px;font-weight:600;letter-spacing:-.2px}.card-city{font-size:.8125rem;color:var(--muted);margin:0 0 11px}.price{font-size:1.25rem;font-weight:600;margin:0 0 13px}.facts{font-size:.75rem;color:var(--muted);margin:0 0 14px}.match-title{font-size:.6875rem;font-weight:600;color:var(--navy);margin:0 0 8px}.match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:13px}.match-pill{display:flex;align-items:center;gap:6px;min-width:0;padding:8px;border-radius:8px;background:var(--soft);font-size:.65rem;color:var(--navy)}.match-symbol{width:18px;height:18px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;font-weight:600}.match-pill.met .match-symbol{background:#e8f5ed;color:var(--green)}.match-pill.unmet .match-symbol{background:#ffefee;color:var(--red)}.match-pill.unknown .match-symbol,.match-pill.alternative .match-symbol{background:#fff4d9;color:var(--amber)}.match-pill.neutral .match-symbol{background:#e9edf1;color:var(--muted)}.card-actions{display:flex;flex-direction:column;gap:7px;margin-top:auto;padding-top:5px}.card-actions .primary,.card-actions .secondary{width:100%;font-size:.75rem}.card-actions .text-link{min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:var(--navy);font-size:.75rem;font-weight:500}.card details{border-top:1px solid var(--line);margin-top:10px;padding-top:9px;font-size:.6875rem;color:var(--muted)}.card details summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--navy);list-style:none}.card details summary::-webkit-details-marker{display:none}.card details summary::after{content:'+';margin-left:auto;font-size:1rem}.card details[open] summary::after{content:'−'}.criteria-list{list-style:none;margin:0;padding:0}.criterion{padding:9px 0;border-top:1px solid #eef1f3}.criterion strong{display:block;color:var(--navy);font-size:.6875rem;font-weight:600}.criterion span{font-size:.65rem;line-height:1.5}.result-tools{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.result-tools h3{font-size:.75rem;color:var(--muted);font-weight:500;margin:0 0 10px}.tool-buttons{display:flex;flex-wrap:wrap;gap:8px}.tool-buttons .choice{min-height:48px;padding:11px 14px}.insight{white-space:pre-wrap;background:var(--soft);border-left:3px solid var(--rose);border-radius:0 12px 12px 0;padding:16px;margin:20px 0;font-size:.8125rem;line-height:1.7}
.empty-card,.advisor-card,.done-card{max-width:680px;margin:auto;border:1px solid var(--line);border-radius:20px;padding:28px;background:white;box-shadow:0 12px 36px #3449600a;animation:step-in .22s var(--ease) both}.empty-icon,.done-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#fff2ed;color:var(--rose);margin-bottom:18px}.empty-card h2,.advisor-card h2,.done-card h2{font-size:1.6rem;line-height:1.35;letter-spacing:-.5px;margin:0 0 10px}.empty-card>p,.advisor-card>p,.done-card>p{color:var(--muted);font-size:.875rem;margin:0 0 22px}.recovery-list{display:grid;gap:9px;margin-bottom:13px}.recovery{width:100%;justify-content:space-between;text-align:left}.empty-edit{width:100%}
dialog{position:fixed;left:50%;top:calc(var(--viewport-top,0px) + var(--app-height,100dvh)/2);transform:translate(-50%,-50%);width:calc(100% - 32px);max-width:580px;max-height:calc(var(--app-height,100dvh) - 28px);overflow:auto;margin:0;border:1px solid var(--line);border-radius:22px;padding:27px;color:var(--ink);box-shadow:0 22px 75px #1725372b;animation:dialog-in .2s var(--ease) both}dialog::backdrop{background:#25334666}dialog h2{font-size:1.45rem;line-height:1.35;margin:0 38px 12px 0;letter-spacing:-.4px}dialog p{font-size:.8125rem;color:var(--muted)}.close{position:absolute;right:10px;top:9px;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:var(--navy);font-size:1.45rem}.close:hover{background:var(--soft)}dialog label{display:block;font-size:.75rem;font-weight:500;margin:12px 0 6px}dialog input{width:100%;height:48px;border:1px solid #d5dce3;border-radius:10px;background:white;color:var(--ink);padding:10px;font-size:1rem}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.consent{display:flex;align-items:flex-start;gap:10px;font-size:.75rem!important;font-weight:400!important;margin:18px 0}.consent input{width:21px;height:21px;flex:0 0 auto;margin:1px 0;accent-color:var(--navy)}.dialog-submit{width:100%;margin-top:12px}.lot-interest{background:var(--soft);border-radius:10px;padding:11px;font-size:.75rem}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:19px 0}.profile-item{display:flex;gap:10px;align-items:flex-start;min-width:0;background:var(--soft);border-radius:10px;padding:11px}.profile-icon{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:white;color:var(--navy)}.profile-item p{margin:0;min-width:0;font-size:.75rem;overflow-wrap:anywhere}.profile-item strong{display:block;color:var(--muted);font-size:.625rem;font-weight:500;margin-bottom:2px}.project-note{font-size:.6875rem!important}.dialog-secondary{width:100%}
.results-actions{display:flex;align-items:center;gap:8px}.recommendation-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:17px;margin:0 0 22px;padding:18px;border:1px solid #ffd0c8;border-radius:16px;background:linear-gradient(135deg,#fff7f4,#fff)}.recommendation-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:var(--rose);color:white}.recommendation-copy small{display:block;color:var(--rose);font-weight:600;text-transform:uppercase;letter-spacing:.7px}.recommendation-copy h3{font-size:1.1rem;margin:2px 0 7px}.recommendation-points{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.recommendation-points li{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.6875rem}.recommendation-points li::before{content:'✓';color:var(--green);font-weight:600}.recommendation-card .primary{white-space:nowrap}.compare-toggle{width:100%;min-height:45px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--navy);font-size:.75rem;font-weight:500}.compare-toggle.selected{border-color:var(--navy);background:var(--navy);color:white}.compare-bar{position:sticky;bottom:10px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px auto 0;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fffffff2;box-shadow:0 10px 35px #25334620;backdrop-filter:blur(12px)}.compare-bar p{margin:0;font-size:.75rem}.compare-actions{display:flex;gap:7px}.compare-dialog{max-width:1120px;padding:24px}.compare-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 48px 18px 0}.compare-header h2{margin:0}.difference-control{display:flex!important;align-items:center;gap:7px;margin:0!important;font-size:.6875rem!important}.difference-control input{width:18px;height:18px}.compare-scroll{overflow:auto;border:1px solid var(--line);border-radius:14px}.compare-table{display:grid;min-width:720px}.compare-row{display:grid;grid-template-columns:170px repeat(var(--compare-count),minmax(180px,1fr));border-bottom:1px solid var(--line)}.compare-row:last-child{border-bottom:0}.compare-cell{min-width:0;padding:12px;border-left:1px solid var(--line);font-size:.75rem}.compare-cell:first-child{border-left:0;background:var(--soft);font-weight:600}.compare-head .compare-cell{position:sticky;top:0;z-index:2;background:white}.compare-head .compare-cell:first-child{z-index:3;background:var(--soft)}.compare-lot strong,.compare-lot small{display:block}.compare-lot small{color:var(--muted)}.compare-status{display:flex;align-items:flex-start;gap:7px}.compare-status b{width:20px;height:20px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#fff4d9;color:var(--amber)}.compare-status.met b{background:#e8f5ed;color:var(--green)}.compare-status.unmet b{background:#ffefee;color:var(--red)}.compare-cell.best{background:#f1f8f4}.compare-ctas{display:grid;gap:6px;margin-top:8px}.compare-ctas a{font-size:.6875rem}.project-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}.project-field label{margin-top:0}.project-field input,.project-field select{width:100%;height:48px;border:1px solid #d5dce3;border-radius:10px;background:white;color:var(--ink);padding:9px;font:inherit}.project-field.full{grid-column:1/-1}.project-budget{display:grid;grid-template-columns:1fr auto;gap:8px}.project-budget label{display:flex;align-items:center;gap:7px;margin:0;padding:0 8px;border:1px solid var(--line);border-radius:10px;font-size:.6875rem}.project-budget label input{width:18px;height:18px}.project-room-options{display:flex;flex-wrap:wrap;gap:7px}.room-check{display:flex!important;align-items:center;gap:6px;margin:0!important;border:1px solid var(--line);border-radius:99px;padding:8px 11px;font-size:.75rem!important}.room-check:has(input:checked){border-color:var(--navy);background:var(--navy);color:white}.room-check input{position:absolute;opacity:0;width:1px;height:1px}.dialog-actions{display:flex;gap:8px;margin-top:18px}.dialog-actions button{flex:1}.alert-promise{margin:16px 0;padding:14px;border-radius:12px;background:var(--soft);font-size:.75rem;color:var(--navy)}.alert-promise ul{margin:6px 0 0;padding-left:18px}.empty-actions{display:grid;gap:8px}.empty-alert{width:100%}.contact-purpose{font-size:.75rem;color:var(--muted)}
@keyframes home-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes step-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes card-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes dialog-in{from{opacity:0;transform:translate(-50%,calc(-50% + 10px))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes breathe{to{opacity:.45;transform:scale(.86)}}@keyframes voice-pulse{50%{box-shadow:0 0 0 7px #fb64641d}}
@media(max-width:900px){.cards{grid-auto-columns:calc((100% - 16px)/2)}.version{display:none}.request-title{font-size:2rem}.flow{padding-top:28px}}
@media(max-width:600px){.topbar{height:60px;padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));gap:6px}.brand{width:98px}.identity small{display:none}.top-actions{gap:0}.header-action{padding:7px 6px;font-size:.6875rem;gap:4px}.header-action .icon{width:18px;height:18px}.home{padding:20px 15px max(18px,env(safe-area-inset-bottom))}.welcome{text-align:left}.eyebrow{font-size:.625rem;margin-bottom:13px}.welcome h1{font-size:clamp(1.85rem,9vw,2.55rem);line-height:1.16;letter-spacing:-1px;margin-bottom:14px}.intro{font-size:.8125rem;line-height:1.6;margin-bottom:21px}.home-composer{border-radius:15px;padding:8px}.home-composer textarea{font-size:16px;height:54px;padding:9px 6px}.home-ideas{grid-template-columns:1fr}.home-idea{min-height:48px}.ideas-label{margin-top:18px}.privacy{text-align:left;line-height:1.5;margin-top:14px}.request-header{padding:13px 16px 12px}.request-title{font-size:clamp(1.45rem,7vw,1.9rem);line-height:1.25;letter-spacing:-.6px;-webkit-line-clamp:3}.compact .request-header{padding:7px 14px}.compact .request-title{font-size:.9375rem}.progress-meta{margin-top:10px;font-size:.625rem;gap:8px}.compact .progress-meta{margin-top:5px}.flow{width:calc(100% - 28px);padding:24px 0 max(30px,env(safe-area-inset-bottom))}.step-kicker{font-size:.625rem;margin-bottom:11px}.question{font-size:1.35rem;line-height:1.4;letter-spacing:-.35px;margin-bottom:21px}.choices,.choices.compact-options{grid-template-columns:1fr}.choice{min-height:52px;padding:12px 14px;font-size:.8125rem}.answer-tools{margin-top:12px}.free-panel,.custom-panel{padding:12px;margin-top:16px;border-radius:13px}.inline-composer{padding:6px}.inline-composer textarea{font-size:16px;max-height:96px}.custom-row input{font-size:16px}.voice-note{font-size:.5625rem}.results-head{align-items:flex-start;margin-bottom:16px}.results-head h2{font-size:1.45rem}.results-head p{font-size:.625rem}.cards{grid-auto-columns:92%;gap:12px;padding-bottom:13px}.cards.single{grid-auto-columns:100%}.card{border-radius:17px}.card-visual{aspect-ratio:4/3}.card-body{padding:15px}.match-pill{font-size:.625rem}.card-actions .primary,.card-actions .secondary,.card-actions .text-link{min-height:48px}.result-tools{margin-top:22px}.tool-buttons{display:grid}.tool-buttons .choice{width:100%}.empty-card,.advisor-card,.done-card{padding:21px;border-radius:17px}.empty-card h2,.advisor-card h2,.done-card h2{font-size:1.35rem}.project-grid{grid-template-columns:1fr}.fields{grid-template-columns:1fr;gap:0}dialog{top:auto;bottom:0;left:0;transform:none;width:100%;max-width:none;max-height:calc(var(--app-height,100dvh) - 14px);border-radius:20px 20px 0 0;padding:24px 18px max(20px,env(safe-area-inset-bottom));animation:sheet-in .22s var(--ease) both}@keyframes sheet-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}}
@media(max-width:370px){.header-action span{display:none}.flow{width:calc(100% - 22px)}.match-grid{grid-template-columns:1fr}.brand{width:92px}}
@media(max-width:700px){.results-head{display:grid}.results-actions{width:100%}.results-actions .secondary{width:100%}.recommendation-card{grid-template-columns:auto 1fr;padding:14px;gap:12px}.recommendation-card>.primary{grid-column:1/-1;width:100%}.recommendation-points{display:grid;gap:4px}.compare-bar{bottom:max(8px,env(safe-area-inset-bottom));align-items:stretch;flex-direction:column}.compare-actions{display:grid;grid-template-columns:1fr 1fr}.compare-dialog{padding:21px 14px max(18px,env(safe-area-inset-bottom))}.compare-header{display:block;margin-right:38px}.difference-control{margin-top:9px!important}.compare-scroll{margin-top:12px}.compare-row{grid-template-columns:128px repeat(var(--compare-count),minmax(190px,1fr))}.compare-cell{padding:10px}.project-form-grid{grid-template-columns:1fr}.project-field.full{grid-column:auto}.project-budget{grid-template-columns:1fr}.dialog-actions{display:grid}.empty-actions{gap:10px}}
@media(max-height:500px) and (max-width:900px){.topbar{height:46px}.brand{width:78px}.request-header{padding:6px 12px}.request-title{font-size:1rem;-webkit-line-clamp:1}.progress-meta{margin-top:4px}.flow{padding-top:14px}.question{font-size:1.1rem;margin-bottom:13px}.choice{min-height:46px}.voice-note{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.eyebrow,.mobile-note{display:none}.home-ideas{margin-top:16px}.free-panel{background:white;box-shadow:0 10px 28px #3449600b}.mic.recording{color:white;background:var(--rose);border-color:var(--rose);box-shadow:0 0 0 7px #fb646424}.results-head p{margin:5px 0 0;color:var(--muted);font-size:.6875rem;font-weight:400;text-transform:none;letter-spacing:0}.card h3{order:1}.price{order:2}.card-city{order:3}.card-programme{order:4}.facts{order:5}.match-title{order:6}.match-grid{order:7}.card-actions{order:8}.card details{order:9}@media(max-width:600px){.desktop-note{display:none}.mobile-note{display:inline}}

/* V3.3: one main action, compact title, vertical mobile cards. */
.home-question{font-size:1.1rem;font-weight:500;margin:0 0 12px}.home-ideas{margin:0 auto 20px;max-width:720px}.home-idea{font-size:1rem;text-align:center;min-height:64px;background:#ffffff12}.home-free summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.home-free .home-composer{margin-top:18px}.home-free .header-action{margin:8px auto}.version{display:none}.request-title{font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.35;letter-spacing:-.3px;-webkit-line-clamp:2}.request-header{padding:14px 24px}.progress-track{display:none}.progress-meta{margin-top:5px}.step-panel{max-width:680px;margin:auto}.choice{min-height:52px}.selection-next{padding:24px 0;text-align:center;border-top:1px solid var(--line);margin-top:24px}.selection-next h3{font-size:1.2rem;margin:0}.selection-next p{color:var(--muted);font-size:.9rem}.selection-next>.primary{min-height:50px;padding:12px 22px}.selection-next .tool-buttons{justify-content:center;margin-top:12px}.selection-next .choice{border:0;background:none;min-height:44px;text-decoration:underline}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;overflow:visible;gap:18px}.cards.single{grid-template-columns:minmax(0,560px);justify-content:center}.card-visual{aspect-ratio:16/9}.card-visual img{width:100%;height:100%;object-fit:cover}.card-body{gap:7px}.card-body h3{font-size:1.1rem;margin:0}.card .price{font-size:1.5rem;margin:4px 0}.card-city{font-size:.9rem;order:2}.card .price{order:3}.facts{font-size:.8rem;margin:4px 0}.card-programme{font-size:.72rem}.card-arguments{order:6;margin:8px 0;padding-left:19px;font-size:.8rem;line-height:1.6}.card-actions{margin-top:auto;gap:7px}.card-actions .primary{width:100%}.card-options{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.8rem}.compare-check{display:flex;gap:7px;align-items:center;min-height:44px}.favorite{border:0;background:none;color:var(--navy);min-height:44px;padding:8px}.favorite.selected{color:#b83d46}.program-link{font-size:.78rem;text-align:center;min-height:44px;display:grid;place-items:center}.stock-date{font-size:.7rem;color:var(--muted)}.lot-dialog{max-width:760px}.lot-dialog h2{font-size:1.5rem;padding-right:28px}.lot-plan{width:100%;height:auto;max-height:500px;object-fit:contain;background:#f6f7f9}.lot-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lot-facts p{margin:0;font-size:.85rem}.ten-point{border-top:1px solid var(--line);padding:12px 0;display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:10px;align-items:center}.ten-point strong,.ten-point small{display:block}.ten-point small{color:var(--muted);font-size:.8rem}.ten-point select{min-height:44px;width:100%;border:1px solid var(--line);border-radius:8px;background:white;padding:7px;font-size:14px}.ten-point .met{color:#176344}.ten-point .unmet{color:#a53737}.ten-point .unknown{color:#765600}.lot-actions{display:grid;gap:9px;margin:18px 0}.lot-actions a,.lot-actions button{padding:12px;min-height:48px;text-align:center}.compare-row{grid-template-columns:125px repeat(var(--compare-count),minmax(0,1fr))}.compare-cell{overflow-wrap:anywhere}.compare-pair{display:flex;gap:8px;margin:12px 0}.compare-pair select{min-width:0;flex:1;min-height:44px}.project-field small{font-size:.75rem;color:var(--muted)}.reply-context{font-size:.82rem;color:var(--muted);margin:0 0 14px}.card .match-grid{display:none}
@media(max-width:700px){.home-ideas{grid-template-columns:1fr;gap:10px}.home-idea{min-height:55px}.welcome h1{font-size:2rem;letter-spacing:-.8px;line-height:1.2}.intro{font-size:.875rem;margin-bottom:22px}.home{padding:24px 18px}.topbar{height:58px;padding-inline:16px}.identity small{display:none}.request-header{padding:10px 16px}.request-title,.compact .request-title{font-size:1.08rem;line-height:1.35}.progress-label{font-size:.75rem}.cards,.cards.single{grid-template-columns:1fr;grid-auto-columns:auto;gap:20px}.card-visual{aspect-ratio:16/8}.card-body{padding:16px}.card-role{font-size:.72rem}.selection-next>.primary{width:100%}.compare-row{grid-template-columns:86px repeat(var(--compare-count),minmax(0,1fr))}.compare-cell{padding:7px;font-size:.73rem}.compare-lot strong{font-size:.8rem}.compare-scroll{overflow-x:hidden}.compare-bar{position:static}.ten-point{grid-template-columns:1fr}.ten-point select{font-size:16px}.lot-facts{grid-template-columns:1fr}.lot-dialog{width:100%;max-width:none}.project-field input,.project-field select{font-size:16px}}

/* V3.3 : explicit form controls and Smile new-home button dimensions. */
.home{color:#fff}.home .welcome h1,.home .welcome h2,.home .home-free summary,.home #home-dictate{color:#fff}
.home .home-free summary{min-height:48px;padding:10px 0;cursor:pointer;text-underline-offset:4px}
.home .home-free summary:hover{color:#fff;text-decoration:underline}
.primary,.secondary{font-family:Poppins,sans-serif;min-height:48px;border-radius:8px;padding:10px 18px;font-size:1rem;font-weight:600;line-height:1.5;box-shadow:0 1px 2px #1018280d}
.secondary{border-color:#dbdbdb}.secondary:hover{background:#f5f6f8}
.text-link{font:inherit;background:transparent;border:0;color:var(--navy);min-height:44px;padding:8px;text-decoration:underline;text-underline-offset:4px}
.answer-tools{flex-wrap:wrap;gap:10px}.answer-tools .secondary{font-size:.8125rem;text-decoration:none;color:var(--navy);padding:10px 14px}
button:disabled{cursor:not-allowed}
input[type=checkbox]:not(.room-check input){appearance:auto!important;width:20px!important;height:20px!important;min-height:20px!important;max-height:20px!important;min-width:20px;max-width:20px;flex:0 0 20px;padding:0!important;margin:0;accent-color:var(--rose)}
label:has(>input[type=checkbox]):not(.room-check){display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.room-check:focus-within{outline:3px solid var(--rose);outline-offset:3px}
.card-arguments{list-style:none;margin:0;padding:0;order:7;display:grid;gap:9px}
.card-arguments li{display:flex;align-items:flex-start;gap:8px;font-size:.8125rem;line-height:1.5}
.card-arguments .icon{color:var(--green);width:19px;height:19px;margin-top:1px;stroke-width:2.5}
.card-visual{position:relative;min-height:130px}.card-role{max-width:calc(100% - 80px)}
.card-visual .favorite{position:absolute;top:12px;right:12px;z-index:2;width:44px;height:44px;min-height:44px;display:grid;place-items:center;border:1px solid #e4e7ec;border-radius:50%;padding:10px;background:#fff;color:var(--navy);box-shadow:0 2px 9px #34496024}
.card-visual .favorite.selected{color:var(--rose);background:#fff}.favorite.selected svg{fill:currentColor}.favorite:hover{transform:scale(1.05)}
#compare-hint{font-size:.75rem;color:var(--navy);margin-top:4px}
.done-actions{display:flex;gap:10px;flex-wrap:wrap}.done-actions>*{flex:1}.resume-link{display:flex!important;width:max-content;max-width:100%;margin:14px auto 0!important;font-size:.8125rem;text-align:center}
@media(max-width:600px){.answer-tools .secondary{flex:1;min-width:135px}.done-actions{flex-direction:column}.compare-bar{align-items:stretch;flex-direction:column}.compare-actions>*{flex:1}.primary,.secondary{white-space:normal;font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.favorite:hover{transform:none}}

/* V3.3.1: pin foreground to the actual home controls; keep white input dark. */
#home #home-question,
#home #home-free-toggle,
#home #home-free-toggle:hover,
#home #home-free-toggle:focus,
#home #home-free-toggle:focus-visible,
#home #home-free-toggle::marker,
#home #home-free-toggle::-webkit-details-marker {
 color:#ffffff !important;
 -webkit-text-fill-color:#ffffff;
 text-decoration-color:#ffffff;
 opacity:1;
}
#home .build-reference{display:block;color:#ffffffb8;font-size:.625rem;margin-top:8px}

/* V3.4: selection hierarchy, comparison and factual feature tags. */
.progress-meta{width:min(100%,1120px);text-align:left;justify-content:flex-start}
.compare-summary{display:flex;align-items:center;gap:14px;min-width:0}
#compare-picto{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#edf1f5;color:#344960;flex-shrink:0}
#compare-count{font-size:18px;font-weight:600;line-height:1.4;color:#344960}
#compare-hint{font-size:16px;line-height:1.5;color:#344960;margin-top:4px}
.compare-bar{padding:18px 20px;gap:20px}.compare-actions{align-items:center;flex-shrink:0}
#clear-compare{font-size:14px;min-height:44px;background:transparent;border:0;color:#344960;text-decoration:underline;padding:8px}
#open-compare:disabled{background:#edf0f3;border-color:#edf0f3;color:#667381;opacity:1;cursor:not-allowed}
.lot-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px;order:6}
.lot-tag{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:6px 9px;border-radius:8px;background:#edf1f5;color:#344960;font-size:12px;line-height:1.45;font-weight:500;overflow-wrap:anywhere}
.lot-tag svg{width:15px;height:15px;flex-shrink:0}
.project-free-tools{display:none!important}
#result-tools .text-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px}
@media(max-width:700px){.compare-bar{flex-direction:column;align-items:stretch;padding:14px;gap:12px}.compare-actions{display:grid;grid-template-columns:1fr;gap:4px}#open-compare{width:100%;grid-row:1}#clear-compare{justify-self:center}.lot-tag{font-size:12px}}
/* V3.5 : correctifs mobile, contraste et actions lots */
.plan-preview{position:absolute;right:66px;top:14px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:#fffffff2;color:var(--navy);box-shadow:0 4px 14px #12233a2b}.plan-preview:hover{background:white;transform:translateY(-1px)}.plan-preview .icon{width:22px;height:22px}.lot-plan-panel{margin:18px 0;border:1px solid #ffd0c8;border-radius:14px;background:#fff8f6;overflow:hidden}.lot-plan-panel summary{display:flex;align-items:center;gap:10px;min-height:56px;padding:14px 16px;color:var(--navy);font-size:1rem;font-weight:700;cursor:pointer;list-style:none}.lot-plan-panel summary::-webkit-details-marker{display:none}.lot-plan-panel summary .icon{color:var(--rose)}.lot-plan-panel .lot-plan,.lot-plan-panel>a{margin:0 16px 16px}.criterion-title{display:flex;align-items:center;gap:9px}.criterion-title .icon{width:20px;height:20px;color:var(--navy)}#compare-swipe-hint{display:none}.compare-scroll{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.brand{border-radius:8px}.brand:focus-visible{outline-color:var(--rose)}
@media(max-width:700px){#project-dialog{width:100%;max-width:100%;max-height:calc(var(--app-height,100dvh) - 8px);padding:22px 16px max(22px,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto}.project-form-grid,#project-form,.project-field{min-width:0}.project-field input,.project-field select{max-width:100%}.project-budget label{min-height:44px}.compare-scroll{overflow-x:auto;overflow-y:hidden;margin-inline:-2px}.compare-table{min-width:calc(104px + var(--compare-count) * 196px)}.compare-row{grid-template-columns:104px repeat(var(--compare-count),minmax(196px,1fr))}.compare-cell{font-size:.875rem;padding:11px}.compare-lot strong{font-size:.9rem}.compare-lot small{font-size:.8125rem}#compare-swipe-hint{display:block;margin:8px 0 0;font-size:.875rem;color:var(--muted)}.card-city,.card-programme,.facts,.lot-tag,.card-arguments li{font-size:.875rem}.card-body h3{font-size:1.22rem}.price{font-size:1.5rem}.choice,.primary,.secondary,.text-link{font-size:1rem}.question{font-size:1.55rem}.plan-preview{right:66px;top:12px}.topbar .brand{min-width:44px;min-height:44px;display:flex;align-items:center}.ten-point small{font-size:.875rem}.ten-point select{min-height:48px}.close{min-width:44px;min-height:44px}}

/* V3.7.18: modest mobile readability improvements, desktop home unchanged. */
.question-hint{margin:-6px 0 18px;color:var(--muted);font-size:.9375rem;line-height:1.5}
.results-head .results-intro{max-width:760px;font-size:.875rem;line-height:1.6;margin-top:10px}
@media(max-width:700px){
 .home .welcome{padding-top:26px!important}
 .home .home-eyebrow{font-size:.75rem;margin-bottom:8px}
 .home .intro{font-size:.875rem;line-height:1.5}
 .home .home-question{font-size:.875rem}
 .home .home-idea strong{font-size:.875rem}
 .home .home-idea small{font-size:.75rem;line-height:1.4}
 .home .privacy{font-size:.6875rem;line-height:1.45}
 .question-hint{font-size:.875rem;margin-top:-4px}
}
@media(max-width:700px) and (max-height:740px){.home .welcome{padding-top:20px!important}.home .home-visual{height:100%;min-height:0}}


#contact,#contact *{font-family:Poppins,Arial,sans-serif!important;font-style:normal}#contact label{font-weight:500}#contact .dialog-submit{font-weight:600}
/* V3.7.18: modest mobile readability improvements, desktop home unchanged. */
.question-hint{margin:-6px 0 18px;color:var(--muted);font-size:.9375rem;line-height:1.5}
.results-head .results-intro{max-width:760px;font-size:.875rem;line-height:1.6;margin-top:10px}
@media(max-width:700px){
 .home .welcome{padding-top:26px!important}
 .home .home-eyebrow{font-size:.75rem;margin-bottom:8px}
 .home .intro{font-size:.875rem;line-height:1.5}
 .home .home-question{font-size:.875rem}
 .home .home-idea strong{font-size:.875rem}
 .home .home-idea small{font-size:.75rem;line-height:1.4}
 .home .privacy{font-size:.6875rem;line-height:1.45}
 .question-hint{font-size:.875rem;margin-top:-4px}
}
@media(max-width:700px) and (max-height:740px){.home .welcome{padding-top:20px!important}.home .home-visual{height:100%;min-height:0}}


.reservation-link,.finance-link{width:100%;min-height:44px;display:grid;place-items:center;border-radius:9px;text-decoration:none;font-size:.78rem;font-weight:600}.reservation-link{border:1px solid var(--rose);background:#fff5f3;color:#b94747}.finance-link{border:1px solid var(--line);background:#f5f7f9;color:var(--navy)}
/* V3.7.18: modest mobile readability improvements, desktop home unchanged. */
.question-hint{margin:-6px 0 18px;color:var(--muted);font-size:.9375rem;line-height:1.5}
.results-head .results-intro{max-width:760px;font-size:.875rem;line-height:1.6;margin-top:10px}
@media(max-width:700px){
 .home .welcome{padding-top:26px!important}
 .home .home-eyebrow{font-size:.75rem;margin-bottom:8px}
 .home .intro{font-size:.875rem;line-height:1.5}
 .home .home-question{font-size:.875rem}
 .home .home-idea strong{font-size:.875rem}
 .home .home-idea small{font-size:.75rem;line-height:1.4}
 .home .privacy{font-size:.6875rem;line-height:1.45}
 .question-hint{font-size:.875rem;margin-top:-4px}
}
@media(max-width:700px) and (max-height:740px){.home .welcome{padding-top:20px!important}.home .home-visual{height:100%;min-height:0}}


/* V3.6 : accueil éditorial, hiérarchie des actions et contrôles accessibles. */
body{background:#f5f7f9}.topbar{color:var(--navy);background:#fff;border-color:var(--line)}.brand-white{display:none!important}.brand-rose{display:block!important}.topbar .header-action:hover{background:var(--soft)}
.home{display:block;padding:24px;background:#f5f7f9;color:var(--navy)}.home-stage{width:min(100%,1180px);min-height:calc(100dvh - 124px);margin:0 auto;display:grid;grid-template-columns:minmax(330px,.86fr) minmax(520px,1.14fr);overflow:hidden;border:1px solid #e2e7eb;border-radius:28px;background:#fff;box-shadow:0 22px 60px #25334612}.home-visual{position:relative;min-height:540px;background:linear-gradient(180deg,#34496012,#34496055),url('/assets/hero-assistant-v3.6.webp') center/cover no-repeat}.home-visual-badge{position:absolute;left:24px;right:24px;bottom:24px;display:flex;align-items:center;gap:11px;min-height:52px;padding:11px 15px;border:1px solid #ffffff70;border-radius:15px;background:#253346a8;color:#fff;font-size:.875rem;font-weight:600;backdrop-filter:blur(10px)}.home-visual-badge .icon{color:var(--rose)}
.welcome{width:100%;max-width:none;margin:0;padding:46px;text-align:left;align-self:center}.home-eyebrow{margin:0 0 9px;color:var(--rose);font-size:.75rem;font-weight:600;letter-spacing:1.6px;text-transform:uppercase}.welcome h1{max-width:620px;margin:0 0 13px;color:var(--navy);font-size:clamp(2.45rem,4.6vw,4rem);line-height:1.08;letter-spacing:-2px}.intro{max-width:600px;margin:0 0 18px;color:var(--muted);font-size:1rem}.home-duration{display:flex;align-items:center;gap:10px;margin:0 0 22px;color:var(--muted);font-size:.8125rem}.home-dots{display:flex;gap:7px}.home-dots i{width:10px;height:10px;border:1.5px solid #9da8b3;border-radius:50%}.home-dots i:first-child{border-color:var(--rose);background:var(--rose)}
.home-question{margin:0 0 10px;color:var(--navy);font-size:.875rem;font-weight:600}.home-ideas{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:none;margin:0 0 15px}.home-idea{display:grid;grid-template-columns:42px 1fr 22px;align-items:center;gap:11px;min-height:78px;padding:13px;border:1px solid #dfe5ea;border-radius:15px;background:#fff;color:var(--navy);text-align:left;font-size:.875rem;box-shadow:0 5px 18px #34496008}.home-idea:last-child{grid-column:1/-1}.home-idea:hover,.home-idea.selected{transform:translateY(-1px);border-color:var(--rose);background:#fff8f6;box-shadow:0 8px 24px #fb646414}.home-idea.selected{box-shadow:0 0 0 2px #fb646420}.home-idea-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff0ed;color:var(--rose)}.home-idea strong,.home-idea small{display:block}.home-idea strong{font-size:.875rem;line-height:1.35}.home-idea small{margin-top:2px;color:var(--muted);font-size:.6875rem;font-weight:400}.home-arrow{display:grid;place-items:center;color:var(--navy)}.home-cta{width:100%;min-height:54px;border-radius:12px;font-size:1rem}.home-cta:disabled{background:#e7ebef;border-color:#e7ebef;color:#7c8793;opacity:1}.home-free{margin-top:13px}.home .home-free summary{color:var(--navy)!important;-webkit-text-fill-color:var(--navy);text-decoration-color:var(--navy);font-size:.8125rem}.home-free .home-composer{margin-top:10px;border-color:var(--line);box-shadow:none}.home-free #home-dictate{color:var(--navy)}.privacy{margin:13px 0 0;color:var(--muted);text-align:left}.build-reference,.version{display:none!important}
.card-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.card-options .favorite,.card-options .compare-check{min-height:46px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);padding:8px;font-size:.8125rem;font-weight:500}.card-options .favorite.selected{border-color:#f6b9b9;background:#fff5f3;color:#b83d46}.card-options .favorite .icon{width:18px;height:18px}.plan-preview{right:12px}.program-link{text-decoration:underline;text-underline-offset:4px}.selection-next{max-width:720px;margin:34px auto 0;padding:28px;border:1px solid #ffd7d1;border-radius:20px;background:linear-gradient(135deg,#fff7f5,#fff);text-align:center}.selection-next h3{font-size:1.35rem}.selection-next p{margin:8px auto 18px;max-width:560px}.selection-next>.primary{width:min(100%,430px)}.selection-next .tool-buttons{margin-top:10px}.selection-next .tool-buttons .secondary{background:#fff;text-decoration:none}.selection-spam{display:block;margin-top:10px;color:var(--muted);font-size:.75rem}
.ten-point{grid-template-columns:minmax(0,1fr) 210px}.feedback-control{display:grid;gap:5px}.feedback-label{margin:0!important;color:var(--muted);font-size:.6875rem!important;font-weight:600!important}.ten-point select{appearance:none;min-height:50px;padding:10px 42px 10px 13px;border-radius:11px;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#344960 50%),linear-gradient(135deg,#344960 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 12px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;color:var(--navy);font-family:Poppins,sans-serif;font-size:1rem}.ten-point select.feedback-validated{border-color:#9ad2b2;background-color:#eef8f2}.ten-point select.feedback-blocked{border-color:#efb1ad;background-color:#fff1ef}.ten-point select.feedback-verify{border-color:#e9cd88;background-color:#fff8e7}
.lot-actions .option-link{font-size:1rem}.lot-actions .text-link{display:flex;align-items:center;justify-content:center}.reservation-link{display:none}
@media(max-width:850px){.home-stage{grid-template-columns:1fr}.home-visual{min-height:300px}.welcome{padding:34px}.home-visual-badge{max-width:420px}}
@media(max-width:600px){.topbar{height:64px}.home{padding:12px 12px max(18px,env(safe-area-inset-bottom))}.home-stage{min-height:0;border-radius:22px}.home-visual{min-height:205px;background-position:58% center}.home-visual-badge{left:14px;right:14px;bottom:14px;min-height:46px;padding:9px 12px;font-size:.75rem}.welcome{padding:23px 18px 22px}.home-eyebrow{font-size:.6875rem}.welcome h1{font-size:2.1rem;line-height:1.12;letter-spacing:-1.2px}.intro{font-size:.9375rem;line-height:1.55;margin-bottom:13px}.home-duration{margin-bottom:18px}.home-ideas{grid-template-columns:1fr;gap:9px}.home-idea:last-child{grid-column:auto}.home-idea{min-height:70px}.home-cta{min-height:54px}.home-free{margin-top:9px}.privacy{font-size:.6875rem}.selection-next{padding:22px 16px}.card-options{grid-template-columns:1fr 1fr}.ten-point{grid-template-columns:1fr;gap:12px}.feedback-label{font-size:.75rem!important}.ten-point select{font-size:1rem}}
/* V3.6.1 : home pleine page, titre visible et étapes mobiles compactes. */
body{background:#fff}.home{padding:0;background:#fff}.home-stage{width:100%;height:100%;min-height:100%;border:0;border-radius:0;box-shadow:none}.home .welcome h1,.home .welcome h2{display:block!important;color:var(--navy)!important;-webkit-text-fill-color:var(--navy)!important;visibility:visible!important;opacity:1!important}.home-duration,.home-cta{display:none!important}.home-idea:hover,.home-idea.selected{background:#fff;box-shadow:0 7px 22px #34496012}.home-idea:hover{border-color:var(--navy)}.home-idea.selected{border-color:var(--rose);box-shadow:0 0 0 2px #fb64641c}.keyboard-open .flow{padding-bottom:12px}.keyboard-open dialog{max-height:var(--app-height,100dvh);padding-bottom:12px}
@media(max-width:700px){.home{overflow:auto}.home-stage{min-height:100%;grid-template-columns:1fr;grid-template-rows:clamp(125px,22vh,180px) auto}.home-visual{height:100%;min-height:125px;background-position:58% 48%}.home-visual-badge{display:none}.welcome{padding:18px 17px 14px;align-self:start}.home-eyebrow{margin-bottom:5px}.welcome h1{margin-bottom:7px;font-size:clamp(1.65rem,7.5vw,2rem);line-height:1.12;letter-spacing:-.8px}.intro{margin-bottom:10px;font-size:.8125rem;line-height:1.45}.home-question{margin-bottom:7px;font-size:.8125rem}.home-ideas{gap:7px;margin-bottom:7px}.home-idea,.home-idea:last-child{grid-column:auto;min-height:55px;padding:8px 10px;grid-template-columns:38px 1fr 19px;gap:9px;border-radius:12px}.home-idea-icon{width:38px;height:38px;border-radius:10px}.home-idea strong{font-size:.8125rem}.home-idea small{font-size:.625rem}.home-free{margin-top:5px}.home .home-free summary{font-size:.75rem}.privacy{margin-top:7px;font-size:.6rem;line-height:1.4}.request-header{padding:8px 14px 7px}.request-title,.compact .request-title{font-size:1rem;line-height:1.28;-webkit-line-clamp:2}.progress-meta,.compact .progress-meta{margin-top:3px}.flow{width:calc(100% - 24px);padding:16px 0 max(18px,env(safe-area-inset-bottom))}.step-kicker{margin-bottom:8px}.question{margin-bottom:14px;font-size:1.22rem;line-height:1.32}.choices,.choices.compact-options{gap:7px}.choice{min-height:48px;padding:10px 12px}.answer-tools{margin-top:8px}.free-panel,.custom-panel{margin-top:9px;padding:10px}.custom-row input{height:44px}.keyboard-open .request-header{display:none}.keyboard-open .flow{padding-top:8px}.keyboard-open .free-panel,.keyboard-open .custom-panel{margin-top:0}}
/* V3.6.2 : actions directes, offres commerciales et popups simplifiées. */
#results{padding-bottom:118px}.card-offer-badge{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 76px);padding:7px 10px;border-radius:9px;background:var(--rose);color:#fff;font-size:.6875rem;font-weight:600;box-shadow:0 5px 18px #25334628}.card-offer{display:flex;align-items:flex-start;gap:8px;margin:2px 0 13px;padding:10px 11px;border:1px solid #dfe5ea;border-left:3px solid var(--rose);border-radius:10px;background:#fff;color:var(--navy);font-size:.75rem;line-height:1.5}.card-offer .icon{width:17px;height:17px;margin-top:1px;color:var(--rose)}
.selection-next{position:fixed;z-index:12;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 32px),1040px);max-width:none;margin:0;padding:13px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 20px;border:1px solid #dce3e8;border-top:3px solid var(--rose);border-radius:16px;background:#fffffff5;box-shadow:0 16px 44px #2533462b;text-align:left;backdrop-filter:blur(14px)}.selection-next-copy{display:flex;align-items:center;gap:12px;min-width:0}.selection-next-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#eef2f5;color:var(--navy)}.selection-next-icon .icon{width:21px;height:21px}.selection-next h3{margin:0;font-size:1rem}.selection-next p{margin:2px 0 0;max-width:none;color:var(--muted);font-size:.75rem}.selection-next-actions{display:flex;align-items:center;gap:8px}.selection-next>.primary,.selection-next-actions>.primary{width:auto;min-height:48px;white-space:nowrap}.selection-next .tool-buttons{margin:0}.selection-next .tool-buttons .secondary{min-height:48px;background:#fff}.selection-spam{grid-column:1/-1;margin:-5px 0 0 54px;font-size:.625rem}.compare-bar{bottom:104px}
#project-dialog{width:calc(100% - 32px);max-width:1160px;padding:0;overflow:hidden}#project-form{display:flex;max-height:calc(var(--app-height,100dvh) - 32px);flex-direction:column}.project-dialog-head{flex:0 0 auto;padding:25px 32px 8px}.project-dialog-head p{margin:0}.project-dialog-body{min-height:0;overflow:auto;padding:10px 32px 22px;scrollbar-width:thin}.project-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px}.project-group{min-width:0;margin:0;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fafbfc}.project-group legend{padding:0 7px;color:var(--navy);font-size:.8125rem;font-weight:600}.project-group-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.project-group .project-field.full{grid-column:1/-1}.project-group .project-room-options{gap:5px}.project-group .room-check{padding:7px 9px}.project-group .project-budget{grid-template-columns:minmax(0,1fr) auto}.project-group .project-budget label{background:#fff}.project-check{display:flex!important;align-items:center;gap:8px;min-height:48px;margin:0!important;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.project-check input{width:20px!important;height:20px!important;flex:0 0 auto}.project-free-tools{margin:12px 0 0;padding:10px 0 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.project-free-tools p,.project-free-tools small{margin:0}.project-free-tools .answer-tools{margin:0;flex:0 0 auto}.project-dialog-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:9px;margin:0;padding:14px 32px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;box-shadow:0 -8px 22px #2533460a}.project-dialog-actions button{min-width:220px}.project-dialog-actions .secondary{min-width:120px}
.lot-dialog{width:calc(100% - 32px);max-width:920px;padding:26px;overflow:hidden}.lot-dialog h2{margin-bottom:5px}.lot-summary{margin:0 0 16px;color:var(--muted)}.lot-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 16px}.lot-summary-item{padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#f8fafb}.lot-summary-item small,.lot-summary-item strong{display:block}.lot-summary-item small{color:var(--muted);font-size:.65rem}.lot-summary-item strong{margin-top:2px;color:var(--navy);font-size:.8125rem}.lot-offer{margin:0 0 14px;padding:11px 13px;border-left:3px solid var(--rose);border-radius:0 10px 10px 0;background:#f5f7f9;color:var(--navy);font-size:.8125rem}.lot-plan-display{display:grid;place-items:center;min-height:220px;max-height:48vh;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#f6f8fa}.lot-plan-display .lot-plan{width:100%;height:100%;max-height:48vh;object-fit:contain}.lot-plan-empty{color:var(--muted);font-size:.8125rem}.lot-plan-links{display:flex;justify-content:center;margin-top:8px}.lot-plan-links a{font-size:.75rem}.lot-dialog .lot-actions{grid-template-columns:1fr 1fr;margin:14px 0 0}.lot-dialog .lot-actions>*{width:100%}
@media(max-width:850px){.project-groups{grid-template-columns:1fr}.project-dialog-body{padding-inline:22px}.project-dialog-head,.project-dialog-actions{padding-inline:22px}.project-dialog-actions button{min-width:0}}
@media(max-width:700px){#results{padding-bottom:82px}.selection-next{bottom:max(7px,env(safe-area-inset-bottom));width:calc(100% - 14px);padding:8px;border-top-width:2px;border-radius:13px;display:block}.selection-next-copy,.selection-spam{display:none}.selection-next-actions{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:7px}.selection-next-actions>.primary{width:100%;min-height:50px}.selection-next .tool-buttons{display:block}.selection-next .tool-buttons .secondary{width:48px;min-width:48px;padding:0;font-size:0}.selection-next .tool-buttons .secondary .icon{width:21px;height:21px}.compare-bar{bottom:76px}.card-offer-badge{font-size:.75rem}.card-offer{font-size:.875rem}.lot-dialog{padding:22px 16px max(16px,env(safe-area-inset-bottom));overflow:auto}.lot-summary-grid{grid-template-columns:1fr 1fr}.lot-plan-display{min-height:180px;max-height:44vh}.lot-plan-display .lot-plan{max-height:44vh}.lot-dialog .lot-actions{grid-template-columns:1fr}.project-dialog-head{padding:20px 18px 6px}.project-dialog-body{padding:8px 18px 16px}.project-dialog-actions{padding:10px 18px max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:auto 1fr}.project-dialog-actions button{font-size:.8125rem}.project-group{padding:12px}.project-group-grid{grid-template-columns:1fr}.project-group .project-field.full{grid-column:auto}.project-group .project-budget{grid-template-columns:1fr}.project-free-tools{display:block}.project-free-tools .answer-tools{display:grid;grid-template-columns:1fr 1fr;margin-top:8px}}
/* V3.6.3 : résultats épurés, extérieurs Webflow et prix insécables. */
.journey.showing-results .request-header{display:none}.price,.price-with-parking{white-space:nowrap}.price-with-parking{font-size:.7rem}.lot-summary-item strong{overflow-wrap:anywhere}
@keyframes lot-modal-in{from{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}
@media(max-width:700px){dialog.lot-dialog{top:50%;right:auto;bottom:auto;left:50%;width:calc(100% - 20px);max-width:560px;max-height:calc(var(--app-height,100dvh) - 20px);margin:0;border-radius:18px;transform:translate(-50%,-50%);animation:lot-modal-in .2s var(--ease) both}.lot-dialog .close{top:12px;right:12px}.lot-dialog h2{padding-right:34px}}
/* V3.6.6 : arrivée directe depuis le bandeau, sans affichage de l’accueil. */
.request-header{display:none!important}.answer-tools>.other-answer,.answer-tools>.voice-entry{height:42px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-color:#e1e6ea;background:#fff;color:var(--muted);font-size:.75rem;line-height:1.2}.answer-tools>.other-answer .icon,.answer-tools>.voice-entry .icon{width:18px;height:18px}.price-with-parking{white-space:normal}.price-amount{white-space:nowrap}.price-qualifier{margin-left:.3em;color:var(--muted);font-size:.55em;font-weight:500;white-space:nowrap}.notary-fees{margin:-7px 0 11px;color:var(--muted);font-size:.7rem;line-height:1.45}
.question{font-size:clamp(1.75rem,3vw,2.45rem)}.choice{font-size:.95rem;font-weight:500}.primary,.secondary{font-size:.9rem}.card-actions .primary,.card-actions .secondary,.selection-next-actions>.primary{font-size:.875rem}.program-link{font-size:.82rem}
@media(max-width:700px){.price.price-split{display:flex;flex-direction:column;align-items:flex-start;white-space:normal;line-height:1.15}.price-split .price-qualifier{margin:4px 0 0;font-size:.58em}.answer-tools>.other-answer,.answer-tools>.voice-entry{height:44px;min-height:44px;flex:1;font-size:.72rem}.question{font-size:1.4rem}.choice{font-size:.9rem}.primary,.secondary{font-size:.875rem}}
/* V3.6.6 : fiche lot compacte à dévoilement progressif. */
.card{align-self:start}.card-body{padding:18px}.card-body h3{font-size:1.12rem;line-height:1.35;margin-bottom:5px}.card-city{margin-bottom:0}.card .price{margin:15px 0 0;font-size:1.45rem}.card .price-qualifier{display:block;margin:4px 0 0;font-size:.72rem;line-height:1.35}.card-key-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:17px 0 0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--line)}.card-key-fact{min-width:0;padding:9px 7px;background:#fff;text-align:center}.card-key-fact strong,.card-key-fact small{display:block}.card-key-fact strong{color:var(--navy);font-size:.75rem;font-weight:600;overflow-wrap:anywhere}.card-key-fact small{margin-top:2px;color:var(--muted);font-size:.625rem}.card-sections{margin-top:16px}.card .lot-section{margin:0;padding:0;border-top:1px solid var(--line);color:var(--ink);font-size:.75rem}.card .lot-section summary{min-height:48px;padding:0;color:var(--navy);font-size:.75rem;font-weight:600}.card .lot-section summary::after{color:var(--rose);font-size:1.15rem;font-weight:400}.lot-section-body{padding:0 0 14px}.lot-offer-compact{display:flex;align-items:flex-start;gap:8px;padding:11px;border-left:3px solid var(--rose);border-radius:0 10px 10px 0;background:#fff4f1;color:var(--navy);line-height:1.5}.lot-offer-compact .icon{width:17px;height:17px;margin-top:1px;color:var(--rose)}.lot-offer-compact strong{display:block;font-size:.75rem}.lot-offer-compact span{display:block;color:var(--muted);font-size:.7rem}.lot-price-lines{display:grid;gap:8px}.lot-price-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;color:var(--muted);font-size:.7rem}.lot-price-line strong{color:var(--navy);font-size:.72rem;font-weight:600;text-align:right;white-space:nowrap}.lot-price-line.total{padding-top:8px;border-top:1px solid var(--line)}.lot-characteristics{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.lot-characteristic small,.lot-characteristic strong{display:block}.lot-characteristic small{color:var(--muted);font-size:.625rem;text-transform:uppercase;letter-spacing:.35px}.lot-characteristic strong{margin-top:2px;color:var(--navy);font-size:.7rem;font-weight:500;overflow-wrap:anywhere}.lot-match-list{display:grid;gap:9px}.lot-match-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;color:var(--navy);font-size:.7rem;line-height:1.5}.lot-match-icon{width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:#e8f5ed;color:var(--green)}.lot-match-icon .icon{width:13px;height:13px;stroke-width:2.5}.lot-feature-pills{display:flex;flex-wrap:wrap;gap:6px}.lot-feature-pill{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:6px 8px;border-radius:99px;background:#edf1f5;color:var(--navy);font-size:.65rem;font-weight:500}.lot-feature-pill .icon{width:14px;height:14px}.card-actions{display:grid;grid-template-columns:minmax(0,1fr) 48px 48px;gap:8px;margin-top:17px;padding-top:0}.card-actions .primary{min-width:0}.card-icon-action{position:relative;width:48px!important;height:48px;min-height:48px!important;display:grid!important;place-items:center!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important;color:var(--navy)!important;padding:0!important}.card-icon-action .icon{width:20px;height:20px}.card-icon-action.favorite.selected{border-color:#f6b9b9!important;background:#fff5f3!important;color:#b83d46!important}.card .card-icon-action input.compare-toggle{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;appearance:none!important;opacity:0;cursor:pointer}.card-icon-action:has(.compare-toggle:checked){border-color:var(--navy)!important;background:var(--navy)!important;color:#fff!important}.card-actions .program-link{grid-column:1/-1;min-height:42px}.card-programme{font-size:.72rem}.plan-preview{right:12px}
@media(max-width:700px){.card-body{padding:17px}.card-body h3{font-size:1.15rem}.card .price{font-size:1.5rem}.card-key-fact strong{font-size:.8rem}.card-key-fact small{font-size:.6875rem}.card .lot-section summary{font-size:.8125rem}.lot-price-line,.lot-price-line strong,.lot-characteristic strong,.lot-match-row{font-size:.75rem}.lot-characteristic small{font-size:.6875rem}.lot-feature-pill{font-size:.7rem}}
/* V3.6.7 : identité et prix remontés, offre toujours visible. */
.card-body>.card-programme{order:0}.card-body>h3{order:1}.card-body>.card-city{order:2}.card-body>.price{order:3}.card-body>.card-key-facts{order:4}.card-body>.card-offer-static{order:5}.card-body>.card-sections{order:6}.card-body>.card-actions{order:7}.card-offer-static{margin:16px 0 0}.card-offer-static+ .card-sections{margin-top:12px}
/* V3.6.10 : repères illustrés, TVA lisible et fenêtres mobiles centrées. */
.card-body>.vat-rate{order:4}.card-body>.card-key-facts{order:5}.card-body>.card-offer-static{order:6}.card-body>.card-sections{order:7}.card-body>.card-actions{order:8}.vat-rate{margin:4px 0 0;color:var(--muted);font-size:.7rem;line-height:1.4}.card-key-facts{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 0;overflow:visible;border:0;border-radius:0;background:transparent}.card-key-fact{display:flex;align-items:center;gap:8px;flex:1 1 145px;min-width:0;padding:9px 10px;border:0;border-radius:11px;background:#f4f7f9;text-align:left}.card-key-fact-icon{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#fff;color:var(--rose)}.card-key-fact-icon .icon{width:17px;height:17px}.card-key-fact-copy{min-width:0}.card-key-fact strong,.card-key-fact small{display:block}.card-key-fact strong{font-size:.72rem;line-height:1.35}.card-key-fact small{margin:1px 0 0;font-size:.625rem;line-height:1.35}.card-actions.without-compare{grid-template-columns:minmax(0,1fr) 48px}.results-bottom-edit{display:flex;justify-content:center;margin:28px auto 0;padding:22px 0 0;border-top:1px solid var(--line)}.results-bottom-edit .secondary{min-width:220px}.home-eyebrow-mobile{display:none}
/* V3.6.11 : structure homogène et addition du budget explicite. */
.card{height:100%;display:flex;flex-direction:column}.card-body{height:100%;display:flex;flex-direction:column}.card-actions{margin-top:auto}.lot-budget-lines{display:grid;gap:0}.lot-budget-line{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:baseline;gap:7px;margin:0;padding:8px 0;color:var(--muted);font-size:.7rem}.lot-budget-line+.lot-budget-line{border-top:1px solid #edf1f4}.lot-budget-symbol{color:var(--rose);font-weight:600;text-align:center}.lot-budget-line strong{color:var(--navy);font-size:.72rem;font-weight:600;text-align:right;white-space:nowrap}.lot-budget-line.total{margin-top:2px;border-top:2px solid var(--navy)}.lot-budget-line.total span:not(.lot-budget-symbol),.lot-budget-line.total strong{color:var(--navy);font-weight:600}.lot-budget-note{margin:8px 0 0;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:.65rem;line-height:1.5}.lot-empty-copy{margin:0;color:var(--muted);font-size:.7rem;line-height:1.5}
@media(max-width:700px){.home-eyebrow-desktop{display:none}.home-eyebrow-mobile{display:inline}.card-key-fact{flex-basis:calc(50% - 4px)}.results-bottom-edit{margin-top:22px}.results-bottom-edit .secondary{width:100%}}
/* V3.6.12 : absence de stock locale, TVA réduite et plan compact. */
.locality-actions{display:grid;gap:8px}.locality-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.locality-options .choice{min-height:48px}.locality-note{display:block;margin:12px 0 0;color:var(--muted);font-size:.6875rem}.vat-rate.reduced{color:var(--green);font-weight:600}.lot-dialog[open]{display:flex;flex-direction:column}.lot-dialog #lot-content{min-height:0;overflow:auto;padding-bottom:74px}.lot-dialog .lot-title-line{padding-right:42px;font-size:1.35rem}.lot-dialog .lot-plan-display{min-height:150px;max-height:38vh}.lot-dialog .lot-plan-display .lot-plan{max-height:38vh}.lot-dialog .lot-actions{position:absolute;z-index:3;left:26px;right:26px;bottom:20px;margin:0;padding-top:10px;background:linear-gradient(#ffffff00,#fff 24%)}
@media(max-width:700px){.locality-options{grid-template-columns:1fr}.lot-dialog #lot-content{padding-bottom:128px}.lot-dialog .lot-actions{left:16px;right:16px;bottom:max(12px,env(safe-area-inset-bottom));background:#fff}.lot-dialog .lot-title-line{font-size:1.1rem}.lot-dialog .lot-plan-display{max-height:34vh}.lot-dialog .lot-plan-display .lot-plan{max-height:34vh}}
/* V3.6.13 : Mon projet occupe le viewport mobile, sans translation héritée. */
@media(max-width:700px){
 dialog#project-dialog{position:fixed;inset:0;width:100%;max-width:none;height:var(--app-height,100dvh);max-height:var(--app-height,100dvh);min-height:0;margin:0;padding:0;border:0;border-radius:0;transform:none;animation:none;overflow:hidden;box-shadow:none;background:#fff}
 #project-dialog #project-form{height:100%;max-height:100%;min-height:0;margin:0;display:flex;flex-direction:column;overflow:hidden}
 #project-dialog .close{z-index:3;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right))}
 #project-dialog .project-dialog-head{flex:0 0 auto;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:#fff}
 #project-dialog .project-dialog-head h2{margin:0 42px 6px 0;font-size:1.2rem;line-height:1.35}
 #project-dialog .project-dialog-head p{margin:0;font-size:.8125rem}
 #project-dialog .project-dialog-body{flex:1 1 0;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding-block:16px;padding:14px max(16px,env(safe-area-inset-right)) 20px max(16px,env(safe-area-inset-left))}
 #project-dialog .project-dialog-actions{position:relative;z-index:2;flex:0 0 auto;grid-template-columns:auto minmax(0,1fr);padding:10px max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#fff}
 #project-dialog .project-dialog-actions button{min-width:0;min-height:48px;padding:10px 12px;font-size:.875rem}
 #project-dialog .project-field input,#project-dialog .project-field select{font-size:16px}
}
@media(max-width:700px) and (max-height:480px){#project-dialog .project-dialog-head{padding-block:8px}#project-dialog .project-dialog-head p{display:none}#project-dialog .project-dialog-head h2{margin-bottom:0}#project-dialog .project-dialog-actions{padding-top:6px;padding-bottom:max(6px,env(safe-area-inset-bottom))}}
.remember-choice{font-size:12px!important;color:var(--muted)}.visitor-reset{font-size:12px;margin:0 0 10px}.done-spam{color:var(--muted);font-size:13px}

[hidden],dialog:not([open]){display:none!important}
dialog .close,dialog .dialog-close{z-index:10;min-width:44px;min-height:44px;touch-action:manipulation}
.card-key-fact-copy small,.key-fact small,.lot-summary-item small{display:block;text-transform:uppercase;letter-spacing:.055em;font-size:11px;font-weight:500;line-height:1.45;color:#6c7886;margin:0 0 4px}
.card-key-fact-copy strong,.key-fact strong{display:block;font-size:13px;font-weight:400;line-height:1.45;color:#344960;overflow-wrap:normal}
.smile-offer{display:flex;align-items:flex-start;gap:10px;margin:16px 0;padding:14px 16px;border:0;border-left:3px solid #fb6464;border-radius:0 12px 12px 0;background:#f5f7f9;color:#344960;font-size:14px;line-height:1.5}
.smile-offer>svg{width:20px;height:20px;flex:0 0 20px;margin-top:1px;color:#fb6464}
.smile-offer strong{display:block;margin:0 0 3px;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}
.smile-offer span{display:block;color:#344960;font-size:14px;line-height:1.5}
.card-body>.smile-offer{order:6}
input[type=checkbox]:not(.compare-toggle):not(.room-check input){appearance:none!important;-webkit-appearance:none!important;width:20px;height:20px;min-width:20px;flex:0 0 20px;margin:0;border:1.5px solid #aeb9c5;border-radius:5px;background:#fff;cursor:pointer;vertical-align:middle}
input[type=checkbox]:not(.compare-toggle):not(.room-check input):checked{border-color:#344960;background:#344960 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-8' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
input[type=checkbox]:focus-visible{outline:3px solid #9eafc4;outline-offset:3px}
.card-icon-action.selected,.card-icon-action.compare-action:has(input:checked){border-color:#344960!important;background:#344960!important;color:white!important}
.lot-section>summary{padding:15px 0;cursor:pointer;font-size:14px;font-weight:600;list-style:none}.lot-section>summary:after{content:"+";float:right;color:#fb6464;font-size:20px}.lot-section[open]>summary:after{content:"−"}.lot-section{border-top:1px solid #e2e7eb}.lot-feature-pills{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:16px}.lot-feature-pill{padding:6px 10px;background:#f5f7f9;border-radius:8px;font-size:12px}
.smile-price{order:3;margin:12px 0 16px;min-width:0;color:#253346}
.body>.smile-price{order:0}
.card-key-fact,.key-fact{min-width:min-content}
.card-key-fact-copy small,.key-fact small{white-space:nowrap}
.smile-price .smile-price-amount{color:#253346;font:600 clamp(25px,2.3vw,32px)/1.2 Poppins,sans-serif;margin:0;white-space:nowrap;letter-spacing:-.025em}
.smile-price .smile-price-details{display:flex;flex-wrap:wrap;gap:2px 0;margin:5px 0 0;color:#6c7886;font:400 12px/1.5 Poppins,sans-serif}
.smile-price-details span+span:before{content:'·';margin:0 7px}
.card-body>h3,.body>h2{margin:5px 0 4px!important}
.card-body>.card-programme,.body>.programme{margin:0!important}
.card-body>.card-city,.body>.city{margin:0!important;font-size:14px!important;line-height:1.45}
.card-key-fact-copy strong,.key-fact strong{font-weight:400!important;font-size:13px!important}
.card-key-fact:has(.smile-exterior-line),.key-fact:has(.smile-exterior-line){flex-basis:max-content;min-width:max-content}
.lot-summary-item:has(.smile-exterior-line){grid-column:span 2}
.smile-exterior-line{display:block;white-space:nowrap;overflow-wrap:normal}
.lot-summary-item .smile-price,.compare-cell .smile-price,td .smile-price{margin:0}
.lot-summary-item .smile-price .smile-price-amount,.compare-cell .smile-price .smile-price-amount,td .smile-price .smile-price-amount{font-size:18px;white-space:normal}
.lot-summary-item .smile-price .smile-price-details,.compare-cell .smile-price .smile-price-details,td .smile-price .smile-price-details{font-size:11px;font-weight:400;line-height:1.45}
.visitor-reset{display:block;font-size:12px;font-weight:400;text-align:left;margin:0 0 14px;line-height:1.5}
.lot-budget-total-note,.budget-total-note{margin:3px 0 10px;color:#6c7886;font-size:11px;line-height:1.5}
@media(max-width:700px){.smile-price{margin:10px 0 14px}.smile-price .smile-price-amount{font-size:27px}}
@media(forced-colors:active){input[type=checkbox]:not(.compare-toggle):not(.room-check input){appearance:auto!important}}

/* V3.7: one card language, progressive content. */
.card .smile-price{margin:16px 0 0;order:3}.smile-price-amount small{font-size:.52em;font-weight:500;letter-spacing:0}
.card .smile-offer{order:4;margin:12px 0 0;padding:10px 12px;border-left:0;border-radius:10px;background:#f2f5f8;font-size:13px}
.card .smile-offer strong{font-size:10px}.card .smile-offer span{font-size:13px}
.offer-conditions{display:inline-block;color:#344960;font-size:12px;text-underline-offset:3px;padding-block:5px}.card-total{order:5;margin:6px 0 0;color:#6c7886;font-size:12px;line-height:1.5}
.smile-highlights{order:6;margin:18px 0 14px}.lot-highlight{border-left:3px solid #fb6464;padding-left:11px}.lot-highlight strong{display:block;color:#344960;font-size:16px;font-weight:600;line-height:1.45}.lot-highlight>span{display:block;color:#6c7886;font-size:12px;margin-top:3px}
.lot-facts-strip{display:flex;flex-wrap:wrap;gap:8px 0;margin-top:14px}.lot-fact{display:flex;align-items:center;gap:5px;min-width:0;font-size:12px;line-height:1.5;color:#344960;padding:0 9px;border-right:1px solid #e2e7eb}.lot-fact:first-child{padding-left:0}.lot-fact:last-child{border-right:0;padding-right:0}.lot-fact svg{width:17px;height:17px;flex:0 0 17px;color:#fb6464}.fact-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.card-marketing{order:7;padding:0;list-style:none;margin:0 0 16px;font-size:12px;color:#344960}.card-marketing li{margin:5px 0;display:flex;gap:7px}.card-marketing li:before{content:'✓';color:#197149}
.card .card-body,.card .body{gap:0;padding:20px}.card .card-body>h3,.card .body>h2{font-size:18px;line-height:1.4;font-weight:600}.card .card-programme,.card .programme{font-size:12px}.card .card-actions,.card .actions{padding-top:6px;margin-top:auto}
.card .card-visual,.card .visual{aspect-ratio:16/9;flex-shrink:0}.card .plan-preview,.card .plan-button{position:absolute;top:auto;bottom:12px;right:12px;width:auto;height:auto;min-height:40px;display:flex;gap:6px;padding:8px 11px;border:0;border-radius:9px;background:#fff;color:#344960;font-size:12px;font-weight:600}.plan-preview .icon{width:18px;height:18px}
.card .card-icon-action.favorite{position:absolute;right:12px;top:12px;width:42px!important;height:42px;min-height:42px!important;border:0!important;border-radius:50%!important;background:#fff!important}
.card .card-icon-action.favorite.selected{color:#fb6464!important;background:#fff!important;border-color:#fb6464!important}.compare-action:focus-within{outline:2px solid #344960;outline-offset:3px}.favorite.selected svg{fill:#fb6464;stroke:#fb6464}
.card .card-actions{grid-template-columns:minmax(0,1fr) auto;order:9;gap:8px}.card .card-actions.without-compare{grid-template-columns:1fr}.card .card-icon-action.compare-action{width:auto!important;min-width:48px;padding:0 12px!important;display:flex!important;gap:6px}.compare-action .compare-text{font-size:12px}
.card .body>*{order:0}.card .body>.lot-section{padding:0}.card .body>.lot-section>summary{min-height:48px;display:block}.card .body .budget-row,.card .body .budget-row strong{font-size:12px}.card .criterion{font-size:13px}.card .criterion strong{font-size:13px}.card .lot-feature-pill{font-size:12px}
.selection-criteria{margin:16px 0 22px;border-bottom:1px solid #e2e7eb}.selection-criteria>summary{cursor:pointer;padding:12px 0;display:flex;justify-content:space-between;font-size:14px;font-weight:600;list-style:none}.selection-criteria>summary:after{content:'⌄';color:#344960}.selection-criteria[open]>summary:after{content:'⌃'}.selection-criteria .summary{margin:0 0 16px}
dialog .close,dialog .dialog-close{background:transparent;border:0;border-radius:8px;box-shadow:none}dialog .close:focus:not(:focus-visible),dialog .dialog-close:focus:not(:focus-visible){outline:none}dialog .close:focus-visible,dialog .dialog-close:focus-visible{outline:2px solid #344960;outline-offset:2px}
.plan-inline img{display:block;width:100%;max-height:400px;object-fit:contain}.plan-download{display:inline-flex;align-items:center;min-height:44px;color:#344960;text-underline-offset:3px;font-size:13px}.adviser-link{border:1px solid #d7e1ea;background:#fff;color:#344960}.lot-plan-display{margin-top:12px}
@media(max-width:370px){.card .card-body,.card .body{padding:16px}.lot-fact{font-size:11px;padding-inline:7px}.card .card-body>h3,.card .body>h2{font-size:17px}.compare-action .compare-text{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}



.choices-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;color:var(--muted);font-size:12px}.choices-status button{font:inherit;color:var(--navy);padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}
/* 3.7.0: compact prices, visible promise, balanced mobile footer. */
.home-visual-badge{background:#263e54eF;border:1px solid #ffffff55;border-radius:18px;padding:22px 24px;font-size:clamp(20px,2vw,29px);line-height:1.35;max-width:calc(100% - 48px);box-shadow:0 8px 28px #17253633}
.home-visual-badge strong{display:block;margin-top:5px;color:#fff;font-weight:600}
.home-visual-badge>span:first-child{color:#fb6464}
.expanded-note{grid-column:1/-1;font-size:13px;color:#6c7886}
#custom-form{max-width:580px;padding:18px;margin-top:16px}
#custom-form .custom-row{display:block;background:#fff}
#custom-input{width:100%;text-align:center;font:500 26px Poppins;border:1px solid #d7e1ea;border-radius:12px;height:62px}
#budget-slider{appearance:none;display:block;width:100%;height:6px;margin:24px 0 18px;background:linear-gradient(to right,#fb6464 var(--budget-fill),#dfe5ea var(--budget-fill));border:0;border-radius:5px;cursor:pointer;touch-action:pan-y}
#budget-slider::-webkit-slider-thumb{appearance:none;width:24px;height:24px;border-radius:50%;background:#fb6464;border:3px solid white;box-shadow:0 1px 5px #34496055}
#budget-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fb6464;border:3px solid white}
.budget-caption{font-size:12px;text-align:center;color:#6c7886;margin:0 0 14px}
#custom-submit{display:block;width:100%;min-height:46px;font-size:15px}
@media(max-width:700px){.topbar,.request-header{border-bottom:0!important;box-shadow:none!important;background:#fff}.home-visual-badge{display:flex!important;left:14px;bottom:12px;max-width:calc(100% - 28px);padding:10px 13px;border-radius:12px;font-size:16px;gap:10px}.home-visual-badge strong{margin-top:2px}.home-eyebrow{font-size:10px}.selection-next-actions{grid-template-columns:minmax(0,1fr)!important;justify-items:center}.selection-next-actions button,#receive-selection{margin-inline:auto!important;width:100%!important;max-width:480px;flex:0 1 100%!important}#custom-form{padding:14px}#custom-input{font-size:24px}}

/* V3.7.0: benefit integrated in photo, compact amount with persistent unit. */
.home-visual{background-image:linear-gradient(180deg,transparent 45%,#162a3fbd 100%),url('/assets/hero-assistant-v3.6.webp')}
.home-visual-badge{display:block!important;left:28px;right:24px;bottom:28px;min-height:0;max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;background:none;color:white;font-size:clamp(17px,1.6vw,22px);font-weight:400;line-height:1.5;text-shadow:0 1px 5px #10233855}
.home-visual-badge>span{display:block;color:#fff!important}
.home-visual-badge strong{display:inline;margin:0;color:#ff8585;font-weight:600;white-space:nowrap}
#custom-form .custom-row{padding:0;border:0;background:none}
.budget-amount{display:flex;align-items:center;justify-content:center;gap:8px;min-height:62px;padding:0 12px;background:#fff;border:1px solid #d7e1ea;border-radius:12px}
.budget-amount:focus-within{outline:2px solid #344960;outline-offset:2px}
#custom-input{max-width:calc(100% - 32px);min-width:0;border:0;outline:0;box-shadow:none;padding-inline:0;text-align:right;background:none;border-radius:0}
#budget-currency{flex:none;color:var(--navy);font-size:26px;font-weight:500}
@media(max-width:700px){.home-visual-badge{left:18px;right:16px;bottom:16px;font-size:16px;line-height:1.45}.home-visual-badge strong{margin:0}#budget-currency{font-size:24px}}
/* V3.7 editor: no keyboard for city selection; compact accessible controls. */
.city-picker{background:#fff;border:1px solid #d5dce3;border-radius:10px}.city-picker>summary{min-height:48px;cursor:pointer;padding:11px 34px 11px 12px;list-style:none;position:relative;line-height:1.5;font-size:16px}.city-picker>summary:after{content:'⌄';position:absolute;right:12px;top:12px}.city-picker[open]>summary:after{content:'⌃'}.city-options{max-height:240px;overflow:auto;overscroll-behavior:contain}.city-options:empty{display:none}.city-options label{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:0;min-height:44px;font-size:14px;cursor:pointer}.city-options label:has(input:checked){background:#f0f4f7}.city-picker p{margin:0;padding:0 12px;font-size:12px}.city-picker p:not(:empty){padding-block:8px}.city-picker button{background:#fff;border:1px solid #d5dce3;border-radius:6px;padding:6px;font:inherit}
#project-dialog .project-budget{grid-template-columns:1fr;gap:8px}#project-dialog .budget-amount{min-height:58px}#project-budget{height:54px;text-align:center;font-size:23px;border:0;padding:4px;width:min(100%,13ch)}#project-budget:focus{outline:none}.project-budget>label{padding:10px 12px;font-size:13px}.project-budget .budget-amount>span{font-size:22px;color:#344960}
#project-budget-slider{appearance:none;display:block;width:100%;height:6px;min-height:6px;padding:0;margin:16px 0;border:0;border-radius:5px;background:linear-gradient(to right,#fb6464 var(--budget-fill),#dfe5ea var(--budget-fill));touch-action:pan-y;cursor:pointer}#project-budget-slider::-webkit-slider-thumb{appearance:none;width:24px;height:24px;background:#fb6464;border:3px solid white;border-radius:50%;box-shadow:0 1px 5px #34496055}#project-budget-slider::-moz-range-thumb{width:20px;height:20px;background:#fb6464;border:3px solid white;border-radius:50%}
.delivery-group{grid-column:1/-1}.delivery-options{display:flex;flex-wrap:wrap;gap:8px}.delivery-options>label{display:flex;align-items:center;gap:10px;flex:1 1 200px;min-height:58px;margin:0;padding:10px 12px;border:1px solid #d5dce3;border-radius:10px;background:#fff;cursor:pointer;font-size:14px}.delivery-options>label:has(input:checked){border-color:#344960;background:#f0f4f7}.delivery-options input{width:18px;height:18px;flex:0 0 18px;accent-color:#344960;padding:0}.delivery-options small{display:block;font-size:12px;color:#6c7886}
.home-visual{background-image:linear-gradient(180deg,transparent 25%,#162a3feb 100%),url('/assets/hero-assistant-v3.6.webp')}.home-visual-badge{font-weight:500;text-shadow:0 1px 4px #10233899}.home-visual-badge strong{color:#ff9b9b}.home-idea{min-height:76px;padding-block:13px}
@media(max-width:700px){.home-idea{min-height:62px;padding-block:10px}.home-ideas{gap:8px}.welcome .intro{margin-bottom:12px}.welcome .home-question{margin-bottom:8px}.welcome .privacy{margin-top:8px}.home-visual-badge{font-size:17px;line-height:1.4}.delivery-options{display:grid;grid-template-columns:1fr}.delivery-options>label{min-height:58px}.project-group-grid{grid-template-columns:1fr}.lot-dialog .lot-plan-display,.lot-dialog .lot-plan-display .lot-plan{max-height:50dvh}}
@media(max-width:700px) and (max-height:740px){.home-visual{min-height:115px;height:clamp(110px,22dvh,150px)}.home-stage{grid-template-rows:clamp(110px,20dvh,145px) auto}.welcome{padding-top:12px!important;padding-bottom:10px!important}.welcome h1{font-size:1.7rem!important;margin-bottom:8px!important}.home-intro{font-size:13px!important}.home-idea{min-height:60px;padding-block:8px}}

/* V3.7.18: modest mobile readability improvements, desktop home unchanged. */
.question-hint{margin:-6px 0 18px;color:var(--muted);font-size:.9375rem;line-height:1.5}
.results-head .results-intro{max-width:760px;font-size:.875rem;line-height:1.6;margin-top:10px}
@media(max-width:700px){
 .home .welcome{padding-top:26px!important}
 .home .home-eyebrow{font-size:.75rem;margin-bottom:8px}
 .home .intro{font-size:.875rem;line-height:1.5}
 .home .home-question{font-size:.875rem}
 .home .home-idea strong{font-size:.875rem}
 .home .home-idea small{font-size:.75rem;line-height:1.4}
 .home .privacy{font-size:.6875rem;line-height:1.45}
 .question-hint{font-size:.875rem;margin-top:-4px}
}
@media(max-width:700px) and (max-height:740px){.home .welcome{padding-top:20px!important}.home .home-visual{height:100%;min-height:0}}

/* V3.7.23: progress alongside the question; recording indication only while active. */
.criterion-progress{display:flex;flex-direction:column-reverse;align-items:stretch;gap:9px;max-width:360px;margin:0 0 23px;color:#344960;font-size:12px;font-weight:500}
.criterion-progress .progress-track{flex:none;width:100%;height:4px}
@keyframes smile-recording-halo{0%,100%{box-shadow:0 0 0 3px #fb64641a}50%{box-shadow:0 0 0 9px #fb646440}}
.mic.recording,.voice-entry.recording{animation:smile-recording-halo 1.35s ease-in-out infinite!important;color:#344960!important;background:#ffe7e7!important;border-color:#FB6464!important}
@media(prefers-reduced-motion:reduce){.mic.recording,.voice-entry.recording{animation:none!important;outline:2px solid #FB6464}}
/* Informational notices remain visible, including with an open mobile keyboard. */
#voice-status:not(:empty)::before,#hero-voice-status:not(:empty)::before,.status:not(:empty)::before,.resume-notice::before{content:"i";display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;min-width:17px;margin-right:7px;border:1.5px solid currentColor;border-radius:50%;font:600 12px/1 Poppins,sans-serif;vertical-align:middle}
.resume-notice{margin:10px 20px;padding:12px 14px;border-radius:12px;background:#f0f4f7;color:#344960;font-size:13px;line-height:1.5}
.voice-recorder{display:flex;align-items:center;gap:16px;padding:16px;border-radius:18px;background:#f5f5f7;color:#344960;width:100%;box-sizing:border-box;margin:10px 0}
.voice-recorder[hidden]{display:none}
.voice-recorder time{font-size:21px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:1px}
.voice-wave{display:flex;align-items:center;justify-content:center;gap:3px;height:32px;flex:1}
.voice-wave i{display:block;width:3px;height:10px;background:#FB6464;border-radius:4px;animation:voice-wave .8s ease-in-out infinite alternate}
.voice-wave i:nth-child(3n){height:27px;animation-delay:-.5s}.voice-wave i:nth-child(3n+1){height:16px;animation-delay:-.2s}
.voice-stop{flex:0 0 50px;width:50px;height:50px;border:2px solid #FB6464!important;border-radius:50%;background:white!important;display:grid;place-items:center;padding:0!important}
.voice-stop::after{content:"";display:block;width:20px;height:20px;background:#FB6464;border-radius:4px}
@keyframes voice-wave{to{transform:scaleY(.35)}}
#compatibility-dialog{background:white;animation:none;opacity:1;width:min(560px,calc(100vw - 24px));max-height:calc(var(--app-height,100dvh) - 24px);padding:24px;border-radius:22px;overflow:auto;color:#344960}
.compatibility-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0 12px;font-size:13px}
#compatibility-score{background:#fff0f0;border-radius:20px;padding:8px 12px;font-weight:600}
.compatibility-track{height:5px;background:#e7ecf0;border-radius:10px;overflow:hidden}
#compatibility-fill{height:100%;background:#FB6464;transition:width .2s}
#compatibility-lot{font-size:12px;color:#647588;margin:14px 0}
#compatibility-body{display:flex;flex-direction:column;gap:18px}
#compatibility-body h2{font:600 clamp(21px,5vw,28px)/1.3 Poppins,sans-serif;margin:0;outline:none}
#compatibility-body p{margin:0;line-height:1.6}
.compatibility-detail{background:#f3f6f8;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:7px;line-height:1.55}
.compatibility-detail small{font-size:12px;color:#647588}
.compatibility-detail strong{font-size:17px}
.compatibility-answers{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.compatibility-answers button{min-height:62px;font-size:19px}
.compatibility-answers button[aria-pressed=true]{outline:3px solid #344960;outline-offset:2px}
.compatibility-note{font-size:12px;color:#647588}
.compatibility-celebration{color:#FB6464;text-align:center;font-size:58px;animation:celebrate-in .5s ease-out}
.compatibility-card-cta{width:100%;display:flex;flex-direction:column;gap:5px;align-items:flex-start;text-align:left;border:1px solid #dce3e9;border-radius:12px;padding:14px;background:#f6f8fa;color:#344960;margin-top:15px}
.compatibility-card-cta span{font-size:12px;font-weight:400}
@keyframes celebrate-in{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@media(max-width:600px){#compatibility-dialog{inset:0;transform:none;background:white;animation:none;opacity:1;width:100%;height:var(--app-height,100dvh);max-height:var(--app-height,100dvh);max-width:100%;margin:0;border-radius:0;padding:24px 18px max(24px,env(safe-area-inset-bottom));box-sizing:border-box}.compatibility-top{margin-top:32px}.voice-recorder{padding:12px}}
@media(prefers-reduced-motion:reduce){.voice-wave i,.compatibility-celebration{animation:none}}
.compatibility-badge{background:#fff0f0;border-color:#f4c3c3;color:#344960}
.compatibility-badge.perfect-match{background:linear-gradient(110deg,#fff0f0,#fff8ef);border:1.5px solid #FB6464}
.compatibility-badge strong{font-size:16px}.compatibility-badge.perfect-match strong::before{content:'✦ ';color:#d94e50}
#compatibility-lot.compatibility-lot-result{font:600 clamp(20px,5vw,28px)/1.3 Poppins,sans-serif;color:#344960;margin:20px 0}
.compatibility-panorama{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory;border-radius:14px;min-width:0}
.compatibility-panorama img{display:block;flex:0 0 100%;width:100%;aspect-ratio:16/9;object-fit:cover;scroll-snap-align:center}
.compatibility-map{text-align:center;display:block;text-decoration:none;min-height:48px}

#compatibility-dialog .close{position:absolute;right:12px;top:12px;border:0;border-radius:50%;background:#f3f6f8;color:#344960;font-size:24px}#compatibility-body .primary,#compatibility-body .secondary{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px;border-radius:10px;font:600 14px/1.4 Poppins,sans-serif;text-decoration:none;cursor:pointer}#compatibility-body .primary{background:#fb6464;color:white;border:1px solid #fb6464}#compatibility-body .secondary{background:white;color:#344960;border:1px solid #dce3e9}#compatibility-body .text-link{background:none;border:0;color:#344960;text-decoration:underline;min-height:44px;cursor:pointer;font:400 13px Poppins,sans-serif}

/* Keep the close control in normal flow, above the score at every text size. */
#compatibility-dialog .close{position:static;display:flex;align-items:center;justify-content:center;margin:0 0 12px auto;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;float:none;line-height:1;box-sizing:border-box}
#compatibility-dialog .compatibility-top{display:flex;flex-wrap:wrap;gap:8px 12px;margin:0 0 12px;clear:both}
#compatibility-step,#compatibility-score{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}

/* V3.7.29: shared Déclic CTA, then a compact positive assessment. */
.card.lot-card-a .compatibility-card-cta{display:flex;flex-direction:row;align-items:center;gap:12px;background:#fff;border:1px solid #dce3e9;padding:11px 12px;text-align:left}
.card.lot-card-a .compatibility-card-cta .compatibility-checklist{display:block;flex:0 0 30px;width:30px;height:38px;color:#344960}
.compatibility-checklist svg{display:block;width:100%;height:100%}.compatibility-checklist .check{stroke:#fb6464;stroke-dasharray:12;animation:smile-check-in .45s ease-out both}.compatibility-checklist .check-2{animation-delay:.18s}.compatibility-checklist .check-3{animation-delay:.36s}
@keyframes smile-check-in{from{stroke-dashoffset:12;opacity:0}to{stroke-dashoffset:0;opacity:1}}
.card.lot-card-a .compatibility-card-cta .compatibility-cta-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.card.lot-card-a .compatibility-cta-copy strong{font:600 12px/1.4 Poppins,sans-serif}.card.lot-card-a .compatibility-cta-copy>span{font:400 11px/1.4 Poppins,sans-serif}
.card.lot-card-a .compatibility-badge.perfect-match{background:#edf7ef;border-color:#b8dcc2;color:#205b3d}.card.lot-card-a .perfect-match strong::before{content:none}.card.lot-card-a .perfect-match .check{stroke:#247a51;animation:none}
#compatibility-dialog.showing-result .compatibility-top,#compatibility-dialog.showing-result .compatibility-track{display:none}
#compatibility-dialog.showing-result #compatibility-lot{font:600 20px/1.3 Poppins,sans-serif;margin:0 0 12px}
#compatibility-body{gap:12px}.compatibility-panorama{display:block;width:100%;overflow:hidden;border-radius:12px;max-height:150px}
.compatibility-panorama img{display:block;width:100%;height:auto;aspect-ratio:3.2;max-height:150px;object-fit:cover}
#compatibility-body .compatibility-result{display:flex;flex-direction:column;gap:10px;border:1px solid #dce3e9;border-radius:14px;padding:16px;font:400 13px/1.5 Poppins,sans-serif}
#compatibility-body .compatibility-result.positive{background:#edf7ef;border-color:#b8dcc2;color:#205b3d}
.compatibility-result-head{display:flex;align-items:center;gap:12px}.compatibility-result-head>div:last-child{min-width:0;flex:1}
.compatibility-result-score{flex:0 0 64px;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#edf7ef 58%,transparent 60%),conic-gradient(#247a51 var(--score),#d5e7da 0);font:700 19px Poppins,sans-serif}
#compatibility-body .compatibility-result h2{font:600 20px/1.3 Poppins,sans-serif;margin:0 0 5px}
#compatibility-body .compatibility-result p,#compatibility-body .compatibility-result li{font:400 13px/1.5 Poppins,sans-serif;margin:0}
#compatibility-body .compatibility-result .compatibility-note{font:400 11px/1.45 Poppins,sans-serif;color:#647588}
#compatibility-body .compatibility-result .compatibility-points-label{font-weight:600}
#compatibility-body .compatibility-points{margin:0;padding-left:18px}
#compatibility-body .compatibility-result .compatibility-option{background:#247a51;border-color:#247a51;color:#fff;min-height:46px}
#compatibility-body .compatibility-result .text-link{padding:4px;min-height:36px;font:400 12px/1.4 Poppins,sans-serif;text-align:center}
@media(max-width:360px){.compatibility-result-head{gap:9px}.compatibility-result-score{width:52px;height:52px;flex-basis:52px;font-size:16px}#compatibility-body .compatibility-result{padding:12px}#compatibility-body .compatibility-result h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.compatibility-checklist .check{animation:none!important}}

#compatibility-body .compatibility-option{gap:8px}#compatibility-body .compatibility-option svg{width:20px;height:20px;flex:0 0 20px}

.card.lot-card-a{height:auto;align-self:start;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #e2e7eb;color:#344960;font:400 13px/1.4 Poppins,sans-serif}
.lot-card-a .card-visual,.lot-card-a .visual{aspect-ratio:2.7;min-height:0;height:auto;position:relative;background:#edf1f4;overflow:hidden}
.lot-card-a .card-visual>img,.lot-card-a .visual>img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.lot-card-a .card-body,.lot-card-a .body{display:flex;flex-direction:column;height:auto;gap:0;padding:14px}
.lot-card-a .card-body>*,.lot-card-a .body>*{order:initial!important}
.lot-card-a .card-programme{font-size:11px;color:#6c7886;margin:0;line-height:1.4}
.lot-card-a h3{font:600 17px/1.35 Poppins,sans-serif;margin:4px 0!important;letter-spacing:0}
.lot-card-a .card-city{font-size:12px!important;line-height:1.4;margin:0!important;color:#6c7886}
.lot-card-a .smile-price{margin:9px 0 0!important}.lot-card-a .smile-price-amount{font-size:26px!important}.lot-card-a .smile-price-details{font-size:11px;margin-top:3px}
.lot-card-a .lot-offer{font-size:12px;line-height:1.4;background:#fff1ef;border-radius:7px;padding:6px 8px;margin:7px 0 0}.lot-offer a{color:inherit;text-decoration:underline;font-size:11px}
.lot-card-a .lot-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;list-style:none;padding:0;margin:10px 0;font-size:12px}.lot-facts li{min-width:0;overflow-wrap:anywhere;padding-left:9px;border-left:2px solid #fb6464}
.lot-card-a .lot-section{margin:0;padding:0;border-top:1px solid #e2e7eb}.lot-card-a .lot-section>summary{display:block;min-height:44px;padding:12px 0;font-size:12px;line-height:20px;cursor:pointer}.lot-details-content{font-size:12px;padding-bottom:12px}.lot-details-content h4{margin:10px 0 4px}.lot-details-content ul{padding-left:18px}.lot-details-content .budget-row{display:flex;justify-content:space-between;gap:10px;font-size:12px}.lot-details-content p{margin:5px 0}
.lot-card-a .card-actions,.lot-card-a .actions{display:flex;flex-direction:column;gap:7px;padding:0;margin:0}.lot-card-a .primary{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;padding:10px;border:0;border-radius:9px;background:#fb6464;color:#fff!important;text-decoration:none;font:600 13px/1.4 Poppins,sans-serif}
.lot-card-a .compatibility-card-cta{display:flex;flex-direction:column;width:100%;min-height:54px;padding:9px 10px;margin:0;gap:3px;border:1px solid #dce3e9;border-radius:9px;background:#f5f7f9;text-align:left;color:#344960;cursor:pointer;font-family:Poppins,sans-serif}.lot-card-a .compatibility-card-cta strong{font-size:12px;line-height:1.4}.lot-card-a .compatibility-card-cta span{font-size:10px;line-height:1.4;font-weight:400}.lot-card-a .compatibility-badge{background:#fff0f0;border-color:#fb6464}
.lot-card-a .lot-utilities{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;margin-top:4px}.lot-utilities>.compare-action,.lot-utilities>.compare-button{position:relative;display:flex!important;gap:6px;width:auto!important;min-height:44px!important;padding:8px!important;font-size:12px;border:0;background:transparent;color:#344960}.lot-utilities .compare-text,.lot-utilities .compare-button span{position:static;clip:auto;width:auto;height:auto;font-size:12px}.lot-utilities .lot-more{flex:1;text-align:right}.lot-more>summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:12px}.lot-more a,.lot-more button{display:block;min-height:44px;padding:12px 0;color:#344960;background:none;border:0;font:400 12px Poppins,sans-serif;text-align:right;text-decoration:underline}
.lot-card-a .plan-preview,.lot-card-a .plan-button{min-height:44px;bottom:8px;right:8px;padding:8px;font-size:11px}.lot-card-a .card-role,.lot-card-a .visual>b{font-size:10px;top:8px;left:8px;padding:5px 8px}.lot-card-a .favorite{top:8px!important;right:8px!important}
@media(max-width:360px){.lot-card-a .card-body,.lot-card-a .body{padding:12px}.lot-card-a h3{font-size:16px}.lot-card-a .card-visual,.lot-card-a .visual{aspect-ratio:3}}
/* Reference A: compact information tiles and a balanced utility footer. */
.lot-card-a .lot-price-row{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px}.lot-card-a .lot-price-parking{font:400 11px/1.35 Poppins,sans-serif;color:#6c7886;text-align:right;overflow-wrap:normal;min-width:0}.lot-card-a .lot-vat{display:block;text-align:left;margin:4px 0 0;padding:0;color:#6c7886;font:400 11px/1.4 Poppins,sans-serif}.lot-card-a .lot-vat:before{content:none}
.lot-card-a .lot-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:10px 0}.lot-card-a .lot-facts>.lot-mini-card{display:flex;align-items:center;gap:9px;padding:6px 7px;min-height:44px;border:0;border-top:1px solid #e5eaf0;position:relative}.lot-card-a .lot-mini-card:nth-child(even){padding-left:12px}.lot-card-a .lot-mini-card:nth-child(even):before{content:'';position:absolute;left:0;top:8px;bottom:8px;border-left:1px solid #e5eaf0}.lot-line-icon{display:block;width:22px;height:22px;flex:0 0 22px;color:#344960}.lot-mini-copy{display:block;min-width:0;font:400 12px/1.4 Poppins,sans-serif;overflow-wrap:anywhere}.lot-mini-copy strong{font-weight:600}.lot-mini-copy small{display:block;color:#6c7886;font:400 12px/1.4 Poppins,sans-serif}.lot-card-a .lot-exterior-item{display:block;white-space:normal;font-size:12px}.lot-card-a .lot-exterior-area{font:inherit;color:inherit;white-space:nowrap}.lot-card-a .lot-orientation-line{display:block}.lot-card-a .lot-equipment-title,.lot-card-a .lot-equipment-list{text-align:left}.lot-card-a .lot-details-content>h4,.lot-card-a .lot-details-content>h4.lot-equipment-title{margin-left:0!important;padding-left:0!important;text-indent:0!important;text-align:left}.lot-card-a .lot-key-points li{font-weight:400}.lot-card-a .lot-key-points li strong{font-weight:600}.lot-exterior-item+.lot-exterior-item{margin-top:4px}
.lot-card-a .lot-details{border:1px solid #dce3e9;border-radius:9px;padding:0;margin:0 0 8px;overflow:hidden}.card.lot-card-a .lot-details>summary{display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 10px;font:600 12px/1.4 Poppins,sans-serif;list-style:none}.card.lot-card-a .lot-details>summary:after,.lot-card-a .lot-more>summary:after{content:none!important;display:none!important}.lot-card-a summary::-webkit-details-marker{display:none}.lot-card-a summary::marker{content:''}.lot-details>summary>span{flex:1}.lot-details>summary>.lot-line-icon:last-child{width:16px;height:16px;flex-basis:16px;transition:transform .15s}.lot-details[open]>summary>.lot-line-icon:last-child{transform:rotate(180deg)}.lot-card-a .lot-details-content{padding:0 12px 12px}
.lot-card-a .lot-utilities{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #e2e7eb;margin-top:9px;padding-top:3px;align-items:start}.lot-card-a .lot-utilities>.compare-action,.lot-card-a .lot-utilities>.compare-button{width:100%!important;height:44px!important;min-height:44px!important;justify-content:center!important;align-items:center!important;gap:7px!important;padding:8px 4px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#344960!important;box-shadow:none!important;font:400 12px Poppins,sans-serif;position:relative}.lot-card-a .lot-utilities>.compare-action.selected,.lot-card-a .lot-utilities>.compare-action:has(input:checked),.lot-card-a .lot-utilities>.compare-button[aria-pressed=true]{background:#eef3f7!important;color:#344960!important;border-radius:7px!important}.lot-card-a .lot-utilities .lot-more{margin:0;text-align:left;position:relative;min-width:0}.lot-utilities .lot-more:before{content:'';position:absolute;left:0;top:8px;height:28px;border-left:1px solid #dce3e9}.lot-utilities .lot-more:only-child{grid-column:1/-1}.lot-utilities .lot-more:only-child:before{display:none}.lot-card-a .lot-more>summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;list-style:none;padding:8px 4px;font:400 12px Poppins,sans-serif}.lot-card-a .lot-more>summary .lot-line-icon{width:21px;flex-basis:21px}.lot-card-a .lot-more a,.lot-card-a .lot-more button{text-align:left;padding:10px;width:100%;min-height:44px}.lot-card-a .lot-more[open]>summary{background:#f5f7f9;border-radius:7px}.lot-card-a .lot-utilities .compare-button span,.lot-card-a .lot-utilities .compare-text{position:static!important;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important}
@media(max-width:360px){.lot-card-a .lot-facts{grid-template-columns:1.2fr 1fr}.lot-card-a .lot-exterior-item{font-size:11px}.lot-card-a .smile-price-amount{font-size:23px!important}.lot-card-a .lot-price-row{gap:7px}.lot-card-a .lot-facts>.lot-mini-card{gap:6px;padding-inline:4px}.lot-card-a .lot-mini-card:nth-child(even){padding-left:9px}.lot-card-a .lot-line-icon{width:20px;height:20px;flex-basis:20px}.lot-card-a .lot-mini-copy,.lot-card-a .lot-mini-copy small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.lot-details>summary>.lot-line-icon:last-child{transition:none}}

@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url('/assets/Poppins-700.woff?v=3.7.29') format('woff')}
.lot-card-a .lot-price-row{display:flex;align-items:baseline;justify-content:flex-start;flex-wrap:wrap;gap:2px 7px}
.lot-card-a .smile-price-amount{font-family:Poppins,sans-serif!important;font-weight:700!important;color:#344960!important;margin:0;white-space:nowrap}
.lot-card-a .lot-price-row .lot-vat{display:inline;margin:0;font:400 11px/1.4 Poppins,sans-serif;white-space:nowrap}
.lot-card-a .lot-price-parking,.lot-card-a .lot-vat-eligibility{display:block;text-align:left;margin:3px 0 0;font:400 11px/1.4 Poppins,sans-serif;color:#6c7886}
.lot-card-a .lot-key-points li{font-weight:400;font-size:12px;text-align:left}.lot-card-a .lot-key-points li strong{font-weight:600}
.lot-card-a .lot-utilities>.lot-callback{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;width:100%;margin:0;padding:8px 4px;background:transparent;border:0;border-radius:0;color:#344960;text-decoration:none;font:400 12px/1.4 Poppins,sans-serif;position:relative;cursor:pointer}
.lot-card-a .lot-callback:before{content:'';position:absolute;left:0;top:8px;bottom:8px;border-left:1px solid #dce3e9}
.lot-card-a .lot-callback:only-child{grid-column:1/-1}.lot-card-a .lot-callback:only-child:before{display:none}
.lot-card-a .lot-resource-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px}.lot-card-a .lot-resource-links a{font-size:12px;color:#344960}

/* V3.7.29: shared Déclic CTA, then a compact positive assessment. */
.card.lot-card-a .compatibility-card-cta{display:flex;flex-direction:row;align-items:center;gap:12px;background:#fff;border:1px solid #dce3e9;padding:11px 12px;text-align:left}
.card.lot-card-a .compatibility-card-cta .compatibility-checklist{display:block;flex:0 0 30px;width:30px;height:38px;color:#344960}
.compatibility-checklist svg{display:block;width:100%;height:100%}.compatibility-checklist .check{stroke:#fb6464;stroke-dasharray:12;animation:smile-check-in .45s ease-out both}.compatibility-checklist .check-2{animation-delay:.18s}.compatibility-checklist .check-3{animation-delay:.36s}
@keyframes smile-check-in{from{stroke-dashoffset:12;opacity:0}to{stroke-dashoffset:0;opacity:1}}
.card.lot-card-a .compatibility-card-cta .compatibility-cta-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.card.lot-card-a .compatibility-cta-copy strong{font:600 12px/1.4 Poppins,sans-serif}.card.lot-card-a .compatibility-cta-copy>span{font:400 11px/1.4 Poppins,sans-serif}
.card.lot-card-a .compatibility-badge.perfect-match{background:#edf7ef;border-color:#b8dcc2;color:#205b3d}.card.lot-card-a .perfect-match strong::before{content:none}.card.lot-card-a .perfect-match .check{stroke:#247a51;animation:none}

#lot-gallery{width:min(900px,calc(100% - 24px));padding:18px;border:0;border-radius:16px;color:#344960;background:#fff}#lot-gallery .gallery-images{display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:12px}#lot-gallery img{width:100%;flex:0 0 100%;object-fit:contain;max-height:70dvh;scroll-snap-align:start}#lot-gallery button{min-width:44px;min-height:44px;float:right;border:0;background:#f5f7f9;color:#344960;font-size:22px}

