/* LYONS Électricité · accueil premium v3 (04/11/2026)
   Système unique : une police (Inter Tight), une échelle typographique, une grille de 8 px,
   trois rayons, un seul accent (lumière chaude), un seul jeu d'icônes au trait de 1,6. */
:root{
  /* couleurs */
  --bg:#F2F1ED; --sf:#FFFFFF; --sf2:#F7F6F3; --ink:#0D0F12; --ink2:#2E3137; --mute:#6F737A; --mute2:#A1A4AA;
  --line:rgba(13,15,18,.07); --line2:rgba(13,15,18,.12);
  --dk:#0C0E12; --dk2:#16191F; --dk-line:rgba(255,255,255,.09); --dk-mute:rgba(255,255,255,.58);
  --acc:#E7A24F; --acc-l:#FFE1B3; --acc-soft:rgba(231,162,79,.14);
  --star:#F4B400;
  /* forme */
  --r1:10px; --r2:18px; --r3:28px; --pill:999px;
  --g:clamp(16px,3vw,40px); --max:1440px;
  --sh1:0 1px 2px rgba(13,15,18,.04),0 1px 1px rgba(13,15,18,.02);
  --sh2:0 24px 48px -24px rgba(13,15,18,.22),0 2px 6px -2px rgba(13,15,18,.06);
  --e:cubic-bezier(.2,.8,.2,1);
  --f:"Inter Tight","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body.a{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--f);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}
.w{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--g)}

/* icônes */
.ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ic-s{width:14px;height:14px}
.ic-lg{width:22px;height:30px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ico{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--sf2);border:1px solid var(--line);color:var(--ink)}
.ico svg{width:20px;height:20px}
.ico-w{background:#fff}
.ico-d{background:rgba(255,255,255,.08);border-color:var(--dk-line);color:#fff}
.ico-a{background:var(--acc-soft);border-color:rgba(231,162,79,.25);color:#B76E1A}

/* typographie */
.h2{font-size:clamp(34px,4.2vw,64px);font-weight:500;letter-spacing:-.042em;line-height:1.02;text-wrap:balance}
.mu{color:var(--mute2)}
.hd2{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:clamp(32px,4vw,56px)}
.hd2 .tg{margin-bottom:20px}
.hd2-p{max-width:360px;font-size:15.5px;line-height:1.6;color:var(--mute)}

/* badge (un seul composant, trois habillages) */
.tg{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 14px 0 12px;border-radius:var(--pill);background:var(--sf);border:1px solid var(--line);box-shadow:var(--sh1);font-size:13px;font-weight:500;letter-spacing:-.005em;color:var(--ink2);white-space:nowrap}
.tg .ic{width:15px;height:15px;color:var(--acc)}
.tg-d{background:rgba(255,255,255,.06);border-color:var(--dk-line);color:rgba(255,255,255,.82);box-shadow:none}
.tg-gl{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24);color:#fff;box-shadow:none;-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
.tg-gl .ic,.tg-d .ic{color:var(--acc-l)}
.tg-g{height:28px;font-size:12px;padding:0 12px 0 10px;background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.28);color:#fff;box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}

/* boutons */
.bt{position:relative;display:inline-flex;align-items:center;gap:12px;height:52px;padding:0 6px 0 22px;border-radius:var(--pill);font-size:15px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;border:1px solid transparent;transition:background .3s var(--e),color .3s,border-color .3s,transform .4s var(--e),box-shadow .4s var(--e)}
.bt-c{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;transition:transform .45s var(--e)}
.bt-c .ic{width:17px;height:17px}
.bt:hover .bt-c{transform:rotate(45deg)}
.bt-w{background:#fff;color:var(--ink);box-shadow:0 8px 24px -10px rgba(0,0,0,.35)}
.bt-w .bt-c{background:var(--ink);color:#fff}
.bt-w:hover{transform:translateY(-1px);box-shadow:0 14px 30px -12px rgba(0,0,0,.4)}
.bt-k{background:var(--ink);color:#fff}
.bt-k .bt-c{background:#fff;color:var(--ink)}
.bt-k:hover{background:#000}
.bt-gl{padding:0 22px;gap:10px;color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
.bt-gl:hover{background:rgba(255,255,255,.2)}
.bt-sm{height:44px;font-size:14px;padding-left:18px;gap:10px}
.bt-sm .bt-c{width:34px;height:34px}
.bt-o{padding:0 22px}
.ib{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .3s}
.ib:hover{background:rgba(255,255,255,.22)}
.ib-d{background:rgba(255,255,255,.05);border-color:var(--dk-line)}
.ca{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--sf2);border:1px solid var(--line);color:var(--ink);transition:transform .45s var(--e),background .3s,color .3s,border-color .3s}
.ca .ic{width:16px;height:16px}
a:hover>.ca,a:hover .sc-h .ca{transform:rotate(45deg);background:var(--ink);border-color:var(--ink);color:#fff}

/* étoiles */
.stars{display:inline-flex;gap:2px;color:var(--star)}
.stars svg{width:13px;height:13px;fill:currentColor;stroke:none}

/* apparitions */
.rv{opacity:0;transform:translateY(16px);transition:opacity .8s var(--e),transform 1s var(--e)}
.rv.in{opacity:1;transform:none}

/* ===== EN-TÊTE ===== */
.nv{position:fixed;top:0;left:0;right:0;z-index:50;padding:calc(20px + env(safe-area-inset-top,0px)) max(28px,var(--g)) 0;pointer-events:none;transition:padding .5s var(--e)}
.nv-in{pointer-events:auto;position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:1400px;margin-inline:auto;height:60px;padding:0 8px 0 18px;border-radius:var(--pill);border:1px solid transparent;transition:background .5s var(--e),border-color .5s,box-shadow .5s,height .5s var(--e)}
.nv.on{padding-top:calc(12px + env(safe-area-inset-top,0px))}
.nv.on .nv-in{height:60px;background:rgba(12,14,18,.7);border-color:rgba(255,255,255,.08);box-shadow:0 20px 40px -20px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%)}
.nv-lg{display:inline-flex;align-items:center;gap:12px;color:#fff;justify-self:start}
.nv-lg span{display:flex;flex-direction:column;line-height:1}
.nv-lg b{font-size:17px;font-weight:600;letter-spacing:.2em}
.nv-lg small{font-size:9.5px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;opacity:.7;margin-top:5px}
.nv-m{position:relative;display:flex;align-items:center;gap:2px;padding:5px;border-radius:var(--pill);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);transition:background .5s,border-color .5s}
.nv.on .nv-m{background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.nv-hl{position:absolute;top:5px;bottom:5px;left:0;width:0;border-radius:var(--pill);background:rgba(255,255,255,.14);opacity:0;transition:transform .45s var(--e),width .45s var(--e),opacity .25s;pointer-events:none}
.nv-a{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border:0;background:none;border-radius:var(--pill);color:rgba(255,255,255,.86);font-size:14px;font-weight:500;letter-spacing:-.005em;transition:color .25s}
.nv-a:hover,.nv-b[aria-expanded="true"]{color:#fff}
.nv-b .ic-s{transition:transform .35s var(--e);opacity:.7}
.nv-b[aria-expanded="true"] .ic-s{transform:rotate(180deg)}
.nv-r{display:flex;align-items:center;gap:8px;justify-self:end}
.nv-bg{display:none}

/* méga menu : panneau clair, aéré */
.mm{pointer-events:none;position:absolute;left:0;right:0;top:100%;padding:10px max(28px,var(--g)) 0;opacity:0;transform:translateY(-6px);transition:opacity .3s var(--e),transform .4s var(--e)}
.mm.on{opacity:1;transform:none;pointer-events:auto}
.mm-in{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:8px;max-width:920px;margin-inline:auto;padding:8px;border-radius:24px;background:var(--sf);box-shadow:0 30px 70px -30px rgba(0,0,0,.45),0 0 0 1px var(--line)}
.mm-l{padding:18px 14px 14px}
.mm-t{font-size:12px;font-weight:500;color:var(--mute);margin:0 0 10px 12px}
.mm-g{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.mm-g a{display:flex;align-items:flex-start;gap:14px;padding:12px;border-radius:14px;transition:background .2s}
.mm-g a:hover,.mm-g a:focus-visible{background:var(--sf2)}
.mm-g .ic{margin-top:2px;width:20px;height:20px;color:var(--ink2)}
.mm-g a:hover .ic{color:var(--acc)}
.mm-g b{display:block;font-size:14.5px;font-weight:500;letter-spacing:-.01em}
.mm-g em{display:block;font-style:normal;font-size:13px;line-height:1.4;color:var(--mute);margin-top:2px}
.mm-p{position:relative;display:block;border-radius:18px;overflow:hidden;min-height:300px;color:#fff;isolation:isolate}
.mm-p img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:opacity .4s}
.mm-p::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.65))}
.mm-pc{position:absolute;left:18px;right:18px;bottom:18px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.mm-pc b{font-size:20px;font-weight:500;letter-spacing:-.025em;line-height:1.15}
.mm-pl{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;opacity:.9}
.mm-pl .ic{width:15px;height:15px;transition:transform .35s var(--e)}
.mm-p:hover .mm-pl .ic{transform:translateX(3px)}

/* menu mobile */
.mo{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;padding:calc(16px + env(safe-area-inset-top,0px)) 20px calc(20px + env(safe-area-inset-bottom,0px));background:var(--dk);color:#fff;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.mo.on{opacity:1;visibility:visible}
.mo-h{display:flex;align-items:center;justify-content:space-between;height:56px}
.mo-n{flex:1;overflow:auto;padding-top:20px}
.mo-n .mm-t{color:var(--dk-mute);margin:18px 0 6px}
.mo-n a{display:flex;align-items:center;gap:14px;height:52px;border-bottom:1px solid var(--dk-line);font-size:17px;font-weight:500;letter-spacing:-.01em}
.mo-n a .ic{color:var(--acc-l)}
.mo-b{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:16px}
.mo-b .bt{justify-content:center;padding:0 16px}

/* ===== HÉRO ===== */
.hr{padding:12px}
.hr-f{position:relative;min-height:calc(100svh - 24px);max-height:1080px;border-radius:var(--r3);overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:center;color:#fff;background:var(--dk)}
.hr-i{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 2.4s var(--e)}
.hr.in .hr-i{transform:scale(1)}
.hr-o{position:absolute;inset:0;z-index:-1;background:
  radial-gradient(58% 44% at 50% 44%,rgba(6,8,12,.55),rgba(6,8,12,0)),
  linear-gradient(180deg,rgba(6,8,12,.6) 0%,rgba(6,8,12,.18) 30%,rgba(6,8,12,.24) 60%,rgba(6,8,12,.86) 100%)}
.hr-c{display:flex;flex-direction:column;align-items:center;text-align:center;padding:140px var(--g) 200px}
.hr-c .tg{margin-bottom:28px}
.hr-t{font-size:clamp(46px,7.2vw,116px);font-weight:500;letter-spacing:-.052em;line-height:.96;margin-bottom:26px;text-wrap:balance}
.hr-t em,.cf h2 em{font-style:italic;font-weight:300;letter-spacing:-.04em;background:linear-gradient(95deg,var(--acc-l) 0%,var(--acc) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.hr-l{max-width:560px;font-size:17px;line-height:1.6;color:rgba(255,255,255,.82);margin-bottom:34px}
.hr-b{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.hs{position:absolute;z-index:1;display:flex;align-items:center;gap:10px;pointer-events:none}
.hs i{position:relative;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.2)}
.hs i::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(255,255,255,.55);animation:pulse 2.6s ease-out infinite}
@keyframes pulse{0%{transform:scale(.7);opacity:1}100%{transform:scale(2.4);opacity:0}}
.hs span{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:var(--pill);background:rgba(255,255,255,.92);color:var(--ink);font-size:12px;font-weight:500;box-shadow:0 10px 24px -12px rgba(0,0,0,.6)}
.hs-1{right:6%;top:52%}
.hs-2{left:7%;top:36%}
.hr-bt{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.hc{display:flex;align-items:center;gap:14px;width:min(380px,100%);padding:8px 8px 8px 8px;border-radius:20px;background:rgba(255,255,255,.94);color:var(--ink);box-shadow:0 20px 40px -20px rgba(0,0,0,.5);transition:transform .45s var(--e)}
.hc:hover{transform:translateY(-3px)}
.hc img{width:68px;height:68px;border-radius:14px;object-fit:cover;flex:none}
.hc-x{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.hc-x small{font-size:11.5px;color:var(--mute)}
.hc-x b{font-size:15px;font-weight:600;letter-spacing:-.01em}
.hc-x em{font-style:normal;font-size:13px;line-height:1.35;color:var(--ink2)}
.hc-a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;flex:none;align-self:flex-end;transition:transform .45s var(--e)}
.hc-a .ic{width:16px;height:16px}
.hc:hover .hc-a{transform:rotate(45deg)}
.hg{display:inline-flex;align-items:center;gap:12px;height:64px;padding:0 18px 0 12px;border-radius:20px;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);transition:background .3s}
.hg:hover{background:rgba(255,255,255,.2)}
.hg-g{width:40px;height:40px;padding:9px;border-radius:50%;background:#fff;flex:none}
.hg>span{display:flex;flex-direction:column;gap:2px;line-height:1}
.hg b{font-size:20px;font-weight:600;letter-spacing:-.02em}
.hg small{font-size:12.5px;opacity:.75;padding-left:4px;border-left:1px solid currentColor;margin-left:4px;line-height:1.2;padding-left:12px}
.hg-l{color:var(--ink);background:var(--sf);border-color:var(--line);box-shadow:var(--sh1)}
.hg-l .hg-g{background:var(--sf2)}
.hg-l small{color:var(--mute);opacity:1}

/* ===== BANDEAU DE CONFIANCE ===== */
.tr{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;padding:26px var(--g) 14px;font-size:14px;color:var(--ink2)}
.tr span{display:inline-flex;align-items:center;gap:8px}
.tr .ic{width:16px;height:16px;color:var(--acc);stroke-width:2}

/* ===== CHIFFRES ===== */
.st{padding:14px 12px 0}
.st .w{max-width:none;padding:0}
.st-g{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:12px}
.sc{position:relative;display:flex;flex-direction:column;min-height:240px;padding:24px;border-radius:var(--r2);background:var(--sf);border:1px solid var(--line);box-shadow:var(--sh1);overflow:hidden;transition:transform .5s var(--e),box-shadow .5s var(--e)}
a.sc:hover{transform:translateY(-3px);box-shadow:var(--sh2)}
.sc-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:auto}
.sc-h .ico svg:not(.ic){width:20px;height:20px}
.sc-n{display:flex;align-items:flex-start;font-size:clamp(56px,5.4vw,88px);font-weight:500;letter-spacing:-.06em;line-height:.9;margin:28px 0 12px;font-variant-numeric:tabular-nums}
.sc-n small{font-size:.28em;letter-spacing:-.01em;font-weight:500;margin:.2em 0 0 .3em}
.sc-s{display:inline-flex;margin:.12em 0 0 .14em;color:var(--star)}
.sc-s svg{width:.3em;height:.3em;fill:currentColor}
.sc-l{font-size:14.5px;line-height:1.45;color:var(--mute);max-width:24ch}
.sc-d{background:var(--dk);border-color:var(--dk);color:#fff}
.sc-d .sc-l{color:var(--dk-mute)}
.sc-d::before{content:"";position:absolute;right:-70px;top:-70px;width:260px;height:260px;border-radius:50%;background:radial-gradient(closest-side,rgba(231,162,79,.42),transparent);pointer-events:none}

/* ===== INTRO ===== */
.ia{padding-block:clamp(100px,12vw,180px)}
.ia-g{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,6vw,110px);align-items:end}
.ia-g .tg{margin-bottom:24px}
.ia-r p{font-size:17.5px;line-height:1.65;color:var(--ink2);margin-bottom:28px}
.ia-l{display:grid;gap:12px;padding-top:24px;border-top:1px solid var(--line2)}
.ia-l li{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:500}
.ia-l .ic{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--acc-soft);color:#B76E1A;stroke-width:2.2}

/* ===== EXPERTISES ===== */
.ex{padding-bottom:clamp(100px,12vw,180px)}
.ex-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cd{position:relative;display:flex;flex-direction:column;padding:8px;border-radius:var(--r2);background:var(--sf);border:1px solid var(--line);box-shadow:var(--sh1);transition:transform .55s var(--e),box-shadow .55s var(--e)}
.cd:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.cd-m{position:relative;display:block;aspect-ratio:16/11;border-radius:12px;overflow:hidden;background:var(--sf2)}
.cd-m img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--e)}
.cd:hover .cd-m img{transform:scale(1.05)}
.cd-i{position:absolute;left:12px;top:12px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 16px -8px rgba(0,0,0,.4)}
.cd-i .ic{width:17px;height:17px}
.cd-x{display:flex;flex-direction:column;gap:4px;padding:18px 64px 16px 12px}
.cd-x b{font-size:18px;font-weight:500;letter-spacing:-.022em}
.cd-x em{font-style:normal;font-size:14px;line-height:1.5;color:var(--mute)}
.cd>.ca{position:absolute;right:18px;bottom:18px}
.cd-l{grid-row:span 2}
.cd-l .cd-m{aspect-ratio:auto;flex:1;min-height:360px}

/* ===== VITRINE ===== */
.vt{padding:0 12px clamp(100px,12vw,180px)}
.vt-box{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(24px,4vw,64px);padding:clamp(20px,3.4vw,56px);border-radius:var(--r3);background:var(--dk);color:#fff;overflow:hidden;isolation:isolate}
.vt-box::before{content:"";position:absolute;left:-12%;bottom:-40%;width:60%;height:90%;z-index:-1;background:radial-gradient(closest-side,rgba(231,162,79,.16),transparent)}
.vt-t{display:flex;flex-direction:column;justify-content:center;padding:8px 0}
.vt-t .tg{align-self:flex-start;margin-bottom:22px}
.sg{position:relative;display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;align-self:flex-start;padding:4px;margin:34px 0 28px;border-radius:var(--pill);background:rgba(255,255,255,.06);border:1px solid var(--dk-line)}
.sg-i{position:absolute;top:4px;bottom:4px;left:4px;border-radius:var(--pill);background:#fff;transition:transform .5s var(--e),width .5s var(--e)}
.sg button{position:relative;z-index:1;height:40px;padding:0 18px;border:0;background:none;border-radius:var(--pill);font-size:13.5px;font-weight:500;color:rgba(255,255,255,.7);transition:color .35s}
.sg button[aria-selected="true"]{color:var(--ink)}
.vt-x{position:relative;min-height:190px}
.vt-x>div{position:absolute;inset:0 0 auto;opacity:0;transform:translateY(8px);transition:opacity .45s,transform .55s var(--e);pointer-events:none}
.vt-x>div.on{opacity:1;transform:none;pointer-events:auto}
.vt-x h3{font-size:24px;font-weight:500;letter-spacing:-.025em;margin-bottom:10px}
.vt-x p{font-size:15.5px;line-height:1.65;color:var(--dk-mute);max-width:44ch;margin-bottom:18px}
.vt-x ul{display:flex;flex-wrap:wrap;gap:6px}
.vt-x li{height:28px;display:inline-flex;align-items:center;padding:0 12px;border-radius:var(--pill);border:1px solid var(--dk-line);font-size:12.5px;color:rgba(255,255,255,.75)}
.vt-m{position:relative;min-height:540px;border-radius:20px;overflow:hidden;background:var(--dk2)}
.vt-m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .8s,transform 1.6s var(--e)}
.vt-m img.on{opacity:1;transform:none}
.vt-pg{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:6px;padding:8px 10px;border-radius:var(--pill);background:rgba(12,14,18,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.vt-pg i{width:6px;height:6px;border-radius:var(--pill);background:rgba(255,255,255,.4);transition:width .5s var(--e),background .3s}
.vt-pg i.on{width:22px;background:#fff}

/* ===== MÉTHODE ===== */
.mt{padding-bottom:clamp(100px,12vw,180px)}
.mt-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mt-g li{position:relative;display:flex;flex-direction:column;padding:24px;min-height:280px;border-radius:var(--r2);background:var(--sf);border:1px solid var(--line);box-shadow:var(--sh1)}
.mt-g .ico{margin-bottom:auto}
.mt-g small{font-size:12.5px;font-weight:500;color:var(--mute);margin:40px 0 8px}
.mt-g h3{font-size:21px;font-weight:500;letter-spacing:-.025em;margin-bottom:8px}
.mt-g p{font-size:14.5px;line-height:1.55;color:var(--mute)}
.mt-g li:not(:last-child)::after{content:"";position:absolute;top:46px;right:-12px;width:12px;height:1px;background:var(--line2)}

/* ===== AVIS ===== */
.av{padding-bottom:clamp(100px,12vw,180px);overflow:hidden}
.av-r{-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.av-t{display:flex;gap:12px;width:max-content;padding:4px 0 12px;animation:defile 90s linear infinite}
.av-r:hover .av-t{animation-play-state:paused}
@keyframes defile{to{transform:translateX(-50%)}}
.ac{flex:none;width:380px;display:flex;flex-direction:column;gap:18px;padding:24px;border-radius:var(--r2);background:var(--sf);border:1px solid var(--line);box-shadow:var(--sh1)}
.ac p{flex:1;font-size:15px;line-height:1.6;color:var(--ink2)}
.ac footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.ac footer b{display:block;font-size:14px;font-weight:600}
.ac footer small{display:block;font-size:12.5px;color:var(--mute)}
.ac footer svg.g{width:20px;height:20px;flex:none}

/* ===== ZONE ===== */
.zn{padding:0 12px clamp(100px,12vw,180px)}
.zn-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);padding:clamp(20px,3.4vw,56px);border-radius:var(--r3);background:var(--dk);color:#fff}
.zn-t{display:flex;flex-direction:column;justify-content:center}
.zn-t .tg{align-self:flex-start;margin-bottom:22px}
.zn-t>p{font-size:15.5px;line-height:1.65;color:var(--dk-mute);margin:20px 0 28px;max-width:44ch}
.zn-l{display:flex;flex-wrap:wrap;gap:8px}
.zn-l a{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px 0 12px;border-radius:var(--pill);border:1px solid var(--dk-line);background:rgba(255,255,255,.03);font-size:13.5px;color:rgba(255,255,255,.86);transition:background .25s,border-color .25s,color .25s}
.zn-l a .ic{width:14px;height:14px;color:var(--acc-l)}
.zn-l a:hover{background:#fff;color:var(--ink);border-color:#fff}
.zn-l a:hover .ic{color:var(--acc)}
.zn-l a.home{background:rgba(231,162,79,.14);border-color:rgba(231,162,79,.35)}
.zn-m{position:relative;min-height:520px;border-radius:20px;overflow:hidden}
.zn-m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.zn-c{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;border-radius:var(--pill);background:rgba(12,14,18,.5);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.zn-c b{display:block;font-size:14.5px;font-weight:600}
.zn-c small{display:block;font-size:12.5px;color:var(--dk-mute)}

/* ===== FAQ ===== */
.fq{padding-bottom:clamp(100px,12vw,180px)}
.fq-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(32px,6vw,110px)}
.fq-g .tg{margin-bottom:24px}
.fq-g .hd2-p{margin-top:20px}
.fq-l{display:grid;gap:8px}
.fq-l details{border-radius:var(--r2);background:var(--sf);border:1px solid var(--line);box-shadow:var(--sh1);transition:box-shadow .3s}
.fq-l details[open]{box-shadow:var(--sh2)}
.fq-l summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 20px 20px 24px;font-size:16.5px;font-weight:500;letter-spacing:-.015em;cursor:pointer}
.fq-l summary::-webkit-details-marker{display:none}
.fq-p{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sf2);flex:none;transition:transform .4s var(--e),background .3s,color .3s}
.fq-p .ic{width:15px;height:15px}
details[open] .fq-p{transform:rotate(45deg);background:var(--ink);color:#fff}
.fq-l details p{padding:0 72px 22px 24px;font-size:15px;line-height:1.65;color:var(--mute)}

/* ===== APPEL FINAL ===== */
.cf{padding:0 12px 12px}
.cf-box{position:relative;min-height:620px;border-radius:var(--r3);overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;isolation:isolate}
.cf-box>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.cf-box::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,8,12,.5),rgba(6,8,12,.72))}
.cf-c{display:flex;flex-direction:column;align-items:center;gap:24px;padding:80px var(--g)}
.cf h2{font-size:clamp(44px,6.2vw,100px);font-weight:500;letter-spacing:-.052em;line-height:.96}

/* ===== PIED DE PAGE ===== */
.ft{padding:0 12px 12px}
.ft-in{border-radius:var(--r3);background:var(--dk);color:#fff;padding:clamp(40px,5vw,72px) clamp(20px,4vw,64px) 24px;overflow:hidden}
.ft-g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.ft-1 p{font-size:14.5px;line-height:1.6;color:var(--dk-mute);max-width:32ch;margin:20px 0 22px}
.ft-s{display:flex;gap:8px}
.ft-h{font-size:12.5px;font-weight:500;color:var(--dk-mute);margin-bottom:14px}
.ft-g>div:not(.ft-1){display:flex;flex-direction:column;gap:9px;font-size:14px}
.ft-g>div:not(.ft-1) a{color:rgba(255,255,255,.86);transition:color .2s}
.ft-g>div:not(.ft-1) a:hover{color:var(--acc-l)}
.ft-g span{color:var(--dk-mute)}
.ft-wm{font-size:clamp(80px,21vw,330px);font-weight:600;letter-spacing:-.07em;line-height:.8;text-align:center;margin:clamp(40px,6vw,90px) 0 20px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0) 85%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}
.ft-b{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--dk-line);font-size:12.5px;color:var(--dk-mute)}

/* bouton d'appel flottant (mobile) */
.fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;display:none;align-items:center;gap:10px;height:52px;padding:0 20px 0 16px;border-radius:var(--pill);background:var(--ink);color:#fff;font-size:15px;font-weight:500;box-shadow:0 16px 30px -12px rgba(0,0,0,.5);transform:translateY(120px);transition:transform .5s var(--e)}
.fab.on{transform:none}

/* ===== RESPONSIVE ===== */
@media (max-width:1180px){
  .nv-m{display:none}.nv-bg{display:grid}
  .nv-in{grid-template-columns:1fr auto}
  .mm{display:none}
  .st-g{grid-template-columns:1fr 1fr}
  .ex-g{grid-template-columns:1fr 1fr}.cd-l{grid-row:auto;grid-column:span 2}.cd-l .cd-m{min-height:0;aspect-ratio:16/8}
  .mt-g{grid-template-columns:1fr 1fr}.mt-g li::after{display:none}
  .vt-box,.zn-box{grid-template-columns:1fr}.vt-m,.zn-m{min-height:420px}
  .ia-g,.fq-g{grid-template-columns:1fr}
  .ft-g{grid-template-columns:1fr 1fr}
  .hs{display:none}
}
@media (max-width:700px){
  .nv{padding-inline:12px}.nv-in{padding-left:14px}
  .nv-r .bt-sm{display:none}
  .hr,.st,.vt,.zn,.cf,.ft{padding-inline:8px}.hr{padding-top:8px}
  .hr-f{border-radius:22px;min-height:auto}
  .hr-c{padding:118px 20px 28px}
  .hr-c .tg{height:auto;min-height:32px;padding:7px 14px 7px 12px;white-space:normal;text-align:left;line-height:1.3;font-size:12.5px}
  .hr-t{font-size:clamp(40px,11vw,58px)}
  .hr-l{font-size:15.5px}
  .hr-b{width:100%;flex-direction:column}.hr-b .bt{justify-content:space-between}.hr-b .bt-gl{justify-content:center}
  .hr-bt{position:relative;left:auto;right:auto;bottom:auto;flex-direction:column;align-items:stretch;padding:0 10px 10px}
  .hc{width:auto}.hg{justify-content:flex-start}
  .tr{justify-content:flex-start;gap:10px 18px;font-size:13.5px}
  .sc{min-height:190px;padding:20px}
  .ex-g,.mt-g{grid-template-columns:1fr}.cd-l{grid-column:auto}.cd-l .cd-m{aspect-ratio:16/11}
  .hd2{flex-direction:column;align-items:flex-start;gap:20px}
  .sg{grid-auto-columns:auto;max-width:100%;overflow-x:auto}.sg button{padding:0 14px}
  .vt-x{min-height:240px}
  .ac{width:300px}
  .fq-l details p{padding-right:24px}
  .ft-g{grid-template-columns:1fr}
  .fab{display:inline-flex}
  .cf-box{min-height:520px}
}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.av-t,.hs i::after{animation:none}.hr-i{transform:none;transition:none}}
.mt-g .ico{margin-bottom:0}.mt-g small{margin-top:56px}.mt-g li{min-height:0}

/* ===== v3.1 (04/11 soir) : Geist, sans doré, sans badges à fond ===== */
:root{--f:"Geist","Inter Tight","Helvetica Neue",Arial,sans-serif;--acc:#0D0F12;--acc-l:#FFFFFF;--acc-soft:transparent}
body.a{font-family:var(--f);letter-spacing:-.006em}
.h2{letter-spacing:-.045em;font-weight:500}
/* titre : l'italique reste, en blanc adouci, sans dégradé ni couleur */
.hr-t em,.cf h2 em{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:rgba(255,255,255,.62);font-weight:300;font-style:italic}
.hr-t{letter-spacing:-.055em}
/* libellés : du texte, pas des pastilles */
.tg,.tg-d,.tg-gl,.tg-g{height:auto;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;font-size:13px;font-weight:500;letter-spacing:0;gap:10px}
.tg{color:var(--mute)}
.tg::before{content:"";width:18px;height:1px;background:currentColor;opacity:.6}
.tg .ic{display:none}
.tg-d,.tg-gl{color:rgba(255,255,255,.66)}
.hr-c .tg{color:rgba(255,255,255,.78);font-size:13px}
.hr-c .tg::before,.cf-c .tg::before{width:24px}
.mm-k{font-size:12px;color:rgba(255,255,255,.7)}
/* icônes sans rond de fond */
.ico,.ico-w,.ico-d,.ico-a{width:auto;height:auto;background:none;border:0;border-radius:0;place-items:start;color:inherit}
.ico svg{width:24px;height:24px}
.sc-h .ico svg:not(.ic){width:22px;height:22px}
.cd-i{background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:#fff;left:14px;top:14px;width:auto;height:auto}
.cd-i .ic{width:20px;height:20px;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5))}
.ia-l .ic{padding:0;background:none;color:var(--ink);width:18px;height:18px}
.tr .ic{color:var(--ink)}
.mm-g a:hover .ic{color:var(--ink)}
.mo-n a .ic{color:#fff;opacity:.7}
.zn-l a .ic,.zn-l a:hover .ic{color:currentColor;opacity:.6}
/* flèches de carte : un simple trait, sans pastille */
.ca{background:none;border:0;width:auto;height:auto}
.ca .ic{width:18px;height:18px}
a:hover>.ca,a:hover .sc-h .ca{background:none;color:var(--ink);transform:translate(2px,-2px)}
/* communes : une liste typographique au lieu de pastilles */
.zn-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.zn-l a{height:auto;padding:13px 0;border:0;border-bottom:1px solid var(--dk-line);border-radius:0;background:none;font-size:15px;justify-content:space-between}
.zn-l a .ic{order:2}
.zn-l a:hover{background:none;color:#fff;padding-left:6px}
.zn-l a.home{background:none;border-bottom-color:rgba(255,255,255,.35)}
/* étiquettes de la vitrine : texte séparé par des points */
.vt-x ul{gap:0}
.vt-x li{height:auto;padding:0;border:0;border-radius:0;font-size:13px;color:rgba(255,255,255,.55)}
.vt-x li+li::before{content:"·";margin:0 10px}
/* points sur la photo : un point et un texte, sans bulle */
.hs span{height:auto;padding:0;background:none;box-shadow:none;color:#fff;font-size:12.5px;text-shadow:0 1px 8px rgba(0,0,0,.6)}
/* halos : neutres */
.sc-d::before{background:radial-gradient(closest-side,rgba(255,255,255,.14),transparent)}
.vt-box::before{background:radial-gradient(closest-side,rgba(255,255,255,.05),transparent)}
.mt-g small{color:var(--mute2)}
:focus-visible{outline-color:currentColor}

/* ===== héro v3.2 : photo du golfe, note Google intégrée ===== */
.hr-i{object-position:62% 55%}
.hr-o{background:
  radial-gradient(52% 42% at 50% 42%,rgba(5,8,16,.5),rgba(5,8,16,0)),
  linear-gradient(180deg,rgba(5,8,16,.5) 0%,rgba(5,8,16,.08) 34%,rgba(5,8,16,.12) 62%,rgba(5,8,16,.7) 100%)}
.hr-c{padding:140px var(--g) 150px}
.hr-r{display:inline-flex;align-items:center;gap:10px;margin-top:30px;font-size:13.5px;color:rgba(255,255,255,.78);transition:color .25s}
.hr-r:hover{color:#fff}
.hr-r b{font-weight:600;color:#fff}
.hr-g{width:16px;height:16px}
.hr-r .stars svg{width:12px;height:12px}
.hs-1{right:14%;top:44%}
.hs-2{left:28%;top:auto;bottom:22%}
@media (max-width:700px){
  .hr-f{min-height:calc(100svh - 16px)}
  .hr-i{object-position:70% 50%}
  .hr-c{padding:120px 20px 40px}
  .hr-r{flex-wrap:wrap;justify-content:center;font-size:12.5px}
}
.hs-2{left:21%;bottom:15%}.hs-1{right:11%;top:47%}
.hs-1{right:9%;top:63%}
/* héro : image Higgsfield (villa au-dessus du golfe) */
.hr-i{object-position:58% 60%}
.hs-1{right:15%;top:58%}
.hs-2{left:26%;top:auto;bottom:24%}
.hs-1{right:4%;top:57%}.hs-2{left:auto;right:9%;top:auto;bottom:12%}
.hs-3{left:24%;bottom:30%}@media (max-width:1180px){.hs-3{display:none}}

/* ===== Maxime en vidéo ===== */
.mx{padding-bottom:clamp(100px,12vw,180px)}
.mx-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,110px);align-items:center}
.mx-v{position:relative;margin:0;aspect-ratio:4/5;border-radius:var(--r3);overflow:hidden;background:var(--dk)}
.mx-v video{width:100%;height:100%;object-fit:cover}
.mx-hs{left:20px;bottom:22px}
.mx-t{display:flex;flex-direction:column;align-items:flex-start}
.mx-t .tg{margin-bottom:24px}
.mx blockquote{margin:28px 0 30px;font-size:clamp(18px,1.5vw,22px);line-height:1.55;letter-spacing:-.015em;color:var(--ink2);max-width:52ch}
.mx-d{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:0 0 32px;border-top:1px solid var(--line2)}
.mx-d div{padding:16px 0;border-bottom:1px solid var(--line2)}
.mx-d dt{font-size:12.5px;color:var(--mute)}
.mx-d dd{margin:2px 0 0;font-size:15.5px;font-weight:500}
@media (max-width:1180px){.mx-g{grid-template-columns:1fr}.mx-v{aspect-ratio:4/5;max-width:520px}}
.hr-v{opacity:0;transition:opacity 1.2s ease,transform 2.4s var(--e)}
.hr-v.on{opacity:1}

/* ===== HÉRO v4 (04/11 nuit) : image fixe, titre à gauche, bandeau de chiffres ===== */
.nv-tel{height:44px;display:inline-flex;align-items:center;padding:0 6px;font-size:14px;font-weight:500;color:rgba(255,255,255,.86);letter-spacing:0;transition:color .2s}
.nv-tel:hover{color:#fff}
.nv-cta{height:44px;display:inline-flex;align-items:center;padding:0 22px;border-radius:var(--pill);background:#fff;color:var(--ink);font-size:14px;font-weight:500;transition:background .25s,transform .3s var(--e)}
.nv-cta:hover{background:#ECEAE4}
.nv-r{gap:18px}
.hr-v,.hs{display:none}
.hr-f{justify-content:flex-start;align-items:stretch}
.hr-i{object-position:var(--hx,60%) 50%}
.hr-o{background:
  linear-gradient(90deg,rgba(4,7,14,.78) 0%,rgba(4,7,14,.5) 30%,rgba(4,7,14,.08) 58%,rgba(4,7,14,0) 100%),
  linear-gradient(180deg,rgba(4,7,14,.55) 0%,rgba(4,7,14,0) 22%,rgba(4,7,14,0) 62%,rgba(4,7,14,.85) 100%)}
.hr-c{align-items:flex-start;text-align:left;max-width:760px;padding:clamp(150px,20vh,220px) 0 0 clamp(24px,5vw,80px)}
.hr-k{font-size:13px;font-weight:500;letter-spacing:.02em;color:rgba(255,255,255,.72);margin-bottom:26px;display:flex;align-items:center;gap:12px}
.hr-k::before{content:"";width:28px;height:1px;background:currentColor}
.hr-t{font-size:clamp(48px,6.4vw,108px);letter-spacing:-.055em;line-height:.94;margin-bottom:28px;text-wrap:initial}
.hr-t em{color:rgba(255,255,255,.55)}
.hr-l{max-width:470px;margin:0 0 36px;font-size:17px;color:rgba(255,255,255,.8)}
.hr-b{justify-content:flex-start;gap:10px}
.hb{height:52px;display:inline-flex;align-items:center;padding:0 26px;border-radius:var(--pill);font-size:15px;font-weight:500;letter-spacing:-.01em;transition:background .25s,border-color .25s,transform .3s var(--e)}
.hb-w{background:#fff;color:var(--ink)}
.hb-w:hover{background:#ECEAE4}
.hb-g{color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.hb-g:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.45)}
/* bandeau bas */
.hr-ft{position:absolute;left:clamp(24px,5vw,80px);right:clamp(24px,5vw,80px);bottom:clamp(24px,4vh,40px);display:grid;grid-template-columns:auto auto auto 1fr;gap:clamp(28px,4vw,72px);align-items:end;padding-top:22px;border-top:1px solid rgba(255,255,255,.2);color:#fff}
.hr-s{display:flex;align-items:flex-end;gap:14px}
.hr-s b{display:inline-flex;align-items:flex-start;font-size:clamp(34px,3vw,48px);font-weight:400;letter-spacing:-.05em;line-height:.9}
.hr-st{width:14px;height:14px;fill:#fff;stroke:none;margin:4px 0 0 4px}
.hr-s span{font-size:12.5px;line-height:1.35;color:rgba(255,255,255,.66)}
a.hr-s:hover span{color:#fff}
.hr-p{justify-self:end;max-width:340px;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.72);text-align:right}
/* points de prestations, posés sur l'image */
.hs-l{position:absolute;inset:0;pointer-events:none}
.hp{position:absolute;display:flex;align-items:center;gap:10px;transform:translate(-7px,-50%);opacity:0;transition:opacity .8s var(--e) .6s}
.hr.in .hp{opacity:1}
.hp i{position:relative;flex:none;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18),0 0 18px 4px rgba(255,230,190,.5)}
.hp i::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(255,255,255,.7);animation:pulse 2.6s ease-out infinite}
.hp span{display:flex;flex-direction:column;padding:8px 12px;border-radius:12px;background:rgba(10,13,20,.48);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);color:#fff;font-size:13px;font-weight:500;line-height:1.25;white-space:nowrap}
.hp small{font-size:11.5px;font-weight:400;color:rgba(255,255,255,.62)}
.hp.g{flex-direction:row-reverse;transform:translate(calc(-100% + 7px),-50%)}
@media (max-width:1100px){.hr-ft{grid-template-columns:auto auto auto}.hr-p{display:none}.hp:nth-child(n+3){display:none}}
@media (max-width:700px){
  .hr-f{min-height:calc(100svh - 16px)}
  .hr-o{background:linear-gradient(180deg,rgba(4,7,14,.7) 0%,rgba(4,7,14,.25) 40%,rgba(4,7,14,.5) 70%,rgba(4,7,14,.9) 100%)}
  .hr-c{padding:120px 20px 0}
  .hr-t{font-size:clamp(42px,12vw,60px)}
  .hr-b{flex-direction:column;width:100%}.hb{justify-content:center}
  .hr-ft{left:20px;right:20px;grid-template-columns:repeat(3,auto);gap:18px;justify-content:space-between}
  .hr-s{flex-direction:column;align-items:flex-start;gap:6px}.hr-s span br{display:none}
  .hs-l{display:none}
  .nv-tel{display:none}
}
.hs-l{z-index:1}.hr-c,.hr-ft{z-index:2;position:relative}.hr-ft{position:absolute}

/* ===== HÉRO v5 : centré, photo réaliste, ligne de garanties ===== */
.hr-f{align-items:center}
.hr-o{background:
  radial-gradient(56% 46% at 50% 40%,rgba(4,7,14,.55),rgba(4,7,14,0)),
  linear-gradient(180deg,rgba(4,7,14,.55) 0%,rgba(4,7,14,.1) 26%,rgba(4,7,14,.06) 60%,rgba(4,7,14,.78) 100%)}
.hr-i{object-position:56% 50%}
.hr-c{align-items:center;text-align:center;max-width:1120px;margin-inline:auto;padding:clamp(130px,18vh,190px) var(--g) 0}
.hr-k{justify-content:center}
.hr-k::after{content:"";width:28px;height:1px;background:currentColor}
.hr-t{font-size:clamp(48px,7vw,116px);line-height:.95;text-wrap:balance}
.hr-l{margin:0 auto 36px;max-width:520px}
.hr-b{justify-content:center}
.hr-ck{position:absolute;left:0;right:0;bottom:clamp(22px,4vh,36px);z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 32px;padding:0 var(--g);font-size:13.5px;color:rgba(255,255,255,.82)}
.hr-ck span,.hr-ck a{display:inline-flex;align-items:center;gap:8px}
.hr-ck .ic{width:15px;height:15px;stroke-width:2.2;color:#fff}
.hr-ck a{color:#fff;font-weight:500}
.hr-ck .hr-g{width:15px;height:15px}
@media (max-width:1100px){.hp:nth-child(n+3){display:none}}
@media (max-width:700px){
  .hr-c{padding:120px 20px 0}
  .hr-ck{flex-direction:column;align-items:flex-start;gap:8px;padding:0 20px}
}
.hr-ck.rv{opacity:1;transform:none}
.hr-t .nw{white-space:nowrap}
.hr-ck{justify-content:center;text-align:center}
.hr-r{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font-size:13.5px;color:rgba(255,255,255,.8)}
.hr-r b{color:#fff;font-weight:600}
.hr-r .stars svg{width:13px;height:13px}
.hr-r:hover{color:#fff}
@media (max-width:700px){.hr-ck{align-items:center}}

/* titre : deux lignes, contraste de graisse au lieu de l'italique */
.hr-t{font-size:clamp(44px,6.2vw,104px);line-height:1;letter-spacing:-.05em}
.hr-t span{display:block;white-space:nowrap}
.hr-t .t1{font-weight:500}
.hr-t .t2{font-weight:300;color:rgba(255,255,255,.78);letter-spacing:-.045em}
@media (max-width:900px){.hr-t span{white-space:normal}}
/* points : point, filet, étiquette */
.hp{gap:0}
.hp i{width:12px;height:12px;box-shadow:0 0 0 3px rgba(255,255,255,.22),0 0 16px 4px rgba(255,236,200,.55)}
.hp::before{content:"";order:1;width:22px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.75),rgba(255,255,255,.25))}
.hp i{order:0}.hp>span{order:2}
.hp.g::before{background:linear-gradient(270deg,rgba(255,255,255,.75),rgba(255,255,255,.25))}
.hp>span{padding:8px 13px 9px;border-radius:10px;background:rgba(8,11,18,.42);border:1px solid rgba(255,255,255,.14);gap:1px}
.hp>span{font-size:12.5px;letter-spacing:-.005em}
.hp small{font-size:11px;letter-spacing:0}
/* garanties : celle du milieu exactement au centre, les deux autres de part et d'autre */
.hr-ck{display:grid;grid-template-columns:1fr auto 1fr;gap:0 40px;align-items:center}
.hr-ck span:first-child{justify-self:end}
.hr-ck span:last-child{justify-self:start}
@media (max-width:700px){.hr-ck{grid-template-columns:1fr;gap:8px;justify-items:center}.hr-ck span:first-child,.hr-ck span:last-child{justify-self:center}}

/* ===== EXPERTISES v4 : liste typographique + image immersive ===== */
.xp{padding-block:clamp(110px,13vw,200px)}
.xp-hd{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px clamp(40px,6vw,120px);align-items:end;margin-bottom:clamp(56px,7vw,110px)}
.xp-k{grid-column:1/-1;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:500;color:var(--mute)}
.xp-k::before{content:"";width:28px;height:1px;background:currentColor}
.xp-h{font-size:clamp(38px,4.6vw,76px);font-weight:500;letter-spacing:-.048em;line-height:1.02;text-wrap:balance}
.xp-h .mu{font-weight:300;color:var(--mute2)}
.xp-in p{font-size:16.5px;line-height:1.65;color:var(--ink2);margin-bottom:22px}
.xp-l{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:500;padding-bottom:6px;border-bottom:1px solid var(--ink)}
.xp-l .ic{width:16px;height:16px;transition:transform .35s var(--e)}
.xp-l:hover .ic{transform:translateX(4px)}
.xp-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(40px,6vw,110px);align-items:start}
.xp-ls{border-top:1px solid var(--line2)}
.xp-it{border-bottom:1px solid var(--line2)}
.xp-it a{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;gap:18px;align-items:start;padding:26px 0}
.xp-n{font-size:12.5px;font-weight:500;color:var(--mute2);padding-top:.9em;font-variant-numeric:tabular-nums;transition:color .3s}
.xp-x b{display:block;font-size:clamp(26px,2.5vw,40px);font-weight:400;letter-spacing:-.04em;line-height:1.1;color:var(--mute2);transition:color .35s var(--e)}
.xp-d{display:block;max-width:46ch;font-size:15px;line-height:1.6;color:var(--mute);max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--e),opacity .4s,margin .5s var(--e)}
.xp-a{width:20px;height:20px;margin-top:.7em;color:var(--mute2);opacity:0;transform:translate(-6px,6px);transition:opacity .35s,transform .45s var(--e),color .3s}
.xp-it.on .xp-x b,.xp-it a:hover .xp-x b{color:var(--ink)}
.xp-it.on .xp-n{color:var(--ink)}
.xp-it.on .xp-d{max-height:7em;opacity:1;margin-top:12px}
.xp-it.on .xp-a{opacity:1;transform:none;color:var(--ink)}
.xp-v{position:sticky;top:110px;aspect-ratio:4/5;border-radius:var(--r3);overflow:hidden;background:var(--dk);isolation:isolate}
.xp-f{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .7s var(--e)}
.xp-f img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.6s var(--e)}
.xp-f.on{opacity:1;z-index:1}
.xp-f.on img{transform:none}
.xp-f figcaption{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 18px;border-radius:16px;background:rgba(10,13,20,.42);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);color:#fff}
.xp-c{font-size:12.5px;font-weight:500;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.7)}
.xp-t{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.xp-t i{font-style:normal;font-size:12px;line-height:1;padding:7px 10px;border-radius:var(--pill);background:rgba(255,255,255,.1);color:rgba(255,255,255,.9)}
@media (max-width:1100px){
  .xp-hd{grid-template-columns:1fr}
  .xp-g{grid-template-columns:1fr}
  .xp-v{display:none}
  .xp-it .xp-d{max-height:none;opacity:1;margin-top:10px}
  .xp-it a{grid-template-columns:36px minmax(0,1fr) 20px}
  .xp-x b{color:var(--ink)}
  .xp-a{opacity:1;transform:none}
  .xp-it a::after{content:"";grid-column:2/-1;aspect-ratio:16/10;border-radius:16px;background:var(--xpi) center/cover no-repeat;margin-top:6px}
}
.nv.on .nv-in{background:rgba(12,14,18,.88)}

/* ===== EXPERTISES v5 : squelette « cadres flottants », grille d'images aérée ===== */
.xp{display:none}
.ex2{padding:clamp(140px,15vw,220px) 12px clamp(140px,15vw,220px)}
.ex2-hd{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:760px;margin:0 auto clamp(64px,7vw,104px);padding-inline:var(--g)}
.ex2-k{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:500;color:var(--mute);margin-bottom:28px}
.ex2-k::before,.ex2-k::after{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
.ex2-h{font-size:clamp(40px,5vw,80px);letter-spacing:-.05em;line-height:1.02;margin-bottom:28px}
.ex2-h span{display:block}
.ex2-h .t1{font-weight:500}
.ex2-h .t2{font-weight:300;color:var(--mute2)}
.ex2-p{max-width:540px;font-size:17px;line-height:1.65;color:var(--mute)}
.ex2-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(220px,19vw,330px);gap:12px;max-width:1600px;margin:0 auto}
.ex2-t{position:relative;display:block;border-radius:var(--r3);overflow:hidden;background:var(--dk);isolation:isolate}
.ex2-t img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--e)}
.ex2-t::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,8,12,0) 45%,rgba(6,8,12,.55) 100%);opacity:.85;transition:opacity .6s}
.ex2-t:hover img{transform:scale(1.04)}
.ex2-t:hover::after{opacity:1}
.ex2-c{position:absolute;left:clamp(20px,2vw,32px);right:clamp(20px,2vw,32px);bottom:clamp(20px,2vw,30px);z-index:1;display:flex;flex-direction:column;gap:6px;color:#fff}
.ex2-c b{font-size:clamp(20px,1.6vw,26px);font-weight:500;letter-spacing:-.03em;line-height:1.1}
.ex2-c span{font-size:14px;line-height:1.45;color:rgba(255,255,255,.78);max-width:32ch}
.t-a{grid-column:span 7;grid-row:span 2}
.t-b{grid-column:span 5;grid-row:span 1}
.t-c{grid-column:span 5;grid-row:span 1}
.t-d{grid-column:span 4;grid-row:span 1}
.t-e{grid-column:span 4;grid-row:span 1}
.t-f{grid-column:span 4;grid-row:span 1}
.t-g{grid-column:span 12;grid-row:span 1}
.t-g img{object-position:50% 35%;filter:grayscale(1) contrast(1.05)}
.ex2-ft{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:clamp(56px,6vw,88px)}
.hb-k{background:var(--ink);color:#fff}
.hb-k:hover{background:#000}
.ex2-lk{font-size:14.5px;font-weight:500;color:var(--mute);border-bottom:1px solid currentColor;padding-bottom:3px;transition:color .25s}
.ex2-lk:hover{color:var(--ink)}
@media (max-width:1100px){
  .ex2-g{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:260px}
  .t-a{grid-column:span 2;grid-row:span 1}
  .t-b,.t-c,.t-d,.t-e,.t-f{grid-column:span 1}
  .t-g{grid-column:span 2}
}
@media (max-width:700px){
  .ex2{padding-inline:8px}
  .ex2-g{grid-template-columns:1fr;grid-auto-rows:320px}
  .t-a,.t-b,.t-c,.t-d,.t-e,.t-f,.t-g{grid-column:auto}
}
.t-d,.t-e,.t-f,.t-g{grid-column:span 3;grid-row:span 1}
.t-g img{object-position:40% 30%}
@media (max-width:1100px){.t-d,.t-e,.t-f,.t-g{grid-column:span 1}}
@media (max-width:700px){.t-d,.t-e,.t-f,.t-g{grid-column:auto}}

/* ===== LA VILLA (maquette 3D annotée) ===== */
:root{--bg:#EBE9E4;--sf2:#F4F3EF}
.ma{padding:clamp(96px,10vw,150px) 0 clamp(40px,5vw,70px)}
.ma-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.ma-h{font-size:clamp(38px,4.8vw,78px);letter-spacing:-.05em;line-height:1.02}
.ma-h span{display:block}
.ma-h .t1{font-weight:500}
.ma-h .t2{font-weight:300;color:var(--mute2)}
.ma-lk{flex:none;font-size:14px;font-weight:500;padding-bottom:3px;border-bottom:1px solid currentColor;margin-bottom:12px}
.ma-f{position:relative;margin:clamp(8px,1vw,20px) auto 0;max-width:1500px;padding-inline:var(--g)}
.ma-f img{width:100%;height:auto;display:block}
.mp{position:absolute;left:calc(var(--g) + (100% - 2 * var(--g)) * var(--x, .5) / 100% * 0 + var(--x));top:var(--y);display:flex;align-items:center;gap:0;transform:translate(-6px,-50%);opacity:0;transition:opacity .8s var(--e)}
.ma-f.in .mp{opacity:1}
.ma-f.in .mp:nth-of-type(2){transition-delay:.15s}.ma-f.in .mp:nth-of-type(3){transition-delay:.3s}.ma-f.in .mp:nth-of-type(4){transition-delay:.45s}.ma-f.in .mp:nth-of-type(5){transition-delay:.6s}
.mp i{position:relative;flex:none;width:10px;height:10px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px rgba(13,15,18,.1)}
.mp i::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(13,15,18,.35);animation:pulse 2.8s ease-out infinite}
.mp::before{content:"";order:1;width:26px;height:1px;background:rgba(13,15,18,.45)}
.mp i{order:0}.mp>span{order:2}
.mp>span{padding:7px 12px;border-radius:var(--pill);background:rgba(255,255,255,.82);border:1px solid rgba(13,15,18,.06);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:12.5px;font-weight:500;color:var(--ink);white-space:nowrap;box-shadow:0 8px 20px -12px rgba(0,0,0,.25)}
.mp-l{flex-direction:row-reverse;transform:translate(calc(-100% + 6px),-50%)}
.mp-l::before{order:1}
.ma-note{position:absolute;left:var(--g);bottom:6%;max-width:270px;display:flex;flex-direction:column;gap:12px}
.ma-k{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.ma-k::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink)}
.ma-note p:not(.ma-k){font-size:14px;line-height:1.55;color:var(--ink2)}
.ma-b{align-self:flex-start;height:38px;display:inline-flex;align-items:center;padding:0 16px;border-radius:var(--pill);border:1px solid var(--ink);font-size:13.5px;font-weight:500;transition:background .25s,color .25s}
.ma-b:hover{background:var(--ink);color:#fff}
.ma-st{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(40px,5vw,72px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--line2)}
.ma-st div{display:flex;flex-direction:column;gap:8px;padding-left:clamp(20px,3vw,48px);border-left:1px solid var(--line2)}
.ma-st div:first-child{padding-left:0;border-left:0}
.ma-st b{font-size:clamp(44px,5vw,76px);font-weight:400;letter-spacing:-.055em;line-height:.9}
.ma-st span{font-size:14px;color:var(--mute)}
.ex2{padding-top:clamp(110px,12vw,180px)}
@media (max-width:1100px){.ma-note{position:static;margin-top:24px;max-width:none}.mp>span{font-size:11.5px;padding:6px 10px}.mp::before{width:14px}}
@media (max-width:700px){.ma-hd{flex-direction:column;align-items:flex-start}.mp{display:none}.ma-st{grid-template-columns:1fr;gap:24px}.ma-st div{padding-left:0;border-left:0}}
.ma-i{position:relative}
.mp{left:var(--x)}
.ma-f.in .mp,.ma-f .mp{opacity:1}
/* villa : réserve la place de l'image, rythme resserré avec le héro et les expertises */
.ma-f img{aspect-ratio:2400/1357}
.ma{padding:clamp(72px,7vw,112px) 0 0}
.ma-st{margin-top:clamp(24px,3vw,48px)}
.ex2{padding-top:clamp(88px,9vw,140px)}
.ma-f{margin-top:clamp(-90px,-5vw,-20px)}
@media (max-width:700px){.ma-f{margin-top:8px;padding-inline:0}.ma-note{padding-inline:var(--g)}}
.ma-hd{position:relative;z-index:2}
@media (max-width:700px){.ma-i{overflow:hidden}.ma-f img{width:124%;max-width:none;margin-left:-12%}}
/* ===== SAVOIR-FAIRE (sélecteur + panneau) ===== */
.sf{padding:clamp(96px,10vw,160px) 0 clamp(96px,10vw,150px)}
.sf-hd{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:48px;margin-bottom:clamp(40px,4.5vw,64px)}
.sf-k{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--mute);margin-bottom:22px}
.sf-k::before{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
.sf-h{font-size:clamp(38px,4.8vw,78px);letter-spacing:-.05em;line-height:1.02}
.sf-h span{display:block}.sf-h .t1{font-weight:500}.sf-h .t2{font-weight:300;color:var(--mute2)}
.sf-i{max-width:440px;justify-self:end;font-size:16.5px;line-height:1.6;color:var(--mute);padding-bottom:10px}
.sf-tb{position:relative;display:flex;gap:2px;width:max-content;max-width:100%;margin:0 auto clamp(20px,2vw,28px);padding:5px;border-radius:var(--pill);background:rgba(13,15,18,.05);border:1px solid rgba(13,15,18,.06);overflow-x:auto;scrollbar-width:none}
.sf-tb::-webkit-scrollbar{display:none}
.sf-tb button{position:relative;z-index:1;flex:none;height:40px;padding:0 17px;border:0;border-radius:var(--pill);background:none;font:inherit;font-size:14px;font-weight:500;color:var(--mute);cursor:pointer;white-space:nowrap;transition:color .35s var(--e)}
.sf-tb button:hover{color:var(--ink)}
.sf-tb button[aria-selected="true"]{color:#fff}
.sf-hl{position:absolute;z-index:0;top:5px;left:0;height:40px;border-radius:var(--pill);background:var(--ink);box-shadow:0 6px 16px -8px rgba(0,0,0,.5);transition:transform .55s var(--e),width .55s var(--e)}
.sf-ps{display:grid}
.sf-p{grid-area:1/1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:12px;opacity:0;visibility:hidden;transition:opacity .6s var(--e),visibility 0s .6s}
.sf-p.on{opacity:1;visibility:visible;transition:opacity .6s var(--e)}
.sf-m{position:relative;margin:0;min-height:clamp(460px,44vw,640px);border-radius:var(--r3);overflow:hidden;background:var(--dk)}
.sf-m>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.6s var(--e)}
.sf-p.on .sf-m>img{transform:none}
.sf-v{position:absolute;right:16px;bottom:16px;width:clamp(150px,13vw,200px);padding:6px 6px 10px;border-radius:18px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 40px -18px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:8px}
.sf-v img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:13px;display:block}
.sf-v span{padding-left:6px;font-size:12px;font-weight:500;color:var(--ink)}
.sf-x{display:flex;flex-direction:column;padding:clamp(28px,3.2vw,52px);border-radius:var(--r3);background:var(--sf2);border:1px solid rgba(13,15,18,.05)}
.sf-n{font-size:13px;font-weight:500;color:var(--mute)}
.sf-x h3{margin:18px 0 16px;font-size:clamp(26px,2.4vw,38px);font-weight:500;letter-spacing:-.04em;line-height:1.08;max-width:16ch}
.sf-d{font-size:15.5px;line-height:1.6;color:var(--mute);max-width:44ch}
.sf-x ul{list-style:none;margin:auto 0 0;padding:28px 0 0}
.sf-x li{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line2);font-size:15px;font-weight:500;color:var(--ink)}
.sf-x li svg{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sf-b{display:flex;align-items:center;gap:22px;margin-top:24px}
.sf-lk{font-size:14px;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:3px}
@media (max-width:1100px){.sf-hd{grid-template-columns:1fr;gap:20px}.sf-i{justify-self:start}.sf-p{grid-template-columns:1fr}.sf-m{min-height:420px}.sf-tb{margin-left:0}}
@media (max-width:700px){.sf-tb{width:auto;margin-inline:calc(var(--g) * -1);border-radius:0;border-inline:0;padding-inline:var(--g)}.sf-m{min-height:340px}.sf-v{width:130px}.sf-b{flex-wrap:wrap}}
.sf-v{width:clamp(170px,15vw,230px)}
.sf-v img{aspect-ratio:1/1}
@media (max-width:700px){.sf-v{width:130px}}
/* ===== SAVOIR-FAIRE v7 : objets isolés, même fond que la villa ===== */
.sf-tb,.sf-ps{display:none}
.sf-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sk{position:relative;display:flex;flex-direction:column;border-radius:var(--r3);background:#E4E1DA;overflow:hidden;transition:background .5s var(--e)}
.sk-m{display:block;aspect-ratio:1/.86;overflow:hidden}
.sk-m img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;transform:scale(1.02);transition:transform 1.2s var(--e)}
.sk:hover .sk-m img{transform:scale(1.07)}
.sk-t{display:flex;flex-direction:column;gap:6px;padding:0 clamp(18px,1.8vw,26px) clamp(20px,2vw,28px);margin-top:-6px}
.sk-t b{font-size:clamp(18px,1.35vw,21px);font-weight:500;letter-spacing:-.025em;color:var(--ink)}
.sk-t span{font-size:14px;line-height:1.45;color:var(--mute)}
.sk-a{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.7);color:var(--ink);opacity:0;transform:translateY(4px);transition:opacity .4s var(--e),transform .4s var(--e),background .3s}
.sk-a svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-45deg)}
.sk:hover .sk-a{opacity:1;transform:none}
.sk:hover .sk-a:hover{background:#fff}
.sf-ft{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:clamp(40px,4.5vw,64px)}
@media (max-width:1100px){.sf-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.sf-g{gap:8px}.sk-t{padding:0 14px 16px}.sk-t b{font-size:16px}.sk-t span{font-size:12.5px}.sk-a{display:none}.sf-ft{flex-direction:column;gap:16px}}
/* ===== RÉALISATIONS : pellicule de photos réelles sur cadre nuit ===== */
.rz{padding:0 12px}
.rz-f{position:relative;border-radius:var(--r3);background:#0B0D10;color:#fff;padding:clamp(64px,7vw,112px) 0 clamp(48px,5vw,72px);overflow:hidden}
.rz-f::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 85% 0%,rgba(255,196,120,.09),transparent 60%);pointer-events:none}
.rz-hd{position:relative;display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:48px;padding-inline:var(--g);margin-bottom:clamp(40px,4.5vw,64px)}
.rz-k{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:rgba(255,255,255,.55);margin-bottom:22px}
.rz-k::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.rz-h{font-size:clamp(38px,4.8vw,78px);letter-spacing:-.05em;line-height:1.02}
.rz-h span{display:block}.rz-h .t1{font-weight:500}.rz-h .t2{font-weight:300;color:rgba(255,255,255,.42)}
.rz-r{justify-self:end;max-width:440px;display:flex;flex-direction:column;gap:28px;padding-bottom:10px}
.rz-r p{font-size:16.5px;line-height:1.6;color:rgba(255,255,255,.62)}
.rz-n{display:flex;gap:8px}
.rz-b{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);background:none;color:#fff;cursor:pointer;transition:background .3s,border-color .3s,opacity .3s}
.rz-b:hover{background:#fff;color:var(--ink);border-color:#fff}
.rz-b[disabled]{opacity:.3;pointer-events:none}
.rz-b svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rz-b[data-d="-1"] svg{transform:scaleX(-1)}
.rz-t{position:relative;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:var(--g);padding-inline:var(--g);scrollbar-width:none;cursor:grab;outline:0;-webkit-user-select:none;user-select:none}
.rz-t::-webkit-scrollbar{display:none}
.rz-t.drag{cursor:grabbing;scroll-snap-type:none}
.rz-t.drag .rz-c{pointer-events:none}
.rz-c{flex:none;margin:0;scroll-snap-align:start;display:flex;flex-direction:column;gap:16px}
.rz-m{display:block;height:clamp(360px,36vw,540px);border-radius:20px;overflow:hidden;background:#15181c}
.rz-P .rz-m{width:calc(clamp(360px,36vw,540px) * .75)}
.rz-L .rz-m{width:calc(clamp(360px,36vw,540px) * 1.33)}
.rz-m img{width:100%;height:100%;object-fit:cover;transform:scale(1.03);transition:transform 1.4s var(--e),filter .8s}
.rz-c:hover .rz-m img{transform:scale(1.07)}
.rz-c figcaption{display:flex;flex-direction:column;gap:4px;padding-left:2px}
.rz-c figcaption b{font-size:15px;font-weight:500;letter-spacing:-.01em}
.rz-c figcaption span{font-size:13px;color:rgba(255,255,255,.45)}
.rz-end .rz-e{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;height:clamp(360px,36vw,540px);width:calc(clamp(360px,36vw,540px) * .75);padding:28px;border-radius:20px;border:1px solid rgba(255,255,255,.14);transition:background .4s,border-color .4s}
.rz-end .rz-e b{font-size:24px;font-weight:500;letter-spacing:-.03em}
.rz-end .rz-e span{font-size:14px;color:rgba(255,255,255,.55)}
.rz-end i{position:absolute;top:24px;right:24px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ink)}
.rz-end i svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rz-end:hover .rz-e{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.3)}
.rz-p{position:relative;height:2px;margin:clamp(36px,4vw,56px) var(--g) 0;background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden}
.rz-p i{position:absolute;left:0;top:0;bottom:0;width:20%;background:#fff;border-radius:2px;transition:transform .2s linear}
@media (max-width:1100px){.rz-hd{grid-template-columns:1fr;gap:24px}.rz-r{justify-self:start}}
@media (max-width:700px){.rz{padding:0 8px}.rz-m,.rz-end .rz-e{height:400px}.rz-P .rz-m,.rz-end .rz-e{width:280px}.rz-L .rz-m{width:330px}.rz-n{display:none}}
.rz-m,.rz-end .rz-e{height:clamp(320px,30vw,460px)}
.rz-P .rz-m,.rz-end .rz-e{width:calc(clamp(320px,30vw,460px) * .75)}
.rz-L .rz-m{width:calc(clamp(320px,30vw,460px) * 1.33)}
.rz-hd{margin-bottom:clamp(32px,3.5vw,52px)}
@media (max-width:700px){.rz-m,.rz-end .rz-e{height:400px}.rz-P .rz-m,.rz-end .rz-e{width:280px}.rz-L .rz-m{width:330px}}
.rz-W .rz-m{width:calc(clamp(320px,30vw,460px) * 1.5)}
@media (max-width:700px){.rz-W .rz-m{width:400px;height:267px}}
@media (max-width:700px){.rz-m,.rz-end .rz-e{height:360px}.rz-P .rz-m,.rz-end .rz-e{width:250px}.rz-L .rz-m{width:290px}.rz-W .rz-m{width:290px;height:360px}.rz-t{gap:10px}}
/* ===== RÉALISATIONS v2 : un chantier réel en grand, annoté comme le héro ===== */
.rz,.rz2-o{display:none}
.rz2{padding:clamp(24px,3vw,40px) 12px 0}
.rz2-f{position:relative;height:clamp(640px,92vh,900px);border-radius:var(--r3);overflow:hidden;background:#07090C;color:#fff;isolation:isolate}
.rz2-f.rv{opacity:1;transform:none}
.rz2-s{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s var(--e),visibility 0s 1.1s}
.rz2-s.on{opacity:1;visibility:visible;transition:opacity 1.1s var(--e)}
.rz2-s>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.94) contrast(1.03)}
.rz2-s::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(5,7,10,.62) 0%,rgba(5,7,10,.18) 26%,rgba(5,7,10,0) 46%,rgba(5,7,10,0) 62%,rgba(5,7,10,.55) 100%),linear-gradient(90deg,rgba(5,7,10,.35) 0%,rgba(5,7,10,0) 42%)}
.rz2-h{position:absolute;inset:0;z-index:2;pointer-events:none}
.rz2-h .hp{transition:opacity .8s var(--e) .5s}
.rz2-s.on .hp{opacity:1}
.rz2-hd{position:absolute;z-index:5;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:32px;padding:clamp(36px,4vw,60px) clamp(28px,3.4vw,56px)}
.rz2-k{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:rgba(255,255,255,.7);margin-bottom:18px}
.rz2-k::before{content:"";width:28px;height:1px;background:currentColor;opacity:.8}
.rz2-tt{font-size:clamp(38px,4.6vw,74px);letter-spacing:-.05em;line-height:1.02;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.rz2-tt span{display:block}.rz2-tt .t1{font-weight:500}.rz2-tt .t2{font-weight:300;color:rgba(255,255,255,.6)}
.rz2-all{flex:none;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px 0 18px;border-radius:var(--pill);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:13.5px;font-weight:500;transition:background .3s,color .3s}
.rz2-all:hover{background:#fff;color:var(--ink)}
.rz2-all .ic{width:15px;height:15px}
.rz2-c{position:absolute;z-index:3;left:clamp(16px,1.8vw,28px);bottom:clamp(16px,1.8vw,28px);width:min(380px,calc(100% - 32px));padding:24px 26px 18px;border-radius:22px;background:rgba(8,11,18,.46);border:1px solid rgba(255,255,255,.13);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);transform:translateY(10px);opacity:0;transition:opacity .7s var(--e) .25s,transform .7s var(--e) .25s}
.rz2-s.on .rz2-c{opacity:1;transform:none}
.rz2-ck{font-size:12px;font-weight:500;color:rgba(255,255,255,.6)}
.rz2-c h3{margin:8px 0 10px;font-size:23px;font-weight:500;letter-spacing:-.035em;line-height:1.15}
.rz2-cd{font-size:14px;line-height:1.55;color:rgba(255,255,255,.72)}
.rz2-c ul{list-style:none;margin:16px 0 0;padding:0}
.rz2-c li{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid rgba(255,255,255,.12);font-size:13.5px;font-weight:500}
.rz2-c li .ic{width:15px;height:15px;color:rgba(255,255,255,.85)}
.rz2-nav{position:absolute;z-index:5;right:clamp(16px,1.8vw,28px);bottom:clamp(16px,1.8vw,28px);display:flex;gap:4px;padding:6px;border-radius:20px;background:rgba(8,11,18,.46);border:1px solid rgba(255,255,255,.13);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%)}
.rz2-t{position:relative;display:flex;align-items:center;gap:0;padding:4px;border:0;border-radius:15px;background:none;color:#fff;font:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:background .5s var(--e),gap .5s var(--e)}
.rz2-t img{flex:none;width:52px;height:52px;border-radius:11px;object-fit:cover;opacity:.62;transition:opacity .4s}
.rz2-t:hover img{opacity:.9}
.rz2-t span{display:flex;flex-direction:column;gap:2px;max-width:0;opacity:0;white-space:nowrap;transition:max-width .6s var(--e),opacity .4s,padding .6s var(--e)}
.rz2-t b{font-size:13.5px;font-weight:500;letter-spacing:-.01em}
.rz2-t small{font-size:11.5px;color:rgba(255,255,255,.55)}
.rz2-t.on{background:rgba(255,255,255,.1);gap:12px}
.rz2-t.on img{opacity:1}
.rz2-t.on span{max-width:220px;opacity:1;padding-right:12px}
.rz2-t i{position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:2px;background:rgba(255,255,255,0);overflow:hidden}
.rz2-t.on i{background:rgba(255,255,255,.14)}
.rz2-t.on i::after{content:"";position:absolute;inset:0;background:#fff;transform-origin:0 50%;transform:scaleX(0)}
.rz2-f.run .rz2-t.on i::after{animation:rz2p 7s linear forwards}
.rz2-f.run:hover .rz2-t.on i::after{animation-play-state:paused}
@keyframes rz2p{to{transform:scaleX(1)}}
.rz2-note{margin-top:18px;font-size:13px;color:var(--mute);text-align:right}
@media (max-width:1100px){.rz2-h .hp:nth-child(n+3){display:none}.rz2-t.on span{max-width:0;opacity:0;padding:0}.rz2-t.on{gap:0}}
@media (max-width:700px){
  .rz2{padding:16px 8px 0}
  .rz2-f{height:760px}
  .rz2-hd{padding:28px 22px;flex-direction:column;gap:18px}
  .rz2-all{display:none}
  .rz2-h{display:none}
  .rz2-c{left:12px;right:12px;width:auto;bottom:88px;padding:20px 20px 12px}
  .rz2-c h3{font-size:20px}
  .rz2-nav{left:12px;right:12px;bottom:12px;justify-content:space-between}
  .rz2-t img{width:58px;height:50px}
  .rz2-note{text-align:left}
}
.rz2-hd{padding-top:clamp(64px,7vw,108px)}
@media (max-width:700px){.rz2-s>img{object-position:58% 55% !important}}
/* ===== RESPIRATION pleine largeur ===== */
.pn{padding:0 12px}
.pn-f{position:relative;margin:0;height:clamp(560px,94vh,940px);border-radius:var(--r3);overflow:hidden;background:#07090C}
.pn-f.rv{opacity:1;transform:none}
.pn-f img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.pn-f::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,10,0) 55%,rgba(5,7,10,.55) 100%)}
.pn-t{position:absolute;z-index:1;left:clamp(28px,4vw,64px);right:clamp(28px,4vw,64px);bottom:clamp(32px,4.4vw,64px);display:flex;align-items:flex-end;justify-content:space-between;gap:32px;color:#fff}
.pn-h{font-size:clamp(38px,5.2vw,84px);letter-spacing:-.05em;line-height:1.02}
.pn-h span{display:block}.pn-h span:first-child{font-weight:500}.pn-h span:last-child{font-weight:300;color:rgba(255,255,255,.7)}
.pn-l{flex:none;font-size:14px;font-weight:500;padding-bottom:3px;border-bottom:1px solid rgba(255,255,255,.7);margin-bottom:12px}
/* ===== RÉALISATIONS v3 : galerie épurée, sans surimpression ===== */
.gl{padding:clamp(96px,10vw,160px) 0 clamp(72px,8vw,120px)}
.gl-hd{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:48px;margin-bottom:clamp(40px,4.5vw,64px)}
.gl-r{justify-self:end;max-width:440px;display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-bottom:10px}
.gl-r .sf-i{padding:0}
.gl-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:12px;row-gap:clamp(28px,3vw,44px)}
.gl-c{margin:0;display:flex;flex-direction:column;gap:14px}
.g8{grid-column:span 8}.g6{grid-column:span 6}.g4{grid-column:span 4}
.gl-m{display:block;border-radius:var(--r3);overflow:hidden;background:#dcd9d2}
.gA .gl-m{height:clamp(380px,40vw,620px)}
.gB .gl-m{height:clamp(320px,32vw,500px)}
.gl-m img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--e)}
.gl-c:hover .gl-m img{transform:scale(1.03)}
.gl-c figcaption{display:flex;justify-content:space-between;gap:16px;padding-inline:4px;font-size:14.5px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}
.gl-c figcaption span{font-weight:400;color:var(--mute)}
@media (max-width:1100px){.gl-hd{grid-template-columns:1fr;gap:20px}.gl-r{justify-self:start}}
@media (max-width:700px){.pn{padding:0 8px}.pn-f{height:620px}.pn-t{flex-direction:column;align-items:flex-start;gap:18px}.pn-f img{object-position:68% 55%}
  .gl-g{grid-template-columns:1fr;row-gap:28px}.g8,.g6,.g4{grid-column:auto}.gA .gl-m,.gB .gl-m{height:auto;aspect-ratio:4/5}.g8 .gl-m,.g6 .gl-m{aspect-ratio:4/3}}
/* ===== L'ENTREPRISE : Maxime + atelier mobile ===== */
.qu{padding:clamp(96px,10vw,160px) 0 clamp(72px,8vw,120px)}
.qu-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:12px;align-items:stretch}
.qu-mx{margin:0;display:flex;flex-direction:column;border-radius:var(--r3);background:#E4E1DA;overflow:hidden}
.qu-mm{position:relative;display:block;flex:1;min-height:clamp(420px,38vw,600px)}
.qu-mm img{position:absolute;left:50%;bottom:0;height:100%;width:auto;max-width:none;transform:translateX(-50%);object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 30px 40px rgba(60,50,35,.18))}
.qu-mx figcaption{display:flex;flex-direction:column;gap:6px;padding:20px clamp(18px,1.8vw,26px) clamp(20px,2vw,28px);background:#E4E1DA;position:relative}
.qu-mx b{font-size:clamp(18px,1.35vw,21px);font-weight:500;letter-spacing:-.025em}
.qu-mx figcaption span{font-size:14px;color:var(--mute)}
.qu-v{margin:0;position:relative;display:flex;flex-direction:column;justify-content:center}
.qu-v img{width:100%;height:auto;display:block;aspect-ratio:2400/1357}
.qu-vc{position:absolute;right:8px;bottom:6%;font-size:13px;color:var(--mute)}
.qu-v .mp{opacity:1}
.qu-st{margin-top:clamp(40px,4.5vw,64px)}
.qu-st b{font-size:clamp(18px,1.4vw,22px);font-weight:500;letter-spacing:-.025em;line-height:1.2}
.qu-st span{max-width:32ch;line-height:1.5}
/* ===== RÉALISATIONS v4 : tuiles ===== */
.rk-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rk{margin:0;display:flex;flex-direction:column;border-radius:var(--r3);background:#E4E1DA;padding:10px 10px 0;overflow:hidden}
.rk-m{display:block;aspect-ratio:4/3.4;border-radius:calc(var(--r3) - 8px);overflow:hidden;background:#d6d2ca}
.rk-m img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--e)}
.rk:hover .rk-m img{transform:scale(1.04)}
.rk figcaption{display:flex;flex-direction:column;gap:6px;padding:18px clamp(10px,1vw,16px) clamp(20px,2vw,26px)}
.rk b{font-size:clamp(17px,1.3vw,20px);font-weight:500;letter-spacing:-.025em}
.rk figcaption span{font-size:14px;color:var(--mute)}
@media (max-width:1100px){.qu-g{grid-template-columns:1fr}.qu-mm{min-height:520px}.rk-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.qu-v .mp{display:none}.qu-mm{min-height:440px}.rk-g{grid-template-columns:1fr}.qu-vc{position:static;margin-top:8px}}
.qu-mm img{-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,#000 82%,transparent 100%);height:96%;bottom:0}
/* ===== L'ENTREPRISE v2 : cadre nuit pleine largeur ===== */
.qn{padding:clamp(24px,3vw,40px) 12px 0}
.qn-f{position:relative;border-radius:var(--r3);background:#0F1113;color:#fff;overflow:hidden;padding:clamp(64px,7vw,112px) clamp(28px,4vw,72px) clamp(48px,5vw,80px);isolation:isolate}
.qn-f::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 50% at 70% 55%,rgba(255,190,110,.07),transparent 70%)}
.qn-hd{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:48px}
.qn-k{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:rgba(255,255,255,.55);margin-bottom:22px}
.qn-k::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.qn-h{font-size:clamp(38px,4.8vw,78px);letter-spacing:-.05em;line-height:1.02}
.qn-h span{display:block}.qn-h .t1{font-weight:500}.qn-h .t2{font-weight:300;color:rgba(255,255,255,.45)}
.qn-i{justify-self:end;max-width:440px;font-size:16.5px;line-height:1.6;color:rgba(255,255,255,.6);padding-bottom:10px}
.qn-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:end;gap:clamp(12px,2vw,32px);margin-top:clamp(24px,3vw,48px)}
.qn-mx{position:relative;margin:0;height:clamp(460px,44vw,680px)}
.qn-gl{position:absolute;left:50%;top:18%;width:120%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(232,196,140,.20),rgba(232,196,140,.06) 55%,transparent 75%);pointer-events:none}
.qn-mx img{position:absolute;left:50%;bottom:0;height:100%;width:auto;max-width:none;transform:translateX(-50%);-webkit-mask-image:linear-gradient(180deg,#000 74%,transparent 98%);mask-image:linear-gradient(180deg,#000 74%,transparent 98%)}
.qn-mx figcaption{position:absolute;left:0;right:0;bottom:4%;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.qn-mx b{font-size:clamp(18px,1.4vw,22px);font-weight:500;letter-spacing:-.025em}
.qn-mx figcaption span{font-size:13.5px;color:rgba(255,255,255,.6)}
.qn-v{margin:0}
.qn-v img{width:100%;height:auto;display:block;aspect-ratio:2400/1357;-webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 52%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 72% 70% at 50% 52%,#000 62%,transparent 100%)}
.qn-st{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(32px,4vw,56px);padding-top:clamp(28px,3vw,40px);border-top:1px solid rgba(255,255,255,.1)}
.qn-st div{display:flex;flex-direction:column;gap:8px;padding-left:clamp(20px,3vw,48px);border-left:1px solid rgba(255,255,255,.1)}
.qn-st div:first-child{padding-left:0;border-left:0}
.qn-st b{font-size:clamp(18px,1.4vw,22px);font-weight:500;letter-spacing:-.025em}
.qn-st span{font-size:14px;line-height:1.5;color:rgba(255,255,255,.55);max-width:32ch}
@media (max-width:1100px){.qn-hd{grid-template-columns:1fr;gap:20px}.qn-i{justify-self:start}.qn-g{grid-template-columns:1fr}.qn-mx{height:560px}}
@media (max-width:700px){.qn{padding:16px 8px 0}.qn-f{padding:56px 20px 40px}.qn-mx{height:480px}.qn-st{grid-template-columns:1fr;gap:22px}.qn-st div{padding-left:0;border-left:0}}
.qn-f{background:#111215}
.qn-v img{-webkit-mask-image:radial-gradient(ellipse 58% 62% at 50% 52%,#000 45%,transparent 100%);mask-image:radial-gradient(ellipse 58% 62% at 50% 52%,#000 45%,transparent 100%);transform:scale(1.12);transform-origin:50% 60%}
.qn-g{margin-top:clamp(8px,1.5vw,24px)}
/* ===== L'ENTREPRISE v3 : une rangée, Maxime | texte | camion ===== */
.qn-f{display:grid;grid-template-columns:minmax(0,3.2fr) minmax(0,4fr) minmax(0,5.6fr);align-items:center;gap:clamp(16px,2.4vw,40px);padding:0 clamp(20px,2.4vw,40px) 0 clamp(12px,1.6vw,28px);min-height:clamp(520px,46vw,660px)}
.qn-mx{align-self:end;height:clamp(500px,44vw,640px);margin:0}
.qn-gl{top:14%;width:110%}
.qn-mx img{-webkit-mask-image:linear-gradient(180deg,#000 80%,transparent 99%);mask-image:linear-gradient(180deg,#000 80%,transparent 99%)}
.qn-mx figcaption{bottom:5%}
.qn-mx figcaption span{font-size:13px}
.qn-t{padding-block:clamp(48px,5vw,80px)}
.qn-h{font-size:clamp(30px,3.1vw,50px);margin-bottom:20px}
.qn-i{justify-self:auto;max-width:36ch;font-size:15.5px;padding:0}
.qn-l{list-style:none;margin:28px 0 0;padding:0}
.qn-l li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid rgba(255,255,255,.1)}
.qn-l li:last-child{border-bottom:1px solid rgba(255,255,255,.1)}
.qn-l b{font-size:15px;font-weight:500;letter-spacing:-.01em}
.qn-l span{font-size:13.5px;color:rgba(255,255,255,.5)}
.qn-v img{transform:scale(1.18);transform-origin:50% 55%;-webkit-mask-image:radial-gradient(ellipse 56% 60% at 50% 52%,#000 45%,transparent 100%);mask-image:radial-gradient(ellipse 56% 60% at 50% 52%,#000 45%,transparent 100%)}
@media (max-width:1100px){.qn-f{grid-template-columns:1fr 1.2fr;padding:0 28px}.qn-v{grid-column:1/-1;margin-bottom:32px}.qn-mx{height:520px}}
@media (max-width:700px){.qn-f{grid-template-columns:1fr;padding:0 20px;min-height:0}.qn-t{order:-1;padding:52px 0 8px}.qn-mx{height:440px}.qn-v{margin:0 -20px 24px}}
@media (min-width:1101px){.qn-f{grid-template-columns:minmax(0,3fr) minmax(0,4.6fr) minmax(0,5.6fr)}.qn-h{font-size:clamp(30px,2.75vw,46px)}.qn-h span{white-space:nowrap}.qn-v img{transform:scale(1.28)}}
/* entreprise : fond identique à l'image du camion, plus de cadre visible */
.qn-f{background:#0E0F12}
.qn-f::before{background:radial-gradient(40% 60% at 14% 70%,rgba(232,190,130,.08),transparent 70%)}
.qn-v img,.qn-v img{transform:none !important;aspect-ratio:2312/1155;-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%)}
/* halo de Maxime : lumière chaude diffuse derrière le buste, posée au sol */
.qn-gl{top:8%;width:150%;aspect-ratio:auto;height:80%;border-radius:50%;background:radial-gradient(50% 50% at 50% 42%,rgba(240,200,140,.22),rgba(240,200,140,.07) 55%,transparent 80%);filter:blur(24px)}
.qn-mx::after{content:"";position:absolute;left:10%;right:10%;bottom:0;height:18%;background:radial-gradient(50% 60% at 50% 100%,rgba(240,200,140,.14),transparent 75%);pointer-events:none}
.qn-mx img{filter:drop-shadow(0 0 40px rgba(240,200,140,.10))}
/* citation + trois points humains */
.qn-q{margin:22px 0 0;padding-left:16px;border-left:1px solid rgba(240,200,140,.45);font-size:16px;line-height:1.55;color:rgba(255,255,255,.86);max-width:40ch}
.qn-p{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.qn-p li{display:flex;align-items:flex-start;gap:14px}
.qn-p .ic{flex:none;width:36px;height:36px;padding:9px;border-radius:50%;border:1px solid rgba(255,255,255,.14);color:rgba(240,210,160,.95);stroke-width:1.5}
.qn-p span{display:flex;flex-direction:column;gap:2px;font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.5)}
.qn-p b{font-size:15px;font-weight:500;color:#fff;letter-spacing:-.01em}
.qn-i{margin-bottom:0}
.qn-v img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%),linear-gradient(180deg,transparent 0,#000 8%,#000 90%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%),linear-gradient(180deg,transparent 0,#000 8%,#000 90%,transparent 100%);mask-composite:intersect}
/* entreprise : ensemble resserré et centré, icônes dorées sans cercle */
@media (min-width:1101px){
  .qn-f{grid-template-columns:clamp(250px,20vw,340px) clamp(380px,30vw,480px) clamp(440px,38vw,640px);justify-content:center;column-gap:clamp(32px,3.6vw,64px);padding-inline:clamp(20px,2.4vw,40px)}
  .qn-h span{white-space:nowrap}
}
.qn-p .ic{width:20px;height:20px;padding:0;border:0;border-radius:0;margin-top:1px;color:#D9B77E;stroke-width:1.4}
.qn-p li{gap:14px}
.qn-p{gap:16px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08)}
/* entreprise : camion rendu à sa taille, texte élargi, trois points sur une ligne */
@media (min-width:1101px){
  .qn-f{grid-template-columns:clamp(240px,19vw,330px) clamp(480px,36vw,600px) minmax(0,820px);column-gap:clamp(28px,3vw,56px)}
  .qn-v img{transform:scale(1.08) !important;transform-origin:50% 55%}
  .qn-i,.qn-q{max-width:52ch}
  .qn-p{flex-direction:row;gap:clamp(16px,1.8vw,28px)}
  .qn-p li{flex:1;flex-direction:column;gap:10px}
}
@media (min-width:1101px){.qn-f{grid-template-columns:clamp(220px,17vw,330px) clamp(430px,33vw,600px) minmax(0,820px)}.qn-p b{white-space:nowrap}}
/* ===== RÉALISATIONS v5 : bento ===== */
.bk-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,clamp(260px,22vw,340px)) clamp(380px,32vw,480px);gap:12px}
.b-a{grid-column:span 7;grid-row:span 2}
.b-b,.b-c{grid-column:span 5}
.b-d,.b-e,.b-f{grid-column:span 4}
.bk{position:relative;display:flex;flex-direction:column;min-height:0;padding:10px;border-radius:var(--r3);background:#E4E1DA;transition:background .5s var(--e)}
.bk:hover{background:#DEDAD2}
.bk-m{position:relative;flex:1;min-height:0;border-radius:calc(var(--r3) - 8px);overflow:hidden;background:#cfcac1}
.bk-m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--e)}
.bk:hover .bk-m img{transform:scale(1.04)}
.bk-c{display:flex;align-items:center;gap:14px;padding:12px 8px 4px 4px}
.bk-o{flex:none;width:48px;height:48px;border-radius:12px;object-fit:cover;background:#E5E2DB}
.bk-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.bk-t b{font-size:clamp(15.5px,1.15vw,18px);font-weight:500;letter-spacing:-.02em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-t span{font-size:13.5px;color:var(--mute)}
.bk-a{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(13,15,18,.12);color:var(--ink);transition:background .35s var(--e),color .35s,border-color .35s,transform .35s var(--e)}
.bk-a svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bk:hover .bk-a{background:var(--ink);color:#fff;border-color:var(--ink);transform:rotate(45deg)}
.b-a .bk-c{padding:16px 10px 8px 6px}
.b-a .bk-o{width:56px;height:56px}
.b-a .bk-t b{font-size:clamp(18px,1.5vw,22px)}
@media (max-width:1100px){.bk-g{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:360px}.b-a{grid-column:span 2;grid-row:auto;height:480px}.b-b,.b-c,.b-d,.b-e,.b-f{grid-column:span 1}}
@media (max-width:700px){.bk-g{grid-template-columns:1fr;grid-auto-rows:380px}.b-a{grid-column:auto;height:440px}.b-b,.b-c,.b-d,.b-e,.b-f{grid-column:auto}}
.bk-oo{flex:none;width:48px;height:48px;border-radius:12px;overflow:hidden;background:#E5E2DB;box-shadow:inset 0 0 0 1px rgba(13,15,18,.05)}
.bk-oo .bk-o{width:100%;height:100%;border-radius:0;transform:scale(1.75);transform-origin:50% 48%}
.b-a .bk-oo{width:56px;height:56px}
@media (max-width:1100px){.bk-g{grid-auto-rows:auto}.b-a{height:auto}.bk-m{flex:none;height:320px}.b-a .bk-m{height:420px}}
@media (max-width:700px){.bk-m{height:300px}.b-a .bk-m{height:340px}}
/* repère à point (comme « Un seul interlocuteur » de la villa) au-dessus des phrases d'en-tête */
.sf-nt{justify-self:end;max-width:440px;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-bottom:10px}
.sf-nt .sf-i{padding:0;justify-self:auto}
.sf-bt{margin-top:10px}
@media (max-width:1100px){.sf-nt{justify-self:start}}
/* réalisations v6 : tuiles, objet posé sur la tuile à droite de la légende */
.rk{padding:10px}
.rk-c{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px 4px clamp(10px,1vw,16px)}
.rk-t{display:flex;flex-direction:column;gap:5px;min-width:0}
.rk-t b{font-size:clamp(17px,1.3vw,20px);font-weight:500;letter-spacing:-.025em;color:var(--ink)}
.rk-t span{font-size:14px;color:var(--mute)}
.rk-o{flex:none;width:64px;height:64px;overflow:hidden;-webkit-mask-image:radial-gradient(closest-side,#000 70%,transparent 100%);mask-image:radial-gradient(closest-side,#000 70%,transparent 100%);mix-blend-mode:multiply;opacity:.95}
.rk-o img{width:100%;height:100%;object-fit:cover;transform:scale(1.7);transform-origin:50% 48%;transition:transform .9s var(--e)}
.rk:hover .rk-o img{transform:scale(1.85)}
.rk-o{mix-blend-mode:normal}
.rk-ft{display:flex;justify-content:center;margin-top:clamp(36px,4vw,56px)}
/* ===== AVIS v2 ===== */
.vv{padding-bottom:clamp(72px,8vw,120px)}
.vn{display:flex;align-items:center;gap:16px}
.vn>b{font-size:clamp(48px,4.4vw,68px);font-weight:400;letter-spacing:-.055em;line-height:.9}
.vn>span{display:flex;flex-direction:column;gap:6px}
.vn small{font-size:13.5px;color:var(--mute)}
.vs{display:inline-flex;gap:2px;color:var(--ink)}
.vs svg{width:14px;height:14px;fill:currentColor;stroke:none}
.vv-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:12px}
.vv-c{display:grid;grid-template-rows:1fr 1fr;gap:12px}
.vc{margin:0;display:flex;flex-direction:column;gap:18px;padding:clamp(22px,2.2vw,32px);border-radius:var(--r3);background:#E4E1DA}
.vc-h{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px}
.vc-os{display:flex;gap:2px}
.vo{width:56px;height:56px;overflow:hidden;-webkit-mask-image:radial-gradient(closest-side,#000 68%,transparent 100%);mask-image:radial-gradient(closest-side,#000 68%,transparent 100%)}
.vo img{width:100%;height:100%;object-fit:cover;transform:scale(1.7);transform-origin:50% 48%}
.vc blockquote{flex:1;margin:0;font-size:15.5px;line-height:1.6;color:var(--ink2)}
.vc figcaption{display:flex;align-items:center;gap:10px;padding-top:16px;border-top:1px solid rgba(13,15,18,.08)}
.vc figcaption b{font-size:14.5px;font-weight:600}
.vc figcaption span{font-size:13.5px;color:var(--mute)}
.vc-g{width:18px;height:18px;margin-left:auto;flex:none}
.vc-a{justify-content:space-between;padding:clamp(28px,3.2vw,52px)}
.vc-a blockquote{flex:none;font-size:clamp(22px,2vw,30px);line-height:1.35;letter-spacing:-.025em;color:var(--ink);font-weight:400}
.vc-a blockquote::before{content:"«\00a0"}.vc-a blockquote::after{content:"\00a0»"}
.vc-a .vo{width:72px;height:72px}
.vv-r{margin-top:12px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.vv-r.rv{opacity:1;transform:none}
.vv-t{display:flex;gap:12px;width:max-content;padding-inline:12px;animation:defile 110s linear infinite}
.vv-r:hover .vv-t{animation-play-state:paused}
.vc-s{width:360px;flex:none}
.vc-s blockquote{font-size:14.5px}
@media (max-width:1100px){.vv-g{grid-template-columns:1fr}.vv-c{grid-template-rows:none;grid-template-columns:1fr 1fr}}
@media (max-width:700px){.vv-c{grid-template-columns:1fr}.vc-s{width:290px}.vc-a blockquote{font-size:20px}}
@media (prefers-reduced-motion:reduce){.vv-t{animation:none}}
.vo{width:64px;height:64px;-webkit-mask-image:radial-gradient(closest-side,#000 40%,transparent 100%);mask-image:radial-gradient(closest-side,#000 40%,transparent 100%)}
.vo img{transform:scale(1.5)}
.vc-a .vo{width:84px;height:84px}
.vc-a{justify-content:flex-start}
.vc-a blockquote{margin-top:clamp(12px,2vw,36px)}
.vc-a figcaption{margin-top:auto}
/* ===== AVIS v3 : cartes Google ===== */
.vv .sf-hd{margin-bottom:clamp(36px,4vw,56px)}
.vn{gap:14px}
.vn-g{width:34px;height:34px;flex:none}
.gs{display:inline-flex;gap:2px}
.gs svg{width:15px;height:15px;fill:#FBBC04;stroke:none}
.vv-t{gap:14px;animation-duration:120s}
.gc{flex:none;width:400px;margin:0;display:flex;flex-direction:column;gap:20px;padding:26px 28px 24px;border-radius:var(--r3);background:#F4F3EF;border:1px solid rgba(13,15,18,.06);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 18px 40px -28px rgba(40,32,20,.28);transition:transform .5s var(--e),box-shadow .5s var(--e)}
.gc:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 26px 50px -28px rgba(40,32,20,.38)}
.gc-h{display:flex;align-items:center;justify-content:space-between}
.gc-g{width:22px;height:22px;flex:none}
.gc blockquote{flex:1;margin:0;font-size:15.5px;line-height:1.62;color:var(--ink);letter-spacing:-.005em}
.gc figcaption{display:flex;flex-direction:column;gap:3px}
.gc figcaption b{font-size:14.5px;font-weight:600;letter-spacing:-.01em}
.gc figcaption span{font-size:13.5px;color:var(--mute)}
.vv-r{padding-block:8px 28px}
@media (max-width:700px){.gc{width:300px;padding:22px}.gc blockquote{font-size:14.5px}}
/* avis : écart resserré avec les réalisations, petit objet du service dans la carte */
.rz4{padding-bottom:clamp(40px,4vw,64px)}
.vv{padding-top:clamp(56px,6vw,96px)}
.gc figcaption{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:12px}
.gc-n{display:flex;flex-direction:column;gap:3px}
.gc-n b{font-size:14.5px;font-weight:600;letter-spacing:-.01em}
.gc-n span{font-size:13.5px;color:var(--mute)}
.gc-o{flex:none;width:44px;height:44px;margin:-6px -6px -4px 0;overflow:hidden;-webkit-mask-image:radial-gradient(closest-side,#000 45%,transparent 100%);mask-image:radial-gradient(closest-side,#000 45%,transparent 100%);opacity:.9}
.gc-o img{width:100%;height:100%;object-fit:cover;transform:scale(1.55);transform-origin:50% 48%}
.vv{padding-top:clamp(32px,3.5vw,56px)}
.gc-o{mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(closest-side,#000 60%,transparent 100%);mask-image:radial-gradient(closest-side,#000 60%,transparent 100%)}
.gc-o img{filter:brightness(1.09) contrast(1.06)}
/* ===== ZONE v2 : carte du golfe ===== */
.zg{padding:clamp(24px,3vw,40px) 12px 0}
.zg-f{position:relative;display:grid;grid-template-columns:minmax(320px,30%) 1fr;align-items:center;border-radius:var(--r3);background:#070A0F;color:#fff;overflow:hidden;isolation:isolate}
.zg-t{position:relative;z-index:2;padding:clamp(48px,5vw,88px) 0 clamp(48px,5vw,88px) clamp(28px,4vw,72px)}
.zg-t .qn-h{font-size:clamp(30px,2.9vw,48px)}
.zg-t .qn-h span{white-space:nowrap}
.zg-l{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;margin-top:28px;border-top:1px solid rgba(255,255,255,.08)}
.zg-l a{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px;color:rgba(255,255,255,.62);transition:color .3s}
.zg-l a::before{content:"";width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.35);transition:background .3s,box-shadow .3s}
.zg-l a:hover,.zg-l a.hi{color:#fff}
.zg-l a:hover::before,.zg-l a.hi::before{background:#fff}
.zg-l a.on{color:#fff}
.zg-l a.on::before{background:#E7C38A;box-shadow:0 0 0 3px rgba(231,195,138,.18)}
.zg-m{position:relative;margin:0 0 0 -8%;align-self:stretch;display:flex;align-items:center}
.zg-m.rv{opacity:1;transform:none}
.zg-i{position:relative;width:100%}
.zg-i>img{display:block;width:100%;height:auto;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 100%),linear-gradient(180deg,transparent 0,#000 6%,#000 94%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 100%),linear-gradient(180deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-composite:intersect}
.zp{position:absolute;left:var(--x);top:var(--y);display:flex;align-items:center;gap:8px;transform:translate(-4px,-50%);color:#fff;font-size:12.5px;font-weight:500;white-space:nowrap;text-shadow:0 1px 10px rgba(0,0,0,.9);transition:opacity .3s}
.zp i{flex:none;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.14),0 0 14px 3px rgba(255,220,170,.45);transition:transform .3s var(--e),background .3s}
.zp span{display:flex;flex-direction:column;line-height:1.2;opacity:.82;transition:opacity .3s}
.zp small{font-size:11px;font-weight:400;color:#E7C38A}
.zp-l{flex-direction:row-reverse;transform:translate(calc(-100% + 4px),-50%)}
.zp-l span{text-align:right}
.zp-h i{width:12px;height:12px;background:#E7C38A;box-shadow:0 0 0 5px rgba(231,195,138,.2),0 0 22px 6px rgba(231,195,138,.5)}
.zp-h i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(231,195,138,.6);animation:pulse 2.6s ease-out infinite}
.zp-h i{position:relative}
.zp-h span{opacity:1;font-size:14px;font-weight:600}
.zp:hover span,.zp.hi span{opacity:1}
.zp:hover i,.zp.hi i{transform:scale(1.5)}
.zg-f.hov .zp:not(.hi):not(.zp-h) span{opacity:.35}
@media (max-width:1100px){.zg-f{grid-template-columns:1fr}.zg-t{padding:56px 28px 8px}.zg-m{margin:0}.zg-i>img{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 10%,#000 92%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 10%,#000 92%,transparent 100%)}}
@media (max-width:700px){.zg{padding:16px 8px 0}.zg-t{padding:52px 20px 8px}.zg-t .qn-h span{white-space:normal}.zp:not(.zp-h) span{display:none}.zg-m{margin:0 -30% 0 -10%}}
.zg-f{grid-template-columns:minmax(360px,33%) 1fr}
.zg-m{margin-left:-3%}
.zg-t{padding-right:clamp(12px,1.5vw,24px)}
.zg-t .qn-h{font-size:clamp(28px,2.55vw,44px)}
@media (max-width:1100px){.zg-f{grid-template-columns:1fr}.zg-m{margin:0}}
@media (max-width:700px){.zg-m{margin:8px -45% 0 -15%}.zg-l{grid-template-columns:1fr 1fr}}
/* ===== ZONE v3 : carte pleine section ===== */
.zg-f{display:block;position:relative;height:clamp(560px,46vw,760px);grid-template-columns:none}
.zg-m{position:absolute;inset:0;margin:0 !important;display:block}
.zg-i{position:absolute;right:-2%;top:50%;width:84%;aspect-ratio:2688/1520;transform:translateY(-50%)}
.zg-i>img{position:absolute;inset:0;width:100%;height:100%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 100%),linear-gradient(180deg,transparent 0,#000 8%,#000 92%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 100%),linear-gradient(180deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-composite:intersect}
.zg-t{position:absolute;z-index:3;left:0;top:50%;transform:translateY(-50%);width:min(440px,36%);padding:0 0 0 clamp(28px,4vw,72px)}
.zg-t .qn-h{font-size:clamp(30px,2.8vw,48px)}
.zg-b{display:inline-flex;align-items:center;height:40px;margin-top:26px;padding:0 18px;border-radius:var(--pill);border:1px solid rgba(255,255,255,.4);font-size:13.5px;font-weight:500;transition:background .3s,color .3s,border-color .3s}
.zg-b:hover{background:#fff;color:var(--ink);border-color:#fff}
/* liaisons lumineuses */
.zg-a{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.za{fill:none;stroke:#E7C38A;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.55;stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 2.4s var(--e) var(--d),opacity .4s}
.zg-f.in .za{stroke-dashoffset:0}
.zs{fill:#FFE2B0;filter:url(#zgl);opacity:0;transition:opacity 1s 1.8s}
.zg-f.in .zs{opacity:.95}
.zg-f.hov .za{opacity:.18}
.zg-f.hov .za.hi{opacity:1}
.zp{z-index:2}
@media (max-width:1100px){.zg-f{height:auto;padding-bottom:0}.zg-t{position:relative;top:auto;transform:none;width:auto;padding:56px 28px 0}.zg-m{position:relative}.zg-i{position:relative;right:auto;top:auto;transform:none;width:118%;margin-left:-10%}}
@media (max-width:700px){.zg-t{padding:52px 20px 0}.zg-i{width:170%;margin-left:-45%}}
@media (prefers-reduced-motion:reduce){.za{transition:none;stroke-dashoffset:0}.zs{display:none}}
.za{stroke-dasharray:1;stroke-dashoffset:1}
.zg-i{width:78%;right:-3%}
.za{stroke:#F0CF98;stroke-width:1.3;opacity:.8;filter:drop-shadow(0 0 3px rgba(240,200,140,.75))}
.zg-f.hov .za{opacity:.15}
.zs{r:2.6}
.zg-t{width:min(420px,32%)}
@media (max-width:1100px){
  .zg-f{display:flex;flex-direction:column;height:auto}
  .zg-t{order:-1;position:relative;top:auto;left:auto;transform:none;width:auto;padding:56px 28px 0}
  .zg-m{position:relative;inset:auto}
  .zg-i{position:relative;right:auto;top:auto;transform:none;width:118%;margin-left:-10%}
}
@media (max-width:700px){.zg-t{padding:52px 20px 0}.zg-i{width:170%;margin-left:-48%}.zp:not(.zp-h) span{display:none}}
/* zone v4 : section à la hauteur de la carte, filaments fins qui suivent les vallées, à tour de rôle */
@media (min-width:1101px){
  .zg-f{height:auto}
  .zg-m{position:relative;inset:auto}
  .zg-i{position:relative;right:auto;top:auto;transform:none;width:80%;margin:clamp(12px,1.5vw,24px) -2% clamp(12px,1.5vw,24px) auto}
}
.za,.zs{display:none}
.zr{fill:none;stroke:#fff;stroke-width:.9;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;filter:drop-shadow(0 0 2px rgba(255,236,205,.7))}
.zh{fill:#fff;opacity:0;filter:drop-shadow(0 0 4px rgba(255,236,200,1)) drop-shadow(0 0 10px rgba(255,210,150,.8))}
/* zone : carte un peu plus petite (section moins haute), filament blanc très fin, « Notre base » lisible */
@media (min-width:1101px){.zg-i{width:72%;margin:8px -1% 8px auto}}
.zr{stroke:rgba(255,255,255,.92);stroke-width:.8;filter:drop-shadow(0 0 1.5px rgba(255,240,220,.55))}
.zh{display:none}
.zp-h span{padding:6px 10px 7px;margin-left:4px;border-radius:10px;background:rgba(8,10,14,.62);border:1px solid rgba(231,195,138,.28);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:2px;text-shadow:none}
.zp-h small{font-size:11.5px;font-weight:500;color:#EAC88E;letter-spacing:.01em}
.zr{stroke-linecap:butt}
/* ===== FAQ v2 ===== */
.fqv{padding-top:clamp(96px,10vw,160px)}
.fqv-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,72px);align-items:start}
.fqv-c{position:sticky;top:110px;display:flex;flex-direction:column;border-radius:var(--r3);background:#E4E1DA;overflow:hidden}
.fqv-m{position:relative;display:block;height:clamp(260px,22vw,340px);overflow:hidden}
.fqv-m::before{content:"";position:absolute;left:50%;top:22%;width:90%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.55),transparent 75%)}
.fqv-m img{position:absolute;left:50%;top:10%;width:auto;height:190%;max-width:none;transform:translateX(-50%);filter:drop-shadow(0 20px 30px rgba(60,50,35,.16))}
.fqv-t{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:22px clamp(20px,2vw,28px) clamp(22px,2.2vw,30px);border-top:1px solid rgba(13,15,18,.06);background:#E4E1DA;position:relative}
.fqv-t p{display:flex;flex-direction:column;gap:4px}
.fqv-t b{font-size:18px;font-weight:500;letter-spacing:-.02em}
.fqv-t p span{font-size:13.5px;color:var(--mute)}
.fqv-b{display:inline-flex;align-items:center;gap:10px;margin-top:4px}
.fqv-b .ic{width:16px;height:16px}
.fqv-l{border-top:1px solid var(--line2)}
.fqv-l a,.fqv-t a.fqv-l{border:0}
a.fqv-l{font-size:13.5px;font-weight:500;color:var(--mute);border-bottom:1px solid currentColor !important;padding-bottom:2px}
a.fqv-l:hover{color:var(--ink)}
.fx{border-bottom:1px solid var(--line2)}
.fx h3{margin:0}
.fx button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(20px,2vw,28px) 0;border:0;background:none;font:inherit;text-align:left;font-size:clamp(17px,1.45vw,21px);font-weight:500;letter-spacing:-.025em;color:var(--ink);cursor:pointer}
.fx-i{position:relative;flex:none;width:36px;height:36px;border-radius:50%;border:1px solid rgba(13,15,18,.14);transition:background .35s var(--e),border-color .35s,transform .5s var(--e)}
.fx-i::before,.fx-i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%);transition:transform .45s var(--e)}
.fx-i::after{transform:translate(-50%,-50%) rotate(90deg)}
.fx button:hover .fx-i{border-color:var(--ink)}
.fx.on .fx-i{background:var(--ink);border-color:var(--ink);color:#fff}
.fx.on .fx-i::after{transform:translate(-50%,-50%) rotate(0)}
.fx-r{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--e)}
.fx.on .fx-r{grid-template-rows:1fr}
.fx-r>div{overflow:hidden}
.fx-r p{max-width:62ch;padding:0 60px clamp(22px,2.2vw,30px) 0;font-size:15.5px;line-height:1.7;color:var(--mute);opacity:0;transform:translateY(-6px);transition:opacity .4s,transform .5s var(--e)}
.fx.on .fx-r p{opacity:1;transform:none;transition-delay:.1s}
@media (max-width:1100px){.fqv-g{grid-template-columns:1fr}.fqv-c{position:relative;top:auto;flex-direction:row;align-items:stretch}.fqv-m{width:42%;height:auto;min-height:260px}.fqv-t{border-top:0;justify-content:center}}
@media (max-width:700px){.fqv-c{flex-direction:column}.fqv-m{width:auto;height:240px}.fx-r p{padding-right:0}}
.fqv-w{font-size:13.5px;font-weight:500;color:var(--mute);border-bottom:1px solid currentColor;padding-bottom:2px;transition:color .25s}
.fqv-w:hover{color:var(--ink)}
.fqv-m img{top:8%;height:230%}
/* ===== FAQ v3 : épurée ===== */
.fq3{padding:clamp(110px,11vw,180px) var(--g) clamp(100px,10vw,160px)}
.fq3-hd{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:clamp(48px,5vw,80px)}
.fq3-hd .ex2-h{margin-bottom:0}
.fq3-l{max-width:860px;margin:0 auto;border-top:1px solid rgba(13,15,18,.12)}
.fq3 .fx{border-bottom:1px solid rgba(13,15,18,.12)}
.fq3 .fx button{padding:clamp(24px,2.4vw,32px) 0;font-size:clamp(18px,1.55vw,23px);font-weight:400;letter-spacing:-.03em;gap:32px;transition:color .3s}
.fq3 .fx:not(.on) button:hover{color:var(--mute)}
.fq3 .fx-i{width:16px;height:16px;border:0;border-radius:0;background:none !important;color:var(--ink)}
.fq3 .fx-i::before,.fq3 .fx-i::after{width:16px;height:1.2px}
.fq3 .fx.on .fx-i{transform:rotate(45deg);color:var(--ink)}
.fq3 .fx.on .fx-i::after{transform:translate(-50%,-50%) rotate(90deg)}
.fq3 .fx-r p{padding:0 48px clamp(26px,2.6vw,34px) 0;font-size:16px;line-height:1.75;max-width:64ch}
.fq3-ft{margin-top:clamp(40px,4vw,56px);text-align:center;font-size:15px;color:var(--mute)}
.fq3-ft a{color:var(--ink);font-weight:500;border-bottom:1px solid currentColor;padding-bottom:2px}
@media (max-width:700px){.fq3 .fx-r p{padding-right:0}}
/* ===== APPEL FINAL v2 ===== */
.cf2{padding:0 12px 12px}
.cf2-f{position:relative;height:clamp(560px,50vw,780px);border-radius:var(--r3);overflow:hidden;color:#fff;isolation:isolate;background:#0B1424}
.cf2-f>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.cf2-f::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,8,18,.42) 0%,rgba(4,8,18,.12) 38%,rgba(4,8,18,0) 55%,rgba(4,8,18,.25) 100%)}
.cf2-c{position:absolute;left:0;right:0;top:clamp(64px,8vw,120px);display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 var(--g)}
.cf2-k{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:rgba(255,255,255,.78);margin-bottom:22px}
.cf2-k::before,.cf2-k::after{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
.cf2-h{font-size:clamp(42px,5.6vw,92px);letter-spacing:-.052em;line-height:1;text-shadow:0 2px 40px rgba(4,8,18,.25)}
.cf2-h span{display:block}.cf2-h .t1{font-weight:500}.cf2-h .t2{font-weight:300;color:rgba(255,255,255,.72)}
.cf2-b{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:clamp(28px,3vw,40px)}
.cf2-t{display:inline-flex;align-items:center;gap:10px}
.cf2-t .ic{width:16px;height:16px}
@media (max-width:700px){.cf2{padding:0 8px 8px}.cf2-f{height:620px}.cf2-f>img{object-position:50% 70%}}
/* ===== PIED DE PAGE harmonisé ===== */
.ft-in{background:#0E0F12;padding:clamp(56px,6vw,96px) clamp(24px,4vw,72px) 24px}
.ft-top{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-bottom:clamp(40px,4.5vw,64px);margin-bottom:clamp(40px,4.5vw,64px);border-bottom:1px solid rgba(255,255,255,.08)}
.ft-tt{font-size:clamp(30px,3.4vw,56px);letter-spacing:-.05em;line-height:1.02}
.ft-tt span{display:block}.ft-tt .t1{font-weight:500}.ft-tt .t2{font-weight:300;color:rgba(255,255,255,.45)}
.ft-cta{display:flex;gap:10px;flex-wrap:wrap}
.ft-1 p{color:rgba(255,255,255,.5)}
.ft-h{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-bottom:18px}
.ft-g>div:not(.ft-1){gap:11px}
.ft-g>div:not(.ft-1) a{color:rgba(255,255,255,.78)}
.ft-g>div:not(.ft-1) a:hover{color:#fff}
.ft-g span{color:rgba(255,255,255,.42)}
.ft-s{gap:22px;flex-wrap:wrap}
.ft-s a{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.7);transition:color .25s}
.ft-s a:hover{color:#fff}
.ft-s .ic{width:16px;height:16px;stroke-width:1.5;color:#D9B77E}
.ft-b{border-top-color:rgba(255,255,255,.08);color:rgba(255,255,255,.38)}
.ft-b a{color:rgba(255,255,255,.55)}
.ft-b a:hover{color:#fff}
@media (max-width:900px){.ft-top{flex-direction:column;align-items:flex-start}}
@media (min-width:901px){
  .ft-g{grid-template-columns:1.3fr 1fr 1.5fr 1fr}
  .ft-g>div:nth-child(3){display:grid !important;grid-template-columns:1fr 1fr;column-gap:20px;align-content:start}
  .ft-g>div:nth-child(3) .ft-h{grid-column:1/-1}
}
.ft-up{margin:0 0 6px}
/* ===== pages légales ===== */
.lg{padding:clamp(150px,14vw,210px) var(--g) clamp(90px,9vw,140px)}
.lg-hd{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:clamp(48px,5vw,72px)}
.lg-hd .ex2-h{margin-bottom:0}
.lg-c{max-width:760px;margin:0 auto;border-top:1px solid rgba(13,15,18,.12)}
.lg-c h2{margin:clamp(32px,3.4vw,44px) 0 12px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.lg-c p{font-size:16px;line-height:1.75;color:var(--mute)}
.lg-c a{color:var(--ink);border-bottom:1px solid rgba(13,15,18,.3)}
.lg-c a:hover{border-color:var(--ink)}
.lg-todo{display:inline-block;padding:0 8px;border-radius:6px;background:rgba(214,160,60,.16);color:#8a5a12;font-size:14px;font-weight:500}
.lg-dt{margin-top:40px;font-size:14px !important}
/* pied de page : icônes blanches, logo plus présent, liens légaux */
.ft-s .ic{color:#fff}
.ft-1 .nv-lg{gap:14px}
.ft-1 .ic-lg{width:30px;height:40px}
.ft-1 .nv-lg b{font-size:23px;letter-spacing:.2em}
.ft-1 .nv-lg small{font-size:11px;margin-top:7px}
/* appel final : bouton téléphone sans fond, contour fin */
.cf2-t{background:transparent !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;border:1px solid rgba(255,255,255,.55) !important;transition:background .3s,color .3s,border-color .3s}
.cf2-t:hover{background:#fff !important;color:var(--ink) !important;border-color:#fff !important}
.lg-page .nv-in{background:rgba(12,14,18,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
/* ===== MÉGA MENU v3 : panneau clair, objets du savoir-faire, aperçu ===== */
.mm{padding-top:12px}
.mx{grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:auto auto;max-width:1000px;padding:10px;gap:10px;border-radius:26px;background:#F4F3EF;box-shadow:0 40px 80px -32px rgba(10,12,16,.55),0 0 0 1px rgba(13,15,18,.06)}
.mx-l{padding:18px 12px 8px}
.mx-t{display:flex;align-items:center;gap:8px;margin:0 0 12px 10px;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.mx-g{grid-template-columns:1fr 1fr;gap:2px 6px}
.mx-g a{align-items:center;gap:14px;padding:8px 10px;border-radius:16px;transition:background .3s var(--e)}
.mx-g a:hover,.mx-g a:focus-visible,.mx-g a.on{background:#E9E6E0}
.mx-o{flex:none;width:52px;height:52px;border-radius:13px;overflow:hidden;background:#E4E1DA}
.mx-o img{width:100%;height:100%;object-fit:cover;transform:scale(1.55);transform-origin:50% 48%;transition:transform .6s var(--e)}
.mx-g a:hover .mx-o img{transform:scale(1.7)}
.mx-g b{font-size:14.5px;font-weight:500;letter-spacing:-.015em;color:var(--ink)}
.mx-g em{font-size:12.5px;color:var(--mute);margin-top:3px}
.mx-p{position:relative;display:flex;flex-direction:column;border-radius:18px;background:#E4E1DA;overflow:hidden;color:var(--ink);min-height:0}
.mx-pi{position:relative;flex:1;min-height:220px;overflow:hidden}
.mx-pi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:opacity .35s var(--e),transform 1s var(--e)}
.mx-p:hover .mx-pi img{transform:scale(1.14)}
.mx-pc{display:flex;flex-direction:column;gap:4px;padding:4px 18px 18px}
.mx-pc b{font-size:18px;font-weight:500;letter-spacing:-.025em}
.mx-pc em{font-style:normal;font-size:13px;color:var(--mute)}
.mx-pl{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:500;border-bottom:1px solid currentColor;align-self:flex-start;padding-bottom:2px}
.mx-pl .ic{width:14px;height:14px;transition:transform .35s var(--e)}
.mx-p:hover .mx-pl .ic{transform:translateX(3px)}
.mx-f{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 12px 6px 20px;border-top:1px solid rgba(13,15,18,.08)}
.mx-f p{font-size:13.5px;color:var(--mute)}
.mx-f p b{color:var(--ink);font-weight:500}
.mx-fb{display:flex;gap:8px}
.mx-wa,.mx-d{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--pill);font-size:13.5px;font-weight:500;transition:background .3s,color .3s,border-color .3s}
.mx-wa{border:1px solid rgba(13,15,18,.16);color:var(--ink)}
.mx-wa:hover{border-color:var(--ink)}
.mx-wa .ic{width:16px;height:16px}
.mx-d{background:var(--ink);color:#fff}
.mx-d:hover{background:#000}
/* en-tête : petits raffinements */
.nv-tel{font-variant-numeric:tabular-nums;letter-spacing:.01em}
/* ===== WIDGET retour en haut : anneau de progression ===== */
.up{position:fixed;right:24px;bottom:24px;z-index:45;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:rgba(12,14,18,.72);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 18px 40px -16px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.08);color:#fff;opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;transition:opacity .5s var(--e),transform .6s var(--e)}
.up.on{opacity:1;transform:none;pointer-events:auto}
.up-r{position:absolute;inset:4px;width:48px;height:48px;transform:rotate(-90deg)}
.up-t{fill:none;stroke:rgba(255,255,255,.12);stroke-width:1.5}
.up-p{fill:none;stroke:#E7C38A;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke .4s}
.up.fin .up-p{stroke:#fff}
.up-a{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s var(--e)}
.up:hover .up-a{transform:translateY(-3px)}
.up:hover{transform:scale(1.04)}
@media (max-width:1100px){.up{right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));width:48px;height:48px}.up-r{inset:3px;width:42px;height:42px}}
/* pied de page : langue, liens légaux */
.ft-br{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ft-lang{display:inline-flex;padding:3px;border-radius:var(--pill);border:1px solid rgba(255,255,255,.12)}
.ft-lang a{padding:3px 10px;border-radius:var(--pill);font-size:11.5px;font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.5);transition:background .3s,color .3s}
.ft-lang a.on{background:#fff;color:var(--ink)}
.ft-lang a:not(.on):hover{color:#fff}
@media (min-width:1101px){.ft-b{padding-right:76px}}
.ft-s{gap:16px 18px}
/* méga menu v4 : sans fonds, sans boutons */
.mx{grid-template-rows:auto;padding:10px 10px 10px 18px}
.mx-l{padding:22px 10px 18px 8px;display:flex;flex-direction:column}
.mx-g{gap:4px 28px}
.mx-g a{padding:8px 0;border-radius:0;background:none !important;gap:16px}
.mx-g a b{transition:color .3s}
.mx-g a em{transition:color .3s}
.mx-o{width:48px;height:48px;border-radius:0;background:none;-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent 100%);mask-image:radial-gradient(closest-side,#000 55%,transparent 100%)}
.mx-o img{transform:scale(1.45)}
.mx-g a:hover .mx-o img,.mx-g a.on .mx-o img{transform:scale(1.62)}
.mx-g a:not(.on) b{color:rgba(13,15,18,.72)}
.mx-g a.on b,.mx-g a:hover b{color:var(--ink)}
.mx-p{background:none}
.mx-pi{border-radius:16px;overflow:hidden}
.mx-pi img{transform:scale(1.02)}
.mx-pc{padding:16px 6px 6px}
.mx-all{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:18px 0 0 0;padding-top:16px;border-top:1px solid rgba(13,15,18,.08);width:100%;font-size:13.5px;font-weight:500;color:var(--mute);transition:color .3s}
.mx-all:hover{color:var(--ink)}
.mx-all .ic{width:14px;height:14px;transition:transform .35s var(--e)}
.mx-all:hover .ic{transform:translateX(3px)}
/* pied de page : réseaux en icônes seules */
.ft-s{gap:20px}
.ft-s a{color:rgba(255,255,255,.72)}
.ft-s a:hover{color:#fff}
.ft-s .ic{width:19px;height:19px;color:currentColor}
/* langue : texte seul, actif souligné d'un point */
.ft-lang{padding:0;border:0;gap:10px;align-items:center}
.ft-lang a{position:relative;padding:0;border-radius:0;background:none !important;font-size:12px;font-weight:500;letter-spacing:.12em;color:rgba(255,255,255,.4)}
.ft-lang a.on{color:#fff}
.ft-lang a.on::after{content:"";position:absolute;left:50%;bottom:-7px;width:3px;height:3px;border-radius:50%;background:#E7C38A;transform:translateX(-50%)}
.ft-lang i{width:1px;height:10px;background:rgba(255,255,255,.2)}
.mx-t{justify-content:flex-start;text-align:left;margin-left:0}
/* ===== WIDGET WhatsApp : jumeau du retour en haut ===== */
.wa{position:fixed;right:24px;bottom:92px;z-index:45;display:flex;align-items:center;justify-content:flex-end;height:56px;min-width:56px;border-radius:var(--pill);background:rgba(12,14,18,.72);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 18px 40px -16px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.08);color:#fff;opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;transition:opacity .5s var(--e),transform .6s var(--e)}
.wa.on{opacity:1;transform:none;pointer-events:auto;transition-delay:.08s}
.wa-l{max-width:0;overflow:hidden;white-space:nowrap;font-size:13.5px;font-weight:500;letter-spacing:-.005em;opacity:0;transition:max-width .6s var(--e),opacity .35s,padding .6s var(--e)}
.wa:hover .wa-l,.wa:focus-visible .wa-l{max-width:160px;opacity:1;padding-left:20px}
.wa-i{flex:none;width:56px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.wa::before{content:"";position:absolute;right:15px;top:15px;width:7px;height:7px;border-radius:50%;background:#5BD38A;box-shadow:0 0 0 2px rgba(12,14,18,.9);opacity:.95}
@media (max-width:1100px){.wa{right:auto;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));height:52px;min-width:52px}.wa-i{width:52px}.wa::before{right:13px;top:13px}}
/* en-tête : icône WhatsApp discrète */
.nv-wa{display:grid;place-items:center;width:34px;height:34px;margin-right:6px;color:rgba(255,255,255,.82);transition:color .25s}
.nv-wa:hover{color:#fff}
.nv-wa .ic{width:18px;height:18px}
.nv-r{display:flex;align-items:center}
@media (max-width:1100px){.nv-wa{display:none}}
.wa::before{display:none}
/* ===== WIDGET WhatsApp v2 : petit chat noir, en bas à gauche ===== */
.wa{display:none}
.wc{position:fixed;left:24px;bottom:24px;z-index:46;display:flex;flex-direction:column;align-items:flex-start;gap:12px;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .5s var(--e),transform .6s var(--e)}
.wc.on{opacity:1;transform:none;pointer-events:auto}
.wc-t{display:flex;align-items:center;gap:12px;height:56px;padding:0 20px 0 8px;border:0;border-radius:var(--pill);background:#0A0B0D;color:#fff;font:inherit;cursor:pointer;box-shadow:0 20px 44px -18px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.07);transition:transform .4s var(--e),box-shadow .4s}
.wc-t:hover{transform:translateY(-2px);box-shadow:0 26px 50px -18px rgba(0,0,0,.65),inset 0 0 0 1px rgba(255,255,255,.12)}
.wc-av{position:relative;width:40px;height:40px;border-radius:50%;overflow:hidden;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.wc-av img{width:100%;height:100%;object-fit:cover}
.wc-l{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.wc-l b{font-size:14px;font-weight:500;letter-spacing:-.01em}
.wc-l small{font-size:11.5px;color:rgba(255,255,255,.5)}
.wc-p{width:340px;border-radius:24px;background:#0A0B0D;color:#fff;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.07);opacity:0;transform:translateY(10px) scale(.97);transform-origin:0 100%;pointer-events:none;transition:opacity .35s var(--e),transform .5s var(--e);position:absolute;left:0;bottom:68px}
.wc.open .wc-p{opacity:1;transform:none;pointer-events:auto}
.wc-h{display:flex;align-items:center;gap:12px;padding:16px 16px 14px 18px;border-bottom:1px solid rgba(255,255,255,.07)}
.wc-h img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.wc-h span{flex:1;display:flex;flex-direction:column;line-height:1.2}
.wc-h b{font-size:14.5px;font-weight:500}
.wc-h small{font-size:12px;color:rgba(255,255,255,.5)}
.wc-x{width:32px;height:32px;border:0;border-radius:50%;background:none;color:rgba(255,255,255,.6);cursor:pointer;display:grid;place-items:center;transition:color .25s,background .25s}
.wc-x:hover{color:#fff;background:rgba(255,255,255,.06)}
.wc-x svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.wc-b{padding:18px}
.wc-m{position:relative;max-width:92%;padding:12px 14px;border-radius:4px 16px 16px 16px;background:rgba(255,255,255,.07);font-size:14px;line-height:1.5;color:rgba(255,255,255,.9)}
.wc-c{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.wc-c a{padding:8px 12px;border-radius:var(--pill);border:1px solid rgba(255,255,255,.14);font-size:12.5px;font-weight:500;color:rgba(255,255,255,.85);transition:border-color .25s,color .25s,background .25s}
.wc-c a:hover{border-color:#fff;color:#fff}
.wc-go{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 18px 18px;height:46px;border-radius:var(--pill);background:#fff;color:var(--ink);font-size:14px;font-weight:500;transition:background .25s}
.wc-go:hover{background:#EDEBE6}
.wc-go .ic{width:17px;height:17px}
@media (max-width:1100px){.wc{left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}.wc-l{display:none}.wc-t{padding:0 8px;width:56px;justify-content:center}.wc-p{width:min(340px,calc(100vw - 32px))}}
/* ===== PAGES INTÉRIEURES ===== */
.pa{display:flex;align-items:center;gap:10px;margin-bottom:22px;font-size:12.5px;font-weight:500;color:rgba(255,255,255,.5)}
.pa a{color:rgba(255,255,255,.62);transition:color .25s}.pa a:hover{color:#fff}
.pa i{font-style:normal;opacity:.35}
.pa span{color:#fff}
.pg .zg{padding-top:12px}
.ph-cf{min-height:clamp(600px,52vw,760px)}
@media (min-width:1101px){.ph-cf .zg-i{width:68%;margin:clamp(24px,2vw,40px) -1% clamp(24px,2vw,40px) auto}}
.ph-ct{width:min(470px,38%)}
.ph-ct .qn-h{font-size:clamp(34px,3.4vw,58px)}
.ph-d{display:flex;gap:32px;margin:26px 0 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.1)}
.ph-d div{display:flex;flex-direction:column;gap:4px}
.ph-d dt{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.ph-d dd{margin:0;font-size:14.5px;color:#fff}
.ph-b{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.zq{pointer-events:none}
.zq i{width:6px;height:6px;opacity:.55;box-shadow:0 0 0 2px rgba(255,255,255,.08),0 0 10px 2px rgba(255,220,170,.3)}
.zp-t i{width:11px;height:11px;box-shadow:0 0 0 4px rgba(255,255,255,.16),0 0 18px 5px rgba(255,230,190,.55)}
.zp-t span{opacity:1;font-size:13.5px;font-weight:600;padding:5px 10px 6px;border-radius:9px;background:rgba(8,10,14,.6);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-left:4px;text-shadow:none}
/* texte local */
.lc{padding:clamp(96px,10vw,150px) 0 0}
.lc-g{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,6vw,96px);align-items:start}
.lc-t p{font-size:17px;line-height:1.75;color:var(--mute);margin-bottom:16px}
.lc-t p:first-child{color:var(--ink);font-size:19px;line-height:1.6;letter-spacing:-.01em}
.lc-s{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;border-top:1px solid rgba(13,15,18,.1)}
.lc-s li{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid rgba(13,15,18,.1);font-size:14.5px;color:var(--ink)}
.lc-s .ic{width:15px;height:15px;color:#B48A4A}
/* communes voisines */
.nb{padding:0 0 clamp(80px,8vw,120px)}
.nb-in{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.nb-l{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px}
.nb-l a{font-size:15px;color:var(--ink);border-bottom:1px solid rgba(13,15,18,.25);padding-bottom:2px;transition:border-color .25s}
.nb-l a:hover{border-color:var(--ink)}
.pg .sf{padding-top:clamp(96px,10vw,150px)}
@media (max-width:1100px){.ph-ct{width:auto}.lc-g{grid-template-columns:1fr}.ph-cf{min-height:0}}
@media (max-width:700px){.lc-s{grid-template-columns:1fr}.ph-d{gap:22px}}
/* héro de page (cadre sombre + photo) */
.ph{padding:12px 12px 0}
.ph-f{position:relative;height:clamp(520px,62vh,700px);border-radius:var(--r3);overflow:hidden;color:#fff;isolation:isolate;background:#0B0D10}
.ph-f>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.ph-f::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,7,10,.78) 0%,rgba(5,7,10,.45) 40%,rgba(5,7,10,0) 70%),linear-gradient(0deg,rgba(5,7,10,.5),rgba(5,7,10,0) 45%)}
.ph-c{position:absolute;left:clamp(28px,4vw,72px);bottom:clamp(40px,5vw,72px);max-width:560px}
.ph-c .qn-h{font-size:clamp(38px,4.4vw,72px)}
/* commune : carte centrée verticalement, sans vide */
.ph-cf{min-height:0}
@media (min-width:1101px){.ph-cf .zg-i{width:70%;margin:40px -1% 40px auto}.ph-ct{width:min(480px,36%)}.ph-b{flex-wrap:nowrap}}
/* réalisations : filtres en texte */
.rzp{padding-top:clamp(56px,6vw,96px)}
.rzp-hd{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:clamp(28px,3vw,44px);flex-wrap:wrap}
.rzp-f{display:flex;flex-wrap:wrap;gap:6px 26px}
.rzp-f button{position:relative;padding:6px 0;border:0;background:none;font:inherit;font-size:14.5px;font-weight:500;color:var(--mute);cursor:pointer;transition:color .3s}
.rzp-f button::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform .45s var(--e)}
.rzp-f button:hover{color:var(--ink)}
.rzp-f button.on{color:var(--ink)}
.rzp-f button.on::after{transform:none}
.rzp-n{font-size:13.5px;color:var(--mute)}
.rzp-n b{color:var(--ink);font-weight:500}
.rk.off{display:none}
/* à propos */
.ap-st{margin-top:clamp(56px,6vw,88px)}
.eg{padding:clamp(110px,11vw,170px) 0 0}
.eg-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(13,15,18,.12)}
.eg-g div{display:flex;flex-direction:column;gap:12px;padding:30px 28px 8px 0;border-right:1px solid rgba(13,15,18,.08);margin-right:28px}
.eg-g div:last-child{border-right:0;margin-right:0}
.eg-g .ic{width:22px;height:22px;color:#B48A4A;stroke-width:1.4}
.eg-g b{font-size:18px;font-weight:500;letter-spacing:-.025em}
.eg-g p{font-size:14.5px;line-height:1.6;color:var(--mute)}
@media (max-width:1100px){.eg-g{grid-template-columns:1fr 1fr}.eg-g div:nth-child(2){border-right:0}}
@media (max-width:700px){.eg-g{grid-template-columns:1fr}.eg-g div{border-right:0;margin-right:0;border-bottom:1px solid rgba(13,15,18,.08);padding-bottom:26px}}
/* contact */
.ct{padding:12px 12px 0}
.ct-f{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,4vw,72px);align-items:start;border-radius:var(--r3);background:#0E0F12;color:#fff;padding:clamp(120px,11vw,160px) clamp(24px,4vw,72px) clamp(48px,5vw,72px)}
.ct-t .qn-h{font-size:clamp(38px,4.2vw,68px)}
.ct-l{list-style:none;margin:34px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.08)}
.ct-l li{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.ct-l .ic{width:19px;height:19px;color:#D9B77E;stroke-width:1.4;flex:none}
.ct-l span{display:flex;flex-direction:column;gap:2px;font-size:15px;color:rgba(255,255,255,.86)}
.ct-l small{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.ct-l a{color:#fff;transition:opacity .25s}.ct-l a:hover{opacity:.75}
.ct-fm{display:flex;flex-direction:column;gap:16px;padding:clamp(24px,2.6vw,40px);border-radius:24px;background:#F4F3EF;color:var(--ink)}
.ct-k{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}
.ct-r{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct-fm label{display:flex;flex-direction:column;gap:8px}
.ct-fm label>span{font-size:13px;font-weight:500}
.ct-fm em{font-style:normal;font-weight:400;color:var(--mute)}
.ct-fm input:not([type=checkbox]):not([type=radio]),.ct-fm select,.ct-fm textarea{width:100%;padding:13px 14px;border-radius:12px;border:1px solid rgba(13,15,18,.12);background:#fff;font:inherit;font-size:15px;color:var(--ink);transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
.ct-fm select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230D0F12' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center}
.ct-fm input:focus,.ct-fm select:focus,.ct-fm textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 3px rgba(13,15,18,.06)}
.ct-fm textarea{resize:vertical;min-height:110px}
.ct-o{border:0;margin:0;padding:0}
.ct-o legend{font-size:13px;font-weight:500;margin-bottom:10px}
.ct-o div{display:flex;flex-wrap:wrap;gap:6px}
.ct-o label{flex-direction:row}
.ct-o input{position:absolute;opacity:0;pointer-events:none}
.ct-o span{padding:8px 13px;border-radius:var(--pill);border:1px solid rgba(13,15,18,.14);font-size:13px;font-weight:500;color:var(--mute);cursor:pointer;transition:all .25s}
.ct-o input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.ct-o input:focus-visible+span{box-shadow:0 0 0 3px rgba(13,15,18,.15)}
.ct-c{flex-direction:row !important;align-items:flex-start;gap:10px !important;font-size:13.5px;color:var(--mute)}
.ct-c input{margin-top:2px;width:16px;height:16px;accent-color:#0D0F12;flex:none}
.ct-c span{font-weight:400 !important;font-size:13.5px !important}
.ct-c a{color:var(--ink);border-bottom:1px solid currentColor}
.ct-s{align-self:flex-start;margin-top:6px;border:0;cursor:pointer}
.ct-ok{font-size:14px;color:#2F7A4C}
.ct-fm .er{border-color:#C0392B !important}
@media (max-width:1100px){.ct-f{grid-template-columns:1fr}}
@media (max-width:700px){.ct-r{grid-template-columns:1fr}.ph-f{height:560px}.ph-c{left:20px;right:20px}}
.ph-b .hb,.cf2-b .hb{white-space:nowrap}
@media (max-width:1100px){.zc .zg-t{padding-top:112px}}
/* ===== CONTACT v2 ===== */
.cx{padding:clamp(140px,13vw,190px) 0 0}
.cx .pa{color:var(--mute)}.cx .pa a{color:var(--mute)}.cx .pa a:hover{color:var(--ink)}.cx .pa span{color:var(--ink)}
.cx-hd{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:48px;margin-bottom:clamp(40px,4.5vw,64px)}
.cx-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:12px;align-items:stretch}
.cx-v{display:flex;flex-direction:column;border-radius:var(--r3);background:#EAE9E4;overflow:hidden}
.cx-i{margin:0;flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:clamp(8px,2vw,24px) 0}
.cx-i img{width:100%;height:auto;display:block;transform:scale(1.12)}
.cx-m{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(13,15,18,.08)}
.cx-m a{position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(20px,2vw,28px);border-right:1px solid rgba(13,15,18,.08);transition:background .35s var(--e)}
.cx-m a:last-child{border-right:0}
.cx-m a:hover{background:rgba(13,15,18,.03)}
.cx-m .ic{width:20px;height:20px;color:var(--ink);stroke-width:1.4}
.cx-m span{display:flex;flex-direction:column;gap:3px;min-width:0}
.cx-m small{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.cx-m b{font-size:15.5px;font-weight:500;letter-spacing:-.015em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cx-ar{position:absolute;top:clamp(20px,2vw,28px);right:clamp(20px,2vw,28px);width:16px;height:16px;fill:none;stroke:var(--mute);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s var(--e),stroke .3s}
.cx-m a:hover .cx-ar{transform:translate(2px,-2px);stroke:var(--ink)}
.cx-f{display:flex;flex-direction:column;padding:clamp(28px,3vw,48px);border-radius:var(--r3);background:#0E0F12;color:#fff}
.cx-k{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.cx-l{margin:12px 0 22px;font-size:clamp(20px,1.7vw,26px);font-weight:400;letter-spacing:-.03em;line-height:1.25}
.cx-in{position:relative;display:block;margin-top:14px}
.cx-in input,.cx-in textarea{width:100%;padding:24px 0 12px;border:0;border-bottom:1px solid rgba(255,255,255,.18);background:transparent;font:inherit;font-size:16px;color:#fff;resize:none;transition:border-color .3s;border-radius:0}
.cx-in textarea{min-height:92px}
.cx-in input:focus,.cx-in textarea:focus{outline:0;border-color:#fff}
.cx-in span{position:absolute;left:0;top:24px;font-size:16px;color:rgba(255,255,255,.45);pointer-events:none;transform-origin:0 0;transition:transform .35s var(--e),color .3s}
.cx-in input:focus+span,.cx-in input:not(:placeholder-shown)+span,.cx-in textarea:focus+span,.cx-in textarea:not(:placeholder-shown)+span{transform:translateY(-20px) scale(.75);color:rgba(255,255,255,.6)}
.cx-in .er,.cx-in input.er{border-color:#E8796B}
.cx-c{display:flex;align-items:flex-start;gap:10px;margin-top:22px;font-size:13px;line-height:1.5;color:rgba(255,255,255,.55)}
.cx-c input{margin-top:2px;width:15px;height:15px;accent-color:#fff;flex:none}
.cx-c a{color:#fff;border-bottom:1px solid rgba(255,255,255,.4)}
.cx-c input.er{outline:1px solid #E8796B;outline-offset:2px}
.cx-s{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;align-self:flex-start;height:52px;margin-top:26px;padding:0 10px 0 24px;border:0;border-radius:var(--pill);background:#fff;color:var(--ink);font:inherit;font-size:15px;font-weight:500;cursor:pointer;transition:background .3s}
.cx-s svg{width:34px;height:34px;padding:9px;border-radius:50%;background:var(--ink);fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s var(--e)}
.cx-s:hover svg{transform:translateX(3px)}
.cx-f .ct-ok{margin-top:14px;color:#9FE0B5}
.cx-d{display:flex;gap:28px;margin:auto 0 0;padding-top:28px;border-top:1px solid rgba(255,255,255,.08);margin-top:32px}
.cx-d div{display:flex;flex-direction:column;gap:4px}
.cx-d dt{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.cx-d dd{margin:0;font-size:13.5px;color:rgba(255,255,255,.8)}
@media (max-width:1100px){.cx-hd{grid-template-columns:1fr;gap:20px}.cx-g{grid-template-columns:1fr}}
@media (max-width:700px){.cx-m{grid-template-columns:1fr}.cx-m a{border-right:0;border-bottom:1px solid rgba(13,15,18,.08);flex-direction:row;align-items:center}.cx-ar{top:50%;transform:translateY(-50%)}.cx-d{flex-direction:column;gap:14px}}
.cx-v{background:#E6E4DD}.cx-i img{transform:scale(1.06)}
/* ===== CONTACT v3 : centré, formulaire pleine largeur ===== */
.cv{padding:clamp(150px,14vw,200px) var(--g) 0}
.cv-hd{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:clamp(44px,5vw,72px)}
.cv-hd .ex2-h{margin-bottom:22px}
.cv-l{max-width:520px;font-size:17px;line-height:1.65;color:var(--mute)}
.cv-f{max-width:1120px;margin:0 auto;padding:clamp(28px,4vw,64px);border-radius:var(--r3);background:#F4F3EF;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 30px 60px -40px rgba(40,32,20,.25)}
.cv-g{display:grid;grid-template-columns:1fr 1fr;gap:8px clamp(24px,3vw,48px)}
.cv-in{position:relative;display:block}
.cv-in input,.cv-in select,.cv-in textarea{width:100%;padding:28px 0 12px;border:0;border-bottom:1px solid rgba(13,15,18,.16);border-radius:0;background:transparent;font:inherit;font-size:17px;color:var(--ink);-webkit-appearance:none;appearance:none;transition:border-color .3s}
.cv-in textarea{resize:none;min-height:110px;line-height:1.55}
.cv-in input:focus,.cv-in select:focus,.cv-in textarea:focus{outline:0;border-color:var(--ink)}
.cv-in>span{position:absolute;left:0;top:28px;font-size:17px;color:var(--mute);pointer-events:none;transform-origin:0 0;transition:transform .35s var(--e),color .3s}
.cv-in em{font-style:normal;font-size:.8em;opacity:.7}
.cv-in input:focus+span,.cv-in input:not(:placeholder-shown)+span,.cv-in textarea:focus+span,.cv-in textarea:not(:placeholder-shown)+span,.cv-se select:focus+span,.cv-se select:valid+span{transform:translateY(-22px) scale(.72);color:var(--mute)}
.cv-se::after{content:"";position:absolute;right:4px;top:36px;width:7px;height:7px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg);pointer-events:none}
.cv-se select{cursor:pointer}
.cv-in .er,.cv-in input.er,.cv-in select.er{border-color:#C0392B}
.cv-o{border:0;margin:clamp(32px,3vw,44px) 0 0;padding:0}
.cv-o legend{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.cv-o div{display:flex;flex-wrap:wrap;gap:8px}
.cv-o label{position:relative}
.cv-o input{position:absolute;opacity:0;pointer-events:none}
.cv-o span{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:var(--pill);border:1px solid rgba(13,15,18,.14);font-size:14px;font-weight:500;color:var(--ink2);cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.cv-o span:hover{border-color:var(--ink)}
.cv-o input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.cv-o input:focus-visible+span{box-shadow:0 0 0 3px rgba(13,15,18,.12)}
.cv-tx{margin-top:clamp(16px,2vw,24px)}
.cv-b{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:clamp(28px,3vw,40px);flex-wrap:wrap}
.cv-cs{display:flex;flex-direction:column;gap:12px}
.cv-c{position:relative;display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.45;color:var(--mute);cursor:pointer}
.cv-c input{position:absolute;opacity:0;width:18px;height:18px;margin:0}
.cv-c i{flex:none;width:18px;height:18px;margin-top:1px;border-radius:6px;border:1px solid rgba(13,15,18,.25);background:#fff;transition:background .25s,border-color .25s}
.cv-c input:checked+i{background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.2 4.2L19 7'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--ink)}
.cv-c input:focus-visible+i{box-shadow:0 0 0 3px rgba(13,15,18,.12)}
.cv-c input.er+i{border-color:#C0392B}
.cv-c a{color:var(--ink);border-bottom:1px solid currentColor}
.cv-s{display:inline-flex;align-items:center;gap:18px;height:56px;padding:0 10px 0 26px;border:0;border-radius:var(--pill);background:var(--ink);color:#fff;font:inherit;font-size:15.5px;font-weight:500;cursor:pointer;transition:background .3s}
.cv-s:hover{background:#000}
.cv-s svg{width:38px;height:38px;padding:10px;border-radius:50%;background:#fff;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s var(--e)}
.cv-s:hover svg{transform:translateX(3px)}
.cv-s:disabled{opacity:.5;cursor:default}
.cv .ct-ok{margin-top:18px}
.cv-m{max-width:1120px;margin:clamp(20px,2vw,28px) auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(13,15,18,.1)}
.cv-m>*{display:flex;flex-direction:column;gap:6px;padding:22px 20px 0 0}
.cv-m small{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.cv-m b{font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-m a b{transition:opacity .25s}.cv-m a:hover b{opacity:.6}
@media (max-width:900px){.cv-g{grid-template-columns:1fr}.cv-m{grid-template-columns:1fr 1fr;row-gap:8px}.cv-b{flex-direction:column;align-items:stretch}.cv-s{justify-content:space-between}}
/* ===== CONTACT v4 ===== */
.cv2{padding-left:0;padding-right:0}
.cv-hd2{display:grid;grid-template-columns:1fr;gap:22px;margin-bottom:clamp(40px,4.5vw,64px)}
.cv-t{display:flex;align-items:flex-end;flex-wrap:nowrap;gap:0 .28em;font-size:clamp(40px,7.2vw,118px);letter-spacing:-.055em;line-height:.95;white-space:nowrap}
.cv-t .t1{font-weight:500}.cv-t .t2{font-weight:300;color:var(--mute2)}
.cv-bu{position:relative;display:inline-block;width:.62em;height:.84em;margin-left:.12em;transform:translateY(.04em)}
.cv-bu svg{position:relative;z-index:1;width:100%;height:100%;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cv-fi{stroke:#C99A3A;stroke-width:2.6;filter:drop-shadow(0 0 3px rgba(240,190,90,.9));animation:cvFil 6s ease-in-out infinite}
.cv-gl{position:absolute;left:50%;top:58%;width:1.3em;height:1.3em;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(255,206,120,.55),rgba(255,206,120,.18) 55%,transparent 75%);filter:blur(6px);animation:cvGlow 6s ease-in-out infinite}
@keyframes cvFil{0%,6%{opacity:.25}7%{opacity:1}9%{opacity:.35}11%,100%{opacity:1}}
@keyframes cvGlow{0%,6%{opacity:0}7%{opacity:.9}9%{opacity:.2}11%{opacity:1}55%{opacity:.75}100%{opacity:1}}
.cv-l{max-width:560px;text-align:left}
.cv-w{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:12px;align-items:stretch}
.cv2 .cv-f{max-width:none;margin:0;position:relative;isolation:isolate}
/* une étincelle de courant fait le tour de la carte */
@property --cva{syntax:'<angle>';initial-value:0deg;inherits:false}
.cv2 .cv-f::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--cva),transparent 0 76%,rgba(231,195,138,.0) 80%,rgba(231,195,138,.9) 88%,#fff 89.5%,transparent 91%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:cvSpin 7s linear infinite;pointer-events:none}
@keyframes cvSpin{to{--cva:360deg}}
.cv-full{grid-column:1/-1}
.cv-k{display:flex;flex-direction:column;padding:clamp(26px,2.6vw,40px);border-radius:var(--r3);background:#0E0F12;color:#fff}
.cv-kt{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-bottom:10px}
.cv-k>a,.cv-k>div{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.cv-k>div:last-child{border-bottom:0}
.cv-k .ic{flex:none;width:19px;height:19px;color:#D9B77E;stroke-width:1.4}
.cv-k span{display:flex;flex-direction:column;gap:3px;min-width:0}
.cv-k small{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.cv-k b{font-size:15px;font-weight:500;letter-spacing:-.01em;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-k a b{transition:opacity .25s}.cv-k a:hover b{opacity:.7}
.cv2 .cv-m{display:none}
@media (max-width:1100px){.cv-w{grid-template-columns:1fr}.cv-t{white-space:normal;flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){.cv2 .cv-f::before,.cv-fi,.cv-gl{animation:none}}
.cv-t{font-size:clamp(40px,9.3vw,152px)}
@media (min-width:901px){.cv-b{flex-wrap:nowrap}.cv-s{flex:none}}
/* contact : titre un peu plus petit, carte de gauche, arc électrique */
.cv-t{font-size:clamp(38px,6.6vw,108px)}
.cv-kt{color:#fff;font-size:13px;letter-spacing:.06em;margin-bottom:8px}
.cv-kl{font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.6);margin-bottom:14px;max-width:32ch}
.cv-k .ic{color:#fff;opacity:.9}
.cv2 .cv-f::before{display:none}
.cv-arc{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.cv-f>*:not(.cv-arc){position:relative;z-index:1}
.cv-arc rect{fill:none;stroke-linecap:round}
.cv-a1{stroke:rgba(231,195,138,.22);stroke-width:1}
.cv-a2{stroke:#FFE7B8;stroke-width:1.6;stroke-dasharray:70 930;filter:url(#cvArc) drop-shadow(0 0 4px rgba(255,214,140,.95)) drop-shadow(0 0 10px rgba(255,190,90,.6));animation:cvRun 5.5s linear infinite}
.cv-a3{stroke:#fff;stroke-width:1;stroke-dasharray:22 978;filter:url(#cvArc);animation:cvRun 5.5s linear infinite;opacity:.9}
@keyframes cvRun{from{stroke-dashoffset:0}to{stroke-dashoffset:-1000}}
@media (prefers-reduced-motion:reduce){.cv-a2,.cv-a3{animation:none;display:none}}
.cv-a1{stroke:rgba(13,15,18,.06)}
.cv-a2{stroke:#3D8BFF;stroke-width:1.8;stroke-dasharray:90 910;filter:url(#cvArc) drop-shadow(0 0 3px rgba(61,139,255,.95)) drop-shadow(0 0 9px rgba(61,139,255,.55))}
.cv-a3{stroke:#D6E8FF;stroke-width:1.1;stroke-dasharray:40 960;filter:url(#cvArc) drop-shadow(0 0 2px rgba(120,180,255,1))}
.lg-page .nv-m{background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
/* ===== PAGES D'EXPERTISE ===== */
.xh{padding:clamp(140px,13vw,190px) 0 0}
.xh-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:center}
.xh-t .ex2-k{justify-content:flex-start}
.xh-t .ex2-k::after{display:none}
.xh-t .sf-h{font-size:clamp(38px,4.6vw,76px)}
.xh-l{max-width:52ch;margin-top:22px;font-size:17px;line-height:1.7;color:var(--mute)}
.xh-b{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px}
.xh-p{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 22px}
.xh-p .ic{width:16px;height:16px}
.xh-z{margin-top:22px;font-size:13.5px;color:var(--mute)}
.xh-i{margin:0;border-radius:var(--r3);background:#E4E1DA;overflow:hidden;aspect-ratio:1/.9}
.xh-i img{width:100%;height:100%;object-fit:cover;transform:scale(1.05)}
.xp-p{padding-top:clamp(100px,10vw,160px)}
.xp-p .eg-g .ic{color:var(--ink)}
.sv{padding:clamp(80px,8vw,120px) 12px 0}
.sv-in{display:flex;flex-direction:column;gap:20px;padding:clamp(40px,5vw,72px);border-radius:var(--r3);background:#0E0F12;color:#fff}
.sv-in .ma-k{color:rgba(255,255,255,.55)}
.sv-in .ma-k::before{background:#E7C38A}
.sv-t{font-size:clamp(22px,2.4vw,36px);line-height:1.3;letter-spacing:-.03em;max-width:30ch}
@media (max-width:1100px){.xh-g{grid-template-columns:1fr}}
/* contact : titre dans un cadre noir pleine largeur */
.cvh{padding:12px 12px 0}
.cvh-f{position:relative;border-radius:var(--r3);background:#0E0F12;color:#fff;overflow:hidden;padding:clamp(130px,12vw,180px) clamp(28px,4vw,72px) clamp(48px,5vw,80px);isolation:isolate}
.cvh-f::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(40% 70% at 78% 40%,rgba(240,200,140,.10),transparent 70%)}
.cvh .cv-hd2{margin:0}
.cvh .cv-t .t2{color:rgba(255,255,255,.45)}
.cvh .cv-bu svg{stroke:#fff}
.cvh .cv-gl{background:radial-gradient(closest-side,rgba(255,206,120,.75),rgba(255,206,120,.22) 55%,transparent 75%)}
.cvh .cv-l{color:rgba(255,255,255,.6)}
.cv2{padding-top:12px}
/* contact : alignement du cadre sur les cartes, appel direct à droite */
.cvh-f{padding-left:0;padding-right:0}
.cvh-in{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;padding-inline:calc(var(--g) - 12px)}
.cvh-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;padding-bottom:6px}
.cvh-r small{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.cvh-r b{font-size:clamp(24px,2.4vw,38px);font-weight:400;letter-spacing:-.035em;color:#fff;font-variant-numeric:tabular-nums;transition:opacity .3s}
.cvh-r:hover b{opacity:.75}
.cvh-r span{font-size:13.5px;color:rgba(255,255,255,.5)}
/* carte « Nous contacter » en gris clair */
.cv-k{background:#E4E1DA;color:var(--ink)}
.cv-kt{color:var(--ink)}
.cv-kl{color:var(--mute)}
.cv-k>a,.cv-k>div{border-bottom-color:rgba(13,15,18,.08)}
.cv-k .ic{color:var(--ink);opacity:1}
.cv-k small{color:var(--mute)}
.cv-k b{color:var(--ink)}
/* bouton d'envoi épuré */
.cv-s{gap:12px;padding:0 26px;height:52px}
.cv-s svg{width:16px;height:16px;padding:0;border-radius:0;background:none;stroke:#fff;stroke-width:1.7}
.cv-s:hover svg{transform:translateX(4px)}
@media (max-width:900px){.cvh-in{grid-template-columns:1fr}.cvh-r{align-items:flex-start;text-align:left}}
/* contact : deux tons seulement (cadre noir + cartes crème), FAQ rapprochée */
.cv-k{background:#F4F3EF;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 30px 60px -40px rgba(40,32,20,.25)}
.cv2+.fq3{padding-top:clamp(72px,7vw,110px)}
/* FAQ en deux colonnes (contact) */
.fqc{padding:clamp(56px,5vw,80px) 0 clamp(80px,8vw,120px) !important}
.fqc-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:12px clamp(24px,4vw,72px);align-items:start}
.fqc-h{position:sticky;top:110px}
.fqc-h .sf-h{font-size:clamp(32px,3.2vw,52px)}
.fqc-p{margin-top:22px;font-size:14.5px;color:var(--mute)}
.fqc-p a{color:var(--ink);border-bottom:1px solid currentColor}
.fqc .fq3-l{max-width:none;margin:0}
.fqc .fx button{padding:clamp(20px,1.8vw,26px) 0;font-size:clamp(17px,1.35vw,20px)}
@media (max-width:900px){.fqc-g{grid-template-columns:1fr}.fqc-h{position:static}}
/* à propos : cadre collé en haut, sous le header flottant */
.qn-ap{padding-top:12px}
.qn-ap .qn-f{padding-top:72px;min-height:clamp(600px,52vw,740px)}
.qn-ap .qn-v img{aspect-ratio:auto;max-height:560px;width:auto;max-width:100%;margin-inline:auto;transform:none !important}
.qn-ap .qn-f{background:#0A0A0C}
/* à propos : l'histoire, texte qui s'allume au défilement */
.hs2{padding:clamp(110px,11vw,170px) 0 0}
.hs2 .sf-k{margin-bottom:clamp(24px,2.6vw,36px)}
.hs2-t{max-width:1180px;font-size:clamp(28px,3.3vw,54px);font-weight:400;line-height:1.18;letter-spacing:-.035em;color:var(--ink)}
.hs2-t .w8{color:rgba(13,15,18,.16);transition:color .5s var(--e)}
.hs2-t .w8.on{color:var(--ink)}
/* plus de doré dans les icônes : noir sur clair, blanc sur sombre */
.qn-p .ic{color:#fff}
.eg-g .ic,.lc-s .ic,.xp-p .eg-g .ic{color:var(--ink)}
.ct-l .ic{color:#fff}
/* à propos : récit en trois temps */
.hs2-t{max-width:1100px;font-size:clamp(30px,3.6vw,60px)}
.hs3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(56px,6vw,96px)}
.hs3-c{margin:0;display:flex;flex-direction:column;border-radius:var(--r3);background:#E4E1DA;padding:10px;overflow:hidden}
.hs3-m{display:block;aspect-ratio:4/4.4;border-radius:calc(var(--r3) - 8px);overflow:hidden}
.hs3-m img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--e)}
.hs3-c:hover .hs3-m img{transform:scale(1.04)}
.hs3-c figcaption{display:flex;flex-direction:column;gap:8px;padding:20px 14px 18px}
.hs3-c small{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.hs3-c b{font-size:clamp(18px,1.4vw,21px);font-weight:500;letter-spacing:-.025em}
.hs3-c figcaption span{font-size:14.5px;line-height:1.55;color:var(--mute)}
@media (max-width:900px){.hs3{grid-template-columns:1fr}}
/* ===== RÉALISATIONS v2 ===== */
.rzh-in{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center}
.rzh-t{font-size:clamp(38px,5.4vw,90px);white-space:normal;display:block}
.rzh-t span{display:block}
.rzh .cv-l{margin-top:22px}
.rzh-n{margin-top:26px;font-size:14px;color:rgba(255,255,255,.55)}
.rzh-n b{color:#fff;font-weight:500}
.rzh-s{position:relative;height:clamp(320px,30vw,440px)}
.rzh-s span{position:absolute;top:50%;left:50%;width:46%;aspect-ratio:3/4;border-radius:20px;overflow:hidden;box-shadow:0 40px 70px -30px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.06);transition:transform 1s var(--e)}
.rzh-s img{width:100%;height:100%;object-fit:cover}
.rzh-s span:nth-child(1){transform:translate(-112%,-46%) rotate(-7deg)}
.rzh-s span:nth-child(2){transform:translate(-50%,-54%);z-index:2;width:52%}
.rzh-s span:nth-child(3){transform:translate(12%,-44%) rotate(6deg)}
.rzh-s:hover span:nth-child(1){transform:translate(-120%,-46%) rotate(-9deg)}
.rzh-s:hover span:nth-child(3){transform:translate(20%,-44%) rotate(8deg)}
/* avant / après */
.abs{padding-top:clamp(90px,9vw,140px)}
.ab-g{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:12px;align-items:start}
.ab{margin:0;padding:10px;border-radius:var(--r3);background:#E4E1DA}
.ab-v{position:relative;border-radius:calc(var(--r3) - 8px);overflow:hidden;cursor:ew-resize;touch-action:pan-y;--p:50%;user-select:none;-webkit-user-select:none}
.ab-v img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ab-b{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.ab-l{position:absolute;top:16px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6);pointer-events:none}
.ab-l1{left:18px}.ab-l2{right:18px}
.ab-h{position:absolute;top:0;bottom:0;left:var(--p);width:2px;margin-left:-1px;background:rgba(255,255,255,.95);box-shadow:0 0 12px rgba(0,0,0,.35);outline:0}
.ab-h i{position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(12,14,18,.6);border:1px solid rgba(255,255,255,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ab-h i::before,.ab-h i::after{content:"";position:absolute;top:50%;width:7px;height:7px;border-top:1.5px solid #fff;border-left:1.5px solid #fff}
.ab-h i::before{left:11px;transform:translateY(-50%) rotate(-45deg)}
.ab-h i::after{right:11px;transform:translateY(-50%) rotate(135deg)}
.ab-h:focus-visible i{box-shadow:0 0 0 3px rgba(255,255,255,.4)}
.ab figcaption{display:flex;flex-direction:column;gap:5px;padding:16px 10px 8px}
.ab figcaption b{font-size:clamp(17px,1.3vw,20px);font-weight:500;letter-spacing:-.025em}
.ab figcaption span{font-size:14px;color:var(--mute)}
/* tuiles cliquables + visionneuse */
#rzG .rk{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:80;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:clamp(16px,3vw,48px);background:rgba(8,9,11,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity .4s var(--e)}
.lb.on{opacity:1;pointer-events:auto}
.lb-f{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;max-height:100%;min-height:0}
.lb-f img{max-width:100%;max-height:calc(100vh - 170px);border-radius:18px;object-fit:contain;transform:scale(.97);transition:transform .5s var(--e),opacity .3s}
.lb.on .lb-f img{transform:none}
.lb-f figcaption{display:flex;align-items:baseline;gap:14px;color:#fff;flex-wrap:wrap;justify-content:center}
.lb-f b{font-size:16px;font-weight:500}
.lb-f span{font-size:14px;color:rgba(255,255,255,.55)}
.lb-f small{font-size:12px;color:rgba(255,255,255,.4);font-variant-numeric:tabular-nums}
.lb-x,.lb-n{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(255,255,255,.04);color:#fff;cursor:pointer;transition:background .25s,border-color .25s}
.lb-x:hover,.lb-n:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}
.lb-x svg,.lb-n svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lb-x{position:absolute;top:clamp(16px,2vw,28px);right:clamp(16px,2vw,28px)}
@media (max-width:1100px){.rzh-in{grid-template-columns:1fr}.rzh-s{height:340px}.ab-g{grid-template-columns:1fr}}
@media (max-width:700px){.lb{grid-template-columns:1fr;padding:64px 12px 12px}.lb-n{position:absolute;bottom:20px}.lb-p{left:calc(50% - 60px)}.lb-s{right:calc(50% - 60px)}.lb-f img{max-height:calc(100vh - 200px)}}
.rzh-s span{width:40%}
.rzh-s span:nth-child(1){transform:translate(-118%,-46%) rotate(-7deg)}
.rzh-s span:nth-child(2){width:46%;transform:translate(-56%,-54%)}
.rzh-s span:nth-child(3){transform:translate(2%,-44%) rotate(6deg)}
.rzh-s:hover span:nth-child(1){transform:translate(-124%,-46%) rotate(-9deg)}
.rzh-s:hover span:nth-child(3){transform:translate(8%,-44%) rotate(8deg)}
/* avant/après dans la grille */
.rk-ab .rk-m{position:relative}
.rk-ab .ab-v{position:absolute;inset:0;display:block;border-radius:0}
.rk-ab .ab-b{display:block}
.rzp{padding-top:clamp(40px,4vw,64px)}
#rzG .rk-ab{cursor:default}
/* avant/après : bouton agrandir + vue agrandie */
.ab-z{position:absolute;right:12px;bottom:12px;z-index:3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);background:rgba(12,14,18,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:zoom-in;transition:background .25s,transform .35s var(--e)}
.ab-z:hover{background:rgba(12,14,18,.8);transform:scale(1.06)}
.ab-z svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.abx{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:clamp(16px,3vw,48px);background:rgba(8,9,11,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity .4s var(--e)}
.abx.on{opacity:1;pointer-events:auto}
.abx-f{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;height:100%;justify-content:center}
.abx-s{position:relative;max-width:100%;max-height:calc(100vh - 160px);height:calc(100vh - 160px);border-radius:18px;overflow:hidden}
.abx-s .ab-v{position:absolute;inset:0}
.abx-s .ab-z{display:none}
.abx figcaption{display:flex;gap:14px;align-items:baseline;color:#fff}
.abx figcaption b{font-size:16px;font-weight:500}
.abx figcaption span{font-size:14px;color:rgba(255,255,255,.55)}
/* ===== MÉGA MENU COMMUNES ===== */
.mcx{grid-template-columns:minmax(0,1fr) 340px}
.mc-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
.mc-g a{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 2px;border-bottom:1px solid rgba(13,15,18,.06);transition:color .25s}
.mc-g b{font-size:14.5px;font-weight:500;letter-spacing:-.015em;color:rgba(13,15,18,.72);transition:color .25s}
.mc-g em{font-style:normal;font-size:12px;color:var(--mute);font-variant-numeric:tabular-nums}
.mc-g a:hover b,.mc-g a.on b{color:var(--ink)}
.mc-p{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;color:var(--ink)}
.mc-m{position:relative;display:block;aspect-ratio:2688/1520;border-radius:16px;overflow:hidden;background:#07090C}
.mc-m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mc-m i{position:absolute;left:var(--x);top:var(--y);width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:rgba(255,255,255,.55);transition:transform .35s var(--e),background .3s,box-shadow .3s}
.mc-m i.h{background:#E7C38A}
.mc-m i.on{transform:scale(1.8);background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18),0 0 16px 4px rgba(255,230,190,.6)}
.mc-m i.h.on{background:#E7C38A}
.mc-pc{display:flex;flex-direction:column;gap:3px;padding:16px 6px 6px}
.mc-pc b{font-size:18px;font-weight:500;letter-spacing:-.025em}
.mc-pc em{font-style:normal;font-size:13px;color:var(--mute)}
.mcx .mx-t{justify-content:flex-start;text-align:left;margin-left:0}
/* méga menu communes v2 : épuré */
.mcx{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);max-width:980px;padding:10px 10px 10px 22px}
.mcx .mx-l{padding:20px 8px 16px 6px}
.mc-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.mc-g a{padding:7px 0;border:0}
.mc-g b{font-size:15px;font-weight:400;color:rgba(13,15,18,.62)}
.mc-g a:hover b,.mc-g a.on b{color:var(--ink);font-weight:500}
.mc-all{display:inline-block;margin-top:18px;font-size:12.5px;color:var(--mute);border-bottom:1px solid rgba(13,15,18,.2);padding-bottom:1px;transition:color .25s,border-color .25s}
.mc-all:hover{color:var(--ink);border-color:var(--ink)}
.mc-p{justify-content:flex-start}
.mc-m{aspect-ratio:2688/1600}
.mc-m img{transform:scale(1.04)}
.mc-pc{padding:14px 6px 4px}
.mc-pc b{font-size:17px}
#mc .mx-t{display:block;text-align:left;margin:0 0 12px}
#mc .mx-l{align-items:flex-start}
.mc-all{align-self:flex-start}
.mc-m i{width:7px;height:7px;margin:-3.5px 0 0 -3.5px;background:rgba(255,255,255,.7)}
.mc-m i.on{transform:scale(2.1);background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.25),0 0 20px 6px rgba(255,230,190,.75)}
/* méga menu communes v3 */
.mcx{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);max-width:1000px}
.mc-g{gap:2px 22px}
.mc-g a{display:flex;align-items:center;gap:12px;padding:8px 6px;border-radius:12px;transition:background .3s var(--e)}
.mc-g a .ic{flex:none;width:16px;height:16px;color:rgba(13,15,18,.45);stroke-width:1.5;transition:color .25s}
.mc-g a span{display:flex;flex-direction:column;gap:1px}
.mc-g b{font-size:14.5px;font-weight:500;color:var(--ink)}
.mc-g em{font-style:normal;font-size:11.5px;color:var(--mute);font-variant-numeric:tabular-nums}
.mc-g a:hover,.mc-g a.on{background:none}
.mc-g a:hover .ic,.mc-g a.on .ic{color:var(--ink)}
.mc-g a:not(.on):not(:hover) b{color:rgba(13,15,18,.7)}
.mc-p{height:100%}
.mc-m{position:relative;height:100%;min-height:330px;aspect-ratio:auto;border-radius:16px}
.mc-z{position:absolute;inset:0;transition:transform 1.1s var(--e)}
.mc-z img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none}
.mc-pc{position:absolute;left:18px;bottom:16px;z-index:2;display:flex;flex-direction:column;gap:3px;padding:0;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.7)}
.mc-pc b{font-size:19px;font-weight:500;letter-spacing:-.025em;color:#fff}
.mc-pc em{font-style:normal;font-size:12.5px;color:rgba(255,255,255,.65)}
.mc-go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:500;color:#fff;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:2px;align-self:flex-start}
.mc-go .ic{width:13px;height:13px;transition:transform .35s var(--e)}
.mc-p:hover .mc-go .ic{transform:translateX(3px)}
.mc-m::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(5,7,10,.65),rgba(5,7,10,0) 45%);pointer-events:none}
/* méga menu expertises : légende dans la tuile grise, tuile sur toute la hauteur */
.mx-p2{background:#E4E1DA;border-radius:18px;height:100%}
.mx-p2 .mx-pi{flex:1;min-height:200px;border-radius:0}
.mx-p2 .mx-pi img{object-fit:cover}
.mx-p2 .mx-pc{padding:4px 20px 20px}
.mc-g a{justify-content:flex-start}
#mm .mx-t{display:block;text-align:left;margin:0 0 12px}
.mc-z{transform-origin:0 0;transform:translate(0px,0px) scale(1);transition:transform 1.2s cubic-bezier(.22,.61,.36,1)}
.mx{align-items:stretch}
.mx-p2{align-self:stretch;height:auto;min-height:100%}
#mm .mx{grid-template-rows:1fr}
#mm .mx{grid-template-rows:1fr auto}
#mm .mx>.mx-l{grid-column:1;grid-row:1}
#mm .mx>.mx-all{grid-column:1;grid-row:2;margin:0 0 6px 8px;width:auto}
#mm .mx>.mx-p2{grid-column:2;grid-row:1/span 2}

/* ===== Pages communes v2 : texte local + panneau d'entrée de ville ===== */
.lc2{padding:clamp(88px,9vw,140px) 0 0}
.lc2-g{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,104px);align-items:center}
.lc2-t .sf-h{margin-bottom:0}
.lc2-a{margin:clamp(22px,2.4vw,32px) 0 0;font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:var(--ink);max-width:36em;text-wrap:pretty}
.lc2-p{margin:14px 0 0;font-size:15.5px;line-height:1.65;color:var(--mute);max-width:38em;text-wrap:pretty}
.lc2-d{display:grid;grid-template-columns:auto auto 1fr;gap:28px;margin:30px 0 0;padding:20px 0 0;border-top:1px solid var(--line2)}
.lc2-d div{display:flex;flex-direction:column;gap:5px;min-width:0}
.lc2-d dt{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute2)}
.lc2-d dd{margin:0;font-size:14.5px;color:var(--ink);line-height:1.45}
.lc2-f{margin-top:clamp(30px,3vw,42px)}
.lc2-f .ma-k{color:var(--mute);margin:0 0 10px}
.lc2-f ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line2)}
.lc2-f a{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line2);color:var(--ink);text-decoration:none}
.lc2-o{width:52px;height:52px;border-radius:12px;overflow:hidden;background:#E4E1DA}
.lc2-o img{width:100%;height:100%;object-fit:cover;transform:scale(1.18);transition:transform .6s var(--e)}
.lc2-f a span b{display:block;font-size:15px;font-weight:500}
.lc2-f a>span:nth-child(2){font-size:13.5px;color:var(--mute)}
.lc2-ar{width:16px;height:16px;color:var(--ink);opacity:.35;transition:transform .35s var(--e),opacity .35s}
.lc2-f a:hover .lc2-ar{opacity:1;transform:translateX(4px)}
.lc2-f a:hover .lc2-o img{transform:scale(1.28)}

.pn{margin:0;position:relative;border-radius:var(--r3);background:#E1DED2;overflow:hidden;container-type:inline-size;perspective:1200px}
.pn-s{position:relative;display:block;transform:scale(1.24) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-origin:52% 46%;transition:transform .9s var(--e);transform-style:preserve-3d}
.pn{aspect-ratio:1/1.02}
.pn-s img{display:block;width:100%;height:auto}
.pn-n{position:absolute;left:34.28%;top:21%;width:30.76%;height:11.33%;display:flex;align-items:center;justify-content:center;text-align:center;font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:var(--fs);line-height:1.04;letter-spacing:.005em;color:#141518;mix-blend-mode:multiply;opacity:0;filter:blur(4px);transition:opacity 1s .5s var(--e),filter 1s .5s var(--e)}
.pn.in .pn-n{opacity:.92;filter:blur(0)}
.pn-l{position:absolute;left:33.2%;top:19.9%;width:32.9%;height:13.4%;overflow:hidden;border-radius:3px;pointer-events:none}
.pn-l::after{content:"";position:absolute;inset:-20% auto -20% -60%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-18deg) translateX(-40%);opacity:0}
.pn.in .pn-l::after{animation:pnBalaye 7s 1.4s var(--e) infinite}
@keyframes pnBalaye{0%{transform:skewX(-18deg) translateX(-40%);opacity:0}4%{opacity:1}18%{transform:skewX(-18deg) translateX(420%);opacity:0}100%{transform:skewX(-18deg) translateX(420%);opacity:0}}
.pn-g{position:absolute;left:47.1%;top:56.6%;width:46%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,196,120,.42),rgba(255,196,120,0));mix-blend-mode:screen;pointer-events:none;animation:pnSouffle 4.5s ease-in-out infinite}
@keyframes pnSouffle{0%,100%{opacity:.55;scale:.92}50%{opacity:1;scale:1.06}}
@media (max-width:960px){.lc2-g{grid-template-columns:1fr}.pn{max-width:560px}}
@media (max-width:600px){.lc2-d{grid-template-columns:1fr 1fr}.lc2-d div:last-child{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){.pn-l::after,.pn-g{animation:none}}
.pg-c section.sf{padding-top:clamp(80px,8vw,120px);padding-bottom:clamp(56px,5.5vw,80px)}
.pg-c .vv{padding-top:clamp(72px,7vw,104px)}
.pg-c .fqc{padding-top:clamp(64px,6vw,96px)}
.lc2-ar{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:rotate(45deg)}
.lc2-f a:hover .lc2-ar{transform:translateX(4px) rotate(45deg)}
/* communes v2.1 : panneau sans tuile, posé sur le fond de la page */
.pn{background:none;border-radius:0;overflow:visible;mix-blend-mode:multiply;aspect-ratio:auto}
.pn-s{transform:scale(1.12) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-origin:50% 50%}
.lc2 .sf-h{font-size:clamp(34px,3.5vw,52px)}
.lc2-g{align-items:center}
.lc2-a{color:var(--ink2)}
.lc2-f{margin-top:clamp(34px,3.4vw,48px)}
.lc2-f ul{border-top:0;display:grid;gap:8px}
.lc2-f a{grid-template-columns:56px 1fr 36px;padding:8px 8px 8px 8px;border:0;border-radius:16px;background:rgba(255,255,255,.55);transition:background .35s var(--e)}
.lc2-f a:hover{background:#fff}
.lc2-o{width:56px;height:56px;border-radius:11px}
.lc2-f a span b{color:var(--ink);font-size:15px;font-weight:500;margin-bottom:2px}
.lc2-ar{width:15px;height:15px;opacity:.5}
.lc2-f a>svg{justify-self:center}

/* ===== Pages d'expertise v2 ===== */
.xs{padding:clamp(110px,11vw,170px) 0 0}
.xs-hd{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:end}
.xs-hd .sf-h{margin-bottom:0}
.xs-r p{font-size:16px;line-height:1.7;color:var(--mute);max-width:40em;text-wrap:pretty}
.xs-r p:first-child{color:var(--ink2);font-size:17px}
.xs-r p+p{margin-top:14px}
.xs-f.rv{opacity:1;transform:none;transition:none}
.xs-f{margin-top:clamp(20px,2.5vw,40px)}
.xs-f .ma-i{max-width:1240px;margin:0 auto;overflow:visible}
.xs-f .ma-i img{mix-blend-mode:multiply}
.xs-f .mp{left:var(--x)}
.xs-st{margin-top:clamp(16px,2vw,32px)}
.xs-st b{font-size:clamp(30px,3.4vw,52px)}
.xs-st span{max-width:30ch;line-height:1.5}
.xp2{padding-top:clamp(110px,11vw,170px)}
.xp2 .eg-g{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(36px,4vw,56px)}
.xp2 .eg-g div{padding:30px 28px 34px 0;border-bottom:1px solid rgba(13,15,18,.08)}
.xp2 .eg-g div:nth-child(3n){border-right:0;margin-right:0}
.xp2 .eg-g div:nth-child(n+4){border-bottom:0}
.xe{padding:clamp(100px,10vw,150px) 12px 0}
.xe-f{border-radius:var(--r3);background:#0E0F12;color:#fff;padding:clamp(56px,6vw,96px) 0}
.xe .ma-k{color:rgba(255,255,255,.55);margin-bottom:22px}
.xe .ma-k::before{background:#fff}
.xe .sf-h .t1{color:#fff}
.xe .sf-h .t2{color:rgba(255,255,255,.42)}
.xe-l{list-style:none;margin:clamp(40px,4.5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.5vw,40px);counter-reset:e}
.xe-l li{position:relative;padding-top:26px;border-top:1px solid rgba(255,255,255,.14)}
.xe-l li::before{content:"";position:absolute;left:0;top:-1px;width:0;height:1px;background:#fff;transition:width 1.4s var(--e)}
.xe-l li.in::before{width:100%}
.xe-l li:nth-child(2)::before{transition-delay:.25s}.xe-l li:nth-child(3)::before{transition-delay:.5s}.xe-l li:nth-child(4)::before{transition-delay:.75s}
.xe-n{display:block;font-size:13px;font-weight:500;color:rgba(255,255,255,.45);font-variant-numeric:tabular-nums;margin-bottom:18px}
.xe-l b{display:block;font-size:19px;font-weight:500;letter-spacing:-.02em;margin-bottom:10px}
.xe-l p{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.6)}
.xe-b{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(40px,4.5vw,64px)}
.pg-x .vv{padding-top:clamp(72px,7vw,110px)}
.pg-x .fqc{padding-top:clamp(64px,6vw,100px)}
.xo-s{padding:clamp(72px,7vw,110px) 0 0}
.xo-s .ma-k{color:var(--mute);margin-bottom:18px}
.xo-g{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.xo{display:flex;flex-direction:column;gap:12px;padding:10px 10px 14px;border-radius:var(--r2);background:rgba(255,255,255,.5);color:var(--ink);text-decoration:none;position:relative;transition:background .35s var(--e)}
.xo:hover{background:#fff}
.xo-m{display:block;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#E4E1DA}
.xo-m img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--e)}
.xo:hover .xo-m img{transform:scale(1.06)}
.xo b{font-size:14px;font-weight:500;padding-right:22px;line-height:1.35}
.xo-a{position:absolute;right:12px;bottom:16px;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:rotate(45deg);opacity:.45;transition:opacity .3s,transform .3s var(--e)}
.xo:hover .xo-a{opacity:1;transform:translateX(3px) rotate(45deg)}
@media (max-width:1100px){.xo-g{grid-template-columns:repeat(3,minmax(0,1fr))}.xe-l{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.xs-hd{grid-template-columns:1fr}.xp2 .eg-g{grid-template-columns:1fr 1fr}.xp2 .eg-g div{border-right:0;margin-right:0}.xp2 .eg-g div:nth-child(n+4){border-bottom:1px solid rgba(13,15,18,.08)}}
@media (max-width:600px){.xp2 .eg-g,.xe-l{grid-template-columns:1fr}.xo-g{grid-template-columns:1fr 1fr}.xs-f .mp{display:none}}
@media (max-width:900px){.xs-f .ma-i{overflow:hidden}.xs-f .ma-i img{width:100%;max-width:100%;margin:0;transform:none}.xs{overflow-x:clip}}
.xs-f .ma-i img{aspect-ratio:auto}

/* ===== Expertises v3 : carte sombre, étapes, conseils, explorer ===== */
.pg-x .xs{padding-top:clamp(120px,12vw,180px)}
.xk{padding:12px 12px 0}
.xk-f{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,5vw,88px);align-items:center;border-radius:var(--r3);background:#0E0F12;color:#fff;padding:clamp(124px,11vw,160px) clamp(24px,4.5vw,80px) clamp(40px,4.5vw,72px);overflow:hidden;isolation:isolate}
.xk-f::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(38% 60% at 76% 46%,rgba(240,200,140,.12),transparent 70%)}
.xk-k{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:rgba(255,255,255,.5);margin-bottom:26px}
.xk-k::before{content:"";width:28px;height:1px;background:currentColor}
.xk-h{font-size:clamp(40px,4.6vw,72px);letter-spacing:-.05em;line-height:1.02}
.xk-h span{display:block}
.xk-h .t1{font-weight:500}
.xk-h .t2{font-weight:300;color:rgba(255,255,255,.45)}
.xk-l{margin-top:26px;max-width:46ch;font-size:17px;line-height:1.65;color:rgba(255,255,255,.66);text-wrap:pretty}
.xk-b{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.xk-b .ic{width:16px;height:16px;margin-right:8px}
.xk-r{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:clamp(44px,5vw,72px) 0 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}
.xk-r div{display:flex;flex-direction:column;gap:8px;min-width:0}
.xk-r dt{font-size:clamp(17px,1.5vw,22px);font-weight:500;letter-spacing:-.025em;color:#fff}
.xk-r dd{margin:0;font-size:13px;line-height:1.5;color:rgba(255,255,255,.5)}
.xk-i{margin:0;border-radius:var(--r2);background:#E4E1DA;overflow:hidden;aspect-ratio:1/1}
.xk-i img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.xe2{padding:clamp(120px,12vw,180px) 0 0}
.xe2-hd .sf-h{margin-bottom:0}
.xe2-l{list-style:none;margin:clamp(48px,5vw,80px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.6vw,44px);position:relative}
.xe2-l::before,.xe2-l::after{content:"";position:absolute;left:24px;right:calc(25% - 24px);top:24px;height:1px;background:var(--line2)}
.xe2-l::after{background:var(--ink);right:auto;width:0;transition:width 2.2s var(--e) .2s}
.xe2-l.in::after{width:calc(75% - 0px)}
.xe2-l li{position:relative;z-index:1;opacity:1;transform:none}
.xe-d{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--bg);border:1px solid var(--line2);margin-bottom:28px;transition:background .5s var(--e),border-color .5s,color .5s}
.xe-d .ic{width:18px;height:18px;color:var(--ink);transition:color .5s}
.xe2-l.in li .xe-d{background:var(--ink);border-color:var(--ink)}
.xe2-l.in li .xe-d .ic{color:#fff}
.xe2-l.in li:nth-child(2) .xe-d,.xe2-l.in li:nth-child(2) .xe-d .ic{transition-delay:.75s}
.xe2-l.in li:nth-child(3) .xe-d,.xe2-l.in li:nth-child(3) .xe-d .ic{transition-delay:1.4s}
.xe2-l.in li:nth-child(4) .xe-d,.xe2-l.in li:nth-child(4) .xe-d .ic{transition-delay:2.1s}
.xe2-l small{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute2);margin-bottom:10px}
.xe2-l b{display:block;font-size:19px;font-weight:500;letter-spacing:-.025em;margin-bottom:10px}
.xe2-l p{font-size:14.5px;line-height:1.65;color:var(--mute);max-width:28ch}
.xp2{padding-top:clamp(120px,12vw,180px)}
.xp2 .eg-g{margin-top:clamp(48px,5vw,72px)}
.xp2 .eg-g div{padding:34px 32px 40px 0}
.xp2 .eg-g div:nth-child(n+4){padding-top:40px}
.xp2 .eg-g b{font-size:18px}
.xp2 .eg-g .ic{margin-bottom:8px}
.pg-x .rz4{padding-top:clamp(120px,12vw,180px)}
.xc{padding:clamp(100px,10vw,150px) 0 0}
.xc .sf-k{margin-bottom:22px}
.xc-c{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:center;padding:14px clamp(14px,3vw,48px) 14px 14px;border-radius:var(--r3);background:rgba(255,255,255,.55);color:var(--ink);text-decoration:none;transition:background .4s var(--e)}
.xc-c+.xc-c{margin-top:12px}
.xc-c:hover{background:#fff}
.xc-m{display:block;border-radius:var(--r2);overflow:hidden;background:#fff;aspect-ratio:3/2}
.xc-m img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .8s var(--e)}
.xc-c:hover .xc-m img{transform:scale(1.04)}
.xc-t{display:flex;flex-direction:column;gap:14px;padding:12px 0}
.xc-t small{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute2)}
.xc-t b{font-size:clamp(24px,2.4vw,36px);font-weight:500;letter-spacing:-.04em;line-height:1.1}
.xc-t>span{font-size:15px;line-height:1.65;color:var(--mute);max-width:46ch}
.xc-t em{display:inline-flex;align-items:center;gap:8px;font-style:normal;font-size:14px;font-weight:500;margin-top:6px}
.xc-t em svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:rotate(45deg);transition:transform .35s var(--e)}
.xc-c:hover .xc-t em svg{transform:translateX(4px) rotate(45deg)}
.xc-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.xc-p{grid-template-columns:1fr;padding:12px 12px 22px;align-items:start;gap:18px}
.xc-p+.xc-p{margin-top:0}
.xc-p .xc-t{padding:0 10px}
.xc-p .xc-t b{font-size:clamp(21px,1.8vw,26px)}
.xc-p .xc-t>span{font-size:14px}
.xo-s{padding:clamp(120px,12vw,180px) 0 0}
.xo-hd .sf-h{margin-bottom:0}
.xo-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(40px,4.5vw,64px)}
.xo{flex-direction:row;align-items:center;gap:18px;padding:10px 46px 10px 10px}
.xo-m{flex:none;width:84px;height:84px;aspect-ratio:auto}
.xo-t{display:flex;flex-direction:column;gap:4px;min-width:0}
.xo-t b{font-size:16px;font-weight:500;letter-spacing:-.02em;padding:0}
.xo-t span{font-size:13.5px;color:var(--mute);line-height:1.45}
.xo-a{right:20px;bottom:auto;top:50%;margin-top:-7px}
.xo-c{margin-top:clamp(56px,6vw,88px);padding-top:clamp(32px,3.5vw,48px);border-top:1px solid var(--line2)}
.xo-c .ma-k{color:var(--mute);margin-bottom:20px}
.xo-cl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px}
.xo-cl a{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.xo-cl .ic{width:15px;height:15px;flex:none;color:var(--ink);opacity:.5;transition:opacity .3s}
.xo-cl b{font-size:15px;font-weight:400;color:var(--ink2);flex:1;transition:color .3s}
.xo-cl em{font-style:normal;font-size:12px;color:var(--mute2);font-variant-numeric:tabular-nums}
.xo-cl a:hover b{color:var(--ink);font-weight:500}
.xo-cl a:hover .ic{opacity:1}
.pg-x .cf2{margin-top:clamp(100px,10vw,150px)}
/* article */
.pg-ar .ar-h{padding-top:clamp(150px,14vw,200px);max-width:980px}
.ar-h .sf-k a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.ar-h .sf-h{font-size:clamp(40px,5vw,76px);margin-bottom:0}
.ar-l{margin-top:28px;max-width:56ch;font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--ink2);text-wrap:pretty}
.ar-a{display:flex;align-items:center;gap:14px;margin-top:32px}
.ar-a img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.ar-a span{display:flex;flex-direction:column;font-size:13.5px;color:var(--mute)}
.ar-a b{font-size:14.5px;font-weight:500;color:var(--ink)}
.ar-i{margin:clamp(32px,4vw,56px) auto 0;max-width:1240px;padding-inline:var(--g)}
.ar-i img{width:100%;height:auto;display:block;mix-blend-mode:multiply}
.ar-g{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(40px,7vw,120px);align-items:start;margin-top:clamp(40px,4vw,64px)}
.ar-c{max-width:680px}
.ar-c h2{font-size:clamp(24px,2.2vw,32px);font-weight:500;letter-spacing:-.035em;line-height:1.15;margin:56px 0 16px}
.ar-c h2:first-child{margin-top:0}
.ar-c p{font-size:17px;line-height:1.75;color:var(--ink2);margin:0 0 18px;text-wrap:pretty}
.ar-c ul{list-style:none;margin:6px 0 22px;padding:0;border-top:1px solid var(--line2)}
.ar-c li{position:relative;padding:14px 0 14px 28px;border-bottom:1px solid var(--line2);font-size:16px;line-height:1.55;color:var(--ink2)}
.ar-c li::before{content:"";position:absolute;left:4px;top:23px;width:8px;height:1px;background:var(--ink)}
.ar-c .ar-n{margin:30px 0;padding:26px 30px;border-radius:var(--r2);background:#0E0F12;color:rgba(255,255,255,.82);font-size:16.5px}
.ar-s{position:sticky;top:110px;display:flex;flex-direction:column;gap:12px}
.ar-r{padding:24px 24px 14px;border-radius:var(--r2);background:rgba(255,255,255,.6)}
.ar-r .ma-k{color:var(--mute);margin-bottom:10px}
.ar-r ul{list-style:none;margin:0;padding:0}
.ar-r li{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:14.5px;line-height:1.5}
.ar-r li:first-child{border-top:0}
.ar-r .ic{width:16px;height:16px;flex:none;margin-top:2px;color:var(--ink)}
.ar-x{position:relative;display:flex;align-items:center;gap:14px;padding:10px 44px 10px 10px;border-radius:var(--r2);background:rgba(255,255,255,.6);color:var(--ink);text-decoration:none;transition:background .35s}
.ar-x:hover{background:#fff}
.ar-x .xo-m{width:60px;height:60px}
.ar-x small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute2);margin-bottom:3px}
.ar-x b{font-size:15px;font-weight:500}
.ar-x .xo-a{right:18px}
.ar-q{display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:var(--r2);background:#0E0F12;color:#fff}
.ar-q p{font-size:15px;line-height:1.5;color:rgba(255,255,255,.75)}
.ar-q .hb-k{background:#fff;color:var(--ink)}
.ar-q .ic{width:16px;height:16px;margin-right:8px}
.xc-o{padding-top:clamp(120px,12vw,170px)}
.xc-ix{padding-top:clamp(48px,5vw,72px)}
.xc-ix .xc-g{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){.xo-g{grid-template-columns:1fr 1fr}.xo-cl{grid-template-columns:repeat(3,minmax(0,1fr))}.xc-ix .xc-g{grid-template-columns:1fr 1fr}}
@media (max-width:960px){.xk-f{grid-template-columns:1fr;padding-top:120px}.xk-i{max-width:520px}.xe2-l{grid-template-columns:1fr 1fr;row-gap:48px}.xe2-l::before,.xe2-l::after{display:none}.ar-g{grid-template-columns:1fr}.ar-s{position:static}.xc-c{grid-template-columns:1fr;padding:12px 12px 22px}}
@media (max-width:600px){.xk-r{grid-template-columns:1fr;gap:16px}.xe2-l{grid-template-columns:1fr}.xo-g,.xc-g,.xc-ix .xc-g{grid-template-columns:1fr}.xo-cl{grid-template-columns:1fr 1fr;gap:0 18px}.xo-cl em{display:none}}
.xe2-l::after{right:calc(25% - 24px);width:auto;transform:scaleX(0);transform-origin:0 50%;transition:transform 2.2s var(--e) .2s}
.xe2-l.in::after{width:auto;transform:scaleX(1)}
.xk-r dt{font-size:clamp(16px,1.35vw,20px)}
.xc-o:not(.xc-ix) .xc-g{grid-template-columns:repeat(4,minmax(0,1fr))}
.xc-o:not(.xc-ix) .xc-p .xc-t>span{display:none}
@media (max-width:1100px){.xc-o:not(.xc-ix) .xc-g{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.xc-o:not(.xc-ix) .xc-g{grid-template-columns:1fr}}

/* ===== Expertises v3.1 : héro compact, conseils sans flash, communes en carte ===== */
.xk-f{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);padding:clamp(112px,9vw,132px) clamp(24px,4.5vw,80px) clamp(36px,3.5vw,56px);gap:clamp(24px,4vw,64px)}
.xk-f::before{background:radial-gradient(34% 62% at 74% 56%,rgba(240,200,140,.16),transparent 70%)}
.xk-h{font-size:clamp(38px,4.2vw,64px)}
.xk-l{margin-top:22px;font-size:16.5px;max-width:44ch}
.xk-b{margin-top:30px}
.xk-i{position:relative;margin:0;background:none;border-radius:0;overflow:visible;aspect-ratio:auto;display:flex;justify-content:center;align-items:center}
.xk-i img{position:relative;width:auto;height:auto;max-width:100%;max-height:clamp(300px,30vw,430px);object-fit:contain;transform:none;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
.xk-g{position:absolute;left:50%;top:55%;width:70%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,214,160,.16),transparent 70%);pointer-events:none}
.xs-rp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0 0;padding-top:20px;border-top:1px solid var(--line2)}
.xs-rp div{display:flex;flex-direction:column;gap:6px;min-width:0}
.xs-rp dt{font-size:15.5px;font-weight:500;letter-spacing:-.02em;color:var(--ink)}
.xs-rp dd{margin:0;font-size:13px;line-height:1.5;color:var(--mute)}
.xs-r p:first-child{margin-top:0}
/* cartes conseil : fond constant, l'image se fond dans la carte */
.xc-c,.xc-c:hover{background:#F4F3EF}
.xc-c{transition:box-shadow .45s var(--e),transform .45s var(--e)}
.xc-c:hover{box-shadow:0 24px 48px -30px rgba(13,15,18,.28);transform:translateY(-2px)}
.xc-m{background:none}
/* communes : carte + liste */
.xo-c{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center;border-top:0;padding-top:0}
.xo-cm{position:relative;border-radius:var(--r3);overflow:hidden;background:#07090C;aspect-ratio:2688/1720}
.xo-cm img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.xo-cm i{position:absolute;left:var(--x);top:var(--y);width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:rgba(255,255,255,.75);transition:transform .35s var(--e),background .3s,box-shadow .3s}
.xo-cm i.h{background:#E7C38A;box-shadow:0 0 0 4px rgba(231,195,138,.18)}
.xo-cm i.on{transform:scale(2);background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.22),0 0 20px 6px rgba(255,230,190,.7)}
.xo-cb{position:absolute;left:38%;top:68%;transform:translate(14px,-50%);display:flex;flex-direction:column;font-size:13px;font-weight:500;color:#fff;line-height:1.25;pointer-events:none}
.xo-cb small{font-size:11px;font-weight:400;color:rgba(255,255,255,.6)}
.xo-cd .ma-k{color:var(--mute);margin-bottom:12px}
.xo-cp{font-size:15px;line-height:1.6;color:var(--mute);max-width:40ch;margin-bottom:18px}
.xo-cd .xo-cl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.xo-cd .xo-cl a{padding:12px 0}
.xo-cl a.on b{color:var(--ink);font-weight:500}
.xo-cl a.on .ic{opacity:1}
@media (max-width:960px){.xk-f{grid-template-columns:1fr}.xk-i{order:-1}.xk-i img{max-height:280px}.xo-c{grid-template-columns:1fr}.xs-rp{grid-template-columns:1fr}}
.xo-cm{aspect-ratio:2688/1520}

/* ===== v3.2 : carte noire resserrée, articles en carte noire, communes en carte ===== */
.xk-f{padding-left:max(clamp(24px,4.5vw,80px),calc((100% - 1180px) / 2));padding-right:max(clamp(24px,4.5vw,80px),calc((100% - 1180px) / 2));grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3vw,48px)}
.xk-i img{max-height:clamp(320px,32vw,440px)}
.xk-g{width:90%}
/* articles et index des conseils */
.xk-ar .xk-f{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);padding-bottom:clamp(28px,3vw,44px)}
.xk-ar .xk-k a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.xk-ar .xk-h{font-size:clamp(36px,3.8vw,58px)}
.xk-p.rv{opacity:1;transform:none}
.xk-p{margin:0;position:relative}
.xk-p img{display:block;width:100%;height:auto;-webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 58%,transparent 100%)}
.xk-ar .ar-a{margin-top:30px}
.xk-ar .ar-a span{color:rgba(255,255,255,.5)}
.xk-ar .ar-a b{color:#fff}
.pg-ar .ar-g{margin-top:clamp(72px,7vw,110px)}
.xc-m{background:#0A0B0C}
.xc-m img{mix-blend-mode:normal;object-fit:cover}
/* communes : carte sombre, liste à gauche, carte du golfe à droite */
.xz{padding:clamp(56px,6vw,88px) 12px 0}
.xz-f{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:center;border-radius:var(--r3);background:#070A0F;color:#fff;padding:clamp(28px,3.5vw,48px) clamp(28px,3.5vw,48px) clamp(28px,3.5vw,48px) max(clamp(28px,4vw,64px),calc((100% - 1180px) / 2))}
.xz-k{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px}
.xz-k::before{content:"";width:6px;height:6px;border-radius:50%;background:#E7C38A}
.xz-h{font-size:clamp(24px,2.3vw,34px);letter-spacing:-.035em;line-height:1.12;margin-bottom:clamp(22px,2.4vw,32px)}
.xz-h span{display:block}
.xz-h .t1{font-weight:500}
.xz-h .t2{font-weight:300;color:rgba(255,255,255,.45)}
.xz-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.xz-l a{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07);color:#fff;text-decoration:none}
.xz-l .ic{width:14px;height:14px;flex:none;color:#fff;opacity:.4;transition:opacity .3s}
.xz-l b{flex:1;font-size:14.5px;font-weight:400;color:rgba(255,255,255,.72);transition:color .3s}
.xz-l em{font-style:normal;font-size:11.5px;color:rgba(255,255,255,.35);font-variant-numeric:tabular-nums}
.xz-l a:hover b,.xz-l a.on b{color:#fff}
.xz-l a:hover .ic,.xz-l a.on .ic{opacity:1}
.xz-m{position:relative;border-radius:var(--r2);overflow:hidden;aspect-ratio:2688/1520;max-height:380px;justify-self:end;width:100%}
.xz-m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.xz-m i{position:absolute;left:var(--x);top:var(--y);width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:rgba(255,255,255,.75);transition:transform .35s var(--e),background .3s,box-shadow .3s}
.xz-m i.h{background:#E7C38A;box-shadow:0 0 0 4px rgba(231,195,138,.2)}
.xz-m i.on{transform:scale(2.1);background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.22),0 0 20px 6px rgba(255,230,190,.7)}
.xz-b{position:absolute;left:38%;top:68%;transform:translate(12px,-50%);display:flex;flex-direction:column;font-size:12.5px;font-weight:500;color:#fff;line-height:1.25;pointer-events:none}
.xz-b small{font-size:10.5px;font-weight:400;color:rgba(255,255,255,.6)}
@media (max-width:960px){.xz-f{grid-template-columns:1fr;padding:28px}.xz-m{order:-1;max-height:none}.xk-ar .xk-f{grid-template-columns:1fr}.xk-p{order:-1;max-width:560px}}
@media (max-width:600px){.xz-l{grid-template-columns:1fr 1fr;gap:0 16px}.xz-l em{display:none}}
@media (max-width:960px){.xk-f,.xk-ar .xk-f{grid-template-columns:1fr;padding:112px 24px 32px}.xk-i,.xk-p{order:-1}.xk-i img{max-height:260px}}
/* v3.3 : en-tête d'article sans cadre visible, communes sans coupure, espacements */
.xk-ar .xk-f{background:#090B0A}
.xk-ar .xk-f::before{display:none}
.xk-p img{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 62%,transparent 100%)}
.xz-f{padding:clamp(32px,3.5vw,52px) max(clamp(28px,4vw,64px),calc((100% - 1180px) / 2));grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.xz-m{max-height:none;max-width:620px}
.pg-x .rz4{padding-bottom:0}
.pg-x .vv{padding-top:clamp(72px,7vw,104px);padding-bottom:clamp(40px,4vw,64px)}
.pg-x .xc{padding-top:clamp(32px,3.5vw,56px)}
/* camion studio et caisse à outils : bonnes proportions, bords fondus dans le noir */
.qn-ap .qn-v img{aspect-ratio:1344/752 !important;transform:none !important;-webkit-mask-image:radial-gradient(ellipse 62% 64% at 50% 50%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 62% 64% at 50% 50%,#000 60%,transparent 100%);-webkit-mask-composite:source-over;mask-composite:add}
.qn-ap .qn-v img{aspect-ratio:1168/880 !important}
.qn-ap .qn-v img{-webkit-mask-image:radial-gradient(ellipse 54% 56% at 50% 50%,#000 52%,transparent 100%);mask-image:radial-gradient(ellipse 54% 56% at 50% 50%,#000 52%,transparent 100%)}

/* v3.4 : cartes conseil claires sur les expertises, carte des communes fondue et plus grande */
.xc-l.rv{opacity:1;transform:none;transition:box-shadow .45s var(--e),transform .45s var(--e)}
.xc-l .xc-m{background:none}
.xc-l .xc-m img{mix-blend-mode:multiply;object-fit:contain}
.xo-s .xz{padding-top:clamp(40px,4.5vw,64px)}
.xo-s .xz.rv{opacity:1;transform:none}
.xo-s .xo-g{margin-top:12px}
.xz-f{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);padding-top:clamp(24px,3vw,40px);padding-bottom:clamp(24px,3vw,40px);overflow:hidden}
.xz-m{border-radius:0;overflow:visible;max-width:none;justify-self:stretch;margin-right:calc(-1 * clamp(0px,2vw,40px));-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 64%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 64%,transparent 100%)}
@media (max-width:960px){.xz-m{margin-right:0}}
/* v3.5 : communes pleine hauteur, titre des savoir-faire, conseils sur fond grisé, objet du contact */
.xo-s .xz{padding-top:0}
.xz-f{padding-top:0;padding-bottom:0;min-height:clamp(380px,32vw,480px)}
.xz-t{padding:clamp(32px,3.5vw,52px) 0}
.xz-m{align-self:stretch;aspect-ratio:auto;height:100%;margin:0 calc(-1 * max(clamp(28px,4vw,64px),calc((100vw - 1180px) / 2))) 0 0}
.xz-m img{object-fit:cover;object-position:40% 50%}
.xz-m{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%);mask-image:linear-gradient(90deg,transparent 0,#000 22%)}
.xo-w{padding-top:clamp(96px,9vw,140px)}
.xo-w .xo-g{margin-top:clamp(40px,4.5vw,64px)}
.xc-l .xc-m{background:#E4E1DA}
.cv-k{position:relative}
.cv-ob{margin:auto 0 0;padding-top:18px;display:flex;justify-content:center}
.cv-ob img{width:min(100%,260px);height:auto;mix-blend-mode:multiply}
.cv-k>.cv-ob{border:0;padding-bottom:0}
@media (max-width:960px){.xz-m{margin:0 -28px;height:auto;aspect-ratio:2688/1520;-webkit-mask-image:linear-gradient(180deg,#000 75%,transparent);mask-image:linear-gradient(180deg,#000 75%,transparent)}.xz-t{padding:0 0 8px}}
.xz-m{position:relative;margin:0;height:auto;-webkit-mask-image:none;mask-image:none;overflow:visible}
.xz-z{position:absolute;top:0;bottom:0;right:calc(-1 * max(clamp(28px,4vw,64px),calc((100vw - 1180px) / 2)));aspect-ratio:2688/1520;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%);mask-image:linear-gradient(90deg,transparent 0,#000 24%)}
.xz-z img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.xz-z i{position:absolute;left:var(--x);top:var(--y);width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:rgba(255,255,255,.75);transition:transform .35s var(--e),background .3s,box-shadow .3s}
.xz-z i.h{background:#E7C38A;box-shadow:0 0 0 4px rgba(231,195,138,.2)}
.xz-z i.on{transform:scale(2.1);background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.22),0 0 20px 6px rgba(255,230,190,.7)}
@media (max-width:960px){.xz-m{aspect-ratio:2688/1520;margin:0 -28px}.xz-z{position:absolute;inset:0;right:0;-webkit-mask-image:linear-gradient(180deg,#000 75%,transparent);mask-image:linear-gradient(180deg,#000 75%,transparent)}}
.cv-k>header.cv-kh{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:0 0 18px;border-bottom:1px solid var(--line2)}
.cv-kh .cv-kl{margin:0}
.cv-kh img{width:clamp(96px,8vw,124px);height:auto;mix-blend-mode:multiply;margin:-6px -8px -6px 0}
/* objets d'expertise rendus sur fond noir : contours fondus dans la carte */
.xk-i img{filter:none;max-height:clamp(340px,34vw,470px);-webkit-mask-image:radial-gradient(closest-side,#000 70%,transparent 100%);mask-image:radial-gradient(closest-side,#000 70%,transparent 100%)}
.xk-g{opacity:.7}
.xk .xk-f::before,.xk-g{display:none}
.xk .xk-f{background:#0E0F11}
.xk-i img{-webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent 98%);mask-image:radial-gradient(closest-side,#000 62%,transparent 98%)}
.xk-i img{-webkit-mask-image:radial-gradient(closest-side,#000 50%,transparent 92%);mask-image:radial-gradient(closest-side,#000 50%,transparent 92%)}
.xk-i img{-webkit-mask-image:radial-gradient(closest-side,#000 66%,transparent 100%);mask-image:radial-gradient(closest-side,#000 66%,transparent 100%);max-height:clamp(320px,31vw,430px)}
.xk-i img{-webkit-mask-image:radial-gradient(closest-side,#000 82%,transparent 100%);mask-image:radial-gradient(closest-side,#000 82%,transparent 100%)}

/* ===== En-tête et menu mobile v2 ===== */
.nv-ph{display:none}
.nv-bg{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);cursor:pointer;place-items:center;padding:0;-webkit-tap-highlight-color:transparent}
.nv-bg i,.mo-x i{position:absolute;left:50%;top:50%;width:16px;height:1.5px;margin-left:-8px;border-radius:2px;background:#fff;transition:transform .45s var(--e),top .45s var(--e)}
.nv-bg i:first-child{transform:translateY(-3.5px)}
.nv-bg i:last-child{transform:translateY(3.5px)}
@media (max-width:1180px){
  .nv-in{height:58px}
  .nv-r{gap:8px}
  .nv-ph{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff}
  .nv-ph .ic{width:17px;height:17px}
  .nv-tel,.nv-wa{display:none}
}
@media (max-width:700px){
  .nv{padding:calc(8px + env(safe-area-inset-top,0px)) 10px 0}
  .nv-in{height:56px;padding:0 6px 0 16px;border-radius:20px}
  .nv-cta{display:none}
  .nv-lg .ic-lg{width:20px;height:22px}
  .nv-lg b{font-size:15px;letter-spacing:.2em}
  .nv-lg small{font-size:8.5px}
}
/* menu plein écran */
.mo{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;padding:0;background:#0B0C0E;color:#fff;opacity:0;visibility:hidden;transition:opacity .35s var(--e),visibility .35s}
.mo.on{opacity:1;visibility:visible}
.mo-h{flex:none;display:flex;align-items:center;justify-content:space-between;height:auto;padding:calc(8px + env(safe-area-inset-top,0px)) 16px 0 26px;min-height:64px}
.mo-x{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);cursor:pointer;padding:0}
.mo-x i:first-child{transform:rotate(45deg)}
.mo-x i:last-child{transform:rotate(-45deg)}
.mo-n{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:18px 26px 24px}
.mo-a{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 0;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:none;color:#fff;font:inherit;font-size:26px;font-weight:500;letter-spacing:-.035em;line-height:1.15;text-align:left;cursor:pointer;opacity:0;transform:translateY(10px);transition:opacity .5s var(--e),transform .6s var(--e)}
.mo.on .mo-a{opacity:1;transform:none}
.mo.on .mo-n>:nth-child(1) .mo-a,.mo.on .mo-n>.mo-a:nth-child(1){transition-delay:.06s}
.mo.on .mo-n>:nth-child(2) .mo-a{transition-delay:.1s}
.mo.on .mo-n>.mo-a:nth-child(3){transition-delay:.14s}
.mo.on .mo-n>.mo-a:nth-child(4){transition-delay:.18s}
.mo.on .mo-n>.mo-a:nth-child(5){transition-delay:.22s}
.mo.on .mo-n>.mo-a:nth-child(6){transition-delay:.26s}
.mo-g .mo-a{border-bottom:0}
.mo-g{border-bottom:1px solid rgba(255,255,255,.08)}
.mo-pl{position:relative;width:14px;height:14px;flex:none;opacity:.6}
.mo-pl::before,.mo-pl::after{content:"";position:absolute;left:0;top:50%;width:14px;height:1.5px;margin-top:-.75px;background:#fff;border-radius:2px;transition:transform .4s var(--e)}
.mo-pl::after{transform:rotate(90deg)}
.mo-g.on .mo-pl::after{transform:rotate(0)}
.mo-s{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--e)}
.mo-g.on .mo-s{grid-template-rows:1fr}
.mo-si{overflow:hidden}
.mo-xs{display:grid;gap:4px;padding:2px 0 18px}
.mo-xs a{display:flex;align-items:center;gap:14px;padding:6px 0;color:#fff;text-decoration:none}
.mo-o{flex:none;width:46px;height:46px;border-radius:12px;overflow:hidden;background:#141518}
.mo-o img{width:100%;height:100%;object-fit:cover;transform:scale(1.15)}
.mo-xs b{display:block;font-size:15.5px;font-weight:500;letter-spacing:-.015em}
.mo-xs em{display:block;font-style:normal;font-size:12.5px;color:rgba(255,255,255,.45);margin-top:2px}
.mo-cs{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:0 0 16px}
.mo-cs a{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);color:#fff;text-decoration:none}
.mo-cs b{font-size:14.5px;font-weight:400;color:rgba(255,255,255,.82)}
.mo-cs em{font-style:normal;font-size:11px;color:rgba(255,255,255,.35);font-variant-numeric:tabular-nums}
.mo-b{flex:none;display:grid;gap:8px;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.08);background:#0B0C0E}
.mo-cta{display:flex;align-items:center;justify-content:center;gap:10px;height:54px;border-radius:999px;background:#fff;color:#0D0F12;font-size:15.5px;font-weight:500;text-decoration:none}
.mo-cta .ic{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;transform:rotate(45deg)}
.mo-b2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mo-b2 a{display:flex;align-items:center;justify-content:center;gap:9px;height:50px;border-radius:999px;border:1px solid rgba(255,255,255,.16);color:#fff;font-size:14.5px;font-weight:500;text-decoration:none}
.mo-b2 .ic{width:16px;height:16px}
.mo-hr{text-align:center;font-size:12px;color:rgba(255,255,255,.4);margin:4px 0 0}
.mo-ouvert .wc,.mo-ouvert .up{opacity:0;pointer-events:none}
@media (min-width:1181px){.mo{display:none}}
.mo .mo-b{grid-template-columns:1fr;padding-top:14px}
.mo .mo-n a,.mo .mo-n .mo-a{height:auto}
.mo .mo-n .mo-a{font-size:26px;font-weight:500;gap:0;padding:15px 0}
.mo .mo-n .mo-xs a{height:auto;border:0;font-size:inherit;padding:6px 0;gap:14px}
.mo .mo-n .mo-cs a{height:auto;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;font-size:inherit;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.mo .mo-cs b{font-size:15px}
.mo .mo-cs em{font-size:11.5px}
.mo .mo-b a.mo-cta,.mo .mo-b2 a{font-size:15px;letter-spacing:-.01em}

/* ==== Retours Sacha du 5/11 : héro, villa, chiffres, entreprise, chantiers, zone, pied de page, en-tête ==== */
/* en-tête : appel et menu intégrés, sans pastille ronde */
.nv-ph,.nv-bg{background:transparent !important;border:0 !important;border-radius:0 !important;width:40px;height:40px}
.nv-ph .ic{width:19px;height:19px}
.nv-bg i{width:20px;margin-left:-10px}
.zg-l2{display:none}
@media (max-width:700px){
  /* héro : contenu en haut, garanties en bas, bien espacées */
  .hr-f{display:flex;flex-direction:column}
  .hr-c{padding-bottom:28px}
  .hr-r{margin-top:22px}
  .hr-ck{position:static !important;margin-top:auto;flex-direction:column;align-items:center;gap:12px;padding:22px 20px 30px;border-top:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(6,9,14,0),rgba(6,9,14,.55));font-size:13.5px}
  .hr-ck span{display:flex;align-items:center;gap:9px;white-space:nowrap}
  /* villa : l'image tient dans l'écran */
  .ma-i{overflow:hidden}
  .ma-f img{width:100% !important;max-width:100% !important;margin:0 !important}
  /* chiffres : trois colonnes centrées */
  .ma-st{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 !important;text-align:center;padding-top:28px;padding-bottom:8px}
  .ma-st>div{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 6px;border-left:1px solid rgba(17,18,21,.12);border-top:0 !important;margin:0 !important}
  .ma-st>div:first-child{border-left:0}
  .ma-st b{font-size:30px !important;line-height:1}
  .ma-st span{font-size:12px !important;line-height:1.35;max-width:11ch}
  /* entreprise : titre, Maxime en portrait, texte, puis le camion à part */
  .qn-f{display:grid !important;grid-template-columns:1fr !important;padding:52px 20px 28px !important;row-gap:0}
  .qn-t{display:contents}
  .qn-k{order:1;margin:0}
  .qn-h{order:2}
  .qn-mx{order:3;position:relative;height:auto !important;aspect-ratio:4/4.6;margin:26px 0 24px !important;border-radius:20px;overflow:hidden;background:radial-gradient(70% 60% at 50% 38%,rgba(232,190,130,.16),transparent 70%),#17181C;align-self:auto}
  .qn-mx::after{display:none}
  .qn-mx img{top:7%;bottom:auto;height:128% !important;-webkit-mask-image:none !important;mask-image:none !important;filter:none}
  .qn-mx figcaption{left:0;right:0;bottom:0;align-items:flex-start;text-align:left;padding:48px 20px 18px;background:linear-gradient(180deg,rgba(14,15,18,0),rgba(14,15,18,.92) 70%)}
  .qn-i{order:4}
  .qn-q{order:5}
  .qn-p{order:6}
  .qn-v{order:7;margin:30px 0 0 !important;border-radius:16px;overflow:hidden;background:#0A0B0D}
  .qn-v img{transform:none !important;-webkit-mask-image:none !important;mask-image:none !important;aspect-ratio:2312/1155;object-fit:cover}
  /* chantiers : défilé horizontal */
  .rk-g{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(-1 * var(--g));padding:0 var(--g) 6px;scroll-padding-inline:var(--g);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .rk-g::-webkit-scrollbar{display:none}
  .rk-g>.rk{flex:0 0 84%;scroll-snap-align:start}
  /* zone : la carte entière en tête, puis le texte et les 13 communes */
  .zg-f{display:flex !important;flex-direction:column}
  .zg-m{order:0;position:relative !important;inset:auto !important;margin:0 !important}
  .zg-i{position:relative !important;width:100% !important;margin:12px 0 0 !important;right:auto !important;top:auto !important;transform:none !important}
  .zg-t{order:1;position:relative !important;padding:28px 20px 36px !important;width:auto !important;transform:none !important;top:auto !important}
  .zg-l2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;list-style:none;margin:22px 0 4px;padding:0;border-top:1px solid rgba(255,255,255,.1)}
  .zg-l2 a{display:block;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px;color:rgba(255,255,255,.82)}
  /* pied de page : expertises et conseils côte à côte, communes sur deux colonnes */
  .ft-g{display:grid !important;grid-template-columns:1fr 1fr !important;gap:36px 20px !important}
  .ft-g>.ft-1{grid-column:1/-1;order:0}
  .ft-g>div:nth-child(2){order:1}
  .ft-g>div:nth-child(4){order:2}
  .ft-g>div:nth-child(3){order:3;grid-column:1/-1;display:grid !important;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:11px;align-content:start}
  .ft-g>div:nth-child(3) .ft-h{grid-column:1/-1}
  .ft-g>div:nth-child(5){order:4;grid-column:1/-1}
  .ft-g>div:not(.ft-1) a{font-size:14px}
}
/* mobile : Maxime et le camion fondus dans la carte, sans encart */
@media (max-width:700px){
  .qn-mx{background:none !important;border-radius:0 !important;overflow:visible !important;aspect-ratio:auto !important;height:460px !important;margin:18px 0 22px !important}
  .qn-gl{display:block;position:absolute;left:50%;top:4%;width:130%;height:82%;translate:-50% 0;border-radius:50%;background:radial-gradient(50% 50% at 50% 45%,rgba(240,200,140,.20),rgba(240,200,140,.06) 55%,transparent 78%);filter:blur(26px);pointer-events:none}
  .qn-mx img{position:absolute;left:50% !important;right:auto !important;top:auto !important;bottom:58px !important;height:400px !important;width:auto !important;max-width:none;transform:translateX(-50%) !important;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent 97%) !important;mask-image:linear-gradient(180deg,#000 70%,transparent 97%) !important;filter:none}
  .qn-mx figcaption{left:0 !important;right:0 !important;bottom:0 !important;align-items:center !important;text-align:center !important;padding:0 !important;background:none !important}
  .qn-v{background:none !important;border-radius:0 !important;overflow:visible !important;margin:28px -22px 0 !important}
  .qn-v img{aspect-ratio:2312/1155;object-fit:contain;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 52%,#000 62%,transparent 100%) !important;mask-image:radial-gradient(ellipse 50% 50% at 50% 52%,#000 62%,transparent 100%) !important}
}
@media (max-width:700px){.qn-gl{transform:none !important;top:0 !important}.qn-f::before{display:none}}
/* mobile : texte, puis Maxime (plus petit) à gauche de la citation */
@media (max-width:700px){
  #entreprise .qn-f{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:16px}
  #entreprise .qn-f>*,#entreprise .qn-t>*{grid-column:1/-1}
  #entreprise .qn-k{order:1}#entreprise .qn-h{order:2}#entreprise .qn-i{order:3}
  #entreprise .qn-mx{order:4;grid-column:1 !important;height:270px !important;margin:22px 0 0 !important;align-self:center}
  #entreprise .qn-q{order:4;grid-column:2 !important;align-self:center;margin:22px 0 0 !important;font-size:15px;line-height:1.5}
  #entreprise .qn-p{order:6}#entreprise .qn-v{order:7}
  #entreprise .qn-mx img{height:226px !important;bottom:42px !important}
  #entreprise .qn-gl{width:150%;height:88%}
  #entreprise .qn-mx figcaption b{font-size:15px}
  #entreprise .qn-mx figcaption span{font-size:12px}
  #entreprise .qn-p{margin-top:26px}
}
@media (max-width:700px){#entreprise .qn-k,#entreprise .qn-h,#entreprise .qn-i,#entreprise .qn-p,#entreprise .qn-v{grid-column:1/-1 !important;max-width:none !important}}
@media (max-width:700px){#entreprise .qn-f{grid-template-areas:none !important}#entreprise .qn-k,#entreprise .qn-h,#entreprise .qn-i,#entreprise .qn-p,#entreprise .qn-v{grid-area:auto / 1 / auto / span 2 !important}#entreprise .qn-mx{grid-area:auto / 1 / auto / span 1 !important}#entreprise .qn-q{grid-area:auto / 2 / auto / span 1 !important}}
@media (max-width:700px){#entreprise .qn-f{grid-template-columns:42% minmax(0,1fr) !important}#entreprise .qn-mx{width:100%}#entreprise .qn-q{min-width:0}}
/* mobile v3 : Maxime au-dessus de la citation, avis centrés, zone */
@media (max-width:700px){
  #entreprise .qn-f{grid-template-columns:minmax(0,1fr) !important}
  #entreprise .qn-mx{grid-area:auto / 1 / auto / span 1 !important;order:4;height:380px !important;margin:22px 0 8px !important}
  #entreprise .qn-mx img{height:330px !important;bottom:52px !important}
  #entreprise .qn-q{grid-area:auto / 1 / auto / span 1 !important;order:5;margin:18px 0 0 !important;font-size:16px}
  #entreprise .qn-gl{width:120%;height:85%}
  /* avis : titre centré, note et bouton sur une ligne */
  #avis .sf-hd{display:block;text-align:center}
  #avis .sf-hd .sf-k{justify-content:center}
  #avis .sf-hd .sf-k::before{display:none}
  #avis .sf-nt{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line2)}
  #avis .sf-nt .vn{margin:0;gap:8px}
  #avis .sf-nt .vn b{font-size:30px}
  #avis .sf-nt .ma-b{margin:0;height:38px;padding:0 14px;font-size:13px;flex:none}
  /* zone : bouton centré, points plus visibles, noms en petit sur la carte */
  #zone .zg-b{display:flex;width:fit-content;margin:26px auto 0}
  #zone .zp i{width:8px;height:8px;margin:-4px 0 0 -4px;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.18),0 0 12px 3px rgba(255,230,190,.5)}
  #zone .zp:not(.zp-h) span{display:block;position:absolute;top:50%;transform:translateY(-50%);font-size:9.5px;font-weight:500;line-height:1;white-space:nowrap;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.8);padding:0;background:none;border:0;opacity:.92;pointer-events:none}
  #zone .zp-r:not(.zp-h) span{left:9px}
  #zone .zp-l:not(.zp-h) span{right:9px;left:auto}
}
@media (max-width:700px){#avis .sf-nt{flex-direction:row !important;align-items:center !important;width:100% !important;max-width:none !important}#avis .sf-hd>div:first-child{width:100%}}

/* ===== Mobile v4 : retours du 6/11 ===== */
@media (max-width:960px){
  /* carte des communes : carte en haut, liste dessous */
  .xz-f{grid-template-columns:1fr !important;padding:0 !important;min-height:0 !important;gap:0 !important}
  .xz-m{order:-1;position:relative !important;aspect-ratio:2688/1520;height:auto !important;margin:0 !important;align-self:auto}
  .xz-z{position:absolute !important;inset:0 !important;right:0 !important;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent) !important;mask-image:linear-gradient(180deg,#000 70%,transparent) !important}
  .xz-t{padding:4px 24px 28px !important}
  .xz-h{font-size:24px}
}
@media (max-width:700px){
  /* toutes les cartes noires à la largeur de l'en-tête */
  .xk,.cvh,.qn,.zc,.xz,.xe,.sv,.cf2{padding-left:10px !important;padding-right:10px !important}
  .cvh-in{padding-inline:26px !important}
  .zc .zg-f{border-radius:var(--r3)}
  /* héro des expertises plus compact */
  .xk-f{padding:96px 24px 28px !important;gap:12px !important}
  .xk-i img{max-height:210px !important}
  .xk-h{font-size:36px}
  .xk-l{font-size:15px;margin-top:16px}
  .xk-b{flex-wrap:nowrap;margin-top:22px}
  .xk-b .hb-w{flex:1;height:50px;padding:0 18px;font-size:14.5px}
  .xk-b .hb-g{flex:none;width:50px;height:50px;padding:0;font-size:0;gap:0}
  .xk-b .hb-g .ic{margin:0;width:18px;height:18px}
  .xk-ar .xk-p{max-width:none}
  /* prestations plus serrées */
  .xp2{padding-top:72px}
  .xp2 .eg-g{margin-top:28px}
  .xp2 .eg-g div{padding:18px 0 18px !important;gap:8px}
  .xp2 .eg-g p{font-size:14px}
  /* étapes : frise verticale */
  .xe2{padding-top:72px}
  .xe2-l{margin-top:30px;grid-template-columns:1fr !important;row-gap:0 !important}
  .xe2-l li{display:grid;grid-template-columns:44px 1fr;column-gap:16px;padding-bottom:24px}
  .xe2-l li .xe-d{grid-row:1 / span 3;width:44px;height:44px;margin:0;background:var(--ink);border-color:var(--ink)}
  .xe2-l li .xe-d .ic{color:#fff}
  .xe2-l li::after{content:"";position:absolute;left:21.5px;top:50px;bottom:4px;width:1px;background:var(--line2)}
  .xe2-l li:last-child::after{display:none}
  .xe2-l small{margin:2px 0 4px}
  .xe2-l b{font-size:17px;margin-bottom:4px}
  .xe2-l p{font-size:14px;max-width:none}
  /* communes : le panneau en haut de la section, plus petit */
  .lc2-g{display:flex !important;flex-direction:column}
  .lc2 .pn{order:-1;width:68%;margin:0 auto -8px}
  /* réalisations : grille de deux */
  #rzG.rk-g{display:grid !important;grid-template-columns:1fr 1fr;gap:10px;overflow:visible;margin-inline:0;padding:0}
  #rzG.rk-g>.rk{flex:none;min-width:0}
  #rzG.rk-g>.rk-ab{grid-column:1 / -1}
  #rzG .rk b,#rzG .rk-t b{font-size:13.5px;line-height:1.3}
  #rzG .rk-t span,#rzG .rk small{font-size:11.5px}
  /* fenêtres photo : croix et flèches au-dessus de tout */
  .lb .lb-x,.abx .lb-x{z-index:10;top:calc(14px + env(safe-area-inset-top,0px));right:14px;background:rgba(20,21,24,.8)}
  .lb .lb-n{z-index:10}
  .lb-f{padding-bottom:72px}
  .lb-f img{max-height:calc(100vh - 260px)}
  .abx{padding:64px 12px 24px}
  .abx-s{height:auto;aspect-ratio:3/4;max-height:calc(100vh - 170px);width:100%}
  /* conseils : grille de deux */
  .xc-ix .xc-g,.xc-o:not(.xc-ix) .xc-g{grid-template-columns:1fr 1fr !important;gap:10px}
  .xc-p{padding:8px 8px 16px;gap:12px}
  .xc-p .xc-t{padding:0 4px;gap:8px}
  .xc-p .xc-t small{font-size:10px;letter-spacing:.06em}
  .xc-p .xc-t b{font-size:15.5px;line-height:1.2}
  .xc-p .xc-t>span{display:none}
  .xc-p .xc-t em{font-size:12.5px}
  /* engagements (Maxime) sur une ligne */
  .qn-p{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .qn-p li{flex-direction:column;align-items:center;text-align:center;gap:8px;padding:14px 4px;border:0}
  .qn-p li>span{font-size:0}
  .qn-p li b{display:block;font-size:12.5px;line-height:1.25}
  .qn-ap .qn-v img{max-width:72% !important;margin-inline:auto;display:block}
  .qn-ap{padding-top:10px}
  /* « La même attention » plus compact */
  .eg:not(.xp2) .eg-g{grid-template-columns:1fr 1fr !important;gap:0 16px}
  .eg:not(.xp2) .eg-g div{padding:18px 0 !important;gap:8px}
  .eg:not(.xp2) .eg-g b{font-size:15px}
  .eg:not(.xp2) .eg-g p{font-size:13px;line-height:1.5}
  .eg:not(.xp2){padding-top:80px}
  /* questions : titre centré */
  .fqc-h{text-align:center}
  .fqc-h .sf-k{justify-content:center}
  .fqc-h .sf-k::before{display:none}
}
@media (max-width:700px){#rzG .rk:not(.rk-ab) .rk-o{display:none}#rzG .rk:not(.rk-ab) .rk-c{padding:12px 12px 14px}#rzG .rk-t span{font-size:11.5px}}
/* mobile : ampoule du contact à droite du titre, à hauteur des deux lignes ; bulle WhatsApp qui s'ouvre au défilement */
@media (max-width:700px){
  .cv-t{display:grid !important;grid-template-columns:auto auto;justify-content:start;align-items:center;column-gap:18px}
  .cv-t .t1{grid-column:1;grid-row:1}
  .cv-t .t2{grid-column:1;grid-row:2}
  .cv-t .cv-bu{grid-column:2;grid-row:1 / span 2;width:38px !important;height:52px !important;margin:0 !important;top:0 !important;left:0 !important}
  .cv-t .cv-bu svg{width:100%;height:100%}
  .wc-t{transition:width .45s var(--e),padding .45s var(--e)}
  .wc.wc-on .wc-t{width:auto;padding:0 18px 0 8px;justify-content:flex-start}
  .wc.wc-on .wc-l{display:flex}
}

/* Mobile : repères numérotés sur les images + légende dessous */
.mp-lg{display:none}
@media (max-width:700px){
  .ma-f .mp{display:flex;transform:translate(-50%,-50%)}
  .ma-f .mp>span,.ma-f .mp::before{display:none}
  .ma-f:not(.xs-f) .mp{left:calc(-12% + var(--x) * 1.24)}
  .ma-f .mp i{width:20px;height:20px;display:grid;place-items:center;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.35),0 0 14px 3px rgba(255,236,200,.55),0 3px 10px -2px rgba(0,0,0,.3);transition:transform .25s var(--e)}
  .ma-f .mp i::after{border-color:rgba(255,255,255,.8)}
  .ma-f .mp i::before{content:attr(data-n);color:var(--ink);font-size:10.5px;font-weight:600;font-style:normal;line-height:1}
  .ma-f .mp.on i{transform:scale(1.25)}
  .mp-lg{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;list-style:none;margin:14px 0 0;padding:0 var(--g)}
  .mp-lg li{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.35;color:var(--ink2);cursor:pointer}
  .mp-lg li::before{content:attr(data-n);flex:none;width:18px;height:18px;margin-top:-1px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid rgba(13,15,18,.14);box-shadow:0 2px 6px -2px rgba(0,0,0,.18);color:var(--ink);font-size:10px;font-weight:600}
  .mp-lg li.on{color:var(--ink);font-weight:500}
}

/* Conseils : vraies photos à la place des objets 3D */
.xk-ph img{height:auto;-webkit-mask-image:none;mask-image:none;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r2)}

/* Conseils : picto carnet au trait, comme l'ampoule du contact */
.cv-bk{width:.82em;height:.67em;margin-left:.16em;transform:translateY(-.06em)}
.cv-bk .cv-gl{top:52%;left:58%}
.cv-bk .cv-fi{stroke-width:2.4}
@media (max-width:700px){.cv-t .cv-bk{width:52px !important;height:42px !important}}
.cv-bk svg{stroke-width:1.8}
.cv-bk .cv-fi{stroke-width:2;fill:none}
.ft-b .ft-cr{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,.18);text-underline-offset:3px;transition:color .25s,text-decoration-color .25s}
.ft-b .ft-cr:hover{color:rgba(255,255,255,.7);text-decoration-color:currentColor}
