/* Adaptations tactiles : smartphone, tablette portrait et paysage. */
@media(max-width:1024px){
  html{scroll-padding-top:96px}
  .main-header,.main-header.scrolled{padding:16px 4%;gap:16px;min-height:80px}
  .main-header>.brand{flex-shrink:0}
  .main-header nav{display:none}
  .head-actions{margin-left:auto;gap:12px;min-width:0}
  .header-cta{font-size:11px;line-height:1.4;min-height:44px;padding:11px 16px;gap:20px}
  .menu{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #ffffff50;background:transparent;color:white;font-size:20px;border-radius:2px}
  .main-header.menu-open{background:var(--ink)}
  .main-header.menu-open nav{display:grid;grid-template-columns:1fr 1fr;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;background:var(--ink);border-bottom:1px solid #ffffff30;padding:18px 4% 24px;gap:0 28px;align-items:stretch;box-shadow:0 16px 25px #07191e30}
  .main-header.menu-open nav a{display:flex;align-items:center;min-height:48px;padding:10px 0;font-size:16px;line-height:1.4}
  .main-header.menu-open nav a:after{bottom:5px}
  .nav-crm{display:flex!important;color:var(--acid)}
  #quote label{font-size:13px;line-height:1.5;min-width:0}
  #quote input,#quote select,#quote textarea{font-size:16px;line-height:1.5;min-height:48px;padding:12px 0}
  #quote textarea{min-height:120px}
  .form-row>*{min-width:0;flex:1}
  .button{min-height:48px;font-size:13px}
  .motion-toggle{min-height:44px;padding:10px 16px;font-size:11px;bottom:max(12px,env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right))}
  summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:14px}
  summary span{float:none;flex-shrink:0;margin-left:auto}
  .process-tabs button{min-height:48px;font-size:12px;line-height:1.5}
  .text-link,.linkedin-link{display:inline-flex;align-items:center;min-height:44px}
  .offer-links a{min-height:52px}
  .hero-routes>a{min-height:64px}
  .footer-links{flex-wrap:wrap}
  .footer-bottom{flex-wrap:wrap;gap:8px 22px;padding-bottom:74px}
  .footer-bottom>a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
  .legal-content p,.legal-content li,.legal-content dd{overflow-wrap:anywhere}
}
@media(min-width:601px) and (max-width:1024px){
  .container,.wrap{width:90%}.section-pad{padding:80px 0}
  .intro-grid,.solar-story,.solar-faq,.contact-grid{gap:36px}
  .intro h2{font-size:clamp(48px,6.6vw,68px);letter-spacing:-3px}
  .solar-heading,.broker-title{gap:28px}
  .solar-heading h2,.broker-title h2{font-size:clamp(47px,6.4vw,68px);letter-spacing:-3px}
  .solar-explainer-intro{gap:38px}
  .energy-stage{top:102px;padding:18px}
  .energy-diagram{min-height:210px;max-height:30vh}
  .stage-caption{min-height:104px;padding-top:16px}
  .stage-caption p{font-size:13px;line-height:1.7}
  .story-step h3{font-size:36px;letter-spacing:-1.5px}
  .story-step p{font-size:14px}
  .eligibility{gap:38px}
  .proof-copy{padding:45px 9%}.proof-copy h3{font-size:35px}.proof-copy p{font-size:14px}
  .broker-intro{gap:24px}.broker-intro .lead{font-size:23px}
  .process-content{padding:30px}.process-content h3{font-size:33px}.process-content p{font-size:14px}
  .broker-bottom{gap:30px;flex-wrap:wrap}
  .experience-heading{gap:36px}.experience-layout{grid-template-columns:1fr;gap:32px}
  .experience-photo{min-height:360px;height:360px}.experience-cards{gap:30px 36px}.experience-card p{font-size:14px}
  .specific-project{gap:38px}.specific-project h2{font-size:52px}
  .reference-heading{gap:38px}.reference-intro p{font-size:14px}.reference-sectors summary{font-size:14px}
}
@media(min-width:601px) and (max-width:900px){
  .contact-grid{grid-template-columns:1fr;gap:40px}.contact h2{font-size:64px;max-width:640px}.contact form{padding:0}.contact>div>div>p{max-width:540px}
  .broker-interactive{grid-template-columns:1fr}.broker-photo{height:300px}.process-content{min-height:320px}
  .partners{gap:25px}.partners h3{font-size:39px}.partners .brand-tile{width:160px}
}
@media(max-width:600px){
  .main-header,.main-header.scrolled{padding:14px 5%;gap:10px;min-height:76px}
  .main-header>.brand{font-size:34px}.head-actions{flex:1;justify-content:flex-end;gap:8px}
  .header-cta{max-width:184px;min-width:0;font-size:10px;line-height:1.4;padding:8px 11px;gap:8px;flex-shrink:1}
  .main-header.menu-open nav{grid-template-columns:1fr;max-height:calc(100dvh - 76px);padding:14px 6% 24px}
  .hero{height:auto;min-height:100svh;max-height:none;padding:126px 6% 28px;display:flex;flex-direction:column;gap:26px}
  .hero-topline{position:relative;inset:auto;font-size:7px;z-index:1}
  .hero-copy{position:relative;inset:auto;display:flex;flex-direction:column;align-items:stretch;width:100%;gap:26px;z-index:1}
  .hero-signature{font-size:clamp(98px,29vw,116px)}
  .hero h1{font-size:clamp(34px,10.4vw,41px)}
  .hero-aside p{font-size:14px;line-height:1.75;max-width:none}
  .hero-aside .button{font-size:12px;min-height:48px}
  .hero-contact-link{display:flex;margin:10px 0 0;max-width:220px;min-height:44px;font-size:12px;gap:30px}
  .hero-routes{position:relative;inset:auto;width:100%;margin-top:10px;z-index:1}
  .hero-bottom{position:relative;inset:auto;width:100%;margin:0;z-index:1;padding-top:16px}
  .hero-bottom small{font-size:7px;max-width:240px}
  .image-note{position:relative;inset:auto;z-index:1;font-size:8px;max-width:calc(100% - 100px)}
  .section-label{line-height:1.7;font-size:8px}
  .intro p,.solar-intro,.story-step p{font-size:15px}
  .intro .lead{font-size:22px}
  .eligibility-title>p:not(.eyebrow),.criteria-list p{font-size:14px}
  .faq-list summary,.broker-detail summary,.reference-sectors summary{font-size:14px;line-height:1.6}
  .faq-list p,.broker-detail p{font-size:14px}
  .process-content p,.broker-bottom p{font-size:14px;line-height:1.8}
  .process-tabs button{font-size:11px;padding:14px 5px}
  .experience-card p{font-size:14px;line-height:1.75}
  .reference-intro p,.reference-sectors p,.sector-footnote p,.specific-project p{font-size:14px;line-height:1.8}
  .form-row{display:grid;grid-template-columns:1fr;gap:24px}
  #quote label{font-size:14px}#quote .button{width:100%;justify-content:space-between;font-size:14px}
  .contact h2{font-size:clamp(46px,14vw,62px)}
  .contact .email{display:inline-flex;align-items:center;min-height:44px;font-size:16px;overflow-wrap:anywhere}
  .contact-details a{display:inline-flex;align-items:center;min-height:44px;font-size:17px}
  .contact .fine{font-size:12px;line-height:1.8}
  .partners{justify-content:flex-start}.partners>a{flex:1 1 130px}.partners .brand-tile{max-width:100%}
  .footer-top{flex-wrap:wrap;gap:20px}.footer-links{width:100%;gap:16px}
  .legal-header{flex-wrap:wrap}.legal-header>a:not(.brand){min-height:44px;display:flex;align-items:center}
  .legal-content h1{font-size:clamp(34px,10.5vw,46px);letter-spacing:-1.5px}
}
@media(max-width:380px){
  .experience-cards{grid-template-columns:1fr;gap:24px}.experience-card h3{font-size:29px}.experience-card>span{min-height:0}
  .hero-routes{gap:10px}.hero-routes strong{font-size:14px}.hero-routes .route-arrow{font-size:12px}
  .partners .brand-tile{width:132px;height:100px}.partners .brand-tile img{max-width:112px}
}
@media(max-width:1024px) and (max-height:600px){
  .solar-story{grid-template-columns:1fr}.energy-stage{position:relative;top:auto;max-width:600px;width:100%;margin:0 auto}.energy-diagram{height:230px;min-height:0;max-height:none}
  .story-step{min-height:0;padding:35px 0}.story-step p{max-width:650px}
}
@media(hover:none) and (pointer:coarse){
  .button:hover{transform:none}.round-link:hover{transform:none}
}
/* La commande d’animation ne masque plus les liens sur écran tactile. */
@media(max-width:1024px){.motion-toggle{position:absolute;top:96px;bottom:auto;right:4%;z-index:10;min-height:44px}}
@media(max-width:600px){.motion-toggle{top:80px;right:6%;padding:10px 14px}}
