/* mfdydigital.com, refonte 2026 : feuille commune (DA v2 C « Produit pop »).
   Creme + trame halftone verte, cases blanches a bord epais vert, ombres pleines orange vif.
   Archivo (titres 900 en capitales serrees sur l'axe de largeur), Patrick Hand seulement dans les bulles de Silver.
   Orange brique reserve aux boutons (texte blanc, 4,6:1). Orange vif : decor, surlignage, texte seulement sur vert. */
:root{
  --vert:#1F3D34; --nuit:#14281F; --creme:#F2F2ED; --blanc:#FFFFFF; --pale:#C9D6D1;
  --brique:#C4511F; --orange:#E8692E; --encre:#1B1F1D;
  --ff:"Archivo",system-ui,sans-serif; --fh:"Patrick Hand",cursive;
  --bd:3px; --r:12px; --gut:clamp(16px,3.4vw,48px); --max:1360px; --nav-h:70px;
  --dots:radial-gradient(circle at center, rgba(31,61,52,.14) 1.3px, transparent 1.6px);
  --dots-o:radial-gradient(circle at center, rgba(232,105,46,.6) 1.6px, transparent 1.9px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--creme)}
body{margin:0;background:var(--creme);color:var(--encre);font:400 1.0625rem/1.58 var(--ff);font-stretch:100%}
/* filet de securite seulement : les debordements sont corriges a la racine (mesure a 360, 390 et 412 px) */
html,body{overflow-x:clip}
/* les sections contiennent leurs propres effets (rotations, ombres, toile du decollement, cascade du titre final) */
main>section{overflow-x:clip}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:var(--dots);background-size:14px 14px;-webkit-mask-image:linear-gradient(160deg,#000 0%,rgba(0,0,0,.25) 45%,rgba(0,0,0,.7) 100%);mask-image:linear-gradient(160deg,#000 0%,rgba(0,0,0,.25) 45%,rgba(0,0,0,.7) 100%)}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;color:var(--vert)}
main{overflow-x:clip}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--brique);outline-offset:3px;border-radius:4px}
.dark :focus-visible,.pied :focus-visible{outline-color:var(--orange)}
.skip{position:absolute;left:12px;top:-70px;background:var(--vert);color:var(--creme);padding:10px 14px;z-index:500;border-radius:6px;font-weight:700}
.skip:focus{top:12px}
.js-only{display:none!important}
html.js .js-only{display:revert!important}
html.js .btn.js-only{display:inline-flex!important}
html.js .nojs-only{display:none!important}

/* Titres Archivo massifs */
.xxl{font-family:var(--ff);font-weight:900;font-stretch:72%;text-transform:uppercase;letter-spacing:-.005em;line-height:.88}
h2.xxl{font-size:clamp(2.5rem,6.4vw,6.6rem)}
h1.xxl{font-size:clamp(2.6rem,6vw,6rem)}
@media (max-width:520px){h2.xxl{font-size:clamp(1.9rem,9vw,2.6rem)}h1.xxl{font-size:clamp(2.1rem,10.5vw,3rem)}}
/* aucun mot ne pousse la page : coupure seulement si un mot ne tient pas (aussi au calcul des largeurs minimales) */
h1,h2,h3,p,li,dt,dd,summary,label,legend,figcaption,td,th,.btn{overflow-wrap:anywhere}
h3{font-weight:800;font-stretch:85%;font-size:1.35rem;line-height:1.1;letter-spacing:-.01em}
.lede{font-size:clamp(1.05rem,1.35vw,1.22rem);font-weight:500;max-width:60ch;margin-top:20px}
.kick{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vert);margin-bottom:18px}
.kick b{display:inline-grid;place-items:center;width:38px;height:38px;border:var(--bd) solid var(--vert);border-radius:50%;background:var(--blanc);box-shadow:3px 3px 0 var(--orange);letter-spacing:0}
.dark .kick{color:var(--creme)}
.dark .kick b{color:var(--vert)}

/* surlignage orange incline */
/* .hl passe a la ligne quand il ne tient pas sur une ligne entiere (comme deja sous 768 px) : sinon le titre etait coupe
   (« TRAVAILLE POUR VOU » sous l'image a 1440, et les titres anglais, russes, georgiens plus longs). Sans effet quand il tient. */
.hl{position:relative;display:inline-block;max-width:100%;white-space:normal;z-index:0;color:var(--encre)}
.hl-bg{position:absolute;left:-.1em;right:-.12em;top:.1em;bottom:.02em;background:var(--orange);transform:skew(-8deg) rotate(-1.5deg);z-index:-1;border-radius:3px}
.hl-bg::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(27,31,29,.18) 1.2px,transparent 1.5px);background-size:7px 7px;border-radius:inherit}
.dark .hl{color:var(--encre)}

/* boutons : ombre pleine qui se decale, puis s'enfonce */
.btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:52px;padding:.8em 1.3em;font:800 1rem/1.1 var(--ff);font-stretch:88%;letter-spacing:.01em;text-decoration:none;text-align:center;color:#fff;background:transparent;border:0;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1);-webkit-tap-highlight-color:transparent}
.btn::after{content:"";position:absolute;inset:0;background:var(--brique);border:var(--bd) solid var(--vert);border-radius:var(--r);z-index:-1}
.btn::before{content:"";position:absolute;inset:0;background:var(--vert);border-radius:var(--r);z-index:-2;transform:translate(5px,5px);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}
.btn:hover{transform:translate(-2px,-3px)}
.btn:hover::before{transform:translate(8px,9px)}
.btn:active{transform:translate(4px,4px)}
.btn:active::before{transform:translate(1px,1px)}
.btn--alt{color:var(--vert)}
.btn--alt::after{background:var(--blanc)}
.btn--alt::before{background:var(--orange)}
.btn--ghost{color:var(--vert);min-height:44px;padding:.55em 1em;font-size:.92rem}
.btn--ghost::after{background:var(--creme)}
.btn--ghost::before{transform:translate(3px,3px)}
.dark .btn::after{border-color:var(--creme)}
.dark .btn::before{background:var(--orange)}
.dark .btn--alt::before{background:var(--nuit)}
.btn--sm{min-height:44px;padding:.55em 1em;font-size:.92rem}
.btn svg{width:1.15em;height:1.15em;flex:none}
.btn[hidden]{display:none!important}
.txt-link{font-weight:700;color:var(--vert);text-decoration-color:var(--orange);text-decoration-thickness:3px;text-underline-offset:4px}
.dark .txt-link{color:var(--creme)}
.ctas{display:flex;flex-wrap:wrap;gap:14px 18px;margin-top:24px;align-items:center}
@media (max-width:520px){.ctas .btn{flex:1 1 100%}}

/* cases de BD */
.case{position:relative;background:var(--blanc);border:var(--bd) solid var(--vert);border-radius:var(--r);box-shadow:8px 8px 0 var(--orange)}
.case--g{box-shadow:8px 8px 0 var(--vert)}
.dark .case{border-color:var(--nuit);color:var(--encre)}
.dark .case--g{box-shadow:8px 8px 0 var(--nuit)}
.dark .case h2,.dark .case h3{color:var(--vert)}
.tag{display:inline-block;background:var(--vert);color:var(--creme);font-weight:800;font-stretch:90%;font-size:.84rem;letter-spacing:.06em;text-transform:uppercase;padding:.45em .8em;border-radius:4px;transform:rotate(-1.5deg)}
.bubble{position:relative;background:var(--blanc);border:var(--bd) solid var(--vert);border-radius:20px;padding:10px 16px;font:400 1.22rem/1.22 var(--fh);color:var(--encre)}
.ph{display:grid;place-items:center;text-align:center;color:var(--vert);font-weight:700;background:var(--creme);background-image:repeating-linear-gradient(-45deg,rgba(31,61,52,.07) 0 8px,transparent 8px 16px);border:var(--bd) dashed var(--vert);border-radius:8px}
.price-tag{display:inline-block;font:900 1.3rem/1.05 var(--ff);font-stretch:80%;color:var(--encre);background:var(--orange);padding:7px 11px;border:2px solid var(--vert);border-radius:6px;transform:rotate(-2deg)}
.pill{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.82rem;color:var(--vert);background:var(--creme);border:2px solid var(--vert);border-radius:999px;padding:4px 10px;white-space:nowrap}
.tva{font-size:.82rem;color:var(--encre);margin-top:10px}
.dark .tva{color:var(--creme)}
.heberg{margin-top:22px;font-size:1rem;font-weight:600;color:var(--vert)}
.dark .heberg{color:var(--creme)}
.a-completer{background:#FFF1E8;outline:2px dashed var(--brique);outline-offset:2px;padding:0 .25em;border-radius:3px}

/* Silver v2 (poses sur fond creme, sans filtre) */
.silver-av{width:66px;height:66px;flex:none;border-radius:50%;overflow:hidden;border:var(--bd) solid var(--vert);box-shadow:3px 3px 0 var(--orange);background:#F3E6CF}
.silver-av img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.silver-fig{margin:0;border:var(--bd) solid var(--vert);border-radius:12px;overflow:hidden;background:#F3E6CF;box-shadow:8px 8px 0 var(--orange)}
.silver-fig img{width:100%;height:100%;object-fit:cover}
.dark .silver-fig{border-color:var(--creme)}

/* ---------- Navigation ---------- */
.nav{position:sticky;top:0;z-index:80;background:rgba(242,242,237,.97);border-bottom:var(--bd) solid var(--vert)}
.nav-in{display:flex;align-items:center;gap:16px;min-height:var(--nav-h)}
.logo{font:900 1.5rem/1 var(--ff);font-stretch:85%;color:var(--vert);letter-spacing:-.02em;white-space:nowrap;text-decoration:none}
.logo b{color:var(--brique)}
.nav-nav{margin:0 auto}
.nav-links{display:flex;gap:2px;margin:0;padding:0;list-style:none}
.nav-links a{display:block;padding:8px 10px;font-weight:700;font-size:.95rem;text-decoration:none;color:var(--vert);border-radius:6px;white-space:nowrap}
.nav-links a:hover{background:var(--vert);color:var(--creme)}
.nav-links a[aria-current]{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:3px;text-underline-offset:6px}
.langs{display:flex;gap:2px;font-size:.8rem;font-weight:800}
.langs a{padding:6px;text-decoration:none;color:var(--vert);border-radius:4px}
.langs a[aria-current]{background:var(--vert);color:var(--creme)}
.nav .btn{font-size:.9rem}
@media (max-width:1320px){.nav-links a{padding:8px 7px;font-size:.9rem}.nav .nav-est{display:none}}
@media (max-width:1023px){
  .nav-in{flex-wrap:wrap;gap:4px 12px;padding-top:10px}
  .nav-nav{order:3;width:100%;margin:0}
  .nav-links{overflow-x:auto;padding-bottom:6px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .nav-links::-webkit-scrollbar{display:none}
  .nav .btn{display:none}
}
/* fil d'Ariane */
.fil{padding-top:18px;padding-bottom:0}
.fil ol{display:flex;flex-wrap:wrap;gap:4px 8px;margin:0;padding:0;list-style:none;font-size:.88rem;font-weight:700;color:var(--vert)}
.fil li+li::before{content:"/";margin-right:8px;color:var(--brique)}
.fil a{color:var(--vert);text-decoration-color:var(--orange);text-underline-offset:3px}
.fil [aria-current]{color:var(--encre);font-weight:600}

/* barre au pouce (mobile) */
.thumb{position:fixed;left:10px;right:10px;bottom:10px;z-index:90;display:none;gap:8px;align-items:stretch}
.thumb .btn{min-height:50px;padding:.5em .7em;font-size:.88rem;font-stretch:82%}
.thumb .t-rdv{flex:1}
.thumb .t-wa{flex:0 0 50px;padding:0}
@media (max-width:1023px){.thumb{display:flex}body{padding-bottom:78px}}
@media (max-width:374px){.thumb .t-est{display:none}}

/* halo qui suit le curseur, sur les sections vertes */
.halo{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;z-index:70;background:radial-gradient(circle,rgba(232,105,46,.22) 0%,rgba(232,105,46,.08) 38%,rgba(232,105,46,0) 68%);opacity:0;transition:opacity .4s ease}
.halo.on{opacity:1}

/* ---------- Sections communes ---------- */
.dark{background:var(--vert);color:var(--creme)}
.dark h1,.dark h2.xxl,.dark h2{color:var(--creme)}
.dark .lede,.dark p{color:var(--creme)}
.dark .case p,.dark .case li,.dark .case dd{color:var(--encre)}
.sec{position:relative;padding:clamp(64px,8vw,112px) 0}
.sec--tight{padding:clamp(40px,5vw,72px) 0}
.sec-head{max-width:900px}
.dots-o{position:relative;overflow:hidden}
.dots-o::before{content:"";position:absolute;inset:0;background-image:var(--dots-o);background-size:13px 13px;-webkit-mask-image:radial-gradient(ellipse at 92% 6%,#000 0%,transparent 45%);mask-image:radial-gradient(ellipse at 92% 6%,#000 0%,transparent 45%);opacity:.75;pointer-events:none}

/* en-tete des pages internes */
.page-hero{position:relative;padding:clamp(24px,4vw,56px) 0 clamp(56px,7vw,96px)}
.page-hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,4vw,64px);align-items:center}
.page-hero .tag{margin-bottom:18px}
.page-hero .sub{font-size:clamp(1.05rem,1.35vw,1.22rem);font-weight:500;max-width:56ch;margin-top:20px}
.page-hero .prix-l{margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.page-hero .prix-l .big-price{margin:0}
.page-hero-vis{position:relative}
.page-hero-vis .pv{position:relative;height:260px;background:var(--creme);background-image:var(--dots);background-size:10px 10px;border-radius:var(--r);overflow:hidden}
.page-hero-vis .pv .ui{inset:24px 28px;font-size:13px}
.page-hero-vis .silver-fig{max-width:340px;margin-left:auto;aspect-ratio:4/5}
@media (max-width:1023px){.page-hero-in{grid-template-columns:minmax(0,1fr)}.page-hero-vis .silver-fig{max-width:220px;margin:0}}
.big-price{font:900 clamp(2.8rem,5vw,4.6rem)/.86 var(--ff);font-stretch:66%;text-transform:uppercase;color:var(--vert);margin:12px 0 14px}
.big-price small{font-size:.38em;font-stretch:90%;letter-spacing:.02em}
.case--g .big-price{color:var(--brique)}
.dark .big-price{color:var(--orange)}
.dark .case .big-price{color:var(--vert)}

/* grilles et listes */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
@media (max-width:900px){.grid-3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){.grid-2{grid-template-columns:minmax(0,1fr)}}
.bloc{padding:26px 24px 28px}
.bloc h3{margin-bottom:10px}
.bloc p+p{margin-top:10px}
.mt{margin-top:clamp(32px,4vw,48px)}
.incl{list-style:none;margin:0;padding:0}
.incl li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:2px dashed rgba(31,61,52,.25);font-weight:700;color:var(--vert)}
.incl li:last-child{border-bottom:0}
.incl li::before{content:"";flex:none;width:26px;height:26px;border-radius:6px;border:2px solid var(--vert);background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 6.5' fill='none' stroke='%231B1F1D' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat;transform:rotate(-4deg)}
.case .incl{padding:0}
.etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;counter-reset:e}
.etapes li{padding:22px 20px 24px;counter-increment:e}
.etapes li::before{content:counter(e);display:block;font:900 3rem/1 var(--ff);font-stretch:66%;color:var(--orange);-webkit-text-stroke:2px var(--vert);margin-bottom:10px}
.etapes h3{font:900 1.6rem/.95 var(--ff);font-stretch:74%;text-transform:uppercase;margin-bottom:8px}
@media (max-width:1023px){.etapes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.etapes{grid-template-columns:minmax(0,1fr)}}

/* paliers et echelle de prix */
.paliers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:40px}
.paliers.trois{grid-template-columns:repeat(3,minmax(0,1fr))}
.palier{padding:28px 26px 30px;display:flex;flex-direction:column;gap:10px}
.palier h3{font:900 1.9rem/.95 var(--ff);font-stretch:74%;text-transform:uppercase}
.palier .big-price{margin:4px 0 6px}
.palier .incl{margin-top:6px}
.palier .btn{margin-top:auto;align-self:flex-start}
.palier .sous{font-weight:700;color:var(--vert)}
.palier--mis{box-shadow:10px 10px 0 var(--orange);transform:rotate(-.6deg)}
.badge{position:absolute;top:-16px;right:18px;background:var(--orange);color:var(--encre);border:2px solid var(--vert);border-radius:6px;padding:5px 10px;font:900 .9rem/1 var(--ff);font-stretch:80%;text-transform:uppercase;transform:rotate(3deg)}
@media (max-width:1023px){.paliers.trois{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){.paliers{grid-template-columns:minmax(0,1fr)}.palier--mis{transform:none}}
.sortie{display:flex;gap:16px;align-items:flex-start;padding:22px 24px;margin-top:36px;background:var(--creme)}
.sortie b{font-weight:900}
.sortie .ic{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--orange);border:var(--bd) solid var(--vert);font:900 1.5rem/1 var(--ff);color:var(--encre)}

/* FAQ */
.faq{max-width:920px;margin:40px 0 0;display:grid;gap:16px}
.faq details{background:var(--blanc);border:var(--bd) solid var(--vert);border-radius:var(--r);box-shadow:6px 6px 0 var(--vert)}
.faq details[open]{box-shadow:6px 6px 0 var(--orange)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;font:900 clamp(1.1rem,1.8vw,1.45rem)/1.1 var(--ff);font-stretch:80%;text-transform:uppercase;color:var(--vert);border-radius:var(--r)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:36px;height:36px;display:grid;place-items:center;font:900 1.4rem/1 var(--ff);border:2px solid var(--vert);border-radius:50%;background:var(--orange);color:var(--encre);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 20px 18px;max-width:64ch;color:var(--encre)}
.faq details p+p{margin-top:-6px}

/* outils, fiches produit */
.tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 26px;margin-top:48px}
.tool{display:flex;flex-direction:column;overflow:hidden;color:var(--encre)}
.tool .pv{position:relative;height:172px;background:var(--creme);background-image:var(--dots);background-size:10px 10px;border-bottom:var(--bd) solid var(--vert)}
.tool .tb{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.tool .idx{font:900 .82rem/1 var(--ff);color:var(--creme);background:var(--vert);border-radius:4px;padding:5px 7px;align-self:flex-start;letter-spacing:.05em}
.tool h2,.tool h3{font-weight:800;font-stretch:85%;font-size:1.35rem;line-height:1.1;color:var(--vert)}
.tool-lien{color:inherit;text-decoration:none}
.tool-lien::after{content:"";position:absolute;inset:0;z-index:1}
.tool:hover .tool-lien,.tool-lien:focus-visible{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:3px;text-underline-offset:4px}
.tool p.ph-t{flex:1;font-size:1rem;color:var(--encre)}
.tool .ft{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:8px;padding-top:14px;border-top:2px dashed rgba(31,61,52,.3)}
.tool:nth-child(even) .price-tag{transform:rotate(1.5deg)}
@media (max-width:1023px){.tools{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.tools{grid-template-columns:minmax(0,1fr)}}
/* mini interfaces */
.ui{position:absolute;inset:16px 18px;background:var(--blanc);border:2px solid var(--vert);border-radius:8px;box-shadow:4px 4px 0 var(--vert);padding:11px;font-size:11px;font-weight:700;color:var(--encre);line-height:1.3;overflow:hidden}
.sk{display:block;height:7px;border-radius:4px;background:rgba(31,61,52,.13)}
.sk.d{background:rgba(31,61,52,.28)}
.mchk{width:14px;height:14px;border-radius:4px;border:2px solid var(--vert);display:grid;place-items:center;flex:none;background:var(--blanc);transition:background-color .25s ease}
.mchk svg{width:9px;height:9px;stroke:var(--blanc);stroke-width:3.4;fill:none;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .35s ease}
.is-on .mchk,html:not(.js-anim) .mchk{background:var(--vert)}
.is-on .mchk svg,html:not(.js-anim) .mchk svg{stroke-dashoffset:0}
.is-on li:nth-child(2) .mchk,.is-on li:nth-child(2) .mchk svg{transition-delay:.25s}
.is-on li:nth-child(3) .mchk,.is-on li:nth-child(3) .mchk svg{transition-delay:.5s}
.is-on li:nth-child(4) .mchk,.is-on li:nth-child(4) .mchk svg{transition-delay:.75s}
.ui ul{list-style:none;margin:0;padding:0}
.ui-legal ul{display:grid;gap:5px}
.ui-legal li{display:flex;align-items:center;gap:8px;padding:3px 7px;border-radius:5px;background:var(--creme)}
.ui-legal .ck{position:absolute;left:8px;right:8px;bottom:8px;background:var(--vert);color:var(--blanc);border-radius:6px;padding:6px 8px;display:flex;align-items:center;gap:6px;font-size:10px}
.ui-legal .ck i{font-style:normal;margin-left:auto;padding:3px 7px;border-radius:4px;background:var(--orange);color:var(--encre)}
.ui-legal .ck i+i{margin-left:0;background:transparent;color:var(--blanc);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.ui-gmb{padding:0;display:grid;grid-template-columns:42% 1fr}
.ui-gmb .map{position:relative;border-right:2px solid var(--vert);background:linear-gradient(90deg,transparent 46%,#fff 46% 54%,transparent 54%),linear-gradient(0deg,transparent 30%,#fff 30% 37%,transparent 37%),var(--pale)}
.ui-gmb .pin{position:absolute;left:50%;top:46%;width:22px;height:22px;margin:-22px 0 0 -11px;border-radius:50% 50% 50% 0;background:var(--brique);border:2px solid var(--vert);transform:rotate(-45deg)}
.ui-gmb .info{padding:11px;display:flex;flex-direction:column;gap:7px}
.ui-gmb .open{color:var(--vert);font-size:10.5px}
.ui-gmb .acts{display:flex;gap:6px;margin-top:auto}
.ui-gmb .acts span{flex:1;height:20px;border-radius:999px;border:2px solid var(--vert)}
.ui-gmb .acts span:first-child{background:var(--orange)}
.ui-est .chips{display:flex;gap:5px;flex-wrap:wrap;margin:6px 0 12px}
.ui-est .chips span{padding:3px 8px;border-radius:999px;border:1.5px solid var(--vert);font-size:10px}
.ui-est .chips span.on{background:var(--vert);color:var(--blanc)}
.ui-est .rg{position:relative;height:8px;border-radius:6px;background:var(--creme);border:1.5px solid var(--vert);margin:10px 4px 14px}
.ui-est .rg b{position:absolute;left:0;top:0;bottom:0;width:62%;background:var(--orange);transform-origin:left;transition:transform .8s cubic-bezier(.2,.8,.2,1) .2s}
.ui-est .rg i{position:absolute;left:62%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--blanc);border:2px solid var(--vert);transition:transform .8s cubic-bezier(.2,.8,.2,1) .2s}
html.js-anim .ui-est:not(.is-on) .rg b{transform:scaleX(.25)}
html.js-anim .ui-est:not(.is-on) .rg i{transform:translateX(-90px)}
.ui-est .res{display:flex;justify-content:space-between;align-items:center;padding:6px 9px;border-radius:6px;background:var(--creme)}
.ui-inv .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.ui-inv .top em{font-style:normal;font-size:10px;padding:2px 7px;border-radius:999px;background:var(--orange);border:1.5px solid var(--vert)}
.ui-inv .ln{display:grid;grid-template-columns:1fr 34px;gap:8px;margin-bottom:7px}
.ui-inv .tot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:7px;border-top:2px solid var(--vert)}
.ui-inv .dl{position:absolute;right:10px;bottom:9px;padding:4px 8px;border-radius:5px;background:var(--vert);color:var(--blanc);font-size:9.5px}
.ui-bs{padding:0;display:grid;grid-template-columns:30% 1fr}
.ui-bs .side{background:var(--vert);padding:10px 8px;display:flex;flex-direction:column;gap:7px}
.ui-bs .side .sk{background:rgba(255,255,255,.3)}
.ui-bs .side .sk.on{background:var(--orange)}
.ui-bs .main{padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-content:start}
.ui-bs .tile{height:44px;border-radius:6px;background:var(--creme);border:1.5px solid rgba(31,61,52,.35);padding:6px;display:flex;flex-direction:column;justify-content:space-between}
.ui-bs .tile i{width:13px;height:13px;border-radius:50%;background:rgba(31,61,52,.3)}
.ui-bs .tile:nth-child(2) i{background:var(--orange)}
.ui-seo ul{display:grid;gap:7px}
.ui-seo li{display:flex;align-items:center;gap:8px}
.ui-seo li .sk{flex:1}
.ui-seo .meter{margin-top:11px;height:9px;border-radius:6px;background:var(--creme);border:1.5px solid var(--vert);overflow:hidden}
.ui-seo .meter b{display:block;height:100%;width:100%;background:var(--orange);transform-origin:left;transition:transform 1s cubic-bezier(.2,.8,.2,1) .3s}
html.js-anim .ui-seo:not(.is-on) .meter b{transform:scaleX(.15)}

/* ---------- Estimateur (composant : accueil, /estimer/, outils) ---------- */
.est{padding:clamp(16px,2vw,24px);box-shadow:10px 10px 0 var(--orange);color:var(--encre)}
.est-guide{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.est-guide .bubble{flex:1;font-size:1.12rem;padding:8px 14px}
.est-guide .bubble::before{content:"";position:absolute;left:-14px;top:50%;width:20px;height:20px;margin-top:-10px;background:var(--blanc);border-left:var(--bd) solid var(--vert);border-bottom:var(--bd) solid var(--vert);transform:skewY(18deg) rotate(45deg)}
.est-step{display:flex;align-items:center;gap:12px;font-weight:800;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--vert)}
.est-step .bar{display:flex;gap:5px}
.est-step .bar i{width:30px;height:10px;border:2px solid var(--vert);border-radius:3px;background:var(--creme)}
.est-step .bar i.on{background:var(--orange)}
.est fieldset{border:0;margin:0;padding:0;min-width:0}
.est fieldset[hidden]{display:none}
.est legend{display:block;padding:0;margin:10px 0 14px;font:900 clamp(1.5rem,2.3vw,2.1rem)/1 var(--ff);font-stretch:75%;text-transform:uppercase;color:var(--vert)}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.opt{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:2px;min-height:62px;padding:10px 12px 10px 44px;cursor:pointer;color:var(--vert);transition:transform .2s cubic-bezier(.34,1.56,.64,1);user-select:none}
.opt::after{content:"";position:absolute;inset:0;background:var(--creme);border:var(--bd) solid var(--vert);border-radius:10px;z-index:-1}
.opt::before{content:"";position:absolute;inset:0;background:var(--vert);border-radius:10px;z-index:-2;transform:translate(4px,4px);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt .dot{position:absolute;left:13px;top:13px;width:20px;height:20px;border-radius:50%;border:var(--bd) solid var(--vert);background:var(--blanc)}
.opt .o-t{font-weight:800;font-size:1rem;line-height:1.2}
.opt .o-p{font-size:.86rem;font-weight:600;color:var(--encre)}
.opt:hover{transform:translate(-2px,-2px)}
.opt:hover::before{transform:translate(6px,6px)}
.opt:has(input:checked){color:var(--creme);transform:translate(-2px,-3px) rotate(-1deg)}
.opt:has(input:checked)::after{background:var(--vert)}
.opt:has(input:checked)::before{background:var(--orange);transform:translate(7px,7px)}
.opt:has(input:checked) .o-p{color:var(--creme)}
.opt:has(input:checked) .dot{background:var(--orange);border-color:var(--creme);box-shadow:inset 0 0 0 3px var(--vert)}
.opt:has(input:focus-visible){outline:3px solid var(--brique);outline-offset:5px;border-radius:10px}
.opt.wide{grid-column:1/-1}
.est-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.est-hint{font-weight:700;color:var(--brique);min-height:1.4em;flex:1}
.est-res{position:relative;margin-top:16px;padding:16px 16px 18px;background:var(--vert);color:var(--creme);border-radius:10px;border:var(--bd) solid var(--nuit);box-shadow:6px 6px 0 var(--orange)}
.est-res p{color:var(--creme)}
.est-res .lab{font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.est-res .val{font:900 clamp(1.6rem,2.6vw,2.4rem)/1.02 var(--ff);font-stretch:74%;text-transform:uppercase;color:var(--orange);margin:6px 0 8px;font-variant-numeric:tabular-nums;min-height:1em;max-width:15ch}
.est-res .note{font-size:.92rem;max-width:40ch}
.est-res .note-tva{font-size:.8rem;margin-top:6px;opacity:.92}
.stamp{position:absolute;right:-12px;bottom:-30px;width:150px;color:var(--orange);transform:rotate(-8deg);pointer-events:none}
.stamp text{font-family:var(--ff)}
.r{display:none}
.est:not(:has([data-q="1"] input:checked)) .r-none{display:block}
.r-none{font-size:1.05rem!important;font-family:var(--ff)!important;text-transform:none!important;color:var(--creme)!important}
.est:has([data-q="1"] input[value="vitrine"]:checked) .r-vitrine,
.est:has([data-q="1"] input[value="outil"]:checked) .r-outil,
.est:has([data-q="1"] input[value="trouve"]:checked) .r-trouve,
.est:has([data-q="1"] input[value="reseau"]:checked) .r-reseau,
.est:has([data-q="1"] input[value="nsp"]:checked) .r-nsp{display:block}
.est-done-row{display:none;flex-wrap:wrap;gap:12px;margin-top:24px;align-items:center}
.est .out{display:none}
.est-continue{display:none}
.est-nojs{display:none;margin-top:14px;font-weight:700;color:var(--vert)}
html:not(.js) .est:has([data-q="1"] input:checked) .est-done-row{display:flex}
html:not(.js) .est:has([data-q="1"] input:checked) .est-nojs{display:block}
/* avec JS : etapes, puis la fourchette en Flip */
.js .est-continue{display:flex}
.js .est .est-res{display:none}
.js .est .r{display:none!important}
.js .est .out{display:block}
.js .est.is-done .est-res{display:block}
.js .est.is-done fieldset{display:none}
.js .est.is-done .est-continue{display:none}
.js .est.is-done .est-done-row{display:flex}
.est-form{margin-top:22px;padding-top:18px;border-top:2px dashed rgba(31,61,52,.3)}
.est-form[hidden]{display:none}
.est-form-t{font:900 1.4rem/1 var(--ff);font-stretch:76%;text-transform:uppercase;color:var(--vert);margin-bottom:12px}
.champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.champ{display:flex;flex-direction:column;gap:5px}
.champ--l{grid-column:1/-1}
.champ label{font-weight:800;font-size:.9rem;color:var(--vert)}
.champ input,.champ textarea{font:500 1rem/1.4 var(--ff);color:var(--encre);background:var(--creme);border:var(--bd) solid var(--vert);border-radius:8px;padding:10px 12px;min-height:48px;width:100%}
.champ input:focus-visible,.champ textarea:focus-visible{outline:3px solid var(--brique);outline-offset:2px;background:var(--blanc)}
.champ [aria-invalid="true"]{border-color:var(--brique);box-shadow:3px 3px 0 var(--brique)}
.pot{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.rgpd{font-size:.85rem;margin:12px 0 16px;color:var(--encre)}
.rgpd a{color:var(--vert);font-weight:700}
.form-etat{margin-top:14px;font-weight:700;color:var(--vert)}
.form-etat:empty{display:none}
.form-etat.ko{color:var(--brique)}
.form-etat .ctas{margin-top:12px}
.form-etat.ok{background:var(--pale);border:2px solid var(--vert);border-radius:8px;padding:12px 14px}
@media (max-width:520px){.champs{grid-template-columns:minmax(0,1fr)}}
@media (max-width:440px){.opts{grid-template-columns:minmax(0,1fr)}.opt.wide{grid-column:auto}.stamp{width:120px;bottom:-26px}.est-done-row .btn{flex:1 1 100%}}

/* ---------- Realisations : fiches ---------- */
.fiche{display:flex;flex-direction:column;overflow:hidden;padding:0}
.fiche .shot{margin:0;aspect-ratio:1200/634;border-bottom:var(--bd) solid var(--vert);overflow:hidden;background:var(--creme)}
.fiche .shot img{width:100%;height:100%;object-fit:cover;object-position:top center}
.fiche-b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px}
.fiche-k{font-weight:800;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brique)}
.fiche h3{font:900 1.7rem/.95 var(--ff);font-stretch:74%;text-transform:uppercase}
.fiche-lien{color:inherit;text-decoration:none}
.fiche-lien::after{content:"";position:absolute;inset:0;z-index:1}
.fiche:hover .fiche-lien,.fiche-lien:focus-visible{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:3px;text-underline-offset:4px}
.fiche dl{margin:4px 0 0;display:grid;gap:6px}
.fiche dl div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;font-size:.95rem;padding-top:6px;border-top:2px dashed rgba(31,61,52,.22)}
.fiche dt{font-weight:800;color:var(--vert)}
.fiche dd{margin:0}
.fiche .yr{align-self:flex-start;margin-top:4px;font-weight:800;font-size:.82rem;color:var(--creme);background:var(--vert);padding:3px 9px;border-radius:4px}
.fiches-grille{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 26px}
@media (max-width:1023px){.fiches-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.fiches-grille{grid-template-columns:minmax(0,1fr)}}
.capture{margin:0}
.capture img{width:100%;border:var(--bd) solid var(--vert);border-radius:10px;box-shadow:10px 10px 0 var(--orange);background:var(--blanc)}
.capture figcaption{margin-top:16px;font-weight:700;color:var(--vert)}
.faits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 0;padding:0}
.faits div{padding:14px 16px;background:var(--blanc);border:2px solid var(--vert);border-radius:8px;box-shadow:3px 3px 0 var(--vert)}
.faits dt{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--vert)}
.faits dd{margin:4px 0 0;font:900 1.25rem/1.1 var(--ff);font-stretch:80%;color:var(--encre)}
@media (max-width:767px){.faits{grid-template-columns:minmax(0,1fr)}}

/* ---------- Texte long (pages legales) ---------- */
.prose{max-width:780px}
.prose h2{font:900 clamp(1.5rem,2.6vw,2.1rem)/1 var(--ff);font-stretch:76%;text-transform:uppercase;color:var(--vert);margin:44px 0 14px;display:flex;align-items:center;gap:12px}
.prose h2 .num{flex:none;display:inline-grid;place-items:center;width:38px;height:38px;border:var(--bd) solid var(--vert);border-radius:50%;background:var(--blanc);box-shadow:3px 3px 0 var(--orange);font-size:1rem}
.prose h3{font-size:1.15rem;margin:22px 0 8px}
.prose p,.prose li{font-size:1.02rem;line-height:1.7}
.prose p{margin:0 0 12px}
.prose ul{margin:0 0 14px;padding-left:1.2rem}
.prose li{margin-bottom:5px}
.prose a{color:var(--vert);font-weight:700;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:3px}
.prose strong{color:var(--vert)}
.encart{background:var(--blanc);border:var(--bd) solid var(--vert);border-radius:10px;box-shadow:5px 5px 0 var(--orange);padding:14px 18px;margin:16px 0}
.encart--g{box-shadow:5px 5px 0 var(--vert)}
.table-wrap{overflow-x:auto;margin:14px 0 18px}
.prose table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.95rem;background:var(--blanc);border:var(--bd) solid var(--vert)}
@media (max-width:520px){.prose table{font-size:.85rem}.prose th,.prose td{padding:8px 7px}}
.prose th,.prose td{padding:10px 12px;border:2px solid rgba(31,61,52,.25);text-align:left;vertical-align:top}
.prose th{background:var(--vert);color:var(--creme);font-weight:800}
.version{font-weight:700;color:var(--vert);margin-top:14px}

/* ---------- Appel de fin (pages internes) ---------- */
.cta-fin{position:relative;padding:clamp(64px,8vw,110px) 0;overflow:hidden}
.cta-fin-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(28px,5vw,72px);align-items:center}
.cta-fin h2.xxl{font-size:clamp(3rem,10vw,9rem);color:var(--creme)}
.cta-fin p.say,.final p.say{font-size:1.2rem;max-width:46ch;margin-top:18px}
.coords{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:28px;font-weight:800;font-size:1.15rem}
.coords a{text-decoration-color:var(--orange);text-decoration-thickness:3px;text-underline-offset:5px}
.silver-fig--fin{max-width:260px;aspect-ratio:594/716;transform:rotate(3deg);box-shadow:10px 10px 0 var(--orange)}
@media (max-width:1023px){.cta-fin-grid{grid-template-columns:minmax(0,1fr)}.silver-fig--fin{max-width:170px}}

/* ---------- Pied de page ---------- */
.pied{background:var(--nuit);color:var(--creme);padding:48px 0 34px;font-size:.95rem}
.pied a{color:var(--creme)}
.pied-haut{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:32px}
.pied-logo{font:900 2rem/1 var(--ff);font-stretch:85%;letter-spacing:-.02em}
.pied-logo b{color:var(--orange)}
.pied-phrase{margin-top:10px;max-width:32ch;font-weight:600}
.pied-coords{margin-top:16px;font-weight:800;line-height:1.9}
.pied-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pied-titre{font-weight:900;font-stretch:80%;text-transform:uppercase;letter-spacing:.08em;color:var(--orange);margin-bottom:10px}
.pied ul{list-style:none;margin:0;padding:0}
.pied li{margin-bottom:8px}
.pied-cols a{text-decoration:none}
.pied-cols a:hover{text-decoration:underline;text-decoration-color:var(--orange)}
.pied-bas{margin-top:36px;padding-top:20px;border-top:1px solid rgba(242,242,237,.25);display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center;font-size:.85rem}
.pied-legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.pied-legal li{margin:0}
.pied-cookies{background:none;border:0;padding:0;font:inherit;color:var(--creme);text-decoration:underline;cursor:pointer}
@media (max-width:860px){.pied-haut{grid-template-columns:minmax(0,1fr)}.pied-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.pied-cols{grid-template-columns:minmax(0,1fr)}}

/* ---------- Bandeau cookies (couleurs 2026) ---------- */
.mfdy-cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:99999;display:flex;justify-content:center}
.mfdy-cookie[hidden]{display:none}
.mfdy-cookie__in{width:100%;max-width:860px;background:var(--vert);color:var(--creme);border:var(--bd) solid var(--nuit);border-radius:var(--r);padding:1.1rem 1.25rem;box-shadow:8px 8px 0 var(--orange);display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;font-family:var(--ff)}
.mfdy-cookie__t{flex:1 1 320px;margin:0;font-size:.92rem;line-height:1.55;color:var(--creme)}
.mfdy-cookie__t a{color:var(--creme);font-weight:700;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:3px}
.mfdy-cookie__a{display:flex;gap:.6rem;flex:0 0 auto}
.mfdy-cookie__b{font:800 .92rem/1 var(--ff);padding:.8rem 1.2rem;border-radius:8px;cursor:pointer;border:2px solid var(--creme);min-height:44px}
.mfdy-cookie__b:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.mfdy-cookie__b--n{background:transparent;color:var(--creme)}
.mfdy-cookie__b--y{background:var(--brique);color:#fff}
@media (max-width:1023px){.mfdy-cookie{bottom:84px}}
@media (max-width:560px){.mfdy-cookie__in{flex-direction:column;align-items:stretch}.mfdy-cookie__t{flex:1 1 auto}.mfdy-cookie__b{flex:1}}

/* ---------- Page /estimer/ et demo de l'outil ---------- */
.est-page-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:start}
.estim-page{padding-top:clamp(28px,4vw,56px)}
.estim-page h1.xxl{color:var(--creme)}
.silver-est{max-width:340px;aspect-ratio:876/716;margin-top:28px}
@media (max-width:1023px){.est-page-grid{grid-template-columns:minmax(0,1fr)}.silver-est{max-width:200px;margin-top:16px}}
.dark .grid-2>.est{align-self:start}
.dark .incl li{color:inherit}
.dark .case .incl li{color:var(--vert)}

/* ---------- 404 et merci ---------- */
.solo{padding:clamp(40px,6vw,96px) 0}
.solo-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,72px);align-items:center}
.solo .silver-fig{max-width:340px;margin-left:auto}
.solo .liens{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.solo .liens a{display:inline-block;padding:8px 14px;background:var(--blanc);border:2px solid var(--vert);border-radius:999px;font-weight:700;color:var(--vert);text-decoration:none;box-shadow:3px 3px 0 var(--orange)}
.solo .liens a:hover{background:var(--vert);color:var(--creme)}
@media (max-width:767px){.solo-grid{grid-template-columns:minmax(0,1fr)}.solo .silver-fig{max-width:200px;margin:0}}

/* etats initiaux, seulement avec l'animation */
html.js-anim [data-pop]{opacity:0}
html.js-anim .h-wait{visibility:hidden}

@media (prefers-reduced-motion:reduce){
  .btn,.opt,.btn::before,.opt::before,.faq summary::after,.mchk,.mchk svg{transition:none}
}

/* preuve de delai (tiree de data/realisations.json) */
.preuve{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:16px;padding:10px 14px;background:var(--blanc);border:2px solid var(--vert);border-left-width:8px;border-radius:8px;font-weight:700;color:var(--vert);max-width:56ch}
.preuve span{color:var(--encre)}

/* titres dans les cases : a l'echelle de la case */
.case h2.xxl,.bloc h2.xxl{font-size:clamp(1.7rem,2.8vw,2.5rem);line-height:.95}

/* ---------- Avis Google (accueil et realisations) : textes recopies de Google, HTML seulement ---------- */
.avis-tete{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 28px}
.avis-note{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.avis-chiffre{font:900 clamp(4rem,9vw,7rem)/.85 var(--ff);font-stretch:72%;color:var(--creme)}
.avis-note .etoiles{font-size:clamp(1.5rem,2.4vw,2rem);color:var(--orange)}
.avis-nb{font-weight:800;font-size:1.05rem;color:var(--creme)}
.etoiles{display:inline-block;letter-spacing:.08em;line-height:1;color:var(--brique)}
.avis-verif{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:.5em 1.05em;font-weight:800;font-size:.95rem;color:var(--vert);background:var(--creme);border:2px solid var(--nuit);border-radius:999px;box-shadow:4px 4px 0 var(--orange);text-decoration:none}
.avis-verif::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;background:var(--vert) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 6.5' fill='none' stroke='%23F2F2ED' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.avis-verif:hover{transform:translate(-1px,-2px)}
.avis-verif--clair{background:var(--blanc);border-color:var(--vert)}
.avis-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 28px;margin-top:34px;align-items:start}
.avis-grille .avis-carte:nth-child(even){margin-top:22px}
.avis-carte{margin:0;padding:24px 24px 20px;display:flex;flex-direction:column;gap:14px;color:var(--encre);min-width:0}
.avis-carte .etoiles{font-size:1.25rem}
.avis-texte{margin:0;font-size:1.05rem;line-height:1.6;font-weight:500}
.avis-texte p+p{margin-top:.6em}
.avis-carte figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;border-top:2px dashed rgba(31,61,52,.25);padding-top:12px}
.avis-carte figcaption b{font-weight:900;font-stretch:88%;font-size:1.05rem;color:var(--vert)}
.avis-carte figcaption span{font-size:.86rem;font-weight:600;color:#46504b}
.avis-carte figcaption .txt-link,.dark .avis-carte figcaption .txt-link{margin-left:auto;font-size:.9rem;color:var(--vert)}
.avis-client-in{max-width:900px}
.avis-client .avis-carte{margin-top:28px;max-width:760px}
.avis-client .avis-verif{margin-top:26px}
@media (max-width:767px){.avis-grille{grid-template-columns:minmax(0,1fr)}.avis-grille .avis-carte:nth-child(even){margin-top:0}.avis-carte figcaption .txt-link{margin-left:0}}

/* ---------- Langues (EN, RU, KA) ----------
   Archivo et Patrick Hand n'ont ni cyrillique ni georgien. Repli charge seulement sur ces pages (strings/<lang>.json, cle polices) :
   RU : Roboto Flex (meme famille de grotesque a axe de largeur, cyrillique complet) et Pangolin pour les bulles de Silver ;
   KA : Noto Sans Georgian (axe de largeur 62,5 a 100), aussi pour les bulles. Les lettres latines restent en Archivo. */
html[lang="ru"]{--ff:"Archivo","Roboto Flex",system-ui,sans-serif;--fh:"Patrick Hand","Pangolin",cursive}
html[lang="ka"]{--ff:"Archivo","Noto Sans Georgian",system-ui,sans-serif;--fh:"Patrick Hand","Noto Sans Georgian",sans-serif}
/* Mots russes et georgiens longs : titres un cran plus petits, cesure propre au lieu d'une coupure brute */
html[lang="ru"] .xxl,html[lang="ka"] .xxl{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
/* :where() garde la specificite de « h2.xxl » : les tailles propres a un contexte (.case, .bloc, .vitrine, .cta-fin) restent maitresses */
:where(html[lang="ru"]) h2.xxl{font-size:clamp(2.1rem,5.2vw,5.2rem)}
:where(html[lang="ru"]) h1.xxl{font-size:clamp(2.2rem,4.9vw,4.8rem)}
@media (max-width:520px){:where(html[lang="ru"]) h2.xxl{font-size:clamp(1.65rem,7.6vw,2.3rem)}:where(html[lang="ru"]) h1.xxl{font-size:clamp(1.85rem,8.6vw,2.6rem)}}
/* Georgien : pas de capitales (le mkhedruli n'en a pas), interligne plus haut pour les hampes, titres plus petits */
html[lang="ka"] body *{text-transform:none!important}
html[lang="ka"] .xxl,html[lang="ka"] .kick,html[lang="ka"] .tag,html[lang="ka"] .hero-prices span{letter-spacing:0}
html[lang="ka"] .xxl{line-height:1.12;font-stretch:80%}
:where(html[lang="ka"]) h2.xxl{font-size:clamp(1.9rem,4.4vw,4.3rem)}
:where(html[lang="ka"]) h1.xxl{font-size:clamp(2rem,4.2vw,4.1rem)}
@media (max-width:520px){:where(html[lang="ka"]) h2.xxl{font-size:clamp(1.5rem,6.8vw,2.1rem)}:where(html[lang="ka"]) h1.xxl{font-size:clamp(1.7rem,7.8vw,2.4rem)}}
:where(html[lang="ka"]) .cta-fin h2.xxl{font-size:clamp(2.4rem,7vw,6rem)}
html[lang="ka"] .est legend,html[lang="ka"] .faq summary{line-height:1.2}
html[lang="ka"] .big-price{font-size:clamp(2.2rem,4.2vw,3.8rem);line-height:1}
/* Pages legales russes : « Политика конфиденциальности » tient sur 360 px */
html[lang="ru"] .prose h1.xxl{font-size:clamp(1.5rem,6.8vw,3.2rem)}
/* Pages legales, tous langages : le titre d'un seul long mot (« Confidentialité ») ne depasse plus sa colonne au-dela de 1440 px */
@media (min-width:1024px){:where(html[lang="fr"],html[lang="en"]) .prose h1.xxl{font-size:clamp(2.6rem,4.4vw,4.6rem)}}
/* Etapes en 4 colonnes entre 1024 et 1365 px : « Сопровождать », « მხარდაჭერა » tiennent dans la colonne */
@media (min-width:1024px) and (max-width:1365px){html[lang="ru"] .step h3,html[lang="ka"] .step h3{font-size:1.28rem}html[lang="ru"] .etapes h3,html[lang="ka"] .etapes h3{font-size:1.25rem}html[lang="ka"] .step p{font-size:.95rem}}
/* Fiches realisations hors francais : intitule au-dessus de la valeur (« Delivered », « Сделано » et les mots russes longs) */
html:not([lang="fr"]) .fiche dl div{grid-template-columns:minmax(0,1fr);gap:0}
/* En-tete avec le selecteur de langue (01/10/2026) : les boutons gardent leur ligne (jamais ecrases en colonne).
   « Estimer » (secondaire, l'estimateur est partout dans les pages) : masque jusqu'a 1600 px en francais, toujours ailleurs.
   1024 a 1279 px : deux rangees, comme sous 1024 mais le bouton d'appel reste dans la barre. */
.nav .btn{flex:none;white-space:nowrap}
@media (min-width:1601px){.nav-in{gap:10px}.langs a{padding:6px 4px}}
@media (max-width:1600px){.nav .nav-est{display:none}}
html:not([lang="fr"]) .nav .nav-est{display:none}
@media (min-width:1024px) and (max-width:1279px){
  .nav-in{flex-wrap:wrap;gap:4px 14px;padding-top:10px}
  .nav-nav{order:3;width:100%;margin:0}
  .nav-links{overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
  .nav-links::-webkit-scrollbar{display:none}
  .langs{margin-left:auto}
}
@media (min-width:1280px){html[lang="ru"] .nav-links a,html[lang="ka"] .nav-links a{padding:8px 5px;font-size:.86rem}html[lang="ru"] .nav .btn,html[lang="ka"] .nav .btn{font-size:.84rem;padding:.5em .85em}}
/* Journal en francais : la mention, en petit sous le libelle dans le menu, a la suite dans le pied */
.nav-note{font-size:.78em;font-weight:600;opacity:.85}
.nav-links .nav-note{display:block;font-size:.66rem;line-height:1;margin-top:1px}
/* Avis Google gardes en francais : la mention */
.avis-langue{margin-top:14px;font-size:.9rem;font-weight:600;font-style:italic;color:var(--creme);opacity:.9}
.avis-client .avis-langue{color:var(--encre)}
/* Accueil RU et KA : titre d'ouverture et « Обсудим? / ვისაუბროთ? » final un cran plus petits (mots plus longs) */
html[lang="ru"] .hero h1,html[lang="ka"] .hero h1{font-size:clamp(2.4rem,4.4vw,4.6rem)}
@media (max-width:767px){html[lang="ru"] .hero h1{font-size:clamp(1.9rem,8.8vw,3rem)}html[lang="ka"] .hero h1{font-size:clamp(1.7rem,7.8vw,2.6rem)}}
html[lang="ka"] .boom-h,html[lang="ka"] .boom-stack span,html[lang="ka"] h2.boom-h{font-size:clamp(2.6rem,11vw,11rem)}
/* Fiches de realisation russes : « сопровождение », « диджейского » dans les trois cases entre 768 et 1279 px */
@media (min-width:768px) and (max-width:1279px){html[lang="ru"] .faits dd{font-size:1rem}}
/* Estimateur en demi-colonne a 768 px : « Готовый инструмент » */
@media (min-width:768px) and (max-width:1023px){html[lang="ru"] .opt .o-t{font-size:.94rem}}
