/* Finalisation locale. Les composants du parcours restent dans style.css. */
:root{--rc-radius:18px;--rc-space:clamp(48px,7vw,104px)}
body{font-size:16px;line-height:1.75}
.container{width:min(1240px,calc(100% - 80px))}
input,select,textarea{font-size:16px!important}
input[type=checkbox],input[type=radio]{width:20px;height:20px}
h1,h2,h3,p,a,label,button,summary,td,th{overflow-wrap:anywhere}
.prototype-bar{font-size:11px;padding-block:8px;line-height:1.6}
.header-inner{min-height:96px}
.site-header nav a,.site-header nav button,.header-cta{font-size:12px}
.hero{padding-block:var(--rc-space);gap:clamp(32px,5vw,76px)}
.hero h1{font-size:clamp(48px,5.25vw,76px);line-height:1.08;text-wrap:balance}
.hero h1 em{font-size:1em}
.hero-lead{font-size:16px;line-height:1.8;margin-top:27px;max-width:510px}
.eyebrow{font-size:12px;letter-spacing:.1em}
.hero-assurances,.operator-intro{font-size:12px}
.hero-assurances{gap:16px}
.button{font-size:13px;min-height:54px;border-radius:8px;padding:15px 21px;gap:22px}
.link-button,.back-button,.reset-button{font-size:12px;min-height:44px}
.hero-visual{padding:26px;border-radius:24px;background:linear-gradient(150deg,#edf0ff,#f0f4f5);box-shadow:0 24px 70px #172d480d}
.visual-top,.scene-label,.example-caption{font-size:12px}
.example-comparison{border-radius:14px;padding:24px 20px;gap:12px;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}
.example-comparison>div>span,.example-comparison small{font-size:11px}
.example-comparison strong{font-size:clamp(25px,2.6vw,37px);font-variant-numeric:tabular-nums}
.intro-strip>.container{padding-block:26px}
.intro-strip p,.intro-strip>.container>div{font-size:13px}
.workspace{padding-block:var(--rc-space)}
.workspace-heading h2{font-size:clamp(32px,3vw,43px)}
.journey-status{font-size:12px;font-weight:650;color:var(--muted);margin-bottom:10px}
.journey-progress{height:4px;background:#e2e7ed;border-radius:4px;margin-bottom:16px;overflow:hidden}
.journey-progress span{display:block;height:100%;width:25%;background:var(--blue);transition:width .2s}
.stepper{border-radius:12px}
.stepper button{font-size:12px;min-height:70px;gap:10px}
.stepper button>span{width:28px;height:28px;font-size:12px}
.flow-grid{grid-template-columns:minmax(0,1fr) 265px;gap:24px}
.step-panel{border-radius:var(--rc-radius);padding:36px;box-shadow:0 10px 32px #172d4804}
.panel-top h3{font-size:30px}
.panel-top>p:last-child,.step-panel label:not(.consent):not(.unknown-choice):not(.equipment label):not(.tax-toggle label){font-size:14px}
.small-kicker{font-size:11px}
.optional,.input-hint,.field-help,.inline-note,.search-status{font-size:12px;line-height:1.8}
.field-help{padding-top:32px}
.search-option strong{font-size:14px}
.search-option>span,.search-option small{font-size:12px}
.search-option{padding:16px;min-height:76px}
.search-area [role=listbox]{scrollbar-gutter:stable;overscroll-behavior:contain}
.search-alternatives .link-button,.empty-illustration p{font-size:12px}
.selected-property{border-radius:10px;font-size:13px}
.selected-property strong{font-size:15px}
.selected-property small{font-size:12px}
.equipment legend,.equipment label,.unknown-choice{font-size:13px}
.equipment label{min-height:46px;border-radius:8px}
.panel-actions>span,.form-error{font-size:12px}
.aside-sticky{border-radius:var(--rc-radius);padding:24px}
.aside-sticky>p:not(.small-kicker):not(.aside-title),.aside-sticky ul,.aside-method,.aside-facts>div,.aside-facts>div:last-child strong,.aside-origin{font-size:12px!important}
.aside-sticky h3{font-size:23px}
.aside-facts strong{font-size:16px}
.aside-title{font-size:14px}
.contract-details{padding-top:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.contract-details>summary{font-size:13px;font-weight:650;padding:18px 20px;cursor:pointer}
.contract-details>summary span{font-size:12px;font-weight:400;color:var(--muted);margin-left:8px}
.contract-details-inner{padding:6px 20px 0}
.provider-field .field-help{padding-top:0}
.tax-toggle{border-radius:8px}
.tax-toggle label{font-size:13px;min-width:56px}
.tax-toggle input{opacity:0;width:1px;height:1px}
.money-field>input{font-size:30px!important}
.money-field>span{font-size:13px}
.result-fees{gap:16px}
.result-fees article{border-radius:14px;padding:24px 20px}
.result-fees article>span{font-size:13px;min-height:0}
.result-fees article>strong{font-size:clamp(28px,3vw,42px);font-variant-numeric:tabular-nums}
.result-fees small{font-size:12px}
.result-fees.large-amount{grid-template-columns:1fr}
.result-fees.large-amount article>strong{white-space:normal;overflow-wrap:anywhere}
.tariff-status{font-size:12px;background:#fbf5e7;border-color:#dac897;margin-top:18px}
.tariff-status strong{font-size:13px}
.result-reading{border:1px solid #c5d9cf;background:#edf4ef;border-radius:14px;padding:20px 22px;margin-block:20px;color:#204b3b}
.result-reading[data-position=higher]{background:#faf3e9;border-color:#decaa8;color:#6c461d}
.result-reading[data-position=unknown],.result-reading[data-position=equal]{background:#f1f4fa;border-color:var(--line);color:var(--ink)}
.result-reading .small-kicker{color:inherit;margin-bottom:7px}
.result-reading .delta-line{font-size:16px;font-weight:650;line-height:1.65;margin:0;color:inherit}
.result-per-lot{font-size:12px;line-height:1.8;margin-top:8px}
.scope-note{font-size:12px;line-height:1.8}
.comparison-reminder{font-size:13px;color:var(--muted);margin-block:25px 10px}
.comparison-table,.comparison-table td,.comparison-table th{font-size:12px}
.comparison-table caption{font-size:14px}
.calculation-details summary,.calculation-details>div{font-size:12px}
.market-row h5{font-size:16px}
.market-row small,.market-source>summary,.market-source p,.market-source a,.market-footnote{font-size:12px}
.market-verdict{font-size:13px}
.market-price strong{font-size:21px}
.market-source>summary{min-height:44px;display:flex;align-items:center}
.market-content{padding-inline:14px}
.market-details>summary,.faq-list summary{min-height:60px}
.market-details>summary small,.market-intro>p{font-size:13px}
#project-fields{padding:0;margin:0;border:0;min-width:0}
#project-fields:disabled{opacity:.72}
.simulation-note,.consent,.connection-note,.delivery-note{font-size:12px;line-height:1.8}
.connection-note{color:var(--muted);margin:14px 0}
.connection-note[data-state=error]{color:#923b27}
.contact-recap{padding:22px;border:1px solid #c5d9cf;border-radius:14px;background:#edf4ef;font-size:13px;line-height:1.85;margin-bottom:25px;overflow-wrap:anywhere}
.contact-recap strong{display:block;font-size:17px;margin-bottom:7px}
.handoff-primary{padding:25px;border:1px solid var(--line);border-radius:14px;background:#f8f9fd}
.handoff-primary h4{font-size:22px;line-height:1.35;margin:0 0 14px;letter-spacing:-.03em}
.handoff-primary p:not(.small-kicker){font-size:14px;color:var(--muted);line-height:1.85;margin-bottom:20px}
.handoff-primary .link-button{display:flex;text-align:left;margin-top:8px}
.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.contact-explanation{font-size:12px;color:var(--muted);line-height:1.85;margin-top:16px}
.success-next{border-top:1px solid var(--line);margin-top:22px;padding-top:22px;font-size:13px}
.success-next strong{display:block;font-size:16px;margin-bottom:7px}
.success-recap{font-size:13px;overflow-wrap:anywhere}
.success-panel>p:not(.small-kicker){font-size:14px}
.success-panel h3{font-size:34px}
.section-intro h2,.ldj-section h2{font-size:clamp(34px,3.4vw,48px);line-height:1.15;text-wrap:balance}
.section-intro>p:last-child{font-size:15px;color:var(--muted);max-width:580px;margin-top:22px}
.after-comparison{padding-bottom:var(--rc-space)}
.question-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:38px}
.question-grid article{padding:28px 28px 32px;border:1px solid var(--line);border-radius:var(--rc-radius);background:#fff}
.question-index{font-size:12px;font-weight:650;letter-spacing:.02em;color:var(--blue)}
.question-grid h3{font-size:24px;margin-block:23px 16px;line-height:1.25}
.question-grid p{font-size:14px;line-height:1.8;color:var(--muted)}
.ldj-section{background:#eaf0eb;border-block:1px solid #cad8cc;padding-block:var(--rc-space)}
.ldj-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(35px,8vw,120px);align-items:center}
.ldj-layout>div:first-child>p:not(.eyebrow){font-size:15px;margin-block:25px;color:#3e5a4c;max-width:560px}
.ldj-layout em{color:#285b48}
.ldj-proof{background:#f8fbf8;border:1px solid #c5d5c9;border-radius:22px;padding:32px}
.proof-number{font-size:76px;line-height:1.2;font-weight:550;letter-spacing:-.06em;display:flex;align-items:center;gap:20px;margin-bottom:20px;color:#285b48}
.proof-number span{font-size:19px;line-height:1.4;letter-spacing:-.02em;max-width:160px}
.ldj-proof>p:last-of-type{font-size:14px;color:#425c50}
.proof-links{display:grid;gap:12px;border-top:1px solid #cbd9ce;padding-top:22px;margin-top:24px}
.proof-links a{font-size:12px;line-height:1.8;color:#26533d;text-underline-offset:4px}
.faq-section{padding-block:var(--rc-space);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(25px,6vw,90px)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{font-size:15px;font-weight:650;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 0;line-height:1.6}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';font-size:24px;color:var(--blue);font-weight:400;flex-shrink:0}
.faq-list details[open] summary:after{content:'−'}
.faq-list details>div{font-size:14px;color:var(--muted);padding:0 28px 24px 0;line-height:1.9}
.closing-cta{border:1px solid #cad4ec;border-radius:24px;background:#edf0ff;display:flex;gap:35px;align-items:center;justify-content:space-between;padding:38px 42px;margin-bottom:var(--rc-space)}
.closing-cta .eyebrow{margin-bottom:12px}
.closing-cta h2{font-size:30px}
.closing-cta p:last-child{font-size:14px;color:var(--muted);margin-top:10px}
.closing-cta .button{flex-shrink:0}
.footer-top p,.footer-top a,.footer-links button,.footer-links a,.footer-bottom{font-size:12px;line-height:1.8}
.footer-links a,.footer-top>div>a{text-underline-offset:4px}
.footer-links{gap:9px}
.dialog-close{min-width:44px;min-height:44px;right:14px;top:14px}
.dialog-body{font-size:14px}
.dialog-body h3{font-size:17px}
.cabinet-note,.cabinet-stats span,.cabinet-tools label,.lead-card label,.lead-card select,.lead-meta,.lead-card-top,.lead-facts span{font-size:13px}
.lead-card{border-radius:16px}
.lead-card-top{font-size:11px;line-height:1.8}
.lead-card a{font-size:13px;color:var(--blue);text-underline-offset:4px}
.lead-card time{font-size:12px;color:var(--muted);display:block;margin:12px 0}
.cabinet-empty{border:1px dashed #b9c7d8;border-radius:14px;padding:28px;font-size:14px}
.button:disabled{cursor:default;opacity:.65}
.button[aria-busy=true]{cursor:wait}
.noscript-note{font-size:14px;padding:24px;background:#fff5dd}
@media(min-width:1100px){.market-row{grid-template-columns:1fr 1fr}.market-reading{grid-column:1/-1}}
@media(max-width:1050px){
 .hero{grid-template-columns:1fr 1fr;gap:30px}
 .hero h1{font-size:54px}.hero-visual{padding:20px}
 .flow-grid{grid-template-columns:minmax(0,1fr) 230px}.step-panel{padding:28px}.stepper button{padding:16px 12px}
 .question-grid{gap:16px}.question-grid article{padding:25px 20px}.question-grid h3{font-size:22px}
 .header-inner{gap:20px}.site-header nav{gap:18px}
}
@media(max-width:800px){
 .container{width:calc(100% - 48px)}.hero{grid-template-columns:1fr;gap:34px;padding-top:44px}
 .hero h1{font-size:clamp(46px,8vw,62px)}.hero h1 br:last-of-type{display:none}
 .hero-lead{max-width:650px}.hero-visual{max-width:570px;width:100%;justify-self:center}
 .flow-grid{grid-template-columns:1fr}.flow-aside{order:2}.aside-sticky{position:static}
 .aside-building,.aside-sticky hr,.aside-title,.aside-sticky ul,.aside-method{display:none}
 .aside-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px}.aside-facts>div{display:block}.aside-facts strong{text-align:left;display:block;margin-top:5px}
 .result-fees.large-amount{grid-template-columns:1fr}
 .question-grid{grid-template-columns:1fr}.question-grid article{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px 30px;padding:27px}
 .question-index{grid-column:1/-1}.question-grid h3{margin:0}.question-grid p{align-self:start}
 .ldj-layout{grid-template-columns:1fr;gap:32px}.ldj-proof{max-width:600px}
 .faq-section{grid-template-columns:1fr;gap:32px}
 .closing-cta{align-items:start;flex-direction:column;padding:30px;gap:24px}.closing-cta .button{align-self:start}
}
@media(max-width:540px){
 .container{width:calc(100% - 32px)}.prototype-bar{padding-inline:16px;font-size:10px}
 .header-inner{min-height:80px;gap:14px}.site-header nav{gap:0}.site-header nav button{font-size:12px}
 .hero h1{font-size:clamp(44px,12vw,58px)}.hero h1 br:last-of-type{display:initial}
 .hero .eyebrow{font-size:11px}.hero-lead{font-size:15px}.hero-actions{display:grid;gap:8px;justify-items:start}
 .hero-actions .button{width:100%}.hero-assurances{font-size:11px;gap:6px 16px}.operator-intro{font-size:12px}
 .hero-visual{padding:19px;border-radius:20px}.building-scene{margin-block:15px}.scene-label{font-size:11px}
 .visual-top,.example-caption{font-size:11px}.example-comparison{padding:19px 14px;gap:9px;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr)}
 .example-comparison>div>span,.example-comparison small{font-size:10px}.example-comparison strong{font-size:28px}
 .intro-strip>.container{gap:12px}.intro-strip>.container>div{font-size:11px}.intro-strip p{font-size:13px}
 .workspace-heading{display:grid;grid-template-columns:1fr auto;gap:12px}.workspace-heading h2{font-size:31px}.workspace-heading .eyebrow{font-size:10px}
 .workspace-heading .reset-button{font-size:11px;max-width:72px}.journey-status{font-size:12px}
 .stepper button{padding:13px 7px;gap:8px;font-size:10px;min-height:88px}.stepper button>span{width:24px;height:24px;font-size:11px}
 .step-panel{padding:25px 19px;border-radius:16px}.panel-top h3{font-size:27px}.panel-top>p:last-child{font-size:14px}
 .step-panel input:not([type=checkbox]):not([type=radio]),.step-panel select,.step-panel textarea,.search-field input{font-size:16px!important;min-height:52px}
 .search-field input{padding-left:39px!important}.search-field>span{left:12px;top:12px}
 .field-grid{grid-template-columns:1fr}.field-help{padding-top:0}.field-wide{grid-column:auto}
 .optional,.input-hint,.field-help,.inline-note,.search-status{font-size:12px}
 .search-alternatives .link-button{font-size:12px;min-height:44px}
 .empty-illustration{gap:13px;padding-inline:0}.empty-illustration p{font-size:12px}
 .equipment legend{font-size:13px}.equipment label{font-size:12px;padding:10px}
 .panel-actions{gap:12px}.panel-actions>.button{width:100%;order:1}.panel-actions>.back-button{min-height:44px;order:2;margin-inline:auto}
 .button,.link-button,.back-button{font-size:13px}.button{min-height:54px;gap:16px}
 .money-row{gap:8px}.money-field>input{font-size:26px!important;padding-right:65px!important}.money-field>span{font-size:11px;right:10px;top:23px}
 .tax-toggle label{font-size:12px;min-width:43px;padding-inline:7px}.contract-details>summary{padding:17px 14px}.contract-details-inner{padding:4px 14px 0}
 .contract-details>summary span{display:block;margin-left:18px}.unknown-choice{font-size:13px;min-height:44px}
 .result-fees{grid-template-columns:1fr;gap:12px}.result-fees article{padding:21px;gap:9px}.result-fees article>span{font-size:13px;min-height:0}
 .result-fees article>strong{font-size:37px}.result-fees article>strong.no-price{font-size:24px;min-height:0}.result-fees small{font-size:12px}
 .result-fees.large-amount article>strong{font-size:clamp(25px,6.5vw,34px)}
 .result-reading{padding:18px}.result-reading .delta-line{font-size:15px}.result-per-lot{font-size:12px}
 .comparison-table td,.comparison-table tbody th{font-size:12px}.comparison-table td:before{font-size:10px}
 .comparison-table tr{column-gap:16px}.comparison-table caption{font-size:14px}
 .market-details>summary{padding:18px;font-size:15px}.market-content{padding-inline:10px}.market-row{padding:17px}
 .market-intro{padding-inline:7px}.market-intro h4{font-size:21px}.market-price strong{font-size:23px}
 .result-links .link-button{min-height:44px}.simulation-note,.consent,.delivery-note{font-size:12px}
 .success-panel h3{font-size:30px}.success-panel>p:not(.small-kicker){font-size:14px}
 .section-intro h2,.ldj-section h2{font-size:36px}.question-grid article{display:block;padding:25px}
 .question-grid h3{font-size:25px;margin-block:20px 14px}.question-grid p{font-size:14px}
 .ldj-proof{padding:25px}.proof-number{font-size:68px}.proof-number span{font-size:18px}
 .faq-list summary{font-size:15px;gap:18px}.faq-list details>div{padding-right:10px}
 .closing-cta{padding:28px 23px;border-radius:18px}.closing-cta h2{font-size:29px}.closing-cta .button{width:100%}
 .handoff-primary{padding:21px 17px}.handoff-primary .button{width:100%;font-size:13px}.contact-options{grid-template-columns:1fr}
 .footer-top{grid-template-columns:1fr;gap:28px}.footer-top>div:last-child{grid-column:auto}
 .footer-links a,.footer-links button{min-height:44px;display:flex;align-items:center;justify-content:start}
 dialog{padding:32px 23px;width:calc(100% - 24px)}dialog h2{font-size:29px}.dialog-body{font-size:14px}
 .cabinet-stats{gap:8px}.cabinet-stats article{padding:17px 10px}.cabinet-stats span{font-size:11px;min-height:45px}
 .cabinet-tools input,.cabinet-tools select{font-size:16px}.lead-card{padding:22px}.lead-card h2{font-size:24px}.lead-card select{font-size:16px}
}
@media(max-width:350px){.hero h1{font-size:43px}.example-comparison strong{font-size:25px}.stepper button{font-size:9px;padding-inline:6px}.step-panel{padding-inline:16px}.result-fees article>strong{font-size:32px}.money-field>input{font-size:23px!important}.tax-toggle label{min-width:37px}}
@media(prefers-reduced-motion:reduce){.journey-progress span{transition:none}}
@media print{.after-comparison,.ldj-section,.faq-section,.closing-cta,.journey-status,.journey-progress,.tariff-status{display:none!important}.result-reading{break-inside:avoid}.comparison-table{display:table}.comparison-table thead{display:table-header-group}.comparison-table tbody{display:table-row-group}.comparison-table tr{display:table-row}.comparison-table th,.comparison-table td{display:table-cell}.comparison-table td:before{display:none}}
