/* ================= DA A : « Sous un même toit » (claire) ================= */
:root{
  --fond:#f3f4f2;--papier:#fff;--encre:#262726;--encre-2:#3c3c3b;--gris:#62635f;--gris-2:#8d8e8a;
  --ligne:rgba(38,39,38,.12);--vert:#43c29f;--vert-profond:#17775e;--vert-pale:#e2f4ed;--vert-encre:#0f5a47;
  --titre:"Adventor","Figtree",system-ui,sans-serif;--texte:"Figtree",system-ui,sans-serif;
  --r:1.25rem;--rG:1.25rem 5.5rem 5.5rem 1.25rem; /* coin arrondi du G */
  --ease:cubic-bezier(.16,1,.3,1);--focus:#17775e;
}
html{font-size:clamp(15px,.42vw + 9.6px,20px)}
body{background:var(--fond);color:var(--encre);font-family:var(--texte);font-size:1.0625rem;line-height:1.6}
.lg1{fill:#414042}.lg2{fill:#a7a9ac}
.enveloppe{width:min(100% - 2.5rem,84rem);margin-inline:auto}
@media (max-width:600px){.enveloppe{width:calc(100% - 2rem)}}
h1,h2,h3{font-family:var(--titre);font-weight:400;letter-spacing:-.025em;line-height:1.02}
h2{font-size:clamp(2.2rem,4.2vw,4.1rem)}
.pastille{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .9rem;border-radius:999px;background:var(--papier);box-shadow:inset 0 0 0 1px var(--ligne);font-size:.82rem;font-weight:600;color:var(--encre-2)}
.pastille::before{content:"";width:.75rem;height:.5rem;background:var(--vert);clip-path:polygon(0 100%,50% 0,100% 100%,82% 100%,50% 36%,18% 100%)}
.etoiles{display:inline-flex;gap:.08rem;color:#e0a526;font-size:.9em}
.btn--clair{--b-fond:#fff;--b-texte:var(--encre);--b-survol:var(--vert)}

/* Coque double (surface premium, jamais sur les boutons) */
.coque{padding:.45rem;border-radius:calc(var(--r) + .45rem);background:rgba(38,39,38,.045);box-shadow:inset 0 0 0 1px rgba(38,39,38,.06)}
.coque__coeur{border-radius:var(--r);background:var(--papier);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 30px 60px -40px rgba(38,50,45,.35);padding:clamp(1.25rem,3vw,2.5rem)}

/* ---------------- En-tête îlot ---------------- */
.entete{position:fixed;z-index:50;top:.9rem;left:0;right:0;pointer-events:none}
.ilot{pointer-events:auto;position:relative;display:flex;align-items:center;gap:1.1rem;width:min(100% - 1.5rem,86rem);height:4.1rem;margin-inline:auto;padding:0 .5rem 0 1.4rem;border-radius:999px;background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:inset 0 0 0 1px rgba(38,39,38,.07),0 18px 40px -26px rgba(30,45,40,.45);transition:background .5s var(--ease),transform .6s var(--ease)}
.entete.defile .ilot{background:rgba(255,255,255,.9)}
.entete.cache .ilot{transform:translateY(-140%)}
.ilot__marque{display:block;flex:none}
.ilot__marque .logo{height:1.72rem;width:auto}
.ilot__cabinet{flex:none;padding-left:1.1rem;border-left:1px solid var(--ligne);height:2.3rem;display:flex;align-items:center}
.ilot__cabinet img{height:2.05rem;width:auto}
.ilot__nav{margin-inline:auto}
.ilot__nav ul{display:flex;gap:.2rem;list-style:none;margin:0;padding:0}
.ilot__lien{position:relative;display:inline-flex;align-items:center;gap:.3rem;height:2.6rem;padding:0 .95rem;border-radius:999px;font-weight:500;font-size:.95rem;transition:background .35s var(--ease),color .35s}
/* Services : le mot mène à la page, la flèche ouvre le panneau (clavier, doigt) ; au survol, le panneau s’ouvre seul */
.a-mega{display:flex;align-items:center;height:2.6rem;padding-right:.35rem;border-radius:999px;transition:background .35s var(--ease)}
/* le mot et la flèche forment une seule pastille : survol, page active et panneau ouvert */
.a-mega .ilot__lien{background:none!important;padding-right:.3rem}
.a-mega:has(.est-actif),.a-mega:has([aria-current]),.a-mega:has([aria-expanded=true]){background:rgba(38,39,38,.07)}
@media (hover:hover){.a-mega:hover{background:rgba(38,39,38,.06)}}
.ilot__chev{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;font-size:.8rem;transition:background .35s var(--ease)}
.ilot__chev i{transition:transform .45s var(--ease)}
.ilot__chev[aria-expanded=true] i{transform:rotate(180deg)}
@media (hover:hover){.ilot__chev:hover{background:rgba(38,39,38,.08)}}
@media (hover:hover){.ilot__lien:hover{background:rgba(38,39,38,.06)}}
.ilot__tel{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;font-size:.95rem;white-space:nowrap;transition:color .3s}
.ilot__tel i{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--vert-pale);color:var(--vert-encre);font-size:1rem;transition:transform .45s var(--ease)}
@media (hover:hover){.ilot__tel:hover i{transform:rotate(-12deg)}}
.ilot__cta{min-height:3.05rem}
.ilot__burger{display:none;position:relative;width:3rem;height:3rem;border-radius:50%;background:var(--encre)}
.ilot__burger span{position:absolute;left:.95rem;right:.95rem;height:1.6px;background:#fff;border-radius:2px;transition:transform .5s var(--ease)}
.ilot__burger span:first-child{top:1.25rem}.ilot__burger span:last-child{top:1.7rem}
@media (max-width:1180px){.ilot__tel span{display:none}.ilot__cabinet{display:none}}
.ilot__lien{white-space:nowrap}
@media (max-width:1240px){.ilot__lien{padding:0 .7rem}.ilot__nav ul{gap:0}.ilot{gap:.8rem}}
@media (max-width:1100px){.ilot__tel{display:none}}
@media (max-width:1000px){.ilot__nav,.ilot__tel,.ilot__cta{display:none}.ilot__burger{display:block;margin-left:auto}.ilot{padding-left:1.1rem}.ilot__cabinet{display:flex;margin-left:0}}
@media (max-width:520px){.ilot__cabinet{display:none}}

/* Méga-menu services */
.mega{pointer-events:auto;position:absolute;left:50%;top:calc(100% + .6rem);width:min(100% - 1.5rem,62rem);transform:translateX(-50%)}
.mega__corps{display:grid;grid-template-columns:1.55fr 1fr;gap:.6rem;padding:.6rem;border-radius:2rem;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);box-shadow:inset 0 0 0 1px rgba(38,39,38,.07),0 40px 80px -40px rgba(30,45,40,.5)}
.mega.ouvert .mega__corps{animation:mega-in .55s var(--ease)}
@keyframes mega-in{from{opacity:0;transform:translateY(-10px) scale(.985)}}
.mega__liste{list-style:none;margin:0;padding:.4rem;display:grid;grid-template-columns:1fr 1fr;gap:.2rem}
.mega__liste a{display:flex;gap:.85rem;align-items:flex-start;padding:.85rem .9rem;border-radius:1.1rem;transition:background .3s var(--ease)}
.mega__liste a i{flex:none;display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:.9rem .9rem .9rem .9rem;background:var(--vert-pale);color:var(--vert-encre);font-size:1.3rem;transition:transform .5s var(--ease),border-radius .5s var(--ease)}
.mega__liste b{display:block;font-weight:600;font-size:.98rem}
.mega__liste small{display:block;color:var(--gris);font-size:.82rem;line-height:1.4;margin-top:.15rem}
@media (hover:hover){.mega__liste a:hover{background:rgba(38,39,38,.05)}.mega__liste a:hover i{border-radius:.9rem 1.6rem 1.6rem .9rem;transform:translateX(2px)}}
.mega.ouvert .mega__liste li{animation:mega-li .6s var(--ease) backwards}
.mega.ouvert .mega__liste li:nth-child(2){animation-delay:.04s}.mega.ouvert .mega__liste li:nth-child(3){animation-delay:.08s}.mega.ouvert .mega__liste li:nth-child(4){animation-delay:.12s}.mega.ouvert .mega__liste li:nth-child(5){animation-delay:.16s}.mega.ouvert .mega__liste li:nth-child(6){animation-delay:.2s}
@keyframes mega-li{from{opacity:0;transform:translateY(8px)}}
.mega__vedette{position:relative;overflow:hidden;border-radius:1.5rem 4rem 4rem 1.5rem;min-height:15rem;color:#fff;display:flex;align-items:flex-end}
.mega__vedette img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.mega__vedette::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,24,22,.78),rgba(20,24,22,0) 60%)}
.mega__vedette-txt{position:relative;z-index:1;padding:1.3rem 1.4rem;display:grid;gap:.2rem;font-size:.88rem}
.mega__vedette-txt b{font-family:var(--titre);font-weight:400;font-size:1.35rem;letter-spacing:-.01em}
@media (hover:hover){.mega__vedette:hover img{transform:scale(1.05)}}

/* Feuille mobile */
.feuille{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;padding:1.1rem 1.25rem 1.5rem;background:var(--fond);overflow:auto}
.feuille[hidden]{display:none}
.feuille__haut{display:flex;align-items:center;justify-content:space-between}
.feuille__haut .logo{height:1.6rem;width:auto}
.feuille__fermer{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--encre);color:#fff;font-size:1.3rem}
.feuille__liens{list-style:none;padding:0;margin:2.5rem 0 auto}
.feuille__liens a{display:block;padding:.35rem 0;font-family:var(--titre);font-size:clamp(2.2rem,9vw,3.2rem);letter-spacing:-.02em;line-height:1.15}
.feuille.ouvert .feuille__liens li{animation:feuille-li .8s var(--ease) backwards}
.feuille.ouvert .feuille__liens li:nth-child(2){animation-delay:.05s}.feuille.ouvert .feuille__liens li:nth-child(3){animation-delay:.1s}.feuille.ouvert .feuille__liens li:nth-child(4){animation-delay:.15s}.feuille.ouvert .feuille__liens li:nth-child(5){animation-delay:.2s}.feuille.ouvert .feuille__liens li:nth-child(6){animation-delay:.25s}
@keyframes feuille-li{from{opacity:0;transform:translateY(2.5rem)}}
.feuille__bas{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:2rem}
.feuille__bas img{height:2rem;width:auto;margin-left:auto}

/* ---------------- Héros ---------------- */
.heros{position:relative}
.heros__scene{position:relative;display:grid;gap:2.5rem;padding:7.5rem 1.25rem 3rem}
.heros__texte{max-width:36rem}
.heros h1{font-size:clamp(2.5rem,5.4vw,4.4rem);margin:1.3rem 0 1.3rem;line-height:1.02}
.heros__sous{font-size:clamp(1.1rem,1.35vw,1.28rem);color:var(--gris);max-width:30rem;line-height:1.55}
.heros__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}
.maison{position:relative;width:min(100%,34rem);justify-self:center}
.maison__masque{position:relative;aspect-ratio:1/1.08;clip-path:polygon(0 30%,50% 0,100% 30%,100% 100%,0 100%);background:var(--encre)}
.maison__grille{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:5px}
@media (max-width:999px){html:not(.anim) .maison__grille .tuile:nth-child(-n+12),html:not(.anim) .maison__grille .tuile:nth-child(n+29){display:none}}
@media (max-height:559px),(min-width:1000px) and (max-height:619px){.maison__grille .tuile:nth-child(-n+12),.maison__grille .tuile:nth-child(n+29){display:none}}
.maison__voile{position:absolute;inset:0;pointer-events:none;background:linear-gradient(12deg,rgba(18,20,19,.9) 0%,rgba(18,20,19,.62) 34%,rgba(18,20,19,0) 62%);opacity:0}
.maison__toit{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
.maison__toit path{fill:none;stroke:var(--vert);stroke-width:14;stroke-linejoin:miter;stroke-linecap:butt;stroke-dasharray:1;stroke-dashoffset:0}
html.anim .maison__toit path{stroke-dashoffset:1;animation:toit 1.6s .35s cubic-bezier(.65,0,.35,1) forwards}
@keyframes toit{to{stroke-dashoffset:0}}
.maison__fin{position:relative;margin-top:1rem;padding:1.4rem 1.5rem;border-radius:var(--rG);background:var(--encre);color:#fff;display:grid;gap:1rem;justify-items:start}
.maison__fin{justify-self:center;width:min(100%,34rem)}
.maison__fin-titre{font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.1;letter-spacing:-.02em}
.maison__fin-txt{font-size:.98rem;line-height:1.6;color:rgba(255,255,255,.82)}

.tuile{position:relative;overflow:hidden;margin:0;background:#555653;min-width:0;min-height:0}
.tuile img{width:100%;height:100%;object-fit:cover}
.tuile--face img{object-position:50% 16%;transition:transform 1s var(--ease),filter .6s}
.tuile--face figcaption{position:absolute;left:.5rem;right:.5rem;bottom:.5rem;padding:.55rem .7rem;border-radius:.8rem;background:rgba(255,255,255,.92);color:var(--encre);display:grid;line-height:1.2;opacity:0;transform:translateY(.6rem);transition:opacity .45s var(--ease),transform .55s var(--ease);pointer-events:none}
.tuile--face figcaption b{font-size:.82rem;font-weight:600}
.tuile--face figcaption span{font-size:.68rem;color:var(--gris);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (hover:hover){.tuile--face:hover img{transform:scale(1.045)}.tuile--face:hover figcaption{opacity:1;transform:none}}
.tuile--note{background:var(--vert-pale);display:grid;place-content:center;justify-items:center;gap:.1rem;color:var(--vert-encre);font-weight:600;font-size:.8rem;text-align:center}
.tuile__gros{font-family:var(--titre);font-size:clamp(1.6rem,2.6vw,2.8rem);line-height:1;letter-spacing:-.03em;color:var(--encre)}
.tuile--logo{background:var(--encre);display:grid;place-items:center}
.tuile--logo .logo{width:52%;height:auto}.tuile--logo .lg1{fill:#fff}
.tuile--texte{background:var(--vert);color:var(--encre);display:grid;place-content:center;justify-items:center;text-align:center;font-weight:600;font-size:.82rem}
.tuile--photo img{filter:saturate(.9)}

/* Héros animé : scène épinglée plein écran (bureau, mouvement permis) */
@media (min-width:1000px) and (min-height:620px){
  .heros__scene{height:100vh;height:100svh;padding:0;display:block}
  .heros__texte{position:absolute;z-index:3;left:max(2rem,calc((100vw - 84rem)/2));top:50%;transform:translateY(-44%);width:min(44vw,44rem);max-width:none}
  .maison{position:absolute;inset:0;width:auto;aspect-ratio:auto;justify-self:stretch}
  .maison__masque{position:absolute;inset:0;aspect-ratio:auto;clip-path:polygon(53% 36%,74% 13%,95% 36%,95% 93%,53% 93%)}
  .maison__grille{grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(4,1fr);grid-auto-rows:auto;transform-origin:74% 62%;transform:scale(1.26)}
  .maison__fin{position:absolute;z-index:4;left:max(2rem,calc((100vw - 84rem)/2));bottom:2.5rem;margin:0;width:min(44vw,40rem);padding:clamp(1.5rem,2.4vw,2.2rem);background:rgba(24,26,25,.9);opacity:0;visibility:hidden}
  .maison__fin-titre{font-size:clamp(1.7rem,2.3vw,2.5rem)}
  .maison__fin-txt{font-size:1.02rem}
  .heros__texte h1{font-size:clamp(2.5rem,3.5vw,4.3rem)}
}
@media (min-width:1000px) and (min-height:620px) and (prefers-reduced-motion:reduce){
  .heros__scene{height:auto;padding-top:100vh;padding-top:100svh}
  .heros__texte{top:50vh;top:50svh}
  .maison{bottom:auto;height:100vh;height:100svh}
  .maison__fin{position:relative;left:auto;bottom:auto;margin:0 auto 3rem;width:min(100% - 2.5rem,46rem);opacity:1;visibility:visible;background:var(--encre)}
}

/* Héros animé sur mobile et tablette (demande du client, 13 oct. 2026) : même idée, la maison part du bas de l’écran.
   La géométrie (--hx0, --hy0…) est posée par a.js selon la hauteur réelle du texte. */
@media (max-width:999px) and (min-height:560px){
  html.anim .heros__scene{height:100vh;height:100svh;padding:0;display:block;overflow:clip}
  html.anim .heros__texte{position:absolute;z-index:3;left:1.25rem;right:1.25rem;top:5.6rem;max-width:36rem}
  html.anim .heros h1{font-size:clamp(2rem,8.4vw,3.4rem);margin:.9rem 0 .8rem}
  html.anim .heros__sous{font-size:1rem;line-height:1.5}
  html.anim .heros__cta{margin-top:1.2rem;gap:.6rem}
  html.anim .heros__cta .btn{min-height:3rem}
  html.anim .maison{position:absolute;inset:0;width:auto;justify-self:stretch}
  html.anim .maison__masque{position:absolute;inset:0;aspect-ratio:auto;clip-path:polygon(var(--hx0,8%) var(--hy1,80%),50% var(--hy0,68%),var(--hx1,92%) var(--hy1,80%),var(--hx1,92%) 100%,var(--hx0,8%) 100%)}
  html.anim .maison__grille{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(8,1fr);grid-auto-rows:auto;transform-origin:50% 0;transform:translateY(var(--hty,0px)) scale(var(--hs,1.2))}
  html.anim .maison__fin{position:absolute;z-index:4;left:1rem;right:1rem;bottom:1rem;width:auto;max-width:36rem;margin:0;justify-self:auto;background:rgba(24,26,25,.92);opacity:0;visibility:hidden}
  html.anim .maison__voile{background:linear-gradient(0deg,rgba(18,20,19,.9) 0%,rgba(18,20,19,.55) 42%,rgba(18,20,19,0) 70%)}
  html.anim .tuile--face figcaption{display:none}
  html.anim .tuile__gros{font-size:clamp(1.3rem,5.4vw,2.4rem)}
}
@media (max-width:999px) and (min-height:560px) and (max-height:700px){
  html.anim .heros__sous{display:none}
  html.anim .heros__texte{top:5.2rem}
}
@media (min-width:600px) and (max-width:999px) and (min-height:560px){
  html.anim .heros__texte{left:2rem;top:6.5rem}
  html.anim .maison__fin{left:2rem;bottom:2rem;right:auto;width:min(100% - 4rem,34rem)}
}

/* ---------------- Distinctions (bande) ---------------- */
.prix{width:min(100% - 2.5rem,84rem);margin:1.5rem auto 0}
.prix__carte{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(1.3rem,2.4vw,1.9rem) clamp(1.3rem,3vw,2.4rem);border-radius:var(--rG);background:var(--papier)}
.prix__tete{display:grid;gap:.5rem;justify-items:start;max-width:11rem}
.prix__tete i{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:50%;background:var(--vert-pale);color:var(--vert-encre);font-size:1.4rem}
.prix__tete h2,.interieur main .prix__tete h2,.prix__tete h3{font-family:var(--texte);font-size:.95rem;font-weight:600;letter-spacing:0;line-height:1.3}
.prix__liste{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1rem clamp(1.5rem,3vw,3rem)}
.prix__liste li{display:grid;gap:.15rem;padding-left:1.2rem;border-left:1px solid var(--ligne)}
.prix__liste b{font-family:var(--titre);font-weight:400;font-size:clamp(1.15rem,1.6vw,1.45rem);letter-spacing:-.015em;line-height:1.15}
.prix__liste span{font-weight:600;font-size:.92rem}
.prix__liste small{color:var(--gris);font-size:.8rem}
.prix__liens{display:grid;gap:.6rem;justify-items:start;font-size:.9rem;font-weight:600}
@media (max-width:1100px){.prix__carte{grid-template-columns:1fr}.prix__tete{display:flex;align-items:center;gap:.8rem;max-width:none}.prix__liens{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem}}
@media (max-width:640px){.prix__liste{grid-template-columns:1fr}.prix__carte{border-radius:var(--r) 3rem 3rem var(--r)}}

/* ---------------- Preuves ---------------- */
.preuves{padding:3.5rem 0 1rem;width:min(100% - 2.5rem,84rem);margin-inline:auto}
.preuves__liste{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.preuves__liste--5{grid-template-columns:repeat(5,1fr)}
.preuves__liste--5 li{padding:1.1rem 1.2rem}
@media (max-width:1100px){.preuves__liste--5{grid-template-columns:repeat(3,1fr)}.preuves__liste--5 li:nth-child(4){border-left:0;padding-left:0}}
.preuves__liste li{display:grid;gap:.2rem;padding:1.2rem 1.5rem;border-left:1px solid var(--ligne)}
.preuves__liste li:first-child{border-left:0;padding-left:0}
.preuves__liste b{font-family:var(--titre);font-weight:400;font-size:clamp(1.3rem,1.9vw,1.75rem);letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.preuves__liste span{color:var(--gris);font-size:.92rem}
.preuves__liste .etoiles{color:#e0a526;font-size:.62em}
.preuves__source{margin-top:1rem;font-size:.78rem;color:var(--gris-2)}
@media (max-width:900px){.preuves__liste,.preuves__liste--5{grid-template-columns:1fr 1fr}.preuves__liste li:nth-child(odd){border-left:0;padding-left:0}.preuves__liste--5 li:nth-child(4){border-left:1px solid var(--ligne);padding-left:1.2rem}}
@media (max-width:520px){.preuves__liste{grid-template-columns:1fr}.preuves__liste li{border-left:0;padding-left:0;border-top:1px solid var(--ligne)}.preuves__liste li:first-child{border-top:0}}

/* ---------------- Services ---------------- */
.services{padding:clamp(5rem,10vw,9rem) 0 clamp(4rem,8vw,7rem)}
.services__tete{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:clamp(2rem,4vw,3.5rem)}
.services__tous{font-weight:600;white-space:nowrap}
.services__corps{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.services__liste{list-style:none;padding:0;margin:0;border-top:1px solid var(--ligne)}
.srv{border-bottom:1px solid var(--ligne)}
.srv__lien{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"ic titre fl" ". txt ." ;column-gap:1.25rem;align-items:center;padding:1.45rem .25rem;transition:padding .6s var(--ease)}
.srv__ic{grid-area:ic;font-size:1.7rem;color:var(--gris-2);transition:color .4s,transform .6s var(--ease)}
.srv__titre{grid-area:titre;font-family:var(--titre);font-size:clamp(1.6rem,2.7vw,2.5rem);letter-spacing:-.025em;line-height:1.1;transition:transform .6s var(--ease),color .4s}
.srv__txt{grid-area:txt;display:grid;grid-template-rows:0fr;color:var(--gris);font-size:.98rem;max-width:34rem;transition:grid-template-rows .6s var(--ease),opacity .5s,margin .6s var(--ease);opacity:0}
.srv__txt{overflow:hidden}
.srv__fleche{grid-area:fl;display:grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ligne);transition:background .45s var(--ease),color .45s,transform .6s var(--ease)}
.srv__img{display:none}
.srv.actif .srv__ic{color:var(--vert-profond);transform:translateX(4px)}
.srv.actif .srv__titre{transform:translateX(4px)}
.srv.actif .srv__txt{opacity:1;margin-top:.6rem}
.srv.actif .srv__fleche{background:var(--encre);color:#fff;transform:rotate(-35deg)}
.srv__txt{max-height:0;transition:max-height .7s var(--ease),opacity .5s,margin .6s var(--ease)}
.srv.actif .srv__txt{max-height:8rem}
.services__apercu{position:sticky;top:7rem;aspect-ratio:4/4.4;border-radius:var(--rG);overflow:hidden;background:#ddd;isolation:isolate}
.services__apercu img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .8s var(--ease),transform 1.4s var(--ease)}
.services__apercu img.actif{opacity:1;transform:none}
@media (max-width:900px){
  .services__corps{grid-template-columns:1fr}.services__apercu{display:none}
  .srv__lien{grid-template-areas:"ic titre fl" "img img img" "txt txt txt";row-gap:.9rem}
  .srv__txt{max-height:none;opacity:1;margin:0}
  .srv__img{display:block;grid-area:img;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--rG)}
}

/* Mini-portraits (avis) */
.mini{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;overflow:hidden;background:var(--vert-pale);color:var(--vert-encre);box-shadow:0 0 0 2px var(--papier);flex:none}
.mini img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.mini-pile{display:flex}.mini-pile .mini+.mini{margin-left:-.6rem}

/* ---------------- Avis ---------------- */
.avis{padding:clamp(5rem,10vw,8.5rem) 0}
.avis__grille{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.avis__chiffre{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:2rem 0 .8rem}
.avis__cinq{font-family:var(--titre);font-size:clamp(4rem,7vw,6.5rem);line-height:.9;letter-spacing:-.04em}
.avis__chiffre .etoiles{font-size:1.4rem}
.avis__nb{flex-basis:100%;font-weight:600}
.avis__source{font-size:.8rem;color:var(--gris-2);margin-bottom:1.2rem}
.avis__carte{position:relative;min-height:23rem;padding:clamp(1.8rem,4vw,3.2rem);border-radius:var(--rG);background:var(--encre);color:#fff;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;touch-action:pan-y;user-select:none}
.avis__toit{position:absolute;z-index:-1;right:-6%;bottom:-34%;width:58%;height:auto;fill:var(--vert);opacity:.1;transform-origin:50% 100%}
.avis__haut{display:flex;align-items:center;justify-content:space-between}
.avis__guill{font-size:2.6rem;color:var(--vert)}
.avis__compteur{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;font-weight:600;color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums}
.avis__num{display:inline-block;overflow:clip;height:1.4em;line-height:1.4em}
.avis__num b{display:inline-block;color:#fff;font-weight:600}
.avis__texte{font-family:var(--titre);font-size:clamp(1.5rem,2.5vw,2.25rem);line-height:1.2;letter-spacing:-.02em;margin:1.2rem 0 0;max-width:28ch}
.avis__texte .m{display:inline-block;overflow:clip;overflow-clip-margin:.2em;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}
.avis__texte .m>span{display:inline-block;will-change:transform}
.avis__texte .mot-nomme{color:var(--vert)}
.avis__pied{display:flex;flex-wrap:wrap;align-items:flex-end;align-content:flex-end;justify-content:space-between;gap:1rem;margin-top:2rem;position:relative;z-index:1}
.avis__auteur{font-weight:600}
.avis__auteur small{display:block;font-weight:400;color:rgba(255,255,255,.66);font-size:.82rem}
.avis__nomme{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:rgba(255,255,255,.75)}
.avis__nomme:empty{display:none}
.avis__nomme .mini{box-shadow:0 0 0 2px var(--encre)}
.avis__nav{display:flex;align-items:center;gap:.8rem;margin-top:1.2rem}
.avis__fleche{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ligne);transition:background .4s var(--ease),color .4s,transform .3s var(--ease)}
.avis__fleche:active{transform:scale(.94)}
@media (hover:hover){.avis__fleche:hover{background:var(--encre);color:#fff}.avis__fleche[data-avis-prec]:hover i{transform:translateX(-3px)}.avis__fleche[data-avis-suiv]:hover i{transform:translateX(3px)}}
.avis__fleche i{transition:transform .45s var(--ease)}
.avis__points{display:flex;gap:.4rem;align-items:center}
.avis__points button{position:relative;width:.6rem;height:.6rem;border-radius:999px;background:rgba(38,39,38,.2);overflow:hidden;transition:width .6s var(--ease),background .4s}
.avis__points button[aria-pressed=true]{width:2.6rem;background:rgba(38,39,38,.16)}
.avis__remplir{position:absolute;inset:0;background:var(--encre);transform-origin:0 50%;transform:scaleX(0);border-radius:inherit}
.avis__points button[aria-pressed=true] .avis__remplir{transform:scaleX(var(--f,1))}
html:not(.anim) .avis__points button[aria-pressed=true] .avis__remplir{transform:scaleX(1)}
@media (max-width:900px){.avis__grille{grid-template-columns:1fr}}

/* ---------------- Outil ---------------- */
.outil{padding:clamp(4rem,8vw,7rem) 0;background:linear-gradient(180deg,var(--fond),#e9ece9)}
.outil__grille{display:grid;grid-template-columns:.8fr 1.6fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.outil__texte p{margin:1.3rem 0 1.4rem;color:var(--gris);max-width:28rem}
.outil__texte .lien{font-weight:600}
.outil__coeur{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,3vw,2.8rem);align-items:center}
.curseurs{display:grid;gap:1.6rem}
.curseur label{display:flex;justify-content:space-between;gap:1rem;font-weight:600;font-size:.92rem;margin-bottom:.65rem}
.curseur output{font-variant-numeric:tabular-nums;color:var(--vert-encre)}
.curseur input[type=range]{--p:50%;-webkit-appearance:none;appearance:none;width:100%;height:1.6rem;background:transparent;cursor:pointer}
.curseur input[type=range]::-webkit-slider-runnable-track{height:.4rem;border-radius:999px;background:linear-gradient(90deg,var(--vert-profond) var(--p),rgba(38,39,38,.12) var(--p))}
.curseur input[type=range]::-moz-range-track{height:.4rem;border-radius:999px;background:linear-gradient(90deg,var(--vert-profond) var(--p),rgba(38,39,38,.12) var(--p))}
.curseur input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:1.6rem;height:1.6rem;margin-top:-.6rem;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(38,39,38,.18),0 6px 16px -6px rgba(20,40,35,.5);transition:transform .35s var(--ease)}
.curseur input[type=range]::-moz-range-thumb{width:1.6rem;height:1.6rem;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(38,39,38,.18),0 6px 16px -6px rgba(20,40,35,.5)}
.curseur input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}
.curseur input[type=range]:focus-visible{outline:none}
.curseur input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--vert),0 6px 16px -6px rgba(20,40,35,.5)}
.resultat{position:relative;display:grid;justify-items:center;text-align:center;padding:1.5rem;border-radius:var(--rG);background:var(--fond)}
.resultat__lib{font-size:.88rem;font-weight:600;color:var(--gris)}
.resultat__montant{font-family:var(--titre);font-size:clamp(2.6rem,4.4vw,3.8rem);letter-spacing:-.035em;line-height:1.05;margin:.2rem 0 .8rem;font-variant-numeric:tabular-nums}
.resultat__anneau{width:7.5rem;height:7.5rem;transform:rotate(-90deg)}
.resultat__anneau circle{fill:none;stroke-width:12}
.resultat__anneau .piste{stroke:var(--vert-pale)}
.resultat__anneau .part{stroke:var(--encre);stroke-dasharray:60 100;transition:stroke-dasharray .9s var(--ease)}
.resultat__detail{margin:1.1rem 0 0;display:grid;gap:.45rem;width:100%;font-size:.86rem}
.resultat__detail div{display:flex;justify-content:space-between;gap:1rem}
.resultat__detail dt{display:flex;align-items:center;gap:.45rem;color:var(--gris)}
.resultat__detail dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.pt{width:.6rem;height:.6rem;border-radius:50%}.pt--cap{background:var(--vert-pale);box-shadow:inset 0 0 0 1.5px var(--vert)}.pt--int{background:var(--encre)}
.outil__mention{margin:.9rem .6rem .2rem;font-size:.76rem;color:var(--gris)}
@media (max-width:1100px){.outil__grille{grid-template-columns:1fr}}
@media (max-width:700px){.outil__coeur{grid-template-columns:1fr}}

/* ---------------- Formulaire ---------------- */
.trouver{padding:clamp(5rem,10vw,8.5rem) 0;outline:none}
.trouver__grille{display:grid;grid-template-columns:.85fr 1.6fr;grid-template-rows:auto 1fr;grid-template-areas:"cote form" "direct form";gap:0 clamp(2rem,5vw,5rem);align-items:start}
.trouver__cote{grid-area:cote}.trouver__form{grid-area:form}.trouver__direct{grid-area:direct}
.trouver__cote>p{margin:1.4rem 0 2rem;color:var(--gris);max-width:28rem}
.rassure{list-style:none;padding:0;margin:0 0 2.2rem;display:grid;gap:.8rem}
.rassure li{display:flex;align-items:center;gap:.8rem;font-weight:500}
.rassure i{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--vert-pale);color:var(--vert-encre);font-size:1.15rem;flex:none}
.suite{list-style:none;padding:0;margin:0 0 2.2rem;display:grid;gap:1rem}
.suite li{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;font-size:.95rem}
.suite span{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--vert-pale);color:var(--vert-encre);font-weight:700;font-size:.82rem}
.trouver__direct p{font-size:.88rem;color:var(--gris)}
.trouver__tel{font-family:var(--titre);font-size:clamp(1.8rem,2.8vw,2.4rem);letter-spacing:-.02em;background:linear-gradient(var(--vert),var(--vert)) 0 100%/0 3px no-repeat;transition:background-size .6s var(--ease)}
@media (hover:hover){.trouver__tel:hover{background-size:100% 3px}}
.fx{--fx-surface:#fff;--fx-fond-inverse:#fff}
.trouver .fx-boite,.trouver .fx-liste__bouton,.trouver .fx-carte span.fx-carte__corps,.trouver .fx-pastille span{background:#fbfbfa}
@media (max-width:1000px){.trouver__grille{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"cote" "form" "direct";row-gap:2rem}.rassure{margin-bottom:0}}

/* ---------------- Blogue ---------------- */
.blogue{padding:0 0 clamp(5rem,10vw,8rem)}
.blogue__grille{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1.5rem}
.article{display:grid;align-content:start;gap:.6rem}
.article__img{display:block;overflow:hidden;border-radius:var(--r);aspect-ratio:4/3;margin-bottom:.6rem}
.article--grand .article__img{border-radius:var(--rG);aspect-ratio:4/3}
.article__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.article__cat{font-size:.78rem;font-weight:600;color:var(--vert-encre)}
.article__titre{font-family:var(--titre);font-size:1.35rem;line-height:1.2;letter-spacing:-.015em}
.article--grand .article__titre{font-size:1.75rem}
.article__lire{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.9rem}
.article__lire i{transition:transform .5s var(--ease)}
@media (hover:hover){.article:hover .article__img img{transform:scale(1.05)}.article:hover .article__lire i{transform:translateX(5px)}}
@media (max-width:900px){.blogue__grille{grid-template-columns:1fr 1fr}.article--grand{grid-column:1/-1}}
@media (max-width:560px){.blogue__grille{grid-template-columns:1fr}}

/* ---------------- Pied ---------------- */
.pied{background:var(--encre);color:rgba(255,255,255,.86);padding:clamp(4rem,7vw,6rem) 0 2rem;font-size:.92rem}
.pied .lg1{fill:#fff}.pied .lg2{fill:rgba(255,255,255,.55)}
.pied__haut,.pied__legal{width:min(100% - 2.5rem,84rem);margin-inline:auto}
.pied__haut{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.1fr;gap:2.5rem}
.pied__logo .logo{height:2.3rem;width:auto}
.pied__cabinet{margin-top:2rem;display:grid;gap:.9rem;max-width:26rem}
.pied__cabinet img{height:2.6rem;width:auto;background:#fff;padding:.4rem .6rem;border-radius:.6rem;box-sizing:content-box}
.pied__cabinet p{color:rgba(255,255,255,.68);font-size:.85rem}
.pied h2{font-family:var(--texte);font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:1rem}
.pied nav ul .lien{background-size:0 1.5px,0 1px}
@media (hover:hover){.pied nav ul .lien:hover{background-size:100% 1.5px,0 1px}}
.pied ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.pied__contact p+p{margin-top:1rem}
.pied__legal{margin-top:3.5rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:.5rem;font-size:.8rem;color:rgba(255,255,255,.6)}
.pied__liens{display:flex!important;flex-wrap:wrap;gap:.5rem 1.4rem!important;margin-top:.6rem!important}
@media (max-width:900px){.pied__haut{grid-template-columns:1fr 1fr}.pied__marque{grid-column:1/-1}}
@media (max-width:520px){.pied__haut{grid-template-columns:1fr}}

/* ---------------- Ajouts (textes du client) ---------------- */
.pastille--note{gap:.5rem}.pastille--note::before{display:none}
.btn--tel{gap:.55rem}.btn--tel i{font-size:1.1rem}
.blogue__intro{margin-top:.8rem;color:var(--gris);max-width:36rem}
.ilot__lien[aria-current],.ilot__lien.est-actif{background:rgba(38,39,38,.07)}
.mega__liste a[aria-current]{background:rgba(67,194,159,.12)}
.feuille__liens a[aria-current]{color:var(--vert-profond)}
.fx-av__ini{font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--fx-accent-encre)}
@media (max-width:520px){.preuves__liste--5{grid-template-columns:1fr}.preuves__liste--5 li:nth-child(4){border-left:0;padding-left:0}}
