:root,[data-theme="light"]{
  --bg:#f0f4ef;
  --bg-2:#e8ede6;
  --paper:#fff;
  --ink:#111a0f;
  --muted:rgba(17,26,15,.52);
  --muted-2:rgba(17,26,15,.68);
  --soft:rgba(17,26,15,.09);
  --line:rgba(17,26,15,.16);
  --green:#2a5c1e;
  --green-mid:#3d7528;
  --green-lt:#5a9e40;
  --sage:#8fae7e;
  --sand:#e4ddd0;
  --accent:#3d7528;
  --accent-h:#2a5c1e;
  --hdr:58px;
  --side:clamp(18px,5vw,72px);
  --ease:cubic-bezier(.16,1,.3,1);
  --card-h:min(760px,calc(100vh - 132px));
  --tabs-top:74px;
  --stack-top:142px;
  --stack-gap:76px;
}
[data-theme="dark"]{
  --bg:#0e1a0c;
  --bg-2:#162014;
  --paper:#1a2818;
  --ink:#e8f0e4;
  --muted:rgba(232,240,228,.5);
  --muted-2:rgba(232,240,228,.7);
  --soft:rgba(232,240,228,.09);
  --line:rgba(232,240,228,.16);
  --green:#7dc65a;
  --green-mid:#5ea83e;
  --green-lt:#9cd97e;
  --sage:#6a9458;
  --sand:#2a3528;
  --accent:#6bb84a;
  --accent-h:#7dc65a;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg)}
body{font-family:"Instrument Sans",system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .3s ease,color .3s ease}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
::selection{background:var(--green);color:#fff}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.cms-media--image,.cms-media--video,.cms-video-wrap{width:100%;height:100%;min-height:100%;object-fit:cover;display:block;background:var(--sand)}
.cms-video-wrap{position:relative;overflow:hidden}.cms-video-wrap video{width:100%;height:100%;object-fit:cover;display:block}
.media-placeholder{width:100%;height:100%;min-height:260px;display:grid;place-items:center;background:linear-gradient(135deg,var(--sand),var(--paper));color:var(--muted);font-size:14px}
.video-fallback{position:absolute;inset:0;display:none;background:var(--sand)}
.video-fallback img{width:100%;height:100%;object-fit:cover}.video-fallback span{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);background:rgba(0,0,0,.05)}
.video-error .video-fallback{display:block}.video-error video{display:none}

/* Header */
.hdr{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:1000;width:min(760px,calc(100% - 32px));height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 20px;background:rgba(255,255,255,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--soft);border-radius:6px;box-shadow:0 4px 24px rgba(0,0,0,.1);transition:background .3s}
[data-theme="dark"] .hdr{background:rgba(26,40,24,.92)}
.hdr__logo{display:inline-flex;align-items:center;gap:8px;min-width:54px;height:100%;font-size:14px;font-weight:700;letter-spacing:-.03em;color:var(--ink)}
.hdr__logo img{display:block;width:auto;height:22px;max-width:92px;object-fit:contain}
.hdr__nav{display:flex;gap:22px;align-items:center;position:absolute;left:50%;transform:translateX(-50%)}
.hdr__nav a{font-size:13px;font-weight:500;letter-spacing:-.01em;color:var(--muted);transition:color .14s;white-space:nowrap}.hdr__nav a:hover{color:var(--ink)}
.hdr__actions{display:flex;align-items:center;gap:8px;margin-left:auto}.hdr__theme{height:32px;min-width:54px;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer;display:flex;align-items:center;padding:3px;transition:background .15s;flex-shrink:0}.hdr__theme:hover{background:var(--soft)}
.theme-toggle__knob{width:24px;height:24px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;transform:translateX(0);transition:transform .28s var(--ease),background .25s}[data-theme="dark"] .theme-toggle__knob{transform:translateX(22px);color:#101a0e}
.hdr__toggle{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.hdr__toggle:hover{background:var(--green)}.dot{width:7px;height:7px;border-radius:50%;background:var(--ink);transition:transform .2s,background .15s}.hdr__toggle:hover .dot{background:#fff}.hdr__toggle[aria-expanded="true"] .dot{transform:scale(1.4)}

/* Menu */
.menu-overlay{position:fixed;top:10px;left:50%;transform:translateX(-50%) scaleY(0);transform-origin:top center;z-index:990;width:min(760px,calc(100% - 32px));background:var(--paper);backdrop-filter:blur(20px);border:1px solid var(--soft);border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,.18);padding:56px 28px 28px;opacity:0;transition:transform .3s var(--ease),opacity .25s ease;pointer-events:none}.menu-overlay.open{transform:translateX(-50%) scaleY(1);opacity:1;pointer-events:auto}.menu-overlay nav{display:grid}.menu-overlay a{display:grid;grid-template-columns:48px 1fr auto;align-items:center;padding:14px 0;border-bottom:1px solid var(--soft);font-size:clamp(36px,7vw,56px);line-height:.92;font-weight:600;letter-spacing:-.07em;transition:color .14s;color:var(--ink)}.menu-overlay a:first-child{border-top:1px solid var(--soft)}.menu-overlay a:hover{color:var(--green)}.m-num{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--muted);font-size:11px;letter-spacing:.06em;font-weight:500;align-self:center}.m-arr{font-size:18px;font-weight:300;color:var(--muted);opacity:0;transition:opacity .14s,transform .14s}.menu-overlay a:hover .m-arr{opacity:1;transform:translateX(5px)}.menu-cta{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.menu-cta a{height:40px;padding:0 20px;border:1.5px solid var(--green);color:var(--green);font-size:12px;font-weight:600;display:inline-flex;align-items:center;border-radius:3px;transition:background .14s,color .14s}.menu-cta a:hover{background:var(--green);color:#fff}

/* Hero */
.hero{min-height:100vh;padding-top:var(--hdr);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,44vw);background:var(--paper)}.hero__left{display:flex;flex-direction:column;justify-content:center;padding:80px var(--side)}.hero__eye{color:var(--muted);margin-bottom:24px}.hero__h1{font-size:clamp(50px,6.2vw,88px);font-weight:500;letter-spacing:-.065em;line-height:.96;margin-bottom:26px;color:var(--ink)}.hero__h1 em{font-style:normal;color:var(--green)}.hero__sub{font-size:clamp(15px,1.15vw,17px);color:var(--muted-2);line-height:1.58;letter-spacing:-.015em;max-width:500px;margin-bottom:34px}.hero__feats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--soft);border-bottom:1px solid var(--soft);margin-bottom:34px;max-width:580px}.feat{min-height:74px;padding:0 16px;display:flex;align-items:center;gap:11px;border-right:1px solid var(--soft)}.feat:first-child{padding-left:0}.feat:last-child{border-right:0}.feat svg{width:22px;height:22px;stroke-width:1.5;flex-shrink:0;color:var(--green)}.feat__t{font-size:12px;font-weight:500;line-height:1.2;color:var(--ink)}.feat__s{font-size:11px;color:var(--muted);margin-top:2px}.hero__actions{display:flex;gap:12px;flex-wrap:wrap}.btn-fill{height:46px;padding:0 22px;background:var(--green);color:#fff;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:12px;transition:background .15s}.btn-fill:hover{background:var(--accent-h)}.btn-fill::after{content:"→";transition:transform .14s}.btn-fill:hover::after{transform:translateX(4px)}.btn-out{height:46px;padding:0 22px;border:1.5px solid var(--ink);font-size:12px;font-weight:600;display:inline-flex;align-items:center;color:var(--ink);transition:background .14s,color .14s,border-color .14s}.btn-out:hover{background:var(--ink);color:var(--bg)}.hero__right{position:relative;overflow:hidden;background:var(--sand);min-height:100vh}.hero__right>.cms-media--video,.hero__right>.cms-media--image,.hero__right>.cms-video-wrap{position:absolute;inset:0;width:100%;height:100%}.hero__badge{position:absolute;z-index:5;bottom:28px;left:28px;right:28px;background:rgba(17,26,15,.85);backdrop-filter:blur(8px);padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px}.hero__badge p{font-size:13px;font-weight:600;color:#fff;line-height:1.3}.hero__badge span{font-size:11px;color:rgba(255,255,255,.5);display:block;margin-top:2px}.btn-tel{height:36px;padding:0 16px;background:var(--green-lt);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;white-space:nowrap;flex-shrink:0;transition:background .14s}.btn-tel:hover{background:var(--green)}

/* Services */
.svc-head{padding:clamp(60px,8vw,108px) var(--side) clamp(28px,4vw,52px);background:var(--bg)}.svc-head__eye{color:var(--muted);margin-bottom:12px}.svc-head__h2{font-size:clamp(54px,9vw,128px);font-weight:500;letter-spacing:-.082em;line-height:.86;color:var(--ink)}
.service-tabs{position:sticky;top:var(--tabs-top);z-index:260;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0 var(--side);margin:0 0 22px;background:linear-gradient(to bottom,var(--bg) 0%,var(--bg) 78%,transparent 100%);pointer-events:auto}.service-tab{height:46px;min-width:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 14px;background:var(--paper);border:1px solid var(--soft);border-right:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 -4px 16px rgba(0,0,0,.035);transition:color .15s,border-color .15s}.service-tab:last-child{border-right:1px solid var(--soft)}.service-tab.is-active,.service-tab:hover{color:var(--ink);border-bottom:2px solid var(--green)}.tab-dash{width:16px;height:1px;background:currentColor;opacity:.4;flex-shrink:0}
.stack{list-style:none;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,var(--card-h));gap:var(--stack-gap);padding:0 var(--side) calc(var(--stack-gap)*2.1);margin:0}.scard{position:sticky;top:var(--stack-top);height:var(--card-h);z-index:calc(10 + var(--i));overflow:visible;transform-origin:center top;scroll-margin-top:150px}.scard__body{position:relative;width:100%;height:var(--card-h);min-height:610px;background:var(--paper);border:1px solid var(--soft);border-top:3px solid var(--green);box-shadow:0 8px 36px rgba(0,0,0,.09);display:grid;grid-template-columns:minmax(300px,.86fr) minmax(0,1.58fr);overflow:hidden}.scard:nth-child(2) .scard__body{border-top-color:var(--green-mid)}.scard:nth-child(3) .scard__body{border-top-color:var(--sage)}.scard--rev .scard__body{grid-template-columns:minmax(0,1.58fr) minmax(300px,.86fr)}.scard--rev .scard__media{order:1}.scard--rev .scard__content{order:2}.scard__content{min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,4vw,54px);gap:48px}.scard__num{color:var(--muted);margin-bottom:12px}.scard__h3{font-size:clamp(30px,3.1vw,50px);font-weight:500;letter-spacing:-.055em;line-height:1.02;margin-bottom:12px;max-width:430px;color:var(--ink)}.scard__sub{font-size:14px;color:var(--muted-2);line-height:1.52;letter-spacing:-.01em;max-width:360px}.scard__list{list-style:none;border-top:1px solid var(--line);margin:28px 0 20px}.scard__list li{display:flex;align-items:center;gap:9px;min-height:32px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:-.01em;color:var(--muted-2)}.scard__list li::before{content:"→";font-size:12px;flex-shrink:0;color:var(--green)}.scard__link{display:inline-flex;align-items:center;gap:8px;padding-bottom:5px;border-bottom:1.5px solid var(--green);font-size:12px;font-weight:600;color:var(--green);transition:gap .14s}.scard__link:hover{gap:14px}.scard__media{position:relative;overflow:hidden;min-height:100%;background:var(--sand)}.scard__media>.cms-media--video,.scard__media>.cms-media--image,.scard__media>.cms-video-wrap{position:absolute;inset:0;width:100%;height:100%}.scard__media img,.scard__media video{filter:saturate(.92) contrast(.96);transition:transform .5s var(--ease)}.scard:hover .scard__media img,.scard:hover .scard__media video{transform:scale(1.04)}.scard__media::after{content:attr(data-n);position:absolute;right:12px;bottom:-18px;font-size:clamp(80px,11vw,170px);line-height:.72;font-weight:700;letter-spacing:-.08em;color:rgba(255,255,255,.08);pointer-events:none;mix-blend-mode:overlay}.scard__kicker{position:absolute;top:22px;left:22px;z-index:2;color:rgba(255,255,255,.72)}

/* Approach */
.approach{position:relative;overflow:hidden;padding:clamp(72px,9vw,132px) var(--side);background:var(--bg);border-top:1px solid var(--soft)}.approach__head{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:clamp(42px,6vw,72px)}.approach__title{font-size:clamp(60px,9.5vw,150px);font-weight:500;letter-spacing:-.09em;line-height:.82;max-width:820px;color:var(--ink)}.approach__intro{max-width:360px;color:var(--muted);font-size:15px;line-height:1.55;letter-spacing:-.01em}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,28px)}.approach-card{min-height:540px;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,3vw,38px);background:var(--paper);border:1px solid var(--soft);opacity:0;transform:translateY(34px);transition:opacity .55s var(--ease),transform .55s var(--ease)}.approach-card:nth-child(2){background:linear-gradient(140deg,var(--green-mid),var(--green),#1d3d14);color:#fff;border-color:transparent;transition-delay:.08s}.approach-card:nth-child(3){transition-delay:.16s}.is-visible .approach-card{opacity:1;transform:translateY(0)}.approach-card__num{color:var(--muted)}.approach-card:nth-child(2) .approach-card__num{color:rgba(255,255,255,.65)}.approach-card h3{font-size:clamp(28px,3vw,44px);font-weight:500;letter-spacing:-.06em;line-height:1}.approach-visual{height:240px;display:grid;place-items:center;margin:24px 0}.approach-visual svg{width:min(80%,260px);height:auto;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.approach-visual .cms-media--video,.approach-visual .cms-media--image,.approach-visual .cms-video-wrap{position:relative;max-height:260px;border:1px solid var(--soft)}.approach-card p{font-size:15px;line-height:1.55;color:var(--muted);letter-spacing:-.015em}.approach-card:nth-child(2) p{color:rgba(255,255,255,.82)}.approach-card:nth-child(2) h3{color:#fff}

/* Testimonials */
.testimonials{overflow:hidden;padding:clamp(76px,9vw,136px) var(--side) clamp(90px,10vw,150px);background:var(--paper);border-top:1px solid var(--soft)}.testimonials__title{max-width:980px;margin:0 auto clamp(60px,8vw,108px);text-align:center;font-size:clamp(44px,7vw,108px);font-weight:600;letter-spacing:-.085em;line-height:.9;color:var(--ink)}.review-row{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:clamp(18px,2.5vw,36px);max-width:1280px;margin:0 auto}.review-card{min-height:420px;background:var(--paper);border:1px solid var(--soft);box-shadow:0 18px 46px rgba(0,0,0,.07);padding:clamp(24px,3vw,38px);display:flex;flex-direction:column;justify-content:space-between;opacity:0;transform:translateY(38px) rotate(var(--rot,0deg));transition:opacity .55s var(--ease),transform .6s var(--ease),box-shadow .25s ease}.review-card:nth-child(1){--rot:-4deg;transition-delay:.02s;margin-top:32px}.review-card:nth-child(2){--rot:0deg;transition-delay:.1s}.review-card:nth-child(3){--rot:4deg;transition-delay:.18s;margin-top:32px}.is-visible .review-card{opacity:1;transform:translateY(0) rotate(var(--rot,0deg))}.review-card:hover{box-shadow:0 24px 72px rgba(0,0,0,.12);transform:translateY(-10px) rotate(0deg)!important}.quote-mark{font-size:68px;line-height:.75;font-weight:700;letter-spacing:-.08em;margin-bottom:20px;color:var(--green)}.review-meta{padding-bottom:14px;border-bottom:1px solid var(--line);color:var(--muted)}.review-text{font-size:clamp(21px,2vw,32px);font-weight:500;letter-spacing:-.055em;line-height:1.04;margin:20px 0;color:var(--ink)}.review-footer{display:flex;align-items:center;gap:12px;margin-top:26px}.avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--sand);flex-shrink:0;border:2px solid var(--sage)}.avatar img{width:100%;height:100%;object-fit:cover}.review-footer span{display:block;font-size:12px;font-weight:600;color:var(--ink)}.review-footer small{display:block;font-size:11px;color:var(--muted);margin-top:2px}

/* Audiences, FAQ, Contact */
.audiences{padding:clamp(68px,8vw,108px) var(--side);background:var(--bg-2)}.audiences__eye{color:var(--muted);margin-bottom:48px}.aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.aud-col{background:var(--bg);padding:34px 30px}.aud-ico{font-size:22px;margin-bottom:14px}.aud-title{font-size:15px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px;color:var(--ink)}.aud-text{font-size:13px;color:var(--muted);line-height:1.58}.logos-strip{margin-top:44px;padding-top:34px;border-top:1px solid var(--line)}.logos-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.logo-pill{height:32px;padding:0 16px;border:1px solid var(--line);background:var(--paper);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center}
.faq{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);gap:clamp(28px,6vw,84px);padding:clamp(68px,8vw,108px) var(--side);background:var(--paper);border-top:1px solid var(--soft)}.faq__eye{color:var(--muted)}.faq__h2{font-size:clamp(26px,3.2vw,48px);font-weight:500;letter-spacing:-.055em;line-height:1;margin-top:12px;color:var(--ink)}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-btn{width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer;font-size:15px;font-weight:400;letter-spacing:-.018em;font-family:inherit}.faq-btn .ico{font-size:22px;font-weight:300;transition:transform .2s,color .15s;flex-shrink:0;color:var(--muted)}.faq-item.open .faq-btn .ico{transform:rotate(45deg);color:var(--green)}.faq-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s var(--ease)}.faq-panel>div{overflow:hidden}.faq-item.open .faq-panel{grid-template-rows:1fr}.faq-panel p{padding:0 0 16px;font-size:14px;color:var(--muted);line-height:1.55}
.contact{display:grid;grid-template-columns:minmax(200px,.5fr) minmax(0,1fr);gap:clamp(36px,6vw,84px);padding:clamp(68px,8vw,116px) var(--side);background:linear-gradient(135deg,var(--bg-2),var(--bg));border-top:1px solid var(--soft)}.contact__eye{color:var(--muted);margin-bottom:14px}.contact__h2{font-size:clamp(32px,3.8vw,58px);font-weight:500;letter-spacing:-.06em;line-height:1;margin-bottom:16px;color:var(--ink)}.contact__sub{font-size:15px;color:var(--muted);line-height:1.55;margin-bottom:30px;max-width:360px}.ci-list{display:grid;gap:9px}.ci{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;padding:13px 15px;background:var(--paper);border:1px solid var(--line);transition:border-color .14s,transform .16s}.ci:hover{border-color:var(--green);transform:translateX(3px)}.ci svg{width:17px;height:17px;stroke-width:1.5;color:var(--green)}.ci__l{font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ci__v{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.form-box{background:var(--paper);border:1px solid var(--soft);padding:clamp(24px,4vw,44px)}.form-box h3{font-size:clamp(19px,2vw,29px);font-weight:500;letter-spacing:-.045em;margin-bottom:30px;color:var(--ink)}.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.f-field{margin-bottom:24px}.f-field input,.f-field select,.f-field textarea{width:100%;display:block;padding:0 0 11px;border:0;border-bottom:1.25px solid var(--line);border-radius:0;outline:none;background:transparent;color:var(--ink);font-family:inherit;font-size:15px;appearance:none}.f-field textarea{min-height:110px;resize:vertical}.f-field input::placeholder,.f-field textarea::placeholder{color:var(--muted)}.f-field input:focus,.f-field select:focus,.f-field textarea:focus{border-bottom-color:var(--green)}.f-submit{height:46px;min-width:210px;background:var(--green);color:#fff;border:0;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:12px;padding:0 22px;transition:background .14s}.f-submit:hover{background:var(--accent-h)}.f-submit::after{content:"→";transition:transform .14s}.f-submit:hover::after{transform:translateX(4px)}.f-ok,.f-error{display:none;margin-top:12px;font-size:13px;font-weight:500}.f-ok{color:var(--green)}.f-error{color:#b73535}.f-ok.show,.f-error.show{display:block}

/* Footer */
.site-footer{position:relative;overflow:hidden;min-height:min(820px,86vh);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(58px,7vw,92px) var(--side) 24px;color:#fff;background:radial-gradient(circle at 15% 20%,rgba(130,196,102,.74),transparent 34%),radial-gradient(circle at 84% 30%,rgba(45,105,31,.88),transparent 38%),radial-gradient(circle at 50% 78%,rgba(106,160,82,.58),transparent 42%),linear-gradient(145deg,#17320f,#2a5c1e 48%,#12270d)}.site-footer::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12);backdrop-filter:blur(3px);pointer-events:none}.site-footer>*{position:relative;z-index:1}.ft-main{display:grid;grid-template-columns:minmax(320px,1.3fr) repeat(3,minmax(140px,.55fr));gap:clamp(28px,5vw,78px);align-items:start;margin-bottom:clamp(44px,8vw,110px)}.ft-intro{max-width:560px}.ft-intro p:not(.ft-ct){margin-top:16px;color:rgba(255,255,255,.76);font-size:14px;line-height:1.55}.ft-ct{color:rgba(255,255,255,.76);margin-bottom:18px}.ft-links{list-style:none;display:grid;gap:10px}.ft-links a,.ft-links li{color:rgba(255,255,255,.74);font-size:14px;line-height:1.3}.ft-links a:hover{color:#fff}.ft-bottom{display:flex;justify-content:space-between;gap:18px;padding-top:22px;border-top:1px solid rgba(255,255,255,.24);color:rgba(255,255,255,.72);font-size:12px}.ft-bottom div{display:flex;gap:22px;flex-wrap:wrap}.ft-bottom a{color:rgba(255,255,255,.72)}.ft-bottom a:hover{color:#fff}.ft-wordmark{width:100%;font-size:clamp(110px,24vw,420px);line-height:.68;font-weight:600;letter-spacing:-.105em;color:rgba(255,255,255,.92);white-space:nowrap;user-select:none;margin:.08em 0 .02em -.06em}
.page-main{padding:130px var(--side) 80px;min-height:70vh;background:var(--paper)}.page-main h1{font-size:clamp(40px,6vw,86px);font-weight:500;letter-spacing:-.07em;line-height:.95;margin-bottom:36px}.page-content{max-width:900px;color:var(--muted-2);font-size:16px;line-height:1.7}.page-content p{margin-bottom:1em}.page-content a{text-decoration:underline;color:var(--green)}

@media(max-width:1180px){.service-tab{font-size:10px;padding:0 10px}.tab-dash{width:12px}.scard__body,.scard--rev .scard__body{grid-template-columns:1fr 1fr}.ft-main{grid-template-columns:1fr 1fr;gap:42px}.ft-intro{grid-column:1/-1}.ft-wordmark{font-size:clamp(110px,30vw,330px)}}
@media(max-width:1080px){.hero{grid-template-columns:1fr}.hero__right{min-height:52vh}.hero__right>.cms-media--video,.hero__right>.cms-media--image,.hero__right>.cms-video-wrap{position:relative;height:52vh}.hdr__nav{display:none}.approach-grid,.review-row{grid-template-columns:1fr}.approach-card,.review-card{min-height:auto;margin-top:0!important;transform:translateY(28px)!important}.is-visible .review-card,.review-card:hover{transform:translateY(0) rotate(0deg)!important}.approach__head{align-items:flex-start;flex-direction:column}}
@media(max-width:980px){:root{--card-h:auto;--stack-gap:28px}.service-tabs{top:calc(10px + 44px + 12px);display:flex;overflow-x:auto;padding:0 var(--side);margin-bottom:22px;scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--bg)}.service-tabs::-webkit-scrollbar{display:none}.service-tab{min-width:min(82vw,330px);height:46px;flex:0 0 auto;justify-content:flex-start;padding:0 18px;scroll-snap-align:start;border-right:1px solid var(--soft)}.stack{display:flex;flex-direction:column;gap:28px;padding:0 var(--side) clamp(64px,10vw,100px)}.scard{position:relative!important;top:auto!important;height:auto!important;z-index:auto!important;overflow:visible;scroll-margin-top:120px}.scard__body,.scard--rev .scard__body{height:auto!important;min-height:0!important;display:grid;grid-template-columns:1fr!important;grid-template-rows:min(58vw,440px) auto!important;overflow:hidden}.scard__media{order:1!important;min-height:min(58vw,440px)!important;position:relative!important}.scard__content{order:2!important;padding:clamp(26px,6vw,44px)!important;min-height:auto!important;gap:42px}.scard__h3{max-width:none;font-size:clamp(34px,8vw,58px)}.scard__sub{max-width:620px;font-size:15px}.scard__list{margin-top:34px}.contact{grid-template-columns:1fr!important;gap:38px;padding-bottom:clamp(78px,14vw,120px)}}
@media(max-width:760px){:root{--side:18px}.hdr{width:calc(100% - 20px);top:10px}.hdr__theme{min-width:48px}.theme-toggle__knob{width:22px;height:22px}[data-theme="dark"] .theme-toggle__knob{transform:translateX(18px)}.menu-overlay a{font-size:clamp(34px,13vw,54px)}.hero__h1{font-size:clamp(42px,11vw,68px)}.hero__feats{grid-template-columns:1fr}.feat{border-right:0;border-bottom:1px solid var(--soft);padding-left:0}.feat:last-child{border-bottom:0}.hero__right{min-height:58vh}.hero__right>.cms-media--video,.hero__right>.cms-media--image,.hero__right>.cms-video-wrap{height:58vh}.hero__badge{left:18px;right:18px;bottom:18px;margin:0;flex-direction:column;align-items:flex-start}.service-tabs{top:64px;padding:0 18px}.service-tab{min-width:78vw}.scard__body,.scard--rev .scard__body{grid-template-rows:260px auto!important}.scard__media{min-height:260px!important}.scard__content{padding:28px 20px!important}.scard__h3{font-size:clamp(32px,11vw,48px)}.aud-grid{grid-template-columns:1fr}.faq{grid-template-columns:1fr}.contact{grid-template-columns:1fr}.f-grid{grid-template-columns:1fr}.testimonials__title{text-align:left}.approach__title{font-size:clamp(52px,16vw,88px)}.site-footer{min-height:auto;padding:64px 20px 26px}.ft-main{grid-template-columns:1fr;gap:32px;margin-bottom:42px}.ft-wordmark{font-size:clamp(92px,32vw,180px);white-space:normal}.ft-bottom{flex-direction:column}.ft-bottom div{gap:16px}}


/* ===== v1.4 fixes: media, footer, services responsive ===== */
.cms-video-wrap.video-error{background:linear-gradient(135deg,var(--sand),var(--paper));}
.cms-video-wrap.video-error .video-fallback{display:block;position:absolute;inset:0;}
.cms-video-wrap.video-error .video-fallback span{padding:22px;text-align:center;font-size:13px;line-height:1.45;font-weight:500;}
.cms-media--image,.cms-media--video,.cms-video-wrap,.cms-video-wrap video{width:100%;height:100%;object-fit:cover;}
.hero__right>.cms-video-wrap,.hero__right>.cms-media--image,.hero__right>.cms-media--video{position:absolute;inset:0;width:100%;height:100%;}
.hero__right{min-height:100vh;}
.hero__badge{z-index:4;}
.scard__media>.cms-video-wrap,.scard__media>.cms-media--image,.scard__media>.cms-media--video{position:absolute;inset:0;width:100%;height:100%;}
.scard__kicker{z-index:4;}
.service-tabs{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;}
.service-tab{min-width:0;justify-content:center;text-align:center;}
.site-footer{min-height:auto;padding:clamp(64px,8vw,112px) var(--side) 28px;background:linear-gradient(135deg,#17320f,#245319 48%,#10250b);}
.site-footer::before{background:radial-gradient(circle at 18% 12%,rgba(125,198,90,.24),transparent 34%),radial-gradient(circle at 88% 80%,rgba(255,255,255,.10),transparent 35%);backdrop-filter:none;}
.ft-main{grid-template-columns:minmax(280px,1.25fr) repeat(3,minmax(150px,.65fr));gap:clamp(28px,5vw,84px);margin-bottom:clamp(46px,7vw,92px);}
.ft-intro p:not(.ft-ct){max-width:520px;}
.ft-wordmark{font-size:clamp(92px,18vw,300px);line-height:.72;margin:0 0 -.03em -.045em;color:rgba(255,255,255,.88);}
.ft-bottom{align-items:center;}
@media(max-width:1180px){.ft-main{grid-template-columns:1fr 1fr}.ft-intro{grid-column:1/-1}.ft-wordmark{font-size:clamp(100px,27vw,280px)}}
@media(max-width:980px){
  .service-tabs{display:flex;align-items:center;gap:0;top:64px;padding:0 var(--side);overflow-x:auto;}
  .service-tab{min-width:min(78vw,340px);justify-content:flex-start;}
  .stack{display:flex;flex-direction:column;gap:28px;}
  .scard{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;}
  .scard__body,.scard--rev .scard__body{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:min(62vw,430px) auto!important;height:auto!important;min-height:0!important;}
  .scard__media{order:1!important;min-height:min(62vw,430px)!important;height:min(62vw,430px)!important;}
  .scard__content{order:2!important;min-height:auto!important;}
}
@media(max-width:760px){
  .hero{min-height:auto;display:block;}
  .hero__left{min-height:92vh;padding-top:96px;padding-bottom:46px;}
  .hero__right{min-height:56vh;height:56vh;}
  .hero__right>.cms-video-wrap,.hero__right>.cms-media--image,.hero__right>.cms-media--video{height:56vh;}
  .service-tabs{top:64px;padding:0 18px;}
  .service-tab{min-width:82vw;height:44px;}
  .scard__body,.scard--rev .scard__body{grid-template-rows:260px auto!important;}
  .scard__media{min-height:260px!important;height:260px!important;}
  .site-footer{padding:58px 20px 24px;}
  .ft-main{grid-template-columns:1fr;gap:30px;margin-bottom:42px;}
  .ft-wordmark{font-size:clamp(86px,30vw,170px);white-space:normal;letter-spacing:-.09em;}
}

/* ===== v1.7 fixes: dark select contrast + editable audience images + logo marquee ===== */
.f-field select{
  color:var(--ink);
  background-color:transparent;
  color-scheme:light;
}
.f-field select option,
.f-field select optgroup{
  color:#111a0f;
  background:#ffffff;
}
[data-theme="dark"] .f-field select:focus{
  background:var(--paper);
}
[data-theme="dark"] .f-field select option,
[data-theme="dark"] .f-field select optgroup{
  color:#111a0f;
  background:#ffffff;
}

.audiences__title{
  font-size:clamp(34px,4.2vw,56px);
  font-weight:500;
  letter-spacing:-.055em;
  line-height:1;
  margin-bottom:52px;
  color:var(--ink);
  max-width:980px;
}
.aud-col{
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.aud-media{
  width:74px;
  height:74px;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--paper);
  margin-bottom:22px;
}
.aud-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.9) contrast(.95);
  transition:transform .35s var(--ease), filter .25s ease;
}
.aud-col:hover .aud-media img{
  transform:scale(1.06);
  filter:saturate(1) contrast(1.02);
}
.aud-ico{
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  background:var(--paper);
  font-size:24px;
  margin-bottom:22px;
}
.logos-strip__eyebrow{color:var(--muted)}
.logos-marquee{
  position:relative;
  overflow:hidden;
  width:100%;
  margin-top:18px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
}
.logos-track{
  display:flex;
  width:max-content;
  gap:12px;
  padding:18px 0;
  animation:cms-logo-marquee 120s linear infinite;
}
.logos-marquee:hover .logos-track{animation-play-state:paused}
.logo-card{
  flex:0 0 auto;
  width:178px;
  height:74px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--paper);
  padding:10px;
}
.logo-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:grayscale(1) contrast(1.05) opacity(.74);
}
[data-theme="dark"] .logo-card{
  background:rgba(255,255,255,.06);
}
[data-theme="dark"] .logo-card img{
  filter:grayscale(1) invert(1) contrast(1.05) opacity(.72);
  mix-blend-mode:screen;
}
@keyframes cms-logo-marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media(max-width:760px){
  .audiences__title{margin-bottom:34px;font-size:clamp(36px,12vw,58px)}
  .aud-col{min-height:0;padding:28px 22px}
  .aud-media,.aud-ico{width:64px;height:64px;margin-bottom:18px}
  .logo-card{width:148px;height:62px}
  .logos-track{animation-duration:22s}
}

/* ===== v1.8 fixes: continuous logos, full-width audience images, footer order, logo fields ===== */
.logo-img--dark{display:none!important}
[data-theme="dark"] .logo-img--light{display:none!important}
[data-theme="dark"] .logo-img--dark{display:block!important}
.hdr__logo .logo-img{height:22px;width:auto;max-width:112px;object-fit:contain}
.hdr__logo .logo-text{display:inline-block}

.aud-grid{align-items:stretch}
.aud-col{
  min-height:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  overflow:hidden;
  background:var(--bg);
}
.aud-media{
  width:100%!important;
  height:clamp(190px,20vw,320px)!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  background:var(--paper);
}
.aud-media img{width:100%!important;height:100%!important;object-fit:cover!important;display:block}
.aud-content{padding:clamp(22px,2.4vw,34px) clamp(22px,2.5vw,32px) clamp(28px,3vw,38px)}
.aud-title{margin:0 0 10px!important}
.aud-text{max-width:520px}
.aud-ico{width:100%!important;height:clamp(160px,17vw,260px)!important;margin:0!important;border:0!important;border-bottom:1px solid var(--line)!important;background:var(--paper);font-size:42px}

.logos-marquee{overflow:hidden;isolation:isolate}
.logos-track{display:flex!important;width:max-content!important;gap:0!important;padding:0!important;animation:cms-logo-marquee-v18 120s linear infinite!important;will-change:transform}
.logos-group{display:flex;gap:12px;flex:0 0 auto;padding:18px 12px 18px 0}
.logo-card{width:clamp(150px,10vw,190px);height:74px;flex:0 0 auto}
@keyframes cms-logo-marquee-v18{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

.site-footer{
  min-height:auto!important;
  display:block!important;
  padding:clamp(60px,7vw,96px) var(--side) 26px!important;
}
.ft-main{
  margin-bottom:clamp(54px,7vw,94px)!important;
  align-items:start!important;
}
.ft-wordmark{
  display:flex!important;
  align-items:flex-end;
  justify-content:flex-start;
  width:100%;
  margin:0 0 clamp(28px,4vw,52px) -.045em!important;
  font-size:clamp(110px,22vw,360px)!important;
  line-height:.68!important;
  pointer-events:none;
}
.ft-wordmark .ft-logo-img{
  display:block;
  width:min(100%,clamp(260px,42vw,760px));
  height:auto;
  max-height:clamp(120px,20vw,300px);
  object-fit:contain;
  object-position:left bottom;
}
.ft-bottom{
  margin-top:0!important;
  padding-top:20px!important;
  border-top:1px solid rgba(255,255,255,.24)!important;
  align-items:center!important;
}
@media(max-width:760px){
  .aud-media{height:220px!important}
  .aud-content{padding:24px 22px 30px}
  .logos-group{gap:10px;padding:16px 10px 16px 0}
  .logo-card{width:145px;height:58px}
  .logos-track{animation-duration:30s!important}
  .ft-main{margin-bottom:44px!important}
  .ft-wordmark{font-size:clamp(92px,31vw,180px)!important;margin-bottom:28px!important;white-space:normal!important;letter-spacing:-.09em!important}
  .ft-wordmark .ft-logo-img{width:min(100%,360px);max-height:140px}
}

/* v1.9: logo marquee slowed to 120s */

/* v2.0: logo marquee ultra slow on desktop and mobile */
.logos-track,
.logos-marquee .logos-track{
  animation-duration:120s!important;
  animation-timing-function:linear!important;
}
@media(max-width:760px){
  .logos-track,
  .logos-marquee .logos-track{
    animation-duration:120s!important;
  }
}

/* v2.1: logo marquee very smooth + compact mobile quote CTA */
.logos-track,
.logos-marquee .logos-track{
  animation-duration:250s!important;
  animation-timing-function:linear!important;
}
@media(max-width:760px){
  .logos-track,
  .logos-marquee .logos-track{
    animation-duration:250s!important;
  }

  .menu-cta{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-top:18px!important;
  }
  .menu-cta .mono{
    min-width:0!important;
    font-size:10px!important;
    letter-spacing:.06em!important;
    white-space:nowrap!important;
  }
  .menu-cta a{
    height:32px!important;
    min-width:auto!important;
    max-width:46vw!important;
    padding:0 10px!important;
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.02em!important;
    white-space:nowrap!important;
    flex:0 0 auto!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}
@media(max-width:380px){
  .menu-cta{
    gap:8px!important;
  }
  .menu-cta .mono{
    font-size:9px!important;
  }
  .menu-cta a{
    height:30px!important;
    max-width:42vw!important;
    padding:0 8px!important;
    font-size:9px!important;
  }
}

/* v2.2: performance optimizations */
.approach,
.testimonials,
.audiences,
.faq,
.contact,
.site-footer{
  content-visibility:auto;
  contain-intrinsic-size:1px 900px;
}
.cms-video-wrap.is-video-lazy video{
  background:var(--sand);
}
.cms-video-wrap.is-loading::after{
  content:"";
  position:absolute;
  left:18px;
  bottom:18px;
  width:28px;
  height:28px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  border-top-color:rgba(255,255,255,.9);
  animation:cms-video-loader .9s linear infinite;
  z-index:6;
  pointer-events:none;
}
.cms-video-wrap.is-playing::after,
.cms-video-wrap.video-error::after{display:none}
@keyframes cms-video-loader{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
  .logos-track{animation-play-state:paused!important}
  .cms-video-wrap video{animation:none!important}
}

/* v2.3: Réalisations Avant / Après */
.realisations{
  padding:clamp(72px,9vw,120px) 0;
  background:var(--bg);
  border-top:1px solid var(--soft);
  overflow:hidden;
}
.real-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:0 var(--side);
  margin-bottom:clamp(36px,5vw,56px);
  flex-wrap:wrap;
}
.real-head__eye{color:var(--muted);margin-bottom:10px}
.real-head__title{
  font-size:clamp(48px,7vw,96px);
  font-weight:500;
  letter-spacing:-.08em;
  line-height:.86;
  color:var(--ink);
}
.real-head__right{display:flex;flex-direction:column;align-items:flex-end;gap:16px}
.real-head__sub{max-width:300px;color:var(--muted);font-size:14px;line-height:1.55;text-align:right}
.real-nav{display:flex;align-items:center;gap:12px}
.real-nav__counter{font-size:13px;font-weight:500;color:var(--muted);min-width:44px;text-align:center;letter-spacing:.02em}
.real-nav__btn{
  width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:transparent;
  cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);
  transition:background .15s,border-color .15s,transform .15s;flex-shrink:0;
}
.real-nav__btn:hover{background:var(--green);border-color:var(--green);color:#fff;transform:scale(1.05)}
.real-nav__btn:disabled{opacity:.3;cursor:default;transform:none;background:transparent;color:var(--muted);border-color:var(--line)}
.real-nav__btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.real-track-wrap{position:relative;padding:0 var(--side)}
.real-track{
  display:flex;gap:clamp(12px,2vw,20px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-right:clamp(48px,8vw,96px);scroll-padding-left:0;
}
.real-track::-webkit-scrollbar{display:none}
.compare-card{
  flex:0 0 min(calc(100vw - var(--side)*2 - 48px),580px);scroll-snap-align:start;background:var(--paper);
  border:1px solid var(--soft);overflow:hidden;display:flex;flex-direction:column;
  opacity:0;transform:translateY(20px);transition:opacity .5s var(--ease),transform .5s var(--ease),border-color .2s ease;
}
.compare-card.is-visible{opacity:1;transform:translateY(0)}
.compare-card:nth-child(2){transition-delay:.08s}.compare-card:nth-child(3){transition-delay:.16s}.compare-card:nth-child(4){transition-delay:.24s}.compare-card:nth-child(5){transition-delay:.32s}
.cc-header{padding:16px 20px 13px;border-bottom:1px solid var(--soft);display:flex;align-items:center;justify-content:space-between;gap:10px}
.cc-label{font-size:14px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.cc-sub{font-size:11px;color:var(--muted);margin-top:2px}
.cc-badge{height:22px;padding:0 9px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center;flex-shrink:0;background:var(--green);color:#fff;white-space:nowrap}
.cc-badge.mid{background:var(--green-mid)}
.cc-badge.sage{background:var(--sage);color:var(--ink)}
.slider-wrap{
  position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;cursor:col-resize;user-select:none;-webkit-user-select:none;
  touch-action:pan-y pinch-zoom;background:var(--sand);-webkit-tap-highlight-color:transparent;
}
.s-after,.s-before{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;will-change:clip-path;background:var(--sand)}
.s-after{z-index:1}.s-before{z-index:2;clip-path:inset(0 50% 0 0)}
.compare-placeholder{display:grid;place-items:center;color:var(--muted);font-size:13px;text-align:center;padding:18px;background:linear-gradient(135deg,var(--sand),var(--paper))}
.s-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:rgba(255,255,255,.88);box-shadow:0 0 0 1px rgba(0,0,0,.12);z-index:10;transform:translateX(-1px);will-change:left}
.s-handle{position:absolute;top:50%;left:50%;width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.22),0 0 0 1.5px rgba(255,255,255,.6);transform:translate(-50%,-50%);z-index:11;display:flex;align-items:center;justify-content:center;will-change:left;transition:box-shadow .15s,transform .15s}
.slider-wrap:active .s-handle,.slider-wrap.dragging .s-handle{box-shadow:0 4px 22px rgba(0,0,0,.3),0 0 0 2px var(--green);transform:translate(-50%,-50%) scale(1.08)}
.s-handle svg{width:17px;height:17px;stroke:var(--green);stroke-width:2.5;fill:none}
.s-lbl{position:absolute;bottom:14px;z-index:9;height:24px;padding:0 9px;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);color:rgba(255,255,255,.92);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;pointer-events:none}
.s-lbl-before{left:14px}.s-lbl-after{right:14px}
.s-hint{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:1;transition:opacity .3s}
.s-hint.hidden{opacity:0}.s-hint-pill{background:rgba(0,0,0,.52);backdrop-filter:blur(6px);color:#fff;padding:6px 14px;font-size:11px;font-weight:600;letter-spacing:.04em;display:flex;align-items:center;gap:7px}.s-hint-pill svg{width:14px;height:14px;stroke:#fff;stroke-width:2;fill:none}
.cc-footer{padding:13px 20px;border-top:1px solid var(--soft);display:flex;align-items:center;justify-content:space-between;gap:10px}
.cc-meta{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}
.cc-meta::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--green);flex-shrink:0}.cc-cta{height:30px;padding:0 12px;border:1.5px solid var(--green);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--green);text-decoration:none;display:inline-flex;align-items:center;gap:5px;transition:background .13s,color .13s;flex-shrink:0}.cc-cta:hover{background:var(--green);color:#fff}.cc-cta::after{content:'→';font-size:11px}
.real-dots{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:clamp(20px,3vw,32px);padding:0 var(--side)}
.real-dot{width:6px;height:6px;border-radius:50%;background:var(--line);border:none;cursor:pointer;padding:0;transition:background .2s,transform .2s,width .25s var(--ease);flex-shrink:0}.real-dot.active{background:var(--green);width:20px;border-radius:3px}
.real-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:clamp(36px,5vw,56px) var(--side) 0}
[data-theme="dark"] .compare-card{box-shadow:0 14px 44px rgba(0,0,0,.18)}
@media(max-width:760px){.real-head{flex-direction:column;align-items:flex-start}.real-head__right{align-items:flex-start}.real-head__sub{text-align:left;max-width:none}.slider-wrap{aspect-ratio:3/4}.compare-card{flex-basis:min(calc(100vw - 48px),420px)}.cc-footer{align-items:flex-start;flex-direction:column}.cc-badge{max-width:46vw;overflow:hidden;text-overflow:ellipsis}.real-nav__btn{width:38px;height:38px}}
@media(min-width:900px){.compare-card{flex-basis:min(540px,42vw)}.slider-wrap{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){.real-track{scroll-behavior:auto}.compare-card{transition:none}}


/* v2.4: Galerie photos libres */
.free-gallery{
  padding:clamp(72px,9vw,124px) var(--side);
  background:var(--paper);
  border-top:1px solid var(--soft);
  overflow:hidden;
}
.free-gallery__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:clamp(28px,5vw,72px);
  margin-bottom:clamp(34px,5vw,62px);
}
.free-gallery__eye{color:var(--muted);margin-bottom:10px}
.free-gallery__title{
  font-size:clamp(48px,8vw,118px);
  font-weight:500;
  letter-spacing:-.085em;
  line-height:.86;
  color:var(--ink);
}
.free-gallery__intro{
  max-width:390px;
  color:var(--muted);
  font-size:15px;
  line-height:1.55;
  letter-spacing:-.012em;
}
.free-gallery__grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:clamp(120px,12vw,190px);
  gap:clamp(10px,1.4vw,18px);
}
.free-gallery__item{
  position:relative;
  display:block;
  overflow:hidden;
  background:var(--sand);
  border:1px solid var(--soft);
  min-height:180px;
  transform:translateY(24px);
  opacity:0;
  transition:opacity .55s var(--ease),transform .55s var(--ease),border-color .2s ease;
}
.is-visible .free-gallery__item{opacity:1;transform:translateY(0)}
.free-gallery__item:nth-child(2){transition-delay:.04s}.free-gallery__item:nth-child(3){transition-delay:.08s}.free-gallery__item:nth-child(4){transition-delay:.12s}.free-gallery__item:nth-child(5){transition-delay:.16s}.free-gallery__item:nth-child(6){transition-delay:.2s}
.free-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease),filter .35s ease;filter:saturate(.95) contrast(.98)}
.free-gallery__item:hover{border-color:var(--green)}
.free-gallery__item:hover img{transform:scale(1.045);filter:saturate(1.04) contrast(1.02)}
.free-gallery__caption{
  position:absolute;
  left:12px;
  bottom:12px;
  z-index:2;
  max-width:calc(100% - 24px);
  height:24px;
  padding:0 9px;
  display:inline-flex;
  align-items:center;
  background:rgba(0,0,0,.52);
  color:rgba(255,255,255,.92);
  backdrop-filter:blur(5px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.free-gallery__item--1{grid-column:span 5;grid-row:span 2}.free-gallery__item--2{grid-column:span 4;grid-row:span 1}.free-gallery__item--3{grid-column:span 3;grid-row:span 2}.free-gallery__item--4{grid-column:span 4;grid-row:span 1}.free-gallery__item--5{grid-column:span 4;grid-row:span 2}.free-gallery__item--6{grid-column:span 4;grid-row:span 1}
.free-gallery__cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:clamp(30px,4vw,48px)}
[data-theme="dark"] .free-gallery{background:var(--paper)}
[data-theme="dark"] .free-gallery__item{box-shadow:0 14px 44px rgba(0,0,0,.16)}
@media(max-width:980px){
  .free-gallery__head{flex-direction:column;align-items:flex-start}
  .free-gallery__intro{max-width:620px}
  .free-gallery__grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(130px,24vw,230px)}
  .free-gallery__item--1,.free-gallery__item--2,.free-gallery__item--3,.free-gallery__item--4,.free-gallery__item--5,.free-gallery__item--6{grid-column:span 3;grid-row:span 1}
  .free-gallery__item--1,.free-gallery__item--5{grid-column:span 6;grid-row:span 2}
}
@media(max-width:640px){
  .free-gallery{padding-left:18px;padding-right:18px}
  .free-gallery__title{font-size:clamp(44px,15vw,76px)}
  .free-gallery__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-right:28px;scrollbar-width:none}
  .free-gallery__grid::-webkit-scrollbar{display:none}
  .free-gallery__item{flex:0 0 min(82vw,360px);height:clamp(300px,78vw,420px);scroll-snap-align:start;grid-column:auto!important;grid-row:auto!important}
}

/* v2.6 — avant/après dynamique + lightbox galerie */
.compare-card:nth-child(n){transition-delay:0s}
.compare-media--video{background:#000}
.free-gallery__item{appearance:none;border-radius:0;text-align:left;cursor:pointer;padding:0;color:inherit;font:inherit}
.free-gallery__media{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s var(--ease),filter .35s ease;filter:saturate(.95) contrast(.98)}
.free-gallery__item:hover .free-gallery__media{transform:scale(1.045);filter:saturate(1.04) contrast(1.02)}
.free-gallery__item video.free-gallery__media{background:#000}
.free-gallery__placeholder{display:grid;place-items:center;color:var(--muted);background:var(--sand);font-size:13px;padding:16px;text-align:center}
.free-gallery__play{position:absolute;top:12px;right:12px;z-index:3;width:34px;height:34px;border-radius:999px;background:rgba(0,0,0,.54);color:#fff;display:grid;place-items:center;font-size:12px;backdrop-filter:blur(6px);pointer-events:none}
html.has-lightbox,html.has-lightbox body{overflow:hidden}
.cms-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.76);backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;padding:clamp(18px,4vw,54px)}
.cms-lightbox.is-open{display:flex}
.cms-lightbox__inner{position:relative;width:min(1180px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;align-items:center;gap:12px}
.cms-lightbox__media{width:100%;display:flex;justify-content:center;align-items:center;min-height:120px}
.cms-lightbox__media img,.cms-lightbox__media video{max-width:100%;max-height:calc(100vh - 130px);object-fit:contain;background:#050805;box-shadow:0 20px 90px rgba(0,0,0,.45)}
.cms-lightbox__caption{margin:0;color:rgba(255,255,255,.86);font-size:13px;line-height:1.45;text-align:center;max-width:760px}
.cms-lightbox__close{position:absolute;top:-14px;right:-14px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.54);color:#fff;font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center;z-index:2}
.cms-lightbox__close:hover{background:#fff;color:#111}
@media(max-width:760px){.cms-lightbox{padding:12px}.cms-lightbox__close{top:8px;right:8px}.cms-lightbox__media img,.cms-lightbox__media video{max-height:calc(100vh - 110px)}}


/* ===== v2.6 ergonomie, services actifs, masonry ratio réel, avis Google, header plus visible ===== */
:root{--hdr:66px;}
body{font-size:16px;}
.hdr{
  width:min(900px,calc(100% - 28px))!important;
  height:54px!important;
  padding:0 16px 0 22px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid color-mix(in srgb,var(--ink) 20%,transparent)!important;
  box-shadow:0 12px 42px rgba(0,0,0,.16)!important;
}
[data-theme="dark"] .hdr{
  background:rgba(18,32,15,.96)!important;
  border-color:rgba(232,240,228,.2)!important;
  box-shadow:0 12px 44px rgba(0,0,0,.38)!important;
}
.hdr__logo{font-size:15px!important;min-width:72px!important;}
.hdr__logo img,.hdr__logo .logo-img{height:28px!important;max-width:138px!important;}
.hdr__nav{gap:28px!important;}
.hdr__nav a{font-size:14px!important;font-weight:650!important;color:var(--muted-2)!important;}
.hdr__nav a:hover{color:var(--ink)!important;}
.hdr__theme{height:36px!important;min-width:62px!important;}
.theme-toggle__knob{width:28px!important;height:28px!important;}
[data-theme="dark"] .theme-toggle__knob{transform:translateX(25px)!important;}
.hdr__toggle{width:36px!important;height:36px!important;}
.menu-overlay{width:min(900px,calc(100% - 28px))!important;top:14px!important;padding-top:68px!important;}

.hero__sub,.approach__intro,.approach-card p,.scard__sub,.aud-text,.free-gallery__intro,.real-head__sub,.contact__sub,.faq__a{
  font-size:clamp(16px,1.02vw,18px)!important;
  line-height:1.65!important;
}
.feat__t,.aud-title,.contact-card strong{font-size:15px!important;}
.feat__s,.contact-card span{font-size:13px!important;}
.scard__list li{
  min-height:40px!important;
  padding:10px 0!important;
  font-size:clamp(16px,1.05vw,18px)!important;
  line-height:1.45!important;
  color:var(--ink)!important;
}
.scard__list li::before{font-size:14px!important;}
.scard__link,.btn-fill,.btn-out,.cc-cta{font-size:13px!important;}

.service-tabs{gap:6px!important;background:linear-gradient(to bottom,var(--bg) 0%,var(--bg) 82%,transparent 100%)!important;}
.service-tab{
  position:relative;
  height:56px!important;
  border:1px solid var(--line)!important;
  background:color-mix(in srgb,var(--paper) 88%,var(--green) 12%)!important;
  color:var(--muted-2)!important;
  box-shadow:none!important;
  font-size:11px!important;
  transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.service-tab:hover{
  background:color-mix(in srgb,var(--paper) 72%,var(--green) 28%)!important;
  color:var(--ink)!important;
  border-color:var(--green)!important;
}
.service-tab.is-active{
  background:var(--green)!important;
  color:#fff!important;
  border-color:var(--green)!important;
  box-shadow:0 14px 38px rgba(42,92,30,.22)!important;
  transform:translateY(-2px);
}
[data-theme="dark"] .service-tab{background:rgba(255,255,255,.055)!important;color:var(--muted-2)!important;}
[data-theme="dark"] .service-tab:hover{background:rgba(125,198,90,.16)!important;color:var(--ink)!important;}
[data-theme="dark"] .service-tab.is-active{background:var(--green)!important;color:#0e1a0c!important;box-shadow:0 16px 44px rgba(125,198,90,.18)!important;}
.service-tab.is-active .tab-dash{opacity:.75!important;}

.free-gallery__grid{
  display:block!important;
  columns:3 280px!important;
  column-gap:clamp(12px,1.4vw,22px)!important;
}
.free-gallery__item,
.free-gallery__item[class*="free-gallery__item--"]{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 clamp(12px,1.4vw,22px)!important;
  break-inside:avoid!important;
  -webkit-column-break-inside:avoid!important;
  page-break-inside:avoid!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
.free-gallery__media,
.free-gallery__item img,
.free-gallery__item video{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  object-fit:contain!important;
}
.free-gallery__item video.free-gallery__media{aspect-ratio:auto!important;background:#000;}
@media(max-width:980px){.free-gallery__grid{columns:2 260px!important;}}
@media(max-width:640px){
  :root{--hdr:60px;}
  .hdr{width:calc(100% - 16px)!important;height:50px!important;top:8px!important;padding:0 10px 0 16px!important;}
  .hdr__logo img,.hdr__logo .logo-img{height:24px!important;max-width:112px!important;}
  .hdr__theme{height:32px!important;min-width:54px!important;}
  .theme-toggle__knob{width:24px!important;height:24px!important;}
  [data-theme="dark"] .theme-toggle__knob{transform:translateX(21px)!important;}
  .hdr__toggle{width:32px!important;height:32px!important;}
  .menu-overlay{width:calc(100% - 16px)!important;top:8px!important;padding-top:62px!important;}
  .service-tabs{top:66px!important;gap:8px!important;padding:0 18px 8px!important;}
  .service-tab{height:52px!important;min-width:min(84vw,360px)!important;font-size:10px!important;}
  .free-gallery__grid{display:block!important;columns:1!important;overflow:visible!important;padding-right:0!important;}
  .free-gallery__item{flex:none!important;width:100%!important;margin-bottom:14px!important;scroll-snap-align:none!important;}
  .hero__sub,.approach__intro,.approach-card p,.scard__sub,.aud-text,.free-gallery__intro,.real-head__sub,.contact__sub,.faq__a{font-size:16px!important;}
  .scard__list li{font-size:16px!important;min-height:38px!important;}
}
.reviews-cta{
  display:flex;
  justify-content:center;
  margin:clamp(36px,5vw,64px) auto 0;
}
.reviews-cta__btn{
  min-height:48px;
  border-color:var(--green)!important;
  color:var(--green)!important;
  background:transparent;
}
.reviews-cta__btn:hover{background:var(--green)!important;color:#fff!important;}
[data-theme="dark"] .reviews-cta__btn:hover{color:#0e1a0c!important;}

/* ===== v2.7 — navigation réalisations en bas + menu enrichi ===== */
.hdr{width:min(980px,calc(100% - 28px))!important;}
.hdr__nav{gap:22px!important;}
.hdr__nav a{white-space:nowrap!important;}
.real-head__right{justify-content:flex-end!important;}
.real-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:0 var(--side);
  margin-top:clamp(20px,3vw,34px);
}
.real-controls .real-dots{
  margin:0;
  padding:0 4px;
  min-width:min(260px,42vw);
}
.real-controls .real-nav__counter{
  color:var(--ink);
  font-weight:700;
  min-width:56px;
}
.real-controls .real-nav__btn{
  background:var(--paper);
  border-color:var(--line);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}
.real-controls .real-nav__btn:hover:not(:disabled){
  background:var(--green);
  color:#fff;
  border-color:var(--green);
}
[data-theme="dark"] .real-controls .real-nav__btn{background:rgba(255,255,255,.055);box-shadow:0 10px 28px rgba(0,0,0,.18)}
@media(max-width:1080px){
  .hdr{width:min(920px,calc(100% - 24px))!important;}
  .hdr__nav{gap:16px!important;}
  .hdr__nav a{font-size:13px!important;}
}
@media(max-width:760px){
  .real-controls{gap:10px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;}
  .real-controls::-webkit-scrollbar{display:none;}
  .real-controls .real-dots{min-width:160px;justify-content:flex-start;}
  .real-controls .real-nav__counter{min-width:48px;font-size:12px;}
}


/* ===== v2.8 — Avis Google visible + galerie plus compacte ===== */
.reviews-cta{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  margin:clamp(26px,4vw,46px) auto 0!important;
}
.reviews-cta__btn{
  min-height:46px!important;
  padding:0 20px!important;
  border-color:var(--green)!important;
  color:var(--green)!important;
  background:transparent!important;
  font-weight:700!important;
}
.reviews-cta__btn:hover{background:var(--green)!important;color:#fff!important;}
[data-theme="dark"] .reviews-cta__btn:hover{color:#0e1a0c!important;}

.free-gallery{
  padding-top:clamp(54px,7vw,92px)!important;
  padding-bottom:clamp(54px,7vw,92px)!important;
}
.free-gallery__grid{
  display:block!important;
  columns:4 210px!important;
  column-gap:8px!important;
}
.free-gallery__item,
.free-gallery__item[class*="free-gallery__item--"]{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 8px!important;
  break-inside:avoid!important;
  -webkit-column-break-inside:avoid!important;
  page-break-inside:avoid!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
.free-gallery__media,
.free-gallery__item img,
.free-gallery__item video{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  object-fit:contain!important;
  display:block!important;
}
.free-gallery__caption{left:8px!important;bottom:8px!important;}
.free-gallery__play{top:8px!important;right:8px!important;}
@media(max-width:1180px){
  .free-gallery__grid{columns:3 210px!important;column-gap:8px!important;}
}
@media(max-width:760px){
  .free-gallery{padding-left:14px!important;padding-right:14px!important;}
  .free-gallery__grid{display:block!important;columns:2 150px!important;column-gap:8px!important;overflow:visible!important;padding-right:0!important;}
  .free-gallery__item{flex:none!important;width:100%!important;margin-bottom:8px!important;scroll-snap-align:none!important;}
}
@media(max-width:420px){
  .free-gallery__grid{columns:2 130px!important;}
}


/* ===== v2.9 — Avis Google forcé, galerie compacte, footer plus court ===== */
.testimonials{padding-bottom:clamp(62px,7vw,110px)!important;}
.reviews-cta{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  margin:clamp(28px,4vw,48px) auto 0!important;
  width:100%!important;
}
.reviews-cta__btn{
  min-height:46px!important;
  padding:0 22px!important;
  border:1.5px solid var(--green)!important;
  color:var(--green)!important;
  background:transparent!important;
  font-weight:750!important;
  letter-spacing:.01em!important;
}
.reviews-cta__btn:hover{background:var(--green)!important;color:#fff!important;}
[data-theme="dark"] .reviews-cta__btn:hover{color:#0e1a0c!important;}

.free-gallery{padding-top:clamp(48px,6vw,78px)!important;padding-bottom:clamp(48px,6vw,78px)!important;}
.free-gallery__head{margin-bottom:clamp(22px,3vw,34px)!important;}
.free-gallery__grid{
  display:block!important;
  columns:auto!important;
  column-count:4!important;
  column-width:auto!important;
  column-gap:8px!important;
  overflow:visible!important;
  padding-right:0!important;
}
.free-gallery__item,
.free-gallery__item[class*="free-gallery__item--"]{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 8px!important;
  break-inside:avoid!important;
  -webkit-column-break-inside:avoid!important;
  page-break-inside:avoid!important;
  grid-column:auto!important;
  grid-row:auto!important;
  flex:none!important;
  scroll-snap-align:none!important;
}
.free-gallery__media,
.free-gallery__item img,
.free-gallery__item video{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  display:block!important;
}
.free-gallery__caption{left:7px!important;bottom:7px!important;font-size:9px!important;}
.free-gallery__play{top:7px!important;right:7px!important;width:30px!important;height:30px!important;}
@media(max-width:1180px){.free-gallery__grid{column-count:3!important;column-gap:8px!important;}}
@media(max-width:760px){
  .free-gallery{padding-left:14px!important;padding-right:14px!important;}
  .free-gallery__grid{column-count:2!important;column-gap:8px!important;display:block!important;overflow:visible!important;}
  .free-gallery__item{margin-bottom:8px!important;}
}
@media(max-width:360px){.free-gallery__grid{column-count:2!important;column-gap:6px!important;}.free-gallery__item{margin-bottom:6px!important;}}

.site-footer{
  min-height:0!important;
  display:block!important;
  padding:clamp(42px,5vw,68px) var(--side) 18px!important;
  background:linear-gradient(135deg,#17320f,#245319 50%,#10250b)!important;
}
.site-footer::before{
  background:radial-gradient(circle at 14% 0%,rgba(125,198,90,.22),transparent 32%),radial-gradient(circle at 90% 72%,rgba(255,255,255,.08),transparent 34%)!important;
  backdrop-filter:none!important;
}
.ft-main{
  grid-template-columns:minmax(260px,1.05fr) repeat(3,minmax(120px,.55fr))!important;
  gap:clamp(22px,3vw,46px)!important;
  margin-bottom:clamp(24px,3vw,40px)!important;
}
.ft-intro p:not(.ft-ct){font-size:15px!important;line-height:1.5!important;max-width:540px!important;margin-top:12px!important;}
.ft-ct{margin-bottom:11px!important;}
.ft-links{gap:7px!important;}
.ft-links a,.ft-links li{font-size:14px!important;line-height:1.28!important;}
.ft-wordmark{
  width:100%!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  margin:0 0 clamp(14px,2vw,24px) -.025em!important;
  font-size:clamp(62px,13vw,220px)!important;
  line-height:.72!important;
  letter-spacing:-.085em!important;
  max-height:clamp(70px,13vw,170px)!important;
  overflow:hidden!important;
}
.ft-wordmark .ft-logo-img{
  width:min(100%,clamp(170px,30vw,460px))!important;
  max-height:clamp(70px,10vw,145px)!important;
  object-fit:contain!important;
  object-position:left bottom!important;
}
.ft-bottom{
  margin-top:0!important;
  padding-top:14px!important;
  border-top:1px solid rgba(255,255,255,.22)!important;
  font-size:12px!important;
  align-items:center!important;
}
.ft-bottom div{gap:18px!important;}
@media(max-width:860px){
  .ft-main{grid-template-columns:1fr 1fr!important;gap:26px 20px!important;margin-bottom:28px!important;}
  .ft-intro{grid-column:1/-1!important;}
  .ft-wordmark{font-size:clamp(72px,22vw,160px)!important;max-height:125px!important;margin-bottom:18px!important;white-space:nowrap!important;}
  .ft-wordmark .ft-logo-img{width:min(100%,340px)!important;max-height:104px!important;}
}
@media(max-width:520px){
  .site-footer{padding:38px 18px 18px!important;}
  .ft-main{grid-template-columns:1fr!important;gap:22px!important;margin-bottom:24px!important;}
  .ft-links{gap:6px!important;}
  .ft-wordmark{font-size:clamp(70px,25vw,122px)!important;max-height:92px!important;margin-bottom:14px!important;}
  .ft-bottom{flex-direction:column!important;align-items:flex-start!important;gap:10px!important;}
  .ft-bottom div{gap:14px!important;}
}


/* ===== v3.0 — Avant / Après mobile plus fluide + contrôles visibles ===== */
.slider-wrap{
  touch-action:pan-x pan-y pinch-zoom!important;
}
.s-handle{
  touch-action:none!important;
  cursor:ew-resize;
}
.s-line{
  width:42px!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:translateX(-21px)!important;
  pointer-events:auto!important;
  cursor:ew-resize;
}
.s-line::after{
  content:"";
  position:absolute;
  top:0;bottom:0;left:50%;
  width:3px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.9);
  box-shadow:0 0 0 1px rgba(0,0,0,.15),0 0 18px rgba(0,0,0,.18);
}
.s-handle{
  width:48px!important;
  height:48px!important;
  box-shadow:0 8px 28px rgba(0,0,0,.28),0 0 0 2px rgba(255,255,255,.78)!important;
}
.s-handle svg{width:20px!important;height:20px!important;}
.s-hint-pill{
  font-size:12px!important;
  padding:8px 15px!important;
}
.real-controls{
  width:max-content;
  max-width:calc(100% - var(--side) * 2);
  margin-left:auto!important;
  margin-right:auto!important;
  padding:10px 12px!important;
  border:1px solid var(--line);
  background:color-mix(in srgb,var(--paper) 92%,transparent);
  box-shadow:0 14px 42px rgba(0,0,0,.10);
  backdrop-filter:blur(12px);
}
.real-controls .real-nav__btn{
  width:56px!important;
  height:56px!important;
  background:var(--green)!important;
  color:#fff!important;
  border-color:var(--green)!important;
  box-shadow:0 10px 28px rgba(42,92,30,.24)!important;
}
.real-controls .real-nav__btn svg{width:22px!important;height:22px!important;stroke-width:2.6!important;}
.real-controls .real-nav__btn:hover:not(:disabled){
  background:var(--accent-h)!important;
  border-color:var(--accent-h)!important;
  transform:translateY(-1px) scale(1.03)!important;
}
.real-controls .real-nav__btn:disabled{
  opacity:.36!important;
  background:var(--paper)!important;
  color:var(--muted)!important;
  border-color:var(--line)!important;
  box-shadow:none!important;
}
.real-controls .real-nav__counter{
  min-width:66px!important;
  height:36px;
  padding:0 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--soft);
  color:var(--ink)!important;
  font-size:14px!important;
  font-weight:800!important;
}
.real-controls .real-dots{
  min-width:auto!important;
  max-width:260px;
  overflow:hidden;
}
@media(max-width:760px){
  .slider-wrap{
    cursor:default!important;
    touch-action:pan-x pan-y pinch-zoom!important;
  }
  .s-handle{
    width:62px!important;
    height:62px!important;
    box-shadow:0 10px 30px rgba(0,0,0,.34),0 0 0 3px rgba(255,255,255,.86)!important;
  }
  .s-handle svg{width:25px!important;height:25px!important;}
  .s-line{width:56px!important;transform:translateX(-28px)!important;}
  .s-line::after{width:4px;}
  .s-hint{align-items:flex-start!important;padding-top:18px;}
  .s-hint-pill{
    font-size:12px!important;
    padding:8px 13px!important;
    background:rgba(0,0,0,.62)!important;
  }
  .real-controls{
    display:grid!important;
    grid-template-columns:54px auto 54px;
    grid-template-areas:
      "prev counter next"
      "dots dots dots";
    justify-content:center!important;
    align-items:center!important;
    gap:9px 12px!important;
    width:calc(100% - var(--side) * 2)!important;
    max-width:420px!important;
    overflow:visible!important;
    border-radius:0;
    padding:12px!important;
  }
  .real-controls [data-real-prev]{grid-area:prev;}
  .real-controls [data-real-counter]{grid-area:counter;}
  .real-controls [data-real-next]{grid-area:next;}
  .real-controls [data-real-dots]{grid-area:dots;}
  .real-controls .real-nav__btn{width:54px!important;height:54px!important;}
  .real-controls .real-nav__btn svg{width:23px!important;height:23px!important;}
  .real-controls .real-nav__counter{
    min-width:88px!important;
    height:42px!important;
    font-size:15px!important;
  }
  .real-controls .real-dots{
    width:100%!important;
    max-width:100%!important;
    justify-content:center!important;
    overflow:hidden!important;
    padding-top:2px!important;
  }
  .real-dot{width:7px!important;height:7px!important;}
  .real-dot.active{width:28px!important;}
}


/* ===== v3.1 fixes: service navigation, approach hover, flat partner logos ===== */
.service-tabs{
  position:sticky!important;
  z-index:340!important;
}
.service-tab{
  cursor:pointer;
  user-select:none;
}
.service-tab.is-active{
  background:var(--green)!important;
  color:#fff!important;
  border-color:var(--green)!important;
  box-shadow:0 14px 38px rgba(42,92,30,.18)!important;
}
[data-theme="dark"] .service-tab.is-active{
  color:#0e1a0c!important;
  background:var(--green)!important;
  border-color:var(--green)!important;
}
.service-tab.is-active .tab-dash{
  opacity:.8!important;
}
@media(max-width:980px){
  .service-tabs{
    scroll-padding-left:18px;
  }
  .service-tab.is-active{
    min-width:min(84vw,360px)!important;
  }
}

.approach-card{
  position:relative!important;
  overflow:hidden!important;
  background:var(--paper)!important;
  color:var(--ink)!important;
  border-color:var(--soft)!important;
  transition:opacity .55s var(--ease), transform .55s var(--ease), border-color .22s ease, color .22s ease, box-shadow .22s ease!important;
}
.approach-card:nth-child(2){
  background:var(--paper)!important;
  color:var(--ink)!important;
  border-color:var(--soft)!important;
}
.approach-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  opacity:0;
  pointer-events:none;
  background:
    radial-gradient(320px circle at var(--mx,50%) var(--my,50%), rgba(156,217,126,.58), transparent 42%),
    linear-gradient(140deg,var(--green-mid),var(--green),#1d3d14);
  transition:opacity .22s ease;
}
.approach-card > *{
  position:relative;
  z-index:1;
}
.approach-card:hover,
.approach-card.is-hovered{
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 22px 70px rgba(42,92,30,.18)!important;
}
.approach-card:hover::before,
.approach-card.is-hovered::before{
  opacity:1;
}
.approach-card:hover .approach-card__num,
.approach-card.is-hovered .approach-card__num,
.approach-card:nth-child(2):hover .approach-card__num{
  color:rgba(255,255,255,.7)!important;
}
.approach-card:hover h3,
.approach-card.is-hovered h3,
.approach-card:nth-child(2):hover h3{
  color:#fff!important;
}
.approach-card:hover p,
.approach-card.is-hovered p,
.approach-card:nth-child(2):hover p{
  color:rgba(255,255,255,.86)!important;
}
.approach-card:hover .approach-visual svg,
.approach-card.is-hovered .approach-visual svg{
  stroke:#fff!important;
}
.approach-card:nth-child(2) p,
.approach-card:nth-child(2) h3{
  color:inherit!important;
}

.logos-strip{
  border-top:0!important;
  padding-top:28px!important;
}
.logos-marquee{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
}
.logos-track{
  background:transparent!important;
}
.logos-group{
  gap:clamp(28px,4vw,56px)!important;
  padding:18px clamp(28px,4vw,56px) 18px 0!important;
}
.logo-card{
  width:clamp(110px,9vw,160px)!important;
  height:58px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.logo-card img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}
[data-theme="dark"] .logo-card{
  background:transparent!important;
  border:0!important;
}
@media(max-width:760px){
  .logos-group{gap:30px!important;padding-right:30px!important;}
  .logo-card{width:118px!important;height:46px!important;}
}


/* ===== v3.2 — service tabs fiables + responsive propre ===== */
.services-section{
  position:relative;
}
.services-section.is-switching .stack{
  display:block!important;
  grid-template-rows:none!important;
  gap:0!important;
  padding:0 var(--side) clamp(64px,10vw,120px)!important;
}
.services-section.is-switching .scard{
  display:none!important;
  position:relative!important;
  top:auto!important;
  height:auto!important;
  min-height:0!important;
  z-index:auto!important;
  overflow:visible!important;
}
.services-section.is-switching .scard.is-service-current{
  display:block!important;
}
.services-section.is-switching .scard__body,
.services-section.is-switching .scard--rev .scard__body{
  height:min(760px,calc(100vh - 170px))!important;
  min-height:610px!important;
}
.service-tab.is-active{
  pointer-events:auto!important;
}
.service-tab:focus-visible{
  outline:3px solid var(--green)!important;
  outline-offset:3px!important;
}
@media(max-width:980px){
  .services-section.is-switching .scard__body,
  .services-section.is-switching .scard--rev .scard__body{
    height:auto!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:min(58vw,430px) auto!important;
  }
  .services-section.is-switching .scard__media{
    order:1!important;
    height:min(58vw,430px)!important;
    min-height:min(58vw,430px)!important;
  }
  .services-section.is-switching .scard__content{
    order:2!important;
  }
}
@media(max-width:760px){
  .service-tabs{
    position:relative!important;
    top:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    overflow:visible!important;
    padding:0 18px 18px!important;
    margin-bottom:10px!important;
    background:transparent!important;
  }
  .service-tab{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:52px!important;
    justify-content:flex-start!important;
    white-space:normal!important;
    line-height:1.2!important;
    padding:12px 16px!important;
    border-right:1px solid var(--line)!important;
  }
  .service-tab.is-active{
    transform:none!important;
  }
  .services-section.is-switching .stack{
    padding:0 18px 64px!important;
  }
  .services-section.is-switching .scard__body,
  .services-section.is-switching .scard--rev .scard__body{
    grid-template-rows:240px auto!important;
  }
  .services-section.is-switching .scard__media{
    height:240px!important;
    min-height:240px!important;
  }
  .services-section.is-switching .scard__content{
    padding:26px 20px!important;
    gap:30px!important;
  }
}

/* ===== v3.3 — desktop sticky stack restauré, mobile switcher conservé ===== */
@media(min-width:981px){
  .services-section.is-switching .stack{
    list-style:none!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(3,var(--card-h))!important;
    gap:var(--stack-gap)!important;
    padding:0 var(--side) calc(var(--stack-gap)*2.1)!important;
    margin:0!important;
  }
  .services-section.is-switching .scard{
    display:block!important;
    position:sticky!important;
    top:var(--stack-top)!important;
    height:var(--card-h)!important;
    min-height:0!important;
    z-index:calc(10 + var(--i))!important;
    overflow:visible!important;
    transform-origin:center top!important;
    scroll-margin-top:150px!important;
  }
  .services-section.is-switching .scard__body,
  .services-section.is-switching .scard--rev .scard__body{
    height:var(--card-h)!important;
    min-height:610px!important;
    display:grid!important;
    overflow:hidden!important;
  }
  .services-section.is-switching .scard__body{
    grid-template-columns:minmax(300px,.86fr) minmax(0,1.58fr)!important;
  }
  .services-section.is-switching .scard--rev .scard__body{
    grid-template-columns:minmax(0,1.58fr) minmax(300px,.86fr)!important;
  }
  .services-section.is-switching .scard__media{
    height:auto!important;
    min-height:100%!important;
  }
  .services-section.is-switching .scard__content{
    min-height:0!important;
  }
}
