:root{--ink:#102a22;--muted:#5c6b63;--green:#086449;--green-dark:#064c37;--green-soft:#eaf6ef;--line:#e3ebe6;--surface:#eef3f1;--accent:#a9711a;--accent-soft:#fbf3e3;--red:#b42318;--radius:16px;--shadow:0 16px 38px rgba(13,51,37,.09);--shadow-sm:0 6px 18px rgba(13,51,37,.06);--maxw:1160px}
@font-face{font-family:Marianne;src:url('/assets/fonts/marianne-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Marianne;src:url('/assets/fonts/marianne-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
*{box-sizing:border-box;letter-spacing:0}
body{margin:0;background:var(--surface);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}
[hidden]{display:none!important}
a{color:var(--green-dark);text-underline-offset:3px}
button,input,textarea{font:inherit;touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
:focus-visible{outline:3px solid #1475c7;outline-offset:3px}
.sr-only,#step-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.header-inner{max-width:var(--maxw);padding:10px clamp(16px,4vw,28px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center}
.brand img{width:168px;height:48px;object-fit:contain;filter:brightness(0) saturate(100%) invert(28%) sepia(52%) saturate(795%) hue-rotate(108deg) brightness(85%) contrast(95%)}
.header-note{font-size:13px;color:var(--green-dark);display:flex;align-items:center;gap:8px}
.header-note i{font-size:18px}
.direct-contact{min-width:0;color:var(--green-dark)}
.contact-hours{margin:0 0 4px;font-size:13px;line-height:18px;text-align:right;color:var(--muted)}
.contact-hours strong{color:var(--green-dark)}
.contact-phones{display:flex;justify-content:end;gap:10px}
.contact-phones a{display:flex;align-items:center;gap:9px;min-height:40px;padding:5px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--green-dark);text-decoration:none}
.contact-phones a:hover{border-color:var(--green);background:var(--green-soft)}
.contact-phones i{font-size:17px;flex-shrink:0;color:var(--green)}
.contact-phones a>span{display:flex;flex-direction:column;line-height:1.12;min-width:0}
.contact-phones small{font-size:11px;line-height:15px;color:var(--muted)}
.contact-phones strong{font-size:16px;line-height:20px;white-space:nowrap}
.campaign-hero{padding:clamp(16px,3vw,28px) clamp(16px,4vw,28px) 8px;max-width:var(--maxw);margin:auto;background:transparent}
.page-heading{margin:0 0 18px;max-width:640px}
.page-heading h1{font-size:clamp(25px,4.2vw,36px);line-height:1.12;letter-spacing:-.4px;margin:0 0 8px}
.page-heading p{font-size:clamp(14px,1.6vw,17px);color:var(--muted);line-height:1.45;margin:0}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);grid-template-areas:'wizard intro';gap:24px;align-items:start}
.intro{grid-area:intro;min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px;display:flex;flex-direction:column}
.hero-media{position:relative;width:100%;aspect-ratio:1/1;background:#0d2a22;border-radius:12px;overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:contain;display:block}
.hero-media video{width:100%;height:100%;object-fit:cover;display:block;background:#0d2a22}
.video-play{position:absolute;inset:0;width:100%;height:100%;border:0;margin:0;padding:0;cursor:pointer;background:linear-gradient(180deg,rgba(13,42,34,.08),rgba(13,42,34,.42));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;transition:background .15s ease}
.video-play:hover{background:linear-gradient(180deg,rgba(13,42,34,.12),rgba(13,42,34,.5))}
.video-play:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.video-play-icon{width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.95);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:24px;padding-left:4px;box-shadow:0 8px 22px rgba(13,42,34,.35);transition:transform .15s ease}
.video-play:hover .video-play-icon{transform:scale(1.07)}
.video-play-label{font-size:12.5px;font-weight:700;color:#fff;background:rgba(13,42,34,.55);padding:5px 12px;border-radius:999px;letter-spacing:.2px}
.hero-media.is-playing .video-play{display:none}
.visual-caption{font-size:10px;color:var(--muted);margin:7px 0 14px;text-align:center}
.offer-copy{margin:0 0 14px}
.offer-copy h2{font-size:17px;line-height:1.25;margin:0 0 5px;color:var(--ink)}
.offer-copy p{font-size:12.5px;line-height:1.5;color:var(--muted);margin:0}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--green);margin:0 0 4px}
.price-highlight{background:var(--accent-soft);border:1px solid #efe1c5;border-radius:12px;padding:12px 14px;margin:0 0 14px}
.price-label{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--accent);margin:0 0 3px}
.price-amount{margin:0 0 6px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.price-amount strong{font-size:27px;line-height:1.1;color:var(--ink)}
.price-amount span{font-size:11.5px;color:var(--muted)}
.price-highlight a{font-size:12px;font-weight:600;color:var(--green-dark)}
.offer-benefits{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.offer-benefits li{display:flex;align-items:start;gap:9px;font-size:13px;line-height:1.4;color:var(--ink)}
.offer-benefits i{color:var(--green);font-size:17px;line-height:1.3;flex-shrink:0;margin-top:1px}

/* Shared grid tracks reserve room for the tallest step without nested scrolling. */
.wizard{grid-area:wizard;position:relative;display:flex;flex-direction:column;min-height:var(--wizard-height,620px);min-width:0;background:#fff;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow)}
.wizard-heading{flex-shrink:0;margin-bottom:10px}
.wizard-heading>.eyebrow{padding-right:40px;font-size:9px}
.wizard-heading h2{font-size:24px;line-height:1.2;margin:0 0 4px}
.wizard-heading>p:last-child{font-size:12px;color:var(--muted);margin:0}
.progress-heading{position:absolute;top:18px;right:22px;font-size:11px;color:var(--green)}
.progress-track{height:4px;flex-shrink:0;background:#e7eee9;overflow:hidden;margin-bottom:6px}
.progress-track span{display:block;width:33.333%;height:100%;background:var(--green);transition:width .25s}
.step-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:12px;flex-shrink:0}
.step-navigation button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:38px;padding:4px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:11px}
.step-navigation button[aria-current=step]{border-bottom-color:var(--green);color:var(--green-dark);font-weight:700}
.step-navigation button:hover:not(:disabled){background:#f0faf5}
.step-navigation button:disabled{opacity:.65}
.step-number{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;font-size:12px}
.step-navigation button[aria-current=step] .step-number{background:var(--green);border-color:var(--green);color:#fff}
.wizard-body,#lead-form{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr;min-width:0}
.wizard-body{flex:1}
#lead-form,.wizard-body>.step,#lead-form>.step{grid-area:1/1}
.step{position:relative;display:flex;flex-direction:column;min-width:0;visibility:hidden;pointer-events:none}
.step.is-active{visibility:visible;pointer-events:auto}
.step> :not(.step-scroll){flex-shrink:0}
.step-scroll{flex:1;padding:2px 0}
.step-actions{flex-shrink:0;padding-top:10px;background:#fff}
.step h2:not(.sr-only){font-size:20px;line-height:1.2;margin:0 0 8px;padding-right:40px;min-height:36px;display:flex;align-items:center;outline:none}
.step h2 i{color:var(--green);margin-right:7px}
.step-topline{position:absolute;top:0;right:0}
.step-topline .step-kicker{display:none}
.icon-button{width:32px;height:32px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:#fff}
.qualification-group{border:0;padding:0;margin:0 0 12px;min-width:0}
.qualification-group legend{font-size:14px;font-weight:700;margin-bottom:6px;padding:0}
.qualification-options{display:grid;gap:8px}
.housing-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.ownership-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.heating-options{grid-template-columns:repeat(4,minmax(0,1fr))}
.housing-qualification{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:16px}
.qualification-options button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;min-width:0;min-height:74px;padding:8px 5px;background:#fff;border:1px solid #c9d7cf;border-radius:5px;color:#4d5f55;line-height:1.2;text-align:center}
.housing-qualification .qualification-options button{height:78px}
.qualification-options i{font-size:22px;line-height:25px}
.qualification-options span,.qualification-options strong{font-size:13px;font-weight:600}
.qualification-options button:hover,.qualification-options button[aria-pressed=true]{border-color:var(--green);background:#eaf8f0;color:var(--green)}
.offer-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.offer-options button{position:relative;flex-direction:row;justify-content:start;text-align:left;gap:12px;min-height:100px;padding:12px;border-width:2px}
.offer-options button>i:first-child{font-size:26px;flex-shrink:0}
.offer-options button>span{min-width:0}
.offer-options strong{display:block;font-size:14px;line-height:1.35}
.offer-options small{display:block;font-size:11px;line-height:1.4;margin-top:5px}
.offer-options .choice-check{position:absolute;right:6px;top:5px;font-size:14px;line-height:16px;visibility:hidden}
.step.is-active .detail-panel.is-active .offer-options button[aria-pressed=true] .choice-check{visibility:visible}
.guide-marker{display:inline-block;position:relative;width:20px;height:12px;vertical-align:baseline;visibility:hidden;color:#087f4f}
.guide-marker i{position:absolute;left:0;top:-2px;font-size:16px;line-height:16px}
.is-guided .guide-marker{visibility:visible}
.is-guided>legend,.is-guided>label{color:#087f4f}
.qualification-group.is-guided .qualification-options{outline:2px solid #16a665;outline-offset:2px;border-radius:5px;box-shadow:0 0 0 5px #30cf7c24,0 0 16px #25b97438}
.qualification-group.is-guided .qualification-options button:not([aria-pressed=true]){background:#f1fff7;border-color:#93d6af;color:var(--ink)}
.field.is-guided input,.consent.is-guided{outline:2px solid #16a665;outline-offset:1px;box-shadow:0 0 12px #25b97438;background:#f1fff7}
.consent.is-guided{border-radius:4px}
.consent .guide-marker{float:right;margin-left:4px}
.primary-button.is-guided{box-shadow:0 0 0 3px #30cf7c38,0 0 16px #25b97450}
.primary-button .guide-marker{display:none;color:#fff}
.primary-button.is-guided .guide-marker{display:inline-block}
.primary-button.is-guided>i:last-child{display:none}
.qualification-group.is-guided .guide-marker i,.primary-button.is-guided .guide-marker i{animation:guide-nudge 1.5s ease-in-out infinite}
@keyframes guide-nudge{0%,100%{transform:translateY(-1px)}50%{transform:translateY(2px)}}
.reassurance{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:9px;line-height:1.4;margin:10px 0 0}
.reassurance>span{display:flex;align-items:center;gap:5px}
.reassurance i{color:var(--green);font-size:14px}
.primary-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;width:100%;border:0;border-radius:6px;background:var(--green);color:#fff;font-size:16px;font-weight:700;padding:9px 10px}
.primary-button:hover:not(:disabled){background:var(--green-dark)}
.other-message{font-size:12px;color:var(--muted);padding:0 0 8px}
.field{margin:0 0 8px;min-width:0}
.field label,legend{display:block;font-weight:700;font-size:12px;margin-bottom:4px}
.field input,.field textarea{width:100%;border:1px solid #c8d6ce;border-radius:5px;padding:8px 10px;color:var(--ink);background:#fff;min-height:42px}
.field input::placeholder,.field textarea::placeholder{color:#819088;opacity:1}
.field input:focus,.field textarea:focus{border-color:var(--green)}
.field input[aria-invalid=true]{border-color:var(--red)}
.contact-fields{display:grid;grid-template-columns:1.25fr 1fr;gap:12px}
.field-error{color:var(--red);font-size:12px;line-height:1.4;margin:5px 0 0}
.field-error:empty{display:none}
.step-description{font-size:12px;color:var(--muted);margin:0 0 8px}
.consent{display:flex;gap:9px;align-items:start;font-size:12px;color:var(--muted);line-height:1.5;margin:2px 0 0;cursor:pointer}
.consent input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--green);flex-shrink:0}
.privacy{font-size:11px;color:var(--muted);line-height:1.5;margin:8px 0}
.under-button{font-size:10px;color:var(--muted);text-align:center;margin:4px 0 0}
.form-error{font-size:12px;color:var(--red);margin:8px 0 0}
.confirmation-copy{font-size:13px;color:var(--muted);line-height:1.45;margin:0 0 8px}
.confirmation-copy strong{color:var(--ink)}
#preferences-form{border-top:1px solid var(--line);padding-top:8px}
#preferences-form h3{font-size:15px;line-height:1.3;margin:0 0 10px}
#preferences-form h3 span{font-size:12px;font-weight:400;color:var(--muted)}
#preferences-form fieldset{display:flow-root;border:0;padding:0;margin:0 0 8px;min-width:0}
#preferences-form legend{float:left;width:94px;padding-top:9px}
#preferences-form .chips{margin-left:102px}
#preferences-form .field{display:grid;grid-template-columns:94px minmax(0,1fr);gap:8px;align-items:start}
.chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.chips label{position:relative;min-width:0;cursor:pointer}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips span{display:grid;place-items:center;border:1px solid var(--line);border-radius:5px;min-height:38px;padding:6px 2px;background:#fff;font-size:11px;color:var(--muted);text-align:center}
.chips input:checked+span{background:#ecf7ef;border-color:var(--green);color:var(--green-dark);font-weight:700}
.chips input:focus-visible+span{outline:3px solid #1475c7;outline-offset:2px}
.time-chips{grid-template-columns:repeat(4,minmax(0,1fr))}
#preferences{resize:none}
.preferences-feedback{display:grid;min-height:40px;margin-top:6px}
.preferences-feedback>p{grid-area:1/1;margin:0;align-self:start}
.availability-note{font-size:11px;color:var(--muted);line-height:1.5}
.preferences-status{color:var(--green-dark);font-size:13px;font-weight:700}
@media(min-width:1001px){
  #preferences-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
  #preferences-form h3,#preferences-form .field{grid-column:1/-1;margin-bottom:0}
  #preferences-form fieldset{margin:0}
  #preferences-form legend{float:none;width:auto;padding-top:0}
  #preferences-form .chips{margin-left:0}
}

.trust-strip{max-width:var(--maxw);margin:32px auto 0;padding:0 clamp(16px,4vw,28px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.trust-strip>div{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow-sm)}
.trust-strip i{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:12px;background:var(--green-soft);color:var(--green);font-size:22px}
.trust-strip p{font-size:12px;line-height:1.4;color:var(--muted);margin:0}
.trust-strip strong{display:block;font-size:14px;color:var(--ink);margin-bottom:3px}
.project-journey{max-width:var(--maxw);margin:32px auto 0;padding:20px clamp(16px,4vw,28px);background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.project-journey>h2{font-size:18px;margin:0 0 16px;color:var(--ink);text-align:center}
.project-journey ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.project-journey li{display:flex;align-items:center;gap:12px;padding:0;border:0;font-size:14px;line-height:1.35;color:var(--ink)}
.project-journey li span{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;background:var(--green);color:#fff;border-radius:50%;font-weight:700;font-size:15px}
.project-journey li i{color:var(--green);width:18px;font-size:17px;text-align:center;flex-shrink:0}
.public-information{max-width:var(--maxw);margin:28px auto 0;padding:0 clamp(16px,4vw,28px)}
.public-information h2{font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin:0 0 10px;text-align:center}
.fr-renov-banner{width:100%;min-width:0;margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.fr-renov-banner a{display:block;min-height:150px;background:#fff;color:#000;text-decoration:none}
.fr-renov-content{display:flex;align-items:center;justify-content:center;gap:20px;min-height:150px;padding:12px;border-top:2px solid #000;border-bottom:2px solid #000}
.fr-renov-logos{display:flex;align-items:center;gap:8px;flex-shrink:0}
.fr-renov-logos img{display:block;height:67.2px;width:auto;flex-shrink:0}
.logo-divider{display:block;width:1px;height:67.2px;background:#666;flex-shrink:0}
.fr-renov-message{font-family:Marianne,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;min-width:0}
.fr-renov-message strong{font-weight:700;white-space:nowrap}
.fr-message-narrow{display:none}
.offer-note{max-width:var(--maxw);padding:16px clamp(16px,4vw,28px) 0;margin:28px auto 0;display:flex;align-items:start;justify-content:space-between;gap:20px;font-size:11px;line-height:1.5;color:var(--muted)}
.offer-note p{margin:0;max-width:900px}
.offer-note a{flex-shrink:0;font-size:12px;font-weight:700}
.offer-note i{margin-left:4px}
.site-footer{background:#fff;border-top:1px solid var(--line);margin-top:28px}
.footer-inner{max-width:var(--maxw);margin:auto;padding:18px clamp(16px,4vw,28px);font-size:10.5px;color:var(--muted)}
.footer-inner p{margin:0 0 8px;max-width:900px;line-height:1.6}
.footer-inner nav{display:flex;flex-wrap:wrap;gap:18px}
.footer-inner nav a{color:var(--muted)}
.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:1240px){
  .fr-renov-banner{width:100%;margin-left:0}
}
@media(max-width:1000px){
  .campaign-hero{padding-top:16px}
  .page-heading{max-width:700px;margin-left:auto;margin-right:auto}
  .hero-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:'wizard' 'intro';gap:16px}
  .wizard{max-width:700px;width:100%;margin:auto}
  .intro{max-width:700px;width:100%;margin:16px auto 0}
  .contact-band{max-width:700px;margin:24px auto 0}
  .trust-strip{max-width:700px;grid-template-columns:1fr;gap:12px}
  .project-journey{max-width:700px}
  .public-information{max-width:700px}
  .offer-note{max-width:700px;flex-direction:column;gap:8px}
  .footer-inner{max-width:700px}
}
@media(max-width:680px){
  .header-inner{padding:6px 16px}
  .brand img{width:140px;height:40px}
  .header-note{font-size:10px;max-width:132px;line-height:1.4;gap:5px}
  .header-note i{font-size:15px}
  .campaign-hero{padding:10px 16px 14px}
  .page-heading h1{font-size:18px;line-height:1.25}
  .page-heading p{font-size:11px}
  .wizard{padding:12px 14px}
  .wizard-heading{margin-bottom:8px}
  .wizard-heading h2{font-size:20px;max-width:300px;padding-right:15px}
  .wizard-heading>p:last-child{display:none}
  .progress-heading{top:14px;right:14px}
  .step-navigation button{gap:4px;font-size:11px}
  .step-number{width:20px;height:20px;font-size:11px}
  .step h2:not(.sr-only){font-size:19px}
  .qualification-group{margin-bottom:8px}
  .qualification-group legend{font-size:13px}
  .housing-qualification{display:block}
  .qualification-options{gap:6px}
  .qualification-options button{min-height:66px;padding:6px 3px}
  .housing-qualification .qualification-options button{min-height:60px;height:60px}
  .qualification-options span,.qualification-options strong{font-size:12px}
  .ownership-options button:first-child span{font-size:11px}
  .qualification-options i{font-size:20px}
  .offer-options button{flex-direction:column;gap:4px;justify-content:center;align-items:start;padding:8px;min-height:100px}
  .offer-options button>i:first-child{font-size:20px;line-height:22px}
  .offer-options strong{font-size:12px}
  .offer-options small{font-size:10px;margin-top:4px}
  .primary-button{font-size:14px}
  .reassurance{gap:8px;font-size:8.5px}
  .field input,.field textarea{font-size:16px}
  #preferences-form legend{float:none;width:auto;padding-top:0}
  #preferences-form .chips{margin-left:0}
  #preferences-form .field{display:block}
  .time-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
  .preferences-feedback{min-height:42px}
  .intro{display:block;padding-top:8px}
  .hero-media{max-width:400px;margin:auto}
  .trust-strip{grid-template-columns:1fr;gap:12px}
  .trust-strip i{width:36px;height:36px;font-size:20px}
  .trust-strip strong{font-size:13px}
  .information-layout{padding:0 16px;gap:16px}
  .fr-renov-banner{width:100%;margin-left:0}
  .fr-renov-content{gap:12px}
  .fr-renov-logos{gap:7px}
  .fr-renov-logos .republique-logo{height:auto;width:52px}
  .fr-renov-logos .france-renov-logo{height:auto;width:100px}
  .logo-divider{height:44px}
  .fr-message-wide{display:none}
  .fr-message-narrow{display:inline}
  .project-journey{padding:16px}
  .project-journey ol{display:block}
  .project-journey li{padding:8px 0}
  .offer-note{padding:12px 16px}
  .footer-inner{padding:16px}
}
@media(max-width:360px){
  .wizard-heading h2{font-size:18px}
  .step-navigation button{font-size:10px;gap:3px}
  .ownership-options button:first-child span{font-size:10.5px}
  .heating-options strong{font-size:11px}
  .fr-renov-logos{gap:6px}
  .fr-renov-logos .france-renov-logo{width:84px}
}
@media(max-height:800px) and (min-width:1001px){
  .wizard-heading{margin-bottom:6px}
  .step-navigation{margin-bottom:8px}
  .step-actions{padding-top:8px}
  .qualification-group{margin-bottom:8px}
  .qualification-group legend{margin-bottom:4px}
  .qualification-options button{min-height:60px;padding:5px 4px;gap:3px}
  .qualification-options i{font-size:18px;line-height:20px}
  .housing-qualification .qualification-options button{height:62px}
  .housing-qualification .qualification-options span{font-size:12px}
  .offer-options button{min-height:78px;padding:10px;gap:12px}
}
/* One question per screen, with legible controls and a contrasting guide. */
.wizard-heading>p:last-child{font-size:16px}
.step-navigation button{font-size:15px;min-height:44px}
.step-number{width:28px;height:28px;font-size:15px}
.step h2:not(.sr-only){font-size:24px;min-height:34px;margin-bottom:10px}
.step-description{font-size:17px;margin-bottom:14px}
.qualification-group legend{font-size:23px;line-height:1.25;margin-bottom:12px}
.heating-options{grid-template-columns:minmax(0,1fr);gap:12px}
.heating-options button{flex-direction:row;justify-content:start;gap:18px;min-height:80px;padding:16px 20px;background:#fff}
.heating-options button>i:first-child{font-size:30px;line-height:34px;width:32px;flex-shrink:0}
.heating-options button>i:last-child{margin-left:auto;font-size:22px}
.heating-options strong{font-size:23px}
.text-button{border:0;padding:8px 0;background:transparent;color:var(--green-dark);font-size:16px;text-decoration:underline;text-underline-offset:3px}
.other-message{font-size:16px;padding-top:10px}
.reassurance{font-size:14px;flex-wrap:wrap;gap:6px 12px}
.reassurance i{font-size:18px}
.primary-button{font-size:18px;min-height:60px;height:60px;line-height:1.2;padding:8px 10px}
.field{margin-bottom:6px}
.field label{font-size:16px;line-height:1.35;margin-bottom:6px}
.field input,.field textarea{font-size:18px;min-height:48px;padding:10px 12px}
.field-error,.form-error{font-size:14px}
.consent{font-size:14px;line-height:1.5;gap:10px}
.consent input{width:22px;height:22px}
.privacy{font-size:13px;line-height:1.45}
.under-button{font-size:14px;margin-top:6px}
.icon-button{width:42px;height:42px;font-size:18px}
.guide-marker{width:28px;height:18px;color:#a15f00}
.guide-marker i{font-size:22px;line-height:22px;top:-2px}
.is-guided>legend,.is-guided>label{color:#8a5300}
.qualification-group.is-guided .qualification-options{outline-color:#d99b27;box-shadow:0 0 0 5px #eeb74e22,0 0 16px #dba53530}
.qualification-group.is-guided .qualification-options button:not([aria-pressed=true]){background:#fff;border-color:#cad5ce;color:var(--ink)}
.field.is-guided input,.consent.is-guided{outline-color:#d99b27;box-shadow:0 0 12px #dba53530;background:#fff}
.confirmation-copy{font-size:16px;line-height:1.45;margin-bottom:8px}
.completion-scroll{display:flex;flex-direction:column;position:relative}
.completion-scroll>h2,.completion-scroll>.confirmation-copy{flex-shrink:0}
.wizard-heading{display:none}
.progress-track{height:6px;margin:6px 38px 10px 0}
.progress-heading{font-size:14px;top:16px}
.heating-question .step-description,#heating-summary{display:none}
#step-3 #preferences-form{display:flex;flex-direction:column;flex:1;min-height:220px;min-width:0;border:0;padding:0;gap:0}
.optional-caption{font-size:15px;line-height:1.4;margin:0 0 6px;color:var(--muted)}
.detail-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:12px;flex-shrink:0}
.detail-navigation button{min-width:0;min-height:38px;border:0;border-bottom:2px solid var(--line);padding:6px 2px;background:#fff;color:var(--muted);font-size:15px}
.detail-navigation button[aria-current=step]{color:var(--green-dark);border-color:var(--green);font-weight:700}
.detail-panels{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr;flex:1;min-width:0}
.detail-panel{grid-area:1/1;display:flex;flex-direction:column;min-width:0;visibility:hidden;pointer-events:none}
.step.is-active .detail-panel.is-active{visibility:visible;pointer-events:auto}
#preferences-form .detail-panel h3{font-size:22px;line-height:1.3;margin:0 0 12px;flex-shrink:0;outline:none}
.detail-panel .qualification-options{grid-template-columns:minmax(0,1fr);gap:10px}
.detail-panel .qualification-options button{flex-direction:row;justify-content:start;text-align:left;min-height:70px;padding:12px 16px;gap:16px}
.detail-panel .qualification-options span,.detail-panel .qualification-options strong{font-size:18px;line-height:1.3}
.detail-panel .qualification-options small{font-size:16px;line-height:1.3}
.detail-panel .qualification-options i{font-size:26px;line-height:28px;flex-shrink:0}
.detail-panel .offer-options button{min-height:96px;padding-right:26px}
#preferences-form fieldset{display:block;margin:0 0 12px}
#preferences-form legend{float:none;width:auto;padding:0;font-size:16px;line-height:1.4;margin-bottom:6px}
#preferences-form .chips{margin-left:0}
#preferences-form .field{display:block;margin:0}
.chips span{font-size:15px;min-height:42px}
.detail-actions{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center}
.preferences-feedback{display:flex;align-items:start;min-height:22px;margin-top:8px;gap:8px}
.detail-actions .primary-button{height:52px;min-height:52px}
.preferences-feedback>p{flex:1;font-size:14px;line-height:1.4;font-weight:400}
.preferences-feedback>.icon-button{flex-shrink:0;width:38px;height:38px}
@media(min-width:1001px){
  .detail-panel .offer-options,.detail-panel .housing-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-panel .ownership-options{grid-template-columns:repeat(3,minmax(0,1fr))}
  .detail-panel .ownership-options button{min-height:100px;flex-direction:column;text-align:center}
  [data-detail-panel="3"]>.step-scroll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;align-content:start}
  [data-detail-panel="3"] .field{grid-column:1/-1}
  [data-detail-panel="3"] .time-chips{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:680px){
  .page-heading h1{font-size:22px}
  .page-heading p{font-size:14px;line-height:1.4}
  .wizard-heading h2{font-size:23px;padding-right:20px}
  .step-navigation button{font-size:13px;gap:3px}
  .step-number{width:20px;height:20px;font-size:13px}
  .step h2:not(.sr-only){font-size:21px;line-height:1.2;min-height:34px}
  .qualification-group legend{font-size:21px}
  .step-description{font-size:16px}
  .heating-options button{min-height:78px;padding:14px 16px}
  .heating-options strong{font-size:22px}
  .reassurance{font-size:13px}
  .primary-button{font-size:17px}
  .field input,.field textarea{font-size:18px}
  .consent{font-size:14px}
  .optional-caption{font-size:14px}
  .detail-navigation button{font-size:13px}
  #preferences-form .detail-panel h3{font-size:20px}
  .detail-panel .qualification-options button{min-height:70px;padding:12px;gap:12px}
  .detail-panel .offer-options button{min-height:96px;padding-top:10px;padding-bottom:10px}
  .detail-panel .qualification-options span,.detail-panel .qualification-options strong{font-size:17px}
  .detail-panel .qualification-options small{font-size:15px}
  .chips span{font-size:14px}
  .time-chips{grid-template-columns:repeat(4,minmax(0,1fr))}
  .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:4px 16px}
  .brand img{width:112px;height:28px}
  .direct-contact{display:contents}
  .contact-hours{margin:0;font-size:13px;line-height:18px}
  .contact-hours>span{display:none}
  .contact-phones{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .contact-phones a{min-height:44px;justify-content:center;gap:8px;border-bottom:1px solid var(--line)}
  .contact-phones a>span{flex-direction:column;gap:0;align-items:start}
  .contact-phones small{font-size:12px;line-height:17px}
  .contact-phones strong{font-size:16px;line-height:22px}
  .page-heading{margin-bottom:8px}
}
@media(max-width:360px){.time-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* Bloc « Une question sur votre éligibilité ? » sous le formulaire */
.contact-band{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;margin:24px 0 0;background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:var(--radius);padding:18px 22px;box-shadow:var(--shadow-sm)}
.contact-band-text{flex:1 1 300px;min-width:0}
.contact-band-text h2{display:flex;align-items:center;gap:8px;font-size:17px;line-height:1.25;letter-spacing:.3px;margin:0 0 5px;color:var(--ink)}
.contact-band-emoji{font-size:21px;line-height:1}
.contact-band-text p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}
.contact-band-text strong{color:var(--ink)}
.contact-band-phones{display:flex;gap:12px;flex-wrap:wrap}
.contact-band-phones a{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 16px;border:1px solid var(--line);border-radius:10px;background:var(--green-soft);color:var(--green-dark);text-decoration:none}
.contact-band-phones a:hover{border-color:var(--green);background:#e2f4ea}
.contact-band-phones i{font-size:20px;color:var(--green);flex-shrink:0}
.contact-band-phones a>span{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.contact-band-phones small{font-size:12px;color:var(--muted)}
.contact-band-phones strong{font-size:18px;white-space:nowrap}
@media(max-width:1000px){.contact-band{max-width:700px;margin:16px auto 0}}
@media(max-width:680px){
  .contact-band{padding:14px 16px;gap:12px}
  .contact-band-text h2{font-size:16px}
  .contact-band-phones{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-band-phones a{justify-content:center;padding:8px 10px;gap:8px}
  .contact-band-phones strong{font-size:16px}
}
@media(max-width:360px){.contact-band-phones{grid-template-columns:1fr}}
