/* Koncrete V3 : v8a */
/* Couche de neutralisation : annule, sur les pages V3 uniquement, les styles par défaut du site
   (titres, liens, listes, images, légendes...) pour retrouver le rendu exact du prototype.
   Sélecteurs de balise : même poids que ceux du site, placés après eux, puis écrasés par le CSS V3. */
html,body,h1,h2,h3,h4,h5,h6,p,a,ul,ol,li,dl,dt,dd,img,figure,figcaption,blockquote,q,label,small,summary,details,
button,input,select,textarea,table,sub,sup,dfn,mark,pre,code,hr,fieldset,legend,article,aside,footer,header,nav,section,main{all:revert;box-sizing:border-box;margin:0;padding:0}
svg:not(:root){overflow:revert}
/* enveloppes des blocs de code Webflow : sans effet sur la mise en page */
body>.w-embed,main>.w-embed,#pgHome>.w-embed,#pgView>.w-embed{display:contents}
body>.w-embed::before,body>.w-embed::after,main>.w-embed::before,main>.w-embed::after,#pgHome>.w-embed::before,#pgHome>.w-embed::after,#pgView>.w-embed::before,#pgView>.w-embed::after{content:none}
/* blocs de code venus du CMS dans les contenus : sans clearfix Webflow, les marges se comportent comme dans le prototype */
#pgView .w-embed::before,#pgView .w-embed::after,#pgHome .w-embed::before,#pgHome .w-embed::after{content:none}


:root{
  --white:#FFFFFF;
  --paper:#F5F6F5;
  --line:#E4E7E6;
  --grey:#8B9290;
  --grey-dark:#4E5654;
  --ink:#0E2626;
  --accent:#44DA75;
  --accent-press:#2FC462;
  --display:"Archivo", "Helvetica Neue", Arial, sans-serif;
  --display-stretch:112%;
  --display-weight:650;
  --body:"Inter", "Helvetica Neue", Arial, sans-serif;
  --ease:cubic-bezier(.2,.7,.1,1);
  --nav-h:76px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--white);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}

/* ---------- NAVBAR ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top,0px);
  transition:background .4s var(--ease),box-shadow .4s var(--ease)}
.nav.is-solid,.nav.is-open{background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.nav.is-solid{box-shadow:0 1px 0 var(--line)}
.nav__bar{height:var(--nav-h);max-width:1360px;margin:0 auto;padding:0 32px;display:flex;align-items:center;gap:40px}
.logo{display:flex;align-items:center;color:var(--ink)}
.logo-svg{height:22px;width:auto}
.nav__links{display:flex;gap:4px;list-style:none;flex:1}
.nav__link{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;font-size:14.5px;font-weight:500;color:var(--grey-dark);transition:color .2s,background .2s}
.nav__link:hover,.nav__link[aria-expanded="true"]{color:var(--ink);background:var(--paper)}
.chev{width:10px;height:10px;transition:transform .3s var(--ease)}
.nav__link[aria-expanded="true"] .chev{transform:rotate(180deg)}
.nav__actions{display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 20px;border-radius:999px;font-size:14.5px;font-weight:600;white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s,transform .2s var(--ease)}
.btn--ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.btn--ghost:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.btn--accent{background:var(--accent);color:var(--ink)}
.btn--accent:hover{background:var(--accent-press)}
.btn--accent:active{transform:scale(.97)}

/* ---------- MEGA MENU ---------- */
.mega{position:absolute;left:0;right:0;top:100%;
  background:var(--white);border-top:1px solid var(--line);
  box-shadow:0 30px 60px -30px rgba(14,38,38,.18);
  clip-path:inset(0 0 100% 0);opacity:0;visibility:hidden;
  transition:clip-path .45s var(--ease),opacity .3s var(--ease),visibility 0s linear .45s}
.mega.is-open{clip-path:inset(0 0 0 0);opacity:1;visibility:visible;transition:clip-path .5s var(--ease),opacity .25s var(--ease),visibility 0s}
.mega__inner{max-width:1360px;margin:0 auto;padding:36px 32px 40px;display:grid;grid-template-columns:300px 1fr 280px;gap:48px;min-height:340px}

.svc-list{list-style:none;display:flex;flex-direction:column;gap:2px;position:relative}
.svc{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:16px 18px;border-radius:14px;transition:background .25s}
.svc__name{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:21px;letter-spacing:-.01em;color:var(--grey);transition:color .25s}
.svc__count{font-size:12.5px;color:var(--grey);font-variant-numeric:tabular-nums}
.svc__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .3s var(--ease);margin-right:10px;flex:none}
.svc__left{display:flex;align-items:center}
.svc.kv3-is-active{background:var(--paper)}
.svc.kv3-is-active .svc__name{color:var(--ink)}
.svc.kv3-is-active .svc__dot{transform:scale(1)}
.svc-all{display:inline-block;margin:18px 18px 0;font-size:14px;font-weight:500;color:var(--grey-dark);border-bottom:1px solid var(--line);padding-bottom:2px}
.svc-all:hover{color:var(--ink);border-color:var(--ink)}

.panels{display:grid}
.panel{grid-area:1/1;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .25s var(--ease),transform .35s var(--ease)}
.panel.kv3-is-active{opacity:1;transform:none;pointer-events:auto;transition-delay:.06s}
.panel__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px}
.panel__title{font-size:14px;color:var(--grey-dark);max-width:44ch;line-height:1.5}
.panel__link{font-size:14px;font-weight:500;white-space:nowrap}
.panel__link:hover{text-decoration:underline;text-underline-offset:4px}
.kv3-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.item{display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:16px;transition:background .25s}
.item:hover{background:var(--paper)}
.item__visual{aspect-ratio:1/1;border-radius:10px;overflow:hidden;position:relative;background:var(--paper)}
.item:hover .item__visual::after{opacity:1}
.item__visual::after{content:"";position:absolute;inset:auto 10px 10px auto;width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:0;transition:opacity .25s}
.item__name{font-size:14.5px;font-weight:600;white-space:nowrap}
.item__meta{font-size:13px;color:var(--grey);margin-top:-8px}

/* matières : textures en CSS, en attendant les vraies photos */
.tx-sable{background:radial-gradient(circle at 30% 40%,#e8dcc3 0 1px,transparent 1.5px) 0 0/5px 5px,radial-gradient(circle at 70% 70%,#cdbb98 0 1px,transparent 1.5px) 0 0/7px 7px,#ddd0b4}
.tx-gravier{background:radial-gradient(ellipse 7px 5px at 30% 40%,#bfc2bd 60%,transparent 64%) 0 0/16px 14px,radial-gradient(ellipse 6px 5px at 70% 70%,#9da19c 60%,transparent 64%) 0 0/19px 15px,radial-gradient(ellipse 5px 4px at 50% 20%,#d6d8d3 60%,transparent 64%) 0 0/13px 17px,#868b86}
.tx-grave{background:radial-gradient(ellipse 4px 3px at 30% 40%,#b9b4a8 60%,transparent 64%) 0 0/9px 8px,radial-gradient(circle at 60% 60%,#8f8a7e 0 1px,transparent 1.5px) 0 0/4px 4px,#a39e92}
.tx-cailloux{background:radial-gradient(ellipse 15px 11px at 30% 40%,#c9cbc6 60%,transparent 63%) 0 0/34px 28px,radial-gradient(ellipse 12px 10px at 75% 75%,#a7aba5 60%,transparent 63%) 0 0/30px 30px,#7d827d}
.tx-terre{background:radial-gradient(circle at 30% 30%,#7b5a40 0 1.5px,transparent 2px) 0 0/6px 6px,radial-gradient(circle at 60% 70%,#5c4230 0 1px,transparent 1.5px) 0 0/5px 5px,#6b4d37}
.tx-demo{background:linear-gradient(115deg,transparent 46%,#c6c3be 46% 54%,transparent 54%) 0 0/22px 18px,linear-gradient(35deg,transparent 40%,#a09d97 40% 60%,transparent 60%) 0 0/17px 21px,#8a8782}
.tx-gravats{background:radial-gradient(ellipse 6px 4px at 30% 40%,#b7a89a 60%,transparent 64%) 0 0/14px 12px,linear-gradient(60deg,transparent 45%,#c4c1bb 45% 55%,transparent 55%) 0 0/15px 13px,#8e8378}

/* bennes et camions : chiffres en grand */
.spec{display:flex;align-items:flex-end;justify-content:flex-start;padding:12px 14px;background:var(--paper);height:100%}
.spec b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:40px;line-height:.9;letter-spacing:-.02em}
.spec small{font-size:14px;margin-left:4px;color:var(--grey-dark);font-weight:500}
.spec--wide b{font-size:30px}

.feature{background:var(--ink);color:var(--white);border-radius:20px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.feature::before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(68,218,117,.35),transparent 70%)}
.feature__k{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:56px;line-height:.9;letter-spacing:-.03em}
.feature__k span{font-size:20px;margin-left:4px}
.feature p{font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.72);margin:12px 0 22px}
.feature .btn{align-self:flex-start}

.scrim{position:fixed;inset:0;background:rgba(14,38,38,.18);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility 0s linear .4s;z-index:40}
.scrim.is-on{opacity:1;visibility:visible;transition:opacity .4s var(--ease)}

/* ---------- HERO ---------- */
.kv3-hero{height:100vh;min-height:680px;position:relative;overflow:hidden;background:var(--white)}
.hero__media{position:absolute;inset:0}
#scene{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero__glow{position:absolute;right:8%;top:16%;width:46vw;max-width:720px;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,#EEF2F0 0%,rgba(238,242,240,0) 68%);pointer-events:none}
.kv3-hero h1{transition:font-size .6s var(--ease)}
#scene,.hero__glow{transition:opacity .8s var(--ease)}

.hero__content{position:relative;z-index:2;height:100%;max-width:1360px;margin:0 auto;padding:calc(var(--nav-h) + 40px) 32px 56px;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none}
.hero__content > *{pointer-events:auto}
.kv3-hero h1{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);
  font-size:clamp(48px,6.4vw,100px);line-height:.92;letter-spacing:-.04em;max-width:14ch}
.kv3-hero h1 .line{display:block;overflow:hidden;padding-bottom:.06em}
.kv3-hero h1 .line span{display:block;transform:translateY(105%);animation:rise 1.1s var(--ease) forwards}
.kv3-hero h1 .line:nth-child(2) span{animation-delay:.08s}
.kv3-hero h1 .line:nth-child(3) span{animation-delay:.16s}
@keyframes rise{to{transform:none}}
.hero__row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:40px;opacity:0;animation:fade .9s .45s var(--ease) forwards}
@keyframes fade{to{opacity:1}}
.hero__lead{font-size:18px;line-height:1.55;color:var(--grey-dark);max-width:44ch}
.hero__cta{display:flex;gap:10px;margin-top:26px}
.kv3-hero .btn{height:52px;padding:0 26px;font-size:15.5px}
.trust{display:flex;gap:36px;align-items:flex-end}
.trust div{display:flex;flex-direction:column;gap:6px}
.trust b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:30px;letter-spacing:-.02em;line-height:1}
.trust span{font-size:13px;color:var(--grey)}
.scrollcue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:2;width:1px;height:44px;background:var(--line);overflow:hidden}
.scrollcue::after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--ink);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{to{top:110%}}

/* ---------- QUI SOMMES-NOUS ---------- */
.about{max-width:1360px;margin:0 auto;padding:160px 32px 120px}
.about__label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--grey-dark);margin-bottom:36px}
.about__label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.statement{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);
  font-size:clamp(32px,4.1vw,60px);line-height:1.08;letter-spacing:-.03em;max-width:25ch}
.statement .w{color:#C9CFCC;transition:color .35s var(--ease)}
.statement .w.on{color:var(--ink)}

.about__visual{position:relative;margin:110px 0 0;height:min(64vh,620px);border-radius:28px;overflow:hidden;
  clip-path:inset(12% 8% 12% 8% round 28px);transition:clip-path 1.2s var(--ease)}
.about__visual.in{clip-path:inset(0 0 0 0 round 28px)}
.about__img{position:absolute;inset:-12% 0;background:
  radial-gradient(120% 80% at 70% 30%,#D9DDD9 0%,transparent 60%),
  linear-gradient(160deg,#C4CAC6 0%,#9EA6A1 55%,#7E8782 100%);will-change:transform}
.about__img::after{content:"Photo ou vidéo chantier (à fournir)";position:absolute;left:32px;bottom:calc(12% + 28px);font-size:13.5px;color:rgba(255,255,255,.85)}
.about__tag{position:absolute;right:28px;top:28px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:999px;padding:10px 16px 10px 12px;font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:8px}
.about__tag i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(68,218,117,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(68,218,117,0)}100%{box-shadow:0 0 0 0 rgba(68,218,117,0)}}

.about__grid{display:grid;grid-template-columns:1fr 1.25fr;gap:80px;margin-top:100px;align-items:start}
.about__text p{font-size:17.5px;line-height:1.7;color:var(--grey-dark);max-width:46ch}
.about__text p + p{margin-top:18px}
.about__link{display:inline-flex;margin-top:30px;font-size:15px;font-weight:600;border-bottom:1.5px solid var(--accent);padding-bottom:3px}
.facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.fact{padding:30px 0 34px;border-bottom:1px solid var(--line)}
.fact:nth-child(odd){padding-right:32px;border-right:1px solid var(--line)}
.fact:nth-child(even){padding-left:32px}
.fact b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(40px,4vw,58px);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.fact span{display:block;margin-top:12px;font-size:14.5px;color:var(--grey-dark);line-height:1.5;max-width:26ch}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (max-width:1080px){
  .about{padding:110px 20px 80px}
  .about__visual{margin-top:70px;height:56vh}
  .about__grid{grid-template-columns:1fr;gap:48px;margin-top:64px}
  .fact:nth-child(odd){padding-right:16px}.fact:nth-child(even){padding-left:16px}
}
@media (prefers-reduced-motion:reduce){.statement .w{color:var(--ink)}.about__visual{clip-path:none}.reveal{opacity:1;transform:none}}

/* ---------- SERVICES ---------- */
.services{max-width:1360px;margin:0 auto;padding:60px 32px 140px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px}
.services__aside{position:sticky;top:calc(var(--nav-h) + 48px);align-self:start}
.services__label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--grey-dark);margin-bottom:28px}
.services__label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.services h2{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(36px,3.6vw,54px);line-height:1.02;letter-spacing:-.03em;max-width:14ch}
.services__intro{margin-top:20px;font-size:17px;line-height:1.65;color:var(--grey-dark);max-width:40ch}
.snav{list-style:none;margin-top:44px;border-top:1px solid var(--line)}
.snav a{display:grid;grid-template-columns:1fr auto;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);position:relative}
.snav a::after{content:"";position:absolute;left:0;bottom:-1px;height:1.5px;width:0;background:var(--ink);transition:width .6s var(--ease)}
.snav a.on::after{width:100%}
.snav span{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:22px;letter-spacing:-.015em;color:#B9C0BD;transition:color .3s}
.snav a.on span{color:var(--ink)}
.snav small{font-size:13px;color:var(--grey)}
.services__cta{margin-top:36px}

.scards{display:flex;flex-direction:column;gap:28px}
.scard{border:1px solid var(--line);border-radius:28px;padding:16px;background:var(--white);scroll-margin-top:calc(var(--nav-h) + 24px)}
.scard__visual{border-radius:18px;overflow:hidden;background:var(--paper);height:340px;position:relative}
.scard__body{padding:30px 18px 18px;display:grid;grid-template-columns:1fr auto;gap:12px 32px;align-items:end}
.scard h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:34px;letter-spacing:-.025em;line-height:1}
.scard p{grid-column:1/2;font-size:16px;line-height:1.6;color:var(--grey-dark);max-width:44ch}
.scard .btn{grid-row:1/3;grid-column:2;align-self:end}
.chips{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chips a{padding:8px 14px;border-radius:999px;background:var(--paper);font-size:14px;font-weight:500;transition:background .2s,box-shadow .2s}
.chips a:hover{background:var(--white);box-shadow:inset 0 0 0 1px var(--ink)}

/* visuels : bandes de matières */
.strips{position:absolute;inset:0;display:flex;gap:6px;padding:6px}
.strips div{flex:1;border-radius:12px;position:relative;transition:flex .6s var(--ease)}
.strips div:hover{flex:2.2}
.strips div em{position:absolute;left:12px;bottom:12px;font-style:normal;font-size:12.5px;font-weight:600;background:rgba(255,255,255,.88);padding:5px 10px;border-radius:999px;opacity:0;transform:translateY(6px);transition:.3s var(--ease)}
.strips div:hover em{opacity:1;transform:none}
/* visuels : volumes et camions */
.sizes{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;gap:16px;padding:36px}
.sizes div{background:var(--white);border-radius:12px;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--ease)}
.sizes div:hover{transform:translateY(-6px)}
.sizes b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:30px;letter-spacing:-.02em;line-height:1}
.sizes small{font-size:12.5px;color:var(--grey);margin-top:4px}
.sizes div:first-child{background:var(--ink);color:var(--white);box-shadow:none}
.sizes div:first-child small{color:rgba(255,255,255,.6)}
.scard.reveal-card{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.scard.reveal-card.in{opacity:1;transform:none}

@media (max-width:1080px){
  .services{grid-template-columns:1fr;gap:40px;padding:40px 20px 100px}
  .services__aside{position:static}
  .snav,.services__cta{display:none}
  .scard__visual{height:240px}
  .scard__body{grid-template-columns:1fr}
  .scard .btn{grid-row:auto;grid-column:1;justify-self:start;margin-top:12px}
  .sizes{gap:8px;padding:20px}
  .sizes b{font-size:22px}
}

/* ---------- NOUVEAUTÉS ---------- */
.news{max-width:1360px;margin:0 auto;padding:40px 32px 140px}
.news__head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}
.news__label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--grey-dark);margin-bottom:24px}
.news__label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.news h2{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(36px,3.6vw,54px);line-height:1.02;letter-spacing:-.03em;max-width:16ch}
.news__all{font-size:15px;font-weight:600;border-bottom:1.5px solid var(--accent);padding-bottom:3px;white-space:nowrap}
.bento{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto auto;gap:20px}
.ncard{border-radius:28px;background:var(--paper);padding:36px;position:relative;overflow:hidden;display:flex;flex-direction:column}
.ncard__tag{align-self:flex-start;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--white);margin-bottom:22px}
.ncard__tag--new{background:var(--accent);color:var(--ink)}
.ncard h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:30px;letter-spacing:-.025em;line-height:1.05;max-width:16ch}
.ncard p{margin-top:14px;font-size:16px;line-height:1.6;color:var(--grey-dark);max-width:38ch}
.ncard .btn{margin-top:26px;align-self:flex-start}

/* carte appli */
.n-app{grid-column:1/8;grid-row:1/3;min-height:640px;background:var(--ink);color:var(--white)}
.n-app p{color:rgba(255,255,255,.7)}
.n-app .ncard__tag{background:var(--accent)}
.stores{display:flex;gap:10px;margin-top:26px}
.store{display:flex;align-items:center;gap:10px;height:46px;padding:0 16px;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);font-size:13px;line-height:1.15;transition:box-shadow .2s}
.store:hover{box-shadow:inset 0 0 0 1px var(--white)}
.store small{display:block;font-size:10.5px;opacity:.7}
.kv3-phone{position:absolute;right:48px;bottom:-60px;width:290px;height:590px;border-radius:44px;background:#1d3a3a;padding:10px;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.6),inset 0 0 0 1.5px rgba(255,255,255,.12);transform:rotate(-4deg) translateY(30px);transition:transform 1.2s var(--ease)}
.n-app.in .kv3-phone{transform:rotate(-4deg) translateY(0)}
.screen{height:100%;border-radius:35px;background:var(--white);color:var(--ink);overflow:hidden;display:flex;flex-direction:column}
.scr-top{padding:44px 20px 14px;display:flex;justify-content:space-between;align-items:center}
.scr-top b{font-size:15px}
.scr-top span{font-size:11px;font-weight:600;background:#E6F9EC;color:#167A3A;padding:4px 9px;border-radius:999px}
.map{margin:0 14px;height:210px;border-radius:18px;background:#EEF2F0;position:relative;overflow:hidden}
.map svg{position:absolute;inset:0;width:100%;height:100%}
.truck{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(68,218,117,.25);offset-path:path("M30,180 C80,170 90,110 140,100 S210,60 240,30");offset-distance:0%;animation:drive 9s var(--ease) infinite}
@keyframes drive{0%{offset-distance:0%}80%,100%{offset-distance:100%}}
.eta{padding:16px 20px 6px}
.eta small{font-size:11.5px;color:var(--grey)}
.eta b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:30px;letter-spacing:-.02em;margin-top:2px}
.steps{list-style:none;padding:8px 20px;display:flex;flex-direction:column;gap:12px}
.steps li{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--grey)}
.steps li i{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line);flex:none}
.steps li.done{color:var(--ink)}
.steps li.done i{background:var(--ink);box-shadow:none}
.steps li.now{color:var(--ink);font-weight:600}
.steps li.now i{background:var(--accent);box-shadow:0 0 0 4px rgba(68,218,117,.25)}

/* carte devis */
.n-quote{grid-column:8/13}
.qdemo{margin-top:26px;background:var(--white);border-radius:18px;padding:20px}
.qdemo__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.qdemo__top span{font-size:13px;color:var(--grey)}
.qdemo__top b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:24px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.qbar{height:4px;border-radius:4px;background:var(--line);overflow:hidden;margin-bottom:16px}
.qbar i{display:block;height:100%;width:0;background:var(--accent);transition:width .6s var(--ease)}
.qrows{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qrow{border-radius:12px;padding:10px 12px;box-shadow:inset 0 0 0 1px var(--line);opacity:.35;transition:opacity .4s,box-shadow .4s}
.qrow small{display:block;font-size:11.5px;color:var(--grey)}
.qrow b{font-size:14px;font-weight:600}
.qrow.on{opacity:1}
.qrow.cur{box-shadow:inset 0 0 0 1.5px var(--ink)}

/* carte actu */
.n-blog{grid-column:8/13}
.n-blog__meta{margin-top:auto;padding-top:26px;display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--grey)}
.n-blog__meta a{color:var(--ink);font-weight:600}
.n-blog:hover h3{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}

.ncard.reveal-card{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.ncard.reveal-card.in{opacity:1;transform:none}
@media (max-width:1080px){
  .news{padding:30px 20px 100px}
  .news__head{flex-direction:column;align-items:flex-start;gap:20px}
  .bento{grid-template-columns:1fr}
  .n-app,.n-quote,.n-blog{grid-column:1;grid-row:auto}
  .n-app{min-height:760px;padding:28px}
  .kv3-phone{left:50%;right:auto;margin-left:-135px;width:270px;height:550px}
  .stores{flex-wrap:wrap}
  .ncard{padding:28px}
}
@media (prefers-reduced-motion:reduce){.truck{animation:none;offset-distance:60%}}

/* ---------- AVIS ---------- */
.reviews{padding:40px 0 150px;overflow:hidden}
.reviews__head{max-width:1360px;margin:0 auto 56px;padding:0 32px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.reviews__label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--grey-dark);margin-bottom:24px}
.reviews__label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.reviews h2{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(36px,3.6vw,54px);line-height:1.02;letter-spacing:-.03em;max-width:15ch}
.score{display:flex;align-items:center;gap:20px;padding:18px 22px;border-radius:20px;box-shadow:inset 0 0 0 1px var(--line)}
.score__n{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:46px;letter-spacing:-.03em;line-height:1}
.score__meta{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--grey-dark)}
.score__meta a{color:var(--ink);font-weight:600}
.stars{display:flex;gap:2px;color:#F5B400}
.stars svg{width:15px;height:15px}
.gmark{width:30px;height:30px;flex:none}

.rows{display:flex;flex-direction:column;gap:20px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.row{display:flex;width:max-content;gap:20px;animation:marquee var(--dur,70s) linear infinite}
.row--rev{animation-direction:reverse}
.rows:hover .row{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.rcard{width:400px;flex:none;border-radius:24px;background:var(--paper);padding:28px;display:flex;flex-direction:column;gap:18px;transition:background .3s,box-shadow .3s}
.rcard:hover{background:var(--white);box-shadow:inset 0 0 0 1px var(--line),0 20px 40px -24px rgba(14,38,38,.25)}
.rcard__top{display:flex;justify-content:space-between;align-items:center}
.rcard__top .gmark{width:18px;height:18px}
.rcard q{quotes:none;font-size:16.5px;line-height:1.6;color:var(--ink)}
.rcard__who{display:flex;align-items:center;gap:12px;margin-top:auto}
.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:600;background:var(--white);box-shadow:inset 0 0 0 1px var(--line)}
.rcard__who b{display:block;font-size:14.5px}
.rcard__who span{font-size:13px;color:var(--grey)}
@media (max-width:1080px){
  .reviews__head{flex-direction:column;align-items:flex-start;padding:0 20px;margin-bottom:36px}
  .rows{-webkit-mask-image:none;mask-image:none}
  .row{animation:none;width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px;scrollbar-width:none}
  .row::-webkit-scrollbar{display:none}
  .row--rev{display:none}
  .row .dup{display:none}
  .rcard{width:82vw;scroll-snap-align:center}
}
@media (prefers-reduced-motion:reduce){.row{animation:none}}

/* ---------- FOOTER (rideau) ---------- */
main{position:relative;z-index:1;background:var(--white);margin-bottom:100vh;border-radius:0 0 40px 40px;box-shadow:0 40px 60px -40px rgba(14,38,38,.35)}
.foot{position:fixed;left:0;right:0;bottom:0;height:100vh;z-index:0;background:var(--ink);color:var(--white);overflow:hidden;display:flex;flex-direction:column}
.foot__glow{position:absolute;width:640px;height:640px;border-radius:50%;left:0;top:0;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(68,218,117,.22) 0%,rgba(68,218,117,0) 62%);pointer-events:none;transition:opacity .4s;opacity:0}
.foot:hover .foot__glow{opacity:1}
.foot__inner{position:relative;max-width:1360px;width:100%;margin:0 auto;padding:56px 32px 0;flex:1;display:flex;flex-direction:column;will-change:transform}
.foot__cta{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.14)}
.foot__cta h2{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(40px,4.6vw,72px);line-height:.98;letter-spacing:-.035em;max-width:13ch}
.foot__cta .btn{height:56px;padding:0 30px;font-size:16px}
.foot__btns{display:flex;gap:10px}
.btn--line{color:var(--white);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.btn--line:hover{box-shadow:inset 0 0 0 1px var(--white)}
.foot__cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding:36px 0}
.foot__cols .foot__h{font-size:13px;font-weight:500;color:rgba(255,255,255,.5);margin-bottom:16px}
.foot__cols ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.foot__cols a{font-size:15px;color:rgba(255,255,255,.88);transition:color .2s}
.foot__cols a:hover{color:var(--accent)}
.news-form{display:flex;margin-top:4px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);padding:5px;max-width:340px}
.news-form input{flex:1;min-width:0;background:none;border:0;color:var(--white);font:inherit;font-size:14.5px;padding:0 14px;outline:none}
.news-form input::placeholder{color:rgba(255,255,255,.45)}
.news-form .btn{height:38px;padding:0 16px;font-size:14px}
.foot__note{font-size:13.5px;color:rgba(255,255,255,.55);margin-top:12px;max-width:34ch;line-height:1.5}
.social{display:flex;gap:8px;margin-top:22px}
.social a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);transition:background .2s,color .2s}
.social a:hover{background:var(--accent);color:var(--ink);box-shadow:none}
.foot__brand{margin-top:auto;position:relative}
.giant{display:block;width:100%;height:auto;color:var(--white);transform-origin:50% 100%}
.giant path:last-child{fill:var(--accent)}
.foot__legal{display:flex;justify-content:space-between;gap:20px;padding:22px 0 calc(22px + env(safe-area-inset-bottom,0px));font-size:13px;color:rgba(255,255,255,.5)}
.foot__legal div{display:flex;gap:22px}
.foot__legal a:hover{color:var(--white)}
.nav.is-hidden{transform:translateY(-100%)}
.nav{transition:background .4s var(--ease),box-shadow .4s var(--ease),transform .5s var(--ease)}
@media (max-height:820px) and (min-width:1081px){.foot__cols{padding:30px 0}.foot__cta{padding-bottom:30px}.foot__inner{padding-top:36px}.giant{width:88%}}
@media (max-width:1080px){
  main{margin-bottom:0;border-radius:0;box-shadow:none}
  .foot{position:relative;height:auto}
  .foot__inner{padding:72px 20px 0}
  .foot__cta{flex-direction:column;align-items:flex-start}
  .foot__btns{flex-wrap:wrap}
  .foot__cols{grid-template-columns:1fr 1fr;gap:32px}
  .foot__cols > div:first-child{grid-column:1/-1}
  .foot__legal{flex-direction:column}
  .foot__brand{margin-top:24px}
}

.filler{max-width:1360px;margin:0 auto;padding:140px 32px;display:grid;grid-template-columns:1fr 1fr;gap:48px}
.filler h2{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:44px;letter-spacing:-.025em;line-height:1}
.filler p{font-size:17px;line-height:1.65;color:var(--grey-dark);max-width:52ch}
.ph{height:420px;background:var(--paper);border-radius:24px}
@media (max-width:1080px){
  .hero__row{flex-direction:column;align-items:flex-start}
  .trust{gap:24px}
  .hero__content{padding:calc(var(--nav-h) + 24px) 20px 48px}
  .hero__glow{width:90vw;right:-20vw;top:10%}
}
/* ---------- SÉLECTEUR DE POLICE (outil de prototype) ---------- */

/* ---------- MOBILE (provisoire, la vraie version dédiée viendra en phase 2) ---------- */
.burger{display:none;width:42px;height:42px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);place-items:center}
.drawer{display:none}
@media (max-width:1080px){
  .nav__links,.nav__actions .btn--ghost{display:none}
  .burger{display:grid}
  .nav__actions{margin-left:auto}
  .nav__bar{padding:0 20px;gap:12px}
  .mega{display:none}
  .drawer{display:block;position:fixed;inset:calc(var(--nav-h) + env(safe-area-inset-top,0px)) 0 0 0;background:var(--white);overflow:auto;padding:12px 20px 40px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:.3s var(--ease)}
  .drawer.is-open{transform:none;opacity:1;visibility:visible}
  .drawer details{border-bottom:1px solid var(--line)}
  .drawer summary,.drawer > a{display:flex;justify-content:space-between;padding:18px 4px;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:22px;list-style:none;border-bottom:1px solid var(--line)}
  .drawer details summary{border-bottom:0}
  .drawer details details summary{font-size:17px;padding:14px 4px;color:var(--grey-dark)}
  .drawer ul{list-style:none;padding:0 4px 14px;display:flex;flex-wrap:wrap;gap:8px}
  .drawer li a{display:inline-block;padding:9px 14px;border-radius:999px;background:var(--paper);font-size:14.5px}
  .drawer .btn{width:100%;margin-top:12px;height:50px}
  .filler{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}

/* ================= MOBILE (phase 2) : navbar et menu ================= */
.m-quote,.mmenu,.mbar{display:none}
@media (max-width:1080px){
  :root{--nav-h:64px}
  .drawer{display:none!important}
  html,body{overflow-x:hidden}
  .nav__actions .btn--accent:not(.m-quote){display:none}
  .hero__cta{flex-wrap:wrap}
  .hero__lead{max-width:none}
  .nav{transition:background .4s var(--ease),box-shadow .4s var(--ease),transform .45s var(--ease)}
  .nav.m-up{transform:translateY(-100%)}
  .nav.is-menu{background:var(--white);box-shadow:none;transform:none}
  .nav__bar{padding:0 16px 0 20px}
  .logo-svg{height:19px}
  .m-quote{display:inline-flex;height:38px;padding:0 16px;font-size:14px;transition:opacity .3s,transform .3s var(--ease)}
  .nav.is-menu .m-quote{opacity:0;transform:scale(.9);pointer-events:none}
  .burger{position:relative;width:44px;height:44px;display:block}
  .burger span{position:absolute;left:13px;right:13px;height:1.6px;border-radius:2px;background:var(--ink);transition:transform .45s var(--ease),top .45s var(--ease)}
  .burger span:first-child{top:18px}.burger span:last-child{top:25px}
  .burger[aria-expanded="true"] span:first-child{top:21.5px;transform:rotate(45deg)}
  .burger[aria-expanded="true"] span:last-child{top:21.5px;transform:rotate(-45deg)}

  /* menu plein écran */
  .mmenu{display:flex;flex-direction:column;position:fixed;inset:0;z-index:45;background:var(--white);
    padding-top:calc(var(--nav-h) + env(safe-area-inset-top,0px));
    clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease)}
  .mmenu[hidden]{display:flex;visibility:hidden}
  .mmenu.is-open{clip-path:inset(0 0 0 0);visibility:visible}
  .mmenu__scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:12px 20px 24px}
  .mmenu__cap{font-size:13px;color:var(--grey);margin:8px 0 6px}
  .macc details{border-bottom:1px solid var(--line)}
  .macc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:18px 0;cursor:pointer}
  .macc summary::-webkit-details-marker{display:none}
  .macc summary b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:26px;letter-spacing:-.02em}
  .macc summary i{width:32px;height:32px;border-radius:50%;background:var(--paper);position:relative;flex:none;transition:background .3s}
  .macc summary i::before,.macc summary i::after{content:"";position:absolute;left:10px;right:10px;top:15.25px;height:1.5px;background:var(--ink);transition:transform .35s var(--ease)}
  .macc summary i::after{transform:rotate(90deg)}
  .macc details[open] summary i{background:var(--accent)}
  .macc details[open] summary i::after{transform:rotate(0)}
  .mrail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20px;margin:0 -20px;padding:0 20px 20px;scrollbar-width:none}
  .mrail::-webkit-scrollbar{display:none}
  .mtile{flex:0 0 132px;scroll-snap-align:start;display:flex;flex-direction:column;gap:8px}
  .mtile .item__visual{aspect-ratio:1;border-radius:14px}
  .mtile > b{font-size:14px;font-weight:600}
  .mtile .spec b{font-size:34px}
  .mtile .spec--wide b{font-size:26px}
  .mtile small{font-size:12px;color:var(--grey);margin-top:-6px}
  .mtile--all{justify-content:center;align-items:center;background:var(--paper);border-radius:14px;aspect-ratio:1;flex-basis:132px;font-size:14px;font-weight:600;align-self:flex-start}
  .mlinks{display:flex;flex-direction:column;margin-top:18px}
  .mlinks a{display:flex;justify-content:space-between;align-items:center;padding:15px 0;font-size:19px;font-weight:500;border-bottom:1px solid var(--line)}
  .mlinks a::after{content:"";width:8px;height:8px;border-top:1.5px solid var(--grey);border-right:1.5px solid var(--grey);transform:rotate(45deg)}
  .mmenu__foot{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--white)}
  .mmenu__foot .btn{height:52px;width:100%;font-size:15px}
  /* apparition en cascade */
  .mmenu .stag{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
  .mmenu.is-open .stag{opacity:1;transform:none}

  /* barre d'action au pouce */
  .mbar{display:flex;gap:8px;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:44;
    transform:translateY(140%);transition:transform .5s var(--ease)}
  .mbar.is-on{transform:none}
  .mbar__main{flex:1;height:58px;border-radius:999px;background:var(--accent);color:var(--ink);display:flex;flex-direction:column;justify-content:center;padding:0 24px;box-shadow:0 14px 30px -12px rgba(14,38,38,.45)}
  .mbar__main span{font-size:16px;font-weight:600;line-height:1.1}
  .mbar__main small{font-size:12px;opacity:.75}
  .mbar__call{width:58px;height:58px;border-radius:50%;background:var(--ink);color:var(--white);display:grid;place-items:center;box-shadow:0 14px 30px -12px rgba(14,38,38,.45)}
}
@media (max-width:1080px) and (prefers-reduced-motion:reduce){.mmenu{transition:none}.mmenu .stag{transition:none}}

/* ================= MOBILE : hero ================= */
@media (max-width:1080px){
  .kv3-hero{height:auto;min-height:100svh;display:flex;flex-direction:column}
  .hero__media{position:relative;inset:auto;flex:none;height:calc(var(--nav-h) + 42svh)}
  #scene{top:var(--nav-h);height:calc(100% - var(--nav-h))}
  .hero__glow{left:50%;right:auto;top:calc(var(--nav-h) + 21svh);width:110vw;transform:translate(-50%,-50%)}
  .hero__content{height:auto;flex:1;padding:8px 20px 28px;justify-content:flex-end}
  .kv3-hero h1,.kv3-hero.is-video h1{font-size:clamp(40px,11.5vw,60px);max-width:none;line-height:.95}
  .hero__row{margin-top:18px;gap:26px}
  .hero__lead{font-size:16.5px}
  .hero__cta{flex-direction:column;gap:10px;margin-top:22px}
  .hero__row > div:first-child{width:100%}
  .hero__cta .btn{width:100%;height:54px}
  .trust{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);padding-top:18px}
  .trust div{gap:4px;padding:0 10px}
  .trust div:first-child{padding-left:0}
  .trust div + div{border-left:1px solid var(--line)}
  .trust b{font-size:22px}
  .trust span{font-size:12px}
  .scrollcue{display:none}
}
@media (max-width:1080px) and (max-height:700px){
  .hero__media{height:calc(var(--nav-h) + 34svh)}
  .hero__lead{display:none}
}

/* ================= MOBILE : qui sommes-nous ================= */
@media (max-width:1080px){
  .about{padding:88px 20px 72px}
  .about__label{margin-bottom:22px}
  .statement{font-size:clamp(28px,8.2vw,42px);line-height:1.1;max-width:none}
  .about__visual{margin-top:48px;height:auto;aspect-ratio:4/5;border-radius:24px;clip-path:inset(6% 10% 6% 10% round 24px)}
  .about__visual.in{clip-path:inset(0 0 0 0 round 24px)}
  .about__img::after{left:20px;bottom:calc(12% + 20px)}
  .about__tag{right:auto;left:16px;top:16px;font-size:12.5px;padding:8px 13px 8px 10px}
  .about__grid{margin-top:44px;gap:36px}
  .about__text p{font-size:16.5px}
  .facts{grid-template-columns:1fr 1fr;gap:10px;border-top:0}
  .fact,.fact:nth-child(odd),.fact:nth-child(even){padding:20px 16px 22px;border:0;background:var(--paper);border-radius:20px}
  .fact b{font-size:clamp(32px,9vw,42px)}
  .fact span{font-size:13px;margin-top:8px}
}

/* ================= MOBILE : services ================= */
.stabs,.sprog{display:none}
@media (max-width:1080px){
  .services{display:block;padding:24px 0 80px}
  .services__aside{padding:0 20px}
  .services__intro{font-size:16.5px}
  .stabs{display:flex;gap:8px;overflow-x:auto;margin:28px 0 16px;padding:0 20px;scrollbar-width:none;scroll-padding-inline:20px}
  .stabs::-webkit-scrollbar{display:none}
  .stabs button{flex:none;height:42px;padding:0 18px;border-radius:999px;font-size:14.5px;font-weight:600;color:var(--grey-dark);box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,color .3s,box-shadow .3s}
  .stabs button.on{background:var(--ink);color:var(--white);box-shadow:none}
  .scards{flex-direction:row;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20px;padding:0 20px 4px;scrollbar-width:none;overscroll-behavior-x:contain}
  .scards::-webkit-scrollbar{display:none}
  .scard{flex:0 0 86%;scroll-snap-align:start;display:flex;flex-direction:column;padding:12px;border-radius:24px}
  .scard.reveal-card{opacity:1;transform:none}
  .scard__visual{height:210px;border-radius:16px}
  .scard__body{display:flex;flex-direction:column;align-items:stretch;padding:22px 8px 8px;flex:1}
  .scard h3{font-size:28px}
  .scard p{font-size:15.5px;margin-top:8px}
  .chips{margin-top:16px;gap:6px}
  .chips a{font-size:13.5px;padding:7px 12px}
  .scard .btn{order:5;width:100%;height:50px;margin-top:auto;justify-self:auto}
  .chips{margin-bottom:18px}
  .strips div:hover{flex:1}
  .strips div em{display:none}
  .strips div{border-radius:10px}
  .sizes{padding:22px 16px;gap:6px}
  .sizes b{font-size:20px}
  .sizes small{font-size:10.5px}
  .sprog{display:flex;align-items:center;gap:14px;padding:18px 20px 0;font-size:13px;color:var(--grey);font-variant-numeric:tabular-nums}
  .sprog i{flex:1;height:2px;background:var(--line);border-radius:2px;overflow:hidden}
  .sprog b{display:block;height:100%;width:25%;background:var(--ink);transition:width .35s var(--ease)}
}

/* ================= MOBILE : nouveautés ================= */
@media (max-width:1080px){
  .news{padding:24px 20px 80px}
  .news__head{margin-bottom:28px;gap:16px}
  .bento{gap:12px}
  .ncard{padding:26px 22px;border-radius:24px}
  .ncard h3{font-size:27px}
  .ncard p{font-size:15.5px}
  .n-app{min-height:0;padding-bottom:0}
  .stores{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}
  .store{justify-content:center;height:48px;padding:0 10px}
  .kv3-phone{position:relative;left:auto;right:auto;bottom:auto;margin:36px auto -150px;width:250px;height:510px;border-radius:40px;transform:rotate(-3deg) translateY(40px)}
  .n-app.in .kv3-phone{transform:rotate(-3deg) translateY(0)}
  .screen{border-radius:31px}
  .map{height:180px}
  .n-quote .btn{width:100%;height:52px;margin-top:22px}
  .qdemo{padding:16px;margin-top:22px}
  .qrow b{font-size:13.5px}
  .n-blog__meta{padding-top:20px}
}

/* ================= MOBILE : avis ================= */
.rdots{display:none}
@media (max-width:1080px){
  .reviews{padding:24px 0 90px}
  .reviews__head{gap:22px}
  .score{width:100%;padding:16px 18px;gap:14px}
  .score__n{font-size:40px}
  .row{gap:12px;padding:0 20px 4px;scroll-padding-inline:20px;align-items:stretch}
  .rcard{width:84vw;max-width:340px;padding:22px;border-radius:22px;scroll-snap-align:start}
  .rcard q{font-size:15.5px}
  .rcard:hover{background:var(--paper);box-shadow:none}
  .rdots{display:flex;justify-content:center;gap:6px;margin-top:20px}
  .rdots i{width:6px;height:6px;border-radius:6px;background:var(--line);transition:width .35s var(--ease),background .35s}
  .rdots i.on{width:22px;background:var(--ink)}
}

/* ================= MOBILE : footer ================= */
@media (max-width:1080px){
  .foot{border-radius:32px 32px 0 0;margin-top:-32px;z-index:2}
  .foot__inner{padding:64px 20px 0}
  .foot__cta{gap:26px;padding-bottom:36px}
  .foot__cta h2{font-size:clamp(40px,11vw,54px)}
  .foot__btns{width:100%;flex-direction:column}
  .foot__btns .btn{width:100%;height:54px}
  .foot__cols{display:block;padding:28px 0 8px}
  .foot__cols > div:first-child{padding-bottom:30px}
  .news-form{max-width:none}
  .foot__cols > div + div{border-top:1px solid rgba(255,255,255,.14)}
  .foot__cols > div + div:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
  .foot__cols > div + div .foot__h{margin:0;padding:20px 0;font-size:17px;font-weight:600;color:var(--white);display:flex;justify-content:space-between;align-items:center;cursor:pointer}
  .foot__cols > div + div .foot__h::after{content:"";width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .35s var(--ease)}
  .foot__cols > div.is-open .foot__h::after{transform:rotate(-135deg) translateY(-2px)}
  .foot__cols > div + div ul{max-height:0;overflow:hidden;gap:14px;transition:max-height .45s var(--ease),padding .45s var(--ease)}
  .foot__cols > div.is-open ul{max-height:320px;padding-bottom:20px}
  .foot__cols a{font-size:16px}
  .foot__brand{margin-top:36px}
  .foot__legal{gap:14px;padding-top:18px}
  .foot__legal div{flex-wrap:wrap;gap:8px 18px}
  .foot .reveal-f{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .foot .reveal-f.in{opacity:1;transform:none}
  body.foot-in .mbar{transform:translateY(140%)}
}
@media (max-width:1080px) and (prefers-reduced-motion:reduce){.foot .reveal-f{opacity:1;transform:none}}

/* ================= PAGES INTERNES (routeur) ================= */
#pgView{display:none}
body.is-sub #pgHome{display:none}
body.is-sub #pgView{display:block}
.pg{max-width:1360px;margin:0 auto;padding:0 32px}
.crumbs{display:flex;gap:10px;font-size:13px;color:var(--grey);padding-top:calc(var(--nav-h) + 34px)}
.crumbs a:hover{color:var(--ink)}
.crumbs span[aria-current]{color:var(--ink)}
.crumbs i{font-style:normal;color:var(--line)}
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
.h-display{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);letter-spacing:-.025em;line-height:.98}

/* ---------- Service : hero ---------- */
.lv-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;min-height:calc(100vh - var(--nav-h) - 40px);padding-bottom:60px}
.lv-hero h1{font-size:clamp(56px,6.6vw,100px)}
.lv-hero h1 .line{display:block;overflow:hidden;padding-bottom:.06em}
.lv-hero h1 .line>span{display:block;transform:translateY(105%);transition:transform 1.1s var(--ease)}
.lv-hero.go h1 .line>span{transform:none}
.lv-hero h1 .line:nth-child(2)>span{transition-delay:.08s}
.lv-lead{max-width:46ch;font-size:18px;line-height:1.55;color:var(--grey-dark);margin:30px 0 34px}
.lv-cta{display:flex;gap:10px;flex-wrap:wrap}
.lv-cta .btn{height:50px;padding:0 26px;font-size:15px}
.lv-meta{display:flex;gap:44px;margin-top:56px;padding-top:26px;border-top:1px solid var(--line);max-width:560px}
.lv-meta b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:26px;letter-spacing:-.01em}
.lv-meta span{font-size:13px;color:var(--grey)}
.lv-hero .fade{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease) .5s,transform .9s var(--ease) .5s}
.lv-hero.go .fade{opacity:1;transform:none}

/* carotte de matériaux */
.core{position:relative;height:min(640px,72vh);display:flex;justify-content:flex-start;align-items:center;padding-left:6%}
.core__stack{position:relative;width:190px;height:100%;display:flex;flex-direction:column}
.core__band{position:relative;display:block;width:100%;transform:translateY(-130vh);
  transition:transform 1.15s cubic-bezier(.3,.9,.25,1),filter .35s,opacity .35s;cursor:pointer}
.core__band:first-child{border-radius:95px 95px 0 0}
.core__band:last-child{border-radius:0 0 95px 95px}
.core__band .tx{position:absolute;inset:0;border-radius:inherit}
.core__band .tx::after{content:"";position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(90deg,rgba(255,255,255,.28),rgba(255,255,255,0) 32%,rgba(0,0,0,0) 62%,rgba(14,38,38,.32))}
.core.go .core__band{transform:translateY(var(--split,0px))}
.core__band:focus-visible{outline-offset:6px}
.core__lbl{position:absolute;left:calc(100% + 26px);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:14px;white-space:nowrap;
  opacity:0;transition:opacity .6s var(--ease),color .3s}
.core__lbl::before{content:"";width:34px;height:1px;background:var(--line);transition:width .4s var(--ease),background .3s}
.core__lbl b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:19px;letter-spacing:-.01em}
.core__lbl small{font-size:12.5px;color:var(--grey);margin-left:2px}
.core.labels .core__lbl{opacity:1}
.core.hovering .core__band:not(.is-hot){opacity:.42}
.core.hovering .core__band:not(.is-hot) .core__lbl{color:var(--grey)}
.core .core__band.is-hot .core__lbl::before{width:54px;background:var(--accent)}
.core__shadow{position:absolute;bottom:-14px;left:calc(6% + 95px);width:260px;height:30px;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(closest-side,rgba(14,38,38,.22),transparent);opacity:0;transition:opacity 1s var(--ease) 1.2s}
.core.go .core__shadow{opacity:1}
.core__hint{position:absolute;right:0;bottom:6px;font-size:12.5px;color:var(--grey);opacity:0;transition:opacity .8s 2.2s}
.core.labels .core__hint{opacity:1}

/* ---------- Service : liste des familles ---------- */
.lv-sec{padding:120px 0}
.lv-head{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;margin-bottom:56px}
.lv-head h2{font-size:clamp(38px,4.4vw,64px)}
.lv-head p{font-size:16px;line-height:1.6;color:var(--grey-dark);max-width:44ch}
.fam{list-style:none;border-bottom:1px solid var(--line)}
.fam a{display:grid;grid-template-columns:1.05fr 1.15fr 1.3fr 150px;gap:32px;align-items:center;padding:34px 8px;border-top:1px solid var(--line);position:relative;transition:background .4s var(--ease)}
.fam__name{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(36px,3.6vw,54px);letter-spacing:-.025em;transition:transform .5s var(--ease)}
.fam__chips{display:flex;flex-wrap:wrap;gap:6px}
.fam__chips span{font-size:12.5px;padding:6px 11px;border-radius:999px;background:var(--paper);color:var(--grey-dark);transition:background .3s}
.fam__use{font-size:14.5px;line-height:1.55;color:var(--grey-dark);max-width:38ch}
.fam__go{display:flex;align-items:center;justify-content:flex-end;gap:14px;font-size:13px;color:var(--grey)}
.fam__go i{width:46px;height:46px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;transition:background .35s var(--ease),box-shadow .35s}
.fam__go i svg{transition:transform .35s var(--ease)}
.fam a:hover{background:linear-gradient(90deg,var(--paper),rgba(245,246,245,0))}
.fam a:hover .fam__name{transform:translateX(10px)}
.fam a:hover .fam__chips span{background:var(--white)}
.fam a:hover .fam__go i{background:var(--accent);box-shadow:none}
.fam a:hover .fam__go i svg{transform:rotate(-45deg)}
.peek{position:fixed;left:0;top:0;width:230px;height:290px;border-radius:22px;overflow:hidden;pointer-events:none;z-index:40;
  opacity:0;transform:translate3d(-50%,-50%,0) scale(.85);transition:opacity .35s var(--ease);box-shadow:0 30px 60px -20px rgba(14,38,38,.35)}
.peek.on{opacity:1}
.peek>div{position:absolute;inset:0;opacity:0;transition:opacity .35s}
.peek>div.on{opacity:1}
.peek>div::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 30% 20%,rgba(255,255,255,.25),transparent 60%)}

/* ---------- Service : déroulé ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative;padding-top:56px}
.steps::before,.steps::after{content:"";position:absolute;top:21px;left:0;height:1px;background:var(--line);right:0}
.steps::after{background:var(--ink);right:100%;transition:right 1.6s var(--ease) .2s}
.steps.in::after{right:0}
.step__n{position:absolute;top:-56px;width:42px;height:42px;border-radius:50%;background:var(--white);box-shadow:inset 0 0 0 1px var(--line);
  display:grid;place-items:center;font-size:14px;font-weight:600;transition:background .4s,box-shadow .4s}
.steps.in .step__n{background:var(--ink);color:var(--white);box-shadow:none}
.steps.in .step:nth-child(2) .step__n{transition-delay:.45s}.steps.in .step:nth-child(3) .step__n{transition-delay:.85s}.steps.in .step:nth-child(4) .step__n{transition-delay:1.25s}
.step{position:relative}
.step h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:23px;letter-spacing:-.01em;margin:22px 0 10px}
.step p{font-size:14.5px;line-height:1.6;color:var(--grey-dark);max-width:30ch}

/* ---------- Service : formats à l'échelle ---------- */
.scale{background:var(--paper);border-radius:32px;padding:64px 56px 40px}
.scale__row{display:flex;gap:48px;align-items:flex-end}
.scale__col{width:var(--w);flex:none;min-width:150px}
.scale__blk{position:relative;width:var(--w);border-radius:12px 12px 4px 4px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 2px,transparent 2px 9px),var(--ink);
  height:var(--h);transform:scaleY(0);transform-origin:bottom;transition:transform 1.1s var(--ease)}
.scale.in .scale__blk{transform:none}
.scale.in .scale__col:nth-child(2) .scale__blk{transition-delay:.15s}.scale.in .scale__col:nth-child(3) .scale__blk{transition-delay:.3s}
.scale__blk b{position:absolute;left:16px;top:14px;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;color:var(--white);font-size:19px;white-space:nowrap;opacity:0;transition:opacity .6s 1s}
.scale.in .scale__blk b{opacity:1}
.scale__blk--bag{border-radius:14px 14px 6px 6px;background:repeating-linear-gradient(90deg,rgba(14,38,38,.07) 0 1px,transparent 1px 10px),#fff;box-shadow:inset 0 0 0 1px #cfd5d3}
.scale__blk--bag b{color:var(--ink);top:auto;bottom:calc(100% + 8px);left:0}
.scale__col h3{font-size:16px;font-weight:600;margin:22px 0 6px;padding-top:18px;border-top:1px solid #d6dbd9}
.scale__col p{font-size:14px;line-height:1.55;color:var(--grey-dark);max-width:34ch}
.scale__col em{font-style:normal;display:block;font-size:13px;color:var(--grey);margin-top:8px}
.scale__note{font-size:12.5px;color:var(--grey);margin-top:34px}

/* ---------- FAQ ---------- */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.faq__side{position:sticky;top:calc(var(--nav-h) + 40px)}
.faq__side h2{font-size:clamp(36px,4vw,56px);margin-bottom:20px}
.faq__side p{font-size:15.5px;line-height:1.6;color:var(--grey-dark);max-width:36ch;margin-bottom:26px}
.qa{border-top:1px solid var(--line)}
.qa:last-child{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;cursor:pointer;font-size:18px;font-weight:500}
.qa summary::-webkit-details-marker{display:none}
.qa summary i{flex:none;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);position:relative;transition:background .3s,transform .4s var(--ease)}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.qa summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s var(--ease)}
.qa[open] summary i{background:var(--accent);box-shadow:none}
.qa[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.qa__a{overflow:hidden;height:0;transition:height .45s var(--ease)}
.qa__a p{padding:0 60px 26px 0;font-size:15.5px;line-height:1.65;color:var(--grey-dark)}

/* ---------- page à venir ---------- */
.soon{min-height:72vh;display:flex;flex-direction:column;justify-content:center;gap:22px;padding-bottom:80px}
.soon h1{font-size:clamp(48px,6vw,88px)}
.soon p{font-size:17px;color:var(--grey-dark);max-width:52ch;line-height:1.6}

@media (prefers-reduced-motion:reduce){
  .rv,.lv-hero h1 .line>span,.lv-hero .fade,.core__band{transform:none!important;opacity:1;transition:none}
  .core__lbl{opacity:1}.scale__blk{transition:none}
}

/* ---------- pages internes : tablette et mobile (passe mobile dédiée plus tard) ---------- */
@media (max-width:1080px){
  .pg{padding:0 20px}
  .crumbs{padding-top:calc(var(--nav-h) + 22px)}
  .lv-hero{grid-template-columns:1fr;min-height:0;gap:8px;padding-bottom:40px}
  .lv-hero h1{font-size:clamp(46px,13vw,72px);margin-top:26px}
  .lv-lead{font-size:16.5px;margin:20px 0 26px}
  .lv-cta .btn{flex:1}
  .lv-meta{gap:0;justify-content:space-between;margin-top:34px}
  .lv-meta b{font-size:22px}
  .core{height:420px;order:-1;margin-top:18px;padding-left:4%}
  .core__stack{width:104px}
  .core__shadow{left:calc(4% + 52px);width:180px}
  .core__band:first-child{border-radius:52px 52px 0 0}.core__band:last-child{border-radius:0 0 52px 52px}
  .core__lbl{left:calc(100% + 18px)}
  .core__lbl::before{width:20px}
  .core__hint{display:none}
  .lv-sec{padding:80px 0}
  .lv-head{grid-template-columns:1fr;gap:16px;margin-bottom:34px}
  .fam a{grid-template-columns:1fr auto;gap:14px 16px;padding:26px 0}
  .fam__chips{grid-column:1/-1;order:3}
  .fam__use{display:none}
  .fam__go span{display:none}
  .fam a:hover{background:none}
  .fam a:hover .fam__name{transform:none}
  .peek{display:none}
  .steps{grid-template-columns:1fr;gap:34px;padding-top:0;padding-left:64px}
  .steps::before,.steps::after{top:0;bottom:0;left:21px;width:1px;height:auto;right:auto}
  .steps::after{bottom:100%;transition:bottom 1.6s var(--ease) .2s}
  .steps.in::after{bottom:0}
  .step__n{left:-64px;top:0}
  .step h3{margin-top:6px}
  .scale{padding:32px 20px 26px;border-radius:24px;overflow-x:auto}
  .scale__row{width:max-content}
  .faq{grid-template-columns:1fr;gap:28px}
  .faq__side{position:static}
  .qa summary{font-size:16.5px;padding:22px 0}
  .qa__a p{padding-right:0}
}

/* ================= CATALOGUE (étape 2) ================= */
.ct-more[hidden],.ct-reset[hidden]{display:none!important}
body.is-sub .proto:not(.proto--cat){display:none}
.proto--cat .on,.proto--cat button.on{background:rgba(255,255,255,.14);color:#fff}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ct-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:end;padding:56px 0 64px}
.ct-hero h1{font-size:clamp(84px,11vw,168px);letter-spacing:-.04em}
.ct-hero h1 .line{display:block;overflow:hidden;padding-bottom:.04em}
.ct-hero h1 .line>span{display:block;transform:translateY(105%);transition:transform 1.1s var(--ease)}
.ct-hero.go h1 .line>span{transform:none}
.ct-hero .fade{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease) .35s,transform .9s var(--ease) .35s}
.ct-hero.go .fade{opacity:1;transform:none}
.ct-hero .lv-lead{margin:22px 0 30px}

/* réglette de granulométrie */
.ruler{background:var(--paper);border-radius:28px;padding:28px 30px 22px}
.ruler__cap{font-size:13px;color:var(--grey-dark);margin-bottom:14px}
.ruler__plot{position:relative;display:flex;flex-direction:column;gap:10px;padding-top:34px}
.ruler__ticks{position:absolute;inset:0;pointer-events:none}
.ruler__ticks span{position:absolute;top:0;bottom:0;transform:translateX(-50%);font-size:11.5px;color:var(--grey);font-variant-numeric:tabular-nums}
.ruler__ticks span::after{content:"";position:absolute;left:50%;top:22px;bottom:0;width:1px;background:#d9dedc}
.ruler__ticks span:first-child{transform:none}.ruler__ticks span:first-child::after{left:0}
.ruler__ticks span:last-child{transform:translateX(-100%)}.ruler__ticks span:last-child::after{left:auto;right:0}
.rbar{position:relative;display:block;height:46px;margin-left:var(--l);width:max(var(--w),74px);text-align:left;border-radius:12px;transition:opacity .3s,transform .3s var(--ease)}
.rbar__fill{position:absolute;inset:0;border-radius:12px;transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease);transition-delay:calc(.45s + var(--i)*.12s);
  box-shadow:inset 0 0 0 1px rgba(14,38,38,.06)}
.ruler.in .rbar__fill{transform:none}
.rbar__lbl{position:absolute;left:8px;top:50%;transform:translateY(-50%);display:flex;gap:8px;align-items:baseline;white-space:nowrap;
  background:rgba(255,255,255,.92);border-radius:8px;padding:5px 9px;font-size:12px;color:var(--grey-dark);opacity:0;transition:opacity .5s calc(.9s + var(--i)*.12s)}
.rbar__lbl b{font-size:13.5px;color:var(--ink);font-weight:600}
.ruler.in .rbar__lbl{opacity:1}
.rbar:hover{transform:translateY(-2px)}
.rbar.on .rbar__fill{box-shadow:inset 0 0 0 2px var(--accent),0 8px 20px -10px rgba(14,38,38,.4)}
.rbar.on .rbar__lbl{background:var(--accent)}
.ruler.has-sel .rbar:not(.on){opacity:.4}
.ruler__hint{font-size:12px;color:var(--grey);margin-top:18px}

/* barre de filtres collante */
.ct-bar{position:sticky;top:var(--nav-h);z-index:20;margin:0 -32px;padding:0 32px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:box-shadow .3s}
.ct-bar.is-stuck{box-shadow:0 1px 0 var(--line)}
.ct-bar__in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0;border-top:1px solid var(--line)}
.ct-bar.is-stuck .ct-bar__in{border-top-color:transparent}
.ct-filters{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.ct-filters::-webkit-scrollbar{display:none}
.chip{flex:none;height:38px;padding:0 16px;border-radius:999px;background:var(--paper);font-size:13.5px;font-weight:500;color:var(--grey-dark);transition:background .25s,color .25s}
.chip:hover{color:var(--ink)}
.chip.on{background:var(--ink);color:var(--white)}
.ct-right{display:flex;align-items:center;gap:10px;flex:none}
.seg{display:flex;background:var(--paper);border-radius:999px;padding:3px}
.seg button{height:32px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:500;color:var(--grey-dark);transition:background .25s,color .25s,box-shadow .25s}
.seg button.on{background:var(--white);color:var(--ink);box-shadow:0 1px 3px rgba(14,38,38,.12)}
.sort select{appearance:none;-webkit-appearance:none;height:38px;padding:0 34px 0 16px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1px var(--line);font:inherit;font-size:13.5px;font-weight:500;color:var(--ink);cursor:pointer;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5 5 6.5 8 3.5' fill='none' stroke='%230E2626' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") right 14px center no-repeat,var(--white)}

/* grille produits */
.ct-list{padding:26px 0 40px}
.ct-meta{display:flex;align-items:center;gap:18px;margin-bottom:24px;min-height:24px}
.ct-meta p{font-size:14px;color:var(--grey-dark)}
.ct-reset{font-size:13.5px;font-weight:500;border-bottom:1px solid var(--line);padding-bottom:1px}
.ct-reset:hover{border-color:var(--ink)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 28px}
.pgrid--many{grid-template-columns:repeat(4,1fr);gap:40px 22px}
.pcard{min-width:0;cursor:pointer;opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease) var(--d),transform .7s var(--ease) var(--d)}
.pcard.in{opacity:1;transform:none}
.pcard__vis{position:relative;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:var(--paper)}
.pcard__vis>div:first-child{position:absolute;inset:-4%;transition:transform 1.2s var(--ease)}
.pcard__vis::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 20% 0%,rgba(255,255,255,.18),transparent 55%),linear-gradient(transparent 60%,rgba(14,38,38,.18));pointer-events:none}
.pcard:hover .pcard__vis>div:first-child{transform:scale(1.07)}
.pcard__tags{position:absolute;left:14px;top:14px;z-index:1;display:flex;gap:6px}
.tag{font-size:11.5px;font-weight:500;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.9);color:var(--ink);backdrop-filter:blur(6px)}
.tag--eco{display:flex;align-items:center;gap:6px}
.tag--eco::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.pcard__body{padding:18px 4px 0}
.pcard__top{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.pcard h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:22px;letter-spacing:-.015em;line-height:1.15}
.pcard__gran{flex:none;font-size:13px;color:var(--grey);font-variant-numeric:tabular-nums}
.pcard p{font-size:14px;line-height:1.55;color:var(--grey-dark);margin-top:8px;max-width:40ch}
.pcard__foot{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.pcard__foot>span{flex:1;font-size:12.5px;color:var(--grey);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcard__quote{height:32px;padding:0 14px;border-radius:999px;font-size:12.5px;font-weight:600;box-shadow:inset 0 0 0 1px var(--line);opacity:0;transform:translateX(6px);transition:opacity .3s,transform .3s var(--ease),background .2s}
.pcard__quote:hover{background:var(--accent);box-shadow:none}
.pcard:hover .pcard__quote{opacity:1;transform:none}
.pcard__foot i{width:32px;height:32px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;transition:background .3s,box-shadow .3s}
.pcard__foot i svg{width:12px;transition:transform .35s var(--ease)}
.pcard:hover .pcard__foot i{background:var(--accent);box-shadow:none}
.pcard:hover .pcard__foot i svg{transform:rotate(-45deg)}
.pgrid--many .pcard h3{font-size:19px}
.pgrid--many .pcard p{display:none}
/* peu de produits : grandes cartes horizontales */
.pgrid--few{grid-template-columns:1fr;gap:20px}
.pgrid--few .pcard{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}
.pgrid--few .pcard__vis{aspect-ratio:16/9}
.pgrid--few .pcard h3{font-size:clamp(30px,3vw,44px)}
.pgrid--few .pcard__gran{font-size:15px}
.pgrid--few .pcard p{font-size:16px;margin-top:14px}
.pgrid--few .pcard__quote{opacity:1;transform:none}
.ct-empty{grid-column:1/-1;background:var(--paper);border-radius:24px;padding:48px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.ct-empty b{font-size:19px}.ct-empty p{color:var(--grey-dark);max-width:48ch;line-height:1.6;margin-bottom:8px}
.ct-more{display:flex;justify-content:center;margin-top:48px}
.ct-more .btn{height:48px;padding:0 26px}

/* guide et tableau comparatif (contenu SEO) */
.ct-guide{padding-top:100px}
.guide{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:36px 0 56px;border-top:1px solid var(--line)}
.guide h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:22px;margin-bottom:12px}
.guide p{font-size:15px;line-height:1.65;color:var(--grey-dark);max-width:40ch}
.ctab{overflow-x:auto;border-radius:24px;background:var(--paper);padding:10px 28px}
.ctab table{width:100%;border-collapse:collapse;min-width:640px}
.ctab th,.ctab td{text-align:left;padding:18px 16px 18px 0;font-size:14.5px;border-bottom:1px solid #dfe3e1;vertical-align:top}
.ctab thead th{font-size:12.5px;font-weight:500;color:var(--grey);padding-top:14px}
.ctab tbody tr:last-child th,.ctab tbody tr:last-child td{border-bottom:0}
.ctab tbody th{font-weight:600}
.ctab tbody th a:hover{text-decoration:underline;text-underline-offset:3px}
.ctab td{color:var(--grey-dark)}

/* autres familles */
.ofam{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ofam a{display:block}
.ofam__vis{aspect-ratio:5/4;border-radius:20px;margin-bottom:14px;transition:transform .6s var(--ease)}
.ofam a:hover .ofam__vis{transform:translateY(-4px)}
.ofam b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:21px}
.ofam small{font-size:13px;color:var(--grey)}

@media (max-width:1280px){.pgrid--many{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1080px){
  .ct-hero{grid-template-columns:1fr;gap:32px;padding:30px 0 40px}
  .ct-hero h1{font-size:clamp(64px,19vw,110px)}
  .ruler{padding:22px 18px 16px;border-radius:22px}
  .ct-bar{margin:0 -20px;padding:0 20px}
  .ct-bar__in{flex-direction:column;align-items:stretch;gap:10px;padding:10px 0}
  .ct-filters{margin:0 -20px;padding:0 20px}
  .ct-right{justify-content:space-between;gap:8px}
  .seg button{padding:0 11px}
  .sort select{width:132px;padding-right:28px}
  .pgrid,.pgrid--many{grid-template-columns:1fr 1fr;gap:28px 14px}
  .pcard h3,.pgrid--many .pcard h3{font-size:17px}
  .pcard__top{flex-direction:column;gap:4px}
  .pcard p{display:none}
  .pcard__quote{display:none}
  .pcard__vis{border-radius:16px}
  .pgrid--few .pcard{grid-template-columns:1fr;gap:16px}
  .pgrid--few .pcard p{display:block;font-size:15px}
  .guide{grid-template-columns:1fr;gap:26px}
  .ctab{padding:6px 18px;border-radius:18px}
  .ofam{grid-template-columns:1fr 1fr;gap:16px}
  .proto--cat{bottom:96px}
}
@media (max-width:560px){.pgrid,.pgrid--many{grid-template-columns:1fr}.pcard p{display:block}.pcard__top{flex-direction:row}}

/* ================= FICHE PRODUIT (étape 3) ================= */
.pd-hero{display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:start;padding:26px 0 72px}
.pd-stage{position:relative;aspect-ratio:1/1;max-height:76vh;width:100%;border-radius:32px;overflow:hidden;
  background:radial-gradient(90% 70% at 50% 35%,#FFFFFF 0%,#F1F3F2 55%,#E6EAE8 100%);cursor:grab;touch-action:pan-y}
.pd-stage.grab{cursor:grabbing}
.pd-view{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility 0s .5s}
.pd-view.on{opacity:1;visibility:visible;transition:opacity .5s var(--ease)}
.pd-view canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.pd-floor{position:absolute;left:50%;bottom:24%;width:74%;height:10%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(14,38,38,.2),transparent);pointer-events:none}
.pd-view canvas{z-index:1}
.pd-hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:2;font-size:12.5px;color:var(--grey);background:rgba(255,255,255,.8);padding:6px 12px;border-radius:999px;backdrop-filter:blur(8px)}
.pd-view--ph{display:grid;place-items:center;text-align:center;background:repeating-linear-gradient(135deg,#f2f4f3 0 12px,#eceff0 12px 24px)}
.pd-view--ph p{font-size:15px;font-weight:500}.pd-view--ph small{font-size:13px;color:var(--grey);font-weight:400}
.pd-thumbs{display:flex;gap:8px;margin-top:14px}
.pd-thumbs button{height:38px;padding:0 16px;border-radius:999px;font-size:13.5px;font-weight:500;color:var(--grey-dark);box-shadow:inset 0 0 0 1px var(--line);transition:background .25s,color .25s,box-shadow .25s}
.pd-thumbs button.on{background:var(--ink);color:var(--white);box-shadow:none}

.pd-info{padding-top:10px}
.pd-tags{display:flex;gap:6px}
.pd-tags .tag{background:var(--paper)}
.pd-info h1{font-size:clamp(56px,6.2vw,96px);margin:18px 0 14px;opacity:0;transform:translateY(20px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.pd-hero.go .pd-info h1{opacity:1;transform:none}
.pd-info>*:not(h1){opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease) .25s,transform .9s var(--ease) .25s}
.pd-hero.go .pd-info>*{opacity:1;transform:none}
.pd-sub{display:flex;align-items:center;gap:18px;font-size:14px;color:var(--grey-dark)}
.pd-sub>span{padding:6px 12px;border-radius:999px;background:var(--paper);font-weight:600;color:var(--ink)}
.pd-sub a{display:flex;align-items:center;gap:8px}
.pd-sub a b{color:var(--ink)}
.stars{display:inline-block;font-size:14px;letter-spacing:2px;line-height:1}
.stars::before{content:"★★★★★";background:linear-gradient(90deg,var(--ink) var(--r),#D5DAD8 var(--r));-webkit-background-clip:text;background-clip:text;color:transparent}
.pd-lead{font-size:17px;line-height:1.6;color:var(--grey-dark);margin:22px 0 24px;max-width:48ch}
.pd-keys{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-bottom:26px}
.pd-keys div{padding:12px 0;border-top:1px solid var(--line)}
.pd-keys dt{font-size:12.5px;color:var(--grey)}
.pd-keys dd{font-size:15px;font-weight:600;margin-top:3px}

.quote{background:var(--paper);border-radius:26px;padding:24px}
.quote__t{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:20px;margin-bottom:16px}
.quote__row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.fld{display:block}
.fld span{display:block;font-size:12.5px;color:var(--grey-dark);margin-bottom:6px}
.fld input{width:100%;height:50px;border:0;border-radius:14px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line);padding:0 16px;font:inherit;font-size:16px;color:var(--ink);transition:box-shadow .2s}
.fld input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--ink)}
.quote .seg{height:50px;align-items:center;padding:4px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line)}
.quote .seg button{height:40px}
.quote .seg button.on{background:var(--ink);color:var(--white);box-shadow:none}
.quote__conv{font-size:13px;color:var(--grey-dark);margin:9px 2px 16px;min-height:18px}
.quote__go{width:100%;height:56px;font-size:15.5px;margin-top:14px}
.quote__ok{font-size:13.5px;background:var(--white);border-radius:12px;padding:12px 14px;margin-top:10px;box-shadow:inset 0 0 0 1px var(--accent)}
.quote__re{list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:12.5px;color:var(--grey-dark)}
.quote__re li{display:flex;align-items:center;gap:6px}
.quote__re li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}

/* navigation de la fiche */
.pnav{position:sticky;top:var(--nav-h);z-index:20;margin:0 -32px;padding:0 32px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:box-shadow .3s}
.pnav.is-stuck{box-shadow:0 1px 0 var(--line)}
.pnav__in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:64px;border-top:1px solid var(--line)}
.pnav.is-stuck .pnav__in{border-top-color:transparent}
.pnav__links{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.pnav__links::-webkit-scrollbar{display:none}
.pnav__links a{flex:none;position:relative;padding:10px 14px;font-size:14px;font-weight:500;color:var(--grey-dark);border-radius:999px;transition:color .2s,background .2s}
.pnav__links a:hover{color:var(--ink)}
.pnav__links a.on{color:var(--ink);background:var(--paper)}
.pnav__buy{display:flex;align-items:center;gap:16px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}
.pnav.show-buy .pnav__buy{opacity:1;transform:none;pointer-events:auto}
.pnav__buy span{font-size:13.5px;color:var(--grey)}
.pnav__buy b{color:var(--ink);font-weight:600}

.pd-sec{padding:110px 0 0;scroll-margin-top:150px}
.pd-sec:last-child{padding-bottom:130px}

/* usages en coupe */
.usg{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.usg__v{aspect-ratio:13/8;border-radius:20px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line);background:var(--paper)}
.usg__v svg{width:100%;height:100%;display:block}
.usg__c h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:20px;margin:18px 0 8px}
.usg__c p{font-size:14.5px;line-height:1.6;color:var(--grey-dark)}
.u-pave{transform:translateY(-34px);opacity:0;transition:transform .7s cubic-bezier(.3,1.4,.5,1),opacity .3s;transition-delay:calc(.3s + var(--k)*.09s)}
.usg__c.in .u-pave{transform:none;opacity:1}
.u-arrow{animation:press 1.6s var(--ease) infinite}
@keyframes press{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
.u-slab{transform-origin:72px 64px;transform:rotate(-5deg);transition:transform 1.2s var(--ease) .4s}
.usg__c.in .u-slab{transform:none}
.u-pipe{transform-origin:130px 98px;transform:scale(.6);opacity:0;transition:transform .8s cubic-bezier(.3,1.4,.5,1) .3s,opacity .4s .3s}
.usg__c.in .u-pipe{transform:none;opacity:1}

/* caractéristiques + courbe */
.specs{display:grid;grid-template-columns:.95fr 1.05fr;gap:64px;align-items:start}
.specs h2{font-size:clamp(36px,3.8vw,54px);margin-bottom:28px}
.spec-tb div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--line)}
.spec-tb div:last-child{border-bottom:1px solid var(--line)}
.spec-tb dt{font-size:14.5px;color:var(--grey-dark)}
.spec-tb dd{font-size:14.5px;font-weight:600;text-align:right}
.dl{display:inline-flex;align-items:center;gap:12px;margin-top:26px;font-size:14.5px;font-weight:500}
.dl i{width:40px;height:40px;border-radius:50%;background:var(--accent);display:grid;place-items:center;transition:transform .3s var(--ease)}
.dl:hover i{transform:translateY(2px)}
.curve{background:var(--paper);border-radius:28px;padding:28px 28px 20px}
.curve figcaption{display:flex;flex-direction:column;gap:4px;margin-bottom:18px}
.curve figcaption b{font-size:16px}.curve figcaption span{font-size:13px;color:var(--grey)}
.cv{width:100%;height:auto;display:block}
.cv text{font-size:11.5px;fill:var(--grey);font-family:var(--body)}
.cv .cv-ax{font-size:12px;fill:var(--grey-dark)}
.cv-line{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease) .2s}
.curve.in .cv-line{stroke-dashoffset:0}
.cv-area{fill:var(--accent);opacity:0;transition:opacity 1s 1.2s}
.curve.in .cv-area{opacity:.16}
.cv-dot{fill:#fff;stroke:var(--ink);stroke-width:2;opacity:0;transition:opacity .4s;transition-delay:calc(.4s + var(--k)*.22s)}
.curve.in .cv-dot{opacity:1}
.curve__note{font-size:12px;color:var(--grey);margin-top:10px}

/* bon à savoir */
.know{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.know__c{border-radius:28px;padding:34px 34px 30px}
.know__c--yes{background:var(--paper)}
.know__c--no{box-shadow:inset 0 0 0 1px var(--line)}
.know__c h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:23px;margin-bottom:18px}
.know__c ul{list-style:none}
.know__c li{position:relative;padding:14px 0 14px 40px;border-top:1px solid rgba(14,38,38,.08);font-size:15.5px;line-height:1.5}
.know__c li::before{content:"";position:absolute;left:0;top:13px;width:24px;height:24px;border-radius:50%}
.know__c li::after{content:"";position:absolute}
.know__c--yes li::before{background:var(--accent)}
.know__c--yes li::after{left:8px;top:19px;width:8px;height:4.5px;border-left:1.8px solid var(--ink);border-bottom:1.8px solid var(--ink);transform:rotate(-45deg)}
.know__c--no li::before{box-shadow:inset 0 0 0 1.5px var(--grey)}
.know__c--no li::after{left:7px;top:20px;width:10px;height:10px;background:linear-gradient(45deg,transparent 44%,var(--grey-dark) 44% 56%,transparent 56%),linear-gradient(-45deg,transparent 44%,var(--grey-dark) 44% 56%,transparent 56%)}
.know__c--no li b{display:block;font-weight:600}
.know__c--no li span{display:block;font-size:14px;color:var(--grey-dark);margin-top:3px}
.know__c--no li i{display:none}

/* calculateur */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:56px;background:var(--ink);color:var(--white);border-radius:36px;padding:64px;position:relative;overflow:hidden}
.calc::before{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-220px;border-radius:50%;background:radial-gradient(closest-side,rgba(68,218,117,.22),transparent);pointer-events:none}
.calc h2{font-size:clamp(36px,3.8vw,54px)}
.calc>*{min-width:0}
.calc__in>p{color:rgba(255,255,255,.65);font-size:15.5px;line-height:1.6;margin:18px 0 34px;max-width:40ch}
.rng{display:block;margin-bottom:26px}
.rng span{display:flex;justify-content:space-between;font-size:14px;color:rgba(255,255,255,.7);margin-bottom:12px}
.rng output{font-weight:600;color:var(--white);font-variant-numeric:tabular-nums}
.rng input{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;background:rgba(255,255,255,.18);outline:none}
.rng input::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--accent);border:4px solid var(--ink);box-shadow:0 0 0 1px var(--accent);cursor:pointer}
.rng input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);border:4px solid var(--ink);cursor:pointer}
.calc__out{position:relative;display:flex;flex-direction:column;gap:26px}
.calc__viz{height:230px;border-radius:22px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative}
.iso{position:relative;width:var(--a,100px);height:var(--a,100px);transform:rotateX(60deg) rotateZ(-45deg);transform-style:preserve-3d;transition:width .35s var(--ease),height .35s var(--ease);margin-top:-18px}
.iso>div{position:absolute;background-size:120px}
.iso__top{inset:0;transform:translateZ(var(--h,8px));transition:transform .35s var(--ease)}
.iso__a{left:0;top:100%;width:100%;height:var(--h,8px);transform-origin:0 0;transform:rotateX(90deg);filter:brightness(.72);transition:height .35s var(--ease)}
.iso__b{left:0;top:0;width:var(--h,8px);height:100%;transform-origin:0 0;transform:rotateY(-90deg);filter:brightness(.55);transition:width .35s var(--ease)}
.calc__dim{position:absolute;bottom:16px;font-size:12.5px;color:rgba(255,255,255,.55)}
.calc__res{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:16px}
.calc__res b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:30px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.calc__res span{font-size:13px;color:rgba(255,255,255,.6)}
.calc .btn--accent{height:54px;align-self:flex-start;padding:0 26px}

/* avis */
.rvw{display:grid;grid-template-columns:.7fr 1.3fr;gap:64px;align-items:start}
.rvw__score{position:sticky;top:calc(var(--nav-h) + 100px)}
.rvw__score b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:120px;letter-spacing:-.04em;line-height:.9}
.rvw__score .stars{font-size:20px;margin:14px 0 10px}
.rvw__score span{display:block;font-size:14px;color:var(--grey-dark)}
.rvw__list blockquote{padding:30px 0;border-top:1px solid var(--line)}
.rvw__list blockquote:last-child{border-bottom:1px solid var(--line)}
.rvw__list p{font-size:clamp(18px,1.6vw,22px);line-height:1.5;margin:14px 0 18px;max-width:52ch}
.rvw__list footer{display:flex;gap:10px;font-size:14px}
.rvw__list footer span{color:var(--grey)}

/* guide SEO */
.art{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.art__side{position:sticky;top:calc(var(--nav-h) + 100px)}
.art__side h2{font-size:clamp(36px,3.8vw,54px)}
.art__body>div:not(.art__faq){padding-bottom:34px}
.art__body h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:24px;margin-bottom:12px}
.art__body p{font-size:16.5px;line-height:1.75;color:var(--grey-dark);max-width:62ch}
.art__faq{margin-top:20px}
.pd-rel{grid-template-columns:repeat(3,1fr)}

@media (prefers-reduced-motion:reduce){.u-arrow{animation:none}.u-pave,.u-pipe{transform:none;opacity:1}.cv-line{stroke-dashoffset:0}.cv-dot{opacity:1}}

@media (max-width:1080px){
  .pd-hero{grid-template-columns:1fr;gap:28px;padding:18px 0 48px}
  .pd-stage{border-radius:24px;max-height:none}
  .pd-info{padding-top:0}
  .pd-info h1{font-size:clamp(48px,14vw,72px)}
  .pnav{margin:0 -20px;padding:0 20px}
  .pnav__in{height:56px}
  .pnav__buy{display:none}
  .pd-sec{padding-top:80px}
  .usg{grid-template-columns:1fr 1fr;gap:24px 14px}
  .usg__c h3{font-size:17px}
  .specs,.know,.rvw,.art{grid-template-columns:1fr;gap:28px}
  .curve{padding:20px 14px 14px;border-radius:22px}
  .know__c{padding:26px 22px}
  .calc{grid-template-columns:1fr;gap:30px;padding:36px 22px;border-radius:28px}
  .calc__res b{font-size:22px}
  .calc .btn--accent{align-self:stretch}
  .rvw__score,.art__side{position:static}
  .rvw__score b{font-size:88px}
  .pd-rel{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){.usg{grid-template-columns:1fr}.pd-rel{grid-template-columns:1fr}.calc__res{grid-template-columns:1fr 1fr}.calc__res div:last-child{grid-column:1/-1}}

/* ================= LOCATION DE BENNE (étape 4) ================= */
.bsvg{width:100%;height:100%;display:block}
.lc-hero{grid-template-columns:1fr 1.05fr}
.nestw{align-self:center}
.nest{width:100%;height:auto;display:block;overflow:visible}
.nest__l{cursor:pointer}
.nest__l path{transform-origin:0 100%;transform:translateY(40px);opacity:0;transition:transform 1s var(--ease),opacity .7s,filter .3s;transition-delay:calc(.25s + var(--i)*.13s)}
.lv-hero.go .nest__l path,.lv-hero.go .nest__l text{transform:none;opacity:1}
.nest__t{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:22px;fill:var(--ink);opacity:0;transition:opacity .6s calc(.9s + var(--i)*.13s)}
.nest__t--l{fill:var(--ink)}
.nest__l:nth-child(n+6) .nest__t{fill:#fff}
.nest.hov .nest__l:not(.on) path{opacity:.35}
.nest .nest__l.on path{fill:var(--accent)}
.nest .nest__l.on text{fill:var(--ink)}
.nest .nest__l:not(.on) text{transition:opacity .3s}
.nest.hov .nest__l:not(.on) text{opacity:.25}
.nest__cap{font-size:12.5px;color:var(--grey);margin-top:14px}
.fam--vol .fam__chips span:first-child{font-variant-numeric:tabular-nums}
.wgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 22px}
.wcard__v{aspect-ratio:16/10;border-radius:18px;background:var(--paper);padding:10px 14px 4px;margin-bottom:14px}
.wcard b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:19px;margin-bottom:6px}
.wcard span{font-size:13.5px;line-height:1.55;color:var(--grey-dark)}

.bv-hero{grid-template-columns:1fr 1.1fr;align-items:center}
.bv-hero h1{font-size:clamp(64px,7.4vw,118px)}
.vtabs{display:inline-flex;background:var(--paper);border-radius:999px;padding:4px;margin-bottom:26px}
.vtabs a{height:36px;padding:0 15px;display:flex;align-items:center;border-radius:999px;font-size:13.5px;font-weight:500;color:var(--grey-dark);transition:background .25s,color .25s}
.vtabs a:hover{color:var(--ink)}
.vtabs a.on{background:var(--ink);color:var(--white)}
.bdim{background:var(--paper);border-radius:28px;padding:30px 30px 24px}
.bdim .bsvg{height:auto;max-height:300px}
.b-dims line{stroke:var(--grey);stroke-width:1.2;marker-start:none}
.b-dims text{font-size:15px;fill:var(--grey-dark);font-family:var(--body);font-weight:500}
.bdim figcaption{display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:16px;margin-top:18px;padding-top:18px;border-top:1px solid #dde2e0}
.bdim figcaption b{display:block;font-size:16px;font-weight:600}
.bdim figcaption span{font-size:12.5px;color:var(--grey)}
.bv-note{font-size:13px;color:var(--grey-dark);display:flex;align-items:center;gap:8px;white-space:nowrap}
.bv-note::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
.bcard[hidden]{display:none}
.bcard__vis{background:linear-gradient(#F6F7F7,#ECEFEE);display:flex;align-items:flex-end;padding:22px 18px 6px}
.bcard__vis .bsvg{height:auto;transition:transform .9s var(--ease)}
.pcard:hover .bcard__vis .bsvg{transform:translateY(-4px) scale(1.02)}
.bcard__vis::after{display:none}
.forbid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px}
.forbid div{position:relative;padding:20px 0 20px 40px;border-top:1px solid var(--line)}
.forbid div::before{content:"";position:absolute;left:0;top:19px;width:24px;height:24px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--grey)}
.forbid div::after{content:"";position:absolute;left:7px;top:26px;width:10px;height:10px;background:linear-gradient(45deg,transparent 44%,var(--grey-dark) 44% 56%,transparent 56%),linear-gradient(-45deg,transparent 44%,var(--grey-dark) 44% 56%,transparent 56%)}
.forbid b{display:block;font-size:15.5px;font-weight:600}
.forbid span{display:block;font-size:14px;color:var(--grey-dark);margin-top:4px;line-height:1.5}
.ofam__vis--b{background:var(--paper);display:flex;align-items:flex-end;padding:16px 14px 4px}

.bf-stage{background:radial-gradient(90% 70% at 50% 35%,#FFFFFF 0%,#F1F3F2 55%,#E3E8E6 100%)}
.bf-floor{bottom:26%;width:80%}
.bf-side{display:flex;align-items:center;padding:8%;background:var(--paper)}
.bf-side .bsvg{height:auto}
.pd-info .bf-w{color:var(--grey);font-size:.62em;letter-spacing:-.02em}
.seg--full{display:flex}
.seg--full button{flex:1}
.quote .seg--full{height:46px;padding:4px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line)}
.quote .seg--full button{height:38px;padding:0 8px}
.fld input[type=date]{font-size:15px}
.place{display:flex;flex-direction:column;gap:18px}
.place__c{border-radius:24px;padding:28px;background:var(--paper)}
.place__c--b{background:none;box-shadow:inset 0 0 0 1px var(--line)}
.place__c h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:21px;margin-bottom:10px}
.place__c p{font-size:15px;line-height:1.6;color:var(--grey-dark)}
.place__c .dl{margin-top:16px}
.trace{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center;background:var(--ink);color:var(--white);border-radius:36px;padding:64px;position:relative;overflow:hidden}
.trace::before{content:"";position:absolute;width:560px;height:560px;left:-200px;bottom:-300px;border-radius:50%;background:radial-gradient(closest-side,rgba(68,218,117,.18),transparent)}
.trace h2{font-size:clamp(36px,3.8vw,54px)}
.trace p{color:rgba(255,255,255,.68);font-size:15.5px;line-height:1.65;margin:18px 0 30px;max-width:50ch}
.trace__steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.trace__steps li{border-top:1px solid rgba(255,255,255,.18);padding-top:14px}
.trace__steps b{display:block;font-size:15px}
.trace__steps span{font-size:13px;color:rgba(255,255,255,.55)}
.ring{position:relative;width:min(300px,100%);aspect-ratio:1;justify-self:center}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:12}
.ring__bg{stroke:rgba(255,255,255,.1)}
.ring__fg{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.6s var(--ease)}
.trace.go .ring__fg{stroke-dashoffset:calc(100 - var(--p))}
.ring__t{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ring__t b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:64px;letter-spacing:-.03em;line-height:1}
.ring__t b::after{content:"%";font-size:.45em;margin-left:2px}
.ring__t span{font-size:12.5px;color:rgba(255,255,255,.6);margin-top:8px;line-height:1.45}
.pd-rel.pgrid .bcard{opacity:1;transform:none}

@media (max-width:1080px){
  .lc-hero{grid-template-columns:1fr}
  .lc-hero .nestw{order:-1;margin-top:20px}
  .wgrid{grid-template-columns:1fr 1fr;gap:22px 14px}
  .bv-hero{grid-template-columns:1fr}
  .bv-hero h1{font-size:clamp(46px,13vw,72px)}
  .vtabs{display:flex;overflow-x:auto;max-width:100%}
  .vtabs a{flex:none}
  .bdim{padding:20px 16px 16px;border-radius:22px}
  .bdim figcaption{grid-template-columns:1fr 1fr}
  .bv-note{display:none}
  .forbid{grid-template-columns:1fr}
  .trace{grid-template-columns:1fr;padding:36px 22px;border-radius:28px;gap:30px}
  .trace__steps{grid-template-columns:1fr}
}

.morph{background:var(--paper);border-radius:32px;padding:30px 30px 24px}
.morph__top{display:flex;align-items:baseline;justify-content:space-between;gap:20px;min-height:52px}
.morph__top b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:44px;letter-spacing:-.03em;white-space:nowrap}
.morph__top span{font-size:13.5px;color:var(--grey-dark);text-align:right;max-width:30ch}
.morph__svg{width:100%;height:auto;display:block;margin:12px 0 8px}
.morph__svg #mLink{cursor:pointer}
.morph__svg #mLink:hover #mBody{fill:#2C625B}
.morph__pills{display:flex;gap:6px;flex-wrap:wrap}
.morph__pills a{height:36px;padding:0 15px;display:flex;align-items:center;border-radius:999px;font-size:13.5px;font-weight:500;color:var(--grey-dark);background:var(--white);transition:background .25s,color .25s}
.morph__pills a.on{background:var(--ink);color:var(--white)}
.fam--vol a{grid-template-columns:1.05fr 1.15fr 1.3fr 190px}
.bv-hero h1,.bf-h1 .nw{white-space:nowrap}
.bv-hero h1{font-size:clamp(56px,6vw,96px)}
.pd-info .bf-h1{font-size:clamp(48px,4.8vw,78px)}
@media (max-width:1080px){.morph{padding:20px 16px 16px;border-radius:24px}.morph__top b{font-size:32px}.morph__top span{display:none}.fam--vol a{grid-template-columns:1fr auto}.bv-hero h1{font-size:clamp(44px,12vw,64px)}.pd-info .bf-h1{font-size:clamp(40px,11vw,60px)}}

/* ================= ÉVACUATION (étape 5) ================= */
.ev-hero{grid-template-columns:1fr 1.1fr}
.flow{background:var(--paper);border-radius:32px;padding:26px 22px 20px}
.flow figcaption{font-size:12.5px;color:var(--grey);margin-top:8px;padding-left:6px}
.fl{width:100%;height:auto;display:block;overflow:visible}
.fl-trunk{fill:none;stroke:#DCE1DF;stroke-width:26;stroke-linecap:round}
.fl-p{fill:none;stroke:#DCE1DF;stroke-width:9;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset 1.6s var(--ease);transition-delay:calc(.5s + var(--k)*.12s)}
.lv-hero.go .fl-p{stroke-dashoffset:0}
.fl-n{opacity:0;transition:opacity .6s;transition-delay:calc(1.3s + var(--k)*.12s)}
.lv-hero.go .fl-n{opacity:1}
.fl-t{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:17px;fill:var(--ink)}
.fl-s{font-size:12.5px;fill:var(--grey)}
.dbadge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ink)}
.dbadge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c)}
.fam .dbadge{background:var(--paper)}
.fam a:hover .dbadge{background:var(--white)}
.factors{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.factors>div{background:var(--paper);border-radius:26px;padding:30px}
.factors i{font-style:normal;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;font-size:14px;font-weight:600;margin-bottom:40px}
.factors h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:22px;margin-bottom:10px}
.factors p{font-size:14.5px;line-height:1.6;color:var(--grey-dark)}
.dpanel{background:var(--paper);border-radius:28px;padding:28px 24px 20px}
.drow{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 12px;border-radius:16px;transition:background .25s,opacity .25s}
.drow:hover{background:var(--white)}
.drow.on{background:var(--white);box-shadow:inset 0 0 0 2px var(--accent)}
.dpanel.has-sel .drow:not(.on){opacity:.45}
.drow__dot{flex:none;width:12px;height:12px;border-radius:50%}
.drow__n{flex:1}.drow__n b{display:block;font-size:16px;font-weight:600}.drow__n small{font-size:13px;color:var(--grey)}
.drow__c{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:22px;color:var(--grey)}
.pcard[hidden]{display:none}
.an{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;background:var(--paper);border-radius:36px;padding:56px}
.an h2{font-size:clamp(36px,3.8vw,54px)}
.an p{font-size:15.5px;line-height:1.65;color:var(--grey-dark);margin:18px 0 28px;max-width:52ch}
.an .btn{height:52px;padding:0 24px}
.an__steps{list-style:none;counter-reset:a;display:flex;flex-direction:column;gap:0}
.an__steps li{counter-increment:a;position:relative;padding:22px 0 22px 62px;border-top:1px solid #dde2e0}
.an__steps li:last-child{border-bottom:1px solid #dde2e0}
.an__steps li::before{content:counter(a);position:absolute;left:0;top:18px;width:40px;height:40px;border-radius:50%;background:var(--white);display:grid;place-items:center;font-weight:600;font-size:14px}
.an__steps b{display:block;font-size:17px}
.an__steps span{font-size:14px;color:var(--grey-dark)}
.ofam--3{grid-template-columns:repeat(2,1fr)}
.ofam--3 .ofam__vis{aspect-ratio:16/8}

.route{display:flex;align-items:center;gap:0;background:var(--paper);border-radius:32px;padding:48px 40px}
.route__n{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:200px}
.route__i{width:44px;height:44px;border-radius:50%;background:var(--white);box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;font-weight:600;font-size:14px;margin-bottom:12px;transition:background .4s,color .4s}
.route.go .route__i{background:var(--ink);color:#fff;box-shadow:none}
.route__n--end .route__i{transition-delay:1.6s}
.route.go .route__n--end .route__i{background:var(--c);color:var(--ink)}
.route__n b{font-size:18px;font-weight:600}
.route__n small{font-size:13px;color:var(--grey-dark);line-height:1.45}
.route__l{flex:1;position:relative;height:2px;background:repeating-linear-gradient(90deg,#c9cfcd 0 8px,transparent 8px 14px);margin:0 18px 54px}
.route__truck{position:absolute;left:0;top:-36px;transform:translateX(-10%);opacity:0}
.route.go .route__truck{animation:drive 4.5s var(--ease) .3s infinite}
@keyframes drive{0%{left:0;opacity:0}12%{opacity:1}80%{opacity:1}100%{left:100%;opacity:0}}
.route__docs{list-style:none;margin-top:22px;padding:0 6px}
.route__docs li{border-top-color:var(--line)}
.route__docs span{color:var(--grey-dark)}
.seg--dark{background:rgba(255,255,255,.08);display:inline-flex}
.seg--dark button{color:rgba(255,255,255,.7)}
.seg--dark button.on{background:var(--white);color:var(--ink)}
.trucks{min-height:170px;border-radius:22px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);padding:20px;display:flex;flex-wrap:wrap;align-content:center;gap:8px 10px}
.trucks i{width:40px;animation:tpop .4s var(--ease) both;animation-delay:calc(var(--k)*25ms)}
.trucks svg{width:100%;display:block}
.trucks em{font-style:normal;align-self:center;font-weight:600;color:var(--accent);margin-left:6px}
@keyframes tpop{from{opacity:0;transform:translateY(6px) scale(.8)}to{opacity:1;transform:none}}

@media (max-width:1080px){
  .ev-hero{grid-template-columns:1fr}
  .ev-hero .flow{order:-1;margin-top:20px;padding:16px 10px 14px;border-radius:24px}
  .factors{grid-template-columns:1fr}
  .factors i{margin-bottom:22px}
  .an{grid-template-columns:1fr;padding:32px 22px;border-radius:28px;gap:26px}
  .ofam--3{grid-template-columns:1fr 1fr}
  .route{flex-direction:column;align-items:flex-start;padding:28px 22px;border-radius:24px}
  .route__n{width:auto}
  .route__l{width:2px;height:46px;flex:none;margin:8px 0 8px 21px;background:repeating-linear-gradient(180deg,#c9cfcd 0 8px,transparent 8px 14px)}
  .route__truck{display:none}
}

/* ================= AFFRÈTEMENT (étape 6) ================= */
.tk{width:100%;height:auto;display:block;overflow:visible}
.tk-gr{stroke:#D5DAD8;stroke-width:1.5}
.tk--fill .tk-cab{fill:#1F4A45;stroke:#0E2626;stroke-width:1.5}
.tk--fill .tk-win{fill:#BFD3CF;stroke:#0E2626;stroke-width:1}
.tk--fill .tk-dk{fill:#0E2626}
.tk--fill .tk-body{fill:#E1E7E5;stroke:#0E2626;stroke-width:1.5;stroke-linejoin:round}
.tk--fill .tk-side{fill:#C9D3D0;stroke:#0E2626;stroke-width:1}
.tk--fill .tk-rib{fill:#0E2626;opacity:.35}
.tk--fill .tk-crane{fill:#44DA75;stroke:#0E2626;stroke-width:1.4;stroke-linejoin:round}
.tk--fill .tk-w{fill:#0E2626}
.tk--fill .tk-h{fill:#9AA3A8}
/* plan technique : traits qui se dessinent, puis remplissage léger */
.tk--line path,.tk--line .tk-w{fill:transparent;stroke:#0E2626;stroke-width:1.6;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--ease),fill .6s 1.2s}
.tk--line .tk-h{fill:#0E2626;opacity:0;transition:opacity .4s 1.1s}
.tk--line.go path,.tk--line.go .tk-w{stroke-dashoffset:0}
.tk--line.go .tk-h{opacity:1}
.tk--line.go .tk-cab{fill:rgba(31,74,69,.12)}
.tk--line.go .tk-body{fill:rgba(68,218,117,.12)}
.tk--line.go .tk-crane{fill:rgba(68,218,117,.35)}
.tk--line.go .tk-dk{fill:#0E2626}
.tk--line .b-human{opacity:.5}
.bp{background:linear-gradient(rgba(14,38,38,.05) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,rgba(14,38,38,.05) 1px,transparent 1px) 0 0/24px 24px,var(--paper);border-radius:32px;padding:28px 28px 22px}
.bp__top{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:8px}
.bp__top b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:38px;letter-spacing:-.03em}
.bp__top span{font-size:13.5px;color:var(--grey-dark)}
.bp__draw{min-height:250px;display:flex;align-items:flex-end;margin-bottom:14px}
.bp .morph__pills a{background:rgba(255,255,255,.9)}
.bp .morph__pills a.on{background:var(--ink)}
.af-hero{grid-template-columns:1fr 1.15fr}

.pick{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;background:var(--ink);color:#fff;border-radius:36px;padding:56px;position:relative;overflow:hidden}
.pick::before{content:"";position:absolute;width:560px;height:560px;right:-220px;top:-260px;border-radius:50%;background:radial-gradient(closest-side,rgba(68,218,117,.2),transparent)}
.pick h2{font-size:clamp(36px,3.8vw,54px)}
.pick__q>p{color:rgba(255,255,255,.65);margin:14px 0 30px}
.pick__g{margin-bottom:20px}
.pick__g>span{display:block;font-size:14px;color:rgba(255,255,255,.75);margin-bottom:10px}
.seg--wrap{flex-wrap:wrap;border-radius:18px}
.seg--dark button{height:38px;padding:0 16px;font-size:13.5px}
.pick__r{position:relative;display:flex;flex-direction:column;justify-content:flex-end;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);border-radius:26px;padding:26px;transition:background .3s}
.pick__r:hover{background:rgba(255,255,255,.1)}
.pick__r.pop .pick__v,.pick__r.pop b{animation:tpop .5s var(--ease) both}
.pick__lbl{position:absolute;top:22px;left:26px;font-size:12.5px;color:var(--accent);font-weight:500}
.pick__v{margin:40px 0 18px;background:#fff;border-radius:18px;padding:16px 14px 6px}
.pick__r b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:30px;letter-spacing:-.02em}
.pick__r p{color:rgba(255,255,255,.7);font-size:14.5px;line-height:1.55;margin:8px 0 16px}
.pick__go{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--accent)}

.vcard__vis{background:linear-gradient(#F6F7F7,#ECEFEE);display:flex;align-items:center;padding:30px 16px 4px}
.vcard__vis::after{display:none}
.vcard__vis .tk{transition:transform .9s var(--ease)}
.pcard:hover .vcard__vis .tk{transform:translateX(6px)}
.pgrid--three{grid-template-columns:repeat(3,1fr)}

.af-stage{background:linear-gradient(rgba(14,38,38,.05) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,rgba(14,38,38,.05) 1px,transparent 1px) 0 0/24px 24px,var(--paper);cursor:default;aspect-ratio:5/4}
.af-plan,.af-fill{position:absolute;inset:0;display:flex;align-items:center;padding:6%}
.hot{cursor:pointer;opacity:0;transition:opacity .5s;transition-delay:calc(1.6s + var(--i)*.15s)}
.tk.go .hot{opacity:1}
.hot circle{fill:var(--accent);stroke:#fff;stroke-width:3;animation:hp 2s var(--ease) infinite}
.hot path{stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-dasharray:none!important;stroke-dashoffset:0!important;fill:none!important}
@keyframes hp{0%,100%{r:13}50%{r:15}}
.tip{position:absolute;z-index:5;transform:translate(-50%,-100%);background:var(--ink);color:#fff;font-size:13px;font-weight:500;padding:8px 12px;border-radius:10px;white-space:nowrap;pointer-events:none}
.stepper{display:flex;align-items:center;height:50px;background:var(--white);border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);padding:4px}
.stepper button{width:40px;height:42px;border-radius:10px;font-size:20px}
.stepper button:hover{background:var(--paper)}
.stepper output{min-width:34px;text-align:center;font-weight:600}
.quote__row--2{grid-template-columns:1fr 1fr}
.payload .pl{display:flex;height:84px;border-radius:16px;overflow:hidden;margin:4px 0 26px;background:#e3e8e6}
.pl>div{position:relative;width:0;transition:width 1.4s var(--ease);padding:14px 16px;overflow:hidden;white-space:nowrap}
.payload.in .pl>div{width:var(--w)}
.pl__e{background:#C7D1CE}
.pl__u{background:var(--accent);transition-delay:.3s!important}
.pl b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:24px}
.pl span{font-size:12.5px;color:var(--grey-dark)}
.pl__u span{color:var(--ink)}
.pl__cmp{display:flex;flex-direction:column;gap:10px}
.pl__cmp div{display:grid;grid-template-columns:52px 1fr 48px;align-items:center;gap:12px;font-size:13px;color:var(--grey-dark)}
.pl__cmp i{display:block;height:8px;border-radius:8px;background:#d3dad7;width:0;transition:width 1.2s var(--ease) .6s}
.payload.in .pl__cmp i{width:var(--w)}
.pl__cmp div.on{color:var(--ink);font-weight:600}
.pl__cmp div.on i{background:var(--ink)}
.pl__cmp b{text-align:right;font-weight:600}
.acc{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.acc>div{border-radius:26px;padding:30px;box-shadow:inset 0 0 0 1px var(--line)}
.acc__n{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:44px;letter-spacing:-.03em;margin-bottom:20px}
.acc b{display:block;font-size:17px;margin-bottom:8px}
.acc p{font-size:14.5px;line-height:1.6;color:var(--grey-dark)}

@media (max-width:1080px){
  .af-hero{grid-template-columns:1fr}
  .af-hero .bp{order:-1;margin-top:20px;padding:20px 14px 16px;border-radius:24px}
  .bp__top b{font-size:28px}.bp__top span{display:none}
  .bp__draw{min-height:150px}
  .pick{grid-template-columns:1fr;padding:32px 20px;border-radius:28px;gap:26px}
  .pgrid--three{grid-template-columns:1fr 1fr}
  .af-stage{aspect-ratio:4/3}
  .acc{grid-template-columns:1fr}
}
@media (max-width:560px){.pgrid--three{grid-template-columns:1fr}}

/* ================= PASSE MOBILE (étape 7) ================= */
@media (max-width:1080px){
  /* les barres collantes remontent quand la navbar se cache */
  .pnav,.ct-bar{transition:top .35s var(--ease),box-shadow .3s}
  body:has(#nav.m-up) .pnav,body:has(#nav.m-up) .ct-bar{top:0}
  .crumbs{white-space:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding-left:20px;padding-right:20px}
  .crumbs::-webkit-scrollbar{display:none}
  /* carrousels au doigt */
  .usg,.pd-rel.pgrid,.ofam,.factors,.acc,.guide{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -20px;padding:0 20px 6px;gap:14px}
  .usg::-webkit-scrollbar,.pd-rel::-webkit-scrollbar,.ofam::-webkit-scrollbar,.factors::-webkit-scrollbar,.acc::-webkit-scrollbar,.guide::-webkit-scrollbar{display:none}
  .usg>*,.pd-rel>*,.factors>*,.acc>*,.guide>*{flex:0 0 80%;scroll-snap-align:start;scroll-margin-left:20px}
  .ofam>*{flex:0 0 58%;scroll-snap-align:start;scroll-margin-left:20px}
  .guide{border-top:0;padding-top:4px}
  .guide>div{background:var(--paper);border-radius:22px;padding:24px}
  .usg__c.rv,.pd-rel .pcard{opacity:1;transform:none}
  .swipe-hint{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--grey);margin:-18px 0 16px}
  .swipe-hint::after{content:"";width:28px;height:1px;background:currentColor;animation:sw 1.8s var(--ease) infinite}
  @keyframes sw{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
  /* fiches : le module de devis passe juste sous le titre */
  .pd-info{display:flex;flex-direction:column}
  .pd-info .pd-keys{order:5;margin:22px 0 0}
  .pd-info .quote{order:4}
  .pd-lead{margin-bottom:20px}
  .quote{border-radius:22px;padding:20px 16px}
  .quote__re{gap:6px 12px}
  .pd-thumbs{overflow-x:auto;scrollbar-width:none}
  .pd-thumbs button{flex:none}
  .pnav__links a{padding:9px 12px;font-size:13.5px}
  .tip{white-space:normal;max-width:220px;text-align:center}
}
@media (max-width:1080px) and (min-width:561px){.swipe-hint{display:none}}
@media (min-width:1081px){.swipe-hint{display:none}}
@media (max-width:560px){
  /* catalogues : liste compacte, vignette à gauche */
  .pgrid:not(.pd-rel),.pgrid--many:not(.pd-rel),.pgrid--few:not(.pd-rel),.pgrid--three:not(.pd-rel){display:flex;flex-direction:column;gap:0}
  .pgrid:not(.pd-rel) .pcard{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
  .pgrid:not(.pd-rel) .pcard:first-child{border-top:1px solid var(--line)}
  .pgrid:not(.pd-rel) .pcard__vis{aspect-ratio:1;border-radius:14px}
  .pgrid:not(.pd-rel) .bcard__vis,.pgrid:not(.pd-rel) .vcard__vis{padding:10px 6px;align-items:center}
  .pgrid:not(.pd-rel) .pcard__tags{display:none}
  .pgrid:not(.pd-rel) .pcard__body{padding:0;position:relative;padding-right:36px}
  .pgrid:not(.pd-rel) .pcard__top{flex-direction:column;gap:2px}
  .pgrid:not(.pd-rel) .pcard h3{font-size:17px}
  .pgrid:not(.pd-rel) .pcard__gran{font-size:12.5px}
  .pgrid:not(.pd-rel) .pcard p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;margin-top:4px}
  .pgrid:not(.pd-rel) .pcard__foot{position:absolute;right:0;top:50%;transform:translateY(-50%);margin:0;padding:0;border:0}
  .pgrid:not(.pd-rel) .pcard__foot>span,.pgrid:not(.pd-rel) .pcard__quote{display:none}
  .ct-meta{margin-bottom:10px}
  .ct-hero h1{font-size:clamp(56px,17vw,84px)}
  .lv-head h2,.faq__side h2{font-size:clamp(32px,9.5vw,42px)}
  .lv-sec{padding:64px 0}
  .pd-sec{padding-top:64px}
  .rvw__list p{font-size:17px}
  .calc__res b{font-size:20px}
  .know__c li{font-size:15px}
  .trace,.calc,.pick,.an{border-radius:24px}
}
@media (max-width:1080px){
  .proto.proto--cat{left:12px;right:auto;bottom:88px;top:auto;width:auto;height:auto;max-width:none;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;padding:8px 10px;border-radius:12px;font-size:12px}
  .proto.proto--cat button{padding:5px 9px}
  .bv-hero h1,.bf-h1 .nw{white-space:normal}
  .bv-hero .ct-hero__txt,.ct-hero>*{min-width:0}
}
@media (max-width:560px){.quote .seg--full button{font-size:12.5px;padding:0 4px;white-space:nowrap}.quote .seg--full{height:44px}}

/* ================= DONNÉES RÉELLES ================= */
.proto--cat{display:none!important}
.pcard__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pcard:hover .pcard__img{transform:scale(1.06)}
.pcard__price{color:var(--ink)!important;font-weight:600;font-size:13px!important}
.pd-gal{background:var(--paper)}
.pd-gal__main{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pd-gal__th{position:absolute;left:14px;bottom:14px;display:flex;gap:6px;z-index:2}
.pd-gal__th button{width:54px;height:54px;border-radius:12px;overflow:hidden;box-shadow:0 0 0 2px rgba(255,255,255,.8);opacity:.75;transition:opacity .2s,box-shadow .2s}
.pd-gal__th button.on{opacity:1;box-shadow:0 0 0 2px var(--accent)}
.pd-gal__th img{width:100%;height:100%;object-fit:cover}
.ofam__vis--img{overflow:hidden;background:var(--paper)}
.ofam__vis--img img{width:100%;height:100%;object-fit:cover}
.upills{display:flex;flex-wrap:wrap;gap:8px;margin:-10px 0 40px}
.upills span{font-size:15px;padding:10px 16px;border-radius:999px;background:var(--paper)}
.rich-wrap{margin-top:48px}
.rich{max-width:820px}
.rich>h3,.art__fq{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:24px;margin-bottom:14px}
.rich__b,.rich--rt{font-size:16px;line-height:1.75;color:var(--grey-dark)}
.rich__b p,.rich--rt p{margin-bottom:14px}
.rich__b h2,.rich__b h3,.rich--rt h2,.rich--rt h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;color:var(--ink);font-size:20px;margin:26px 0 10px;letter-spacing:-.01em}
.rich--rt h2{font-size:24px}
.rich__b ul,.rich--rt ul,.rich__b ol{padding-left:20px;margin-bottom:14px}
.rich__b li,.rich--rt li{margin-bottom:6px}
.rich__b strong,.rich--rt strong{color:var(--ink);font-weight:600}
.rich__b table,.rich--rt table{width:100%;border-collapse:collapse;margin:14px 0 18px;font-size:14.5px;display:block;overflow-x:auto}
.rich__b th,.rich__b td,.rich--rt th,.rich--rt td{text-align:left;padding:10px 14px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.rich__b th,.rich--rt th{font-weight:600;color:var(--ink);font-size:13px}
.art__body .rich{padding-bottom:30px}
.art__fq{margin-top:10px}
.keypoint{background:var(--ink);color:#fff;border-radius:26px;padding:32px 36px;max-width:900px;position:relative;overflow:hidden}
.keypoint span{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--accent);font-weight:600;margin-bottom:12px}
.keypoint span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.keypoint p{font-size:clamp(18px,1.7vw,22px);line-height:1.5}
.quote__price{background:var(--white);border-radius:14px;padding:14px 16px;margin:-4px 0 16px;font-size:13.5px;color:var(--grey-dark);line-height:1.5;box-shadow:inset 0 0 0 1px var(--line)}
.quote__price b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:26px;color:var(--ink);margin-bottom:2px}
.gb{--lab:92px;position:relative;padding-top:30px}
.gb__axis{position:absolute;top:0;bottom:0;left:var(--lab);right:0;pointer-events:none}
.gb__axis span{position:absolute;top:0;bottom:0;transform:translateX(-50%);font-size:11px;color:var(--grey)}
.gb__axis span::after{content:"";position:absolute;left:50%;top:20px;bottom:0;width:1px;background:#dde2e0}
.gb__axis span:first-child{transform:none}.gb__axis span:first-child::after{left:0}
.gb__row{display:grid;grid-template-columns:var(--lab) 1fr;align-items:center;height:34px;margin-bottom:6px}
.gb__row>span{font-size:12px;color:var(--grey)}
.gb__t{position:relative;height:100%}
.gb__t i{position:absolute;top:9px;height:16px;border-radius:8px;background:#d3dad7;transform-origin:left;transform:scaleX(0);transition:transform 1.2s var(--ease)}
.curve.in .gb__t i{transform:none}
.gb__row--p{height:44px;margin-top:6px}
.gb__row--p>span{color:var(--ink);font-weight:600;font-size:13px}
.gb__row--p .gb__t i{top:10px;height:24px;background:var(--accent);transition-delay:.4s}
.pcard p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:1080px){.keypoint{padding:24px 20px;border-radius:22px}.rich__b,.rich--rt{font-size:15.5px}.pd-gal__th button{width:44px;height:44px}}

/* ================= PASSE CRITIQUE ================= */
.art[hidden]{display:none!important}
.fold{position:relative;max-height:720px;overflow:hidden;transition:max-height .6s var(--ease)}
.fold::after{content:"";position:absolute;left:0;right:0;bottom:0;height:180px;background:linear-gradient(rgba(255,255,255,0),#fff);pointer-events:none;transition:opacity .4s}
.fold.open{max-height:none}
.fold.open::after{opacity:0}
.fold__btn{margin-top:18px;height:48px;padding:0 22px}
.toc{list-style:none;counter-reset:t;margin-top:28px;border-top:1px solid var(--line)}
.toc li{counter-increment:t;border-bottom:1px solid var(--line)}
.toc a{display:grid;grid-template-columns:28px 1fr;gap:6px;padding:12px 0;font-size:14px;line-height:1.45;color:var(--grey-dark);transition:color .2s}
.toc a::before{content:counter(t,decimal-leading-zero);font-size:12px;color:var(--grey);padding-top:1px}
.toc a:hover{color:var(--ink)}
.ctab:not(.open) .row-more{display:none}
.ruler .rbar{height:40px}
.pd-info h1{font-size:clamp(48px,5.2vw,84px)}
.keypoint{background:var(--paper);color:var(--ink);box-shadow:inset 4px 0 0 var(--accent)}
.keypoint span{color:var(--ink)}
.wlist{display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px}
.wrow{display:grid;grid-template-columns:76px 1fr auto 34px;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line);transition:background .3s}
.wrow:hover .wrow__t b{transform:translateX(4px)}
.wrow__sw{width:76px;height:50px;border-radius:12px;background:var(--paper);display:flex;align-items:flex-end;padding:4px 6px 2px;overflow:hidden}
.wrow__t b{display:block;font-size:16px;font-weight:600;transition:transform .35s var(--ease)}
.wrow__t small{font-size:12.5px;color:var(--grey)}
.wrow__p{font-size:13px;font-weight:600;white-space:nowrap}
.wrow i{width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;transition:background .3s,box-shadow .3s}
.wrow:hover i{background:var(--accent);box-shadow:none}
.pcard__img{filter:saturate(.92) contrast(1.03)}
@media (max-width:1080px){.wlist{grid-template-columns:1fr}.toc{display:none}.fold{max-height:560px}}
/* ================= HERO : variantes 3D et vidéo plein écran ================= */
.kv3-hero{transition:background .8s var(--ease)}
@keyframes kburns{from{transform:scale(1.08)}to{transform:scale(1)}}.kv3-hero.is-v2 #heroVideo{display:none}
.logo,.nav__link{transition:color .4s var(--ease),background .2s}
/* étiquettes de la carotte */
.h3lbl{position:absolute;inset:0;pointer-events:none;transition:opacity .4s;z-index:1}
.h3lbl__i{position:absolute;left:0;top:0;display:flex;align-items:center;gap:10px;margin-top:-9px;font-size:13px;color:var(--ink);white-space:nowrap;will-change:transform}
.h3lbl__i i{width:34px;height:1px;background:var(--ink);opacity:.5}
.h3lbl__i b{font-weight:600}
/* nom de la forme (particules) */
.h3morph{position:absolute;left:56%;width:34%;bottom:15%;text-align:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease),transform .6s var(--ease);pointer-events:none}
.h3morph.on{opacity:1;transform:none}
@media (max-width:1080px){
  .h3morph{left:0;width:100%;bottom:auto;top:calc(var(--nav-h) + 37svh)}
}
@media (max-width:1080px){}

/* ================= RENDUS 3D STUDIO ================= */
.rimg{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-drag:none;user-select:none}
.pcard__vis.has-render{background:radial-gradient(120% 90% at 50% 20%,#FBFCFC 0%,#EEF1F0 62%,#E5E9E8 100%);padding:0;display:block}
.pcard__vis.has-render .rimg{position:absolute;inset:2% 3% 0;width:94%;height:98%;transition:transform 1s var(--ease)}
.pcard:hover .pcard__vis.has-render .rimg{transform:translateY(-3px) scale(1.035)}
.pcard__vis.has-render::after{display:none}
.wrow__sw.has-render{width:84px;height:62px;padding:0;background:radial-gradient(110% 90% at 50% 25%,#FBFCFC,#EBEEED);align-items:center;justify-content:center}
.wrow{grid-template-columns:84px 1fr auto 34px}
.ofam__vis.has-render{background:radial-gradient(120% 90% at 50% 20%,#FBFCFC,#E9EDEC);display:flex;align-items:center;justify-content:center;padding:4%}
.pick__v.has-render{padding:6px 10px 0;aspect-ratio:4/3;background:radial-gradient(120% 90% at 50% 20%,#FFFFFF,#EEF1F0)}
.pd-render{background:radial-gradient(110% 85% at 50% 18%,#FDFEFE 0%,#EFF2F1 60%,#E4E8E7 100%);display:flex;align-items:center;justify-content:center}
.pd-render .rimg--hero{width:96%;height:92%;object-fit:contain;transform:translateY(-2%);animation:rfloat 9s ease-in-out infinite}
@keyframes rfloat{0%,100%{transform:translateY(-2%)}50%{transform:translateY(-3.2%)}}
@media (prefers-reduced-motion:reduce){.pd-render .rimg--hero{animation:none}}
.rpeek{position:fixed;left:0;top:0;width:320px;height:240px;border-radius:24px;overflow:hidden;pointer-events:none;z-index:40;opacity:0;transition:opacity .35s var(--ease);
  background:radial-gradient(120% 90% at 50% 20%,#FFFFFF,#E9EDEC);box-shadow:0 30px 60px -28px rgba(14,38,38,.45),0 0 0 1px rgba(14,38,38,.05)}
.rpeek.on{opacity:1}
.rpeek>div{position:absolute;inset:4%;opacity:0;transition:opacity .35s}
.rpeek>div.on{opacity:1}
@media (max-width:1080px){.rpeek{display:none}}
/* home : cartes services */
.scard__render{position:absolute;inset:0;background:radial-gradient(110% 90% at 55% 25%,#FDFEFE 0%,#EDF0EF 60%,#E2E7E5 100%)}
.scard__render .rimg{position:absolute;inset:6% 4% 2%;width:92%;height:92%;transition:transform 1.2s var(--ease)}
.scard:hover .scard__render .rimg{transform:translateY(-4px) scale(1.03)}
.scard__render--t .rimg{inset:4% 2% 2%;width:96%}
.scard__badges{position:absolute;left:14px;top:14px;display:flex;gap:6px;flex-wrap:wrap;z-index:1}
.scard__badges span{font-size:12px;font-weight:500;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.86);backdrop-filter:blur(6px);box-shadow:0 0 0 1px rgba(14,38,38,.06)}
@media (max-width:560px){.pgrid:not(.pd-rel) .pcard__vis.has-render .rimg{inset:4%;width:92%;height:92%}}

/* hero granulats : section épinglée, l'explosion suit le défilement */
.kv3-hero.is-pin{height:205vh;overflow:clip}
.kv3-hero.is-pin .hero__media{position:absolute;top:0;left:0;right:0;bottom:auto;height:100vh;will-change:transform}
.kv3-hero.is-pin .hero__content{position:sticky;top:0;height:100vh;margin-top:0;
  opacity:calc(1 - max(0, var(--hp,0) - .5) * 2.4);transform:translate3d(0,calc(var(--hp,0) * -7vh),0);will-change:transform,opacity}
.kv3-hero.is-pin .scrollcue{position:fixed;opacity:calc(1 - var(--hp,0) * 8)}
.kv3-hero.is-pin .hero__glow{opacity:calc(1 - var(--hp,0) * 1.4)}
@media (prefers-reduced-motion:reduce){.kv3-hero.is-pin{height:100vh}}
.kv3-hero.is-pin .hero__media::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 28%,rgba(255,255,255,0) 56%);
  opacity:calc(min(1, var(--hp,0) * 3.2) * (1 - max(0, var(--hp,0) - .55) * 2.2))}

/* méga-menu : rendus studio à l'échelle pour les bennes et les camions */
.item__render{position:absolute;inset:0;background:radial-gradient(120% 95% at 50% 22%,#FBFCFC 0%,#EEF1F0 58%,#E3E8E6 100%)}
.item__render img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.item:hover .item__render img,.mtile:hover .item__render img{transform:translateY(-3px) scale(1.05)}
.item__render::before{content:"";position:absolute;left:12%;right:12%;bottom:13%;height:1px;background:linear-gradient(90deg,transparent,rgba(14,38,38,.10),transparent)}

/* hero desktop : bloc titre centré verticalement (3D, vidéo et plein écran) */
@media (min-width:1081px){
  .kv3-hero .hero__content{justify-content:center;padding-top:calc(var(--nav-h) + 24px);padding-bottom:64px}
  .kv3-hero .hero__row{margin-top:30px}
  .kv3-hero .trust{position:absolute;right:32px;bottom:56px}
}

/* transition hero → qui sommes-nous : la scène reste en plein écran pendant que la section suivante monte */
.kv3-hero.is-pin{height:170vh}
.kv3-hero.is-pin .hero__media{position:fixed;inset:0;height:100vh;z-index:0;transition:none;will-change:opacity}
.kv3-hero.is-pin .hero__content{z-index:2}
#pgHome:has(.kv3-hero.is-pin) section:not(.kv3-hero){position:relative;z-index:2}
#pgHome>.w-embed:has(>.kv3-hero.is-pin)+.w-embed>.about{margin-top:-10vh;padding-top:120px}
#pgHome>.w-embed:has(>.kv3-hero.is-pin)+.w-embed>.about .statement{text-shadow:0 0 28px rgba(255,255,255,.9),0 0 2px rgba(255,255,255,.9)}

/* encart de devis : redirection vers l'outil de devis instantané */
.qgo{display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}
.qgo::before{content:"";position:absolute;right:-70px;top:-70px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(68,218,117,.22),transparent 70%);pointer-events:none}
.qgo .quote__t{margin-bottom:0}
.qgo__lead{font-size:15px;line-height:1.6;color:var(--grey-dark);max-width:46ch}
.qgo__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:4px}
.qgo__btn svg{transition:transform .35s var(--ease)}
.qgo__btn:hover svg{transform:translateX(4px)}
.qgo .quote__re{margin-top:2px}

/* ===== encart devis premium ===== */
.dq{--g:#44DA75;position:relative;overflow:hidden;isolation:isolate;background:#0E2626;color:#fff;border-radius:28px;padding:26px 26px 22px;display:flex;flex-direction:column;gap:0;
  box-shadow:0 40px 80px -48px rgba(14,38,38,.65),inset 0 0 0 1px rgba(255,255,255,.06)}
.dq::before{content:"";position:absolute;inset:-40% -30% auto auto;width:420px;height:420px;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,rgba(68,218,117,.30) 0%,rgba(68,218,117,.08) 38%,transparent 66%);animation:dqglow 9s ease-in-out infinite}
.dq::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:28px 28px;
  -webkit-mask-image:radial-gradient(120% 80% at 100% 0%,#000 0%,transparent 70%);mask-image:radial-gradient(120% 80% at 100% 0%,#000 0%,transparent 70%)}
@keyframes dqglow{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-24px,18px) scale(1.08)}}
.dq__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.dq__live{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;letter-spacing:.02em;padding:6px 12px 6px 10px;border-radius:999px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.dq__live i{width:7px;height:7px;border-radius:50%;background:var(--g);box-shadow:0 0 0 0 rgba(68,218,117,.6);animation:dqping 2.2s ease-out infinite}
@keyframes dqping{0%{box-shadow:0 0 0 0 rgba(68,218,117,.55)}70%{box-shadow:0 0 0 9px rgba(68,218,117,0)}100%{box-shadow:0 0 0 0 rgba(68,218,117,0)}}
.dq__time{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:14px;color:rgba(255,255,255,.55)}
.dq .dq__t{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(28px,2.4vw,36px);line-height:1;letter-spacing:-.03em;color:#fff;margin:0}
.dq__for{margin-top:12px;font-size:13.5px;color:rgba(255,255,255,.55)}
.dq__for b{color:#fff;font-weight:500}
.dq__steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:24px 0 22px;position:relative;padding-top:18px}
.dq__steps::before,.dq__steps::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,255,255,.12)}
.dq__steps::after{background:linear-gradient(90deg,var(--g),rgba(68,218,117,.2));transform-origin:left;transform:scaleX(0);animation:dqline 1.4s .25s cubic-bezier(.22,1,.36,1) forwards}
@keyframes dqline{to{transform:scaleX(1)}}
.dq__steps li{position:relative;padding-right:12px;opacity:0;transform:translateY(8px);animation:dqin .7s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(.35s + var(--i)*.14s)}
.dq__steps li::before{content:"";position:absolute;left:0;top:-22px;width:9px;height:9px;border-radius:50%;background:#0E2626;box-shadow:inset 0 0 0 1.5px var(--g)}
.dq__steps li:last-child::before{background:var(--g)}
@keyframes dqin{to{opacity:1;transform:none}}
.dq__n{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--g);margin-bottom:6px}
.dq__steps b{display:block;font-size:14px;font-weight:600;line-height:1.25;color:#fff}
.dq__steps small{display:block;margin-top:4px;font-size:12.5px;line-height:1.35;color:rgba(255,255,255,.5)}
.dq__btn{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;height:62px;padding:0 8px 0 26px;border-radius:999px;background:var(--g);color:#0E2626;font-weight:600;font-size:16px;
  transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s;box-shadow:0 18px 40px -18px rgba(68,218,117,.7)}
.dq__btn::before{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);transition:left .9s cubic-bezier(.22,1,.36,1)}
.dq__btn:hover::before{left:120%}
.dq__btn:hover{transform:translateY(-2px);box-shadow:0 24px 46px -18px rgba(68,218,117,.85)}
.dq__btn i{width:46px;height:46px;border-radius:50%;background:#0E2626;color:var(--g);display:grid;place-items:center;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.dq__btn:hover i{transform:translateX(3px) rotate(-45deg)}
.dq__foot{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:16px;font-size:12.5px;color:rgba(255,255,255,.55)}
.dq__foot span{display:inline-flex;align-items:center;gap:6px}
.dq__foot svg{color:var(--g)}
@media (max-width:560px){.dq{border-radius:24px;padding:22px 18px 18px}.dq__steps{grid-template-columns:1fr;gap:14px;padding-top:0;padding-left:22px;margin:20px 0}
  .dq__steps::before,.dq__steps::after{left:4px;right:auto;top:6px;bottom:6px;width:1px;height:auto}
  .dq__steps::after{transform-origin:top;transform:scaleY(0);animation-name:dqliney}
  .dq__steps li::before{left:-22px;top:3px}.dq__btn{height:58px}}
@keyframes dqliney{to{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){.dq::before,.dq__live i{animation:none}.dq__steps li{opacity:1;transform:none;animation:none}.dq__steps::after{transform:none;animation:none}}

/* ===== encart devis léger, calé sur la photo produit ===== */
.lq{--g:#44DA75;position:relative;overflow:hidden;background:var(--paper);border-radius:22px;padding:18px 20px 16px;display:flex;flex-direction:column;box-shadow:inset 0 0 0 1px rgba(14,38,38,.06)}
.lq::before{content:"";position:absolute;right:-90px;top:-90px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(68,218,117,.18),transparent 70%);pointer-events:none}
.lq__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.lq__live{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:var(--ink);padding:5px 11px 5px 9px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px rgba(14,38,38,.06)}
.lq__live i{width:7px;height:7px;border-radius:50%;background:var(--g);animation:dqping 2.2s ease-out infinite}
.lq__time{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:13px;color:var(--grey)}
.lq .lq__t{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:20px;line-height:1.15;letter-spacing:-.015em;color:var(--ink);margin:0 0 6px}
.lq__lead{font-size:14px;line-height:1.5;color:var(--grey-dark);margin-bottom:14px}
.lq__btn{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 6px 0 22px;border-radius:999px;background:var(--g);color:#0E2626;font-weight:600;font-size:15px;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s;box-shadow:0 14px 30px -18px rgba(68,218,117,.9)}
.lq__btn::before{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);transition:left .9s cubic-bezier(.22,1,.36,1)}
.lq__btn:hover::before{left:120%}
.lq__btn:hover{transform:translateY(-1px)}
.lq__btn i{width:40px;height:40px;border-radius:50%;background:#0E2626;color:var(--g);display:grid;place-items:center;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.lq__btn:hover i{transform:translateX(2px) rotate(-45deg)}
.lq__foot{display:flex;flex-wrap:nowrap;white-space:nowrap;overflow:hidden;gap:4px 14px;margin-top:10px;font-size:12px;color:var(--grey)}
.lq__foot span{display:inline-flex;align-items:center;gap:5px}
.lq__foot svg{color:#1FA855}
@media (min-width:1081px){
  .pd-hero{align-items:start}
  .pd-info{display:flex;flex-direction:column;align-self:start!important}
  .pd-info .quote.lq{margin-top:auto}
  .pd-info h1{font-size:clamp(40px,3.9vw,64px);line-height:.98}
  .pd-info .pd-lead{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:18px}
  .pd-info .pd-keys{margin-bottom:18px}
}

/* ================= PAGE TOUS LES SERVICES ================= */
.sv-hero{grid-template-columns:1fr 1fr;gap:56px}
.svh{display:grid;grid-template-columns:1fr 1fr;gap:14px}
/* sens du flux sur les tuiles services */
.svl__vis{position:relative}
.kfl{position:absolute;left:14px;bottom:14px;display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:12.5px;font-weight:600;letter-spacing:-.005em;color:var(--grey-dark);white-space:nowrap;z-index:1}
.kfl__p{line-height:1}
.kfl__p.is-site{display:inline-flex;align-items:center;gap:6px;padding:6px 10px 6px 8px;border-radius:999px;background:var(--ink);color:#fff}
.kfl__p.is-site::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(68,218,117,.25)}
.kfl__p:first-child.is-site{margin-left:-6px}
.kfl__p:last-child:not(.is-site){margin-right:6px}
.kfl__l{position:relative;width:30px;height:2px;border-radius:2px;background:repeating-linear-gradient(90deg,#B9C0BE 0 4px,transparent 4px 7px)}
.kfl__l::after{content:"";position:absolute;right:-1px;top:50%;width:6px;height:6px;border-top:2px solid var(--ink);border-right:2px solid var(--ink);transform:translateY(-50%) rotate(45deg);border-radius:1px}
.kfl__l i{position:absolute;top:50%;left:0;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--accent);animation:kflGo 2.6s var(--ease) infinite}
@keyframes kflGo{0%{transform:translateX(-2px);opacity:0}15%{opacity:1}75%{opacity:1}100%{transform:translateX(24px);opacity:0}}
@media (prefers-reduced-motion:reduce){.kfl__l i{animation:none;opacity:0}}
@media (max-width:560px){.kfl{left:8px;right:auto;bottom:8px;gap:5px;padding:4px 4px 4px 9px;font-size:10.5px}.kfl__p.is-site{padding:5px 7px 5px 6px;gap:4px}.kfl__p.is-site::before{width:5px;height:5px}.kfl__p:first-child.is-site{margin-left:-5px}.kfl__p:last-child:not(.is-site){margin-right:5px}.kfl__l{width:16px}.kfl__l i{animation-name:kflGoS}}
@keyframes kflGoS{0%{transform:translateX(-2px);opacity:0}15%{opacity:1}75%{opacity:1}100%{transform:translateX(11px);opacity:0}}

.svh__tile{position:relative;aspect-ratio:1;border-radius:24px;overflow:hidden;background:radial-gradient(120% 95% at 50% 22%,#FBFCFC 0%,#EEF1F0 58%,#E3E8E6 100%);
  opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease),box-shadow .4s;transition-delay:calc(.25s + var(--i)*.08s)}
.lv-hero.go .svh__tile{opacity:1;transform:none}
.svh__img{position:absolute;inset:0}
.svh__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.svh__tile:hover .svh__img img{transform:scale(1.06) translateY(-2%)}
.svh__tile:hover{box-shadow:0 30px 60px -36px rgba(14,38,38,.45)}
.svh__lbl{position:absolute;left:14px;right:14px;top:14px;display:flex;align-items:center;justify-content:space-between}
.svh__lbl b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:17px;letter-spacing:-.01em;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(6px)}
.svh__lbl i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.88);transition:background .3s,transform .4s var(--ease)}
.svh__tile:hover .svh__lbl i{background:var(--accent);transform:rotate(-45deg)}

.svl{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.svl__row{display:grid;grid-template-columns:300px 1fr auto;gap:40px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}
.svl__vis{display:block;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:radial-gradient(120% 95% at 50% 22%,#FBFCFC 0%,#EEF1F0 58%,#E3E8E6 100%)}
.svl__vis img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.svl__row:hover .svl__vis img{transform:scale(1.05)}
.svl__head{display:flex;align-items:baseline;gap:16px}
.svl__n{font-size:13px;font-weight:600;color:var(--grey);letter-spacing:.06em}
.svl__head h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(34px,3.4vw,52px);letter-spacing:-.03em;line-height:1}
.svl__lead{margin:14px 0 20px;max-width:56ch;font-size:16px;line-height:1.6;color:var(--grey-dark)}
.svl__facts{display:flex;gap:36px;margin-bottom:18px}
.svl__facts dt{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:22px;letter-spacing:-.02em}
.svl__facts dd{font-size:12.5px;color:var(--grey);margin-top:2px}
.svl__chips{display:flex;flex-wrap:wrap;gap:6px}
.svl__chips a{font-size:13px;padding:7px 12px;border-radius:999px;background:var(--paper);transition:background .25s,color .25s}
.svl__chips a:hover{background:var(--ink);color:#fff}
.svl__go{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:14.5px;white-space:nowrap}
.svl__go i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,box-shadow .3s,transform .4s var(--ease)}
.svl__row:hover .svl__go i{background:var(--accent);box-shadow:none;transform:rotate(-45deg)}

.svc-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:26px}
.svc-tabs button{height:44px;padding:0 18px;border-radius:999px;font-size:14.5px;font-weight:500;color:var(--grey-dark);box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,color .3s,box-shadow .3s}
.svc-tabs button:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.svc-tabs button.on{background:var(--ink);color:#fff;box-shadow:none}
.svc-flow{background:var(--paper);border-radius:30px;padding:30px}
.svc-flow__intro{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:clamp(20px,1.8vw,26px);letter-spacing:-.015em;margin-bottom:24px;max-width:40ch}
.svc-flow__steps{list-style:none;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:14px;position:relative}
.svc-flow__steps li{position:relative;opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i)*.09s)}
.svc-flow.in .svc-flow__steps li{opacity:1;transform:none}
.svc-flow__steps li:not(:last-child)::after{content:"";position:absolute;top:calc(50% - 60px);right:-11px;width:8px;height:8px;border-top:1.6px solid var(--grey);border-right:1.6px solid var(--grey);transform:rotate(45deg);z-index:2;opacity:.6}
.svc-flow__steps a{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 0 0 1px rgba(14,38,38,.05);transition:transform .45s var(--ease),box-shadow .45s}
.svc-flow__steps a:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(14,38,38,.4)}
.svc-flow__img{display:block;aspect-ratio:4/3;background:radial-gradient(120% 95% at 50% 22%,#FBFCFC 0%,#EEF1F0 58%,#E3E8E6 100%)}
.svc-flow__img img{width:100%;height:100%;object-fit:cover}
.svc-flow__meta{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;flex:1}
.svc-flow__k{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--grey)}
.svc-flow__k em{font-style:normal;font-weight:600;color:var(--ink)}
.svc-flow__meta b{font-size:17px;font-weight:600;letter-spacing:-.01em}
.svc-flow__meta small{font-size:13.5px;line-height:1.5;color:var(--grey-dark)}
.svc-flow__go{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600}
.svc-flow__go svg{transition:transform .35s var(--ease)}
.svc-flow__steps a:hover .svc-flow__go svg{transform:translateX(4px)}
.sdot{width:8px;height:8px;border-radius:50%}
.sdot--liv{background:#C9A777}.sdot--eva{background:#8B6A4D}.sdot--loc{background:#15322F}.sdot--aff{background:#44DA75}

.svb{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.svb__c{padding:26px 24px;border-radius:24px;background:var(--paper)}
.svb__c i{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#fff;color:var(--ink);margin-bottom:28px;box-shadow:0 0 0 1px rgba(14,38,38,.05)}
.svb__c h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:19px;letter-spacing:-.015em;margin-bottom:8px}
.svb__c p{font-size:14px;line-height:1.55;color:var(--grey-dark)}

@media (max-width:1080px){
  .sv-hero{grid-template-columns:1fr;gap:30px;min-height:0}
  .svl__row{grid-template-columns:1fr;gap:18px;padding:26px 0}
  .svl__go{justify-self:start}
  .svl__facts{gap:22px}
  .svc-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -20px 20px;padding:0 20px}
  .svc-tabs::-webkit-scrollbar{display:none}
  .svc-tabs button{flex:none}
  .svc-flow{padding:20px 16px;border-radius:24px}
  .svc-flow__steps{grid-template-columns:1fr}
  .svc-flow__steps li:not(:last-child)::after{display:none}
  .svc-flow__steps a{flex-direction:row}
  .svc-flow__img{width:120px;flex:none;aspect-ratio:1}
  .svc-flow__meta{padding:12px 14px}
  .svb{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){.svb{grid-template-columns:1fr}.svh{gap:10px}.svh__lbl b{font-size:14px}}

/* cartes services de la home : bandes à la manière de Livraison et Évacuation, avec les rendus 3D */
.strips--r{align-items:stretch}
.strips--r>a{flex:1;height:auto;min-height:100%;align-self:stretch;border-radius:12px;position:relative;overflow:hidden;transition:flex .6s var(--ease);display:block;
  background:radial-gradient(140% 70% at 50% 78%,#FDFEFE 0%,#EEF1F0 55%,#E2E7E5 100%)}
.strips--r>a:nth-child(even){background:radial-gradient(140% 70% at 50% 78%,#FAFBFB 0%,#E9EDEC 55%,#DDE3E1 100%)}
.strips--r>a:hover{flex:2.2}
.sr__img{position:absolute;left:0;right:0;bottom:14%;aspect-ratio:1;display:block}
.sr__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.55);transform-origin:50% 72%;transition:transform .8s var(--ease)}
.strips--t .sr__img img{transform:scale(1.32)}
.strips--h .sr__img{bottom:20%}.strips--h .sr__img img{transform:scale(2.05);transform-origin:50% 64%}.strips--h>a:hover .sr__img img{transform:scale(1.55)}
.strips--r>a:hover .sr__img img{transform:scale(1.12)}
.strips--t>a:hover .sr__img img{transform:scale(1.1)}
.strips--r>a em{position:absolute;left:12px;bottom:12px;font-style:normal;font-size:12.5px;font-weight:600;background:rgba(255,255,255,.9);padding:5px 10px;border-radius:999px;opacity:0;transform:translateY(6px);transition:.3s var(--ease);white-space:nowrap;z-index:1}
.strips--r>a:hover em{opacity:1;transform:none}
@media (max-width:1080px){.strips--r>a:hover{flex:1}.strips--r>a em{display:none}.strips--r>a{border-radius:10px}}

/* ================= SECTION HUMAINE ================= */
.hm{background:#fff;padding:150px 0 140px}
.hm__in{max-width:1360px;margin:0 auto;padding:0 32px}
.hm__head{display:grid;grid-template-columns:1.25fr .75fr;gap:20px 80px;align-items:end;margin-bottom:56px}
.hm__head .about__label{grid-column:1/-1;margin-bottom:0}
.hm__t{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(38px,4.4vw,66px);line-height:1.02;letter-spacing:-.035em;max-width:16ch}
.hm__side p{font-size:16.5px;line-height:1.65;color:var(--grey-dark)}
.hm__facts{display:flex;gap:40px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.hm__facts dt{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:30px;letter-spacing:-.025em;line-height:1}
.hm__facts dd{font-size:13px;color:var(--grey);margin-top:6px}
.hm__hero{position:relative;border-radius:32px;overflow:hidden;aspect-ratio:2.1/1;background:var(--paper);clip-path:inset(6% 4% 6% 4% round 32px);transition:clip-path 1.4s var(--ease)}
.hm__hero.in{clip-path:inset(0 0 0 0 round 32px)}
.hm__heroimg{position:absolute;inset:-8% 0;will-change:transform}
.hm__heroimg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform:scale(1.08);transition:transform 1.8s var(--ease)}
.hm__hero.in .hm__heroimg img{transform:scale(1)}
.hm__hero figcaption{position:absolute;left:24px;bottom:22px}
.hm__hero figcaption span{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px)}
.hm__hero figcaption i{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.hm__grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px;margin-top:16px}
.hm__ph{margin:0}
.hm__img{border-radius:24px;overflow:hidden;height:300px;background:var(--paper)}
.hm__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.hm__ph:hover .hm__img img{transform:scale(1.04)}
.hm__ph figcaption{padding:16px 4px 0;font-size:14px;line-height:1.55;color:var(--grey-dark);max-width:40ch}
.hm__ph figcaption b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:4px;font-weight:600}
.hm__eco{margin-top:120px}
.hm__ecohead{display:grid;grid-template-columns:1fr 1fr;gap:20px 80px;align-items:end;margin-bottom:40px}
.hm__ecohead h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(30px,3vw,44px);line-height:1.05;letter-spacing:-.03em;max-width:18ch}
.hm__ecohead p{font-size:16px;line-height:1.65;color:var(--grey-dark);max-width:46ch}
.hm__people{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hm__p{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:3/4;background:var(--paper);transition-delay:var(--d)}
.hm__pimg{position:absolute;inset:0}
.hm__pimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.hm__p:hover .hm__pimg img{transform:scale(1.05)}
.hm__p::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,38,38,0) 45%,rgba(14,38,38,.82) 100%);pointer-events:none}
.hm__plink{position:absolute;inset:0;z-index:2;border-radius:inherit}
.hm__pt{position:absolute;left:24px;right:24px;bottom:22px;z-index:1;color:#fff}
.hm__pt span{display:inline-block;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--accent);margin-bottom:8px}
.hm__pt b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:24px;letter-spacing:-.02em;line-height:1.1}
.hm__pt p{font-size:14px;line-height:1.5;color:rgba(255,255,255,.78);margin-top:8px;max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .5s var(--ease)}
.hm__p:hover .hm__pt p{max-height:90px;opacity:1}

/* apparitions */
.hx{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.hx.in{opacity:1;transform:none}
.hm__hero.hx{transform:none}

/* ================= SECTION IA ================= */
.ia{position:relative;background:#0B1F1F;color:#fff;padding:150px 0 130px;overflow:hidden;isolation:isolate}
.ia__bg{position:absolute;inset:0;z-index:-1;
  background:radial-gradient(60% 50% at 85% 0%,rgba(68,218,117,.16),transparent 70%),radial-gradient(50% 40% at 0% 100%,rgba(68,218,117,.08),transparent 70%)}
.ia__bg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(80% 60% at 70% 20%,#000,transparent 75%);mask-image:radial-gradient(80% 60% at 70% 20%,#000,transparent 75%)}
.ia__in{max-width:1360px;margin:0 auto;padding:0 32px}
.ia__head{max-width:900px;margin-bottom:64px}
.ia__label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:rgba(255,255,255,.65);margin-bottom:30px}
.ia__label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(68,218,117,.6);animation:dqping 2.4s ease-out infinite}
.ia__t{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(38px,4.4vw,66px);line-height:1.02;letter-spacing:-.035em}
.ia__t em{font-style:normal;color:rgba(255,255,255,.42)}
.ia__lead{margin-top:28px;font-size:17px;line-height:1.65;color:rgba(255,255,255,.7);max-width:58ch}
.ia__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ia__c{display:flex;flex-direction:column;border-radius:28px;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);overflow:hidden;transition:background .5s var(--ease),box-shadow .5s var(--ease),transform .9s var(--ease),opacity 1s var(--ease)}
.ia__c:hover{background:rgba(255,255,255,.055);box-shadow:inset 0 0 0 1px rgba(68,218,117,.35)}
.ia__vis{position:relative;height:250px;margin:10px 10px 0;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));overflow:hidden}
.ia__ct{padding:26px 26px 28px}
.ia__badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;margin-bottom:16px}
.ia__badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ia__badge--on{color:#44DA75;background:rgba(68,218,117,.12)}
.ia__badge--dep{color:#9FE8B8;background:rgba(159,232,184,.1)}
.ia__badge--soon{color:#E9D9A6;background:rgba(233,217,166,.1)}
.ia__ct h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:23px;letter-spacing:-.02em;line-height:1.15;margin-bottom:10px}
.ia__ct p{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.66)}
/* chat */
.chat{position:absolute;inset:18px 18px 16px;display:flex;flex-direction:column;gap:8px;justify-content:flex-end}
.chat>*{opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.ia__c.in .chat>*{opacity:1;transform:none;transition-delay:var(--t)}
.ia__c.in .chat__typing{animation:chatout .3s var(--t) forwards}
.ia__c.in .chat__typing{transition-delay:var(--t)}
@keyframes chatout{0%{opacity:1}80%{opacity:1}100%{opacity:0;height:0;margin:-4px 0;padding:0}}
.chat__m{max-width:86%;font-size:13px;line-height:1.45;padding:10px 13px;border-radius:16px}
.chat__m--u{align-self:flex-end;background:#44DA75;color:#0B1F1F;border-bottom-right-radius:5px}
.chat__m--b{align-self:flex-start;background:rgba(255,255,255,.09);color:rgba(255,255,255,.92);border-bottom-left-radius:5px}
.chat__m--b b{display:block;font-size:11px;color:#44DA75;margin-bottom:3px;letter-spacing:.04em}
.chat__typing{align-self:flex-start;display:flex;gap:4px;padding:11px 13px;border-radius:16px;background:rgba(255,255,255,.09)}
.chat__typing i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);animation:dots 1s infinite}
.chat__typing i:nth-child(2){animation-delay:.15s}.chat__typing i:nth-child(3){animation-delay:.3s}
@keyframes dots{0%,100%{opacity:.3;transform:none}50%{opacity:1;transform:translateY(-2px)}}
.chat__ch{display:flex;gap:6px;margin-top:4px}
.chat__ch span{font-size:11px;padding:4px 9px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);color:rgba(255,255,255,.7)}
/* tournées */
.iar{position:absolute;inset:0;width:100%;height:100%}
.iar__grid line{stroke:rgba(255,255,255,.05);stroke-width:1}
.iar__old{fill:none;stroke:rgba(255,255,255,.22);stroke-width:2;stroke-dasharray:4 6}
.iar__old--2{stroke:rgba(233,120,100,.35)}
.iar__new{fill:none;stroke:url(#rg);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420;transition:stroke-dashoffset 2s .4s var(--ease)}
.ia__c.in .iar__new{stroke-dashoffset:0}
.iar__p{fill:#0B1F1F;stroke:rgba(255,255,255,.7);stroke-width:2}
.iar__p--a{stroke:#44DA75}.iar__p--m{stroke:#9FE8B8}
.iar__truck circle{fill:rgba(68,218,117,.25)}
.iar__truck .iar__core{fill:#44DA75}
.iar__kpi{position:absolute;right:16px;bottom:14px;display:flex;align-items:center;gap:10px;padding:9px 13px;border-radius:14px;background:rgba(11,31,31,.85);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.iar__kpi b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:700;font-size:24px;color:#44DA75;letter-spacing:-.02em}
.iar__kpi span{font-size:11px;line-height:1.3;color:rgba(255,255,255,.65)}
/* documents */
.doc{position:absolute;inset:22px;display:grid;grid-template-columns:.8fr 1fr;gap:16px;align-items:center}
.doc__page{position:relative;height:100%;border-radius:10px;background:#F4F6F5;padding:18px 14px;display:flex;flex-direction:column;gap:9px;overflow:hidden;box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}
.doc__page i{display:block;height:6px;border-radius:3px;background:#D5DBD8}
.doc__page i:first-child{height:9px;background:#0E2626;opacity:.75;margin-bottom:6px}
.doc__scan{position:absolute;left:0;right:0;top:0;height:34px;background:linear-gradient(180deg,rgba(68,218,117,0),rgba(68,218,117,.35),rgba(68,218,117,0));animation:scan 2.6s ease-in-out infinite}
@keyframes scan{0%{transform:translateY(-34px)}100%{transform:translateY(200px)}}
.doc__out{list-style:none;display:flex;flex-direction:column;gap:8px}
.doc__out li{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);opacity:0;transform:translateX(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.ia__c.in .doc__out li{opacity:1;transform:none;transition-delay:var(--t)}
.doc__out span{font-size:11px;color:rgba(255,255,255,.55)}
.doc__out b{font-size:13.5px;font-weight:600;color:#fff;display:flex;align-items:center;gap:6px}
.doc__out b::before{content:"";width:14px;height:14px;border-radius:50%;background:#44DA75 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.2 5.1 8.3 9 4' fill='none' stroke='%230B1F1F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat}
.ia__trust{list-style:none;display:flex;flex-wrap:wrap;gap:12px 36px;margin-top:44px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1)}
.ia__trust li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:rgba(255,255,255,.78)}
.ia__trust i{width:18px;height:18px;border-radius:50%;background:rgba(68,218,117,.15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.2 5.1 8.3 9 4' fill='none' stroke='%2344DA75' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat}

@media (max-width:1080px){
  .hm{padding:96px 0 90px}.hm__in,.ia__in{padding:0 20px}
  .hm__head,.hm__ecohead{grid-template-columns:1fr;gap:18px;margin-bottom:32px}
  .hm__t{font-size:clamp(32px,8.6vw,46px)}
  .hm__hero{aspect-ratio:4/3;border-radius:22px}
  .hm__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:12px -20px 0;padding:0 20px 4px;scrollbar-width:none}
  .hm__grid::-webkit-scrollbar{display:none}
  .hm__ph{flex:0 0 78%;scroll-snap-align:start;scroll-margin-left:20px}
  .hm__img{height:auto;aspect-ratio:4/3}
  .hm__eco{margin-top:80px}
  .hm__people{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -20px;padding:0 20px 4px;scrollbar-width:none}
  .hm__people::-webkit-scrollbar{display:none}
  .hm__p{flex:0 0 74%;scroll-snap-align:start;scroll-margin-left:20px;border-radius:22px}
  .hm__pt p{max-height:none;opacity:1}
  .ia{padding:96px 0 84px}
  .ia__t{font-size:clamp(32px,8.6vw,46px)}
  .ia__head{margin-bottom:40px}
  .ia__cards{grid-template-columns:1fr;gap:12px}
  .ia__vis{height:220px}
  .ia__ct{padding:22px 20px 24px}
  .ia__trust{flex-direction:column;gap:12px}
}
@media (prefers-reduced-motion:reduce){.hx{opacity:1;transform:none}.hm__hero{clip-path:none}.doc__scan,.chat__typing i{animation:none}}

/* fil rouge client (brief octobre 2026) */
.news__sub{max-width:40ch;font-size:16px;line-height:1.6;color:var(--grey-dark)}
.ncard__tag b{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:8px;border-radius:50%;background:var(--ink);color:var(--white);font-size:11px;font-weight:700}
.ncard__tag--new b{background:var(--ink);color:var(--accent)}
.n-quote{grid-column:8/13;grid-row:1}
.n-app{grid-column:1/8;grid-row:1/3}
.n-ctl{grid-column:8/13;grid-row:2}
.n-docs{grid-column:1/13;grid-row:3;background:var(--ink);color:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;min-height:340px}
.n-docs p{color:rgba(255,255,255,.7)}
.n-docs__txt{display:flex;flex-direction:column}
.n-docs__vis{position:relative;height:280px}
.n-docs.in .doc__out li{opacity:1;transform:none;transition-delay:var(--t)}
.ctl{list-style:none;margin-top:auto;padding-top:26px;display:flex;flex-direction:column;gap:10px}
.ctl li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--white);box-shadow:0 10px 24px -18px rgba(14,38,38,.35);opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.n-ctl.in .ctl li{opacity:1;transform:none;transition-delay:var(--t)}
.ctl span{display:flex;flex-direction:column;gap:2px;font-size:14.5px;font-weight:600;color:var(--ink)}
.ctl small{font-size:11.5px;font-weight:500;color:var(--grey)}
.ctl__ic{flex:none;width:30px;height:30px;border-radius:50%;background:#FFF1DC;position:relative}
.ctl__ic::after{content:"!";position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:15px;color:#B56A00}
.ctl__ic--w{background:#FDE7E3}.ctl__ic--w::after{color:#C2553B}
@media (max-width:1080px){
  .news__sub{font-size:15.5px}
  .n-quote,.n-app,.n-ctl,.n-docs{grid-column:1;grid-row:auto}
  .n-docs{grid-template-columns:1fr;gap:22px;min-height:0}
  .n-docs__vis{height:240px}
}
@media (prefers-reduced-motion: reduce){.ctl li{opacity:1;transform:none}}

/* clients : mur de logos (brief octobre 2026) */
.clients{max-width:1360px;margin:0 auto;padding:40px 32px 120px}
.clients__head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px}
.clients h2{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(36px,3.6vw,54px);line-height:1.02;letter-spacing:-.03em;max-width:15ch}
.clients__lead{max-width:38ch;font-size:16px;line-height:1.6;color:var(--grey-dark)}
.clw{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.clw__c{position:relative;height:150px;background:var(--white);overflow:hidden;display:grid;place-items:center}
.clw__c img{grid-area:1/1;height:30px;width:auto;max-width:62%;object-fit:contain;opacity:.5;transition:opacity .4s var(--ease)}
.clw__c img.s-s{height:26px}.clw__c img.s-m{height:40px}.clw__c img.s-l{height:58px}.clw__c img.s-xl{height:84px}
.clw__c img.w{filter:invert(1) grayscale(1)}
.clw__c img.c{filter:brightness(0)}
.clw__c{--d:0ms}
/* changement de logo : fondu enchaîné avec flou, une case à la fois */
.clw__c img.is-in.w{animation:clwInW 1.1s var(--d) cubic-bezier(.22,1,.36,1) both}
.clw__c img.is-in.c{animation:clwInC 1.1s var(--d) cubic-bezier(.22,1,.36,1) both}
.clw__c img.is-out.w{animation:clwOutW .7s cubic-bezier(.4,0,.2,1) both}
.clw__c img.is-out.c{animation:clwOutC .7s cubic-bezier(.4,0,.2,1) both}
@keyframes clwInW{from{opacity:0;transform:scale(1.06);filter:invert(1) grayscale(1) blur(8px)}to{opacity:.5;transform:none;filter:invert(1) grayscale(1) blur(0)}}
@keyframes clwInC{from{opacity:0;transform:scale(1.06);filter:brightness(0) blur(8px)}to{opacity:.5;transform:none;filter:brightness(0) blur(0)}}
@keyframes clwOutW{from{opacity:.5;transform:none;filter:invert(1) grayscale(1) blur(0)}to{opacity:0;transform:scale(.94);filter:invert(1) grayscale(1) blur(8px)}}
@keyframes clwOutC{from{opacity:.5;transform:none;filter:brightness(0) blur(0)}to{opacity:0;transform:scale(.94);filter:brightness(0) blur(8px)}}
/* survol : logo en pleine teinte, filet vert sous la case */
.clw__c::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.clw__c:hover::after{transform:none}
.clw__c:hover img{opacity:1}
@media (max-width:1080px){
  .clients{padding:24px 20px 80px}
  .clients__head{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:32px}
  .clients__lead{font-size:15.5px}
  .clw{grid-template-columns:repeat(2,1fr)}
  .clw__c{height:110px}
  .clw__c:nth-child(n+9){display:none}
  .clw__c img{height:24px;max-width:72%}
  .clw__c img.s-s{height:20px}.clw__c img.s-m{height:32px}.clw__c img.s-l{height:46px}.clw__c img.s-xl{height:66px}
}

/* bloc « Bientôt » (brief octobre 2026) */
.ia__cards--soon{grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:auto auto}
.ia__c--sab{grid-row:1/3}
.ia__c--sab .ia__vis{height:300px}
.ia__c--s:last-child{grid-column:2/4}
.ia__c--s .ia__ct{padding:28px;display:flex;flex-direction:column;height:100%}
.ia__row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:auto;padding-bottom:40px}
.ia__ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#44DA75;background:rgba(68,218,117,.08);box-shadow:inset 0 0 0 1px rgba(68,218,117,.18)}
.ia__ic svg{width:22px;height:22px}
.chat__voice{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;opacity:.7;margin-bottom:4px}
.chat__voice i{width:6px;height:6px;border-radius:50%;background:#0B1F1F}
@media (max-width:1080px){
  .ia__cards--soon{grid-template-columns:1fr}
  .ia__c--sab,.ia__c--s:last-child{grid-row:auto;grid-column:1}
  .ia__c--sab .ia__vis{height:240px}
  .ia__row{padding-bottom:24px}
}

/* vidéo chantier dans le bloc « Qui sommes-nous » */
.about__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.about__img.has-video::after{content:none}

/* =====================================================================
   USAGES : coupes, cartes, page usage, index
   ===================================================================== */
.cut{width:100%;height:100%;display:block}
.cut .c-ring{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--ease) .35s;vector-effect:non-scaling-stroke}
.in .cut .c-ring{stroke-dashoffset:0}
.c-pave{transform:translateY(-30px);opacity:0;transition:transform .7s cubic-bezier(.3,1.4,.5,1),opacity .3s;transition-delay:calc(.25s + var(--k)*.08s)}
.c-brick{transform:translateY(-14px);opacity:0;transition:transform .6s cubic-bezier(.3,1.4,.5,1),opacity .3s;transition-delay:calc(.2s + var(--k)*.09s)}
.c-slab{transform:translateY(-16px);opacity:0;transition:transform .9s var(--ease) .3s,opacity .4s .3s}
.c-wheel{transform:translateX(-120px) rotate(-320deg);transform-box:fill-box;transform-origin:center;transition:transform 1.4s var(--ease) .3s}
.c-hoof{opacity:0;transition:opacity .4s;transition-delay:calc(.5s + var(--k)*.14s)}
.c-mark{opacity:0;transition:opacity .3s;transition-delay:calc(.4s + var(--k)*.08s)}
.c-trowel{transform:translateY(-40px);opacity:0;transition:transform 1.1s var(--ease) .3s,opacity .4s .3s}
.c-pour{transform:scaleY(0);transform-box:fill-box;transform-origin:top;transition:transform .9s var(--ease) .4s}
.c-drop{opacity:0;transform:translateY(-10px);transition:transform .8s var(--ease),opacity .4s;transition-delay:calc(.4s + var(--k)*.15s)}
.c-arrow{opacity:0;transition:opacity .4s .5s}
.in .c-pave,.in .c-brick,.in .c-slab,.in .c-hoof,.in .c-mark,.in .c-trowel,.in .c-pour,.in .c-drop,.in .c-arrow{transform:none;opacity:1}
.in .c-wheel{transform:none}
.in .c-arrow{animation:press 1.6s var(--ease) 1.2s infinite}
@media (prefers-reduced-motion:reduce){.cut *{transition:none!important;animation:none!important}.cut .c-ring{stroke-dashoffset:0}.c-pave,.c-brick,.c-slab,.c-hoof,.c-mark,.c-trowel,.c-pour,.c-drop,.c-arrow{transform:none;opacity:1}.c-wheel{transform:none}}

/* carte d'usage */
.ugrid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 20px}
.uidx .lv-hero h1{font-size:clamp(50px,5.4vw,86px)}
.ugrid--4{grid-template-columns:repeat(4,1fr);gap:24px}
.ucard{display:flex;flex-direction:column;color:inherit}
.ucard[hidden],.ugrid[hidden]{display:none}
.ucard.rv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease) var(--d),transform .8s var(--ease) var(--d)}
.ucard.rv.in{opacity:1;transform:none}
.ucard__v{position:relative;aspect-ratio:13/8;border-radius:22px;overflow:hidden;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .4s var(--ease)}
.ucard__v .cut{transition:transform 1s var(--ease)}
.ucard__tag{position:absolute;left:12px;top:12px;font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ucard__ph{position:absolute;right:12px;bottom:12px;width:46px;height:46px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 3px #fff,0 8px 18px -8px rgba(14,38,38,.5)}
.ucard__ph img{width:100%;height:100%;object-fit:cover;display:block}
.ucard__b{position:relative;padding:18px 2px 0;display:flex;flex-direction:column;flex:1}
.ucard__b h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:20px;letter-spacing:-.01em;margin-bottom:8px}
.ucard__b p{font-size:14.5px;line-height:1.55;color:var(--grey-dark);flex:1}
.ucard__go{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--grey)}
.ucard__go i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);transition:background .3s,box-shadow .3s,transform .4s var(--ease)}
.ucard:hover .ucard__v{box-shadow:inset 0 0 0 1px var(--line),0 26px 50px -34px rgba(14,38,38,.5)}
.ucard:hover .ucard__v .cut{transform:scale(1.04)}
.ucard:hover .ucard__go i{background:var(--accent);box-shadow:none;transform:rotate(-45deg)}
.ucard:focus-visible{outline:none}.ucard:focus-visible .ucard__v{outline:2px solid var(--accent);outline-offset:3px}

/* index */
.ufilter{display:flex;gap:6px;flex-wrap:wrap}
.ubar{margin-top:-18px}
.ubar__in{gap:18px;justify-content:flex-start}
.usearch{position:relative;flex:0 1 440px;min-width:260px;display:flex;align-items:center;gap:8px;height:50px;padding:0 8px 0 48px;border-radius:999px;background:var(--paper);cursor:text;transition:background .25s,box-shadow .3s var(--ease)}
.usearch>svg{position:absolute;left:18px;color:var(--grey);transition:color .25s}
.usearch input{flex:1;min-width:0;height:100%;border:0;background:none;outline:none;font:inherit;font-size:15px;color:var(--ink)}
.usearch input::placeholder{color:var(--grey)}
.usearch input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.usearch kbd{flex:none;width:26px;height:26px;margin-right:4px;border-radius:8px;display:grid;place-items:center;font:600 12px var(--body);color:var(--grey);background:#fff;box-shadow:inset 0 0 0 1px var(--line);transition:opacity .2s}
.usearch:hover{background:#EEF0EF}
.usearch:focus-within{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink),0 14px 34px -22px rgba(14,38,38,.45)}
.usearch:focus-within>svg{color:var(--ink)}
.usearch:focus-within kbd,.usearch:has(input:not(:placeholder-shown)) kbd{opacity:0;width:0;margin:0}
.usearch__x{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink);transition:background .2s}
.usearch__x:hover{background:var(--accent)}
.usearch__x[hidden]{display:none}
.ubar__n{margin-left:auto;font-size:13px;color:var(--grey);white-space:nowrap}
.ubar+.uempty+.ugrid,.ubar~.ugrid{margin-top:34px}
.ucard h3 mark{background:linear-gradient(transparent 55%,rgba(68,218,117,.45) 55%);color:inherit;padding:0 1px;border-radius:2px}
.uempty{padding:56px 0 24px;max-width:640px}
.uempty__t{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:clamp(24px,2.4vw,32px);letter-spacing:-.01em;line-height:1.15}
.uempty__s{font-size:15px;color:var(--grey-dark);margin:16px 0 14px}
.uempty__sug{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.uempty .btn{height:46px;padding:0 22px}
.uidx .svh__tile{cursor:pointer}
.uidx__n{position:absolute;left:14px;bottom:14px;font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--grey-dark)}
.uband{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;background:var(--ink);color:#fff;border-radius:36px;padding:64px;position:relative;overflow:hidden}
.uband::before{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-220px;border-radius:50%;background:radial-gradient(closest-side,rgba(68,218,117,.22),transparent);pointer-events:none}
.uband h2{font-size:clamp(34px,4vw,54px);margin-bottom:18px}
.uband p{font-size:16px;line-height:1.6;color:rgba(255,255,255,.72);max-width:44ch}
.uband__cta{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;position:relative}
.uband__cta .btn{height:52px;padding:0 26px;font-size:15px}

/* page usage : héros */
.uh{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:center;padding:44px 0 40px;min-height:calc(100vh - var(--nav-h) - 80px)}
.uh h1{font-size:clamp(46px,5.2vw,82px);line-height:.98;margin:18px 0 0;opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.uh .lv-lead{margin:24px 0 28px;opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease) .15s,transform .9s var(--ease) .15s}
.uh__keys{max-width:520px;opacity:0;transition:opacity .9s var(--ease) .3s}
.uh .lv-cta{opacity:0;transition:opacity .9s var(--ease) .4s}
.uh .pd-tags{opacity:0;transition:opacity .8s var(--ease)}
.uh.go h1,.uh.go .lv-lead,.uh.go .uh__keys,.uh.go .lv-cta,.uh.go .pd-tags{opacity:1;transform:none}
.uh__vis{position:relative;margin:0;opacity:0;transform:translateY(20px) scale(.98);transition:opacity 1s var(--ease) .2s,transform 1.2s var(--ease) .2s}
.uh.go .uh__vis{opacity:1;transform:none}
.uh__cut{position:relative;aspect-ratio:13/8;border-radius:30px;overflow:hidden;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line),0 40px 80px -50px rgba(14,38,38,.45)}
.uh__lb{position:absolute;transform:translate(-50%,-50%);font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--grey-dark);white-space:nowrap;opacity:0;transition:opacity .6s var(--ease) 1.2s}
.uh__lb.is-mat{display:inline-flex;align-items:center;gap:7px;background:var(--ink);color:#fff;padding:6px 12px 6px 10px}
.uh__lb.is-mat::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(68,218,117,.25)}
.uh__vis.in .uh__lb{opacity:1}
.uh__pin{position:absolute;left:var(--ax);top:var(--ay);width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #fff,0 0 0 5px rgba(14,38,38,.12);opacity:0;transition:opacity .4s 1.4s}
.uh__vis.in .uh__pin{opacity:1}
.uh__stage{position:relative}
.uh__lead{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.uh__lead line{stroke:var(--ink);stroke-width:1.2;stroke-dasharray:3 4;opacity:0;transition:opacity .5s 1.5s}
.uh__vis.in .uh__lead line{opacity:.55}
.uh__loupe{position:absolute;right:-3%;top:-9%;width:30%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--paper);box-shadow:0 0 0 6px #fff,0 30px 60px -30px rgba(14,38,38,.6);transform:scale(.6);opacity:0;transition:transform 1s cubic-bezier(.3,1.3,.5,1) .9s,opacity .4s .9s}
.uh__vis.is-left .uh__loupe{right:auto;left:-3%}
.uh__vis.in .uh__loupe{transform:none;opacity:1}
.uh__loupe img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.15);transition:transform 6s linear}
.uh__vis.in .uh__loupe img{transform:scale(1.02)}
.uh__vis figcaption{font-size:13px;color:var(--grey);margin-top:16px;padding-left:4px}
.ucat__more{margin-top:34px}
.uavoid{margin-top:26px;font-size:14.5px;color:var(--grey-dark)}
.uavoid a{text-decoration:underline;text-underline-offset:3px}
.ulink{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
@media (prefers-reduced-motion:reduce){.uh h1,.uh .lv-lead,.uh__keys,.uh .lv-cta,.uh .pd-tags,.uh__vis,.uh__lb,.uh__pin,.uh__lead line,.uh__loupe,.ucard.rv{transition:none!important;opacity:1;transform:none}.uh__loupe img{transform:none}}

@media (max-width:1080px){
  .uh{grid-template-columns:1fr;gap:40px;min-height:0;padding:26px 0 10px}
  .uh__vis{max-width:640px;width:100%}
  .ugrid{grid-template-columns:1fr 1fr;gap:34px 16px}
  .ugrid--4{grid-template-columns:1fr 1fr}
  .ubar .ubar__in{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}
  .usearch{flex:1 1 100%;min-width:0;max-width:none}
  .uband{grid-template-columns:1fr;padding:40px 26px;border-radius:28px;gap:26px}
  .uband__cta{justify-content:flex-start}
}
@media (max-width:640px){
  .uh h1{font-size:42px}
  .uh__cut{border-radius:22px}
  .uh__lb{font-size:10.5px;padding:4px 8px}
  .uh__lb.is-mat{padding:5px 9px 5px 8px;gap:5px}
  .uh__loupe{width:28%;right:2%;top:-12%;box-shadow:0 0 0 4px #fff,0 20px 40px -20px rgba(14,38,38,.6)}
  .uh__vis.is-left .uh__loupe{left:2%}
  .ugrid{grid-template-columns:1fr;gap:0}
  .ugrid:not(.ugrid--4) .ucard{flex-direction:row;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
  .ugrid:not(.ugrid--4) .ucard__v{flex:none;width:128px;border-radius:14px}
  .ugrid:not(.ugrid--4) .ucard__tag,.ugrid:not(.ugrid--4) .ucard__ph,.ugrid:not(.ugrid--4) .ucard__go i{display:none}
  .ugrid:not(.ugrid--4) .ucard__b{padding:0}
  .ugrid:not(.ugrid--4) .ucard__b h3{font-size:16.5px;margin-bottom:4px}
  .ugrid:not(.ugrid--4) .ucard__b p{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .ugrid:not(.ugrid--4) .ucard__go{border:0;padding:0;margin-top:6px;font-size:12.5px}
  .ugrid--4{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -20px;padding:0 20px 6px;gap:14px}
  .ugrid--4::-webkit-scrollbar{display:none}
  .ugrid--4>.ucard{flex:0 0 80%;scroll-snap-align:start;scroll-margin-left:20px}
  .uh__vis{order:-1;margin-top:34px}
  .ubar{margin-top:-6px}
  .ubar__in{flex-wrap:wrap;gap:10px}
  .usearch{flex:1 1 100%;min-width:0;height:48px}
  .usearch kbd{display:none}
  .usearch input{font-size:16px}
  .ufilter{flex:1 1 auto;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:0 20px}
  .ubar__n{display:none}
  .ubar~.ugrid{margin-top:14px}
  .ufilter::-webkit-scrollbar{display:none}
  .uband__cta .btn{flex:1}
}
.uidx #ucat{min-height:calc(100vh + 120px)}

.pd-uses__all{margin-top:30px;font-size:14.5px}

/* =====================================================================
   OÙ : France, région, département, ville, offre locale
   ===================================================================== */
.ou-hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:40px 0 80px;min-height:calc(100vh - var(--nav-h) - 60px)}
.ou-hero--sub{min-height:0;padding:44px 0 40px}
.ou-hero h1{font-size:clamp(44px,4.6vw,74px);line-height:.98}
.ou-hero h1 .line{display:block;overflow:hidden;padding-bottom:.06em}
.ou-hero h1 .line>span{display:block;transform:translateY(105%);transition:transform 1.1s var(--ease)}
.ou-hero h1 .line:nth-child(2)>span{transition-delay:.08s}
.ou-hero.go h1 .line>span{transform:none}
.ou-hero--sub h1{margin-top:16px;opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.ou-hero--sub.go h1{opacity:1;transform:none}
.ou-hero .lv-lead{margin:26px 0 30px;max-width:48ch}
.ou-hero__txt>*:not(h1){opacity:0;transform:translateY(12px);transition:opacity .9s var(--ease) .25s,transform .9s var(--ease) .25s}
.ou-hero.go .ou-hero__txt>*{opacity:1;transform:none}
.ou-hero__map{position:relative;opacity:0;transition:opacity 1s var(--ease) .15s}
.ou-hero.go .ou-hero__map{opacity:1}
.ou-hero--lieu h1{font-size:clamp(40px,4.4vw,68px)}

/* recherche */
.osr{position:relative;max-width:540px;z-index:5}
.osr__f{display:flex;align-items:center;gap:12px;height:62px;padding:0 10px 0 22px;border-radius:999px;background:var(--paper);cursor:text;transition:background .25s,box-shadow .3s var(--ease)}
.osr__f>svg{flex:none;color:var(--grey);transition:color .25s}
.osr__f input{flex:1;min-width:0;height:100%;border:0;background:none;outline:none;font:inherit;font-size:16.5px;color:var(--ink)}
.osr__f input::placeholder{color:var(--grey)}
.osr__f input::-webkit-search-cancel-button{-webkit-appearance:none}
.osr__f:hover{background:#EEF0EF}
.osr__f:focus-within{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink),0 18px 40px -26px rgba(14,38,38,.45)}
.osr__f:focus-within>svg{color:var(--ink)}
.osr__l{position:absolute;left:0;right:0;top:calc(100% + 10px);list-style:none;background:#fff;border-radius:24px;padding:8px;box-shadow:0 0 0 1px var(--line),0 30px 60px -30px rgba(14,38,38,.4);max-height:420px;overflow:auto}
.osr__l a{display:grid;grid-template-columns:40px 1fr 30px;gap:14px;align-items:center;padding:9px 10px;border-radius:16px;transition:background .2s}
.osr__l li.on a,.osr__l a:hover{background:var(--paper)}
.osr__l b{display:block;font-size:15.5px;font-weight:600}
.osr__l small{font-size:13px;color:var(--grey)}
.osr__l em{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-style:normal;opacity:0;transition:opacity .2s}
.osr__l li.on em,.osr__l a:hover em{opacity:1;background:var(--accent)}
.osr__ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:700;background:var(--paper);color:var(--ink)}
.osr__ic--cit{background:rgba(68,218,117,.16)}
.osr__ic--reg{background:var(--ink);color:#fff;font-size:12px}
.osr__none{padding:16px 14px 18px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.osr__none b{font-size:15.5px}
.osr__none span{font-size:14px;color:var(--grey-dark);line-height:1.5;margin-bottom:8px}
.ou-quick{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:18px}
.ou-quick>span{font-size:13px;color:var(--grey);margin-right:6px}
.ou-quick .chip{height:34px;display:inline-flex;align-items:center}
.ou-quick .chip:hover,.ochips .chip:hover{background:var(--ink);color:#fff}
.ost{display:flex;gap:44px;margin-top:44px;padding-top:24px;border-top:1px solid var(--line);max-width:560px}
.ost div{display:flex;flex-direction:column-reverse}
.ost dd{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:28px;letter-spacing:-.01em}
.ost dt{font-size:13px;color:var(--grey);margin-top:4px}
.ou-keys{max-width:540px;margin:-4px 0 30px}

/* carte */
.om{position:relative}
.om__svg{display:block;width:100%;height:auto;overflow:visible}
.om__d{fill:#EDF0EF;stroke:#fff;stroke-width:.7;stroke-linejoin:round;transition:fill .3s var(--ease)}
.om__d.is-on{fill:#D6DEDB}
.om__d.is-c1{fill:#B3C3BD}
.om__d.is-c5{fill:#8CA39A}
.om a{outline:none}
.om a:hover .om__d.is-on,.om a:focus-visible .om__d.is-on{fill:var(--accent)}
.om__d.is-hi{fill:var(--ink)}
.ou-hero .om__d{opacity:0}
.ou-hero.go .om__d{animation:omIn .7s var(--ease) both;animation-delay:calc(.2s + var(--i)*8ms)}
@keyframes omIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.om__tip{position:absolute;left:0;top:0;min-width:150px;max-width:210px;padding:10px 14px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px var(--line),0 18px 40px -20px rgba(14,38,38,.45);pointer-events:none;opacity:0;transition:opacity .15s;z-index:3}
.om__tip.on{opacity:1}
.om__tip b{display:block;font-size:14.5px}
.om__tip b span{font-weight:500;color:var(--grey);margin-left:4px}
.om__tip small{font-size:12.5px;color:var(--grey-dark)}
.om--fr{max-width:620px;margin-left:auto}
.om-idf{position:absolute;left:0;bottom:44px;width:27%;padding:12px 12px 8px;border-radius:20px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 0 0 1px var(--line),0 24px 50px -32px rgba(14,38,38,.5)}
.om-idf p{font-size:12px;font-weight:600;margin-bottom:6px}
.om--idf .om__d{stroke-width:.35}
.om__leg{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--grey);margin-top:14px;justify-content:flex-end}
.om__leg i{width:12px;height:12px;border-radius:3px;background:#D6DEDB;margin-left:10px}
.om__leg i:first-child{margin-left:0}
.om__leg i.is-c1{background:#B3C3BD}.om__leg i.is-c5{background:#8CA39A}
.om__leg i.is-hi{background:var(--ink)}
.om--reg{max-width:560px;margin:0 auto}
.om--reg .om__svg{max-height:520px}

/* régions */
.org{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.orc{position:relative;display:flex;flex-direction:column;gap:14px;padding:18px 18px 20px;border-radius:24px;background:var(--paper);transition:box-shadow .4s var(--ease),background .3s}
.orc.rv{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease) var(--d),transform .8s var(--ease) var(--d),box-shadow .4s var(--ease)}
.orc.rv.in{opacity:1;transform:none}
.orc__m{height:170px;display:grid;place-items:center;padding:6px}
.orc__m .om__svg{width:auto;max-width:100%;max-height:100%;height:100%}
.orc .om__d{fill:#DAE1DE;stroke:var(--paper)}
.orc .om__d.is-on,.orc .om__d.is-c1,.orc .om__d.is-c5{fill:#C3CEC9}
.orc:hover{background:#fff;box-shadow:0 0 0 1px var(--line),0 30px 60px -40px rgba(14,38,38,.5)}
.orc:hover .om__d.is-on,.orc:hover .om__d.is-c1,.orc:hover .om__d.is-c5{fill:var(--accent)}
.orc__b b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:19px;letter-spacing:-.01em}
.orc__b small{font-size:13px;color:var(--grey)}
.orc>i,.ocard>i{position:absolute;right:16px;top:16px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;transition:background .3s,transform .4s var(--ease)}
.orc:hover>i,.ocard:hover>i{background:var(--accent);transform:rotate(-45deg)}

/* listes de villes */
.oall{columns:4;column-gap:32px}
.oall--reg{columns:3}
.oall__r{break-inside:avoid;margin-bottom:34px}
.oall__r h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:17px;margin-bottom:6px}
.oall__r h3 a:hover{color:var(--grey-dark)}
.ocl{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));column-gap:28px}
.oall .ocl{grid-template-columns:1fr}
.ocl a{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px;transition:color .2s,padding .3s var(--ease)}
.ocl small{font-size:12.5px;color:var(--grey)}
.ocl a:hover{color:var(--ink);padding-left:6px;border-bottom-color:var(--accent)}
.ochips{display:flex;flex-wrap:wrap;gap:8px}
.ochips .chip{display:inline-flex;align-items:center}

/* départements */
.odg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ocard{position:relative;display:flex;align-items:center;gap:16px;padding:18px 64px 18px 18px;border-radius:22px;background:var(--paper);transition:background .3s,box-shadow .4s var(--ease)}
.ocard.rv{opacity:0;transform:translateY(14px);transition:opacity .8s var(--ease) var(--d),transform .8s var(--ease) var(--d),background .3s,box-shadow .4s var(--ease)}
.ocard.rv.in{opacity:1;transform:none}
.ocard>i{top:50%;margin-top:-17px}
.ocard__code{flex:none;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#fff;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:17px}
.ocard__b b{display:block;font-size:16.5px;font-weight:600}
.ocard__b small{font-size:13px;color:var(--grey)}
.ocard:hover{background:#fff;box-shadow:0 0 0 1px var(--line),0 24px 50px -36px rgba(14,38,38,.5)}

/* offres d'un lieu */
.og{display:grid;grid-template-columns:300px 1fr;gap:48px;padding:38px 0;border-top:1px solid var(--line)}
.og.rv{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.og.rv.in{opacity:1;transform:none}
.og__h h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:24px;letter-spacing:-.01em;margin-bottom:10px}
.og__h p{font-size:14.5px;line-height:1.55;color:var(--grey-dark);margin-bottom:14px;max-width:32ch}
.og__h .ulink{font-size:14px}
.og__l{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:14px}
.ot{position:relative;display:block;aspect-ratio:1;border-radius:22px;overflow:hidden;background:radial-gradient(120% 95% at 50% 22%,#FBFCFC 0%,#EEF1F0 58%,#E3E8E6 100%);transition:box-shadow .4s var(--ease)}
.ot__v{position:absolute;inset:0}
.ot__v img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.ot__n{position:absolute;left:10px;bottom:10px;right:10px;font-size:13.5px;font-weight:600;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);width:fit-content;max-width:calc(100% - 20px)}
.ot>i{position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);transition:background .3s,transform .4s var(--ease)}
.ot:hover{box-shadow:0 26px 50px -34px rgba(14,38,38,.5)}
.ot:hover .ot__v img{transform:scale(1.06) translateY(-2%)}
.ot:hover>i{background:var(--accent);transform:rotate(-45deg)}

/* bandeau département, visuel d'une offre locale */
.oband{display:grid;grid-template-columns:1.3fr auto;gap:40px;align-items:center;background:var(--ink);color:#fff;border-radius:32px;padding:52px 56px;position:relative;overflow:hidden}
.oband::before{content:"";position:absolute;width:480px;height:480px;right:-140px;top:-220px;border-radius:50%;background:radial-gradient(closest-side,rgba(68,218,117,.2),transparent);pointer-events:none}
.oband h2{font-size:clamp(30px,3.2vw,44px);margin-bottom:12px}
.oband p{font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.72);max-width:52ch}
.oband .btn{height:52px;padding:0 26px;font-size:15px;position:relative}
.ou-lieu__vis{position:relative;aspect-ratio:1;max-width:560px;width:100%;margin-left:auto;border-radius:32px;overflow:hidden;background:radial-gradient(120% 95% at 50% 22%,#FBFCFC 0%,#EEF1F0 58%,#E3E8E6 100%);opacity:0;transform:scale(.97);transition:opacity 1s var(--ease) .15s,transform 1.2s var(--ease) .15s}
.ou-hero.go .ou-lieu__vis{opacity:1;transform:none}
.ou-lieu__img{position:absolute;inset:0}
.ou-lieu__img img{width:100%;height:100%;object-fit:cover}
.ou-lieu__vis .kfl{left:18px;bottom:18px}
@media (prefers-reduced-motion:reduce){.ou-hero *,.orc.rv,.ocard.rv,.og.rv{transition:none!important;animation:none!important;opacity:1!important;transform:none!important}}

@media (max-width:1080px){
  .ou-hero{grid-template-columns:1fr;gap:34px;min-height:0;padding:26px 0 30px}
  .ou-hero__map{max-width:640px}
  .om--fr{margin:0 auto}
  .org{grid-template-columns:1fr 1fr}
  .odg{grid-template-columns:1fr 1fr}
  .oall{columns:2}.oall--reg{columns:2}
  .og{grid-template-columns:1fr;gap:20px;padding:30px 0}
  .og__l{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -20px;padding:0 20px 6px;gap:12px}
  .og__l::-webkit-scrollbar{display:none}
  .og__l>.ot{flex:0 0 44%;scroll-snap-align:start;scroll-margin-left:20px}
  .oband{grid-template-columns:1fr;padding:36px 26px;border-radius:26px;gap:22px}
  .ou-lieu__vis{margin:0}
}
@media (max-width:640px){
  .ou-hero h1{font-size:42px}
  .osr__f{height:56px}
  .osr__f input{font-size:16px}
  .ost{gap:26px;flex-wrap:wrap;margin-top:32px}
  .ost dd{font-size:24px}
  .om-idf{width:32%;left:0;bottom:40px;padding:8px 8px 4px;border-radius:14px}
  .om__leg{justify-content:flex-start}
  .org{grid-template-columns:1fr 1fr;gap:10px}
  .orc{padding:12px 12px 14px;border-radius:18px;gap:10px}
  .orc__m{height:110px}
  .orc__b b{font-size:15.5px}
  .orc>i{display:none}
  .odg{grid-template-columns:1fr}
  .oall,.oall--reg{columns:1}
  .og__l>.ot{flex-basis:58%}
  .ocl{grid-template-columns:1fr}
}

/* =====================================================================
   POUR QUI : hub + pages profil (fournisseurs, transporteurs)  · v45
   ===================================================================== */
.pq-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px}
.pq-hero h1{font-size:clamp(56px,6.2vw,96px)}
.pq-hero--form{min-height:0;padding:36px 0 80px;align-items:start;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:64px}
.pq-hero--form h1{font-size:clamp(52px,5.1vw,78px)}
.pq-hero--form .pq-hero__txt{padding-top:28px}
.pq-hero .lv-meta{margin-top:48px}
.pq-hero .pd-tags{margin-bottom:22px}
.pq-hero .pd-tags .tag{background:var(--paper)}

/* liste des profils (reprend .fam) */
.pq-hero--simple{grid-template-columns:minmax(0,1fr);min-height:0;padding:40px 0 56px}
.pq-list .fam a{grid-template-columns:minmax(0,1.05fr) minmax(0,1.15fr) minmax(0,1.3fr) 190px}
.pq-list .fam__chips span{white-space:nowrap}

/* formulaire de rappel */
.pq-form{background:var(--paper);border-radius:28px;padding:36px 36px 30px;position:relative;opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease) .35s,transform 1s var(--ease) .35s}
.pq-hero.go .pq-form{opacity:1;transform:none}
.pq-form h2{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:26px;letter-spacing:-.015em;line-height:1.1}
.pq-form>p{font-size:14.5px;line-height:1.55;color:var(--grey-dark);margin:10px 0 24px}
.pq-form form{display:grid;gap:14px}
.pq-f{display:grid;gap:7px}
.pq-f label{font-size:13px;font-weight:500;color:var(--grey-dark)}
.pq-f input,.pq-f select{height:48px;border-radius:14px;border:1px solid var(--line);background:var(--white);padding:0 16px;font:inherit;font-size:15px;color:var(--ink);transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none;width:100%}
.pq-f select{background-image:url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 3.5 5 6.5 8 3.5' stroke='%230E2626' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.pq-f input::placeholder{color:#A9AFAD}
.pq-f input:focus,.pq-f select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(68,218,117,.35)}
.pq-f2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.pq-form .btn--accent{height:52px;margin-top:6px;font-size:15px}
.pq-form__note{font-size:12.5px;color:var(--grey);margin-top:16px;text-align:center}
.pq-form__ok{display:none;text-align:center;padding:40px 0 30px}
.pq-form__ok i{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:var(--accent);color:var(--ink)}
.pq-form__ok b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:24px;letter-spacing:-.01em}
.pq-form__ok p{font-size:14.5px;color:var(--grey-dark);margin-top:8px}
.pq-form.is-sent form,.pq-form.is-sent .pq-form__note{display:none}
.pq-form.is-sent .pq-form__ok{display:block}

/* photo pleine largeur */
.pq-photo{border-radius:32px;overflow:hidden;background:var(--paper);aspect-ratio:21/9}
.pq-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* le constat : trois chiffres */
.pq-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.pq-facts>div{border-top:1px solid var(--ink);padding-top:26px}
.pq-facts b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:clamp(60px,5.6vw,88px);letter-spacing:-.035em;line-height:.95}
.pq-facts h3{font-size:16px;font-weight:600;margin:22px 0 10px}
.pq-facts p{font-size:15px;line-height:1.6;color:var(--grey-dark);max-width:36ch}

/* deux colonnes : texte + visuel */
.pq-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:88px;align-items:center}
.pq-split h2{font-size:clamp(38px,4.2vw,60px);margin-bottom:22px}
.pq-split>div>p{font-size:16px;line-height:1.65;color:var(--grey-dark);max-width:50ch}
.pq-checks{list-style:none;margin-top:36px;border-bottom:1px solid var(--line)}
.pq-checks li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:20px 0;border-top:1px solid var(--line)}
.pq-checks i{width:22px;height:22px;border-radius:50%;background:var(--accent);display:grid;place-items:center;margin-top:1px}
.pq-checks h3{font-size:16px;font-weight:600;margin-bottom:4px}
.pq-checks p{font-size:14.5px;line-height:1.55;color:var(--grey-dark)}

/* visuel grille tarifaire -> devis */
.pq-grille{background:var(--paper);border-radius:32px;padding:36px}
.pq-grille__h{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--grey);margin-bottom:14px}
.pq-grille__h b{font-size:15px;color:var(--ink);font-weight:600}
.pq-grille ul{list-style:none;background:var(--white);border-radius:18px;padding:6px 20px}
.pq-grille li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line);font-size:14.5px}
.pq-grille li:first-child{border-top:0}
.pq-grille li small{color:var(--grey);margin-left:8px;font-size:13px}
.pq-grille li em{font-style:normal;font-size:12.5px;color:var(--grey-dark);background:var(--paper);border-radius:999px;padding:6px 12px}
.pq-grille__arrow{display:grid;place-items:center;height:56px;color:var(--grey)}
.pq-grille__arrow svg{transform:rotate(90deg)}
.pq-grille__out{background:var(--ink);color:#fff;border-radius:18px;padding:22px 22px 20px}
.pq-grille__out b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:22px;letter-spacing:-.01em}
.pq-grille__out span{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.pq-grille__out span i{font-style:normal;font-size:12.5px;padding:6px 11px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);color:rgba(255,255,255,.85)}
.pq-grille__out span i.on{background:var(--accent);color:var(--ink);box-shadow:none}

/* gros chantiers : tonnages à l'échelle */
.pq-dark{background:var(--ink);color:#fff;border-radius:36px;padding:96px 72px;position:relative;overflow:hidden}
.pq-dark::before{content:"";position:absolute;width:640px;height:640px;left:-220px;bottom:-380px;border-radius:50%;background:radial-gradient(closest-side,rgba(68,218,117,.16),transparent);pointer-events:none}
.pq-dark .lv-head p{color:rgba(255,255,255,.7)}
.pq-tons{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;position:relative}
.pq-ton{border-radius:26px;padding:34px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);display:flex;flex-direction:column}
.pq-ton.is-new{background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(68,218,117,.45)}
.pq-ton__k{font-size:13.5px;color:rgba(255,255,255,.55)}
.pq-ton.is-new .pq-ton__k{color:var(--accent)}
.pq-ton h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:clamp(28px,2.6vw,38px);letter-spacing:-.02em;margin:10px 0 14px}
.pq-ton p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.7);max-width:46ch}
.pq-ton__vis{display:flex;flex-wrap:wrap;gap:var(--g);align-content:flex-end;min-height:190px;margin-top:auto;padding-top:34px}
.pq-ton__vis i{width:var(--s);height:var(--s);border-radius:calc(var(--s)*.12);background:rgba(255,255,255,.28);transform:scale(0);transform-origin:bottom left;transition:transform .7s var(--ease)}
.pq-ton.is-new .pq-ton__vis i{background:var(--accent)}
.pq-tons.in .pq-ton__vis i{transform:none}
.pq-dark__note{position:relative;font-size:12.5px;color:rgba(255,255,255,.45);margin-top:20px}

/* réseau : chiffres + carte */
.pq-net{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:72px;align-items:center}
.pq-rows{border-bottom:1px solid var(--line)}
.pq-rows div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:22px 0;border-top:1px solid var(--line)}
.pq-rows dt{font-size:15px;color:var(--grey-dark)}
.pq-rows dd{white-space:nowrap;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:30px;letter-spacing:-.015em;text-align:right}
.pq-rows dd small{font-family:var(--body);font-size:13px;font-weight:500;color:var(--grey);letter-spacing:0}
.pq-net__map .om{max-width:560px;margin-left:auto}
.pq-net__go{display:flex;justify-content:flex-end;margin-top:14px}
.pq-net .btn--ghost{margin-top:34px}
.pq-net__t{font-size:clamp(38px,4.2vw,60px);margin-bottom:22px}
.pq-net__p{font-size:16px;line-height:1.65;color:var(--grey-dark);max-width:46ch;margin-bottom:34px}

.pq-net__map .om__d{fill:#BFCDC8!important;stroke:#fff;pointer-events:none}
.pq-clients .clients__head h2{font-size:clamp(34px,3.4vw,50px);max-width:20ch}

/* bourse de fret (illustration sans prix) */
.pq-board{background:var(--paper);border-radius:32px;padding:32px}
.pq-board__f{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.pq-board__f i{font-style:normal;font-size:12.5px;padding:6px 12px;border-radius:999px;background:var(--white);color:var(--grey-dark)}
.pq-board__f i.on{background:var(--ink);color:#fff}
.pq-course{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:6px;background:var(--white);border-radius:18px;padding:18px 20px;margin-top:10px}
.pq-course>div{grid-column:1/-1;display:flex;gap:10px;align-items:center}
.pq-course small{font-size:12.5px;color:var(--grey)}
.pq-course em{font-style:normal;font-size:11.5px;font-weight:600;color:var(--ink);background:var(--paper);border-radius:999px;padding:3px 9px}
.pq-course b{font-size:15.5px;font-weight:600}
.pq-course span{grid-column:1;font-size:13px;color:var(--grey-dark)}
.pq-course>i{grid-column:2;grid-row:2/4;align-self:center;font-style:normal;font-size:13px;font-weight:600;height:36px;padding:0 16px;border-radius:999px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line)}
.pq-course>i.on{background:var(--accent);box-shadow:none}
.pq-truck--more{grid-column:span 2;justify-content:space-between}
.pq-truck--more small{font-size:13px;color:var(--grey)}
.pq-truck--more>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:auto;padding-top:40px}

/* trois étapes */
.pq-steps .steps{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ce qui change dans la semaine */
.pq-week{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;row-gap:56px}
.pq-week>div{border-top:1px solid var(--line);padding-top:24px}
.pq-week h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:22px;letter-spacing:-.01em;margin-bottom:12px}
.pq-week p{font-size:15px;line-height:1.6;color:var(--grey-dark);max-width:38ch}

/* récit terrain */
.pq-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:88px;align-items:center}
.pq-story figure{border-radius:32px;overflow:hidden;aspect-ratio:4/5;background:var(--paper)}
.pq-story img{width:100%;height:100%;object-fit:cover;display:block}
.pq-story h2{font-size:clamp(36px,3.8vw,56px);margin-bottom:24px}
.pq-story p{font-size:17px;line-height:1.65;color:var(--grey-dark);max-width:46ch;margin-bottom:34px}

/* calculateur km à vide */
.pq-calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--paper);border-radius:32px;overflow:hidden}
.pq-calc__in{padding:48px;display:flex;flex-direction:column;gap:38px}
.pq-calc__in>p{font-size:13.5px;color:var(--grey)}
.pq-range{display:grid;gap:14px}
.pq-range div{display:flex;justify-content:space-between;align-items:baseline}
.pq-range label{font-size:15px;color:var(--grey-dark)}
.pq-range output{white-space:nowrap;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:26px;letter-spacing:-.01em}
.pq-range input{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;background:linear-gradient(var(--ink),var(--ink)) 0/var(--p,50%) 100% no-repeat,var(--line);outline:none}
.pq-range input::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--white);box-shadow:0 0 0 1px var(--line),0 4px 12px rgba(14,38,38,.18);cursor:grab}
.pq-range input::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:50%;background:var(--white);box-shadow:0 0 0 1px var(--line),0 4px 12px rgba(14,38,38,.18);cursor:grab}
.pq-range input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent)}
.pq-calc__out{background:var(--ink);color:#fff;padding:48px;display:flex;flex-direction:column}
.pq-calc__out small{font-size:14px;color:rgba(255,255,255,.6)}
.pq-calc__out b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:clamp(56px,5.4vw,84px);letter-spacing:-.035em;line-height:1;margin:14px 0 8px;font-variant-numeric:tabular-nums}
.pq-calc__out p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.72);max-width:40ch}
.pq-calc__gain{margin-top:auto;padding-top:28px;border-top:1px solid rgba(255,255,255,.14)}
.pq-calc__gain strong{color:var(--accent);font-weight:600}
.pq-calc__gain .btn{margin-top:22px}


/* une journée type : règle horaire 6h-18h */
.pq-day{position:relative;padding:210px 0 200px}
.pq-day__track{position:absolute;left:0;right:0;top:50%;height:2px;background:var(--line);border-radius:2px}
.pq-day__fill{position:absolute;left:0;top:0;bottom:0;width:100%;background:var(--ink);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform 3s cubic-bezier(.45,.05,.3,1)}
.pq-day.in .pq-day__fill{transform:none}
.pq-day__h{white-space:nowrap;position:absolute;top:calc(50% + 14px);transform:translateX(-50%);font-size:12px;color:var(--grey);font-variant-numeric:tabular-nums}
.pq-day__h::before{content:"";position:absolute;left:50%;top:-14px;width:1px;height:8px;background:var(--line)}
.pq-stop{position:absolute;left:var(--x);width:230px}
.pq-stop::before{content:"";position:absolute;left:-6px;width:12px;height:12px;border-radius:50%;background:var(--white);box-shadow:inset 0 0 0 2px var(--line);transition:background .3s,box-shadow .3s;transition-delay:var(--d)}
.pq-day.in .pq-stop::before{background:var(--accent);box-shadow:inset 0 0 0 2px var(--ink)}
.pq-stop.up{bottom:50%;padding-bottom:40px;border-left:1px solid var(--line)}
.pq-stop.up::before{bottom:-7px}
.pq-stop.dn{top:50%;padding-top:56px;border-left:1px solid var(--line)}
.pq-stop.dn::before{top:-5px}
.pq-stop.r{transform:translateX(-100%);border-left:0;border-right:1px solid var(--line);text-align:right}
.pq-stop.r::before{left:auto;right:-6px}
.pq-stop>*{padding-left:18px;opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:var(--d)}
.pq-stop.r>*{padding-left:0;padding-right:18px}
.pq-day.in .pq-stop>*{opacity:1;transform:none}
.pq-stop time{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:22px;letter-spacing:-.01em}
.pq-stop h3{font-size:15.5px;font-weight:600;margin:8px 0 4px}
.pq-stop p{font-size:14px;line-height:1.5;color:var(--grey-dark)}

/* la flotte */
.pq-fleet{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pq-truck{background:var(--paper);border-radius:26px;padding:20px 22px 24px;display:flex;flex-direction:column}
.pq-truck__img{aspect-ratio:16/10;display:grid;place-items:center;margin:-4px -8px 10px}
.pq-truck__img img{width:100%;height:100%;object-fit:contain;transition:transform .6s var(--ease)}
.pq-truck:hover .pq-truck__img img{transform:translateX(6px)}
.pq-truck__img.is-txt{align-items:end;justify-items:start;padding:0 8px 6px}
.pq-truck__img.is-txt span{font-size:13px;color:var(--grey)}
.pq-truck h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:21px;letter-spacing:-.01em}
.pq-truck p{font-size:14px;color:var(--grey-dark);margin-top:6px;line-height:1.5}
.pq-truck em{font-style:normal;font-size:12.5px;color:var(--grey);margin-top:auto;padding-top:16px}

/* avant / après */
.pq-ba{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.pq-ba>div{border-radius:30px;padding:44px}
.pq-ba__before{background:var(--paper)}
.pq-ba__after{background:var(--ink);color:#fff}
.pq-ba small{font-size:13.5px;color:var(--grey)}
.pq-ba__after small{color:var(--accent)}
.pq-ba h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:clamp(24px,2.2vw,30px);letter-spacing:-.015em;line-height:1.12;margin:12px 0 26px;max-width:22ch}
.pq-ba ul{list-style:none}
.pq-ba li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;padding:15px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.5}
.pq-ba__after li{border-top-color:rgba(255,255,255,.12)}
.pq-ba li i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;margin-top:1px;box-shadow:inset 0 0 0 1px #C9CECC;color:var(--grey)}
.pq-ba__after li i{background:var(--accent);box-shadow:none;color:var(--ink)}

.pq-cta .oband .lv-cta{justify-content:flex-end}

@media (max-width:1080px){
  .pq-hero{grid-template-columns:minmax(0,1fr);gap:40px}
  .pq-hero h1{font-size:clamp(46px,12vw,64px)}
  .pq-hero--form{padding:20px 0 40px}
  .pq-hero--form .pq-hero__txt{padding-top:6px}
  .pq-hero .lv-meta{margin-top:34px;gap:26px;flex-wrap:wrap}
  .pq-list .fam a{grid-template-columns:minmax(0,1fr)}
  .pq-form{padding:28px 22px 24px;border-radius:24px}
  .pq-f2{grid-template-columns:minmax(0,1fr)}
  .pq-photo{aspect-ratio:4/3;border-radius:24px}
  .pq-facts,.pq-week{grid-template-columns:minmax(0,1fr);gap:34px}
  .pq-split,.pq-story,.pq-net{grid-template-columns:minmax(0,1fr);gap:44px}
  .pq-grille{padding:22px;border-radius:26px}
  .pq-dark{padding:56px 22px;border-radius:28px;margin:0 -16px}
  .pq-tons{grid-template-columns:minmax(0,1fr)}
  .pq-ton{padding:26px}
  .pq-ton__vis{min-height:0}
  .pq-net__map .om{margin:0 auto}
  .pq-steps .steps{grid-template-columns:minmax(0,1fr)}
  .pq-story figure{aspect-ratio:4/3;border-radius:24px}
  .pq-calc{grid-template-columns:minmax(0,1fr);border-radius:26px}
  .pq-calc__in,.pq-calc__out{padding:30px 24px}
  .pq-day{padding:0 0 0 30px}
  .pq-day__track{left:5px;right:auto;top:6px;bottom:6px;width:2px;height:auto}
  .pq-day__fill{transform:scaleY(0);transform-origin:top}
  .pq-day.in .pq-day__fill{transform:none}
  .pq-day__h{display:none}
  .pq-stop,.pq-stop.r{position:relative;left:auto;width:auto;transform:none;border:0;text-align:left;padding:0 0 34px}
  .pq-stop.up,.pq-stop.dn{bottom:auto;top:auto;padding:0 0 34px}
  .pq-stop::before,.pq-stop.r::before,.pq-stop.up::before,.pq-stop.dn::before{left:-31px;right:auto;top:6px;bottom:auto}
  .pq-stop>*,.pq-stop.r>*{padding:0}
  .pq-fleet{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .pq-truck{padding:14px 14px 18px;border-radius:20px}
  .pq-truck h3{font-size:17px}
  .pq-truck p{font-size:13px}
  .pq-truck--more>div{grid-template-columns:minmax(0,1fr);gap:16px;padding-top:20px}
  .pq-board{padding:20px;border-radius:26px}
  .pq-hero--form{grid-template-columns:minmax(0,1fr)}
  .pq-ba{grid-template-columns:minmax(0,1fr)}
  .pq-ba>div{padding:30px 24px;border-radius:24px}
  .pq-cta .oband .lv-cta{justify-content:flex-start}
}
@media (max-width:560px){
  .pq-facts b{font-size:64px}
  .pq-truck h3{font-size:16px}
  .pq-ton .pq-ton__vis{--s:4.8px!important;--g:4px!important}
  .pq-ton.is-new .pq-ton__vis{--s:48px!important;--g:8px!important}
}
@media (prefers-reduced-motion:reduce){
  .pq-form,.pq-ton__vis i,.pq-day__fill,.pq-stop>*,.pq-stop::before{transition:none!important;transform:none!important;opacity:1!important}
}

/* méga menu « Pour qui » : listes typographiques par famille + aperçu photo, quel que soit le nombre de profils */
.pqm3-inner{grid-template-columns:minmax(0,1fr) 320px;gap:56px;min-height:0;padding:32px 32px 36px;position:relative}
.pqm3-inner.has-intro{grid-template-columns:270px minmax(0,1fr) 320px}
.pqm-intro{display:flex;flex-direction:column;padding:4px 0}
.pqm-intro .pqm-intro__t{margin:0;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:30px;letter-spacing:-.02em;line-height:1.02;color:var(--ink)}
.pqm-intro p{font-size:14.5px;line-height:1.55;color:var(--grey-dark);margin:14px 0 10px;max-width:32ch}
.pqm-intro small{font-size:13px;color:var(--grey)}
.pqm-intro .svc-all{margin:auto 0 0;align-self:flex-start}
.pqm-cols{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:36px;align-content:start}
.pqm-cols>*{min-width:0}
.pqm-cap{font-size:13px;color:var(--grey);padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.pqm-col ul{list-style:none}
.pqm-it{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;margin:0 -12px;border-radius:12px;transition:background .25s}
.pqm-it__dot{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-top:10px;flex:none;transform:scale(0);transition:transform .3s var(--ease)}
.pqm-it b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:21px;letter-spacing:-.01em;line-height:1.15;color:var(--grey);transition:color .25s}
.pqm-it small{display:block;font-size:12.5px;color:var(--grey);margin-top:3px}
.pqm-it.kv3-is-active{background:var(--paper)}
.pqm-it.kv3-is-active b{color:var(--ink)}
.pqm-it.kv3-is-active .pqm-it__dot{transform:scale(1)}
.pqm-it:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pqm-prev{position:relative;display:block;min-height:300px;border-radius:22px;overflow:hidden;background:var(--ink);color:#fff;isolation:isolate}
.pqm-prev::before{content:"";position:absolute;width:260px;height:260px;right:-90px;top:-90px;border-radius:50%;background:radial-gradient(closest-side,rgba(68,218,117,.28),transparent);z-index:-3}
.pqm-prev__img{position:absolute;inset:0;z-index:-2;opacity:0;transition:opacity .5s var(--ease)}
.pqm-prev__img.on{opacity:1}
.pqm-prev__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease)}
.pqm-prev:hover .pqm-prev__img img{transform:scale(1.09)}
.pqm-prev::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,38,38,0) 35%,rgba(14,38,38,.88) 100%)}
.pqm-prev.is-txt::after{background:none}
.pqm-prev__txt{position:absolute;left:22px;right:76px;bottom:22px}
.pqm-prev b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:26px;letter-spacing:-.02em;line-height:1.05}
.pqm-prev small{display:block;font-size:13.5px;color:rgba(255,255,255,.75);margin-top:6px}
.pqm-prev__go{position:absolute;right:20px;bottom:20px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);transition:background .3s,color .3s,box-shadow .3s}
.pqm-prev:hover .pqm-prev__go{background:var(--accent);color:var(--ink);box-shadow:none}
.pqm-all{position:absolute;left:32px;bottom:22px;margin:0}
.pqm3-inner:not(.has-intro){padding-bottom:64px}
/* menu mobile */
.pqm-mlist{display:flex;flex-direction:column}
.pqm-mcap{font-size:12.5px;color:var(--grey);margin:18px 0 2px}
.pqm-mrow{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.pqm-mrow__img{position:relative;width:56px;height:56px;border-radius:14px;overflow:hidden;flex:none;background:var(--paper)}
.pqm-mrow__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pqm-mrow>span:not(.pqm-mrow__img){flex:1;min-width:0}
.pqm-mrow b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:22px;letter-spacing:-.015em;line-height:1.1}
.pqm-mrow small{display:block;font-size:12.5px;color:var(--grey);margin-top:3px}
.pqm-mrow i{color:var(--grey)}
.pqm-acc{padding:0 0 10px}
.pqm-acc .pqm-mrow{padding:12px 0}
.pqm-acc .pqm-mrow:last-child{border-bottom:0}
.pqm-acc .pqm-mrow__img{width:48px;height:48px;border-radius:12px}
.pqm-acc .pqm-mrow b{font-size:19px}
.macc+.mmenu__cap{margin-top:28px}
/* page « Pour qui » : deux portes photographiques plein cadre */
.pqh-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:48px;align-items:end;min-height:0;padding:28px 0 56px}
.pqh-hero h1{font-size:clamp(48px,5vw,80px)}
.pqh-hero .lv-lead{margin:0 0 10px;max-width:40ch}
.pqh-doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pqh-doors>*{min-width:0}
.pqh-door{position:relative;display:block;height:clamp(540px,74vh,780px);border-radius:32px;overflow:hidden;background:var(--ink);color:#fff;isolation:isolate;
  clip-path:inset(100% 0 0 0 round 32px);transition:clip-path 1.2s var(--ease);transition-delay:calc(.25s + var(--i)*.12s)}
.pqh-doors.in .pqh-door{clip-path:inset(0 0 0 0 round 32px)}
.pqh-door__img{position:absolute;inset:0;z-index:-2}
.pqh-door__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.6s var(--ease),filter .6s var(--ease)}
.pqh-doors.in .pqh-door__img img{transform:scale(1.02)}
.pqh-door::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,38,38,.05) 0%,rgba(14,38,38,.18) 32%,rgba(14,38,38,.82) 62%,rgba(14,38,38,.95) 100%)}
.pqh-door__body{position:absolute;left:44px;right:44px;bottom:42px;display:flex;flex-direction:column;align-items:flex-start}
.pqh-door .h-display{font-size:clamp(44px,4.4vw,68px);line-height:.95}
.pqh-door__line{font-size:16px;line-height:1.55;color:rgba(255,255,255,.8);max-width:40ch;margin-top:16px}
.pqh-door__k{display:flex;gap:40px;margin:30px 0 32px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);align-self:stretch}
.pqh-door__k div{display:flex;flex-direction:column-reverse}
.pqh-door__k dd{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:26px;letter-spacing:-.01em}
.pqh-door__k dt{font-size:13px;color:rgba(255,255,255,.6);margin-top:4px}
.pqh-door__go{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 10px 0 24px;border-radius:999px;background:#fff;color:var(--ink);font-size:15px;font-weight:600;transition:background .3s,color .3s}
.pqh-door__go i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--paper);transition:background .3s,transform .4s var(--ease)}
.pqh-door:hover .pqh-door__go{background:var(--accent)}
.pqh-door:hover .pqh-door__go i{background:#fff;transform:translateX(3px)}
.pqh-door:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media (hover:hover){
  .pqh-doors.in .pqh-door:hover .pqh-door__img img{transform:scale(1.06)}
  .pqh-doors:hover .pqh-door:not(:hover) .pqh-door__img img{filter:brightness(.62) saturate(.8)}
}
@media (max-width:1080px){
  .pqh-hero{grid-template-columns:minmax(0,1fr);gap:22px;padding:20px 0 34px}
  .pqh-doors{grid-template-columns:minmax(0,1fr);gap:12px}
  .pqh-door{height:auto;aspect-ratio:4/5;border-radius:26px;clip-path:none!important}
  .pqh-door__body{left:24px;right:24px;bottom:26px}
  .pqh-door .h-display{font-size:clamp(38px,10vw,52px)}
  .pqh-door::after{background:linear-gradient(180deg,rgba(14,38,38,.05) 0%,rgba(14,38,38,.3) 26%,rgba(14,38,38,.88) 52%,rgba(14,38,38,.96) 100%)}
  .pqh-door__line{font-size:14.5px;margin-top:12px}
  .pqh-door__k{gap:26px;margin:22px 0 22px;padding-top:16px}
  .pqh-door__k dd{font-size:22px}
}

/* « Pour qui » : index typographique des profils clients (s'allonge sans s'alourdir) */
.pqx-cols{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:56px}
.pqx-cols>*{min-width:0}
.pqx-cap{font-size:14px;color:var(--grey-dark);padding-bottom:16px}
.pqx-col ul{list-style:none;border-bottom:1px solid var(--line)}
.pqx-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 4px;border-top:1px solid var(--line);position:relative}
.pqx-row::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.pqx-row__t{display:flex;flex-direction:column;gap:6px;min-width:0;transition:transform .5s var(--ease)}
.pqx-row__n{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(28px,2.7vw,42px);letter-spacing:-.025em;line-height:1}
.pqx-row__l{font-size:14px;color:var(--grey)}
.pqx-row i{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,box-shadow .3s}
.pqx-row:hover::before{transform:none}
.pqx-row:hover .pqx-row__t{transform:translateX(8px)}
.pqx-row:hover i{background:var(--accent);box-shadow:none}
.pqx-row:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}
@media (max-width:1080px){
  .pqx-cols{grid-template-columns:minmax(0,1fr);gap:40px}
  .pqx-row{padding:18px 0}
  .pqx-row__n{font-size:26px}
  .pqx-row i{width:38px;height:38px}
}
@media (prefers-reduced-motion:reduce){.pqh-door,.pqh-door__img img{transition:none!important;clip-path:none!important;transform:none!important}}

@media (prefers-reduced-motion:reduce){.pqm-door,.pqm-door__img img{transition:none!important;transform:none!important}}

/* =====================================================================
   LISTES DÉROULANTES (même habillage partout : champ de formulaire ou pastille de tri)
   ===================================================================== */
.ksel{position:relative}
.ksel__native{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.ksel__btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font:inherit;color:var(--ink);background:var(--white);cursor:pointer;text-align:left;
  transition:border-color .2s,box-shadow .2s,background .2s}
.ksel__val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ksel__btn.is-ph .ksel__val{color:#A9AFAD}
.ksel__chev{flex:none;color:var(--ink);transition:transform .3s var(--ease)}
.ksel.is-open .ksel__chev{transform:rotate(180deg)}
.ksel__btn:focus{outline:none}
/* variante champ (formulaires) : identique aux champs texte */
.ksel--field .ksel__btn{height:48px;padding:0 16px;border-radius:14px;border:1px solid var(--line);font-size:15px}
.ksel--field .ksel__btn:hover{border-color:#C9CECC}
.ksel--field .ksel__btn:focus-visible,.ksel--field.is-open .ksel__btn{border-color:var(--ink);box-shadow:0 0 0 3px rgba(68,218,117,.35)}
/* variante pastille (tri du catalogue) */
.ksel--pill .ksel__btn{height:38px;padding:0 14px 0 16px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1px var(--line);font-size:13.5px;font-weight:500;width:auto;gap:10px}
.ksel--pill .ksel__btn:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.ksel--pill .ksel__btn:focus-visible,.ksel--pill.is-open .ksel__btn{box-shadow:inset 0 0 0 1px var(--ink),0 0 0 3px rgba(68,218,117,.35)}
/* la liste */
.ksel__list{list-style:none;position:absolute;left:0;top:calc(100% + 8px);z-index:60;min-width:100%;max-height:320px;overflow:auto;overscroll-behavior:contain;
  padding:6px;margin:0;background:var(--white);border-radius:16px;
  box-shadow:0 0 0 1px rgba(14,38,38,.08),0 24px 48px -18px rgba(14,38,38,.30),0 6px 14px -8px rgba(14,38,38,.12);
  opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:top center;
  transition:opacity .18s var(--ease),transform .26s var(--ease),visibility 0s .26s;scrollbar-width:thin}
.ksel--pill .ksel__list{min-width:220px;left:auto;right:0;transform-origin:top right}
.ksel.is-right .ksel__list{left:auto;right:0;transform-origin:top right}
.ksel.is-up .ksel__list{top:auto;bottom:calc(100% + 8px);transform:translateY(6px) scale(.98);transform-origin:bottom center}
.ksel.is-open .ksel__list{opacity:1;visibility:visible;transform:none;transition:opacity .18s var(--ease),transform .26s var(--ease),visibility 0s}
.ksel__list li{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;padding:0 12px 0 14px;border-radius:10px;
  font-size:14.5px;color:var(--ink);cursor:pointer;white-space:nowrap;transition:background .15s}
.ksel--pill .ksel__list li{font-size:13.5px;min-height:38px}
.ksel__list li.is-act{background:var(--paper)}
.ksel__tick{flex:none;width:20px;height:20px;padding:4.5px;border-radius:50%;background:var(--accent);color:var(--ink);opacity:0;transform:scale(.6);transition:opacity .2s,transform .3s var(--ease)}
.ksel__list li[aria-selected="true"]{font-weight:600}
.ksel__list li[aria-selected="true"] .ksel__tick{opacity:1;transform:none}
/* sélecteur natif (écrans tactiles) : même habillage, texte d'attente en gris */
.pq-f select:invalid{color:#A9AFAD}
.pq-f select option{color:var(--ink)}
@media (prefers-reduced-motion:reduce){.ksel__list,.ksel__chev,.ksel__tick{transition:none!important}}
/* gabarit unique « Pour qui » : compléments */
.pq-tpl .pq-clients{padding:48px 0 0}
.pq-form>.pq-form__alt{font-size:13.5px;color:var(--grey-dark);margin:10px 0 0;text-align:center}
.pq-form__alt a{color:var(--ink);font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line);transition:text-decoration-color .3s var(--ease)}
.pq-form__alt a:hover{text-decoration-color:var(--ink)}
.pq-gamme{grid-template-columns:repeat(4,minmax(0,1fr))}
.pq-gamme a.pq-truck{color:inherit;text-decoration:none;transition:background .4s var(--ease)}
.pq-gamme a.pq-truck:hover{background:#ECEFEE}
.pq-gamme .pq-truck em{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pq-gamme .pq-truck em i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--white);color:var(--ink);transition:background .3s var(--ease),color .3s var(--ease),transform .4s var(--ease)}
.pq-gamme a.pq-truck:hover em i{background:var(--ink);color:#fff;transform:translateX(2px)}
.pq-gamme .pq-truck em i svg{width:13px;height:13px}
.pq-gamme .pq-truck:hover .pq-truck__img img{transform:scale(1.04)}
.pq-tpl .pq-grille li em{white-space:nowrap}
.pq-tpl .pq-grille li span{min-width:0}
@media (max-width:1080px){.pq-gamme{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pq-form.is-sent .pq-form__alt{display:none}
/* Safari : la vignette prend la largeur de sa carte, jamais celle de l'image */
.pq-tpl .pq-truck{min-width:0}
.pq-tpl .pq-truck__img{position:relative;align-self:stretch;width:auto;min-width:0}
.pq-tpl .pq-truck__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}


/* menu mobile : navigation en cascade (page > famille > éléments) */
.mnav{display:flex;flex-direction:column}
.mn{border-bottom:1px solid var(--line)}
.mn__h{all:unset;box-sizing:border-box;width:100%;display:flex;justify-content:space-between;align-items:center;padding:15px 0;font-size:19px;font-weight:500;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent}
.mn__h i,.mn2 summary i{width:8px;height:8px;border-top:1.5px solid var(--grey);border-right:1.5px solid var(--grey);transform:rotate(45deg);margin-right:3px;transition:transform .5s var(--ease),border-color .3s}
.mn.is-open>.mn__h i{transform:translateY(-3px) rotate(135deg);border-color:var(--ink)}
.mn__p{height:0;overflow:hidden;margin-right:-20px;visibility:hidden;transition:height .55s var(--ease),visibility 0s .55s}
.mn.is-open>.mn__p{visibility:visible;transition:height .55s var(--ease),visibility 0s}
.mn__in{padding:0 20px 14px 0;opacity:0;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .5s var(--ease)}
.mn.is-open .mn__in{opacity:1;transform:none;transition-delay:.08s}
/* niveau 2 */
.mn2 details{border-top:1px solid var(--line)}
.mn2 details:first-child{border-top:0}
.mn2 summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:13px 0 13px 16px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mn2 summary::-webkit-details-marker{display:none}
.mn2 summary b{font-size:16.5px;font-weight:500;color:var(--grey-dark);transition:color .3s}
.mn2 summary i{width:7px;height:7px}
.mn2 details.is-on summary b{color:var(--ink)}
.mn2 details.is-on summary i{transform:translateY(-2px) rotate(135deg);border-color:var(--ink)}
.mn2__p{overflow:hidden;margin-right:-20px}
.mn2__p>*{opacity:0;transform:translateY(-6px);transition:opacity .3s var(--ease),transform .45s var(--ease)}
.mn2 details.is-on .mn2__p>*{opacity:1;transform:none;transition-delay:.06s}
.mn2 .mrail{margin:0;padding:4px 20px 18px 16px;scroll-padding-inline:16px}
.mn2 .pqm-acc{padding:0 20px 8px 16px}
.mn2 .pqm-acc .pqm-mrow b{font-size:17px}
.mn2 .pqm-acc .pqm-mrow__img{width:44px;height:44px;border-radius:11px}
.mn2__all{display:inline-block;margin:10px 0 2px 16px;font-size:14px;font-weight:500;color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}
.mnav+.mlinks{margin-top:0}
@media (prefers-reduced-motion:reduce){.mn__p,.mn__in,.mn2__p>*,.mn__h i,.mn2 summary i{transition:none!important}}

/* fiche produit : « Bon à savoir » */
.bas{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px;align-items:stretch}
.bas__key{border-top:1px solid var(--ink);padding:30px 56px 0 0;display:flex;flex-direction:column}
.bas__k{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--grey-dark);margin-bottom:26px}
.bas__k::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.bas__lead{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:clamp(24px,2.05vw,31px);line-height:1.18;letter-spacing:-.015em;color:var(--ink);text-wrap:pretty;max-width:30ch}
.bas__more{font-size:16px;line-height:1.75;color:var(--grey-dark);margin-top:24px;max-width:62ch}
.bas__order{background:var(--ink);color:#fff;border-radius:30px;padding:36px 36px 34px;position:relative;overflow:hidden;display:flex;flex-direction:column}
.bas__order::before{content:"";position:absolute;width:420px;height:420px;right:-200px;top:-240px;border-radius:50%;background:radial-gradient(closest-side,rgba(68,218,117,.18),transparent);pointer-events:none}
.bas__order .bas__k{color:var(--accent);margin-bottom:18px;position:relative}
.bas__rows{position:relative;margin-bottom:28px}
.bas__rows div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:17px 0;border-top:1px solid rgba(255,255,255,.12)}
.bas__rows div:first-child{border-top:0}
.bas__rows dt{white-space:nowrap;font-size:14.5px;color:rgba(255,255,255,.66)}
.bas__rows dd{text-align:right;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:20px;letter-spacing:-.01em;white-space:nowrap}
.bas__rows dd.bas__s{grid-column:1/-1;margin-top:-10px;font-family:var(--body);font-size:12.5px;font-weight:400;letter-spacing:0;color:rgba(255,255,255,.55);white-space:normal}
.bas__cta{position:relative;display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.bas+.know{margin-top:24px}
@media (max-width:1080px){
  .bas{grid-template-columns:minmax(0,1fr)}
  .bas__key{padding:24px 0 8px}
  .bas__lead{max-width:none}
  .bas__order{border-radius:24px;padding:28px 22px 24px}
  .bas__rows dd{font-size:18px}
  .bas__cta .btn{flex:1 1 auto;justify-content:center}
}

/* « Pour qui » : index des profils */
.pq-hub .pqh-hero{padding-bottom:40px}
.pqi{position:relative;display:flex;flex-direction:column;gap:104px;padding-top:32px}
.pqi-g{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.5fr);gap:72px;align-items:start}
.pqi-g>*{min-width:0}
.pqi-side{position:sticky;top:calc(var(--nav-h) + 40px);padding-top:26px}
.pqi-side h2{font-size:clamp(34px,3.1vw,46px)}
.pqi-side p{font-size:15.5px;line-height:1.6;color:var(--grey-dark);margin-top:16px;max-width:30ch}
.pqi-list{list-style:none;border-bottom:1px solid var(--line)}
.pqi-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:30px 0;border-top:1px solid var(--line);position:relative;color:inherit}
.pqi-row::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.pqi-row__th{display:none}
.pqi-row__t{display:flex;flex-direction:column;gap:10px;min-width:0;transition:transform .6s var(--ease)}
.pqi-row__n{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(34px,3.5vw,54px);letter-spacing:-.03em;line-height:1;transition:color .4s var(--ease)}
.pqi-row__l{font-size:15px;color:var(--grey)}
.pqi-row i{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line);transition:background .35s var(--ease),box-shadow .35s var(--ease),transform .5s var(--ease)}
.pqi-row:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:10px}
@media (hover:hover) and (pointer:fine){
  .pqi-list:hover .pqi-row:not(:hover) .pqi-row__n{color:#B6BFBC}
  .pqi-row:hover::before{transform:none}
  .pqi-row:hover .pqi-row__t{transform:translateX(10px)}
  .pqi-row:hover i{background:var(--accent);box-shadow:none;transform:rotate(-45deg)}
}
.pqi-vis{position:relative;margin-top:36px;aspect-ratio:4/3;max-width:340px;border-radius:22px;overflow:hidden;background:var(--paper)}
.pqi-vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .6s var(--ease),transform 1.1s var(--ease)}
.pqi-vis img.on{opacity:1;transform:none}
.pqi-help{font-size:15px;color:var(--grey-dark);margin-top:28px}
.pqi-help a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}
/* partenaires */
.pqp{background:var(--ink);color:#fff;border-radius:36px;padding:96px 72px 72px;position:relative;overflow:hidden;isolation:isolate}
.pqp::before{content:"";position:absolute;width:720px;height:720px;right:-260px;top:-420px;border-radius:50%;background:radial-gradient(closest-side,rgba(68,218,117,.16),transparent);z-index:-1;pointer-events:none}
.pqp-h{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:end;margin-bottom:56px}
.pqp-h h2{font-size:clamp(38px,4.2vw,62px);text-wrap:balance}
.pqp-h p{font-size:16px;line-height:1.6;color:rgba(255,255,255,.7);max-width:42ch}
.pqp-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pqp-c{display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);color:#fff;transition:background .4s var(--ease)}
.pqp-c__img{position:relative;aspect-ratio:16/9;overflow:hidden}
.pqp-c__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pqp-c__b{display:flex;flex-direction:column;padding:30px 32px 30px;flex:1}
.pqp-c__n{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(30px,2.6vw,40px);letter-spacing:-.025em;line-height:1}
.pqp-c__l{font-size:15px;line-height:1.6;color:rgba(255,255,255,.7);margin-top:14px;max-width:44ch}
.pqp-c__k{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0 30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}
.pqp-c__k dd{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:26px;letter-spacing:-.015em}
.pqp-c__k dt{font-size:13px;color:rgba(255,255,255,.55);margin-top:4px}
.pqp-c__go{margin-top:auto;display:inline-flex;align-items:center;gap:12px;font-size:15px;font-weight:600;align-self:flex-start}
.pqp-c__go i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--ink);transition:transform .5s var(--ease)}
.pqp-c:hover{background:rgba(255,255,255,.07)}
.pqp-c:hover .pqp-c__img img{transform:scale(1.045)}
.pqp-c:hover .pqp-c__go i{transform:translateX(4px)}
.pqp-c:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.pqp-r{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:64px;padding-top:36px;border-top:1px solid rgba(255,255,255,.12)}
.pqp-r h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:21px;letter-spacing:-.01em}
.pqp-r p{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.62);margin-top:10px;max-width:36ch}
@media (max-width:1080px){
  .pqi{gap:64px;padding-top:8px}
  .pqi-g{grid-template-columns:minmax(0,1fr);gap:20px}
  .pqi-side{position:static;padding-top:0}
  .pqi-row{grid-template-columns:56px minmax(0,1fr) auto;gap:16px;padding:18px 0}
  .pqi-row__th{display:block;position:relative;width:56px;height:56px;border-radius:14px;overflow:hidden;background:var(--paper)}
  .pqi-row__th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .pqi-row__n{font-size:24px}
  .pqi-row__l{font-size:13.5px}
  .pqi-row__t{gap:6px}
  .pqi-row i{width:38px;height:38px}
  .pqi-vis{display:none}
  .pqi-help{margin-top:20px}
  .pqp{border-radius:28px;padding:56px 20px 40px}
  .pqp-h{grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:32px}
  .pqp-g{grid-template-columns:minmax(0,1fr);gap:14px}
  .pqp-c__b{padding:24px 22px}
  .pqp-r{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:40px}
}
/* méga menu « Pour qui » : deux colonnes de profils et une image qui suit le survol */
.pqm5-inner{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) 300px;gap:48px;position:relative;padding-bottom:72px}
.pqm5-col{min-width:0}
.pqm5-h{font-size:13px;color:var(--grey);padding:0 16px 12px;margin:0}
.pqm5-list{list-style:none;columns:var(--c);column-gap:16px}
.pqm5-list li{break-inside:avoid}
.pqm5-it{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;transition:background .3s var(--ease)}
.pqm5-it b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:21px;letter-spacing:-.012em;line-height:1.1;color:var(--ink)}
.pqm5-it small{display:block;font-size:13px;color:var(--grey);margin-top:4px}
.pqm5-it i{color:var(--ink);opacity:0;transform:translateX(-8px);transition:opacity .3s var(--ease),transform .45s var(--ease)}
.pqm5-it.kv3-is-active{background:var(--paper)}
.pqm5-it.kv3-is-active i{opacity:1;transform:none}
.pqm5-it:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pqm5-col--p{padding-right:40px;border-right:1px solid var(--line)}
.pqm5-vis{position:relative;display:block;aspect-ratio:1;border-radius:20px;overflow:hidden;background:var(--ink);isolation:isolate;align-self:start}
.pqm5-vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .55s var(--ease),transform 1.1s var(--ease);z-index:-2}
.pqm5-vis img.on{opacity:1;transform:none}
.pqm5-vis::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,38,38,0) 45%,rgba(14,38,38,.85) 100%)}
.pqm5-vis__t{position:absolute;left:20px;right:20px;bottom:18px;color:#fff}
.pqm5-vis__t b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:22px;letter-spacing:-.015em;line-height:1.05}
.pqm5-vis__t small{display:block;font-size:13px;color:rgba(255,255,255,.75);margin-top:5px}
.pqm5-all{position:absolute;left:48px;bottom:28px;margin:0}
.pqm5-inner--wide{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr) 280px}
.pqm5-list[style*="--c:2"] .pqm5-it b{font-size:19px}

/* page Contact */
.ct-ch{margin-top:44px;border-bottom:1px solid var(--line);max-width:560px}
.ct-ch div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:20px 0;border-top:1px solid var(--line)}
.ct-ch dt{font-size:14px;color:var(--grey);padding-top:4px}
.ct-ch dd{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:22px;letter-spacing:-.012em;line-height:1.2;color:var(--ink)}
.ct-ch dd a{color:inherit;background:linear-gradient(var(--ink),var(--ink)) 0 100%/0 1.5px no-repeat;transition:background-size .5s var(--ease)}
.ct-ch dd a:hover{background-size:100% 1.5px}
.ct-ch dd small{display:block;font-family:var(--body);font-weight:400;font-size:13.5px;letter-spacing:0;color:var(--grey);margin-top:6px}
.pq-f textarea{border-radius:14px;border:1px solid var(--line);background:var(--white);padding:13px 16px;font:inherit;font-size:15px;line-height:1.5;color:var(--ink);resize:vertical;min-height:112px;width:100%;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}
.pq-f textarea::placeholder{color:#A9AFAD}
.pq-f textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(68,218,117,.35)}
.ct-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ct-r{position:relative;display:flex;flex-direction:column;min-height:260px;padding:30px 30px 28px;border-radius:28px;background:var(--paper);color:var(--ink);transition:background .4s var(--ease)}
.ct-r:first-child{background:var(--ink);color:#fff}
.ct-r__k{font-size:13.5px;color:var(--grey)}
.ct-r:first-child .ct-r__k{color:var(--accent)}
.ct-r b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(26px,2.3vw,34px);letter-spacing:-.02em;line-height:1.05;margin-top:14px}
.ct-r__p{font-size:14.5px;line-height:1.6;color:var(--grey-dark);margin-top:14px;max-width:34ch;padding-right:40px}
.ct-r:first-child .ct-r__p{color:rgba(255,255,255,.7)}
.ct-r i{position:absolute;right:26px;bottom:26px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,box-shadow .3s,transform .45s var(--ease)}
.ct-r:first-child i{background:var(--accent);color:var(--ink);box-shadow:none}
.ct-r:hover i{background:var(--accent);box-shadow:none;transform:translateX(3px)}
.ct-r:not(:first-child):hover{background:#ECEFEE}
.ct-r:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media (max-width:1080px){
  .ct-ch{margin-top:32px}
  .ct-ch div{grid-template-columns:minmax(0,1fr);gap:4px;padding:16px 0}
  .ct-ch dd{font-size:20px}
  .ct-routes{grid-template-columns:minmax(0,1fr);gap:12px}
  .ct-r{min-height:0;padding:24px 22px 24px;border-radius:22px}
  .ct-r__p{padding-right:52px}
  .ct-r i{right:20px;bottom:22px;width:40px;height:40px}
}



/* ===== App transporteur : visite guidée en 3 temps au-dessus d'un écran de l'app ===== */
.tapp__head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,80px);align-items:end;margin-bottom:40px}
.tapp__head h2{font-size:clamp(40px,4.6vw,68px);line-height:1;margin:14px 0 0;text-wrap:balance}
.tapp__lead{font-size:17px;line-height:1.6;color:var(--grey-dark);max-width:48ch;margin:0 0 24px}
.tapp__note{font-size:13px;color:var(--grey-dark);align-self:center}
.tapp__steps{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tapp-st{display:grid;grid-template-columns:30px minmax(0,1fr);gap:14px;width:100%;text-align:left;padding:18px 0 20px;border-top:1px solid var(--line);position:relative;color:var(--ink);cursor:pointer;align-items:start}
.tapp-st__n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--grey-dark);font-size:12.5px;font-weight:600;transition:background .35s,color .35s}
.tapp-st__t b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:20px;letter-spacing:-.015em;line-height:1.2;color:var(--grey);transition:color .35s}
.tapp-st__t small{display:block;font-size:14px;line-height:1.5;color:var(--grey-dark);margin-top:6px;opacity:.55;transition:opacity .35s}
.tapp-st.is-on .tapp-st__t b,.tapp-st.is-done .tapp-st__t b{color:var(--ink)}
.tapp-st.is-on .tapp-st__t small{opacity:1}
.tapp-st.is-on .tapp-st__n{background:var(--ink);color:#fff}
.tapp-st.is-done .tapp-st__n{background:var(--accent);color:var(--ink)}
.tapp-st__bar{position:absolute;left:0;right:0;top:-1px;height:2px;overflow:hidden}
.tapp-st__bar i{display:block;height:100%;background:var(--ink);transform:scaleX(0);transform-origin:0 50%}
.tapp-st.is-done .tapp-st__bar i{transform:scaleX(1);background:var(--accent)}
.tapp.is-live .tapp-st.is-on .tapp-st__bar i{animation:tappBar 4.6s linear forwards}
@keyframes tappBar{to{transform:scaleX(1)}}
.tapp-st:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}
.tapp__stage{position:relative;border-radius:32px;background:radial-gradient(120% 100% at 50% 0%,#FBFCFC 0%,#EFF2F1 60%,#E3E8E6 100%);padding:clamp(16px,3vw,40px) clamp(16px,3vw,40px) 0;overflow:hidden}
.tapp-fit{position:relative;overflow:hidden;border-radius:18px 18px 0 0;box-shadow:0 40px 80px -46px rgba(14,38,38,.55),0 0 0 1px rgba(14,38,38,.06)}
/* écran dessiné à taille réelle (1120 × 660), mis à l'échelle en JS */
.tapp-win{position:absolute;left:0;top:0;width:1120px;height:660px;transform-origin:0 0;display:grid;grid-template-columns:200px 1fr;background:#F7F8F8;font-family:Inter,system-ui,sans-serif;color:#0E2626;text-align:left}
.tw-side{background:#00524E;color:#fff;display:flex;flex-direction:column;padding:18px 12px}
.tw-logo{display:flex;align-items:center;gap:10px;padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:16px}
.tw-logo span{width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:17px}
.tw-logo span i{color:#44DA75;font-style:normal}
.tw-logo b{font-size:15px;font-weight:600}
.tw-side ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.tw-side li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;font-size:13px;color:rgba(255,255,255,.86)}
.tw-side li.is-on{background:#fff;color:#00524E;font-weight:600}
.tw-user{margin-top:auto;display:flex;align-items:center;gap:9px;padding:12px 8px 0;border-top:1px solid rgba(255,255,255,.12)}
.tw-user span{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:10px;font-weight:700}
.tw-user b{font-size:12px;font-weight:600}
.tw-main{display:flex;flex-direction:column;min-width:0}
.tw-top{background:#fff;border-bottom:1px solid #E7EAE9;padding:16px 22px 14px}
.tw-top h4{margin:0 0 12px;font-size:18px;font-weight:700;letter-spacing:-.01em;font-family:Inter,system-ui,sans-serif}
.tw-fil{display:flex;gap:8px;align-items:center}
.tw-fil span{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:10px;box-shadow:inset 0 0 0 1px #E1E5E4;font-size:12px;color:#3B4543;background:#fff}
.tw-fil span svg:last-child{color:#9AA3A1}
.tw-fil .tw-fil__n{margin-left:auto;box-shadow:none;background:#E3F6EA;color:#00524E;font-weight:600;border-radius:999px;height:28px}
.tw-main{height:100%;overflow:hidden}
.tw-body{flex:1 1 0;display:grid;grid-template-columns:400px 1fr;grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden}
.tw-list{padding:16px 16px 0 18px;display:flex;flex-direction:column;gap:12px;overflow:hidden;border-right:1px solid #E7EAE9}
.tc{background:#fff;border-radius:16px;padding:14px 16px;box-shadow:0 0 0 1px #E6E9E8,0 1px 2px rgba(14,38,38,.04);transition:box-shadow .45s var(--ease),transform .45s var(--ease)}
.tc__h{display:flex;gap:6px;align-items:baseline;font-size:12.5px;color:#56605E}
.tc__h b{font-size:13px;font-weight:700;color:#00524E;letter-spacing:.02em;text-transform:uppercase}
.tc__k{display:block;font-size:11.5px;color:#7A8481;margin:4px 0 8px}
.tc__r{display:flex;align-items:center;gap:6px;font-size:13.5px;white-space:nowrap;overflow:hidden}
.tc__r b{font-weight:600}
.tc__r i{width:8px;height:8px;border-radius:50%;flex:none}
.tc__r i.o,.tw-route i.o{background:#2DBE6C}.tc__r i.d,.tw-route i.d{background:#E5584F}
.tc__r em{color:#7A8481;display:inline-flex}
.tc__m{list-style:none;margin:10px 0 12px;padding:0;display:flex;gap:14px;font-size:11.5px;color:#56605E}
.tc__m li{display:flex;align-items:center;gap:5px;white-space:nowrap}
.tc__m svg{color:#8E9896}
.tc__f{display:flex;justify-content:space-between;align-items:center}
.tc__pill{font-size:11.5px;font-weight:600;color:#00524E;background:#E3F6EA;padding:5px 10px;border-radius:999px}
.tc__t{display:flex;align-items:center;gap:5px;font-size:11px;color:#7A8481}
.tc__t em{margin-left:6px;display:inline-flex}
.tapp-win[data-s="0"] .tc.is-hot{box-shadow:0 0 0 2px #44DA75,0 16px 30px -18px rgba(0,82,78,.45);transform:translateY(-2px)}
.tapp-win:not([data-s="0"]) .tc.is-hot{box-shadow:0 0 0 2px #00524E}
.tw-map{position:relative;overflow:hidden}
.tm{position:absolute;inset:0;width:100%;height:100%}
.tm text{font:600 11px Inter,system-ui,sans-serif;fill:#5E6866}
.tm-l{fill:none;stroke:transparent;stroke-width:2.5;stroke-dasharray:5 6}
.tm-p{fill:#9AA6A3;stroke:#fff;stroke-width:3;transition:fill .4s}
.tm-c.is-hot .tm-l{stroke:#00524E}
.tm-c.is-hot .tm-p--o{fill:#2DBE6C}.tm-c.is-hot .tm-p--d{fill:#E5584F}
.tm-c.is-hot text{fill:#0E2626}
.tapp.is-live .tapp-win[data-s="0"] .tm-c.is-hot .tm-l{animation:tmDash 1.2s linear infinite}
@keyframes tmDash{to{stroke-dashoffset:-22}}
.tw-drawer{position:absolute;top:14px;right:14px;bottom:14px;width:330px;background:#fff;border-radius:18px;box-shadow:0 24px 50px -24px rgba(14,38,38,.45),0 0 0 1px #E6E9E8;transform:translateX(calc(100% + 30px));transition:transform .7s var(--ease);overflow:hidden}
.tapp-win[data-s="1"] .tw-drawer,.tapp-win[data-s="2"] .tw-drawer{transform:none}
.tw-dv{position:absolute;inset:0;padding:18px;transition:opacity .45s var(--ease),transform .55s var(--ease)}
.tw-dv--drv{opacity:0;transform:translateX(24px)}
.tapp-win[data-s="2"] .tw-dv--det{opacity:0;transform:translateX(-24px)}
.tapp-win[data-s="2"] .tw-dv--drv{opacity:1;transform:none}
.tw-dh{display:flex;flex-direction:column;gap:3px;margin-bottom:16px}
.tw-dh b{font-size:17px;font-weight:700}
.tw-dh span{font-size:12px;color:#7A8481}
.tw-route{background:#F6F8F7;border-radius:14px;padding:12px 14px;margin-bottom:14px}
.tw-route>div{display:flex;align-items:center;gap:10px}
.tw-route i{width:10px;height:10px;border-radius:50%;flex:none}
.tw-route b{display:block;font-size:13.5px;font-weight:600}
.tw-route small{display:block;font-size:11px;color:#7A8481}
.tw-route em{display:block;width:2px;height:14px;margin:4px 0 4px 4px;background:repeating-linear-gradient(#C9D2CF 0 3px,transparent 3px 6px)}
.tw-dl{margin:0;display:grid;gap:10px}
.tw-dl div{display:flex;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #EEF1F0}
.tw-dl dt{font-size:12px;color:#7A8481}.tw-dl dd{margin:0;font-size:12.5px;font-weight:600}
.tw-btn{position:absolute;left:18px;right:18px;bottom:18px;height:46px;border-radius:12px;background:#00524E;color:#fff;font-size:13.5px;font-weight:600;display:grid;place-items:center;overflow:hidden}
.tw-btn span{grid-area:1/1;display:flex;align-items:center;gap:7px;position:relative;z-index:1;transition:opacity .4s,transform .5s var(--ease)}
.tw-btn__b{opacity:0;transform:translateY(10px);color:#0E2626}
.tw-btn::before{content:"";position:absolute;inset:0;background:#44DA75;transform:scaleX(0);transform-origin:0 50%;transition:transform .8s var(--ease)}
.tapp-win[data-s="1"] .tw-btn::before{transform:scaleX(1);transition-delay:1.5s}
.tapp-win[data-s="1"] .tw-btn__a{opacity:0;transform:translateY(-10px);transition-delay:1.7s}
.tapp-win[data-s="1"] .tw-btn__b{opacity:1;transform:none;transition-delay:1.8s}
.tw-sub{font-size:12px;color:#7A8481;margin:-8px 0 12px}
.tw-drv{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tw-drv li{display:grid;grid-template-columns:32px 1fr auto 20px;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;box-shadow:inset 0 0 0 1px #E6E9E8;transition:box-shadow .4s,background .4s}
.td-av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#E3F6EA;color:#00524E;font-size:11px;font-weight:700}
.tw-drv b{display:block;font-size:13px;font-weight:600}.tw-drv small{display:block;font-size:11px;color:#7A8481;margin-top:1px}
.tw-drv em{font-style:normal;font-size:10.5px;font-weight:600;color:#2E8B57}
.tw-drv li i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px #D5DBD9;color:transparent;transition:background .3s,color .3s,box-shadow .3s}
.tapp-win[data-s="2"] .tw-drv li.is-pick{box-shadow:inset 0 0 0 2px #44DA75;background:#F4FCF7;transition-delay:1.1s}
.tapp-win[data-s="2"] .tw-drv li.is-pick i{background:#44DA75;color:#0E2626;box-shadow:none;transition-delay:1.1s}
.tw-toast{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:14px;background:#0E2626;color:#fff;opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.tw-toast>svg{color:#44DA75;flex:none}
.tw-toast b{display:block;font-size:12.5px;font-weight:600}.tw-toast small{display:block;font-size:11px;color:rgba(255,255,255,.7)}
.tapp-win[data-s="2"] .tw-toast{opacity:1;transform:none;transition-delay:1.9s}
/* version étroite (mobile) : pas de barre latérale ni de carte, le panneau passe par-dessus la liste */
.tapp-win.is-narrow{width:460px;height:600px;grid-template-columns:1fr}
.tapp-win.is-narrow .tw-side{display:none}
.tapp-win.is-narrow .tw-fil span:nth-child(3){display:none}
.tapp-win.is-narrow .tw-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);position:relative}
.tapp-win.is-narrow .tw-list{border-right:0}
.tapp-win.is-narrow .tw-map{position:absolute;inset:0;pointer-events:none}
.tapp-win.is-narrow .tm{display:none}
.tapp-win.is-narrow .tw-drawer{width:auto;left:14px}
/* ===== Bientôt : app chauffeur et suivi de flotte ===== */
.tsoon{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;background:var(--ink);color:#fff;border-radius:32px;padding:clamp(32px,5vw,64px);position:relative;overflow:hidden}
.tsoon::before{content:"";position:absolute;left:-120px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(68,218,117,.22),transparent 68%)}
.tsoon__txt{position:relative}
.tsoon__tag{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.tsoon__tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);animation:tsoonPulse 2s infinite}
@keyframes tsoonPulse{0%{box-shadow:0 0 0 0 rgba(68,218,117,.6)}70%{box-shadow:0 0 0 8px rgba(68,218,117,0)}100%{box-shadow:0 0 0 0 rgba(68,218,117,0)}}
.tsoon h2{color:#fff;font-size:clamp(38px,4.2vw,62px);line-height:1;margin:20px 0 18px;text-wrap:balance}
.tsoon__txt>p{font-size:16.5px;line-height:1.6;color:rgba(255,255,255,.72);max-width:44ch;margin:0 0 28px}
.tsoon__list{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.tsoon__list li{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start}
.tsoon__list i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.07);color:var(--accent)}
.tsoon__list h3{font-size:16px;font-weight:600;color:#fff;margin:2px 0 4px}
.tsoon__list p{font-size:14px;line-height:1.55;color:rgba(255,255,255,.66);margin:0}
.tsoon__vis{position:relative;display:flex;justify-content:flex-end;padding:10px 6% 10px 0;min-height:540px}
/* téléphone chauffeur, à taille réelle */
.tdp{position:relative;width:260px;height:522px;border-radius:44px;background:#081615;padding:11px;box-shadow:0 50px 80px -40px rgba(0,0,0,.7),inset 0 0 0 1.5px #2B3A39;transform:rotate(2deg)}
.tdp__notch{position:absolute;top:19px;left:50%;width:30%;height:22px;border-radius:999px;background:#081615;transform:translateX(-50%);z-index:5}
.tdp__scr{position:relative;width:238px;height:500px;border-radius:34px;overflow:hidden;background:#F2F0EA;font-family:Inter,system-ui,sans-serif;color:#0E2626}
.tdp-map{position:absolute;inset:0;display:block}
.tdp-route{animation:tdpDash 1.4s linear infinite}
@keyframes tdpDash{to{stroke-dashoffset:-18}}
.tdp-dest{position:absolute;left:156px;top:52px;width:26px;height:26px;border-radius:50%;background:#E5584F;box-shadow:0 0 0 4px rgba(229,88,79,.2),0 8px 14px -6px rgba(0,0,0,.4);display:grid;place-items:center;z-index:2}
.tdp-dest i{width:9px;height:9px;border-radius:2px;background:#fff}
.tdp-truck{position:absolute;left:0;top:0;offset-path:path("M84 372 C 84 330, 82 300, 110 262 S 146 230, 146 196 S 148 140, 146 104 S 150 84, 168 78");offset-rotate:0deg;offset-anchor:50% 50%;animation:tdpMove 14s ease-in-out infinite;z-index:3}
.tdp-truck b{width:26px;height:26px;border-radius:8px;background:#0B3B37;color:#fff;display:flex;align-items:center;justify-content:center;font:700 13px var(--display);box-shadow:0 0 0 3px #fff,0 10px 16px -6px rgba(0,0,0,.45)}
.tdp-truck b i{color:#44DA75;font-style:normal}
@keyframes tdpMove{0%{offset-distance:0%}85%,100%{offset-distance:88%}}
.tdp-menu{position:absolute;left:12px;top:46px;display:flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#fff;font-size:11px;font-weight:600;box-shadow:0 6px 14px -8px rgba(0,0,0,.35);z-index:4}
.tdp-card{position:absolute;left:10px;right:10px;bottom:12px;background:#fff;border-radius:18px;padding:12px;box-shadow:0 -6px 24px -12px rgba(0,0,0,.25);z-index:4}
.tdp-card__g{display:grid;grid-template-columns:1fr 1fr;margin-bottom:10px}
.tdp-card__g div{padding:0 8px}
.tdp-card__g div+div{border-left:1px solid #ECEFEE}
.tdp-card__g small{display:flex;align-items:center;gap:5px;font-size:9.5px;color:#7A8481}
.tdp-card__g b{display:block;font-size:12.5px;font-weight:600;margin-top:3px;white-space:nowrap}
.tdp-go{height:40px;border-radius:12px;background:#00524E;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:600}
/* carte flotte, côté transporteur */
.tfl{position:absolute;left:0;bottom:40px;width:min(290px,60%);background:rgba(255,255,255,.97);color:#0E2626;border-radius:20px;padding:14px;box-shadow:0 30px 50px -24px rgba(0,0,0,.6);z-index:6}
.tfl__h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.tfl__h b{font-size:14px;font-weight:700}
.tfl__h span{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;color:#00524E}
.tfl__h span i{width:7px;height:7px;border-radius:50%;background:#44DA75;animation:tsoonPulse 2s infinite}
.tfl ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tfl li{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;background:#F6F8F7}
.tfl li>i{width:8px;height:8px;border-radius:50%;background:#B6BFBC}
.tfl li.is-run>i{background:#44DA75;box-shadow:0 0 0 3px rgba(68,218,117,.2)}
.tfl li.is-load>i{background:#00524E}
.tfl b{display:block;font-size:11.5px;font-weight:600}.tfl small{display:block;font-size:10px;color:#7A8481}
.tfl em{font-style:normal;font-size:10px;font-weight:600;color:#3B4543;background:#fff;padding:3px 7px;border-radius:999px}
@media (max-width:1080px){.tapp__head,.tsoon{grid-template-columns:minmax(0,1fr)}.tapp__head{gap:8px}.tsoon__vis{justify-content:center;padding:0;min-height:0;margin-top:8px}.tfl{bottom:24px}}
@media (max-width:760px){.tapp__steps{grid-template-columns:minmax(0,1fr);gap:0}.tapp-st__t small{display:none}.tapp-st.is-on .tapp-st__t small{display:block}}
@media (max-width:560px){.tsoon{border-radius:24px;padding:26px 20px}.tsoon__vis{justify-content:flex-end}.tdp{transform:scale(.9) rotate(2deg);transform-origin:100% 0;margin-bottom:-52px}.tfl{width:62%;bottom:10px}}
@media (prefers-reduced-motion:reduce){.tdp-truck{animation:none;offset-distance:45%}.tdp-route,.tm-l{animation:none!important}.tw-drawer,.tw-dv,.tw-btn::before,.tw-btn span,.tw-toast{transition:none}}


/* =====================================================================
   BLOG : liste et article (même direction artistique que Services et Usages)
   ===================================================================== */
.bl-hero{min-height:calc(100vh - var(--nav-h) - 60px)}
.bl-stats{display:flex;gap:44px;margin-top:46px;padding-top:24px;border-top:1px solid var(--line);max-width:520px}
.bl-stats dt{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:30px;letter-spacing:-.02em;line-height:1}
.bl-stats dd{font-size:13px;color:var(--grey);margin-top:6px}
/* article à la une */
.blf{position:relative;display:block;aspect-ratio:4/4.6;max-height:calc(100vh - var(--nav-h) - 120px);width:100%;border-radius:32px;overflow:hidden;color:#fff;background:#1d3330;
  box-shadow:0 50px 90px -60px rgba(14,38,38,.65);isolation:isolate}
.blf__img,.blf__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.blf__img img{transition:transform 1.6s var(--ease)}
.blf__hd{opacity:0;transition:opacity .9s var(--ease),transform 1.6s var(--ease)!important}
.blf__hd.on{opacity:1}
.blf:hover .blf__img img{transform:scale(1.05)}
.blf__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,20,20,.38) 0%,rgba(6,20,20,0) 26%,rgba(6,20,20,0) 42%,rgba(6,20,20,.86) 100%)}
.blf__top{position:absolute;left:22px;right:22px;top:22px;display:flex;justify-content:space-between;align-items:flex-start}
.blf__badge{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;padding:7px 13px 7px 11px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ink);backdrop-filter:blur(8px)}
.blf__badge i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(68,218,117,.25)}
.blf__orb{width:118px;height:118px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.95),rgba(236,240,238,.88) 70%);box-shadow:0 0 0 5px rgba(255,255,255,.35),0 24px 50px -24px rgba(0,0,0,.55);overflow:hidden}
.blf__orb canvas,.ar-orb canvas{width:100%;height:100%;display:block}
.blf__b{position:absolute;left:30px;right:30px;bottom:28px}
.blf__meta,.bcard__meta{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:500;letter-spacing:.01em}
.blf__meta{color:rgba(255,255,255,.78)}
.blf__meta i,.bcard__meta i,.bess__t span i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}
.blf h2{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:clamp(26px,2.5vw,36px);line-height:1.06;letter-spacing:-.02em;margin:12px 0 20px;max-width:20ch}
.blf__go{display:inline-flex;align-items:center;gap:12px;font-size:14.5px;font-weight:600}
.blf__go i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--ink);transition:transform .45s var(--ease)}
.blf:hover .blf__go i{transform:rotate(-45deg)}
.bl-sec{padding:110px 0 0}
.bl-sec:last-child{padding-bottom:130px}
.bl-sec--tight .lv-head{margin-bottom:28px}
/* rubriques */
.brubs{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.brub{position:relative;display:flex;flex-direction:column;text-align:left;border-radius:26px;overflow:hidden;background:radial-gradient(120% 95% at 50% 22%,#FBFCFC 0%,#EEF1F0 58%,#E3E8E6 100%);
  min-height:360px;padding:0;opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease) calc(var(--i)*.07s),transform .9s var(--ease) calc(var(--i)*.07s),box-shadow .4s var(--ease)}
.brubs.in .brub{opacity:1;transform:none}
.brub__img{position:relative;display:block;height:200px;overflow:hidden}
.brub__img img{position:absolute;left:50%;top:50%;width:122%;height:auto;transform:translate(-50%,-46%);transition:transform 1s var(--ease)}
.brub:hover .brub__img img{transform:translate(-50%,-50%) scale(1.06)}
.brub[data-r=camions] .brub__img img{width:96%;transform:translate(-50%,-38%)}
.brub[data-r=camions]:hover .brub__img img{transform:translate(-50%,-42%) scale(1.04)}
.brub[data-r=dechets] .brub__img img{width:104%;transform:translate(-50%,-40%)}
.brub[data-r=dechets]:hover .brub__img img{transform:translate(-50%,-44%) scale(1.04)}
@media (min-width:1081px){.bl .ubar__in{flex-wrap:nowrap}.bl .usearch{flex:0 1 300px;min-width:220px}.bl .ufilter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.bl .ufilter::-webkit-scrollbar{display:none}.bl .chip{padding:0 14px}}
.brub__b{display:flex;flex-direction:column;gap:6px;padding:0 20px 22px;flex:1}
.brub__n{font-size:12px;font-weight:600;color:var(--grey)}
.brub b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:20px;letter-spacing:-.015em;line-height:1.1}
.brub__d{font-size:13.5px;line-height:1.5;color:var(--grey-dark)}
.brub__go{position:absolute;right:16px;top:16px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);transition:background .3s,transform .4s var(--ease)}
.brub:hover{box-shadow:0 30px 60px -36px rgba(14,38,38,.45)}
.brub:hover .brub__go{background:var(--accent);transform:rotate(-45deg)}
.brub.on{box-shadow:inset 0 0 0 1.5px var(--ink)}
.brub.on .brub__go{background:var(--ink);color:#fff}
/* essentiels */
.bess{list-style:none;display:grid;grid-template-columns:1fr 1fr;column-gap:56px;border-bottom:1px solid var(--line)}
.bess li{border-top:1px solid var(--line)}
.bess a{display:grid;grid-template-columns:52px 1fr 40px;gap:14px;align-items:center;padding:26px 8px;transition:background .4s var(--ease)}
.bess__n{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:14px;color:var(--grey)}
.bess__t b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:19px;line-height:1.25;letter-spacing:-.01em;transition:transform .45s var(--ease)}
.bess__t span{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--grey);margin-top:8px}
.bess__go{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,box-shadow .3s,transform .4s var(--ease)}
.bess a:hover{background:linear-gradient(90deg,var(--paper),rgba(245,246,245,0))}
.bess a:hover .bess__t b{transform:translateX(8px)}
.bess a:hover .bess__go{background:var(--accent);box-shadow:none;transform:rotate(-45deg)}
.bess a:hover .bess__n{color:var(--accent-press)}
.bpeek{width:240px;height:180px;border-radius:20px}
.bpeek>div img{width:100%;height:100%;object-fit:cover;display:block}
/* grille d'articles */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 28px;margin-top:40px}
.bgrid[hidden]{display:none}
.bcard{display:flex;flex-direction:column;color:inherit}
.bcard[hidden]{display:none}
.bcard.rv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease) var(--d),transform .8s var(--ease) var(--d)}
.bcard.rv.in{opacity:1;transform:none}
.bcard__v{position:relative;display:block;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .4s var(--ease)}
.bcard__v img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.bcard__tag{position:absolute;left:12px;top:12px;font-size:11.5px;font-weight:600;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.bcard__b{display:flex;flex-direction:column;flex:1;padding:20px 2px 0}
.bcard__meta{color:var(--grey)}
.bcard h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:21px;line-height:1.2;letter-spacing:-.012em;margin:10px 0 10px}
.bcard h3 mark{background:linear-gradient(transparent 55%,rgba(68,218,117,.45) 55%);color:inherit;padding:0 1px;border-radius:2px}
.bcard p{font-size:14.5px;line-height:1.55;color:var(--grey-dark);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.bcard__go{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;font-weight:500;color:var(--grey)}
.bcard__go i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);transition:background .3s,box-shadow .3s,transform .4s var(--ease)}
.bcard:hover .bcard__v{box-shadow:inset 0 0 0 1px var(--line),0 28px 54px -34px rgba(14,38,38,.5)}
.bcard:hover .bcard__v img{transform:scale(1.045)}
.bcard:hover .bcard__go{color:var(--ink)}
.bcard:hover .bcard__go i{background:var(--accent);box-shadow:none;transform:rotate(-45deg)}
.bcard:focus-visible{outline:none}.bcard:focus-visible .bcard__v{outline:2px solid var(--accent);outline-offset:3px}
.bmore{display:flex;justify-content:center;margin-top:56px}
.bmore[hidden]{display:none}
.bmore .btn{height:52px;padding:0 28px;font-size:15px}
.bgrid--rel{margin-top:0}

/* ---------- article ---------- */
.ar-bar{position:fixed;left:0;right:0;top:var(--nav-h);height:2px;z-index:49;pointer-events:none;transition:opacity .3s var(--ease)}
.ar-bar.is-off{opacity:0}
.ar-bar i{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}
.ar-hero{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding:48px 0 96px}
.ar-hero__txt>*{opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.ar-hero__txt>*:nth-child(2){transition-delay:.06s}.ar-hero__txt>*:nth-child(3){transition-delay:.14s}.ar-hero__txt>*:nth-child(4){transition-delay:.22s}
.ar-hero.go .ar-hero__txt>*{opacity:1;transform:none}
.ar-hero .pd-tags .tag{background:var(--paper);font-size:12px;padding:6px 12px}
.ar-hero .ar-rub{transition:background .25s}
.ar-hero .ar-rub:hover{background:var(--accent)}
.ar-hero h1{font-size:clamp(40px,4.4vw,66px);line-height:1.02;margin:22px 0 0;text-wrap:balance}
.ar-hero .lv-lead{margin:24px 0 30px;max-width:48ch}
.ar-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;font-size:13.5px;color:var(--grey);padding-top:22px;border-top:1px solid var(--line)}
.ar-meta>span{display:inline-flex;align-items:center;gap:7px}
.ar-copy{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px 0 12px;border-radius:999px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:500;transition:background .25s}
.ar-copy:hover{background:#EBEEED}.ar-copy.ok{background:var(--accent)}
.ar-hero__vis{position:relative;margin:0;opacity:0;transform:translateY(22px) scale(.985);transition:opacity 1.1s var(--ease) .15s,transform 1.3s var(--ease) .15s}
.ar-hero.go .ar-hero__vis{opacity:1;transform:none}
.ar-hero__img{position:relative;border-radius:32px;overflow:hidden;background:var(--paper);box-shadow:0 50px 90px -60px rgba(14,38,38,.6)}
.ar-hero__img:not(.on){min-height:280px}
.ar-hero__img.on .ar-lo{opacity:0;transition:opacity .6s .4s}
.ar-hero__img img{display:block;width:100%}
.ar-lo{position:absolute;inset:0;height:100%;object-fit:cover;filter:blur(14px);transform:scale(1.08)}
.ar-hd{position:relative;height:auto;max-height:min(68vh,620px);object-fit:cover}
.ar-hd{opacity:0;transform:scale(1.04);transition:opacity 1s var(--ease),transform 1.6s var(--ease)}
.ar-hd.on{opacity:1;transform:none}
.ar-orb{position:absolute;left:-34px;bottom:-34px;width:150px;height:150px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 35% 30%,#fff,#ECF0EE 72%);box-shadow:0 0 0 7px #fff,0 30px 60px -30px rgba(14,38,38,.55);transform:scale(.6);opacity:0;transition:transform 1s cubic-bezier(.3,1.3,.5,1) .8s,opacity .5s .8s}
.ar-hero.go .ar-orb{transform:none;opacity:1}
.ar-body{display:grid;grid-template-columns:270px minmax(0,1fr);gap:clamp(48px,7vw,110px);align-items:start;border-top:1px solid var(--line);padding-top:72px}
.ar-side{position:sticky;top:calc(var(--nav-h) + 32px)}
.ar-side__h{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin-bottom:14px}
.ar-toc{list-style:none;counter-reset:t;border-top:1px solid var(--line)}
.ar-toc li{counter-increment:t;border-bottom:1px solid var(--line)}
.ar-toc a{position:relative;display:grid;grid-template-columns:28px 1fr;gap:4px;padding:11px 0 11px 0;font-size:13.5px;line-height:1.45;color:var(--grey-dark);transition:color .25s,padding .35s var(--ease)}
.ar-toc a::before{content:counter(t,decimal-leading-zero);font-size:11.5px;color:var(--grey);padding-top:2px;transition:color .25s}
.ar-toc a::after{content:"";position:absolute;left:-14px;top:12px;width:4px;height:18px;margin-top:0;border-radius:4px;background:var(--accent);transform:scaleY(0);transition:transform .35s var(--ease)}
.ar-toc a:hover{color:var(--ink)}
.ar-toc a.on{color:var(--ink);font-weight:500}
.ar-toc a.on::before{color:var(--accent-press)}
.ar-toc a.on::after{transform:scaleY(1)}
.ar-prog{display:flex;align-items:center;gap:12px;margin:16px 0 28px}
.ar-prog span{flex:1;height:3px;border-radius:3px;background:var(--line);overflow:hidden}
.ar-prog i{display:block;height:100%;background:var(--ink);transform:scaleX(0);transform-origin:0 50%}
.ar-prog b{font-size:12px;font-weight:600;color:var(--grey);min-width:34px;text-align:right}
.ar-lq{margin-top:4px}
.ar-content{min-width:0}
.ar-mtoc{display:none}
/* texte de l'article */
.ar-prose{max-width:720px;font-size:17.5px;line-height:1.78;color:var(--grey-dark);counter-reset:h2}
.ar-prose>p{margin:0 0 22px}
.ar-prose>p:first-child{font-size:20px;line-height:1.65;color:var(--ink)}
.ar-prose h2{counter-increment:h2;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:clamp(28px,2.6vw,36px);line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin:72px 0 20px;scroll-margin-top:calc(var(--nav-h) + 28px)}
.ar-prose h2::before{content:counter(h2,decimal-leading-zero);display:block;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--accent-press);margin-bottom:14px}
.ar-prose h3{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:21px;line-height:1.25;letter-spacing:-.01em;color:var(--ink);margin:40px 0 12px}
.ar-prose strong{color:var(--ink);font-weight:600}
.ar-prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px;transition:background .2s}
.ar-prose a:hover{background:rgba(68,218,117,.16)}
.ar-prose ul,.ar-prose ol{list-style:none;margin:0 0 26px;padding:0}
.ar-prose li{position:relative;padding-left:28px;margin-bottom:12px}
.ar-prose ul>li::before{content:"";position:absolute;left:4px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.ar-prose ol{counter-reset:ol}
.ar-prose ol>li{counter-increment:ol;padding-left:40px}
.ar-prose ol>li::before{content:counter(ol);position:absolute;left:0;top:.15em;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--paper);font-size:12.5px;font-weight:600;color:var(--ink);line-height:1}
/* blocs éditoriaux */
.bl-brief{background:var(--paper);border-radius:26px;padding:30px 34px;margin:38px 0 44px;position:relative;overflow:hidden}
.bl-brief::after{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(68,218,117,.16),transparent 70%)}
.bl-brief__t{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:22px;color:var(--ink);margin-bottom:18px}
.bl-brief__t::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(68,218,117,.22)}
.ar-prose .bl-brief ul{margin:0;position:relative;z-index:1}
.ar-prose .bl-brief li{padding-left:34px;font-size:16px;line-height:1.6;margin-bottom:12px}
.ar-prose .bl-brief li:last-child{margin-bottom:0}
.ar-prose .bl-brief li::before{content:"";left:0;top:.2em;width:20px;height:20px;border-radius:50%;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6.2 5 8.6l4.5-5' stroke='%2344DA75' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.bl-expert{background:var(--ink);color:rgba(255,255,255,.78);border-radius:28px;padding:34px 38px;margin:48px 0;position:relative;overflow:hidden}
.bl-expert::before{content:"";position:absolute;width:420px;height:420px;right:-170px;top:-200px;border-radius:50%;background:radial-gradient(closest-side,rgba(68,218,117,.22),transparent);pointer-events:none}
.bl-expert__t{position:relative;display:flex;flex-direction:column;gap:12px;margin-bottom:18px;font-size:13px;font-weight:600;color:var(--accent)}
.bl-expert__t::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);position:absolute;left:0;top:6px}
.bl-expert__t{padding-left:18px}
.bl-expert__t b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:24px;line-height:1.2;letter-spacing:-.015em;color:#fff;margin-left:-18px}
.ar-prose .bl-expert ul{margin:0;position:relative}
.ar-prose .bl-expert li{font-size:16px;line-height:1.6;padding-left:26px}
.ar-prose .bl-expert li::before{background:var(--accent)}
.ar-prose .bl-expert p{position:relative;font-size:16.5px}
.ar-prose .bl-expert strong{color:#fff}
.ar-prose .bl-expert a{color:#fff}
.bl-pull{position:relative;margin:64px 0;padding:6px 0 6px 34px;border-left:3px solid var(--accent)}
.bl-pull p{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:clamp(23px,2.2vw,30px);line-height:1.3;letter-spacing:-.015em;color:var(--ink)}
.bl-fig{margin:48px 0}
.bl-fig img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:24px;background:var(--paper)}
.bl-fig figcaption{font-size:13px;color:var(--grey);margin-top:12px;padding-left:4px}
.bl-table{margin:30px 0 38px;border-radius:22px;box-shadow:inset 0 0 0 1px var(--line);overflow-x:auto;-webkit-overflow-scrolling:touch}
.bl-table table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;min-width:520px}
.bl-table thead th{background:var(--paper);text-align:left;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--grey-dark);padding:15px 20px}
.bl-table thead th:first-child{border-top-left-radius:22px}.bl-table thead th:last-child{border-top-right-radius:22px}
.bl-table td,.bl-table tbody th{padding:15px 20px;border-top:1px solid var(--line);vertical-align:top;text-align:left}
.bl-table tbody th{font-weight:600;color:var(--ink)}
.bl-table tbody tr{transition:background .2s}
.bl-table tbody tr:hover{background:#FAFBFA}
.bt{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:rgba(68,218,117,.18);color:#167A3E;margin-left:4px;white-space:nowrap}
.bl-calc{background:var(--paper);border-radius:28px;padding:30px 32px;margin:36px 0 44px;color:var(--ink)}
.bl-calc__h{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.bl-calc__k{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600}
.bl-calc__k i{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.bl-calc__h p{font-size:15px;color:var(--grey-dark);margin:0}
.bl-calc__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr);gap:12px}
.bl-calc__in label{display:flex;flex-direction:column;gap:7px;font-size:12.5px;font-weight:600;color:var(--grey-dark)}
.bl-calc__f{display:flex;align-items:center;height:52px;padding:0 16px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .25s}
.bl-calc__f:focus-within{box-shadow:inset 0 0 0 1.5px var(--ink)}
.bl-calc__f select{appearance:none;-webkit-appearance:none;padding-right:26px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5 6 7.5l3-3' stroke='%230E2626' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right center no-repeat;text-overflow:ellipsis}
.bl-calc__f input,.bl-calc__f select{flex:1;min-width:0;border:0;background:none;outline:none;font:inherit;font-size:16px;font-weight:500;color:var(--ink);height:100%}
.bl-calc__f em{font-style:normal;font-size:14px;color:var(--grey);margin-left:6px}
.bl-calc__out{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.bl-calc__out div{background:var(--ink);color:#fff;border-radius:18px;padding:16px 18px}
.bl-calc__out dt{font-size:12px;color:rgba(255,255,255,.62)}
.bl-calc__out dd{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:650;font-size:26px;letter-spacing:-.02em;margin-top:6px}
.bl-calc__note{font-size:13px;color:var(--grey);margin:14px 0 0}
.ar-prose .rv{transition-duration:.8s}
.ar-end{display:flex;align-items:center;flex-wrap:wrap;gap:12px;max-width:720px;margin-top:56px;padding-top:26px;border-top:1px solid var(--line);font-size:13.5px;color:var(--grey)}
.ar-end .tag{background:var(--paper);font-size:12.5px;padding:7px 13px}
.ar-back{margin-left:auto;display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--ink)}
.ar-back i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,box-shadow .3s,transform .4s var(--ease)}
.ar-back:hover i{background:var(--accent);box-shadow:none;transform:rotate(-45deg)}
.ar .qa__a p{margin-bottom:10px}.ar .qa__a ul{padding-left:20px;margin-bottom:10px}

@media (max-width:1180px){
  .brubs{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1080px){
  .bl-hero{min-height:0}
  .bl-stats{gap:28px;margin-top:34px}
  .bl-stats dt{font-size:26px}
  .blf{aspect-ratio:4/4.4;max-height:none;border-radius:26px;margin-top:8px}
  .blf__orb{width:92px;height:92px}
  .blf__b{left:22px;right:22px;bottom:22px}
  .bl-sec{padding-top:84px}
  .brubs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -20px;padding:0 20px 6px;scrollbar-width:none}
  .brubs::-webkit-scrollbar{display:none}
  .brub{flex:0 0 74%;scroll-snap-align:start;min-height:330px}
  .bess{grid-template-columns:1fr}
  .bess a{grid-template-columns:40px 1fr 36px;padding:22px 4px}
  .bess__t b{font-size:17.5px}
  .bpeek{display:none}
  .bgrid{grid-template-columns:1fr 1fr;gap:44px 18px}
  .ar-hero{grid-template-columns:1fr;gap:40px;padding:30px 0 64px}
  .ar-hero h1{font-size:clamp(34px,8.6vw,48px)}
  .ar-orb{width:104px;height:104px;left:auto;right:16px;bottom:-30px;box-shadow:0 0 0 5px #fff,0 24px 50px -26px rgba(14,38,38,.55)}
  .ar-body{grid-template-columns:1fr;padding-top:44px}
  .ar-side{display:none}
  .ar-mtoc{display:block;margin-bottom:34px;border-radius:20px;background:var(--paper)}
  .ar-mtoc summary{list-style:none;display:flex;align-items:center;gap:10px;padding:16px 18px;cursor:pointer;font-weight:600;font-size:15px}
  .ar-mtoc summary::-webkit-details-marker{display:none}
  .ar-mtoc summary span{font-weight:400;font-size:13px;color:var(--grey)}
  .ar-mtoc summary i{margin-left:auto;width:26px;height:26px;border-radius:50%;background:#fff;position:relative;transition:transform .35s var(--ease)}
  .ar-mtoc summary i::before{content:"";position:absolute;left:8px;top:8px;width:7px;height:7px;border-right:1.6px solid var(--ink);border-bottom:1.6px solid var(--ink);transform:rotate(45deg)}
  .ar-mtoc[open] summary i{transform:rotate(180deg)}
  .ar-mtoc .ar-toc{margin:0 18px 12px;border-top-color:rgba(14,38,38,.08)}
  .ar-mtoc .ar-toc li{border-bottom-color:rgba(14,38,38,.08)}
  .ar-prose{font-size:16.5px;line-height:1.72}
  .ar-prose>p:first-child{font-size:18px}
  .ar-prose h2{margin-top:56px}
  .bl-brief,.bl-expert,.bl-calc{padding:24px 22px;border-radius:22px}
  .bl-calc__in,.bl-calc__out{grid-template-columns:1fr}
  .bl-pull{padding-left:22px;margin:48px 0}
  .bl-table table{font-size:14px}
}
@media (max-width:700px){
  .bgrid{grid-template-columns:1fr}
  .bl-stats{gap:22px}
  .ar-meta{gap:8px 16px}
  .ar-end .ar-back{margin-left:0;width:100%}
}


.upg .ar-prose h4{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:18px;color:var(--ink);margin:28px 0 8px}
.upg .ar-prose h3+h4{margin-top:12px}

/* ===== Usages au format article (v64) ===== */
.upg .ufiche{padding-top:24px}
.ufiche__in.uh{min-height:0;padding:56px 56px 52px;border-radius:36px;background:var(--paper);gap:56px}
.ufiche__in .uh__txt h2{font-size:clamp(34px,3.6vw,54px);line-height:1;margin:18px 0 0;opacity:0;transform:translateY(20px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.ufiche__in.go .uh__txt h2{opacity:1;transform:none}
.ufiche__in .pd-tags .tag{background:#fff}
.ufiche__in .uh__cut{background:#fff}
.ufiche__in .pd-keys{background:#fff;border-radius:20px;padding:6px 20px}
.uavoid2{display:flex;gap:18px;align-items:flex-start;margin-top:34px;padding:24px 26px;border-radius:24px;background:#FFF6F1;box-shadow:inset 0 0 0 1px rgba(214,112,64,.22)}
.uavoid2__i{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#E0794A;color:#fff;font-weight:700;font-size:17px}
.uavoid2 b{display:block;font-size:16.5px;color:var(--ink)}
.uavoid2 p{margin:4px 0 14px;font-size:14.5px;color:var(--grey-dark)}
.uavoid2__l{display:flex;flex-wrap:wrap;gap:8px}
.uavoid2__l .tag{background:#fff;font-size:13px;padding:7px 13px;box-shadow:inset 0 0 0 1px rgba(214,112,64,.25);transition:background .25s}
.uavoid2__l .tag:hover{background:#FCE4D6}
.upg .ar-prose .bl-expert p:not(.bl-expert__t){margin:12px 0 0}
@media (max-width:1080px){.ufiche__in.uh{padding:34px 26px 30px;border-radius:28px;gap:34px}}
@media (max-width:700px){.ufiche__in.uh{padding:26px 18px 24px;border-radius:22px}.ufiche__in .uh__vis{order:0;margin-top:6px}.uavoid2{padding:20px 18px;gap:14px}.ufiche__in .pd-keys{padding:4px 14px}}
@media (prefers-reduced-motion:reduce){.ufiche__in .uh__txt h2{transition:none;opacity:1;transform:none}}


/* ---------- APP : iPhone 3D au scroll ---------- */
.kap{position:relative;background:var(--white);margin-top:-60px}
.kv3-hero + style + .kap,.kv3-hero + .kap,#pgHome>.w-embed:has(>.kv3-hero)+.w-embed>.kap{margin-top:0}
.kap__track{height:430vh;position:relative}
.kap__stage{position:sticky;top:0;height:100vh;min-height:680px;overflow:hidden;display:flex;align-items:center}
.kap__in{width:100%;max-width:1360px;margin:0 auto;padding:var(--nav-h) 32px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.kap__glow{position:absolute;right:8%;top:50%;width:760px;height:760px;margin-top:-380px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(68,218,117,.20),rgba(68,218,117,.06) 55%,rgba(68,218,117,0) 72%);pointer-events:none;
  transform:translate3d(0,0,0) scale(var(--glow,1));transition:transform 1.2s var(--ease)}
.kap__label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--grey-dark);margin-bottom:22px}
.kap__label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.kap h2{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(38px,3.8vw,58px);line-height:1.01;letter-spacing:-.03em;max-width:13ch}
.kap__steps{list-style:none;margin-top:44px;max-width:470px;position:relative}
.kap__steps::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--line);border-radius:2px}
.kap__steps::after{content:"";position:absolute;left:0;top:0;width:2px;height:var(--bp,0%);background:var(--ink);border-radius:2px}
.kap__step{position:relative;padding:0 0 0 30px;cursor:pointer}
.kap__step+.kap__step{margin-top:6px}
.kap__step-h{display:flex;align-items:baseline;gap:14px;padding:10px 0;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:22px;letter-spacing:-.02em;color:var(--grey);transition:color .5s var(--ease)}
.kap__step-h small{font-family:var(--body);font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--grey);font-stretch:normal;transition:color .5s var(--ease)}
.kap__step-b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.kap__step-b>div{overflow:hidden}
.kap__step-b p{font-size:16px;line-height:1.6;color:var(--grey-dark);max-width:40ch;padding:0 0 14px;opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.kap__step.on .kap__step-h,.kap__step.on .kap__step-h small{color:var(--ink)}
.kap__step.on .kap__step-b{grid-template-rows:1fr}
.kap__step.on .kap__step-b p{opacity:1;transform:none;transition-delay:.12s}
.kap__step:hover .kap__step-h{color:var(--ink)}
.kap__cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:40px}
.kap__store{display:flex;align-items:center;gap:10px;height:46px;padding:0 16px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);font-size:13px;line-height:1.15;transition:box-shadow .2s,background .2s}
.kap__store:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.kap__store small{display:block;font-size:10.5px;color:var(--grey)}
.kap__vis{position:relative;height:100%;display:flex;align-items:center;justify-content:center;perspective:1800px;perspective-origin:50% 45%}
.kap__shadow{position:absolute;left:50%;bottom:calc(50% - 360px);width:300px;height:44px;margin-left:-150px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(14,38,38,.26),rgba(14,38,38,0));filter:blur(6px);transform:scale(var(--sh,1));opacity:var(--sho,1)}
.kap__live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- le téléphone (CSS 3D, épaisseur par couches) ---------- */
.kph{--w:300px;--h:624px;--r:52px;--b:11px;--s:.7128;position:relative;width:var(--w);height:var(--h);transform-style:preserve-3d;
  transform:translate3d(0,var(--ty,0px),0) scale(var(--ps,1)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) rotateZ(var(--rz,0deg));will-change:transform}
.kph__layer{position:absolute;inset:0;border-radius:var(--r);background:linear-gradient(90deg,#3a403e,#9aa19e 18%,#4b524f 50%,#a3aaa7 82%,#3a403e);transform:translateZ(calc(var(--z) * -1px))}
.kph__back{position:absolute;inset:0;border-radius:var(--r);transform:translateZ(-15px) rotateY(180deg);background:linear-gradient(150deg,#26302e,#141a19);box-shadow:inset 0 0 0 2px #5d6461}
.kph__back::before{content:"";position:absolute;left:22px;top:22px;width:104px;height:104px;border-radius:30px;background:#1c2322;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.kph__btn{position:absolute;width:4px;border-radius:3px;background:linear-gradient(180deg,#9aa19e,#4b524f);transform:translateZ(-7px)}
.kph__btn--a{left:-3px;top:128px;height:30px}.kph__btn--b{left:-3px;top:178px;height:56px}.kph__btn--c{left:-3px;top:244px;height:56px}.kph__btn--d{right:-3px;top:196px;height:88px}
.kph__face{position:absolute;inset:0;border-radius:var(--r);background:#0b0f0e;box-shadow:inset 0 0 0 1.5px #6f7774,inset 0 0 0 3px #1a1f1e;transform:translateZ(0)}
.kph__scr{position:absolute;inset:var(--b);border-radius:calc(var(--r) - var(--b));overflow:hidden;background:#F9FAFB;isolation:isolate}
.kph__island{position:absolute;left:50%;top:calc(var(--b) + 10px);width:88px;height:26px;margin-left:-44px;border-radius:20px;background:#000;z-index:5}
.kph__glare{position:absolute;inset:0;border-radius:var(--r);pointer-events:none;z-index:6;mix-blend-mode:screen;
  background:linear-gradient(calc(115deg + var(--gl,0deg)),rgba(255,255,255,0) 35%,rgba(255,255,255,.16) 48%,rgba(255,255,255,0) 60%)}
.kscr-wrap{position:absolute;left:0;top:0;width:390px;height:844px;transform:scale(var(--s));transform-origin:0 0}

/* ---------- écrans ---------- */
.kscr{position:absolute;inset:0;font-family:var(--body);color:#1D2939;background:#F9FAFB;opacity:0;transform:translate3d(0,40px,0) scale(.96);
  transition:opacity .55s var(--ease),transform .8s var(--ease);overflow:hidden}
.kscr.is-on{opacity:1;transform:none}
.kscr.is-past{opacity:0;transform:translate3d(0,-40px,0) scale(.96)}
.ks-status{position:absolute;left:0;right:0;top:0;height:54px;display:flex;align-items:center;justify-content:space-between;padding:6px 34px 0 42px;font-size:16px;font-weight:600;z-index:4;color:#000}
.ks-status i{display:flex;gap:6px;align-items:center}
.ks-status svg{display:block}
.ks-dark,.ks-dark .ks-status{color:#fff}
.ks-head{padding:64px 22px 10px}
.ks-head h4{font-size:30px;font-weight:700;letter-spacing:-.4px;color:#000}
.ks-head p{font-size:14px;color:#6C6C6C;margin-top:2px}
.ks-nav{position:absolute;left:0;right:0;bottom:0;height:86px;background:rgba(255,255,255,.96);border-top:1px solid #EAECF0;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px 0;z-index:4}
.ks-nav span{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#A5A8AE}
.ks-nav span.on{color:#00524E}
.ks-nav svg{width:24px;height:24px}
.ks-home{position:absolute;left:50%;bottom:8px;width:134px;height:5px;margin-left:-67px;border-radius:3px;background:#000;z-index:5;opacity:.9}
.ks-dark .ks-home{background:#fff}

/* écran 1 : carte des chantiers */
.ks-map{position:absolute;inset:0;background:#EEF1EE}
.ks-map svg{position:absolute;inset:0;width:100%;height:100%}
.ks-search{position:absolute;left:16px;right:74px;top:62px;height:50px;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(16,24,40,.10);display:flex;align-items:center;gap:10px;padding:0 16px;font-size:15px;color:#A5A8AE;z-index:3}
.ks-loc{position:absolute;right:16px;top:62px;width:50px;height:50px;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(16,24,40,.10);display:grid;place-items:center;z-index:3;color:#00524E}
.ks-pin{position:absolute;transform:translate(-50%,-100%);z-index:2;opacity:0}
.ks-pin b{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px 0 6px;border-radius:17px;background:#fff;box-shadow:0 6px 16px rgba(16,24,40,.16);font-size:13px;font-weight:700;color:#000;white-space:nowrap}
.ks-pin b i{width:22px;height:22px;border-radius:50%;background:#00524E;display:grid;place-items:center}
.ks-pin b i::after{content:"";width:8px;height:8px;border-radius:50%;background:#44DA75}
.ks-pin::after{content:"";position:absolute;left:50%;top:100%;width:10px;height:10px;margin:-6px 0 0 -5px;background:#fff;transform:rotate(45deg);box-shadow:3px 3px 6px rgba(16,24,40,.08)}
.ks-pin.hot b{background:#00524E;color:#fff}
.ks-pin.hot b i{background:#44DA75}.ks-pin.hot b i::after{background:#00524E}
.ks-pin.hot::after{background:#00524E}
.ks-pin.hot::before{content:"";position:absolute;left:50%;top:calc(100% + 6px);width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:rgba(68,218,117,.5);animation:ksPulse 2s infinite}
.is-on .ks-pin{animation:ksDrop .7s var(--ease) forwards;animation-delay:var(--d,0s)}
.ks-sheet{position:absolute;left:0;right:0;bottom:86px;background:#fff;border-radius:26px 26px 0 0;box-shadow:0 -10px 30px rgba(16,24,40,.10);padding:10px 16px 14px;z-index:3;transform:translateY(40px);opacity:0;transition:transform .9s var(--ease) .35s,opacity .6s var(--ease) .35s}
.is-on .ks-sheet{transform:none;opacity:1}
.ks-grab{width:40px;height:5px;border-radius:3px;background:#EAECF0;margin:0 auto 12px}
.ks-sheet h5{display:flex;justify-content:space-between;align-items:center;font-size:17px;font-weight:700;color:#000;margin:0 4px 12px}
.ks-sheet h5 span{font-size:12px;font-weight:600;color:#00524E;background:#E5FEF1;padding:4px 10px;border-radius:999px}
.ks-site{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #EAECF0;border-radius:16px}
.ks-site+.ks-site{margin-top:10px}
.ks-site__ic{width:44px;height:44px;border-radius:12px;background:#F0FDF4;display:grid;place-items:center;color:#00524E;flex:none}
.ks-site__t{flex:1;min-width:0}
.ks-site__t b{display:block;font-size:15px;font-weight:700;color:#000}
.ks-site__t small{display:block;font-size:12.5px;color:#6C6C6C;margin-top:2px}
.ks-chips{display:flex;gap:6px;margin-top:8px}
.ks-chip{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:#F1F5F9;color:#475467}
.ks-chip--g{background:#E8F5E9;color:#2E7D32}.ks-chip--o{background:#FFF3E0;color:#EF6C00}

/* écran 2 : commandes */
.ks-seg{display:flex;gap:6px;margin:6px 22px 16px;padding:4px;background:#F1F5F9;border-radius:12px}
.ks-seg span{flex:1;text-align:center;font-size:13.5px;font-weight:600;color:#6C6C6C;padding:8px 0;border-radius:9px}
.ks-seg span.on{background:#fff;color:#000;box-shadow:0 1px 3px rgba(16,24,40,.12)}
.ks-list{padding:0 16px}
.ks-ord{background:#fff;border:1px solid #EAECF0;border-radius:18px;padding:16px;opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .8s var(--ease)}
.ks-ord+.ks-ord{margin-top:12px}
.is-on .ks-ord{opacity:1;transform:none}
.is-on .ks-ord:nth-child(2){transition-delay:.1s}.is-on .ks-ord:nth-child(3){transition-delay:.2s}
.ks-ord__top{display:flex;gap:12px;align-items:center}
.ks-ord__ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none}
.ks-ord__t{flex:1;min-width:0}
.ks-ord__t b{display:block;font-size:15px;font-weight:700;color:#000}
.ks-ord__t small{display:block;font-size:12.5px;color:#6C6C6C;margin-top:2px}
.ks-badge{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px}
.ks-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ks-badge--i{background:#EEF2FF;color:#1668CC}.ks-badge--w{background:#FEF3E8;color:#CE7C32}.ks-badge--a{background:#FFFBEB;color:#B45309}
.ks-prog{margin-top:12px}
.ks-prog div{display:flex;justify-content:space-between;font-size:12px;color:#6C6C6C;margin-bottom:6px}
.ks-prog div b{color:#000;font-weight:600}
.ks-prog i{display:block;height:6px;border-radius:3px;background:#EAECF0;overflow:hidden}
.ks-prog i::after{content:"";display:block;height:100%;width:0;border-radius:3px;background:#0D8279;transition:width 1.4s var(--ease) .5s}
.is-on .ks-prog i::after{width:var(--p)}
.ks-ord__meta{display:flex;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid #F1F5F9;font-size:12px;color:#6C6C6C}
.ks-ord__meta b{display:block;color:#000;font-size:13px;font-weight:600;margin-top:1px}

/* écran 3 : devis */
.ks-flow{padding:62px 20px 0}
.ks-flow__top{display:flex;align-items:center;gap:12px}
.ks-flow__top i{width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid #EAECF0;display:grid;place-items:center}
.ks-flow__top b{font-size:17px;font-weight:600;color:#000}
.ks-steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:16px}
.ks-steps3 span{font-size:11px;font-weight:600;color:#A5A8AE}
.ks-steps3 span::before{content:"";display:block;height:4px;border-radius:2px;background:#EAECF0;margin-bottom:6px}
.ks-steps3 span.done{color:#00524E}.ks-steps3 span.done::before{background:#0D8279}
.ks-mat{margin-top:18px;background:#fff;border:1px solid #EAECF0;border-radius:20px;padding:14px;display:flex;gap:14px;align-items:center}
.ks-mat__img{width:72px;height:72px;border-radius:14px;flex:none;background:
  radial-gradient(circle at 20% 30%,#cfc6b4 0 3px,transparent 4px),radial-gradient(circle at 60% 20%,#b9ae98 0 2px,transparent 3px),
  radial-gradient(circle at 75% 65%,#d8d0bf 0 3px,transparent 4px),radial-gradient(circle at 35% 75%,#a99d86 0 2px,transparent 3px),
  radial-gradient(circle at 50% 50%,#c4b9a3 0 2px,transparent 3px),linear-gradient(135deg,#e7dfcf,#cbbfa8);background-size:18px 18px,15px 15px,21px 21px,13px 13px,11px 11px,100% 100%}
.ks-mat b{display:block;font-size:16px;font-weight:700;color:#000}
.ks-mat small{display:block;font-size:12.5px;color:#6C6C6C;margin-top:3px}
.ks-mat em{display:inline-block;font-style:normal;margin-top:8px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:#E8F5E9;color:#2E7D32}
.ks-rows{margin-top:12px;background:#fff;border:1px solid #EAECF0;border-radius:20px;padding:4px 16px}
.ks-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;font-size:14px;color:#6C6C6C;opacity:0;transform:translateX(-12px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.ks-row+.ks-row{border-top:1px solid #F1F5F9}
.ks-row b{color:#000;font-weight:600;text-align:right}
.is-on .ks-row{opacity:1;transform:none}
.is-on .ks-row:nth-child(2){transition-delay:.12s}.is-on .ks-row:nth-child(3){transition-delay:.24s}.is-on .ks-row:nth-child(4){transition-delay:.36s}
.ks-ready{margin-top:12px;border-radius:20px;padding:16px;background:#00524E;color:#fff;display:flex;align-items:center;justify-content:space-between}
.ks-ready small{display:block;font-size:12px;opacity:.7}
.ks-ready b{display:block;font-size:18px;font-weight:700;margin-top:2px}
.ks-ready span{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12)}
.ks-ready span i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#44DA75;margin-right:6px}
.ks-incl{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}
.ks-incl span{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#00524E;background:#E5FEF1;padding:7px 11px;border-radius:999px}
.ks-incl span::before{content:"";width:12px;height:12px;border-radius:50%;background:#0D8279 url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27%3E%3Cpath d=%27M3.2 6.2 5 8l3.8-4%27 fill=%27none%27 stroke=%27white%27 stroke-width=%271.6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E") center/12px no-repeat}
.ks-foot{position:absolute;left:0;right:0;bottom:0;padding:14px 20px 34px;background:#fff;border-top:1px solid #EAECF0;z-index:4}
.ks-foot div{height:54px;border-radius:14px;background:#44DA75;color:#0E2626;font-size:16px;font-weight:700;display:grid;place-items:center}

/* écran 4 : notifications */
.ks-lock{position:absolute;inset:0;background:radial-gradient(120% 70% at 30% 0%,#1f5d55 0%,#0E2626 55%,#071514 100%);color:#fff}
.ks-lock::after{content:"";position:absolute;right:-120px;bottom:-60px;width:420px;height:420px;border-radius:50%;background:radial-gradient(closest-side,rgba(68,218,117,.35),rgba(68,218,117,0))}
.ks-clock{position:relative;z-index:1;text-align:center;padding-top:92px}
.ks-clock small{display:block;font-size:18px;font-weight:600;opacity:.85}
.ks-clock b{display:block;font-size:92px;font-weight:600;letter-spacing:-2px;line-height:1;margin-top:4px}
.ks-notes{position:absolute;left:12px;right:12px;top:330px;z-index:2}
.ks-note{display:flex;gap:12px;padding:14px;border-radius:22px;background:rgba(245,248,247,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#0b1110;
  opacity:0;transform:translateY(-30px) scale(.94);transition:opacity .6s var(--ease),transform .8s cubic-bezier(.2,1.25,.3,1)}
.ks-note+.ks-note{margin-top:10px}
.is-on .ks-note{opacity:1;transform:none}
.is-on .ks-note:nth-child(1){transition-delay:.25s}.is-on .ks-note:nth-child(2){transition-delay:.85s}.is-on .ks-note:nth-child(3){transition-delay:1.45s}
.ks-note__ic{width:40px;height:40px;border-radius:10px;background:#0E2626;display:grid;place-items:center;flex:none}
.ks-note__ic::after{content:"";width:10px;height:10px;border-radius:50%;background:#44DA75;margin:14px 0 0 14px}
.ks-note__b{flex:1;min-width:0}
.ks-note__b div{display:flex;justify-content:space-between;gap:8px;font-size:14px}
.ks-note__b div b{font-weight:700}
.ks-note__b div span{font-size:12.5px;color:#5b6563;white-space:nowrap}
.ks-note__b p{font-size:14px;line-height:1.35;margin-top:2px;color:#1b2321}
.ks-lockbtns{position:absolute;left:46px;right:46px;bottom:52px;display:flex;justify-content:space-between;z-index:2}
.ks-lockbtns i{width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);display:grid;place-items:center}

@keyframes ksDrop{0%{opacity:0;transform:translate(-50%,-140%)}60%{opacity:1}100%{opacity:1;transform:translate(-50%,-100%)}}
@keyframes ksPulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}

/* ---------- mobile : carrousel 3D au doigt ---------- */
.kapm{display:none}
@media (max-width:1080px){
  .kap{margin-top:0}
  .kap__track{height:auto}
  .kap__stage{position:relative;height:auto;min-height:0;display:block;padding:24px 0 90px}
  .kap__in{display:block;padding:0 20px}
  .kap__glow,.kap__vis,.kap__steps{display:none}
  .kap h2{font-size:clamp(34px,9vw,44px)}
  .kap__cta{margin-top:26px}
  .kap__cta .kap__store{flex:1;justify-content:center;min-width:140px}
  .kap__cta .btn{width:100%;justify-content:center}
  .kapm{display:block;margin-top:34px}
  .kapm__rail{display:flex;gap:0;margin:0 -20px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:24px 0 30px;perspective:1100px}
  .kapm__rail::-webkit-scrollbar{display:none}
  .kapm__slide{position:relative;flex:0 0 60%;scroll-snap-align:center;display:flex;justify-content:center;transform-style:preserve-3d}
  .kapm__slide:first-child{margin-left:20%}.kapm__slide:last-child{margin-right:20%}
  .kapm .kph{--w:232px;--h:481px;--r:42px;--b:9px;--s:.5487}
  .kapm .kph__btn--a{top:104px}.kapm .kph__btn--b{top:146px;height:46px}.kapm .kph__btn--c{top:200px;height:46px}.kapm .kph__btn--d{top:160px;height:72px}
  .kapm .kph__island{width:72px;height:21px;margin-left:-36px;top:calc(var(--b) + 8px)}
  .kapm__txt{padding:0;min-height:150px}
  .kapm__txt small{display:block;font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--grey)}
  .kapm__txt b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:26px;letter-spacing:-.02em;margin-top:6px}
  .kapm__txt p{font-size:15.5px;line-height:1.6;color:var(--grey-dark);margin-top:8px}
  .kapm__txt>div{transition:opacity .35s var(--ease),transform .45s var(--ease)}
  .kapm__txt>div.out{opacity:0;transform:translateY(8px)}
  .kapm__dots{display:flex;align-items:center;gap:8px;padding:0;margin-top:6px}
  .kapm__dots button{width:8px;height:8px;border-radius:4px;background:var(--line);transition:width .4s var(--ease),background .4s}
  .kapm__dots button.on{width:26px;background:var(--ink)}
}
@media (prefers-reduced-motion:reduce){
  .kph{transform:none!important}
  .kscr,.ks-sheet,.ks-ord,.ks-row,.ks-note{transition:none!important}
  .is-on .ks-pin{animation:none;opacity:1}
  .ks-pin.hot::before{animation:none}
}


/* Qui sommes-nous + équipe (v80) */
.kv3-team{margin-top:72px}
.kv3-team::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,38,38,0) 42%,rgba(14,38,38,.72) 100%);pointer-events:none}
.kv3-team .kv3-team__t{position:absolute;left:44px;bottom:40px;z-index:2;margin:0;color:var(--white);max-width:14ch}
.kv3-team figcaption{left:24px;top:22px;bottom:auto;z-index:2}
#about .about__grid{margin-top:72px}
.facts--3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;height:100%}
#about .about__grid{align-items:stretch}
.facts--3 .fact,.facts--3 .fact:nth-child(odd),.facts--3 .fact:nth-child(even){display:flex;flex-direction:column;justify-content:center;padding:24px 0 24px 32px;border-right:0}
.facts--3 .fact:nth-child(odd){padding-left:0;padding-right:32px;border-right:1px solid var(--line)}
.facts--3 .fact b{font-size:clamp(36px,3.3vw,50px)}
.kv3-reseau{padding-top:40px}
.kv3-reseau .hm__ecohead .about__label{grid-column:1/-1;margin-bottom:0}
.kv3-reseau .hm__ecohead h2{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:clamp(36px,3.6vw,54px);line-height:1.02;letter-spacing:-.03em;max-width:18ch}
@media (max-width:1080px){
  .kv3-team{margin-top:44px}
  .kv3-team .kv3-team__t{left:20px;right:20px;bottom:20px;font-size:clamp(28px,7.6vw,40px)}
  .kv3-team figcaption{left:14px;top:14px}
  .kv3-team figcaption span{font-size:12.5px;padding:7px 12px}
  #about .about__grid{margin-top:40px}
  .facts--3{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto}
  .facts--3 .fact,.facts--3 .fact:nth-child(odd),.facts--3 .fact:nth-child(even),.facts--3 .fact:first-child,.facts--3 .fact:last-child{padding:20px 16px 22px;border:0}
  .facts--3 .fact b{font-size:clamp(32px,9vw,42px)}
  .kv3-reseau{padding-top:24px}
  .kv3-reseau .hm__ecohead h2{font-size:clamp(32px,8.6vw,46px)}
}


@media (min-width:1081px){
#news.news{padding-bottom:110px}
#news .news__head{margin-bottom:36px}
#news .bento{gap:16px}
#news .ncard{padding:30px 32px;border-radius:26px}
#news .ncard__tag{margin-bottom:16px}
#news .ncard h3{font-size:26px}
#news .ncard p{margin-top:10px;font-size:15px}
#news .ncard .btn{margin-top:18px}
#news .qdemo{margin-top:18px;padding:16px}
#news .qdemo__top{margin-bottom:12px}
#news .qbar{margin-bottom:12px}
#news .n-app{grid-column:1/8;grid-row:1;min-height:0}
#news .n-quote{grid-column:8/13;grid-row:1}
#news .n-app .kv3-phone{width:250px;height:510px;right:44px;bottom:-110px;border-radius:40px}
#news .n-app .screen{border-radius:31px}
#news .n-ctl{grid-column:1/6;grid-row:2}
#news .ctl{padding-top:18px}
#news .n-docs{grid-column:6/13;grid-row:2;min-height:0;gap:24px}
#news .n-docs__vis{height:230px}
}


/* ---------- services : vraies photos par produit ---------- */
.ksv{position:absolute;inset:0;display:flex;gap:6px;padding:6px}
.ksv__p{position:relative;flex:1 1 0;min-width:0;border-radius:13px;overflow:hidden;display:block;background:#1a2322;isolation:isolate;
  transition:flex-grow .8s var(--ease),filter .6s var(--ease);clip-path:inset(100% 0 0 0 round 13px)}
.scard.in .ksv__p,.ksv.is-in .ksv__p{clip-path:inset(0 0 0 0 round 13px);transition:flex-grow .8s var(--ease),filter .6s var(--ease),clip-path 1.1s var(--ease) calc(var(--i) * 90ms)}
.ksv__p img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.4s var(--ease)}
.ksv__p::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,20,20,0) 45%,rgba(8,20,20,.62) 100%);opacity:.55;transition:opacity .6s var(--ease)}
.ksv__n{position:absolute;left:12px;top:11px;z-index:2;font-size:11px;font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.9);text-shadow:0 1px 6px rgba(0,0,0,.45);font-variant-numeric:tabular-nums}
.ksv__l{position:absolute;left:14px;right:14px;bottom:13px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff;
  opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease),transform .6s var(--ease)}
.ksv__l b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:19px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ksv__l i{flex:none;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;transition:background .3s}
.ksv__l i svg{display:block}
.ksv__p.on{flex-grow:3.2}
.ksv__p.on img{transform:scale(1)}
.ksv__p.on::after{opacity:1}
.ksv__p.on .ksv__l{opacity:1;transform:none;transition-delay:.15s}
.ksv__p.on .ksv__l i{background:var(--accent);color:var(--ink)}
.ksv:hover .ksv__p:not(.on){filter:brightness(.82) saturate(.9)}
@media (max-width:1080px){.ksv{gap:4px;padding:4px}.ksv__p{border-radius:11px}.ksv__l{left:11px;right:8px;bottom:11px}.ksv__l b{font-size:15px}.ksv__l i{display:none}.ksv__p.on{flex-grow:3.6}.ksv__n{display:none}}
@media (prefers-reduced-motion:reduce){.ksv__p,.scard.in .ksv__p,.ksv.is-in .ksv__p{clip-path:none;transition:none}.ksv__p img{transition:none}}


/* avis : étoiles alignées sur le texte (la règle .stars des fiches produit ajoutait des étoiles invisibles avant les vraies) */
.rcard .stars,.score__meta .stars{display:flex;gap:2px;font-size:0;letter-spacing:0;line-height:1}
.rcard .stars::before,.score__meta .stars::before{content:none}


/* ---------- informations légales (kv3-lg) ---------- */
.kv3-lg{padding-bottom:120px}
.kv3-lg-hero{padding:56px 0 34px;max-width:1000px}
.kv3-lg-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--grey-dark)}
.kv3-lg-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.kv3-lg-hero h1{font-size:clamp(46px,6.4vw,96px);margin:22px 0 0;animation:kv3LgIn 1s var(--ease) both}
.kv3-lg-hero .lv-lead{margin:26px 0 30px;max-width:58ch;animation:kv3LgIn 1s var(--ease) .12s both}
.kv3-lg-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;animation:kv3LgIn 1s var(--ease) .22s both}
@keyframes kv3LgIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.kv3-lg-meta span,.kv3-lg-print{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 16px;border-radius:999px;background:var(--paper);font-size:13.5px;color:var(--grey-dark)}
.kv3-lg-print{border:1px solid var(--line);background:transparent;cursor:pointer;font-family:inherit;color:var(--ink);transition:border-color .2s,background .2s}
.kv3-lg-print:hover{border-color:var(--ink)}
.kv3-lg-tabs{display:flex;border-bottom:1px solid var(--line);margin:30px 0 64px;overflow-x:auto;scrollbar-width:none}
.kv3-lg-tabs::-webkit-scrollbar{display:none}
.kv3-lg-tabs a{flex:none;padding:14px 0;margin-right:30px;font-size:15px;color:var(--grey-dark);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}
.kv3-lg-tabs a:hover{color:var(--ink)}
.kv3-lg-tabs a[aria-current]{color:var(--ink);font-weight:600;border-color:var(--accent)}
.kv3-lg-wrap{display:grid;grid-template-columns:300px minmax(0,1fr);gap:88px;align-items:start}
.kv3-lg-side{position:sticky;top:calc(var(--nav-h) + 32px);max-height:calc(100vh - var(--nav-h) - 64px);overflow:auto;scrollbar-width:thin;padding-right:4px}
.kv3-lg-sum summary{list-style:none;font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--grey);padding-bottom:14px}
.kv3-lg-sum summary::-webkit-details-marker{display:none}
.kv3-lg-toc{list-style:none;border-top:1px solid var(--line);margin:0;padding:0}
.kv3-lg-toc li{border-bottom:1px solid var(--line)}
.kv3-lg-toc button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:30px 1fr;gap:6px;width:100%;padding:11px 0 11px 14px;font-size:14px;line-height:1.45;color:var(--grey-dark);cursor:pointer;position:relative;transition:color .2s}
.kv3-lg-toc button::before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:2px;border-radius:2px;background:var(--accent);transform:scaleY(0);transition:transform .3s var(--ease)}
.kv3-lg-toc button span{font-size:12px;color:var(--grey);padding-top:1px;font-variant-numeric:tabular-nums}
.kv3-lg-toc button:hover,.kv3-lg-toc button.on{color:var(--ink)}
.kv3-lg-toc button.on::before{transform:scaleY(1)}
.kv3-lg-toc button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.kv3-lg-body{max-width:780px;min-width:0}
.kv3-lg-intro{font-size:17px;padding:28px 32px;border-radius:24px;background:var(--paper);margin-bottom:56px;box-shadow:inset 4px 0 0 var(--accent)}
.kv3-lg-intro p:last-child{margin-bottom:0}
.kv3-lg-a{padding-bottom:44px;margin-bottom:48px;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--nav-h) + 24px)}
.kv3-lg-a:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.kv3-lg-a__h{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:clamp(23px,2.2vw,31px);line-height:1.18;letter-spacing:-.015em;margin:0 0 20px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;color:var(--ink)}
.kv3-lg-a__n{font-family:var(--body);font-size:13px;font-weight:600;color:var(--ink);background:var(--accent);border-radius:999px;padding:6px 10px;line-height:1;margin-top:.28em;font-variant-numeric:tabular-nums}
.kv3-lg .rich__b{overflow-wrap:anywhere}
.kv3-lg .rich__b h3{font-size:19px;margin:28px 0 10px}
.kv3-lg .rich__b h4{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:16.5px;color:var(--ink);margin:22px 0 8px}
.kv3-lg .rich__b a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}
.kv3-lg .rich__b b{color:var(--ink);font-weight:600}
.kv3-lg-id{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;border-top:1px solid var(--line);margin:0}
.kv3-lg-id>div{padding:16px 0;border-bottom:1px solid var(--line)}
.kv3-lg-id dt{font-size:12px;color:var(--grey);text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}
.kv3-lg-id dd{margin:0;color:var(--ink);font-weight:500;font-size:16px;line-height:1.5}
.kv3-lg-id dd a{text-decoration:none!important}
.kv3-lg-help{margin-top:110px}
@media (max-width:960px){
  .kv3-lg-hero{padding:30px 0 22px}
  .kv3-lg-tabs{margin:20px -16px 32px;padding:0 16px}
  .kv3-lg-tabs a{margin-right:18px;font-size:14px}
  .kv3-lg-wrap{grid-template-columns:1fr;gap:30px}
  .kv3-lg-side{position:static;max-height:none;overflow:visible;padding:0}
  .kv3-lg-sum{border:1px solid var(--line);border-radius:18px;padding:16px 18px}
  .kv3-lg-sum summary{cursor:pointer;padding:0;display:flex;justify-content:space-between;align-items:center;color:var(--ink)}
  .kv3-lg-sum summary::after{content:"";width:9px;height:9px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .25s}
  .kv3-lg-sum[open] summary{padding-bottom:12px}
  .kv3-lg-sum[open] summary::after{transform:rotate(-135deg)}
  .kv3-lg-help{margin-top:72px}
}
@media (max-width:640px){
  .kv3-lg-id{grid-template-columns:1fr}
  .kv3-lg-intro{padding:22px 22px 22px 24px;font-size:16px;margin-bottom:40px}
  .kv3-lg-a{padding-bottom:34px;margin-bottom:36px}
  .kv3-lg-a__h{gap:12px}
}
@media print{
  body.is-sub>*:not(main),.nav,#mbar,.foot,.crumbs,.kv3-lg-tabs,.kv3-lg-side,.kv3-lg-help,.kv3-lg-print{display:none!important}
  .kv3-lg-wrap{display:block}.kv3-lg-hero h1{font-size:40px}.kv3-lg-a{break-inside:auto}
}

.rvw__list .kv3-rv{opacity:1;transform:none}


/* méga menu « Usages » : même gabarit, mêmes classes et mêmes délais que « Services » */
#megaUs .item__name{white-space:normal;line-height:1.25}
#megaUs .item__render img{object-fit:contain;transform:scale(1.32)}
/* navbar : avec un menu déroulant de plus, on resserre entre 1081 et 1240 px pour que tout tienne sur une ligne */
@media (min-width:1081px) and (max-width:1240px){.nav__bar{gap:20px}.nav__links{gap:0}.nav__link{padding:10px 10px;white-space:nowrap}}
/* ===== guide d'usage ===== */
.ug-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(40px,5vw,80px);align-items:center;padding:40px 0 88px}
.ug-hero__txt>*{opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.ug-hero__txt>*:nth-child(2){transition-delay:.05s}.ug-hero__txt>*:nth-child(3){transition-delay:.1s}.ug-hero__txt>*:nth-child(4){transition-delay:.15s}.ug-hero__txt>*:nth-child(5){transition-delay:.2s}
.ug-hero.go .ug-hero__txt>*{opacity:1;transform:none}
.ug-hero .pd-tags .tag{background:var(--paper);font-size:12px;padding:6px 12px}
.pd-tags .tag.ar-use{background:var(--ink);color:#fff}
.pd-tags .tag.ar-use:hover{background:#16393a}
.ug-hero h1{font-size:clamp(46px,5.4vw,84px);line-height:.98;margin:22px 0 0;text-wrap:balance}
.ug-hero h1.is-long{font-size:clamp(40px,4.2vw,64px);line-height:1.02}
.ug-hero .lv-lead{margin:22px 0 0;max-width:46ch}
.ug-k{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--grey-dark);margin:0 0 10px}
.ug-k::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
.ug-rec{margin:30px 0 32px}
.ug-rec ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ug-row{display:grid;grid-template-columns:30px 58px minmax(0,1fr) 30px;align-items:center;gap:16px;padding:14px 4px;border-bottom:1px solid var(--line);color:var(--ink);transition:background .3s var(--ease),padding .4s var(--ease)}
.ug-row__n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;transition:background .3s,color .3s}
.ug-row__n.is-off{background:var(--paper);color:var(--grey-dark)}
.ug-row__v{width:58px;height:58px;border-radius:14px;overflow:hidden;background:radial-gradient(120% 95% at 50% 22%,#FBFCFC 0%,#EEF1F0 58%,#E3E8E6 100%)}
.ug-row__v img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.1);transition:transform .7s var(--ease)}
.ug-row__t b{display:block;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-size:20px;letter-spacing:-.015em;line-height:1.1}
.ug-row__t small{display:block;font-size:13.5px;line-height:1.45;color:var(--grey-dark);margin-top:4px}
.ug-row__t em{display:block;font-style:normal;font-size:12.5px;color:var(--grey);margin-top:2px}
.ug-row i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line);transition:background .3s,box-shadow .3s,transform .4s var(--ease)}
.ug-row:hover,.ug-row.is-hl{background:linear-gradient(90deg,var(--paper),rgba(245,246,245,0))}
.ug-row:hover .ug-row__v img,.ug-row.is-hl .ug-row__v img{transform:scale(1.22)}
.ug-row:hover i{background:var(--accent);box-shadow:none;transform:rotate(-45deg)}
.ug-row.is-hl .ug-row__n{background:var(--accent);color:var(--ink)}
.ug-also{display:flex;flex-direction:column;gap:4px;margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--grey-dark)}
.ug-also b{font-weight:600;color:var(--ink);margin-right:6px}
.ug-vis{position:relative;margin:0;border-radius:32px;background:radial-gradient(120% 90% at 50% 25%,#FBFCFC 0%,#F0F2F1 55%,#E4E8E6 100%);overflow:hidden;opacity:0;transform:translateY(22px) scale(.985);transition:opacity 1.1s var(--ease) .15s,transform 1.3s var(--ease) .15s}
.ug-hero.go .ug-vis{opacity:1;transform:none}
.ug-stage{position:relative;aspect-ratio:5/4;overflow:hidden}
.ug-stage__in{position:absolute;left:50%;top:50%;width:112%;aspect-ratio:4/3;transform:translate(-50%,-47%)}
.ug-stage__in>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.ug-pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;z-index:2;cursor:default}
.ug-pin b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:12.5px;font-weight:600;box-shadow:0 0 0 4px rgba(255,255,255,.85),0 10px 20px -8px rgba(14,38,38,.5);transition:background .3s,color .3s,transform .4s var(--ease)}
.ug-pin em{position:absolute;right:calc(100% + 10px);white-space:nowrap;font-style:normal;font-size:12.5px;font-weight:600;color:var(--ink);background:rgba(255,255,255,.94);padding:6px 10px;border-radius:999px;box-shadow:0 8px 18px -10px rgba(14,38,38,.4);opacity:0;transform:translateX(6px);transition:opacity .3s var(--ease),transform .4s var(--ease);pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ug-pin.is-hl b,.ug-pin:hover b{background:var(--accent);color:var(--ink);transform:scale(1.12)}
.ug-pin.is-hl em,.ug-pin:hover em{opacity:1;transform:none}
.ug-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 30px;padding:22px 0 26px;border-top:1px solid var(--line)}
.ug-facts b{display:block;font-size:17px;font-weight:600;color:var(--ink)}
.ug-facts span{display:block;font-size:12.5px;color:var(--grey);margin-top:2px}
.ug-guide{border-top:1px solid var(--line);padding-top:72px}
.ug-guide__head{max-width:860px}
.ug-guide__head h2{font-size:clamp(30px,3.2vw,48px);line-height:1.05;letter-spacing:-.025em;margin:6px 0 22px;text-wrap:balance}
.ug-photo{margin:36px 0 72px;border-radius:28px;overflow:hidden;aspect-ratio:21/8;background:var(--paper);opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
.ug-photo.in{opacity:1;transform:none}
.ug-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ug .ar-body{border-top:0;padding-top:0}
.ug-sib{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ug-sibc{display:flex;flex-direction:column;gap:6px;color:var(--ink)}
.ug-sibc.rv{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease) var(--d),transform .8s var(--ease) var(--d)}
.ug-sibc.rv.in{opacity:1;transform:none}
.ug-sibc__v{aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:radial-gradient(120% 95% at 50% 22%,#FBFCFC 0%,#EEF1F0 58%,#E3E8E6 100%);margin-bottom:8px;transition:box-shadow .4s var(--ease)}
.ug-sibc__v img{width:100%;height:100%;object-fit:contain;display:block;transition:transform 1s var(--ease)}
.ug-sibc:hover .ug-sibc__v{box-shadow:0 26px 50px -34px rgba(14,38,38,.5)}
.ug-sibc:hover .ug-sibc__v img{transform:scale(1.05)}
.ug-sibc b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:600;font-size:19px;letter-spacing:-.01em}
.ug-sibc small{font-size:13px;color:var(--grey-dark)}
@media (max-width:1080px){.ug-hero{grid-template-columns:minmax(0,1fr);gap:28px;padding:20px 0 64px}.ug-vis{order:-1}.ug-sib{grid-template-columns:repeat(2,minmax(0,1fr))}.ug-photo{aspect-ratio:16/9;margin-bottom:48px}.ug-guide{padding-top:52px}}
@media (max-width:560px){.ug-hero h1{font-size:clamp(40px,11vw,54px)}.ug-row{grid-template-columns:26px 48px minmax(0,1fr) 26px;gap:12px}.ug-row__v{width:48px;height:48px}.ug-row__t b{font-size:18px}
  .ug-facts{margin:0 18px;gap:12px}.ug-facts b{font-size:15px}.ug-pin b{width:26px;height:26px;font-size:11.5px}.ug-vis{border-radius:24px}}
/* page #/usages : rendus sur fond papier */
.svh__tile--t .svh__img img{object-fit:contain;padding:16% 2% 4%;transform:scale(1.08)}
.svh__tile--t .svh__lbl b{font-size:15px;max-width:calc(100% - 44px);white-space:normal;line-height:1.15}
.ucard--t .ucard__v{aspect-ratio:4/3}
.ucard__ico{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform 1s var(--ease)}
.ucard--t:hover .ucard__ico{transform:scale(1.05)}
.ucard--t .ucard__go span{color:var(--ink);font-weight:500}
@media (max-width:560px){.svh__tile--t .svh__img img{padding:34% 0 6%}.svh__tile--t .svh__lbl{left:10px;right:10px;top:10px}.svh__tile--t .svh__lbl b{font-size:13px;padding:6px 9px}.svh__tile--t .svh__lbl i{width:28px;height:28px}}
/* menu mobile : vignettes sur fond papier */
#maccUs .pqm-mrow__img{background:radial-gradient(120% 95% at 50% 22%,#FBFCFC 0%,#EEF1F0 58%,#E3E8E6 100%)}
#maccUs .pqm-mrow__img img{object-fit:contain;transform:scale(1.25)}


.foot.foot--flow{position:relative;height:auto}
body.foot-flow main{margin-bottom:0}
