:root{--navy:#0B3A5E;--blue:#1572B8;--sky:#1B93DC;--ice:#EAF5FD;--green:#7ED957;--green2:#5DBF38;--ink:#14263A;--mute:#4D6275;--line:#D9E6F0;--bg:#fff;--r:18px;--sh:0 10px 30px rgba(11,58,94,.12)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px;padding-bottom:64px}
img{max-width:100%;display:block}
a{color:var(--blue)}
h1,h2,h3,h4{line-height:1.15;font-weight:800;letter-spacing:-.02em;color:var(--navy)}
.w{width:min(1180px,100% - 40px);margin:0 auto}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 16px;z-index:100}.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px}

/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:999px;background:var(--green);color:#0B3A5E;font-weight:800;font-size:16px;text-decoration:none;border:2px solid var(--green);cursor:pointer;font-family:inherit;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(93,191,56,.4);background:#8CE766}
.btn.ol{background:transparent;border-color:var(--blue);color:var(--blue)}.btn.ol:hover{background:var(--blue);color:#fff;box-shadow:none}
.btn.gh{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);color:#fff}.btn.gh:hover{background:#fff;color:var(--navy)}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.tel .ic,.btn.gh .ic,.sb .ic,.cl .ic{fill:currentColor;stroke:none}

/* en-tête */
.top{background:var(--navy);color:#CFE6F6;font-size:14px}.top .w{display:flex;justify-content:space-between;gap:16px;padding:8px 0}.top a{color:#fff;text-decoration:none;font-weight:700}
.hd{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 2px 14px rgba(11,58,94,.1)}
.hd .w{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.lo img{width:56px;height:56px;object-fit:contain}
.nv{display:flex;gap:6px;margin-left:auto}.nv a{padding:10px 14px;border-radius:999px;color:var(--navy);font-weight:700;font-size:15px;text-decoration:none}.nv a:hover,.nv a[aria-current]{background:var(--ice);color:var(--blue)}
.hr{display:flex;align-items:center;gap:14px}
.tel{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--navy);text-decoration:none;white-space:nowrap}.tel .ic{color:var(--blue)}
.hd .btn{padding:11px 22px;font-size:15px}
.bg{display:none;background:var(--navy);border:0;border-radius:12px;width:46px;height:46px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}.bg i{width:22px;height:2.5px;background:#fff;border-radius:2px}
.mn{position:fixed;inset:0;background:var(--navy);z-index:80;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px}
.mn.on{display:flex}.mn-old{color:#fff;font-size:26px;font-weight:800;text-decoration:none;padding:8px}.mn .tel2{font-size:22px!important;color:var(--green)!important}.mn .btn{margin-top:14px}
.mn .x{position:absolute;top:16px;right:20px;background:none;border:0;color:#fff;font-size:44px;line-height:1;cursor:pointer}

/* hero */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero>img,.ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::before,.ph::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(7,38,64,.93) 0%,rgba(11,58,94,.78) 45%,rgba(21,114,184,.35) 100%)}
.hero>img{object-position:center 60%}
.hero .w{position:relative;z-index:2}
.hero .two{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:72px 0 80px}
.hero h1,.ph h1{color:#fff;font-size:clamp(34px,5.2vw,60px);margin:18px 0}
.hero h1 em,.ph h1 em{font-style:normal;color:var(--green)}
.lead{font-size:clamp(17px,2vw,20px);color:#E3F0FA;max-width:560px}
.pill{display:inline-flex;gap:10px;align-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:8px 16px;font-weight:700;font-size:15px}.pill span{color:#FFD35A;letter-spacing:2px}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}

/* formulaires */
.fc{background:#fff;border-radius:22px;padding:30px;box-shadow:0 24px 60px rgba(0,0,0,.25);color:var(--ink)}
.fc h2,.fc h3{font-size:24px;margin-bottom:16px}
.dv{display:grid;gap:14px}.dv label{display:grid;gap:6px;font-weight:700;font-size:14px;color:var(--navy)}
.dv input,.dv textarea{font:inherit;font-weight:500;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;background:#F7FBFE;color:var(--ink);width:100%}
.dv input:focus,.dv textarea:focus{outline:none;border-color:var(--sky);background:#fff;box-shadow:0 0 0 4px rgba(27,147,220,.18)}
.dv .btn{width:100%;margin-top:4px}
.dv.sm textarea{min-height:90px}


/* bandeau de preuves */
.tr{background:var(--ice);border-bottom:1px solid var(--line)}
.tr .w{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:22px 0;text-align:center}
.tr b{display:block;font-size:clamp(24px,3vw,32px);color:var(--blue);font-weight:800;line-height:1.1}.tr span{font-size:14px;color:var(--mute);font-weight:600}
.tr div+div{border-left:1px solid var(--line)}

/* sections */
.sec{padding:84px 0}.sec.alt{background:linear-gradient(180deg,var(--ice),#F6FBFF)}
.tag{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:13px;margin-bottom:12px}
.tag::before{content:"";width:34px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--sky),var(--green))}.tag.lt{color:var(--green)}
.h2{font-size:clamp(28px,3.6vw,44px);margin-bottom:18px;max-width:780px}
.sub{color:var(--mute);max-width:640px;margin-bottom:34px;font-size:18px}
p+p{margin-top:14px}
.two.c{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.sec .two:not(.c){display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.ck{list-style:none;padding:0;margin:22px 0;display:grid;gap:12px}
.ck li{position:relative;padding-left:36px}.ck li::before{content:"";position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B3A5E' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/16px no-repeat}
.ck.lt{color:#fff}

/* prestations */
.sv{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.svc{display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:var(--sh);text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s;border-bottom:5px solid var(--sky)}
.svc:nth-child(2n){border-bottom-color:var(--green)}
.svc:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(11,58,94,.2)}
.svc img{aspect-ratio:4/3;width:100%;object-fit:cover}
.svc div{padding:22px;position:relative}.svc .ic{position:absolute;top:-26px;right:18px;width:52px;height:52px;padding:13px;border-radius:50%;background:var(--green);color:var(--navy);box-shadow:0 6px 16px rgba(0,0,0,.18)}
.svc h3{font-size:21px;margin-bottom:8px}.svc p{color:var(--mute);font-size:15.5px}.mo{display:inline-block;margin-top:12px;font-weight:800;color:var(--blue)}

/* avant/après */
.bg2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bg2 figure{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.bg2 img{aspect-ratio:3/4;width:100%;object-fit:cover}
.bg2 figcaption{position:absolute;left:12px;top:12px;background:var(--navy);color:#fff;font-weight:800;border-radius:999px;padding:5px 16px;font-size:14px}.bg2 .ap{background:var(--green);color:var(--navy)}
.cap{color:var(--mute);font-size:14px;text-align:center;margin-top:12px}

/* étapes */
.stp{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:34px;counter-reset:s}
.stp li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;position:relative;box-shadow:0 4px 16px rgba(11,58,94,.06)}
.stp li span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--sky),var(--blue));color:#fff;font-weight:800;font-size:20px;margin-bottom:16px}
.stp li:nth-child(2n) span{background:linear-gradient(135deg,var(--green),var(--green2));color:var(--navy)}
.stp h3{font-size:19px;margin-bottom:8px}.stp p{color:var(--mute);font-size:15.5px}

/* réalisations */
.rh{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.bn{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:14px}
.bn a{position:relative;border-radius:var(--r);overflow:hidden;display:block}.bn a:first-child{grid-column:span 2;grid-row:span 2}.bn a:nth-child(4){grid-column:span 2}
.bn img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.bn a:hover img{transform:scale(1.06)}
.bn span{position:absolute;left:12px;bottom:12px;background:rgba(11,58,94,.88);color:#fff;font-weight:700;font-size:14px;padding:6px 14px;border-radius:999px}

/* avis */
.rv-g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rv{background:#fff;border:1px solid var(--line);border-top:6px solid var(--sky);border-radius:var(--r);padding:28px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:14px}
.rv:nth-child(2){border-top-color:var(--green)}
.st{color:#F2B544;letter-spacing:3px;font-size:20px}
.rv blockquote{color:var(--ink);font-size:16px;flex:1}.rv figcaption b{display:block;color:var(--navy)}.rv figcaption span{font-size:14px;color:var(--mute)}
.mid{text-align:center;margin-top:34px}.mid .soc{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:14px}

/* labels */
.lab{padding:0 0 70px}.lb{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lb div{background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:26px;text-align:center;border-top:6px solid var(--green)}
.lb div:nth-child(2n){border-top-color:var(--sky)}.lb b{display:block;font-size:34px;color:var(--blue);font-weight:800}.lb span{color:var(--mute);font-weight:600;font-size:15px}

/* zone + faq */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.chips span{background:#fff;border:2px solid var(--sky);color:var(--blue);font-weight:800;padding:8px 18px;border-radius:999px;font-size:15px}
.fq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden}
.fq summary{cursor:pointer;font-weight:800;color:var(--navy);padding:18px 54px 18px 20px;list-style:none;position:relative}
.fq summary::-webkit-details-marker{display:none}
.fq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--ice);color:var(--blue);display:grid;place-items:center;font-size:20px;line-height:1}
.fq details[open] summary::after{content:"–";background:var(--green);color:var(--navy)}
.fq details p{padding:0 20px 18px;color:var(--mute);margin:0}

/* bandeau CTA final */
.cta-s{position:relative;background:var(--navy);color:#fff;padding:84px 0;overflow:hidden}
.cta-s>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta-s::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(110deg,rgba(7,38,64,.95),rgba(21,114,184,.82))}
.cta-s .w{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.cta-s h2{color:#fff;font-size:clamp(28px,3.6vw,44px);margin-bottom:16px}.cta-s p{color:#DCEBF7}
.cl a{display:inline-flex;gap:10px;align-items:center;color:var(--green);font-weight:800;font-size:26px;text-decoration:none}

/* pages internes */
.ph{position:relative;color:#fff;background:var(--navy);overflow:hidden;padding:84px 0 76px}
.ph>img{object-position:center 55%}.ph .w{position:relative;z-index:2}
.ph.sm{padding:60px 0 54px;background:linear-gradient(120deg,var(--navy),var(--blue) 70%,var(--sky))}.ph.sm::before{display:none}
.cr{font-size:14px;color:#BFD9EE;margin-bottom:6px}.cr a{color:#fff}
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.sc{background:#fff;border-radius:var(--r);padding:26px;border:1px solid var(--line);border-top:6px solid var(--sky);box-shadow:0 4px 16px rgba(11,58,94,.06)}
.sc.c1{border-top-color:var(--green)}.sc.c2{border-top-color:#F2B544}
.sc h3{font-size:19px;margin-bottom:12px}.sc ul{list-style:none;padding:0;display:grid;gap:7px;font-size:15.5px;color:var(--mute)}
.sc li{position:relative;padding-left:22px}.sc li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:9px;border-radius:50%;background:var(--green)}.sc.c0 li::before{background:var(--sky)}.sc.c2 li::before{background:#F2B544}
.ph3{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ph3 img{border-radius:var(--r);width:100%;height:100%;object-fit:cover;box-shadow:var(--sh)}
.ph3 img:first-child{grid-row:span 2;aspect-ratio:3/4}.ph3 img+img{aspect-ratio:1/1}
.ph3.s2 img:first-child{grid-row:auto;aspect-ratio:3/4}.ph3.s2 img+img{aspect-ratio:3/4}
.wg{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}
.wy{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 28px 28px 92px;position:relative;box-shadow:0 4px 16px rgba(11,58,94,.06)}
.wy span{position:absolute;left:24px;top:24px;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--sky),var(--blue));color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px}.wy:nth-child(2n) span{background:linear-gradient(135deg,var(--green),var(--green2));color:var(--navy)}
.wy h3{font-size:20px;margin-bottom:8px}.wy p{color:var(--mute)}
.bx{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:var(--sh)}.bx h3{font-size:22px;margin-bottom:12px}
.gg{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gm{border-radius:var(--r);padding:30px;color:#fff;background:linear-gradient(135deg,var(--sky),var(--blue))}
.gm.g1{background:linear-gradient(135deg,var(--blue),var(--navy))}.gm.g2{background:linear-gradient(135deg,var(--green2),#2F9A5A)}.gm h3{color:#fff;font-size:22px;margin-bottom:10px}.gm p{color:#EAF5FD}
.fl{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.fb{font:inherit;font-weight:800;padding:10px 20px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--navy);cursor:pointer}.fb.on,.fb:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.gl{columns:3 280px;column-gap:16px}.gl figure{break-inside:avoid;margin:0 0 16px;border-radius:var(--r);overflow:hidden;position:relative;box-shadow:var(--sh);cursor:zoom-in;background:var(--ice)}.gl figure[hidden]{display:none}
.gl img{width:100%;height:auto}.gl figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;background:linear-gradient(transparent,rgba(7,38,64,.88));color:#fff;font-size:14px;font-weight:600}
.lbx{position:fixed;inset:0;background:rgba(7,38,64,.94);z-index:120;display:grid;place-items:center;padding:20px;cursor:zoom-out;gap:10px}.lbx img{max-height:84vh;max-width:96vw;border-radius:12px}.lbx span{color:#fff;font-weight:600}
.ct{list-style:none;padding:0;display:grid;gap:14px;margin:18px 0 20px}.ct li{display:flex;gap:14px;align-items:center;font-weight:600}.ct .ic{color:var(--blue);width:24px;height:24px}.ct a{color:var(--navy);text-decoration:none;font-weight:800}
.fl2{box-shadow:var(--sh);border:1px solid var(--line)}
.lg h2{font-size:22px;margin:30px 0 8px}.lg p{color:var(--mute)}

/* footer + barre mobile */
.ft{background:var(--navy);color:#CFE3F2;padding:60px 0 24px;font-size:15.5px}.ft .fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.ft h4{color:#fff;margin-bottom:12px;font-size:16px}.ft a{display:block;color:#CFE3F2;text-decoration:none;padding:3px 0}.ft a:hover{color:var(--green)}.ft .so a{display:inline}.ft img{margin-bottom:14px;background:#fff;border-radius:50%;padding:4px}
.cp{border-top:1px solid rgba(255,255,255,.15);margin-top:36px;padding-top:20px;font-size:14px;text-align:center}.cp a{display:inline}
.sb{display:none}

/* animations */
.js .rev{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}.js .rev.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.js .rev{opacity:1;transform:none}}

/* tablette / mobile */
@media(max-width:1020px){
 .sv,.stp{grid-template-columns:repeat(2,1fr)}.sg,.gg,.rv-g{grid-template-columns:1fr 1fr}.ft .fg{grid-template-columns:1fr 1fr}
 .nv,.hr .tel,.hr .btn,.top span:first-child{display:none}.bg{display:flex}.top .w{justify-content:center}
 .hero .two{grid-template-columns:1fr;padding:56px 0}.tr .w{grid-template-columns:repeat(3,1fr);row-gap:18px}.tr div+div{border:0}
}
@media(max-width:760px){
 body{font-size:16px;padding-bottom:70px}.sec{padding:56px 0}.two.c,.sec .two:not(.c),.cta-s .w,.wg{grid-template-columns:1fr;gap:30px}
 .sv,.stp,.sg,.gg,.rv-g,.lb,.ft .fg{grid-template-columns:1fr}.bn{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.bn a:first-child{grid-column:span 2;grid-row:span 2}.bn a:nth-child(4){grid-column:span 1}
 .tr .w{grid-template-columns:repeat(2,1fr)}.tr div:last-child{grid-column:span 2}
 .hd .w{min-height:66px}.lo img{width:48px;height:48px}.fc{padding:22px}.cta .btn{flex:1 1 100%}
 .wy{padding:84px 22px 24px}.wy span{top:22px}.ph{padding:56px 0 50px}.cta-s{padding:56px 0}.rh{align-items:start}
 .sb{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -4px 20px rgba(11,58,94,.18)}
 .sb a{display:flex;gap:8px;align-items:center;justify-content:center;padding:13px;border-radius:999px;font-weight:800;text-decoration:none;background:var(--navy);color:#fff}.sb a.p{background:var(--green);color:var(--navy)}
}

/* ===== Animations / vie ===== */
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.16) translate(-1.2%,-1%)}}
@keyframes up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes fl{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-26px) scale(1.12)}}
@keyframes pu{0%{box-shadow:0 0 0 0 rgba(126,217,87,.65)}70%{box-shadow:0 0 0 16px rgba(126,217,87,0)}100%{box-shadow:0 0 0 0 rgba(126,217,87,0)}}
@keyframes mq{to{transform:translateX(-50%)}}
@keyframes sh{0%{background-position:0 0}100%{background-position:200% 0}}
.hero>img,.ph>img{animation:kb 22s ease-in-out infinite alternate}
.hero .pill,.hero h1,.hero .lead,.hero .cta,.hero .hf,.ph .cr,.ph h1,.ph .lead,.ph .cta{opacity:0;animation:up .8s cubic-bezier(.2,.7,.2,1) forwards}
.hero h1,.ph h1{animation-delay:.15s}.hero .lead,.ph .lead{animation-delay:.3s}.hero .cta,.ph .cta{animation-delay:.45s}.hero .hf{animation-delay:.35s}
.hero h1 em,.ph h1 em{background:linear-gradient(90deg,var(--green),#B8F59A,var(--green));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sh 5s linear infinite}
.bl{position:absolute;z-index:1;border-radius:50%;filter:blur(50px);opacity:.55;pointer-events:none}
.bl.b1{width:380px;height:380px;background:var(--sky);left:-90px;bottom:-120px;animation:fl 12s ease-in-out infinite}
.bl.b2{width:320px;height:320px;background:var(--green);right:8%;top:-90px;opacity:.35;animation:fl 15s ease-in-out infinite reverse}
.hero .btn:not(.gh),.cta-s .btn,.hd .btn{animation:pu 2.6s infinite}
.btn{position:relative;overflow:hidden}.btn::after{content:"";position:absolute;top:0;left:-70%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .6s}.btn:hover::after{left:130%}
.mq{overflow:hidden;background:var(--navy);padding:14px 0;white-space:nowrap}
.mq .mt{display:inline-flex;gap:0;animation:mq 32s linear infinite;will-change:transform}
.mq span{color:#fff;font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase;padding:0 26px;position:relative}
.mq span::after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--green)}
.mq:hover .mt{animation-play-state:paused}
.svc img,.bg2 img,.ph3 img{transition:transform .6s}.svc:hover img{transform:scale(1.08)}.svc{overflow:hidden}.svc img{width:100%}
.svc .ic{transition:transform .4s}.svc:hover .ic{transform:rotate(-12deg) scale(1.12)}
.stp li,.rv,.sc,.wy,.lb div,.bx{transition:transform .3s,box-shadow .3s,opacity .6s}.stp li:hover,.rv:hover,.sc:hover,.wy:hover,.lb div:hover,.bx:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(11,58,94,.16)}
.stp li span{animation:pu 3s infinite}
.sp{position:fixed;left:0;top:0;height:4px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--sky),var(--green));z-index:200}
.hd{transition:box-shadow .3s,min-height .3s}.hd.sc2{box-shadow:0 6px 24px rgba(11,58,94,.18)}
.js .rev.l{transform:translateX(-30px)}.js .rev.r{transform:translateX(30px)}.js .rev.l.in,.js .rev.r.in{transform:none}
.tag::before{transition:width .6s}.in .tag::before,.sec:hover .tag::before{width:56px}
.chips span{transition:transform .25s,background .25s,color .25s}.chips span:hover{transform:translateY(-4px);background:var(--sky);color:#fff}
.bn a span{transition:transform .3s}.bn a:hover span{transform:translateY(-4px)}
@media(prefers-reduced-motion:reduce){.hero>img,.ph>img,.bl,.mq .mt,.btn,.stp li span,.hero h1 em,.ph h1 em{animation:none!important}.hero .pill,.hero h1,.hero .lead,.hero .cta,.hero .hf,.ph .cr,.ph h1,.ph .lead,.ph .cta{opacity:1;animation:none}}

/* réalisations : vignettes réduites, sans agrandissement */
.gl{columns:unset;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.gl figure{margin:0;break-inside:auto;cursor:default;border-radius:14px;box-shadow:0 4px 14px rgba(11,58,94,.1)}
.gl img{aspect-ratio:1/1;object-fit:cover;height:auto;transition:transform .5s}.gl figure:hover img{transform:scale(1.07)}
.gl figcaption{font-size:12px;padding:26px 10px 8px}
@media(max-width:1020px){.gl{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.gl{grid-template-columns:repeat(2,1fr);gap:10px}.gl figcaption{font-size:11px}}

/* ===== Estimateur ===== */
.eb{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding:44px;border-radius:24px;color:#fff;background:linear-gradient(120deg,var(--navy),var(--blue) 65%,var(--sky));position:relative;overflow:hidden;box-shadow:var(--sh)}
.eb::after{content:"";position:absolute;right:-60px;top:-80px;width:280px;height:280px;border-radius:50%;background:var(--green);opacity:.28;filter:blur(30px);animation:fl 10s ease-in-out infinite}
.eb h2{color:#fff;font-size:clamp(26px,3.2vw,38px);margin-bottom:10px}.eb p{color:#E3F0FA;max-width:620px}.eb>*{position:relative;z-index:1}
.est{max-width:860px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--sh)}
.eh{display:flex;justify-content:space-between;align-items:center;font-weight:800;color:var(--blue);margin-bottom:10px}.eb2{background:none;border:0;font:inherit;font-weight:800;color:var(--mute);cursor:pointer}
.pb{height:8px;border-radius:8px;background:var(--ice);margin-bottom:28px;overflow:hidden}.pb div{height:100%;width:0;background:linear-gradient(90deg,var(--sky),var(--green));border-radius:8px;transition:width .5s}
.est h2{font-size:clamp(24px,3vw,32px);margin-bottom:22px}.est h3{font-size:18px;margin:26px 0 12px}
.eg{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.eg.g3{grid-template-columns:repeat(3,1fr);margin-bottom:26px}
.ec{font:inherit;text-align:left;background:#F7FBFE;border:2px solid var(--line);border-radius:16px;padding:18px 20px;cursor:pointer;display:grid;gap:4px;transition:transform .2s,border-color .2s,box-shadow .2s}
.ec b{color:var(--navy);font-size:18px}.ec span{color:var(--mute);font-size:14.5px}
.ec:hover{transform:translateY(-3px);border-color:var(--sky);box-shadow:0 10px 24px rgba(11,58,94,.12)}.ec.on{border-color:var(--green2);background:#F1FBEC;box-shadow:0 0 0 3px rgba(126,217,87,.35)}
.ql{font-size:19px;margin-bottom:14px}.ql b{color:var(--blue);font-size:26px}
#qty{width:100%;accent-color:var(--green2);height:34px;margin-bottom:10px}
.chips2{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}.chip{font:inherit;font-weight:800;border:2px solid var(--line);background:#fff;color:var(--navy);padding:11px 20px;border-radius:999px;cursor:pointer}.chip.on{background:var(--blue);border-color:var(--blue);color:#fff}
.rs{text-align:center;margin-bottom:28px}.rs .tag{justify-content:center}
.pr{display:flex;align-items:baseline;justify-content:center;gap:14px;flex-wrap:wrap;margin:8px 0 12px}.pr .n{font-size:clamp(30px,6vw,52px);font-weight:800;color:var(--blue);letter-spacing:-.02em}.pr i{font-style:normal;font-weight:700;color:var(--mute)}
.sm{color:var(--mute);font-weight:600;margin-bottom:14px}.rs .ck{text-align:left;max-width:520px;margin:18px auto}
.wn{background:#FFF8E6;border:1px solid #F2D58A;border-radius:12px;padding:14px 16px;font-size:14.5px;color:#5C4A12;text-align:left}
.est .fc{box-shadow:none;border:1px solid var(--line);background:var(--ice)}.est .fc h3{margin-top:0}.or{text-align:center;margin-top:14px;font-weight:700}
@media(max-width:760px){.est{padding:22px 18px}.eg,.eg.g3{grid-template-columns:1fr}.eb{padding:30px 24px}}
.nv a{white-space:nowrap}.nv{gap:2px}.nv a{padding:10px 12px}
@media(max-width:1240px){.hr .tel span{display:none}}
.hint{color:var(--mute);margin:-12px 0 18px}.ec{position:relative}.ec.on::after{content:"✓";position:absolute;right:14px;top:12px;width:26px;height:26px;border-radius:50%;background:var(--green);color:var(--navy);display:grid;place-items:center;font-weight:800}
.est>div>.btn{margin-top:22px}.btn:disabled{opacity:.45;cursor:not-allowed;animation:none}
.qi{margin-bottom:20px}.qi label{display:flex;justify-content:space-between;gap:10px;font-size:17px}.qi label span{color:var(--blue);font-weight:800}.qi input{width:100%;accent-color:var(--green2);height:30px}
.bd{list-style:none;padding:0;max-width:560px;margin:0 auto 14px;text-align:left;display:grid;gap:8px}.bd li{display:flex;justify-content:space-between;gap:12px;background:var(--ice);border-radius:12px;padding:10px 14px;font-size:15px}.bd small{color:var(--mute)}.bd b{color:var(--navy);white-space:nowrap}
@media(max-width:560px){.bd li{flex-direction:column;gap:2px}}
.e5{background:var(--green);color:var(--navy);border-radius:999px;padding:4px 14px;font-size:13px}
.back{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font:inherit;font-weight:800;font-size:18px;padding:16px 34px;border-radius:999px;border:2px solid var(--blue);background:#fff;color:var(--blue);cursor:pointer;transition:background .2s,color .2s,transform .2s}.back:hover{background:var(--blue);color:#fff;transform:translateX(-4px)}
.eg.g1{grid-template-columns:repeat(2,1fr)}.ec.on{animation:pop .25s}@keyframes pop{50%{transform:scale(.97)}}
.ec:only-child{grid-column:1/-1}
@media(max-width:760px){.back{width:100%;justify-content:center}}

/* ===== Menu ludique ===== */
.nv{gap:6px;align-items:center}
.nv a{display:inline-flex;align-items:center;gap:8px;position:relative;padding:10px 14px;transition:transform .25s cubic-bezier(.3,1.6,.5,1),background .25s,color .25s}
.nv a .ic{width:18px;height:18px;color:var(--sky);transition:transform .35s cubic-bezier(.3,1.6,.5,1),color .25s}
.nv a::after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--sky),var(--green));transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nv a:hover{transform:translateY(-3px);background:var(--ice);color:var(--blue)}.nv a:hover .ic{transform:rotate(-14deg) scale(1.25);color:var(--green2)}.nv a:hover::after,.nv a[aria-current]::after{transform:scaleX(1)}
.nv a[aria-current]{background:var(--ice);color:var(--blue)}.nv a[aria-current] .ic{color:var(--green2)}
.nv a.hot{background:linear-gradient(120deg,var(--sky),var(--blue));color:#fff;box-shadow:0 6px 16px rgba(21,114,184,.35)}.nv a.hot .ic{color:#fff}.nv a.hot::after{display:none}
.nv a.hot:hover{background:linear-gradient(120deg,var(--blue),var(--navy));color:#fff}.nv a.hot:hover .ic{color:var(--green)}
.nv em,.mn em{font-style:normal;font-size:11px;font-weight:800;background:var(--green);color:var(--navy);padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;animation:pu 2.4s infinite}
@media(max-width:1240px){.nv em{display:none}}
/* menu mobile */
.mn{background:radial-gradient(circle at 85% 8%,rgba(126,217,87,.35),transparent 45%),radial-gradient(circle at 10% 95%,rgba(27,147,220,.5),transparent 50%),var(--navy);justify-content:center;overflow:auto}
.mn .mh{color:#fff;font-size:28px;font-weight:800;margin-bottom:6px;opacity:0;transform:translateY(14px)}
.mn .mg{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(440px,100%);margin:14px 0}
.mn a.mt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.22);border-radius:20px;padding:20px 10px;color:#fff;text-decoration:none;text-align:center;backdrop-filter:blur(6px);opacity:0;transform:translateY(24px) scale(.9);transition:background .25s,transform .25s}
.mn a.mt .ic{width:34px;height:34px;color:var(--green);stroke-width:1.6}.mn a.mt b{font-size:17px;font-weight:800}
.mn a.mt:nth-child(3n+2) .ic{color:#7CCBF5}.mn a.mt:nth-child(3n) .ic{color:#FFD35A}
.mn a.mt:active,.mn a.mt:hover{background:rgba(255,255,255,.22);transform:scale(.97)}
.mn a.mt.hot{grid-column:1/-1;background:linear-gradient(120deg,var(--green),var(--green2));border:0;color:var(--navy);flex-direction:row;gap:12px;padding:18px}.mn a.mt.hot .ic{color:var(--navy)}.mn a.mt.hot em{background:var(--navy);color:#fff}
.mn.on .mh{animation:up .5s .05s forwards}.mn.on a.mt{animation:mi .55s calc(.1s + var(--i)*.07s) cubic-bezier(.2,1.4,.4,1) forwards}
@keyframes mi{to{opacity:1;transform:none}}
.mn .btn{opacity:0}.mn.on .btn{animation:up .5s .55s forwards}
.mn a.tel2{display:inline-flex;align-items:center;gap:10px;color:var(--green)!important;font-size:24px!important;font-weight:800;text-decoration:none;opacity:0}.mn.on a.tel2{animation:up .5s .65s forwards}.mn a.tel2 .ic{fill:currentColor;stroke:none}
.bg{transition:transform .25s,background .25s}.bg:hover{transform:rotate(8deg) scale(1.08);background:var(--blue)}.bg i{transition:width .25s}.bg:hover i:nth-child(2){width:14px}
@media(prefers-reduced-motion:reduce){.mn .mh,.mn a.mt,.mn .btn,.mn a.tel2{opacity:1;transform:none;animation:none!important}}
.mn a.mt:last-child{grid-column:1/-1;flex-direction:row;gap:12px;padding:16px}
.hd .btn{white-space:nowrap}
@media(max-width:1400px){.hr .tel span{display:none}.nv a{padding:10px 11px;gap:6px}.nv em{display:none}}
.lo{flex:none}.nv{margin-left:auto}@media(max-width:1160px){.hr .btn{display:none}}
.cta2{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:18px 0 6px}#talkf{margin-top:18px;text-align:left}

/* ===== Service après vente ===== */
.sav{position:relative;overflow:hidden;color:#fff;padding:84px 0;background:radial-gradient(circle at 90% 0,rgba(126,217,87,.28),transparent 45%),linear-gradient(135deg,var(--navy),var(--blue) 80%,var(--sky))}
.sav h2{color:#fff;font-size:clamp(28px,3.8vw,46px);max-width:880px;margin-bottom:18px}.sav h2 em{font-style:normal;color:var(--green)}
.sav .sl{color:#E3F0FA;max-width:760px;font-size:18px}
.tl{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:40px 0;position:relative}
.tl li{background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.25);border-radius:var(--r);padding:22px 18px;position:relative;backdrop-filter:blur(6px);transition:transform .3s,background .3s}
.tl li:hover{transform:translateY(-6px);background:rgba(255,255,255,.18)}
.tl b{display:block;font-size:22px;color:var(--green);margin-bottom:8px}.tl span{font-size:15px;color:#E3F0FA}
.tl .inf{background:linear-gradient(135deg,var(--green),var(--green2));border:0;box-shadow:0 12px 30px rgba(93,191,56,.45)}.tl .inf b,.tl .inf span{color:var(--navy)}.tl .inf b{font-size:24px}
.sg3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.sg3 article{background:#fff;color:var(--ink);border-radius:var(--r);padding:26px;border-top:6px solid var(--sky)}.sg3 article:nth-child(2){border-top-color:var(--green)}.sg3 article:nth-child(3){border-top-color:#F2B544}
.sg3 h3{font-size:20px;margin-bottom:8px}.sg3 p{color:var(--mute)}
.sav .cta{margin-top:32px}
@media(max-width:1020px){.tl{grid-template-columns:1fr 1fr}.tl .inf{grid-column:1/-1}}
@media(max-width:760px){.tl,.sg3{grid-template-columns:1fr}.sav{padding:56px 0}}

/* ===== Plus ludique / interactif ===== */
.rwl{font-size:clamp(18px,2.4vw,24px);font-weight:700;color:#fff;margin:6px 0 10px}
.rw{color:var(--green);border-bottom:3px solid var(--green)}
.cur{display:inline-block;width:3px;height:1.1em;background:var(--green);margin-left:4px;vertical-align:-.15em;animation:blk 1s steps(2) infinite}@keyframes blk{50%{opacity:0}}
.bas{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);aspect-ratio:4/3;user-select:none;touch-action:pan-y;background:#000}
.bas>img,.bab img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bab{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 50% 0 0)}
.bas span{position:absolute;top:14px;z-index:3;font-weight:800;font-size:14px;padding:6px 16px;border-radius:999px}.bas .l1{left:14px;background:var(--navy);color:#fff}.bas .l2{right:14px;background:var(--green);color:var(--navy)}
.bah{position:absolute;top:0;bottom:0;left:50%;width:4px;margin-left:-2px;background:#fff;z-index:3;pointer-events:none;box-shadow:0 0 12px rgba(0,0,0,.4)}
.bah i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:var(--green);color:var(--navy);display:grid;place-items:center;font-style:normal;font-weight:800;font-size:22px;box-shadow:0 6px 20px rgba(0,0,0,.35);animation:pu 2.4s infinite}
.bas input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4;margin:0}
.svc{transform-style:preserve-3d;will-change:transform}
.gl-glow{position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(126,217,87,.35),transparent 65%);pointer-events:none;z-index:1;transform:translate(-50%,-50%);transition:opacity .3s;opacity:0;left:0;top:0}
.hero:hover .gl-glow{opacity:1}
.pop{position:fixed;z-index:300;pointer-events:none;font-size:22px;animation:popu 1s ease-out forwards}@keyframes popu{to{transform:translate(var(--dx),var(--dy)) scale(.4);opacity:0}}

/* ===== Thème ludique : bleu/vert Batigap + soleil, corail, turquoise ===== */
:root{--sun:#FFC93C;--coral:#FF7A59;--turq:#2EC4B6;--r:24px}
.tag::before{background:linear-gradient(90deg,var(--sky),var(--green),var(--sun))}
.sec{position:relative;overflow:hidden}
.sec.alt::before,.sec.alt::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.sec.alt::before{width:340px;height:340px;right:-110px;top:-120px;background:radial-gradient(circle,rgba(255,201,60,.38),transparent 68%)}
.sec.alt::after{width:300px;height:300px;left:-100px;bottom:-110px;background:radial-gradient(circle,rgba(46,196,182,.30),transparent 68%)}
.sec>.w{position:relative;z-index:1}
.sec:not(.alt){background-image:radial-gradient(rgba(27,147,220,.07) 1.6px,transparent 1.6px);background-size:26px 26px}
.hero,.ph:not(.sm){border-radius:0 0 44px 44px}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;z-index:3;background:linear-gradient(90deg,var(--sky) 0 25%,var(--green) 25% 50%,var(--sun) 50% 75%,var(--coral) 75%)}
.tr{background:linear-gradient(90deg,#EAF5FD,#FFF7DA 50%,#E7FAF1)}
.tr div:nth-child(1) b{color:var(--blue)}.tr div:nth-child(2) b{color:var(--green2)}.tr div:nth-child(3) b{color:#F0623F}.tr div:nth-child(4) b{color:#17A394}.tr div:nth-child(5) b{color:#D99A00}
.hf{position:relative;overflow:visible}
.hf::after{content:"Devis\Agratuit";white-space:pre;position:absolute;top:-26px;right:-18px;width:86px;height:86px;border-radius:50%;background:var(--sun);color:var(--navy);display:grid;place-items:center;text-align:center;font-weight:800;font-size:15px;line-height:1.1;box-shadow:0 8px 20px rgba(0,0,0,.25);transform:rotate(12deg);animation:wig 3s ease-in-out infinite}
@keyframes wig{0%,100%{transform:rotate(12deg) scale(1)}50%{transform:rotate(-8deg) scale(1.08)}}
.svc:nth-child(1){border-bottom-color:var(--sky)}.svc:nth-child(2){border-bottom-color:var(--green)}.svc:nth-child(3){border-bottom-color:var(--sun)}.svc:nth-child(4){border-bottom-color:var(--coral)}
.svc:nth-child(1) .ic{background:var(--sky);color:#fff}.svc:nth-child(2) .ic{background:var(--green)}.svc:nth-child(3) .ic{background:var(--sun)}.svc:nth-child(4) .ic{background:var(--coral);color:#fff}
.stp li:nth-child(1) span{background:linear-gradient(135deg,var(--sky),var(--blue));color:#fff}.stp li:nth-child(2) span{background:linear-gradient(135deg,var(--green),var(--green2));color:var(--navy)}.stp li:nth-child(3) span{background:linear-gradient(135deg,#FFD866,var(--sun));color:var(--navy)}.stp li:nth-child(4) span{background:linear-gradient(135deg,#FF9C80,var(--coral));color:#fff}
.stp li,.rv,.sc,.wy,.bx,.sg3 article,.lb div{border-radius:var(--r)}
.rv:nth-child(3){border-top-color:var(--sun)}.rv:nth-child(4){border-top-color:var(--coral)}
.lb div:nth-child(1){border-top-color:var(--sky)}.lb div:nth-child(2){border-top-color:var(--green)}.lb div:nth-child(3){border-top-color:var(--sun)}
.sc.c0{border-top-color:var(--sky)}.sc.c1{border-top-color:var(--green)}.sc.c2{border-top-color:var(--sun)}.sc:nth-child(4n){border-top-color:var(--coral)}
.sc:nth-child(4n) li::before{background:var(--coral)}.sc.c2 li::before{background:var(--sun)}
.wy:nth-child(3) span{background:linear-gradient(135deg,#FFD866,var(--sun));color:var(--navy)}.wy:nth-child(4) span{background:linear-gradient(135deg,#FF9C80,var(--coral));color:#fff}
.gm.g1{background:linear-gradient(135deg,#FF9C80,#E8553A)}.gm.g2{background:linear-gradient(135deg,#2EC4B6,#14917F)}
.tl li:nth-child(1) b{color:var(--sun)}.tl li:nth-child(2) b{color:#7CCBF5}.tl li:nth-child(3) b{color:#FF9C80}.tl li:nth-child(4) b{color:var(--green)}
.chips span:nth-child(2){border-color:var(--green2);color:#3C9A22}.chips span:nth-child(3){border-color:var(--coral);color:#E8553A}.chips span:nth-child(4){border-color:var(--turq);color:#14917F}.chips span:nth-child(5){border-color:var(--sun);color:#B58500}
.ec:nth-child(4n+1):hover{border-color:var(--sky)}.ec:nth-child(4n+2):hover{border-color:var(--green2)}.ec:nth-child(4n+3):hover{border-color:var(--sun)}.ec:nth-child(4n):hover{border-color:var(--coral)}
.bn a span{background:var(--navy)}.bn a:nth-child(2) span{background:#E8553A}.bn a:nth-child(3) span{background:#14917F}.bn a:nth-child(4) span{background:#B58500}
.mq{background:linear-gradient(90deg,var(--navy),var(--blue),var(--navy))}.mq span:nth-child(4n+2)::after{background:var(--sun)}.mq span:nth-child(4n+3)::after{background:var(--coral)}.mq span:nth-child(4n)::after{background:var(--turq)}
.ft{border-top:8px solid;border-image:linear-gradient(90deg,var(--sky) 0 25%,var(--green) 25% 50%,var(--sun) 50% 75%,var(--coral) 75%) 1}
.eb{background:linear-gradient(120deg,var(--navy),var(--blue) 55%,#17A394)}.eb::after{background:var(--sun);opacity:.45}
.btn{box-shadow:0 4px 0 rgba(11,58,94,.18)}.btn:active{transform:translateY(2px);box-shadow:none}
.fq summary::after{background:#FFF1BF;color:#8A6500}
.nv a:nth-child(2) .ic{color:#E8553A}.nv a:nth-child(3) .ic{color:#17A394}.nv a:nth-child(4) .ic{color:#D99A00}.nv a:nth-child(6) .ic{color:#E8553A}
@media(max-width:760px){.hf::after{right:-6px;top:-30px}.hero,.ph:not(.sm){border-radius:0 0 28px 28px}}
.sv-l{color:var(--blue);text-decoration:none;border-bottom:2px solid var(--sun)}.sv-l b{color:var(--blue)}
.tr .w{grid-template-columns:repeat(4,1fr)}
@media(max-width:1020px){.tr .w{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.tr div:last-child{grid-column:auto}}
.tr div:nth-child(1) b{color:var(--green2)}.tr div:nth-child(2) b{color:#F0623F}.tr div:nth-child(3) b{color:#17A394}.tr div:nth-child(4) b{color:#D99A00}
/* en-tête : ne jamais dépasser de l'écran */
@media(max-width:1600px){.hr .tel span{display:none}.nv em{display:none}.nv a{padding:10px 10px;gap:6px;font-size:14.5px}.hd .w{gap:12px}.hd .btn{padding:11px 18px}}
@media(max-width:1280px){.nv a .ic{display:none}}
html,body{overflow-x:hidden}
/* zone d'intervention : villes */
.zn{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,var(--ice,#EAF4FB) 100%)}
.zn .zb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.45;pointer-events:none}
.zn .zb1{width:340px;height:340px;background:var(--sun);top:-80px;right:-60px}.zn .zb2{width:300px;height:300px;background:var(--green);bottom:-90px;left:-70px;opacity:.3}
.zn .w{position:relative}.zn .h2 em{font-style:normal;background:linear-gradient(120deg,var(--sky),var(--green2));-webkit-background-clip:text;background-clip:text;color:transparent}
.zg{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.zc{--c:var(--sky);position:relative;background:#fff;border-radius:26px;padding:32px 26px 26px;box-shadow:0 10px 30px rgba(11,58,94,.1);border-top:6px solid var(--c);display:flex;flex-direction:column;gap:10px;transition:transform .35s cubic-bezier(.3,1.5,.5,1),box-shadow .3s}
.zc:hover{transform:translateY(-8px) rotate(-.4deg);box-shadow:0 22px 44px rgba(11,58,94,.2)}
.zc.z1{--c:var(--sky)}.zc.z2{--c:var(--coral)}.zc.z3{--c:var(--turq)}
.zc .zp{width:54px;height:54px;border-radius:18px;background:var(--c);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(11,58,94,.2);margin-top:-58px;transition:transform .4s cubic-bezier(.3,1.8,.5,1)}
.zc:hover .zp{transform:translateY(-6px) rotate(-10deg) scale(1.1)}.zc .zp svg{width:28px;height:28px}
.zc .zk{margin:6px 0 0;font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.zc h3{margin:0;font-size:22px;line-height:1.2;color:var(--navy)}.zc>p:not(.zk){margin:0;color:#4a6378;font-size:15.5px}
.zw{list-style:none;margin:6px 0;padding:0;display:grid;gap:7px}.zw li{position:relative;padding-left:26px;font-weight:600;font-size:15px;color:var(--navy)}
.zw li::before{content:"✓";position:absolute;left:0;top:0;width:19px;height:19px;border-radius:50%;background:var(--c);color:#fff;font-size:12px;display:grid;place-items:center}
.zt{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px}.zt span,.zx span{background:#EEF5FB;color:var(--navy);font-weight:700;font-size:13px;padding:5px 11px;border-radius:999px;transition:background .2s,transform .2s}
.zc:hover .zt span{background:color-mix(in srgb,var(--c) 16%,#fff)}.zt span:hover,.zx span:hover{transform:scale(1.07)}
.zl{margin-top:8px;font-weight:800;color:var(--c);text-decoration:none;filter:brightness(.8)}.zl:hover{text-decoration:underline}
.zx{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:center;margin-top:30px}.zx b{color:var(--navy);margin-right:4px}.zx span{background:#fff;box-shadow:0 3px 10px rgba(11,58,94,.08)}
@media(max-width:980px){.zg{grid-template-columns:1fr;gap:46px;max-width:520px;margin-inline:auto}}
.dc .wg{grid-template-columns:repeat(3,1fr)}.dc .two{align-items:stretch}.dc .two .bx{height:100%}
@media(max-width:980px){.dc .wg{grid-template-columns:1fr}}
/* qualifications, aides, TVA */
.qc{position:relative;padding-top:36px}.qc .qk{position:absolute;top:-22px;left:24px;min-width:54px;height:44px;padding:0 14px;border-radius:14px;display:grid;place-items:center;font-weight:800;color:#fff;box-shadow:0 8px 18px rgba(11,58,94,.2)}
.qc.q1 .qk{background:linear-gradient(120deg,var(--green2),var(--turq))}.qc.q2 .qk{background:linear-gradient(120deg,var(--sky),var(--blue))}
.qc h3{margin-top:4px}.qh{margin:46px 0 4px;font-size:26px;color:var(--navy)}
.qa{grid-template-columns:repeat(4,1fr);margin-top:20px}.qa .wy span{font-size:15px;min-width:44px;text-align:center}
.tvw{overflow-x:auto;margin-top:18px;border-radius:22px;box-shadow:0 10px 30px rgba(11,58,94,.1);background:#fff}
.tv{width:100%;border-collapse:collapse;min-width:640px}.tv th{background:var(--navy);color:#fff;text-align:left;padding:14px 18px;font-size:14px;letter-spacing:.04em}
.tv td{padding:18px;vertical-align:top;border-top:1px solid #E3EDF5;font-size:15px;color:#3d566b}.tv td:first-child{width:110px}
.tx{display:inline-block;padding:8px 14px;border-radius:14px;color:#fff;font-size:20px}.tx.t1{background:var(--green2)}.tx.t2{background:var(--sky)}.tx.t3{background:var(--coral)}
.qn{margin-top:22px;padding:18px 22px;border-left:5px solid var(--sun);background:#FFF8E1;border-radius:0 16px 16px 0;color:#4a4130;font-size:15px}
@media(max-width:1100px){.qa{grid-template-columns:1fr 1fr}}@media(max-width:700px){.qa{grid-template-columns:1fr}.qh{font-size:22px}}
.qb .two{align-items:stretch}.qb .qc{height:100%}.qa{grid-template-columns:1fr 1fr!important}.tx{white-space:nowrap}
@media(max-width:700px){.qa{grid-template-columns:1fr!important}}
.qc.q3 .qk{background:linear-gradient(120deg,var(--sun),var(--coral));color:var(--navy)}
.dv .cf{margin:-4px 0 4px;font-size:13px;color:#5b7085}.dv label input.bad{border-color:#E8553A;box-shadow:0 0 0 3px rgba(232,85,58,.2)}
