@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(dm-sans.woff2) format('woff2')}

:root{--brand:#55B6FF;--brand-dark:#1E8AD6;--brand-darker:#146BA3;--brand-navy:#0F1E3D;--brand-navy-2:#172B55;--brand-pale:#E6F4FF;--brand-bg:#F0F8FF;--accent:#E67E22;--accent-hover:#D35400;--white:#fff;--gray-50:#F8FAFB;--gray-100:#F1F4F7;--gray-200:#E2E7ED;--gray-400:#94A3B8;--gray-600:#64748B;--gray-800:#1E293B;--success:#059669;--star:#FBBC04;--r:4px}
*{margin:0;padding:0;box-sizing:border-box}body{font-family:'DM Sans',system-ui,sans-serif;color:var(--gray-800);background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.6}

.bar{position:sticky;top:0;z-index:100;background:#fff;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px rgba(0,0,0,.1);border-bottom:2px solid var(--gray-200)}
.bar img{height:40px}
.bar .cta{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;text-decoration:none;padding:9px 18px;border-radius:var(--r);font-weight:700;font-size:14px;transition:background .2s}
.bar .cta:hover{background:var(--accent-hover)}
.bar .cta svg{width:16px;height:16px;fill:#fff}
.bar-act{display:flex;align-items:center;gap:8px}
.bar .call{display:inline-flex;align-items:center;gap:6px;color:var(--brand);border:2px solid var(--brand);text-decoration:none;padding:7px 14px;border-radius:var(--r);font-weight:700;font-size:14px;white-space:nowrap}
.bar .call[hidden]{display:none}
.bar .call svg{width:15px;height:15px;fill:currentColor}
.bar .call .lbl{display:none}
.callline{text-align:center;font-size:13.5px;color:var(--gray-600);margin:-6px 0 14px;line-height:1.5}
.callline a{color:var(--brand);font-weight:700}
.callline span{font-size:12px}
@media(max-width:600px){.bar .call{padding:0;width:36px;height:36px;justify-content:center}.bar .call svg{width:17px;height:17px}.bar .call .num{display:none}.bar-act{gap:6px}}

.hero{background:var(--brand-navy);padding:44px 20px 48px;text-align:center;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 26%;z-index:0}
.hero::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(15,30,61,.96) 0%,rgba(15,30,61,.93) 55%,rgba(15,30,61,.80) 100%)}
.hero-logo{height:60px;margin-bottom:16px;position:relative}
.pill{display:inline-flex;align-items:center;gap:6px;background:rgba(85,182,255,.18);border:1px solid rgba(85,182,255,.45);color:var(--brand);padding:5px 14px;border-radius:var(--r);font-size:13px;font-weight:700;margin-bottom:16px;position:relative}
.pill svg{width:14px;height:14px;fill:var(--brand)}
.hero h1{color:#fff;font-size:clamp(24px,5.5vw,40px);font-weight:800;line-height:1.15;margin-bottom:18px;position:relative}
.hero h1 span{color:var(--brand)}
.hero .sub{color:rgba(255,255,255,.88);font-size:16px;max-width:500px;margin:0 auto 10px;line-height:1.5}
.hero-badges{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;max-width:420px}
.hb{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:rgba(255,255,255,.95);padding:10px 14px;border-radius:var(--r);box-shadow:0 4px 14px rgba(0,0,0,.18);white-space:nowrap;font-size:12px;font-weight:700;color:var(--gray-800);min-height:42px}
.hb-wide{grid-column:1 / -1}
.hb svg{width:15px;height:15px;flex-shrink:0}
.hb img{height:16px;width:auto;object-fit:contain}
.hb .hb-stars{display:flex;gap:1px}
.hb .hb-stars svg{width:12px;height:12px;fill:var(--star)}
.hb .hb-label{font-size:12px;font-weight:600;color:var(--gray-600)}
.tags{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:2px 0 14px;width:100%}
.tag{display:inline-flex;align-items:center;gap:6px;background:rgba(85,182,255,.14);border:1px solid rgba(85,182,255,.4);color:#fff;padding:6px 12px;border-radius:var(--r);font-size:13px;font-weight:600;white-space:nowrap}
.tag svg{width:13px;height:13px;fill:var(--brand);flex-shrink:0}
.geo{color:rgba(255,255,255,.85);font-size:12px;margin-top:14px;text-align:center;padding:0 16px;line-height:1.5}
.zmap{max-width:380px;margin:14px auto 0;padding:0 16px}
.zmap svg{width:100%;height:auto;display:block}
.zmap-cap{color:rgba(255,255,255,.85);font-size:13px;text-align:center;margin-top:10px;line-height:1.45;font-weight:600;padding:0 12px}
.htest{margin:14px auto 0;max-width:520px;color:rgba(255,255,255,.82);font-size:13.5px;font-style:italic;line-height:1.5;text-align:center}

.logos{padding:28px 20px 24px;background:#fff;text-align:center;border-bottom:1px solid var(--gray-100)}
.slab{text-align:center;font-size:11px;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:1.8px;margin-bottom:18px}
.logos-row{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;max-width:1100px;margin:0 auto}
.logo-cell{display:flex;align-items:center;justify-content:center;height:56px;width:160px;padding:8px 14px;flex-shrink:0}
.logo-cell img{max-height:32px;max-width:100%;width:auto;object-fit:contain;opacity:.65;filter:grayscale(100%);transition:opacity .25s,filter .25s}
.logo-cell img:hover{opacity:1;filter:grayscale(0%)}
@media(min-width:701px){.logos{padding:36px 20px 32px}.slab{font-size:12px;margin-bottom:22px}.logo-cell{height:60px;width:180px}.logo-cell img{max-height:36px}}
@media(min-width:1024px){.logos-row{flex-wrap:nowrap;gap:16px}.logo-cell{flex:1 1 0;width:auto;min-width:0}}

.fs{background:var(--brand-bg);padding:24px 20px}
.fb{max-width:460px;margin:0 auto;background:#fff;border-radius:var(--r);padding:28px 22px;box-shadow:0 8px 30px rgba(0,0,0,.1);border:1px solid var(--gray-200)}
.fb h2{font-size:20px;font-weight:800;text-align:center;color:var(--brand-dark);margin-bottom:4px}
.fb .fss{text-align:center;color:var(--gray-600);font-size:14px;margin-bottom:20px}
.fg{margin-bottom:12px}
.fg label{display:block;font-size:12px;font-weight:700;color:var(--gray-800);margin-bottom:4px}
.fg input,.fg select,.fg textarea{width:100%;padding:11px 13px;border:2px solid var(--gray-200);border-radius:var(--r);font-size:15px;font-family:inherit;transition:border-color .2s;color:var(--gray-800);background:#fff}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--brand)}
.fg textarea{resize:vertical;min-height:60px}
.fg input.bad{border-color:#C62828;background:#FFF7F7}
.ferr{color:#C62828;font-size:12.5px;font-weight:600;line-height:1.35;margin-top:5px}
.ferr[hidden]{display:none}
#prestations,#zone,#pros,#visite,#contact{scroll-margin-top:76px}
.fhint{color:var(--gray-600);font-size:12.5px;line-height:1.4;margin-top:7px}
.ctc-hint{margin:0 0 10px}.ctc-tarif{margin:-4px 0 12px;color:var(--gray-800);font-weight:600}.ctc-reas{text-align:center;margin-top:9px}
.stp-txt .stp-next{display:block}
.ac-list{list-style:none;margin:6px 0 0;padding:0;border:2px solid var(--gray-200);border-radius:var(--r);background:#fff;overflow:hidden}
.ac-list[hidden]{display:none}
.ac-list li{padding:10px 13px;border-top:1px solid var(--gray-100);font-size:14.5px;font-weight:600;line-height:1.3;color:var(--gray-800);cursor:pointer}
.ac-list li:first-child{border-top:0}
.ac-list li small{display:block;font-size:12.5px;font-weight:400;color:var(--gray-600);margin-top:1px}
.ac-list li:hover,.ac-list li[aria-selected="true"]{background:var(--brand-pale)}
.fbtn{font-family:inherit}
.fg select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%2394A3B8' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.fbtn{width:100%;padding:15px;background:var(--accent);color:#fff;border:none;border-radius:var(--r);font-size:16px;font-weight:800;cursor:pointer;transition:background .2s,transform .1s;margin-top:6px}
.fbtn:hover{background:var(--accent-hover);transform:translateY(-1px)}
.pbadge{display:flex;align-items:center;justify-content:center;gap:6px;background:#FEF3C7;color:#92400E;padding:7px 12px;border-radius:var(--r);font-size:11px;font-weight:700;margin-top:12px}
.pbadge svg{width:15px;height:15px;fill:#92400E;flex-shrink:0}

.divider{display:flex;align-items:center;gap:12px;margin:14px 0;color:var(--gray-400);font-size:13px}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--gray-200)}
.contact-btns{display:flex;flex-direction:column;gap:10px}
.cb{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px;border-radius:var(--r);font-size:15px;font-weight:700;text-decoration:none;transition:all .2s}
.cb-phone{background:#fff;color:var(--brand);border:2px solid var(--brand)}
.cb-phone:hover{background:var(--brand);color:#fff}
.cb-phone svg{width:17px;height:17px;fill:currentColor}
.cb-wa{background:#25D366;color:#fff;border:2px solid #25D366}
.cb-wa:hover{background:#1EBE5A}
.cb-wa svg{width:18px;height:18px;fill:#fff}
.fnote{text-align:center;font-size:11px;color:var(--gray-400);margin-top:10px}
.fnote a{color:var(--gray-600)}

.avis{padding:20px 20px;text-align:center;background:#fff}.rv-head{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:18px}.rv-head .gicon{width:22px;height:22px;flex-shrink:0}.rv-logo{font-weight:800;font-size:17px;color:var(--gray-800)}.rv-score{font-weight:800;font-size:17px;color:var(--gray-800)}.rv-head .cnt{font-size:13px;color:var(--gray-600)}.rv-stars{display:inline-flex;gap:1px}.rv-stars svg{width:15px;height:15px;fill:var(--star)}.rv-grid{max-width:880px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:12px;text-align:left}@media(min-width:680px){.rv-grid{grid-template-columns:1fr 1fr}}.rv-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--r);padding:16px;box-shadow:0 2px 10px rgba(15,30,61,.05)}.rv-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}.rv-av{width:38px;height:38px;border-radius:50%;background:var(--brand-pale);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex-shrink:0}.rv-meta{flex:1;min-width:0}.rv-name{font-weight:700;font-size:14px;color:var(--gray-800);display:flex;align-items:center;gap:5px}.rv-name .rv-g{width:14px;height:14px;flex-shrink:0}.rv-when{font-size:12px;color:var(--gray-400)}.rv-card .rv-stars{margin-bottom:6px}.rv-text{font-size:13.5px;color:var(--gray-600);line-height:1.55}

.chiffres{padding:48px 20px;background:var(--accent);text-align:center}
.chiffres-grid{max-width:800px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.chiffre-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px 12px}
.chiffre-num{font-size:clamp(28px,5vw,40px);font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.1}
.chiffre-label{font-size:13px;font-weight:600;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.04em}
@media(min-width:601px){.chiffres-grid{grid-template-columns:repeat(3,1fr)}}
.stit{text-align:center;font-size:clamp(24px,4vw,34px);font-weight:800;color:var(--brand-dark);line-height:1.25;letter-spacing:-.02em;margin-bottom:28px;max-width:680px;margin-left:auto;margin-right:auto}
.stit span{color:var(--accent)}
.ew{max-width:650px;margin:0 auto}

.qual{padding:24px 20px;background:var(--gray-50)}
.qg{max-width:700px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:10px}
.qc{background:#fff;border-radius:var(--r);padding:14px;display:flex;gap:12px;align-items:flex-start;border:1px solid var(--gray-200)}
.qi{width:34px;height:34px;border-radius:var(--r);background:var(--brand-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.qi svg{width:17px;height:17px;fill:var(--brand-dark)}
.qc h4{font-size:13px;font-weight:700;color:var(--gray-800);margin-bottom:2px}
.qc p{font-size:12px;color:var(--gray-600);line-height:1.5}

.faq{padding:24px 20px;background:var(--gray-50)}

.tarif{padding:44px 20px;text-align:center;background:#fff}
.tarif-lead{max-width:640px;margin:0 auto 18px;font-size:16px;color:var(--gray-800);line-height:1.55}
.tarif-t{margin:0 auto;border-collapse:collapse;width:100%;max-width:520px;font-size:15px;text-align:left}
.tarif-t th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-600);font-weight:700;padding:8px 12px;border-bottom:2px solid var(--gray-200)}
.tarif-t td{padding:11px 12px;border-bottom:1px solid var(--gray-200)}
.tarif-t td:last-child,.tarif-t th:last-child{text-align:right;font-weight:700;white-space:nowrap}
.tarif-note{max-width:560px;margin:14px auto 18px;font-size:13px;color:var(--gray-600);line-height:1.5}
.tarif-cta{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;padding:12px 22px;border-radius:var(--r)}
.tarif-cta:hover{background:var(--accent-hover)}
.refs{padding:26px 20px;text-align:center;background:var(--gray-50);font-size:14px;color:var(--gray-600);line-height:1.6}
.refs strong{color:var(--gray-800)}
.inclus{padding:48px 20px;background:var(--gray-50);text-align:center}
.inclus-intro{max-width:620px;margin:0 auto 24px;font-size:14px;color:var(--gray-600);line-height:1.65;text-align:center}
.inclus-wrap{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:32px;align-items:center}
.inclus-photo img{width:100%;height:100%;max-height:440px;object-fit:cover;display:block;border-radius:8px 8px 0 0;box-shadow:0 18px 44px rgba(15,30,61,.18)}
.inclus-photo .pq{background:var(--brand-navy);color:#fff;padding:11px 16px;border-radius:0 0 8px 8px;box-shadow:0 18px 44px rgba(15,30,61,.18);text-align:left}
.inclus-photo .pq strong{display:block;font-size:13.5px;line-height:1.3;margin-bottom:3px;color:var(--brand)}
.inclus-photo .pq span{display:block;font-size:12px;color:rgba(255,255,255,.82);line-height:1.35}
.inclus-grid{display:grid;grid-template-columns:1fr;gap:8px;text-align:left}
.inclus-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--r)}
.inclus-item svg{width:18px;height:18px;fill:var(--success);flex-shrink:0;margin-top:1px}
.inclus-item span{font-size:14px;color:var(--gray-800);line-height:1.45}
.inclus-plus{background:var(--brand-pale);border-color:var(--brand);text-decoration:none}.inclus-plus svg{fill:var(--brand-dark)}.inclus-plus strong{color:var(--brand-darker)}
.inclus-note{max-width:600px;margin:20px auto 0;font-size:13px;color:var(--gray-600);line-height:1.6;text-align:center}
@media(min-width:560px){.inclus-grid{grid-template-columns:1fr 1fr}}
@media(min-width:860px){.inclus-wrap{grid-template-columns:.82fr 1.18fr;gap:48px}}
.fl{max-width:620px;margin:0 auto}
.fi{border-bottom:1px solid rgba(0,0,0,.08)}
.fq{width:100%;background:none;border:none;text-align:left;padding:14px 0;font-size:14px;font-weight:700;color:var(--gray-800);cursor:pointer;font-family:inherit;display:flex;justify-content:space-between;align-items:center;gap:12px}
.ft{width:22px;height:22px;border-radius:50%;background:var(--brand-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.ft svg{width:11px;height:11px;fill:var(--brand-dark);transition:transform .2s}
.fq.active .ft svg{transform:rotate(45deg)}
.fq.active .ft{background:var(--brand-dark)}
.fq.active .ft svg{fill:#fff}
.fa{max-height:0;overflow:hidden;transition:max-height .3s}
.fa p{padding:0 0 14px;font-size:13px;color:var(--gray-600);line-height:1.6}
.fa.open{max-height:350px}

.bcta{background:linear-gradient(135deg,var(--brand-navy) 0%,var(--brand-navy-2) 100%);padding:28px 20px;text-align:center}
.bcta h3{color:#fff;font-size:20px;font-weight:800;margin-bottom:6px}
.bcta p{color:rgba(255,255,255,.75);font-size:14px;margin-bottom:16px}
.bcta .row{display:flex;flex-direction:column;gap:10px;max-width:380px;margin:0 auto}
.bcta .b1{padding:14px;background:var(--accent);color:#fff;text-decoration:none;border-radius:var(--r);font-weight:800;font-size:15px;transition:background .2s}
.bcta .b1:hover{background:var(--accent-hover)}
.bcta .b2{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px;background:transparent;color:#fff;text-decoration:none;border:2px solid rgba(255,255,255,.3);border-radius:var(--r);font-weight:700;font-size:15px;transition:all .2s}
.bcta .b2 svg{width:16px;height:16px;fill:#fff}
.bcta .b2:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}

.foot{background:var(--gray-800);padding:28px 20px 30px;text-align:center;color:var(--gray-400);font-size:12px;line-height:2}
.foot-rc{color:rgba(255,255,255,.78);font-size:11px;font-weight:600;margin:0 auto 10px;max-width:520px;line-height:1.55;text-align:center;padding:0 14px}
.foot-rc svg{width:12px;height:12px;fill:rgba(255,255,255,.78);vertical-align:-1px;margin-right:4px}
.foot a{color:var(--gray-400);text-decoration:underline}.foot a:hover{color:#fff}

.sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:99;background:#fff;padding:9px 14px;box-shadow:0 -4px 18px rgba(0,0,0,.1);gap:8px}
.sticky a{text-align:center;padding:11px 6px;border-radius:var(--r);font-weight:700;font-size:13px;text-decoration:none;white-space:nowrap}
.sticky .sd{background:var(--accent);color:#fff;flex:0 0 40%}
.sticky .sa{background:var(--brand);color:#fff;flex:1}

@media(max-width:600px){.sticky{display:flex}.hero{padding:30px 16px 36px}.fb{padding:22px 16px}.bar{padding:8px 12px}.bar img{height:32px}.bar .cta{padding:8px 11px;font-size:12px;white-space:nowrap}.bar .cta .num{display:none}.hero-badges{gap:6px}.hb{padding:5px 9px;font-size:10px}.hb svg{width:12px;height:12px}.hb img{height:12px}.hb .hb-stars svg{width:10px;height:10px}.hb .hb-label{font-size:10px}.chiffres{padding:32px 12px}.chiffres-grid{gap:8px}.chiffre-num{font-size:22px}.chiffre-label{font-size:9px;letter-spacing:.02em}.chiffre-item{padding:12px 4px}}
@media(min-width:601px){.qg{grid-template-columns:1fr 1fr 1fr;max-width:900px}.hero{padding:48px 28px 52px}.hero h1{font-size:38px}}

/* Hero centré, épuré */
.hero{text-align:center}
.hero-inner{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:0;align-items:center;position:relative}
.hero-text{width:100%;max-width:680px;text-align:center;display:flex;flex-direction:column;align-items:center;position:relative;z-index:2}

/* Section Zone d'intervention */
.zone-intervention{background:#fff;padding:60px 20px;text-align:center}
.zone-title{font-size:clamp(24px,4vw,34px);font-weight:800;color:var(--brand-dark);margin-bottom:10px;letter-spacing:-.02em;line-height:1.25}
.zone-sub{color:var(--gray-600);font-size:15px;max-width:580px;margin:0 auto 36px;line-height:1.55}
.zone-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:32px;align-items:center}
.zone-map{display:flex;justify-content:center}
.zone-map svg{width:100%;height:auto;display:block;max-width:440px}
.zmap-large svg path[fill*="rgba(255,255,255"]{fill:rgba(20,107,163,.06);stroke:rgba(20,107,163,.3)}
.zone-list{display:flex;flex-direction:column;text-align:left;max-width:520px;margin:0 auto;width:100%;border-top:1px solid #E5E9EE}
.zone-row{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 4px;border-bottom:1px solid #E5E9EE;gap:20px}
.zone-dept-label{color:var(--brand-dark);font-size:15px;font-weight:700;flex-shrink:0;min-width:140px}
.zone-dept-info{display:flex;flex-direction:column;gap:2px;text-align:right;flex:1}
.zone-num{color:var(--gray-600);font-size:13px;font-weight:600;letter-spacing:.05em}
.zone-cities{color:var(--gray-600);font-size:13px;line-height:1.45}

/* Desktop : hero photo + texte aligné à gauche */
@media(min-width:1024px){
    .hero{padding:78px 28px 86px;min-height:auto;position:relative;overflow:hidden}
    .hero::after{background:linear-gradient(100deg,rgba(15,30,61,.97) 0%,rgba(15,30,61,.93) 38%,rgba(15,30,61,.62) 62%,rgba(15,30,61,.30) 100%)}
    .hero-bg{object-position:70% 30%}
    .hero-inner{flex-direction:column;gap:0;align-items:flex-start;padding-bottom:0;max-width:1120px;margin:0 auto}
    .hero-text{text-align:left;align-items:flex-start;flex:none;width:100%;max-width:580px;padding:0;justify-content:center;position:relative;z-index:2}
    .hero-text h1{text-align:left;font-size:46px;max-width:560px}
    .hero-text .sub{margin:0 0 18px;text-align:left;max-width:520px}
    .hero-text .htest{text-align:left;margin:14px 0 0;max-width:520px}
    .hero-text .gb{margin:0 0 12px}
    .hero-text .pill{margin:0 0 16px}
    .hero-text .hero-badges{justify-content:flex-start}
    .hero-text .tags{justify-content:flex-start;flex-wrap:wrap;gap:10px;max-width:560px;margin-top:6px}
    .zone-grid{grid-template-columns:1fr 1fr;gap:56px;text-align:left;align-items:center}
    .zone-list{margin:0;max-width:none}
}
@media(min-width:1200px){
    .hero{padding:92px 28px 100px}
    .hero-text h1{font-size:52px}
    .hero-text .tags{gap:12px}
}

/* Section À propos */
.about{background:linear-gradient(180deg,#F8FAFC 0%,#fff 100%);padding:72px 20px 36px;text-align:center;position:relative;overflow:hidden}
.about::before{content:'';position:absolute;top:-100px;right:-100px;width:300px;height:300px;background:radial-gradient(circle,rgba(85,182,255,.08),transparent 70%);border-radius:50%;pointer-events:none}
.about::after{content:'';position:absolute;bottom:-100px;left:-100px;width:300px;height:300px;background:radial-gradient(circle,rgba(230,126,34,.05),transparent 70%);border-radius:50%;pointer-events:none}
.about-inner{max-width:1060px;margin:0 auto;position:relative;z-index:1}
.about-eyebrow{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px;display:inline-block;padding:6px 14px;background:rgba(230,126,34,.1);border-radius:20px}
.about-title{font-size:clamp(24px,4vw,34px);font-weight:800;color:var(--brand-dark);line-height:1.25;letter-spacing:-.02em;margin-bottom:20px;text-wrap:balance}
.about-title span{color:var(--accent);white-space:nowrap}
.about-lead{color:var(--gray-600);font-size:16px;line-height:1.7;margin:0}
.about-grid{display:grid;gap:32px;align-items:center}
.about-photo{position:relative}
.about-photo img{width:100%;height:auto;display:block;border-radius:8px 8px 0 0;box-shadow:0 18px 44px rgba(15,30,61,.18)}
.about-photo .pq{background:var(--brand-navy);color:#fff;padding:11px 16px;border-radius:0 0 8px 8px;box-shadow:0 18px 44px rgba(15,30,61,.18)}
.about-photo .pq strong{display:block;font-size:13.5px;line-height:1.3;margin-bottom:3px;color:var(--brand)}
.about-photo .pq span{display:block;font-size:12px;color:rgba(255,255,255,.82);line-height:1.35}


@media(min-width:701px){
    .about{padding:88px 24px}
    .about-title{font-size:34px}
}
@media(min-width:860px){
    .about{text-align:left}
    .about-grid{grid-template-columns:1fr 1fr;gap:52px}
}

/* v2 : formulaire dans le hero, un seul appel à l'action */
html{scroll-behavior:smooth}
#devis{scroll-margin-top:76px}
.hero .fb{position:relative;z-index:2;width:100%;max-width:460px;margin:22px auto 0;text-align:left}
.rv-card.rv-feat{grid-column:1 / -1}
@media(max-width:600px){.hero .htest{display:none}.hero .sub{font-size:15px;margin-bottom:6px}.hero .fb{margin-top:16px}}
@media(min-width:1024px){
.hero .hero-inner{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:48px}
.hero .hero-text{flex:1 1 0;min-width:0;max-width:580px}
.hero .fb{flex:0 0 420px;max-width:420px;margin:0}
.hero .hero-text h1{font-size:42px;max-width:none}
}

/* v4 : logos clients en haut de page, bouton de devis qui suit sur mobile */
.hero-logos{width:100%;max-width:420px;background:rgba(255,255,255,.96);border-radius:var(--r);padding:9px 14px 11px;margin:2px 0 0;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.hl-label{font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--gray-600);text-align:center;margin-bottom:7px}
.hl-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.hl-row img{height:22px;width:auto;max-width:18%;object-fit:contain;filter:grayscale(100%);opacity:.85}
.mcta{display:none}
@media(max-width:600px){.hero .tags{display:none}}
@media(max-width:860px){
.mcta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:99;background:#fff;padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px rgba(0,0,0,.12);transform:translateY(110%);visibility:hidden;transition:transform .25s ease,visibility .25s}
.mcta.on{transform:none;visibility:visible}
.mcta a{display:block;text-align:center;background:var(--accent);color:#fff;text-decoration:none;font-weight:800;font-size:15px;padding:13px;border-radius:var(--r)}
.foot{padding-bottom:84px}
body.mcta-on .bar .cta{visibility:hidden}
}
@media(min-width:1024px){.hero-logos{max-width:520px;margin:16px 0 0;padding:11px 18px 13px}.hl-label{text-align:left}.hl-row img{height:28px}}
@media(prefers-reduced-motion:reduce){.mcta{transition:none}html{scroll-behavior:auto}}

/* v5 : formulaire en trois étapes */
.stp{border:0;padding:0;margin:0;min-width:0}
.stp+.stp{margin-top:18px}
.stp legend{font-size:15px;font-weight:700;color:var(--gray-800);margin-bottom:12px;padding:0;line-height:1.35}
.steps-on .stp+.stp{margin-top:0}
.steps-on .stp[hidden]{display:none}
.stp-prog{display:none}
.steps-on .stp-prog{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.stp-count{font-size:12px;font-weight:700;color:var(--gray-600);white-space:nowrap}
.stp-bar{flex:1;height:4px;background:var(--gray-200);border-radius:2px;overflow:hidden}
.stp-bar i{display:block;height:100%;width:25%;background:var(--brand-dark);transition:width .25s ease}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.opt{position:relative;display:flex}
.opt span{flex:1}
.stp-hint{margin:-6px 0 10px}
.opt.chk span{justify-content:flex-start;text-align:left;padding-left:12px}
.opt.chk span::before{content:"";flex:none;width:18px;height:18px;margin-right:10px;border:2px solid var(--gray-400);border-radius:3px;background:#fff center/12px no-repeat}
.opt.chk input:checked+span::before{border-color:var(--accent);background-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E")}
.opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.opt span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:9px 8px;border:2px solid var(--gray-200);border-radius:var(--r);font-size:14.5px;font-weight:600;color:var(--gray-800);background:#fff;transition:border-color .15s,background .15s}
.opt:hover span{border-color:var(--brand)}
.opt input:checked+span{border-color:var(--accent);background:#FFF6EC}
.opt input:focus-visible+span{outline:3px solid var(--brand);outline-offset:2px}
.stp-next{display:none;width:100%;margin-top:12px;padding:13px;background:var(--accent);color:#fff;border:0;border-radius:var(--r);font-family:inherit;font-size:15px;font-weight:800;cursor:pointer}
.steps-on .stp.has-sel .stp-next{display:block}
.opt span.opt-col{flex-direction:column;justify-content:center}
.opt-sub{display:block;font-size:12px;font-weight:500;color:var(--gray-600);margin-top:2px}
.stp-back,.joblink{background:none;border:0;padding:8px 4px;font-family:inherit;font-size:13px;color:var(--gray-600);cursor:pointer;text-decoration:underline}
.joblink{display:none}
.steps-on .joblink{display:block;margin:12px auto 0}
.jobline{margin:14px 0 0;text-align:center;font-size:13px;line-height:1.45;color:var(--gray-600)}
.jobline a{color:var(--gray-800);font-weight:700;white-space:nowrap;text-decoration:underline;text-decoration-color:var(--gray-400);text-underline-offset:2px}
.jobhint{font-size:13.5px;line-height:1.45;color:#5C4400;background:#FFF3CD;border:1px solid #F2C96B;padding:9px 11px;border-radius:var(--r);margin:4px 0 10px}
.jobhint[hidden]{display:none}
.jobhint a{color:#5C4400;font-weight:800;white-space:nowrap}
.b2bnote{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--gray-200);text-align:center;font-size:13px;line-height:1.45;color:var(--gray-600)}
.b2bnote[hidden]{display:none}
.b2bnote a{color:var(--gray-800);font-weight:700;white-space:nowrap;text-decoration:underline;text-decoration-color:var(--gray-400);text-underline-offset:2px}
.steps-on .joblink{color:var(--gray-800);font-weight:600;font-size:13.5px;text-decoration-color:var(--gray-400);text-underline-offset:3px}
.stp-back{display:block;margin:8px auto 0}
.stp-back[hidden]{display:none}
.jobmsg{text-align:center;padding:8px 0 0}
.jobmsg[hidden]{display:none}
.jobmsg p{font-size:15px;color:var(--gray-800);line-height:1.5;margin-bottom:10px}
.jobmsg a{color:var(--brand-darker);font-weight:700;white-space:nowrap}
@media(max-width:600px){.hero .fb .fss{display:none}.hero .fb h2{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.stp-bar i,.opt span{transition:none}}

/* v6 : le bouton de devis attire l'oeil une fois le formulaire hors de l'écran */
@keyframes ctaNudge{0%,20%,100%{transform:none}4%{transform:scale(1.08) rotate(-3deg)}8%{transform:scale(1.08) rotate(3deg)}12%{transform:scale(1.05) rotate(-2deg)}16%{transform:scale(1.02) rotate(1deg)}}
@keyframes ctaBeat{0%,20%,100%{transform:none}5%{transform:scale(1.04)}10%{transform:none}15%{transform:scale(1.03)}}
@keyframes ctaHalo{0%{box-shadow:0 0 0 0 rgba(230,126,34,.65)}25%{box-shadow:0 0 0 11px rgba(230,126,34,0)}100%{box-shadow:0 0 0 0 rgba(230,126,34,0)}}
body.mcta-on .bar .cta{animation:ctaNudge 3.5s ease-in-out infinite,ctaHalo 3.5s ease-out infinite}
.mcta.on a{animation:ctaBeat 3.5s ease-in-out .3s infinite,ctaHalo 3.5s ease-out .3s infinite}
body.mcta-on .bar .cta:hover,body.mcta-on .bar .cta:focus-visible{animation:none}
@media(prefers-reduced-motion:reduce){body.mcta-on .bar .cta,.mcta.on a{animation:none}}

/* v8 : haut de page épuré, le formulaire est la seule surface blanche */
.h-eyebrow{color:rgba(255,255,255,.85);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.hero .hero-text h1{margin-bottom:14px}
.hero .hero-text .sub{margin-bottom:20px}
.h-rating{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px 9px;color:#fff;font-size:14px;margin-bottom:18px}
.h-rating>svg{width:17px;height:17px;flex-shrink:0;background:#fff;border-radius:50%;padding:2px;box-sizing:content-box}
.h-stars{display:inline-flex;gap:1px}
.h-stars svg{width:15px;height:15px;fill:var(--star)}
.h-rating strong{font-weight:700}
.h-quote{color:rgba(255,255,255,.78);font-style:italic;flex-basis:100%}
.h-points{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:auto auto;justify-content:center;gap:9px 26px;text-align:left}
.h-points li{position:relative;padding-left:22px;color:#fff;font-size:14.5px;font-weight:600;line-height:1.35}
.h-points li::before{content:"";position:absolute;left:3px;top:2px;width:6px;height:11px;border:solid var(--brand);border-width:0 2px 2px 0;transform:rotate(45deg)}
.h-clients{width:100%;max-width:520px;border-top:1px solid rgba(255,255,255,.18);padding-top:16px}
.h-clients p{color:rgba(255,255,255,.7);font-size:13px;margin-bottom:12px}
.h-clients-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.h-clients-row img{height:22px;width:auto;max-width:19%;object-fit:contain;opacity:.92}
.h-clients-row img.inv{filter:brightness(0) invert(1)}
@media(max-width:600px){.h-quote{display:none}.h-points{gap:7px 18px;margin-bottom:18px}.h-points li{font-size:13px}.hero .hero-text .sub{margin-bottom:16px}.h-rating{margin-bottom:14px}.h-clients{padding-top:13px}.h-clients-row img{height:19px}}
@media(min-width:1024px){
.h-eyebrow{font-size:13px;margin-bottom:16px}
.hero .hero-text h1{margin-bottom:18px}
.hero .hero-text .sub{font-size:18px;line-height:1.5;margin-bottom:26px;max-width:540px}
.h-rating{justify-content:flex-start;font-size:15px;margin-bottom:24px}
.h-quote{flex-basis:auto}
.h-points{justify-content:flex-start;grid-template-columns:auto auto;gap:12px 40px;margin-bottom:30px}
.h-points li{font-size:16px}
.h-clients{padding-top:20px;max-width:560px}
.h-clients p{font-size:14px;margin-bottom:14px}
.h-clients-row{justify-content:flex-start;gap:30px}
.h-clients-row img{height:26px;max-width:none}
}

/* v8 : réglages fins des logos et du mobile */
.h-clients-row img[alt="Pharow"]{height:18px}
.h-clients-row img[alt="Procos"]{height:26px}
.h-clients-row img[alt="CMSI France"]{height:24px}
.h-clients-row img[alt="Almine Rech"]{height:19px}
@media(max-width:600px){.hero{padding-top:22px}.h-eyebrow{font-size:11.5px;margin-bottom:10px}.hero .hero-text h1{margin-bottom:10px}.hero .hero-text .sub{margin-bottom:12px}.h-rating{margin-bottom:12px}.h-points{gap:6px 14px;margin-bottom:14px}.h-points li{font-size:12.5px;padding-left:19px}.h-clients p{margin-bottom:9px;font-size:12px}.h-clients-row{gap:10px}.h-clients-row img[alt="Pharow"]{height:13px}.h-clients-row img[alt="Procos"]{height:20px}.h-clients-row img[alt="AFEV"]{height:16px}.h-clients-row img[alt="CMSI France"]{height:18px}.h-clients-row img[alt="Almine Rech"]{height:14px}.hero .fb{margin-top:14px}}
@media(min-width:1024px){.h-clients{max-width:580px}.h-clients-row{gap:24px;justify-content:space-between}.h-clients-row img[alt="Pharow"]{height:21px}.h-clients-row img[alt="Procos"]{height:32px}.h-clients-row img[alt="AFEV"]{height:23px}.h-clients-row img[alt="CMSI France"]{height:30px}.h-clients-row img[alt="Almine Rech"]{height:21px}}

/* v13 : cadre orange du formulaire, halo qui revient toutes les 4 s tant qu'on n'y a pas touché */
.hero .fb{--fbsh:0 8px 30px rgba(0,0,0,.1);border:3px solid var(--accent);box-shadow:var(--fbsh)}
@keyframes fbRing{0%{box-shadow:var(--fbsh),0 0 0 0 rgba(230,126,34,.8)}100%{box-shadow:var(--fbsh),0 0 0 22px rgba(230,126,34,0)}}
@keyframes fbLoop{0%{box-shadow:var(--fbsh),0 0 0 0 rgba(230,126,34,.8)}30%{box-shadow:var(--fbsh),0 0 0 22px rgba(230,126,34,0)}100%{box-shadow:var(--fbsh),0 0 0 0 rgba(230,126,34,0)}}
.hero .fb.ring{animation:fbRing 1s ease-out 2}
.hero .fb.ringloop{animation:fbLoop 4s ease-out infinite}
@media(prefers-reduced-motion:reduce){.hero .fb.ring,.hero .fb.ringloop{animation:none}}

/* v10 : plus d'air sous les logos sur mobile, formulaire plus large sur ordinateur */
@media(max-width:600px){.hero .fb{margin-top:28px}}
@media(min-width:601px) and (max-width:1023px){.hero .fb{margin-top:32px}}
@media(min-width:1024px){
.hero .fb{flex:0 0 460px;max-width:460px;padding:34px 30px 30px;--fbsh:0 18px 50px rgba(8,16,36,.45)}
.hero .fb h2{font-size:23px;margin-bottom:6px}
.hero .fb .fss{font-size:15px;margin-bottom:22px}
.hero .fb .stp legend{font-size:16.5px;margin-bottom:14px}
.hero .fb .opts{gap:10px}
.hero .fb .opt span{min-height:58px;font-size:16px}
.hero .fb .fg input,.hero .fb .fg select,.hero .fb .fg textarea{padding:13px 14px;font-size:16px}
.hero .fb .fbtn{padding:17px;font-size:17px}
}
@media(min-width:1200px){
.hero .hero-inner{max-width:1180px}
.hero .fb{flex-basis:510px;max-width:510px;padding:38px 36px 32px}
}
@media(min-width:1024px) and (max-width:1199px){
.hero .fb{flex-basis:440px;max-width:440px}
.hero .hero-text h1{font-size:33px}
.hero .hero-text .sub{font-size:16.5px}
.h-points{gap:10px 22px}
.h-points li{font-size:14.5px}
.h-clients-row{gap:14px}
.h-clients-row img[alt="Pharow"]{height:17px}.h-clients-row img[alt="Procos"]{height:26px}.h-clients-row img[alt="AFEV"]{height:19px}.h-clients-row img[alt="CMSI France"]{height:24px}.h-clients-row img[alt="Almine Rech"]{height:17px}
}


/* ===== Site principal : navigation, fil d'Ariane, blocs de contenu ===== */
.bar{gap:12px}
.bar .brand{display:flex;align-items:center;flex-shrink:0}
.nav{display:none;align-items:center;gap:22px;margin-left:auto;margin-right:18px}
.nav a,.nav summary{font-size:14.5px;font-weight:600;color:var(--gray-800);text-decoration:none;cursor:pointer;list-style:none}
.nav summary::-webkit-details-marker{display:none}
.nav a:hover,.nav summary:hover{color:var(--brand-dark)}
.nav details{position:relative}
.nav summary::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:currentColor;transform:translateY(2px)}
.nav-menu{position:absolute;top:calc(100% + 14px);left:-16px;background:#fff;border:1px solid var(--gray-200);border-radius:10px;box-shadow:0 14px 38px rgba(15,30,61,.14);padding:8px;min-width:270px;display:grid;gap:2px;z-index:60}
.nav-menu a{display:block;padding:9px 12px;border-radius:6px;font-weight:600;font-size:14px}
.nav-menu a:hover{background:var(--brand-pale)}
.nav a[aria-current="page"]{color:var(--brand-dark)}
.burger{margin-left:auto;margin-right:4px}
.burger summary{list-style:none;cursor:pointer;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:2px solid var(--gray-200);border-radius:var(--r)}
.burger summary::-webkit-details-marker{display:none}
.burger summary svg{width:22px;height:22px;fill:var(--gray-800)}
.burger-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--gray-200);box-shadow:0 18px 30px rgba(15,30,61,.12);padding:10px 16px 18px;display:grid;gap:2px;max-height:75vh;overflow:auto}
.burger-panel a{display:block;padding:11px 6px;font-weight:600;font-size:15.5px;color:var(--gray-800);text-decoration:none;border-bottom:1px solid var(--gray-100)}
.burger-panel .bp-t{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-600);font-weight:700;padding:12px 6px 4px}
@media(min-width:1024px){.nav{display:flex}.burger{display:none}}
@media(max-width:1023px){.bar .bar-act{margin-left:0}}

.bc{max-width:1160px;margin:0 auto;padding:10px 20px 0;font-size:12.5px;color:rgba(255,255,255,.75);position:relative;z-index:2}
.bc a{color:rgba(255,255,255,.85);text-decoration:none}
.bc a:hover{text-decoration:underline}
.bc span[aria-current]{color:#fff}

/* Bloc « en bref » : faits clés, lisibles par les humains et les IA */
.brief{padding:44px 20px 10px;background:#fff}
.brief-box{max-width:900px;margin:0 auto;border:1px solid var(--gray-200);border-left:4px solid var(--brand-dark);border-radius:var(--r);padding:18px 20px;background:var(--gray-50)}
.brief-box h2{font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-dark);margin:0 0 10px}
.brief-box ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.brief-box li{font-size:14.5px;line-height:1.5;color:var(--gray-800);padding-left:20px;position:relative}
.brief-box li::before{content:"";position:absolute;left:2px;top:8px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
@media(min-width:760px){.brief-box ul{grid-template-columns:1fr 1fr;column-gap:28px}}

/* Ce que vous devez attendre : cartes courtes */
.expect{padding:56px 20px;background:#fff}
.expect .qg{max-width:1000px}
.expect .qc p{font-size:14px}
@media(min-width:760px){.expect .qg{grid-template-columns:1fr 1fr}}

/* Grille des services (accueil, autres services) */
.svc{padding:60px 20px;background:var(--gray-50)}
.svc-grid{max-width:1160px;margin:0 auto;display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:620px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.svc-grid{grid-template-columns:repeat(4,1fr)}}
.svc-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--gray-200);border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
.svc-card:hover{box-shadow:0 14px 34px rgba(15,30,61,.12);transform:translateY(-2px)}
.svc-card img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;background:var(--gray-100)}
.svc-card .sc-b{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.svc-card h3{font-size:16.5px;margin:0;color:var(--gray-800)}
.svc-card p{font-size:13.5px;line-height:1.5;color:var(--gray-600);margin:0;flex:1}
.svc-card .sc-l{font-size:13.5px;font-weight:700;color:var(--brand-dark);margin-top:4px}
.svc.mini .svc-card img{aspect-ratio:16/9}

/* Texte courant : à propos, pages légales */
.prose{max-width:780px;margin:0 auto;padding:48px 20px 60px}
.prose h1{font-size:30px;line-height:1.2;color:var(--brand-dark);margin:0 0 16px}
.prose h2{font-size:20px;color:var(--gray-800);margin:30px 0 10px}
.prose p,.prose li{font-size:15.5px;line-height:1.65;color:var(--gray-800)}
.prose dl{display:grid;grid-template-columns:1fr;gap:4px 18px;margin:0}
.prose dt{font-weight:700;color:var(--gray-800);margin-top:12px}
.prose dd{margin:0;color:var(--gray-600)}
@media(min-width:700px){.prose dl{grid-template-columns:260px 1fr}.prose dt{margin-top:0}}
.pagehead{background:var(--brand-navy);color:#fff;padding:26px 20px 34px}
.pagehead .bc{padding:0 0 10px;max-width:780px}
.pagehead h1{max-width:780px;margin:0 auto;font-size:30px;line-height:1.2}
.pagehead p{max-width:780px;margin:10px auto 0;color:rgba(255,255,255,.82);font-size:16px;line-height:1.55}

/* Pied de page enrichi */
.foot-grid{max-width:1160px;margin:0 auto 18px;display:grid;gap:22px;grid-template-columns:1fr;text-align:left}
@media(min-width:760px){.foot-grid{grid-template-columns:1.3fr 1fr 1fr}}
.foot-grid h4{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:0 0 10px}
.foot-grid p,.foot-grid li{font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.75);margin:0}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid a{color:rgba(255,255,255,.85)}
.foot-logo{height:34px;width:auto;margin-bottom:10px;filter:brightness(0) invert(1)}

/* Sous-titres de section et paragraphes courts */
.lead{max-width:680px;margin:-8px auto 26px;text-align:center;font-size:15.5px;line-height:1.6;color:var(--gray-600)}
.zone-compact{padding:46px 20px;background:#fff;text-align:center}
.zone-compact .zc-list{max-width:900px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.zone-compact .zc-list span{border:1px solid var(--gray-200);border-radius:20px;padding:7px 14px;font-size:14px;font-weight:600;color:var(--gray-800);background:var(--gray-50)}
.bcta h2{color:#fff;font-size:22px;font-weight:800;margin:0 0 6px;line-height:1.25}
.qc h3{font-size:14.5px;font-weight:700;color:var(--gray-800);margin:0 0 3px}
.qc p{font-size:13px}
.hero-text .bc{padding:0;margin:0 0 12px;max-width:none;text-align:left}
@media(max-width:600px){.hero-text .bc{text-align:center}}
.hero-text .h-quote{margin:0 0 14px}
.prose h3{font-size:16.5px;color:var(--gray-800);margin:20px 0 6px}
@media(max-width:600px){.bar .cta-l{display:none}.bar .cta{text-transform:none}.bar{gap:8px}.bar-act{gap:6px}.burger{margin-right:0}}
@media(max-width:360px){.bar img{height:28px}}
.bar .cta-s{display:none}
@media(max-width:600px){.bar .cta-s{display:inline}}
@media(max-width:350px){.bar .call{display:none}}

/* Logos clients : hauteur propre à chaque logo, retour à la ligne propre */
.h-clients{max-width:600px}
.h-clients-row{flex-wrap:wrap;justify-content:flex-start;gap:16px 28px}
.h-clients-row img,.h-clients-row img[alt]{height:var(--h,22px)!important;max-width:none;width:auto;opacity:.92}
@media(max-width:600px){.h-clients-row{justify-content:center;gap:12px 20px}.h-clients-row img,.h-clients-row img[alt]{height:calc(var(--h,22px)*.8)!important}}

/* Bloc « en bref » : sans bande latérale, faits en grille avec coches */
.brief{padding:56px 20px 48px;background:#fff}
.brief-box{max-width:1080px;margin:0 auto;border:0;border-radius:0;padding:0;background:none}
.brief-box h2{font-size:26px;letter-spacing:0;text-transform:none;color:var(--brand-dark);text-align:center;margin:0 0 26px;font-weight:800}
.brief-box ul{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--gray-200)}
.brief-box li{font-size:15px;line-height:1.55;padding:16px 4px 16px 34px;border-bottom:1px solid var(--gray-200)}
.brief-box li::before{width:20px;height:20px;left:2px;top:16px;border-radius:50%;background:var(--brand-pale) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%231E8AD6' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat}
@media(min-width:760px){.brief-box ul{grid-template-columns:1fr 1fr;column-gap:48px;border-top:0}.brief-box li:nth-child(-n+2){border-top:1px solid var(--gray-200)}}

/* Nos engagements : cartes aérées, espace avant le bandeau orange */
.qual{padding:64px 20px 76px}
.qual .stit{margin-bottom:30px}
.qual .qg{max-width:1080px;gap:16px}
.qual .qc{padding:20px 20px 22px;gap:14px;align-items:flex-start}
.qual .qc h3{font-size:15.5px;line-height:1.35;margin:2px 0 6px}
.qual .qc p{font-size:14px;line-height:1.55}
.qual .qi{width:40px;height:40px}
.qual .qi svg{width:19px;height:19px}
@media(min-width:601px) and (max-width:900px){.qual .qg{grid-template-columns:1fr 1fr}}

/* Comment ça se passe : 3 étapes */
.steps3{padding:60px 20px 56px;background:#fff}
.st-l{list-style:none;margin:0 auto;padding:0;max-width:1080px;display:grid;grid-template-columns:1fr;gap:28px}
.st-i{text-align:center;padding:0 8px}
.st-n{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--brand-pale);color:var(--brand-dark);font-weight:800;font-size:18px;margin-bottom:12px}
.st-i h3{font-size:18px;font-weight:700;color:var(--gray-800);margin:0 0 8px;line-height:1.3}
.st-i p{font-size:15px;line-height:1.6;color:var(--gray-600);margin:0 auto;max-width:330px}
.st-cta{text-align:center;margin:30px 0 0}
@media(min-width:800px){.st-l{grid-template-columns:repeat(3,1fr);gap:40px}}

/* Texte courant : liens aux couleurs du site, bouton aéré */
.prose a{color:var(--brand-dark);text-decoration:underline;text-underline-offset:2px}
.prose a:hover{color:var(--brand)}
.prose a.tarif-cta{display:inline-block;margin:6px 0 4px;color:#fff;text-decoration:none}

/* Page à propos : photos et bloc contact */
.ab-photo{margin:22px 0 8px}
.ab-photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px;display:block}
.ab-contact{display:grid;grid-template-columns:1fr;gap:20px;align-items:center;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:18px;margin-top:14px}
.ab-contact img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:70% 40%;border-radius:10px;display:block}
.ab-c-txt p{margin:0 0 12px}
.prose .ab-cta{margin:20px 0 0}
.prose p .tarif-cta,.prose .ab-cta .tarif-cta{display:inline-block}
.prose p:has(> .tarif-cta:only-child){margin-top:24px}
@media(min-width:700px){.ab-contact{grid-template-columns:260px 1fr;padding:22px;gap:26px}}
.prose a[href^="tel:"]{white-space:nowrap}
.rv-co{font-size:12.5px;color:var(--gray-600);font-weight:600;margin-top:1px}

/* Avis : citation d'abord, client et entreprise en pied de carte */
.rv-card{display:flex;flex-direction:column;margin:0}
.rv-top2{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.rv-src{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-600);font-weight:600}
.rv-gg{width:15px;height:15px}
.rv-card blockquote.rv-text{margin:0 0 16px;font-size:14.5px;line-height:1.6;color:var(--gray-800)}
.rv-who{display:flex;align-items:center;gap:12px;border-top:1px solid var(--gray-200);padding-top:14px;margin:0}
.rv-ic{width:38px;height:38px;border-radius:10px;background:var(--brand-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rv-ic svg{width:19px;height:19px;fill:var(--brand-dark)}
.rv-who .rv-name{display:block;font-size:14px;font-weight:700;color:var(--gray-800)}
.rv-who .rv-co{display:block;font-size:13px;color:var(--gray-600);font-weight:600;margin-top:1px}
.rv-card > .rv-stars{margin-bottom:10px}
.rv-logo{width:96px;height:52px;border:1px solid var(--gray-200);border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;padding:6px 8px;flex-shrink:0}
.rv-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.rv-who .rv-ic{width:52px;height:52px}
.rv-who{border-top:0;padding-top:4px}
.rv-card blockquote.rv-text{margin-bottom:18px}

.rv-grid{align-items:start}

/* Avis : 2 avis longs côte à côte, puis 3 avis courts */
.rv-grid{align-items:stretch;max-width:1000px}
.rv-card blockquote.rv-text{flex:1}
@media(min-width:760px){.rv-grid{grid-template-columns:repeat(6,1fr);gap:14px}.rv-grid .rv-long{grid-column:span 3}.rv-grid .rv-short{grid-column:span 2}
.rv-short .rv-logo{width:76px;height:46px}.rv-short{padding:16px 16px 18px}}
