:root{--ink:#203f40;--muted:#687777;--navy:#244b4b;--blue:#a14d31;--mint:#e4eee8;--cream:#f3eee5;--line:#d9ddd8;--terracotta:#c76642;--stone:#d9cfbf;--paper:#fbfaf6;--shadow:0 22px 70px rgba(32,63,64,.12)}
body{background-color:var(--paper);background-image:linear-gradient(rgba(49,79,82,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(49,79,82,.025) 1px,transparent 1px);background-size:28px 28px}
.topbar,.app-head{background:rgba(251,250,246,.94)}
.brand{gap:12px}.brand-logo{display:block;width:43px;height:43px;flex:0 0 43px}.brand-name{display:grid;gap:1px;line-height:1}.brand-name b{font:800 15px/1.05 Manrope,sans-serif;letter-spacing:-.025em}.brand-name small{color:var(--terracotta);font:800 12px/1 Manrope,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.hero{background:radial-gradient(circle at 84% 7%,#e6ded0 0,transparent 34%),linear-gradient(135deg,#fbfaf6,#f3eee5)}
.hero:before{content:'';position:absolute;left:clamp(24px,7vw,110px);top:112px;width:74px;height:5px;background:var(--terracotta)}
.hero{position:relative}
.hero h1{max-width:780px}
.primary{background:var(--ink);border-radius:6px}.primary:hover{background:#39595c}.secondary{border-radius:6px;background:var(--paper)}
.hero-card{border-radius:8px;border:1px solid #d8d2c7;transform:rotate(.35deg);padding:24px;background:#fffefa}
.house-illustration{position:relative;margin:-8px -8px 24px;padding:10px 12px 4px;background:#f5f1e8;border:1px solid #ddd5c8;overflow:hidden}
.house-illustration:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(154,78,52,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(154,78,52,.06) 1px,transparent 1px);background-size:18px 18px}
.house-illustration svg{position:relative;width:100%;height:auto}.house-illustration .ground,.house-illustration .house-line,.house-illustration .extension,.house-illustration .measure,.house-illustration circle,.house-illustration .sun-ray{fill:none;stroke:#314f52;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.house-illustration .house-fill{fill:#e6d8c7;stroke:none}.house-illustration .extension{fill:#eee7dc}.house-illustration .measure{stroke:#b76343;stroke-width:1.5}.house-illustration text{font:600 10px 'DM Sans';fill:#9a4e34}.plan-label{position:absolute;top:12px;left:14px;padding:6px 9px;background:#fffefa;border-left:3px solid var(--terracotta);font-size:11px;font-weight:700;color:var(--ink)}
.mini-progress span{background:var(--terracotta)}.mini-row.done i{color:#4d7866}.mini-row.done b{background:#e4eee8}
.section{position:relative}.section h2:after{content:'';display:block;width:52px;height:3px;background:var(--terracotta);margin-top:17px}
.steps article,.price-grid article{border-radius:6px;border-color:#d9d3c9;box-shadow:0 8px 26px rgba(38,59,61,.04)}
.steps article span{color:var(--terracotta);font-family:Manrope,sans-serif}.prices{background:#eee8de}.price-grid .featured{border-color:var(--terracotta)}.tag{background:#e8d7cb;color:#743d2b}
.progress span{background:var(--terracotta)}
.choice-grid button{border-radius:6px;background:#fffefa;border-color:#d8d2c7}.choice-grid button span{border-radius:4px;background:#eee8de;color:var(--terracotta);font-family:Manrope,sans-serif}.choice-grid button:hover,.choice-grid button.selected{border-color:var(--terracotta);box-shadow:0 0 0 2px rgba(183,99,67,.13)}.choice-grid button.selected{background:#fbf3ee}.choice-grid button.selected:after{background:var(--terracotta)}
input,select,.radio-row label,.summary,.notice{border-radius:6px}.selection-count{color:#87442e}.success-icon{background:#e4eee8;color:#476e5e}
@media(max-width:800px){.hero:before{top:86px}.house-illustration{margin-top:0}.hero-card{padding:16px}.brand-logo{width:39px;height:39px;flex-basis:39px}.brand-name b{font-size:13px}.brand-name small{font-size:10px}}

/* Pictogrammes métiers — dessin au trait cohérent avec l'identité architecturale */
.choice-grid button .work-icon{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;border-radius:10px;background:#f1ebe2;color:var(--terracotta);box-shadow:inset 0 0 0 1px rgba(183,99,67,.08);transition:transform .2s ease,background-color .2s ease,color .2s ease}
.choice-grid button .work-icon svg{width:38px;height:38px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.choice-grid button:hover .work-icon{transform:translateY(-2px);background:#eadcd1}
.choice-grid button.selected .work-icon{background:var(--terracotta);color:#fff;box-shadow:none}
@media(max-width:560px){.choice-grid button .work-icon{width:52px;height:52px;flex-basis:52px}.choice-grid button .work-icon svg{width:34px;height:34px}}

.technical-sections{display:grid;gap:18px}.technical-card{padding:24px;border:1px solid #d9d3c9;border-radius:8px;background:#fffefa}.technical-card h2{margin:0;font-size:21px}.technical-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.technical-head>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--terracotta);color:#fff;font-weight:800}.technical-card .fields{margin:0}.fields textarea{width:100%;resize:vertical;min-height:120px}.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.upload-card{display:flex;min-height:190px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;border:1.5px dashed #c8bdb0;border-radius:8px;background:#fffefa;text-align:center;cursor:pointer;transition:.2s}.upload-card:hover{border-color:var(--terracotta);background:#fbf3ee}.upload-card input{position:absolute;width:1px;height:1px;opacity:0}.upload-card small{color:var(--muted);line-height:1.45}.upload-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eee8de;color:var(--terracotta);font-size:26px}.file-summary{margin-top:16px;padding:16px 18px;border-left:3px solid var(--terracotta);background:#f3eee5}.file-summary p{margin:5px 0 0;color:var(--muted)}.completion{text-align:center;padding:40px 0}.completion .primary{margin-top:20px}@media(max-width:700px){.upload-grid{grid-template-columns:1fr}.technical-card{padding:18px}}
.tech-document-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 18px;align-items:center;margin:0 0 22px;padding:17px 18px;border:1.5px dashed #c8bdb0;border-radius:8px;background:#f8f4ed;transition:.2s}.tech-document-copy{display:grid;gap:4px}.tech-document-copy small{color:var(--muted);line-height:1.4}.tech-upload-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border-radius:6px;background:var(--navy);color:#fff;font-weight:800;cursor:pointer;white-space:nowrap}.tech-upload-button:hover{background:#263f51}.tech-upload-button input{position:absolute;width:1px;height:1px;opacity:0}.tech-document-upload>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px}.tech-document-upload.has-file{border-style:solid;border-color:#7aa08f;background:#f1f7f3}.tech-document-upload.has-file>p{color:#476e5e;font-weight:700}@media(max-width:650px){.tech-document-upload{grid-template-columns:1fr}.tech-upload-button{width:100%}}
.document-selection{margin:-6px 0 24px;padding:18px;border:1px solid #d9d3c9;border-radius:8px;background:#fff}.document-selection[hidden]{display:none}.document-selection-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}.document-selection-head>span{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:#e4eee8;color:#476e5e;font-weight:800}.document-selection-head div{display:grid;gap:3px}.document-selection-head small,.selection-help{color:var(--muted);line-height:1.4}.document-items{display:grid;gap:8px}.document-items>label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid #e1ddd5;border-radius:6px;background:#fffefa;cursor:pointer}.document-items input[type=checkbox]{width:18px;height:18px;accent-color:var(--terracotta)}.document-items span{display:grid;gap:2px}.document-items span small{color:var(--muted)}.document-items em{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-style:normal}.document-items em input{width:62px;padding:8px}.document-other{display:grid;gap:7px;margin-top:12px;font-weight:700}.selection-help{margin:12px 0 0;font-size:12px}.document-selection+.fields{padding-top:2px}@media(max-width:650px){.document-items>label{grid-template-columns:auto 1fr}.document-items em{grid-column:2}.document-items em input{width:70px}}
.account-button{padding:10px 14px!important;border:1px solid #d8d2c7!important;border-radius:6px!important;background:#fffefa!important}.app-head-actions{display:flex;align-items:center;gap:14px}.save-exit{padding:10px 14px;border:1px solid #d8d2c7;border-radius:6px;background:#fffefa;color:var(--ink);font:700 13px 'DM Sans';cursor:pointer}.save-exit:hover,.account-button:hover{border-color:var(--terracotta)!important;color:var(--terracotta)}@media(max-width:560px){.save-exit{font-size:0}.save-exit:after{content:'Enregistrer';font-size:12px}.app-head-actions{gap:6px}}
.address-rule-note{display:flex;gap:12px;align-items:flex-start;margin:-3px 0 5px;padding:13px 15px;border-left:3px solid var(--terracotta);border-radius:0 6px 6px 0;background:#f3eee5}.address-rule-note>span{color:var(--terracotta);font-size:22px;line-height:1}.address-rule-note p{display:grid;gap:3px;margin:0;color:var(--muted);font-size:13px;line-height:1.45}.address-rule-note b{color:var(--ink)}
.address-check-button{justify-self:start;margin-top:-4px;padding:11px 15px;border-color:#c8bdb0;color:var(--terracotta);font-weight:800}.address-check-button:disabled{opacity:.65;cursor:wait}.property-preview{overflow:hidden;margin-top:5px;border:1px solid #d9d3c9;border-radius:8px;background:#fffefa}.property-preview-head{padding:20px 20px 15px}.property-preview-head .eyebrow{margin:0 0 4px;color:var(--terracotta)}.property-preview-head h2{margin:0 0 6px;font-size:22px}.property-preview-head>p:last-child{margin:0;color:var(--muted)}.aerial-map{position:relative;width:100%;height:330px;overflow:hidden;background:#e5e1d8}.aerial-map-stage{position:absolute;left:50%;top:50%;width:768px;height:768px;transform:translate(calc(-1 * var(--marker-x)),calc(-1 * var(--marker-y)))}.aerial-map img{position:absolute;width:256px;height:256px;max-width:none}.aerial-map .property-marker{position:absolute;z-index:2;left:var(--marker-x);top:var(--marker-y);width:24px;height:24px;border:4px solid #fff;border-radius:50% 50% 50% 0;background:var(--terracotta);box-shadow:0 3px 12px rgba(0,0,0,.35);transform:translate(-50%,-100%) rotate(-45deg)}.aerial-map small{position:absolute;z-index:3;right:8px;bottom:8px;padding:5px 7px;border-radius:4px;background:rgba(255,255,255,.88);color:#38494a;font-size:10px}.property-view-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-bottom:1px solid #e1ddd5;background:#f8f4ed}.property-view-actions span{color:var(--muted);font-size:13px;font-weight:700}.property-view-actions a{color:var(--terracotta);font-size:13px;font-weight:800;text-decoration:none}.property-view-actions a:hover{text-decoration:underline}.located-address{margin:0;padding:12px 18px;border-bottom:1px solid #e1ddd5;color:var(--ink);font-weight:700}.property-confirmation{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 18px 8px}.property-choice{min-height:48px;padding:10px;border:1px solid #d8d2c7;border-radius:6px;background:#fff;color:var(--ink);font-weight:700;cursor:pointer}.property-choice:hover,.property-choice.selected{border-color:var(--terracotta);background:#fbf3ee;color:var(--terracotta)}.property-message{min-height:20px;margin:0;padding:4px 18px 17px;color:#476e5e;font-size:13px;font-weight:700}.property-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:130px;color:var(--muted)}.property-loading span{width:22px;height:22px;border:3px solid #d9d3c9;border-top-color:var(--terracotta);border-radius:50%;animation:property-spin .8s linear infinite}.address-feedback{margin:0;padding:22px;color:var(--muted)}.error-inline{color:#9c3f2f}@keyframes property-spin{to{transform:rotate(360deg)}}@media(max-width:650px){.aerial-map{height:270px}.property-view-actions{align-items:flex-start;flex-direction:column}.property-confirmation{grid-template-columns:1fr}.address-check-button{width:100%}}
.inline-start{display:flex;justify-content:center;margin:25px auto 8px}.inline-start .primary{min-width:290px;box-shadow:0 10px 24px rgba(38,59,61,.16)}
.account-gate{max-width:700px;margin:0 auto}.account-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0}.account-benefits span{padding:14px;border:1px solid #d9d3c9;border-radius:7px;background:#fffefa;color:#476e5e;font-size:13px;font-weight:700}.account-fields{max-width:610px}.consent-row{display:flex!important;align-items:flex-start;gap:10px;padding:14px;border:1px solid #d9d3c9;border-radius:7px;background:#fffefa;font-weight:400!important;line-height:1.45}.consent-row input{width:auto;margin:3px 0 0;flex:0 0 auto}.account-actions{max-width:610px}.existing-account{display:block;margin:22px auto 0;border:0;background:none;color:var(--terracotta);font-weight:700;text-decoration:underline;cursor:pointer}@media(max-width:700px){.account-benefits{grid-template-columns:1fr}.account-gate h1{font-size:36px}}
.description-generator{display:flex;align-items:center;gap:14px;margin:10px 0 12px}.description-generator .secondary{padding:11px 15px;border-radius:6px;border-color:#d8d2c7;color:var(--terracotta)}.description-generator small{line-height:1.4}@media(max-width:600px){.description-generator{align-items:flex-start;flex-direction:column}}
