:root{

  --ink:#1f2d2c;
  --ink-2:#15241f;
  --azure:#c8a749;
  --azure-hover:#3c6d56;
  --ice:#efe8dd;
  --ice-50:#e7dfd4;
  --page:#f7f5ed;
  --surface:#fdfffd;
  --foreground:#1f2d2c;
  --foreground-2:#384d47;
  --subtle:#6e7976;
  --edge:#e7dfd4;
  --edge-2:#dad1c4;
  --azure-50:#e6eeea;
  --go:#517a65; --go-surface:#e7f0e9; --go-edge:#cee1d4;
  --red:#a84729;   --red-surface:#f2e0da;   --red-edge:#e5c3b4;
  --star:#c8a749;

  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-6:24px;
  --s-8:32px; --s-10:40px; --s-12:48px; --s-16:64px;

  --r-sm:10px; --r-md:14px; --r-lg:18px; --r-xl:24px; --r-2xl:30px; --r-pill:999px;

  --elev-sm:0 2px 10px rgba(31,45,44,.05);
  --elev-md:0 12px 34px rgba(31,45,44,.1);
  --elev-lg:0 24px 60px rgba(31,45,44,.17);

  --font:'Helvetica Neue',Helvetica,Arial,system-ui,'Segoe UI',sans-serif;
  --font-display:Georgia,'Iowan Old Style','Times New Roman',serif;
  --display-serif:Georgia,'Iowan Old Style','Times New Roman',serif;
  --container:1200px;
  --gutter:clamp(16px,4vw,44px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;-webkit-text-size-adjust:100%;scrollbar-gutter:stable;scroll-padding-top:76px}
body{margin:0;font-family:var(--font);background:var(--page);color:var(--foreground);
  overflow-x:hidden;font-size:16.5px;line-height:1.62;-webkit-font-smoothing:antialiased}
img{width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
h1,h2{font-family:var(--font-display);line-height:1.08;letter-spacing:-.015em;margin:0;font-weight:450;font-optical-sizing:auto}
h3{margin:0;letter-spacing:-.005em;font-family:var(--font);font-weight:700;line-height:1.25}
::selection{color:var(--ink);background:var(--azure)}
:focus-visible{outline:3px solid var(--azure-hover);border-radius:4px;outline-offset:2px}
.endroit-boite{background:var(--ice);border-radius:var(--r-xl);box-shadow:var(--elev-md);border:1px solid var(--edge);
  position:relative;overflow:hidden;aspect-ratio:4/3}
.endroit-boite iframe{border:0;position:absolute;height:100%;inset:0;display:block;width:100%}
.endroit-boite.charge .endroit-vide{display:none}
.endroit-differe{cursor:pointer}
.endroit-vide{height:100%;color:var(--foreground);align-items:center;padding:24px;flex-direction:column;background:linear-gradient(135deg,#efe9db,#e5ddcb);
  display:flex;position:absolute;font-weight:700;inset:0;text-align:center;font-size:17px;
  border:0;width:100%;gap:14px;cursor:pointer;justify-content:center}
.endroit-balise{box-shadow:var(--elev-md);border-radius:50% 50% 50% 4px;background:var(--ink);width:56px;transform:rotate(-45deg);place-items:center;
  display:grid;height:56px}
.endroit-balise::after{width:16px;border-radius:50%;background:var(--azure);content:"";height:16px}
.endroit-vide p{font-size:14px;color:var(--foreground-2);margin:0;max-width:260px;font-weight:500}
.tetes{display:flex}
.confiance-precision{font-size:13px;color:var(--foreground-2)}
.confiance-precision strong{font-family:var(--font-display);font-weight:500;font-size:16px;color:var(--foreground)}
.confiance-a{color:var(--foreground-2)}
.balise svg,.societe-lieu svg{height:16px;width:16px}
.atout{padding:13px 15px;background:rgba(253,255,253,.08);display:flex;gap:11px;font-weight:500;font-size:15px;
  border:1px solid rgba(253,255,253,.17);backdrop-filter:blur(6px);align-items:center;color:#fdfffd;border-radius:14px}
.atout i{height:24px;font-style:normal;place-items:center;font-size:13px;display:grid;border-radius:50%;
  font-weight:800;flex:none;color:var(--ink);background:var(--azure);width:24px}
.ok-liste{padding:0;display:grid;margin:0;list-style:none;gap:10px}
.ok-liste li{color:var(--foreground-2);gap:10px;display:flex;align-items:center;font-size:14.5px}
.ok-liste li::before{content:"\2713";color:var(--azure-hover);flex:none;font-weight:800;font-size:13px}
.barre-a{font-weight:600;padding-block:6px;transition:color .18s;position:relative;font-size:15px;color:var(--foreground-2)}.barre-a::after{position:absolute;transform:scaleX(0);background:var(--azure-hover);content:"";transition:transform .22s ease;height:2px;left:0;transform-origin:left;bottom:-2px;width:100%}
.barre-a:hover{color:var(--azure-hover)}.barre-a:hover::after{transform:scaleX(1)}
.chapo{font-size:clamp(16px,2vw,19px);color:var(--foreground-2)}
.score-index{font-family:var(--font-display);color:var(--ink);line-height:1;
  font-weight:450;font-optical-sizing:auto;font-size:clamp(36px,5vw,56px);letter-spacing:-.02em}
.score-ligne{font-size:15px;color:var(--foreground-2);margin-top:10px}
.brillants .brillant{opacity:.28}.brillants .brillant.allume{opacity:1}

.action{white-space:nowrap;align-items:center;transition:background .18s,color .18s,transform .18s,box-shadow .18s;font-weight:650;
  border-radius:var(--r-pill);border:1px solid transparent;padding:15px 26px;
  justify-content:center;gap:10px;display:inline-flex;font-size:15.5px;
  cursor:pointer;min-height:54px}
.action svg{width:18px;height:18px}
.action:hover{transform:translateY(-2px)}
.action-mini{font-size:14px;padding:10px 18px;min-height:0}
.action-large{min-height:60px;font-size:16.5px;padding:18px 32px}
.action-etire{width:100%}
.action-principal{box-shadow:0 10px 24px rgba(60,109,86,.26);background:var(--azure-hover);color:#fdfffd}
.action-principal:hover{color:#fdfffd;box-shadow:0 16px 32px rgba(60,109,86,.32);background:#2e4f40}
.action-surligne{box-shadow:0 10px 24px rgba(60,109,86,.32);background:var(--azure-hover);color:#fdfffd}
.action-surligne:hover{background:#2e4f40;color:#fdfffd}
.action-secondaire{color:var(--foreground);border-color:var(--edge);background:var(--surface)}
.action-secondaire:hover{background:var(--ice)}
.action-fonce{background:var(--ink);color:#fdfffd}
.action-fonce:hover{background:var(--ink-2)}
.action-pale{color:var(--ink);background:var(--surface)}
.action-pale:hover{background:var(--ice)}
.pagination-action{border-radius:50%;height:52px;font-size:20px;cursor:pointer;background:var(--surface);
  color:var(--foreground);box-shadow:var(--elev-sm);display:grid;place-items:center;width:52px;border:1px solid var(--edge)}
.pagination-action:hover{background:var(--ink);border-color:var(--ink);color:#fdfffd}
.pagination-action svg{width:20px;height:20px}
.statut{border-radius:var(--r-pill);align-items:center;flex:none;padding:5px 11px;border:1px solid transparent;
  display:inline-flex;font-weight:700;font-size:12px;gap:6px}
.statut .disque{line-height:1;font-size:10px}
.statut-visible{color:var(--go);background:var(--go-surface);border-color:var(--go-edge)}
.statut-inactif{border-color:var(--red-edge);background:var(--red-surface);color:var(--red)}
.presta-boite{padding:32px;transition:transform .2s,box-shadow .2s;display:flex;
  background:var(--surface);flex-direction:column;gap:16px;box-shadow:var(--elev-sm);border:1px solid var(--edge);
  border-radius:var(--r-xl)}
.presta-boite:hover{transform:translateY(-4px);box-shadow:var(--elev-md)}
.presta-boite .ic-carre{background:var(--azure-50);width:56px;height:56px;border-radius:16px}
.presta-boite .ic-carre svg{height:26px;width:26px}
.presta-boite h3{font-size:21px}
.presta-boite>p{margin:0;color:var(--foreground-2);flex:1;font-size:15.5px}
.presta-boite-vedette{background:var(--ink);background-image:radial-gradient(circle at 88% 12%,rgba(200,167,73,.35),transparent 46%),repeating-linear-gradient(135deg,rgba(253,255,253,.03) 0 14px,transparent 14px 28px);color:#fdfffd;border-color:var(--ink)}
.presta-boite-vedette h3{font-family:var(--font-display);color:#fdfffd;font-weight:450;font-size:26px;letter-spacing:-.015em}
.presta-boite-vedette>p{color:rgba(245,240,230,.8)}
.presta-boite-vedette .ic-carre{background:rgba(191,92,61,.2);color:var(--azure)}
.reference-rail{overflow-x:auto;gap:20px;scroll-snap-type:x mandatory;padding-bottom:8px;
  scrollbar-width:none;display:flex}
.reference-rail::-webkit-scrollbar{display:none}
.reference-element{flex:0 0 clamp(280px,42%,440px);background:var(--ice);overflow:hidden;
  scroll-snap-align:start;margin:0;position:relative;border-radius:var(--r-xl);
  box-shadow:var(--elev-md);border:1px solid var(--edge)}
.reference-element .vue{object-fit:cover;width:100%;aspect-ratio:4/3}
.reference-element figcaption{color:#fdfffd;position:absolute;left:0;padding:26px 18px 16px;background:linear-gradient(180deg,transparent,rgba(19,14,14,.8));
  right:0;font-weight:600;bottom:0;font-size:15px}
.bloc{padding-block:clamp(52px,7.5vw,100px)}
.bloc-inv{background:var(--surface)}
.surligne{font-family:var(--display-serif);font-style:italic;color:var(--azure-hover);font-weight:400}

.etapes-blocs{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ic-carre{width:48px;border-radius:14px;height:48px;flex:none;color:var(--azure-hover);
  background:var(--azure-50);place-items:center;display:grid}
.ic-carre svg{width:23px;height:23px}
.type{color:var(--foreground-2);margin-top:-3px;font-size:13px}
.signature{align-items:center;font-family:var(--font-display);letter-spacing:-.015em;
  gap:12px;font-weight:500;color:var(--foreground);display:inline-flex;font-size:22px}
.signature-marque{width:42px;position:relative;place-items:center;flex:none;
  border-radius:13px;box-shadow:0 8px 18px rgba(60,109,86,.25);display:inline-grid;background:linear-gradient(150deg,var(--azure-hover),var(--azure));height:42px}
.signature-marque::after{height:15px;width:15px;background:#fdfffd;content:"";
  transform:rotate(-45deg);border-radius:50% 50% 50% 4px}
.confiance-niveau{padding-left:26px;display:flex;align-items:center;gap:14px;border-left:1px solid var(--edge)}
.volet-petit{top:0;background:var(--surface);overflow-y:auto;width:min(320px,86vw);flex-direction:column;padding:84px 22px 22px;
  right:0;transform:translateX(100%);box-shadow:var(--elev-lg);
  z-index:1100;position:fixed;
  display:flex;
  height:100%;visibility:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),visibility .3s}
.volet-petit.ouvert{transform:translateX(0);visibility:visible}
.volet-petit nav{display:flex;flex-direction:column}
.volet-petit a:not(.action){padding:15px 2px;border-bottom:1px solid var(--edge);font-weight:600;font-size:16px;color:var(--foreground)}
.volet-petit a:not(.action):hover{color:var(--azure-hover)}
.volet-petit a.action{justify-content:center;margin-top:var(--s-6)}
.niveau{flex-wrap:wrap;gap:8px;display:flex;align-items:center}
.niveau .index{font-weight:700;font-size:14px}
.niveau .nb{font-size:13px;color:var(--subtle)}

.reference-tete{flex-wrap:wrap;justify-content:space-between;display:flex;align-items:flex-end;
  margin-bottom:36px;gap:16px}
.reference-tete .ttl{margin-top:14px}
.reference-pagination{display:flex;gap:10px}
.statut-etiquette::before{border-radius:50%;background:var(--azure);width:9px;height:9px;content:""}
.niveau{gap:6px;display:flex;align-items:center}
.demarrer-a{color:#fdfffd;gap:10px;font-weight:650;align-items:center;font-size:16px;display:inline-flex}
.demarrer-a:hover{color:var(--azure)}
.demarrer-a .demarrer{border-radius:50%;justify-content:center;width:46px;display:inline-flex;
  height:46px;align-items:center;border:1px solid rgba(253,255,253,.32);transition:background .18s,transform .18s;
  background:rgba(253,255,253,.15)}
.demarrer-a:hover .demarrer{background:rgba(253,255,253,.25);transform:scale(1.06)}
.demarrer-a .demarrer::after{border-left:10px solid #fdfffd;width:0;border-top:7px solid transparent;margin-left:3px;
  border-bottom:7px solid transparent;content:"";height:0}
.ttl{font-family:var(--font-display);font-weight:450;font-optical-sizing:auto;
  letter-spacing:-.015em;font-size:clamp(28px,4.2vw,48px);margin:0;line-height:1.08}

.enveloppe{padding-inline:var(--gutter);margin:0 auto;max-width:var(--container)}
.mise-avant-atouts{padding:0;max-width:520px;grid-template-columns:1fr 1fr;gap:12px;margin-top:38px;
  list-style:none;display:grid}
.principal-barre{gap:28px;align-items:center;margin-left:auto;display:flex}
.principal-barre .action{margin-left:8px}

.actu{align-items:center;display:grid;gap:clamp(32px,5vw,60px);grid-template-columns:1fr 1fr}
.actu-ligne .ttl{margin-top:16px}
.actu-ligne>p{font-size:17px;margin:18px 0 0;color:var(--foreground-2)}
.actu-soustitre{margin-top:16px}

.scores-blocs{gap:24px;text-align:center;display:grid;grid-template-columns:repeat(4,1fr)}
.valeurs-liste{gap:13px;display:grid;padding:0;margin:26px 0 0;list-style:none}
.valeurs-liste li{font-weight:500;align-items:flex-start;gap:12px;display:flex}
.valeurs-liste li::before{margin-top:2px;height:22px;border-radius:7px;background:var(--azure-hover);width:22px;content:"\2713";
  font-size:12px;display:grid;font-weight:800;flex:none;color:#fdfffd;place-items:center}
.exergue{font-weight:700;display:inline-flex;align-items:center;
  font-size:12.5px;color:var(--azure-hover);text-transform:uppercase;
  gap:9px;letter-spacing:.14em}
.exergue::before{flex:none;height:8px;width:8px;border-radius:50%;
  background:var(--azure-hover);content:""}
.societe-lieu{gap:8px;color:var(--foreground-2);display:flex;font-size:14px;align-items:flex-start}
.societe-lieu .balise{flex:none;margin-top:2px}
.section-tete{max-width:680px;margin:0 auto clamp(32px,5vw,52px);text-align:center}
.section-tete .ttl{margin-top:14px}
.section-tete .chapo{margin-top:16px}
.presta-boite-vedette .ok-liste li::before{color:var(--azure)}
.presta-boite-vedette .ok-liste li{color:rgba(245,240,230,.8)}
.saisie{background:var(--surface);width:100%;font-size:15.5px;border:1px solid var(--edge-2);
  font-family:inherit;padding:14px 15px;border-radius:14px;color:var(--foreground)}
.saisie:focus{border-color:var(--azure-hover);box-shadow:0 0 0 3px rgba(60,109,86,.19);outline:none}
.tete{width:38px;border-radius:50%;object-fit:cover;border:2px solid var(--surface);height:38px;background:var(--ice)}
.tete+.tete{margin-left:-12px}
.tete-suite{display:grid;color:#fdfffd;font-size:12px;border:2px solid var(--surface);
  margin-left:-12px;width:38px;background:var(--ink);font-weight:700;height:38px;border-radius:50%;place-items:center}

.mise-avant .surligne{color:var(--azure)}

.estimation-boite{background:var(--surface);box-shadow:var(--elev-lg);color:var(--foreground);
  border-radius:var(--r-xl);border:1px solid var(--edge);padding:30px}
.estimation-boite .ttl{margin:12px 0 4px;font-size:27px}
.estimation-boite .soustitre{margin:0 0 20px;font-size:15px;color:var(--foreground-2)}
.estimation-boite .exergue{color:var(--azure-hover)}
.estimation-vue{min-height:520px;width:100%;background:var(--ice);border:0;border-radius:var(--r-md)}
.mise-avant-nom{letter-spacing:-.025em;text-shadow:0 2px 30px rgba(19,14,14,.42);line-height:1.02;font-family:var(--font-display);
  color:#fdfffd;margin-top:22px;font-weight:450;font-optical-sizing:auto;
  font-size:clamp(40px,6.2vw,70px)}
.mise-avant-chapo{margin-top:22px;color:rgba(245,240,230,.93);font-size:clamp(16px,2.1vw,20px);max-width:520px}
.mise-avant-actions{flex-wrap:wrap;margin-top:30px;align-items:center;display:flex;gap:16px}

.confiance-ligne{box-shadow:var(--elev-lg);border-radius:var(--r-xl);background:var(--surface);gap:26px;
  margin-top:-96px;display:grid;align-items:center;
  grid-template-columns:repeat(3,1fr) auto;position:relative;padding:28px 30px;z-index:10;border:1px solid var(--edge)}
.confiance-element{gap:15px;align-items:flex-start;display:flex}
.confiance-element>div>strong{font-weight:700;display:block;line-height:1.25;font-size:16px}
.confiance-element>div>span{margin-top:3px;color:var(--foreground-2);font-size:14px;display:block}

.ecran-mise-avant{color:#fdfffd;background:var(--ink);
  background-image:linear-gradient(rgba(31,45,44,.8),rgba(31,45,44,.92)),var(--hero-img,linear-gradient(120deg,var(--ink-2),var(--ink)));
  background-size:cover;background-position:center;position:relative}
.ecran-mise-avant .enveloppe{padding-block:clamp(88px,9vw,110px) clamp(40px,6vw,64px)}
.ecran-mise-avant h1{font-family:var(--font-display);font-size:clamp(32px,4.5vw,48px);font-weight:450;margin:8px 0;letter-spacing:-.015em;font-optical-sizing:auto}
.ecran-mise-avant .enveloppe>p{max-width:640px;font-size:17.5px;color:rgba(245,240,230,.87)}
.ecran-mise-avant-demande .enveloppe{padding-bottom:clamp(48px,7vw,72px)}
.ecran-mise-avant-demande .mise-avant-blocs{margin-top:var(--s-4)}
.societe-boite{gap:16px;box-shadow:var(--elev-sm);transition:box-shadow .2s,transform .2s;background:var(--surface);
  padding:20px;display:flex;border:1px solid var(--edge);align-items:flex-start;
  border-radius:var(--r-lg)}
.societe-boite:hover{box-shadow:var(--elev-md);transform:translateY(-3px)}
.societe-marque{width:60px;font-family:var(--font-display);overflow:hidden;height:60px;font-weight:600;flex:none;color:#fdfffd;
  position:relative;line-height:1;display:grid;
  border-radius:16px;background:linear-gradient(150deg,var(--ink),var(--azure-hover));place-items:center;font-size:22px}
.societe-marque::after{content:"";position:absolute;background:linear-gradient(150deg,rgba(253,255,253,.25),transparent 62%);inset:0}
.societe-ref{gap:8px;display:flex;flex:1;min-width:0;flex-direction:column}
.societe-tete{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}
.societe-tete h3{font-size:17px;line-height:1.25}
.barre-calque{inset:0;position:fixed;opacity:0;transition:opacity .25s,visibility .25s;z-index:1090;background:rgba(31,45,44,.52);visibility:hidden}
.barre-calque.ouvert{visibility:visible;opacity:1}

.societes-blocs{gap:18px;grid-template-columns:repeat(2,1fr);display:grid}
.parcours{align-items:center;list-style:none;font-size:13px;margin:0;flex-wrap:wrap;color:rgba(245,240,230,.77);display:flex;padding:12px 0 24px}
.parcours li+li::before{margin-inline:6px;opacity:.6;content:"\203A"}
.parcours a{color:rgba(245,240,230,.77)}
.parcours a:hover{color:#fdfffd}
.parcours li:last-child{font-weight:600;color:#fdfffd}

.encart-zone{text-align:center;padding:clamp(44px,6vw,76px);
  position:relative;overflow:hidden;border-radius:var(--r-2xl);background:linear-gradient(120deg,var(--ink),var(--ink-2))}
.encart-forme{position:absolute;width:240px;border-radius:50%;top:-40px;background:radial-gradient(circle,rgba(199,163,77,.3),transparent 70%);height:240px;
  right:-40px;pointer-events:none}
.encart-ligne{position:relative;max-width:640px;margin:0 auto}
.encart-ligne .ttl{color:#fdfffd}
.encart-ligne p{margin:18px 0 32px;font-size:18px;color:rgba(245,240,230,.8)}
.encart-ligne .action{margin-top:0}

.menu-bouton{cursor:pointer;z-index:1105;gap:5px;position:fixed;padding:6px;display:none;background:none;top:16px;border:none;right:18px;flex-direction:column}
.menu-bouton span{width:26px;border-radius:2px;transition:transform .3s ease,opacity .3s ease;background:var(--foreground);display:block;height:3px}
.menu-bouton.ouvert span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.menu-bouton.ouvert span:nth-child(2){opacity:0}
.menu-bouton.ouvert span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
.etape-boite{position:relative;padding:30px 28px;border:1px solid var(--edge);box-shadow:var(--elev-sm);
  border-radius:var(--r-xl);background:var(--surface)}
.etape-boite:not(:last-child)::after{z-index:1;width:30px;height:2px;content:"";right:-15px;background:var(--edge-2);position:absolute;top:56px}
.etape-index{color:var(--azure-hover);background:var(--azure-50);width:56px;border-radius:16px;
  place-items:center;font-family:var(--font-display);margin-bottom:20px;height:56px;font-weight:500;font-size:20px;display:grid}
.etape-nom{font-family:var(--font);font-weight:700;margin:0 0 8px;font-size:19px}
.etape-ligne{margin:0;font-size:14.5px;color:var(--foreground-2)}
.brillants{color:var(--star);display:inline-flex;gap:2px}
.brillants svg,.brillant{height:16px;width:16px;fill:var(--star)}

.prestas-blocs{display:grid;gap:22px;grid-template-columns:repeat(3,1fr)}

.infos{display:grid;gap:clamp(20px,3vw,28px)}

.principal-top{border-bottom:1px solid var(--edge);background:rgba(247,245,237,.87);backdrop-filter:blur(14px);position:fixed;top:0;
  z-index:100;left:0;
  right:0}
.principal-top-interieur{align-items:center;gap:24px;display:flex;padding-block:14px}

.mise-avant{background:var(--ink);background-image:linear-gradient(100deg,rgba(31,45,44,.93),rgba(31,45,44,.71) 45%,rgba(31,45,44,.42) 82%),var(--hero-img,linear-gradient(120deg,#2e4f40,#1f2d2c));
  position:relative;
  background-size:cover;background-position:center;color:#fdfffd}
.mise-avant-interieur{padding-block:clamp(88px,11vw,120px) clamp(120px,16vw,190px)}
.mise-avant-blocs{gap:48px;grid-template-columns:1.1fr .9fr;display:grid;align-items:center}
.mise-avant-ligne{max-width:640px}
.mise-avant .exergue,.statut-etiquette{border-radius:var(--r-pill);font-weight:650;color:#fdfffd;backdrop-filter:blur(6px);
  gap:8px;padding:8px 15px;font-size:12.5px;
  text-transform:uppercase;letter-spacing:.06em;align-items:center;border:1px solid rgba(253,255,253,.26);background:rgba(253,255,253,.12);box-shadow:none;display:inline-flex}
@media(min-width:1024px){.infos{grid-template-columns:1.05fr .95fr;gap:32px;align-items:start}}
.fait{gap:12px;padding:15px 16px;border:1px solid var(--edge);border-radius:var(--r-md);background:var(--surface);
  align-items:center;display:flex}
.fait-ic{place-items:center;flex:none;color:var(--azure-hover);border-radius:12px;background:var(--azure-50);display:grid;width:42px;height:42px}
.fait-ic svg{width:20px;height:20px}
.fait-ligne dt{color:var(--subtle);font-size:12.5px;margin-bottom:3px}
.fait-ligne dd{font-weight:700;line-height:1.15;font-size:16px;margin:0}
.fin-blocs{grid-template-columns:1.5fr 1fr 1fr 1.1fr;display:grid;gap:34px}
.fin-signature{font-family:var(--font-display);gap:12px;display:inline-flex;align-items:center;
  color:#fdfffd;font-weight:500;font-size:21px}
.fin-signature .signature-marque{background:linear-gradient(150deg,var(--azure),var(--azure-hover))}
.fin-signature .signature-marque::after{background:var(--ink)}
.fin-partie>p{color:rgba(245,240,230,.7);margin:14px 0 0;font-size:14.5px}
.fin-nom{font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:#fdfffd;font-family:var(--font);margin-bottom:16px}
.fin-liste{margin:0;display:grid;gap:11px;padding:0;list-style:none}
.fin-liste a{color:rgba(245,240,230,.77);font-size:14.5px}
.fin-liste a:hover{color:var(--azure)}
.fin-partie .action{margin-top:14px}

.principal-fin .action-principal{background:var(--azure);color:var(--ink)}
.principal-fin .action-principal:hover{color:var(--ink);background:var(--ice)}
.copyright{margin-top:38px;font-size:13px;color:rgba(245,240,230,.71);
  border-top:1px solid rgba(253,255,253,.15);text-align:center;padding-top:22px}
.creneau{gap:16px;justify-content:space-between;max-width:320px;display:flex}
.creneau strong{font-weight:600;color:var(--foreground)}

.environs{gap:32px;display:flex;flex-direction:column}
.environs-groupe h2{margin-bottom:14px;font-size:21px}
.environs-liste{flex-wrap:wrap;display:flex;gap:8px 18px}
.environs-liste a{text-decoration:underline}
.infos-faits{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0}

.principal-fin{background:var(--ink);color:rgba(245,240,230,.75);padding-block:clamp(52px,6vw,76px) 28px}
.ouverture{padding-left:28px;gap:5px;display:grid;font-size:14px;color:var(--foreground-2)}
.mairie-ligne{align-items:flex-start;margin:0;gap:10px;display:flex;font-size:15px;color:var(--foreground-2)}
.mairie-ligne a{color:var(--azure-hover);font-weight:600}
.mairie-ligne .balise{color:var(--subtle);flex:none;margin-top:1px}
.mairie-ligne svg{height:18px;width:18px}
.infos-mairie{background:var(--surface);border:1px solid var(--edge);padding:24px;
  display:grid;align-content:start;border-radius:var(--r-lg);gap:12px}
.infos-mairie h3{margin:0 0 2px;font-size:18px}

.onglet-encart{right:20px;transition:transform .3s,opacity .3s;box-shadow:var(--elev-lg);padding:22px 24px;border:1px solid var(--edge);
  background:var(--surface);width:min(330px,calc(100vw - 40px));position:fixed;
  bottom:20px;border-radius:var(--r-lg);z-index:90}
.onglet-encart[hidden]{display:none}
.onglet-encart::after{position:absolute;animation:floatPulse 2.4s infinite;pointer-events:none;inset:0;border-radius:inherit;content:""}
.onglet-quitter{position:absolute;line-height:1;border:0;background:none;font-size:20px;top:10px;
  cursor:pointer;color:var(--subtle);right:12px}
.onglet-nom{margin:0 26px 6px 0;font-weight:700;font-size:16.5px;font-family:var(--font-display);font-weight:500}
.onglet-ligne{font-size:14px;margin:0 0 14px;color:var(--foreground-2)}
.onglet-ouvrir{z-index:89;height:62px;align-items:center;color:var(--azure);display:none;
  right:20px;cursor:pointer;
  position:fixed;box-shadow:var(--elev-lg);bottom:20px;width:62px;justify-content:center;background:var(--ink);border-radius:50% 50% 50% 8px;
  border:0;animation:floatPulse 2.4s infinite}
.onglet-ouvrir svg{display:block;height:27px;width:27px}
.onglet-ouvrir:hover{transform:scale(1.05);animation-play-state:paused}
@keyframes floatPulse{0%,100%{box-shadow:0 0 0 0 rgba(60,109,86,.46)}50%{box-shadow:0 0 0 12px rgba(60,109,86,0)}}

.actu-bloc h1{font-family:var(--font-display);font-weight:450;font-size:clamp(29px,4vw,42px);margin-bottom:16px;letter-spacing:-.015em}
.actu-bloc h2{font-family:var(--font-display);margin:32px 0 12px;font-weight:450;letter-spacing:-.015em;font-size:clamp(21px,2.6vw,27px)}
.actu-bloc p,.actu-bloc li{color:var(--foreground-2)}
.actu-bloc ul{padding-left:20px}
.actu-bloc .planning-enveloppe{margin:18px 0;overflow-x:auto}
.actu-bloc table{border-collapse:collapse;width:100%;font-size:15px}
.actu-bloc th,.actu-bloc td{padding:12px 14px;border:1px solid var(--edge);text-align:left}
.actu-bloc thead th{font-weight:700;background:var(--ice)}
.questions-element{overflow:hidden;border:1px solid var(--edge);border-radius:var(--r-md);background:var(--surface);margin-bottom:12px}
.questions-element summary{font-weight:650;justify-content:space-between;gap:16px;align-items:center;
  font-size:16.5px;cursor:pointer;display:flex;padding:20px 24px;list-style:none}
.questions-element summary::-webkit-details-marker{display:none}
.questions-element summary::after{font-size:24px;content:"+";font-weight:400;color:var(--azure-hover)}
.questions-element[open] summary::after{content:"\2013"}
.questions-reponse{overflow:hidden;transition:height .36s cubic-bezier(.4,0,.2,1)}
.questions-reponse-interieur{color:var(--foreground-2);padding:0 24px 20px}

.principal-actu{display:flex;flex-direction:column}
.principal-actu .actu-bloc{order:1}
.principal-actu .actu-questions{order:2}

.riche{margin:0 auto;max-width:760px}
.riche h2{font-family:var(--font-display);font-weight:450;font-size:clamp(23px,3vw,31px);letter-spacing:-.015em;margin:34px 0 12px}
.riche p{margin:14px 0;color:var(--foreground-2)}
.riche ul{padding-left:20px;color:var(--foreground-2)}
.riche a:not(.action){text-decoration:underline;color:var(--azure-hover)}

.parcourir-demande{flex-wrap:wrap;display:flex;max-width:520px;gap:12px}
.parcourir-demande .saisie{flex:1;min-width:200px}
.parcourir-nb{margin:20px 0;color:var(--foreground-2)}
.planning-precision{color:var(--subtle);font-size:13px;font-style:italic}
.demande{max-width:620px;gap:16px;display:grid}
.demande-element{display:grid;gap:6px}
.demande-element label{font-weight:600;font-size:14px}
.demande-element textarea.saisie{min-height:150px;resize:vertical}
.demande-precision{font-size:14px;padding:14px 16px;border-radius:var(--r-md)}
.demande-precision-allume{background:var(--go-surface);border:1px solid var(--go-edge);color:var(--go)}
.demande-precision-inactif{border:1px solid var(--red-edge);background:var(--red-surface);color:var(--red)}

.actu-questions{margin:0 auto;width:100%;max-width:820px}
.actu-questions h2,.actu-questions .ttl{margin:0 0 26px;text-align:center}

@media(max-width:1023px){
  .prestas-blocs,.societes-blocs,.etapes-blocs,.scores-blocs{grid-template-columns:repeat(2,1fr)}
  .fin-blocs{grid-template-columns:1fr 1fr}
  .etape-boite:not(:last-child)::after{display:none}
}
@media(max-width:860px){
  .principal-barre{display:none}
  .menu-bouton{display:flex}
  .mise-avant-blocs{grid-template-columns:1fr;gap:32px}
  .mise-avant-blocs>div:last-child{order:-1}
  .actu{grid-template-columns:1fr}
  .confiance-ligne{grid-template-columns:1fr 1fr}
  .confiance-niveau{grid-column:1/-1;padding-left:0;border-left:0;border-top:1px solid var(--edge);padding-top:18px}
}
@media(max-width:520px){
  .prestas-blocs,.societes-blocs,.etapes-blocs,.confiance-ligne{grid-template-columns:1fr}
  .scores-blocs{grid-template-columns:1fr 1fr}
  .fin-blocs{grid-template-columns:1fr}
  .mise-avant-atouts{grid-template-columns:1fr}
  .confiance-niveau{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

.attente-dialogue{position:fixed;inset:0;align-items:center;padding:20px;display:none;justify-content:center;backdrop-filter:blur(3px);z-index:1200;background:rgba(31,45,44,.53)}
.attente-dialogue.charge{display:flex}
.attente-dialogue-boite{background:var(--surface);color:var(--foreground);grid-template-columns:.8fr 1fr;max-width:860px;box-shadow:var(--elev-lg);display:grid;position:relative;border-radius:var(--r-2xl);width:100%;overflow:hidden}
.attente-dialogue-volet{position:relative;color:#fdfffd;padding:clamp(28px,4vw,44px);display:flex;overflow:hidden;background:linear-gradient(160deg,var(--ink),var(--ink-2));justify-content:center;flex-direction:column}
.attente-dialogue-volet::after{position:absolute;border-radius:50%;content:"";right:-28%;width:86%;height:86%;bottom:-28%;border:20px solid rgba(253,255,253,.05)}
.attente-dialogue-index{color:var(--azure);font-family:var(--font-display);position:relative;font-weight:700;line-height:.85;font-size:clamp(64px,9vw,104px)}
.attente-dialogue-volet p{font-size:17px;position:relative;max-width:190px;margin-top:12px;font-weight:600}
.attente-dialogue-principal{padding:clamp(28px,4vw,48px);position:relative}
.attente-dialogue-principal .exergue{margin-bottom:14px}
.attente-dialogue-principal .ttl{font-size:clamp(25px,3.2vw,37px)}
.attente-dialogue-principal .chapo{margin-top:12px}
.attente-dialogue-principal .ok-liste{gap:12px;margin-top:20px}
.attente-dialogue-principal .ok-liste li{font-size:15px}
.attente-dialogue-principal .action{margin-top:24px}
.attente-dialogue-quitter{place-items:center;border-radius:50%;line-height:1;color:var(--subtle);width:42px;cursor:pointer;font-size:20px;height:42px;position:absolute;top:16px;background:var(--surface);border:1px solid var(--edge);display:grid;right:16px}
.attente-dialogue-suite{font-size:13.5px;border:0;cursor:pointer;background:none;text-decoration:underline;display:block;color:var(--subtle);margin:14px auto 0}
@media(max-width:640px){.attente-dialogue{display:none!important}}

/* Marque du site (logo header + footer) - goutte propre au site ; losange generique neutralise */
.signature-marque::after{content:none}
.signature-marque{overflow:hidden}
.signature-marque .marque-svg{width:24px;height:24px;display:block}
