
.fil{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#C9D6E2}
.fil a{color:#C9D6E2;text-decoration:none}.fil a:hover{color:#FFFFFF}
.surtitre{font-size:14px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#2F7FB0}
.h2{margin:0;font-size:clamp(26px,2.92vw,42px);line-height:1.12;font-weight:900;letter-spacing:-.01em}
.h2 em{font-style:normal;color:#2B76A6}
.txt{margin:0;font-size:18px;line-height:1.75;color:#3A4A57}
.tag{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#2B76A6;background:#EAF4FB;padding:6px 10px}
.cta-devis{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 56px;align-items:center;background:#4BA6DC;padding:56px}
@media (max-width:860px){.cta-devis{grid-template-columns:minmax(0,1fr);padding:40px 28px}}
.btn-fonce{text-decoration:none;background:#0B1921;color:#FFFFFF;font-weight:900;font-size:15px;letter-spacing:.08em;text-transform:uppercase;padding:18px 28px;white-space:nowrap}
.btn-fonce:hover{color:#4BA6DC}


.contact-grille{max-width:1280px;margin:0 auto;padding:96px 24px 112px;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:56px 72px;align-items:start}
@media (max-width:960px){.contact-grille{grid-template-columns:minmax(0,1fr)}}
.coord{display:flex;flex-direction:column;gap:28px}
.coord-carte{display:flex;gap:16px;align-items:flex-start;padding:24px 0;border-top:1px solid #DCE3EB}
.coord-carte svg{width:28px;height:28px;flex:none;fill:none;stroke:#2B76A6;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.coord-carte div{display:flex;flex-direction:column;gap:4px}
.coord-carte span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#2F7FB0}
.coord-carte a,.coord-carte strong{font-size:19px;font-weight:900;color:#0B1921;text-decoration:none;line-height:1.4}
.coord-carte a:hover{color:#2B76A6}
.coord-carte small{font-size:14px;color:#5B6B78}
.formu{background:#F3F8FC;padding:48px;display:flex;flex-direction:column;gap:32px}
@media (max-width:600px){.formu{padding:28px 20px}}
.etape-f{display:flex;flex-direction:column;gap:16px}
.etape-f-titre{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:900}
.etape-f-titre span{width:32px;height:32px;border-radius:50%;background:#0B1921;color:#FFFFFF;font-size:14px;display:flex;align-items:center;justify-content:center}
.choix{display:flex;flex-wrap:wrap;gap:8px}
.choix button{font:700 15px Lato,sans-serif;color:#0B1921;background:#FFFFFF;border:1.5px solid #C9D6E2;padding:12px 18px;cursor:pointer;transition:all .2s}
.choix button:hover{border-color:#4BA6DC}
.choix button.on{background:#0B1921;border-color:#0B1921;color:#FFFFFF}
.champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
@media (max-width:600px){.champs{grid-template-columns:minmax(0,1fr)}}
.depot{display:flex;align-items:center;gap:16px;border:2px dashed #9FB4C6;background:#FFFFFF;padding:20px 24px;cursor:pointer}
.depot svg{width:32px;height:32px;fill:none;stroke:#2B76A6;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.depot strong{display:block;font-size:16px}
.depot small{font-size:14px;color:#5B6B78}
.envoi{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center}
.envoi button{font:900 15px Lato,sans-serif;letter-spacing:.08em;text-transform:uppercase;background:#4BA6DC;color:#0B1921;border:0;padding:18px 32px;cursor:pointer}
.envoi button:hover{background:#8CCBEF}
.envoi small{font-size:13px;color:#5B6B78;max-width:360px;line-height:1.5}
.apres{background:#0B1921;color:#FFFFFF}
.apres-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;counter-reset:a}
@media (max-width:860px){.apres-grille{grid-template-columns:minmax(0,1fr)}}
.apres-grille div{display:flex;flex-direction:column;gap:10px;padding-top:24px;border-top:2px solid #4BA6DC}
.apres-grille em{font-style:normal;font-size:13px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#4BA6DC}
.apres-grille strong{font-size:22px}
.apres-grille span{font-size:16px;line-height:1.65;color:#B8C6D3}
.faq{max-width:900px;margin:0 auto;padding:112px 24px 0;display:flex;flex-direction:column;gap:12px}
.q{border-bottom:1px solid #DCE3EB}
.q button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;border:0;padding:22px 0;font:900 19px Lato,sans-serif;color:#0B1921;text-align:left;cursor:pointer}
.q button span{width:32px;height:32px;flex:none;border-radius:50%;border:1.5px solid #0B1921;display:flex;align-items:center;justify-content:center;font-size:18px;transition:transform .2s}
.q.ouvert button span{transform:rotate(45deg);background:#4BA6DC;border-color:#4BA6DC}
.q p{margin:0;padding:0 0 22px;font-size:17px;line-height:1.7;color:#3A4A57;display:none}
.q.ouvert p{display:block}
