*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --g:#6DC12A;--g2:#559a1f;
  --dk:#080808;--dk2:#0d0d0d;--dk3:#141414;--dk4:#1c1c1c;
  --dt:#f0f0f0;--dtm:#808080;--dts:#2e2e2e;
  --db:rgba(255,255,255,.07);--dbh:rgba(109,193,42,.25);
  --lk:#fff;--lk2:#f7f7f5;--lk3:#eeeeed;
  --lt:#111;--ltm:#5a5a5a;--lts:#ccc;
  --lb:rgba(0,0,0,.09);--lbh:rgba(85,154,31,.3);
  --red:#c93b3b;
  --r:12px;--r2:18px;
  --fd:'Outfit',sans-serif;--fb:'Figtree',sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--fb);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}

/* REVEAL */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* ─── TOPBAR ─── */
.topbar{position:fixed;top:0;left:0;right:0;z-index:301;background:var(--g);height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 44px;transition:transform .3s ease}
.topbar.hidden{transform:translateY(-100%)}
.tb-side{display:flex;align-items:center;gap:18px}
.tb-phone{font-family:var(--fd);font-size:11px;font-weight:800;letter-spacing:.08em;color:#fff;background:#050505;text-decoration:none;display:flex;align-items:center;gap:8px;padding:5px 16px;border-radius:50px;transition:all .2s}
.tb-phone:hover{background:#fff;color:#050505}
.tb-phone svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.tb-addr{font-family:var(--fb);font-size:12px;font-weight:500;color:#050505}
.tb-vsep{width:1px;height:14px;background:rgba(0,0,0,.25)}
.tb-lnk{font-family:var(--fb);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#050505;text-decoration:none;transition:opacity .2s}
.tb-lnk:hover{opacity:.6}
.tb-cta{font-family:var(--fd);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#050505;text-decoration:none;padding:5px 16px;border-radius:50px;transition:all .2s}
.tb-cta:hover{background:#fff;color:#050505}

/* ─── NAV ─── */
nav{position:fixed;top:38px;left:0;right:0;z-index:300;background:#0a0a0a;border-bottom:1px solid rgba(255,255,255,.07);transition:top .3s ease}
nav.scrolled{top:0}
.nav-main{display:flex;align-items:center;height:96px;padding:0 44px;transition:height .3s ease}
nav.scrolled .nav-main{height:64px}
.nav-left{display:flex;align-items:center;justify-content:flex-end;gap:36px;flex:1;padding-right:44px}
.nav-center{flex-shrink:0;display:flex;align-items:center;justify-content:center}
.nav-center a{display:block;line-height:0}
.nav-center img{height:72px;width:auto;display:block;transition:height .3s ease}
nav.scrolled .nav-center img{height:48px}
.nav-right{display:flex;align-items:center;justify-content:flex-start;gap:36px;flex:1;padding-left:44px}
.nav-left a,.nav-right a{font-family:var(--fd);font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.8);text-decoration:none;white-space:nowrap;transition:color .2s;position:relative}
.nav-left a::after,.nav-right a::after{content:'';position:absolute;bottom:-5px;left:0;right:0;height:2px;background:var(--g);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-left a:hover,.nav-right a:hover{color:#fff}
.nav-left a:hover::after,.nav-right a:hover::after,.nav-left a.act::after{transform:scaleX(1)}
.nav-left a.act{color:#fff}
.nav-cta{background:var(--g)!important;color:#050505!important;padding:9px 22px;border-radius:50px;border:2px solid transparent;font-size:13px!important;transition:all .2s!important}
.nav-cta::after{display:none!important}
.nav-cta:hover{background:transparent!important;color:var(--g)!important;border-color:var(--g)!important}

/* ─── BURGER BUTTON ─── */
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px;position:absolute;left:20px;top:50%;transform:translateY(-50%);z-index:10}
.burger span{display:block;width:22px;height:2px;background:#fff;margin:5px 0;border-radius:2px;transition:all .3s ease}
nav.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
nav.open .burger span:nth-child(2){opacity:0}
nav.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ─── MOBILE MENU OVERLAY ─── */
.mob-menu{display:none;flex-direction:column;align-items:center;background:#0a0a0a;padding:30px 24px 40px;gap:0;max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease;border-top:1px solid rgba(255,255,255,.07)}
nav.open .mob-menu{max-height:500px;padding:30px 24px 40px}
.mob-menu a{font-family:var(--fd);font-size:16px;font-weight:600;color:rgba(255,255,255,.85);text-decoration:none;padding:14px 0;width:100%;text-align:center;border-bottom:1px solid rgba(255,255,255,.06);transition:color .2s}
.mob-menu a:last-child{border-bottom:none}
.mob-menu a:hover{color:var(--g)}
.mob-cat{font-family:var(--fd);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--g);padding:16px 0 6px;width:100%;text-align:center;border-bottom:none}
.mob-sub{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;width:100%;padding:4px 0 10px;border-bottom:1px solid rgba(255,255,255,.06)}
.mob-sub a{font-size:13px!important;padding:7px 14px!important;background:rgba(255,255,255,.06);border-radius:50px;border-bottom:none!important;width:auto!important;text-align:center}
.mob-sub a:hover{background:rgba(109,193,42,.15);color:var(--g)}
.mob-cta{background:var(--g)!important;color:#050505!important;border-radius:50px!important;padding:14px 28px!important;margin-top:10px!important;font-weight:700!important;border-bottom:none!important}

/* ─── SECTIONS ─── */
section{padding:100px 44px}
.si{max-width:1140px;margin:0 auto}
.sl{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}
.sl::before{content:'';width:22px;height:1.5px;flex-shrink:0}
h2{font-family:var(--fd);font-size:clamp(30px,4.5vw,52px);font-weight:800;line-height:1.08;letter-spacing:-.025em;margin-bottom:16px}
.ssub{font-family:var(--fb);font-size:17px;max-width:580px;font-weight:300;line-height:1.75;margin-bottom:56px}

/* dark */
.dk{background:var(--dk);color:var(--dt)}.dk .sl{color:var(--g)}.dk .sl::before{background:var(--g)}.dk h2 em{font-style:normal;color:var(--g)}.dk .ssub{color:var(--dtm)}
.dk2{background:var(--dk2);color:var(--dt)}.dk2 .sl{color:var(--g)}.dk2 .sl::before{background:var(--g)}.dk2 h2 em{font-style:normal;color:var(--g)}.dk2 .ssub{color:var(--dtm)}
/* light */
.lk{background:var(--lk);color:var(--lt)}.lk .sl{color:var(--g2)}.lk .sl::before{background:var(--g2)}.lk h2 em{font-style:normal;color:var(--g2)}.lk .ssub{color:var(--ltm)}
.lk2{background:var(--lk2);color:var(--lt)}.lk2 .sl{color:var(--g2)}.lk2 .sl::before{background:var(--g2)}.lk2 h2 em{font-style:normal;color:var(--g2)}.lk2 .ssub{color:var(--ltm)}

/* CTA bar */
.cta-bar{border-radius:var(--r);margin-top:40px;padding:26px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid}
.cta-bar.dk{background:var(--dk3);border-color:var(--db)}.cta-bar.dk p{font-size:15px;color:var(--dtm)}.cta-bar.dk strong{color:var(--dt)}
.cta-bar.lk{background:var(--lk);border-color:var(--lb)}.cta-bar.lk p{font-size:15px;color:var(--ltm)}.cta-bar.lk strong{color:var(--lt)}
.btn-dk{display:inline-flex;align-items:center;gap:10px;background:var(--g);color:#050505;font-size:15px;font-weight:600;padding:14px 30px;border-radius:50px;text-decoration:none;transition:all .25s;white-space:nowrap}
.btn-dk:hover{background:#fff;transform:translateY(-2px)}
.btn-lk{display:inline-flex;align-items:center;gap:10px;background:var(--g2);color:#fff;font-size:15px;font-weight:600;padding:14px 30px;border-radius:50px;text-decoration:none;transition:all .25s;white-space:nowrap}
.btn-lk:hover{background:var(--g);transform:translateY(-2px)}

/* ─── HERO ─── */
#hero{min-height:100vh;display:flex;align-items:center;padding:186px 44px 80px;background:var(--dk);position:relative;overflow:hidden}
.hbg{position:absolute;inset:0;pointer-events:none}
.hbg::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:32px 32px}
.hbg::after{content:'';position:absolute;top:-25%;right:-10%;width:75vw;height:75vw;background:radial-gradient(ellipse,rgba(109,193,42,.09) 0%,transparent 62%);border-radius:50%;animation:heroBgIn 1.2s ease .2s both}
@keyframes heroBgIn{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
.hero-in{position:relative;z-index:1;max-width:1140px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 420px;gap:72px;align-items:center}
.h-badge{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--g);margin-bottom:28px;padding:8px 18px;border:1px solid rgba(109,193,42,.22);border-radius:50px;background:rgba(109,193,42,.05);animation:fadeUp .6s ease .6s both}
.h-badge span{width:7px;height:7px;border-radius:50%;background:var(--g);animation:pulse 2.5s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.5}}
.seo-h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}
.h1v{font-family:var(--fd);font-size:clamp(44px,6vw,80px);font-weight:800;line-height:1.0;letter-spacing:-.025em;color:var(--dt);margin-bottom:10px;animation:fadeUp .7s ease .75s both}
.h1g{color:var(--g)}
.h1b{font-family:var(--fd);font-size:clamp(17px,2vw,23px);font-weight:300;color:var(--dtm);margin-bottom:8px;animation:fadeUp .6s ease .88s both}
.h1c{font-family:var(--fb);font-size:17px;font-weight:400;color:rgba(255,255,255,.9);margin-bottom:36px;letter-spacing:.01em;line-height:1.6;max-width:580px;animation:fadeUp .6s ease .95s both}
.h-btns{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:52px;animation:fadeUp .6s ease 1.05s both}
.btn-main{display:inline-flex;align-items:center;gap:10px;background:var(--g);color:#050505;font-size:15px;font-weight:600;padding:16px 32px;border-radius:50px;text-decoration:none;transition:all .25s}
.btn-main:hover{background:#fff;transform:translateY(-2px);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.btn-ghost{display:inline-flex;align-items:center;gap:6px;color:var(--dtm);font-size:14px;text-decoration:none;padding:16px 0;transition:color .2s}
.btn-ghost:hover{color:var(--dt)}
.h-proof{display:flex;border:1px solid var(--db);border-radius:var(--r);overflow:hidden;animation:fadeUp .6s ease 1.2s both}
.hp{flex:1;padding:20px 14px;text-align:center;border-right:1px solid var(--db);background:var(--dk3);transition:background .2s}
.hp:last-child{border-right:none}
.hp:hover{background:var(--dk4)}
.hp-n{font-family:var(--fd);font-size:22px;font-weight:800;color:var(--g);line-height:1;margin-bottom:5px}
.hp-l{font-size:12px;font-weight:500;color:var(--dtm);letter-spacing:.02em;line-height:1.5}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

/* HCARD */
.hcard{background:var(--dk3);border:1px solid var(--db);border-radius:18px;padding:24px;position:relative;overflow:hidden;animation:cardIn .8s cubic-bezier(.22,.68,0,1.2) .5s both}
@keyframes cardIn{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
.hcard::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--g),transparent)}
.hcard-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--dtm);margin-bottom:16px}
.rr{display:flex;align-items:center;padding:8px 10px;border-radius:8px;margin-bottom:4px;font-size:13px;color:var(--dt);transition:background .3s,box-shadow .3s,transform .2s;cursor:pointer}
.rr:hover{background:rgba(109,193,42,.1);box-shadow:0 0 18px rgba(109,193,42,.25),inset 0 0 12px rgba(109,193,42,.06);transform:translateX(4px)}
.rr:hover .rn{color:var(--g)}
.rr.p1{background:rgba(109,193,42,.12);border:1px solid rgba(109,193,42,.2)}
.rr.p1:hover{background:rgba(109,193,42,.2);box-shadow:0 0 24px rgba(109,193,42,.35),inset 0 0 14px rgba(109,193,42,.08)}
.rr.p2{background:rgba(109,193,42,.07);border:1px solid rgba(109,193,42,.12)}
.rr.p2:hover{background:rgba(109,193,42,.15);box-shadow:0 0 20px rgba(109,193,42,.3),inset 0 0 12px rgba(109,193,42,.06)}
.rb{font-family:var(--fd);font-size:11px;font-weight:700;padding:3px 7px;border-radius:50px;margin-right:8px;flex-shrink:0}
.p1 .rb,.p2 .rb{background:var(--g);color:#050505}
.rr:not(.p1):not(.p2) .rb{background:var(--dk4);color:var(--dtm)}
.rn{flex:1;font-weight:500;font-size:13px;transition:color .3s}
.rk{color:var(--dtm);font-size:12px}
.hcard-foot{margin-top:12px;padding-top:12px;border-top:1px solid var(--db);font-size:11px;color:var(--dtm);display:flex;align-items:center;gap:7px}
.live{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:pulse 2s ease-in-out infinite}

/* MARQUEE */
.mq{background:var(--g);padding:13px 0;overflow:hidden}
.mt{display:flex;gap:56px;width:max-content;animation:scroll 28s linear infinite}
@keyframes scroll{to{transform:translateX(-50%)}}
.mi{font-family:var(--fd);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#050505;white-space:nowrap;display:flex;align-items:center;gap:20px}
.ms{opacity:.3}

/* CONSTAT */
.cg{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.bad{background:var(--lk);border:1px solid rgba(201,59,59,.18);border-top:3px solid #c93b3b;border-radius:var(--r2);padding:36px 32px}
.bad-title{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#c93b3b;margin-bottom:22px;display:flex;align-items:center;gap:10px}
.bad-title::before{content:'';width:7px;height:7px;border-radius:50%;background:#c93b3b;flex-shrink:0}
.bad-list{list-style:none;display:flex;flex-direction:column;gap:12px}
.bad-list li{font-size:15px;color:var(--lt);display:flex;align-items:flex-start;gap:12px;line-height:1.55}
.bad-list li::before{content:'-';color:#c93b3b;font-weight:700;flex-shrink:0;font-size:13px;margin-top:2px}
.stat-c{background:var(--lk);border:1px solid var(--lb);border-radius:var(--r2);padding:36px 32px;display:flex;flex-direction:column;justify-content:space-between}
.scn{font-family:var(--fd);font-size:64px;font-weight:800;color:var(--g2);line-height:1;margin-bottom:8px}
.scl{font-size:15px;color:var(--ltm);line-height:1.55}
.scl strong{color:var(--lt);font-weight:600}
.cnote{grid-column:1/-1;background:var(--lk);border-left:3px solid var(--g2);border-radius:0 var(--r) var(--r) 0;padding:22px 28px;font-size:15px;color:var(--ltm);line-height:1.7;border-top:1px solid var(--lb);border-right:1px solid var(--lb);border-bottom:1px solid var(--lb)}
.cnote strong{color:var(--lt)}

/* SERVICES */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sc{background:var(--dk3);border:1px solid var(--db);border-radius:var(--r2);padding:36px 28px;display:flex;flex-direction:column;transition:border-color .3s,transform .3s}
.sc:hover{border-color:var(--dbh);transform:translateY(-6px)}
.sc-num{font-family:var(--fd);font-size:38px;font-weight:800;letter-spacing:-.02em;color:var(--g);line-height:1;margin-bottom:22px;opacity:.9}
.sc-icon{width:48px;height:48px;border-radius:14px;background:rgba(109,193,42,.1);display:flex;align-items:center;justify-content:center;margin-bottom:22px;transition:background .3s}
.sc:hover .sc-icon{background:rgba(109,193,42,.2)}
.sc-icon svg{width:22px;height:22px;stroke:var(--g);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sc-head{font-family:var(--fd);font-size:18px;font-weight:700;line-height:1.2;color:var(--dt);margin-bottom:4px}
.sc-sub{font-size:12px;color:var(--g);font-weight:600;letter-spacing:.05em;margin-bottom:14px;text-transform:uppercase}
.sc-desc{font-size:15px;color:rgba(255,255,255,.65);line-height:1.75;margin-bottom:22px;flex:1}
.sc-list{list-style:none;display:flex;flex-direction:column;gap:6px}
.sc-list li{font-size:14px;color:rgba(255,255,255,.6);display:flex;align-items:flex-start;gap:10px;padding:7px 10px;border-radius:8px;transition:background .2s,color .2s}
.sc-list li:hover{background:rgba(109,193,42,.06);color:var(--dt)}
.sc-list li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--g);flex-shrink:0;margin-top:7px}
.sc-list a{color:inherit;text-decoration:none;transition:color .2s}
.sc-list a:hover{color:var(--g)}

/* REALISATIONS */
.real{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rc{background:var(--lk);border:1px solid var(--lb);border-radius:var(--r2);overflow:hidden;transition:border-color .3s,transform .3s;cursor:default}
.rc:hover{border-color:var(--lbh);transform:translateY(-5px);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.rc-thumb{aspect-ratio:600/338;position:relative;display:flex;align-items:flex-end;padding:14px;overflow:hidden}
.rc-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.rc-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.55));z-index:1}
.rc-thumb .rc-cat{position:relative;z-index:2}
.rc-thumb .rc-res{z-index:2}
.rc-cat{font-family:var(--fd);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--g);color:#050505;padding:5px 12px;border-radius:50px}
.rc-res{position:absolute;bottom:12px;right:12px;background:var(--g);color:#050505;font-family:var(--fd);font-size:11px;font-weight:700;padding:4px 10px;border-radius:50px}
.rc-body{padding:20px 22px}
.rc-visit{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-family:var(--fd);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--g2);text-decoration:none;padding:9px 16px;border:1.5px solid var(--g2);border-radius:50px;transition:all .25s}
.rc-visit:hover{background:var(--g2);color:#fff}
.rc-visit svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.rc-name{font-family:var(--fd);font-size:15px;font-weight:700;color:var(--lt);margin-bottom:3px}
.rc-sec{font-size:11px;color:var(--ltm);font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}
.rc-tags{display:flex;gap:5px;flex-wrap:wrap}
.rt{font-size:12px;font-weight:600;padding:4px 10px;border-radius:50px;background:var(--lk3);color:var(--ltm)}

/* AVIS */
.av{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}
.avc{background:var(--dk3);border:1px solid var(--db);border-radius:var(--r2);padding:26px 22px;transition:border-color .3s,transform .3s}
.avc:hover{border-color:var(--dbh);transform:translateY(-4px)}
.avh{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.ava{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:13px;font-weight:800;color:#fff;flex-shrink:0}
.av1{background:#2d6b2d}.av2{background:#2d4f6b}.av3{background:#6b3d2d}.av4{background:#4d2d6b}.av5{background:#6b2d4d}.av6{background:#2d6b5a}
.av-name{font-family:var(--fd);font-size:13px;font-weight:700;color:var(--dt);margin-bottom:2px}
.av-date{font-size:11px;color:var(--dtm)}
.av-stars{color:var(--g);font-size:13px;letter-spacing:2px;margin-bottom:10px}
.av-text{font-size:14px;color:rgba(255,255,255,.7);line-height:1.75}
.av-badge{display:flex;align-items:center;justify-content:center}
.avb{display:flex;align-items:center;gap:10px;background:var(--dk3);border:1px solid var(--db);border-radius:50px;padding:10px 22px}
.avb-stars{color:var(--g);font-size:14px;letter-spacing:1px}
.avb-score{font-family:var(--fd);font-size:15px;font-weight:800;color:var(--dt)}
.avb-label{font-size:12px;color:var(--dtm)}

/* METHODE */
.mg{display:grid;grid-template-columns:1fr 1fr;gap:2px;border:1px solid var(--lb);border-radius:var(--r2);overflow:hidden;background:var(--lb)}
.mb{background:var(--lk);padding:44px 40px;transition:background .3s;cursor:default}
.mb:hover{background:var(--lk2)}
.m-num{font-family:var(--fd);font-size:58px;font-weight:800;color:rgba(85,154,31,.15);line-height:1;margin-bottom:14px;transition:color .3s}
.mb:hover .m-num{color:rgba(85,154,31,.3)}
.m-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--g2);margin-bottom:10px}
.m-title{font-family:var(--fd);font-size:20px;font-weight:700;color:var(--lt);margin-bottom:10px}
.m-desc{font-size:14px;color:var(--ltm);line-height:1.75}

/* POURQUOI */
.pq{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.pq-list{display:flex;flex-direction:column;gap:2px;border:1px solid var(--db);border-radius:var(--r2);overflow:hidden;background:var(--db)}
.pqr{background:var(--dk3);display:flex;align-items:center;gap:14px;padding:17px 22px;transition:background .2s,padding-left .25s;cursor:default}
.pqr:hover{background:var(--dk4);padding-left:28px}
.pqc{width:28px;height:28px;border-radius:50%;background:rgba(109,193,42,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.pqr:hover .pqc{background:rgba(109,193,42,.22)}
.pqc svg{width:12px;height:12px;stroke:var(--g);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.pql{font-size:14px;color:var(--dt)}
.pqv{margin-left:auto;font-family:var(--fd);font-size:12px;font-weight:700;color:var(--g)}
.pq-panel{background:var(--dk3);border:1px solid var(--db);border-radius:var(--r2);padding:34px;position:sticky;top:110px}
.pqp-title{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dtm);margin-bottom:20px}
.cmp{display:flex;align-items:center;padding:11px 0;border-bottom:1px solid var(--db);font-size:13px}
.cmp:last-child{border-bottom:none}
.ci{color:var(--dtm);flex:1}
.cu{display:flex;align-items:center;gap:5px;color:var(--g);font-weight:600;min-width:68px;justify-content:flex-end}
.ct{display:flex;align-items:center;gap:5px;color:var(--red);font-weight:600;min-width:56px;justify-content:flex-end}
.ck{width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ct .ck line{stroke:var(--red)!important}
.ok{background:rgba(109,193,42,.15)}.no{background:rgba(255,255,255,.04)}
.pq-cta{margin-top:22px;padding-top:18px;border-top:1px solid var(--db)}
.pq-cta p{font-size:13px;color:var(--dtm);margin-bottom:14px;line-height:1.6}

/* BLOG */
.blog{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bcard{background:var(--dk3);border:1px solid var(--db);border-radius:var(--r2);overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:border-color .3s,transform .3s}
.bcard:hover{border-color:var(--dbh);transform:translateY(-6px)}
.bt{height:148px;position:relative;display:flex;align-items:flex-end;padding:14px}
.bcat{font-family:var(--fd);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--g);color:#050505;padding:5px 12px;border-radius:50px}
.bb{padding:22px;flex:1;display:flex;flex-direction:column;gap:8px}
.bdate{font-size:12px;color:var(--dtm);letter-spacing:.04em}
.btitle{font-family:var(--fd);font-size:16px;font-weight:700;color:var(--dt);line-height:1.35}
.bex{font-size:14px;color:rgba(255,255,255,.65);line-height:1.75;flex:1}
.bread{font-size:13px;font-weight:600;color:var(--g);display:flex;align-items:center;gap:6px;margin-top:4px}
.bread span{transition:transform .2s}
.bcard:hover .bread span{transform:translateX(4px)}

/* CONTACT */
#contact{overflow:hidden}
#formulaire{scroll-margin-top:120px}
.cl{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;overflow:hidden}
.map-w{border-radius:var(--r2);overflow:hidden;border:1px solid var(--lb);position:relative;max-width:100%}
.map-w iframe{display:block;width:100%;max-width:100%;height:380px;border:0;filter:grayscale(1) contrast(1.05) invert(.92) hue-rotate(180deg)}
.cinfos{margin-top:22px;display:flex;flex-direction:column;gap:11px}
.crow{display:flex;align-items:center;gap:13px;font-size:15px;color:var(--ltm)}
.cion{width:34px;height:34px;border-radius:10px;background:rgba(85,154,31,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cion svg{width:15px;height:15px;stroke:var(--g2);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.crow a{color:var(--lt);text-decoration:none;font-weight:500;transition:color .2s}
.crow a:hover{color:var(--g2)}
.fcard{background:var(--lk2);border:1px solid var(--lb);border-radius:var(--r2);padding:34px}
.fc-title{font-family:var(--fd);font-size:20px;font-weight:700;color:var(--lt);margin-bottom:5px}
.fc-sub{font-size:14px;color:var(--ltm);margin-bottom:26px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.fg label{font-size:13px;font-weight:600;color:var(--lt)}
.fg input,.fg select,.fg textarea{width:100%;background:var(--lk);border:1.5px solid var(--lb);border-radius:10px;padding:11px 15px;font-family:var(--fb);font-size:15px;color:var(--lt);outline:none;transition:border-color .2s;resize:vertical}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--g2)}
.fg input::placeholder,.fg textarea::placeholder{color:var(--lts)}
.fg select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}
.fsub{width:100%;background:var(--g2);color:#fff;font-family:var(--fb);font-size:16px;font-weight:600;padding:15px;border-radius:50px;border:none;cursor:pointer;transition:all .25s;margin-top:6px;display:flex;align-items:center;justify-content:center;gap:10px}
.fsub:hover{background:var(--g);transform:translateY(-2px)}
.fnote{font-size:12px;color:var(--ltm);text-align:center;margin-top:12px}

/* SC-GEO (micro-ligne maillage) */
.sc-geo{font-size:13px;color:var(--ltm);margin-top:10px;line-height:1.6}
.dk .sc-geo{color:var(--dtm)}
.sc-geo a{color:var(--g);text-decoration:none;font-weight:500;transition:color .2s}
.sc-geo a:hover{color:var(--g2);text-decoration:underline}

/* FAQ ACCORDION */
.faq{display:flex;flex-direction:column;gap:2px}
.faq .fi{border:1px solid var(--db);border-radius:var(--r);overflow:hidden}
.fq{padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--fd);font-size:15px;font-weight:600;color:var(--dt);cursor:pointer;background:var(--dk3);transition:background .2s;user-select:none}
.fq:hover{background:var(--dk4)}
.fi-ic{width:25px;height:25px;border-radius:50%;border:1.5px solid var(--db);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s}
.fi-ic svg{width:10px;height:10px;stroke:var(--dtm);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.faq .fi.open .fi-ic{border-color:var(--g);background:rgba(109,193,42,.1)}
.faq .fi.open .fi-ic svg{stroke:var(--g);transform:rotate(45deg)}
.fa{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq .fi.open .fa{max-height:220px}
.fa-in{padding:17px 24px 20px;font-size:15px;color:var(--dtm);line-height:1.7;border-top:1px solid var(--db)}

/* CTA FINAL */
#final{background:var(--dk);text-align:center;position:relative;overflow:hidden}
#final::before{content:'';position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:700px;height:700px;background:radial-gradient(ellipse,rgba(109,193,42,.08) 0%,transparent 65%);border-radius:50%;pointer-events:none}
.fi{position:relative;z-index:1;max-width:660px;margin:0 auto}
.fbadge{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--g);margin-bottom:28px;padding:8px 20px;border-radius:50px;background:rgba(109,193,42,.07);border:1px solid rgba(109,193,42,.18)}
#final h2{color:var(--dt)}
#final .fp{font-size:17px;color:var(--dtm);margin-bottom:44px;font-weight:300;line-height:1.75}
.fa{display:flex;flex-direction:column;align-items:center;gap:18px}
.bxl{display:inline-flex;align-items:center;gap:12px;background:var(--g);color:#050505;font-size:17px;font-weight:700;padding:20px 44px;border-radius:50px;text-decoration:none;transition:all .3s}
.bxl:hover{background:#fff;transform:translateY(-3px);box-shadow:0 24px 60px rgba(0,0,0,.5)}
.fph{font-size:15px;color:var(--dtm)}
.fph a{color:var(--dt);text-decoration:none;font-weight:600;transition:color .2s}
.fph a:hover{color:var(--g)}
.ftr{margin-top:36px;display:flex;justify-content:center;gap:28px;flex-wrap:wrap}
.fti{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--dtm)}
.fti svg{width:13px;height:13px;stroke:var(--g);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* FOOTER */
footer{background:var(--dk2);border-top:1px solid var(--db);padding:44px;color:#fff}
.fo{max-width:1140px;margin:0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:40px;flex-wrap:wrap;color:rgba(255,255,255,.92)}
.fl{font-family:var(--fd);font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--dt);margin-bottom:10px}
.fl span{color:var(--g)}
.fi2{font-size:14px;color:rgba(255,255,255,.82);line-height:1.6}
.fls{display:flex;flex-direction:column;gap:10px}
.flt{font-family:var(--fd);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:12px}
.fls a{font-size:14px;color:rgba(255,255,255,.82);text-decoration:none;transition:color .2s}
.fls a:hover{color:var(--g)}
.flegal{max-width:1140px;margin:30px auto 0;padding-top:24px;border-top:1px solid var(--db);display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.72);margin-bottom:10px}
.flegal a{color:rgba(255,255,255,.82);text-decoration:none;transition:color .2s}
.flegal a:hover{color:var(--g)}
.flegal span{opacity:.4}
.fbot{max-width:1140px;margin:0 auto;font-size:12px;color:rgba(255,255,255,.72);text-align:center}

/* NAV ANIMATIONS */
@keyframes topbarIn{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@keyframes navIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
.topbar:not(.hidden){animation:topbarIn .5s cubic-bezier(.22,.68,0,1.2)}
.nav-main{animation:navIn .6s ease .15s both}
.nav-center img{animation:logoIn .75s cubic-bezier(.34,1.56,.64,1) .25s both}
@keyframes logoIn{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.04);opacity:1}100%{transform:scale(1);opacity:1}}
.nav-left a:nth-child(1){animation:lIn .5s ease .3s both}
.nav-left a:nth-child(2){animation:lIn .5s ease .4s both}
.nav-left a:nth-child(3){animation:lIn .5s ease .5s both}
.nav-right a:nth-child(1){animation:lIn .5s ease .5s both}
.nav-right a:nth-child(2){animation:lIn .5s ease .4s both}
.nav-right a:nth-child(3){animation:lIn .5s ease .3s both}
@keyframes lIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}

/* RESPONSIVE */
@media(max-width:960px){
  .topbar{padding:0 12px;height:auto;min-height:38px}.tb-addr{display:none}.tb-vsep{display:none}
  .tb-phone,.tb-cta{font-size:10px;padding:4px 12px}
  nav{top:38px}
  nav.scrolled{top:0}
  .nav-main{height:70px;padding:0 20px;justify-content:center;position:relative}
  .nav-left,.nav-right{display:none}
  .nav-center img{height:54px}
  .burger{display:block}
  .burger{display:block}
  .mob-menu{display:flex;max-height:0;padding:0 24px;overflow:hidden}
  nav.open .mob-menu{max-height:calc(100vh - 108px);padding:20px 24px 30px;overflow-y:auto}
  section{padding:70px 22px}
  #hero{padding:130px 22px 68px;min-height:auto}
  .hero-in{grid-template-columns:1fr;gap:32px}
  .hcard{display:none}
  .cg,.svc,.real,.av,.mg,.pq,.cl{grid-template-columns:1fr}
  .map-w iframe{height:250px}
  .map-w{overflow:hidden;max-width:100%}
  .cl>div{min-width:0;max-width:100%;overflow:hidden}
  .fcard{padding:22px;max-width:100%;box-sizing:border-box}
  .frow{grid-template-columns:1fr}
  .pq-panel{position:static}
  .cta-bar{flex-direction:column;align-items:flex-start}
  .blog{grid-template-columns:1fr}
  footer{padding:32px 22px}
  .fo{flex-direction:column;gap:24px;align-items:center;text-align:center}
}

/* ─── SLIDER HORIZONTAL (réalisations + avis) ─── */
.slider-wrap{position:relative;overflow:hidden}
.slider-track{
  display:flex;gap:22px;
  overflow-x:auto;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;
  scroll-snap-type:x mandatory;
  padding-bottom:4px;
  cursor:grab;
  user-select:none;
}
.slider-track::-webkit-scrollbar{display:none}
.slider-track.dragging{cursor:grabbing;scroll-behavior:auto}

/* cartes réalisations dans le slider */
.slider-track .rc{
  flex:0 0 320px;scroll-snap-align:start;
  min-width:0;
}

/* cartes avis dans le slider */
.slider-track .avc{
  flex:0 0 340px;scroll-snap-align:start;
  min-width:0;
}

/* contrôles */
.slider-controls{
  display:flex;align-items:center;justify-content:center;
  gap:12px;margin-top:28px;
}
.sc-btn{
  width:42px;height:42px;border-radius:50%;
  border:1.5px solid;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;background:transparent;
  flex-shrink:0;
}
/* dark variant */
.dk .sc-btn,.dk2 .sc-btn{border-color:var(--db);color:var(--dtm)}
.dk .sc-btn:hover,.dk2 .sc-btn:hover{border-color:var(--g);color:var(--g);background:rgba(109,193,42,.08)}
/* light variant */
.lk .sc-btn,.lk2 .sc-btn{border-color:var(--lb);color:var(--ltm)}
.lk .sc-btn:hover,.lk2 .sc-btn:hover{border-color:var(--g2);color:var(--g2);background:rgba(85,154,31,.06)}
.sc-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* dots */
.sc-dots{display:flex;gap:7px;align-items:center}
.sc-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--db);transition:all .25s;cursor:pointer;border:none;padding:0;
}
.sc-dot.active{width:20px;border-radius:4px;background:var(--g)}
.lk .sc-dot,.lk2 .sc-dot{background:var(--lb)}
.lk .sc-dot.active,.lk2 .sc-dot.active{background:var(--g2)}

/* gradient bords */
.slider-wrap::before,.slider-wrap::after{
  content:'';position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none;
}
.dk .slider-wrap::before,.dk2 .slider-wrap::before{background:linear-gradient(to right,var(--dk),transparent)}
.dk .slider-wrap::after,.dk2 .slider-wrap::after{background:linear-gradient(to left,var(--dk),transparent)}
.lk .slider-wrap::before,.lk2 .slider-wrap::before{background:linear-gradient(to right,var(--lk),transparent)}
.lk .slider-wrap::after,.lk2 .slider-wrap::after{background:linear-gradient(to left,var(--lk2),transparent)}
.slider-wrap::before{left:0}
.slider-wrap::after{right:0}

