:root{
  --base-midnight:#141610;
  --base-midnight-2:#090c05;
  --base-brand:#b7fd2e;
  --base-brand-deep:#509120;
  --base-sky:#eef0e9;
  --base-sky-tint:#e3e7d7;
  --base-page:#f2f7f1;
  --base-sheet:#fffffd;
  --base-ink:#141610;
  --base-ink-2:#586152;
  --base-dim:#8b8e81;
  --base-edge:#e4e6df;
  --base-edge-2:#d8dccb;
  --base-brand-tint:#e8f6d4;
  --base-go:#2e8d4e; --base-go-fill:#e7f2ec; --base-go-border:#cfe4d3;
  --base-stop:#be412c;   --base-stop-fill:#f4e3de;   --base-stop-border:#ebc6ba;
  --base-gold:#6eb01e;

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

  --base-r-sm:10px; --base-r-md:16px; --base-r-lg:24px; --base-r-xl:32px; --base-r-2xl:32px; --base-r-pill:999px;

  --base-shade-sm:0 6px 20px rgba(20,23,16,.06);
  --base-shade-md:0 12px 34px rgba(20,23,16,.07);
  --base-shade-lg:0 28px 64px rgba(20,23,16,.16);

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

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;overflow-x:hidden;scrollbar-gutter:stable;-webkit-text-size-adjust:100%}
body{font-family:var(--base-sans);background:var(--base-page);font-size:16px;margin:0;
  color:var(--base-ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.55}
img{width:100%;display:block;height:auto}
a{text-decoration:none;color:inherit}
button{font-family:inherit}
h1,h2{line-height:1.02;letter-spacing:-.02em;font-family:var(--base-font-head);font-weight:800;margin:0}
h3{line-height:1.2;font-family:var(--base-sans);font-weight:800;margin:0;letter-spacing:-.01em}
::selection{color:#0c0a07;background:var(--base-brand)}
:focus-visible{border-radius:4px;outline:3px solid var(--base-brand-deep);outline-offset:2px}
.lieu-carte{position:relative;border-radius:var(--base-r-lg);aspect-ratio:4/3;border:1px solid var(--base-edge);
  background:var(--base-sky);box-shadow:var(--base-shade-md);overflow:hidden}
.lieu-carte iframe{position:absolute;inset:0;width:100%;display:block;height:100%;border:0}
.lieu-carte.charge .lieu-cadre-vide{display:none}
.lieu-differe{cursor:pointer}
.lieu-cadre-vide{display:flex;position:absolute;align-items:center;inset:0;background:radial-gradient(circle at 30% 30%,#eff3e5,transparent 60%),linear-gradient(135deg,var(--base-sky),var(--base-sky-tint));cursor:pointer;
  gap:14px;height:100%;text-align:center;padding:24px;flex-direction:column;justify-content:center;
  border:0;font-weight:700;width:100%;font-size:17px;color:var(--base-ink)}
.lieu-pin{display:grid;background:var(--base-brand);box-shadow:0 0 0 8px var(--base-brand-tint);height:56px;border-radius:50% 50% 50% 4px;place-items:center;
  width:56px;transform:rotate(-45deg)}
.lieu-pin::after{content:"";background:#0c0a07;border-radius:50%;width:16px;height:16px}
.lieu-cadre-vide p{font-size:14px;max-width:260px;font-weight:500;margin:0;color:var(--base-ink-2)}

.vue-tete{position:relative;background:var(--base-midnight);
  background-image:radial-gradient(60% 90% at 82% 10%,rgba(106,191,57,.16),transparent 60%),linear-gradient(180deg,rgba(12,17,10,.85),rgba(12,17,10,.91)),var(--hero-img,linear-gradient(120deg,#182110,#0c110a));
  background-size:cover;color:#f5f7ef;background-position:center}
.vue-tete .enveloppe{padding-block:clamp(112px,10vw,132px) clamp(40px,6vw,64px)}
.vue-tete h1{font-family:var(--base-font-head);letter-spacing:-.03em;margin:8px 0;font-size:clamp(34px,4.6vw,58px);font-weight:800;color:#fffffd}
.vue-tete .enveloppe>p{max-width:640px;font-size:17.5px;color:rgba(245,247,239,.8)}
.vue-tete-contact .enveloppe{padding-bottom:clamp(48px,7vw,72px)}
.vue-tete-contact .tete-rangee{margin-top:var(--base-space-4)}

.tarif-carte{background:var(--base-sheet);color:var(--base-ink);box-shadow:var(--base-shade-lg);
  border-radius:var(--base-r-lg);border:1px solid var(--base-edge);padding:28px}
.tarif-carte .ttl{font-size:25px;margin:10px 0 4px}
.tarif-carte .soustitre{margin:0 0 20px;color:var(--base-ink-2);font-size:15px}
.tarif-carte .mention{color:var(--base-brand-deep)}
.phase-carte{border:1px solid var(--base-edge);border-radius:var(--base-r-lg);background:var(--base-sheet);position:relative;
  box-shadow:var(--base-shade-sm);padding:30px 26px}
.phase-carte:not(:last-child)::after{right:-15px;background:var(--base-edge-2);width:30px;position:absolute;top:52px;z-index:1;height:2px;content:""}
.phase-index{font-family:var(--base-font-head);display:grid;margin-bottom:20px;color:#0c0a07;
  border-radius:14px;place-items:center;height:52px;font-weight:800;box-shadow:0 8px 20px rgba(123,190,31,.31);width:52px;font-size:20px;background:var(--base-brand)}
.phase-intitule{font-family:var(--base-sans);font-weight:800;font-size:18px;margin:0 0 8px;color:var(--base-ink)}
.phase-ligne{margin:0;color:var(--base-ink-2);font-size:14.5px}
.titre{display:inline-flex;font-family:var(--base-font-head);letter-spacing:-.03em;
  align-items:center;color:var(--base-ink);font-weight:800;gap:12px;font-size:20px}
.titre-marque{height:40px;width:40px;flex:none;display:inline-grid;place-items:center;position:relative}
.titre-marque svg{width:40px;height:40px;display:block}
.photo{background:var(--base-sky);object-fit:cover;width:38px;border-radius:50%;height:38px;border:2px solid var(--base-sheet)}
.photo+.photo{margin-left:-12px}
.photo-suite{background:var(--base-midnight);font-size:12px;width:38px;display:grid;
  border:2px solid var(--base-sheet);height:38px;place-items:center;border-radius:50%;margin-left:-12px;color:var(--base-brand);font-weight:800}
.ouvrage-ruban{scroll-snap-type:x mandatory;display:flex;scrollbar-width:none;gap:20px;
  padding-bottom:8px;overflow-x:auto}
.ouvrage-ruban::-webkit-scrollbar{display:none}
.ouvrage-entree{box-shadow:var(--base-shade-md);border-radius:var(--base-r-lg);flex:0 0 clamp(280px,40%,420px);
  border:1px solid var(--base-edge);overflow:hidden;scroll-snap-align:start;background:var(--base-midnight);
  margin:0;position:relative}
.ouvrage-entree .fenetre{aspect-ratio:4/3;object-fit:cover;width:100%}
.ouvrage-entree figcaption{left:0;right:0;font-weight:700;position:absolute;color:#fffffd;
  padding:28px 18px 16px;background:linear-gradient(180deg,transparent,rgba(10,10,5,.92));bottom:0;font-size:15px}
.menu-calque{visibility:hidden;position:fixed;z-index:1090;inset:0;background:rgba(20,22,16,.45);opacity:0;transition:opacity .25s,visibility .25s}
.menu-calque.actif{opacity:1;visibility:visible}

.tete{background:var(--base-midnight);background-image:radial-gradient(60% 80% at 78% 12%,rgba(106,191,57,.2),transparent 60%),radial-gradient(50% 70% at 10% 92%,rgba(183,253,46,.14),transparent 60%),linear-gradient(180deg,rgba(12,17,10,.85),rgba(12,17,10,.92)),var(--hero-img,linear-gradient(120deg,#182110,#0c110a));
  background-size:cover;
  background-position:center;position:relative;color:#f5f7ef}
.tete-int{padding-block:clamp(96px,12vw,124px) clamp(112px,15vw,176px)}
.tete-rangee{grid-template-columns:1.12fr .95fr;gap:40px;align-items:center;display:grid}
.tete-ligne{max-width:640px}
.tete .mention,.vignette-pastille{text-transform:uppercase;background:rgba(255,255,253,.08);font-weight:700;letter-spacing:.1em;
  border-radius:var(--base-r-pill);padding:7px 14px;gap:9px;
  font-size:12px;align-items:center;border:1px solid rgba(255,255,253,.16);color:#f5f7ef;display:inline-flex}
.tete .mention::before{display:none}
.page-menu{align-items:center;gap:4px;display:flex;margin-left:auto}

.competences-rangee{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}
.competence-carte{transition:transform .2s,box-shadow .2s,border-color .2s;background:var(--base-sheet);border:1px solid var(--base-edge);
  flex-direction:column;display:flex;padding:28px;border-radius:var(--base-r-lg);gap:16px;
  box-shadow:var(--base-shade-sm)}
.competence-carte:not(.competence-carte-top):hover{border-color:transparent;box-shadow:var(--base-shade-md);transform:translateY(-4px)}
.competence-carte-top:hover{box-shadow:var(--base-shade-md);transform:translateY(-4px)}
.competence-carte .img-carre{border-radius:14px;width:52px;height:52px;color:var(--base-brand-deep);background:var(--base-brand-tint)}
.competence-carte .img-carre svg{width:25px;height:25px}
.competence-carte h3{font-size:20px;color:var(--base-ink)}
.competence-carte>p{margin:0;font-size:15.5px;flex:1;color:var(--base-ink-2)}
.competence-carte-top{background:linear-gradient(160deg,#182110,#0e150b);border-color:transparent;color:#f5f7ef}
.competence-carte-top h3{letter-spacing:-.02em;font-family:var(--base-font-head);color:#fffffd;font-weight:800;font-size:26px}
.competence-carte-top>p{color:rgba(245,247,239,.8)}
.competence-carte-top .img-carre{color:#0c0a07;background:var(--base-brand);box-shadow:0 0 24px rgba(183,253,46,.34)}

.general-entete{top:0;backdrop-filter:saturate(140%) blur(14px);background:rgba(255,255,253,.9);left:0;position:fixed;
  border-bottom:1px solid var(--base-edge);right:0;
  z-index:100}
.general-entete-int{align-items:center;padding-block:15px;display:flex;gap:24px}
.indicateur-index{font-family:var(--base-font-head);line-height:1;
  letter-spacing:-.02em;color:var(--base-brand-deep);font-weight:800;font-size:clamp(38px,5vw,60px)}
.indicateur-ligne{color:var(--base-ink-2);font-size:15px;margin-top:10px}
.partenaire-carte{display:flex;gap:16px;box-shadow:var(--base-shade-sm);padding:22px;border:1px solid var(--base-edge);
  border-radius:var(--base-r-lg);align-items:flex-start;transition:box-shadow .2s,transform .2s,border-color .2s;background:var(--base-sheet);
  color:var(--base-ink)}
.partenaire-carte:hover{transform:translateY(-3px);box-shadow:var(--base-shade-md);border-color:var(--base-edge-2)}
.partenaire-marque{border-radius:14px;font-family:var(--base-font-head);width:56px;height:56px;place-items:center;display:grid;font-weight:800;
  line-height:1;flex:none;color:#0c0a07;
  font-size:22px;overflow:hidden;position:relative;background:linear-gradient(150deg,var(--base-brand),var(--base-go))}
.partenaire-ident{min-width:0;gap:8px;display:flex;flex:1;flex-direction:column}
.partenaire-intro{gap:10px;align-items:flex-start;justify-content:space-between;display:flex}
.partenaire-intro h3{font-size:17px;color:var(--base-ink);line-height:1.25}
.competence-carte-top .valide-elements li{color:rgba(245,247,239,.8)}
.competence-carte-top .valide-elements li::before{color:var(--base-brand)}
.bloc-tete{max-width:700px;text-align:center;margin:0 auto clamp(30px,4.5vw,48px)}
.bloc-tete .ttl{margin-top:14px}
.bloc-tete .chapo{margin-top:16px}
.niveau{align-items:center;gap:6px;display:flex}

.commune{gap:clamp(20px,3vw,28px);display:grid}
.ttl{letter-spacing:-.02em;margin:0;
  font-family:var(--base-font-head);font-weight:800;font-size:clamp(30px,4vw,52px);line-height:1.04}
.mention{font-weight:700;align-items:center;font-size:12.5px;
  display:inline-flex;gap:12px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--base-brand-deep)}
.mention::before{height:2px;content:"";width:22px;background:var(--base-brand-deep);flex:none}

.partenaires-rangee{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}
.ctrl-action{font-size:20px;background:var(--base-sheet);display:grid;cursor:pointer;border-radius:50%;
  color:var(--base-ink);width:48px;border:1px solid var(--base-edge);place-items:center;height:48px;box-shadow:var(--base-shade-sm)}
.ctrl-action:hover{color:#0c0a07;background:var(--base-brand);border-color:var(--base-brand)}
.ctrl-action svg{width:20px;height:20px}
.tete-intitule{font-family:var(--base-font-head);font-weight:800;color:#fffffd;
  margin-top:22px;font-size:clamp(44px,6.4vw,84px);line-height:.98;letter-spacing:-.03em}
.tete-chapo{color:rgba(245,247,239,.8);max-width:520px;margin-top:20px;font-size:clamp(16px,1.6vw,19px)}
.tete-actions{align-items:center;margin-top:30px;flex-wrap:wrap;gap:16px;display:flex}
.voir-ancre{font-weight:700;color:#f5f7ef;gap:11px;display:inline-flex;font-size:15px;align-items:center}
.voir-ancre:hover{color:var(--base-brand)}
.voir-ancre .voir{width:46px;height:46px;justify-content:center;background:rgba(255,255,253,.09);
  display:inline-flex;align-items:center;transition:border-color .18s,transform .18s;border-radius:50%;
  border:1px solid rgba(255,255,253,.2)}
.voir-ancre:hover .voir{border-color:var(--base-brand);transform:scale(1.06)}
.voir-ancre .voir::after{border-left:10px solid var(--base-brand);width:0;border-top:7px solid transparent;margin-left:3px;
  border-bottom:7px solid transparent;height:0;content:""}
.etoiles{gap:2px;display:inline-flex;color:var(--base-gold)}
.etoiles svg,.etoile{fill:var(--base-gold);height:16px;width:16px}

.dossier{grid-template-columns:1fr 1fr;align-items:center;display:grid;gap:clamp(32px,5vw,60px)}
.dossier-ligne .ttl{margin-top:16px}
.dossier-ligne>p{margin:18px 0 0;color:var(--base-ink-2);font-size:17px}
.dossier-soustitre{margin-top:16px}
.confiance-note{font-size:13px;color:var(--base-ink-2)}
.confiance-note strong{color:var(--base-ink);font-weight:800;font-size:16px}
.confiance-ancre{color:var(--base-ink-2)}
.tete-points{display:grid;grid-template-columns:1fr 1fr;margin-top:34px;gap:12px;padding:0;
  max-width:520px;list-style:none}
.panneau-tel{overflow-y:auto;top:0;flex-direction:column;box-shadow:var(--base-shade-lg);right:0;z-index:1100;
  visibility:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),visibility .3s;height:100%;
  display:flex;padding:84px 22px 22px;
  width:min(320px,86vw);
  position:fixed;background:var(--base-sheet);transform:translateX(100%)}
.panneau-tel.actif{visibility:visible;transform:translateX(0)}
.panneau-tel nav{flex-direction:column;display:flex}
.panneau-tel a:not(.action){padding:15px 2px;border-bottom:1px solid var(--base-edge);color:var(--base-ink);font-weight:600;font-size:16px}
.panneau-tel a:not(.action):hover{color:var(--base-brand-deep)}
.panneau-tel a.action{margin-top:var(--base-space-6);justify-content:center}
.chapo{color:var(--base-ink-2);font-size:clamp(16px,1.6vw,19px)}
.pin svg,.partenaire-lieu svg{height:16px;width:16px}

.tete .accent{color:var(--base-brand)}

.enveloppe{padding-inline:var(--base-gap);margin:0 auto;max-width:var(--base-maxw)}
.genre{margin-top:-3px;color:var(--base-ink-2);font-size:13px}
.point{font-weight:500;color:#f5f7ef;padding:13px 15px;border:1px solid rgba(255,255,253,.11);display:flex;align-items:center;
  border-radius:14px;background:rgba(255,255,253,.04);gap:11px;font-size:14.5px}
.point i{font-style:normal;place-items:center;background:var(--base-brand);font-size:13px;color:#0c0a07;border-radius:50%;
  width:24px;height:24px;font-weight:800;flex:none;display:grid}
.valide-elements{list-style:none;gap:10px;padding:0;display:grid;margin:0}
.valide-elements li{color:var(--base-ink-2);align-items:center;gap:10px;font-size:14.5px;display:flex}
.valide-elements li::before{font-weight:800;color:var(--base-brand-deep);font-size:13px;flex:none;content:"\2713"}
.parcours{display:flex;margin:0;color:rgba(245,247,239,.69);padding:12px 0 24px;font-size:13px;flex-wrap:wrap;align-items:center;list-style:none}
.parcours li+li::before{margin-inline:8px;content:"/";opacity:.6}
.parcours a{color:rgba(245,247,239,.69)}
.parcours a:hover{color:#fffffd}
.parcours li:last-child{font-weight:600;color:#fffffd}

.action{align-items:center;min-height:52px;transition:background .18s,color .18s,transform .18s,box-shadow .18s,border-color .18s;white-space:nowrap;
  gap:10px;cursor:pointer;border-radius:var(--base-r-pill);
  border:1px solid transparent;padding:15px 28px;font-weight:700;justify-content:center;
  display:inline-flex;font-size:15px}
.action svg{height:18px;width:18px}
.action:hover{transform:translateY(-2px)}
.action:active{transform:translateY(0)}
.action-mini{font-size:14px;padding:11px 20px;min-height:0}
.action-xl{min-height:60px;padding:18px 34px;font-size:16px}
.action-large{width:100%}
.action-go{background:var(--base-brand);box-shadow:0 10px 26px rgba(123,190,31,.28);color:#0c0a07}
.action-go:hover{box-shadow:0 14px 32px rgba(123,190,31,.37);background:#98de2b;color:#0c0a07}
.action-accent{color:#0c0a07;box-shadow:0 10px 26px rgba(123,190,31,.28);background:var(--base-brand)}
.action-accent:hover{background:#98de2b;color:#0c0a07}
.action-doux{background:var(--base-sheet);color:var(--base-ink);border-color:var(--base-edge)}
.action-doux:hover{border-color:var(--base-edge-2);background:var(--base-sky)}
.action-fonce{background:var(--base-midnight);color:#fffffd}
.action-fonce:hover{background:#010000}
.action-clair{color:var(--base-midnight);background:var(--base-sheet)}
.action-clair:hover{background:var(--base-sky)}
.soutien-carte{border:1px solid rgba(255,255,253,.09);background:rgba(255,255,253,.06);padding:22px;border-radius:var(--base-r-md)}
.soutien-carte .img-carre{border-radius:10px;width:40px;margin-bottom:16px;background:rgba(183,253,46,.14);color:var(--base-brand);height:40px}
.soutien-intitule{font-family:var(--base-font-head);font-weight:800;font-size:17px;color:#fffffd}
.soutien-ligne{margin-top:6px;font-size:14px;color:rgba(245,247,239,.8)}
.page-menu .action{margin-left:10px}

.burger{padding:6px;top:17px;z-index:1105;gap:5px;right:18px;position:fixed;flex-direction:column;cursor:pointer;border:none;background:none;display:none}
.burger span{background:var(--base-ink);display:block;height:3px;border-radius:2px;transition:transform .3s ease,opacity .3s ease;width:26px}
.burger.actif span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.burger.actif span:nth-child(2){opacity:0}
.burger.actif span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
.confiance-niveau{gap:14px;align-items:center;padding:14px 18px;display:flex;background:var(--base-page);border-radius:var(--base-r-md)}

.ouvrage-intro{margin-bottom:36px;flex-wrap:wrap;align-items:flex-end;gap:16px;
  justify-content:space-between;display:flex}
.ouvrage-intro .ttl{margin-top:14px}
.ouvrage-ctrl{gap:10px;display:flex}
.accent{font-family:var(--base-font-serif);color:var(--base-brand-deep);font-style:italic;font-weight:400}

.soutiens-zone{border:1px solid var(--base-midnight-2);border-radius:var(--base-r-xl);box-shadow:var(--base-shade-lg);position:relative;
  overflow:hidden;padding:clamp(32px,5vw,60px);background:var(--base-midnight)}
.soutiens-zone::after{width:280px;background:radial-gradient(circle,rgba(183,253,46,.16),transparent 70%);height:280px;border-radius:50%;position:absolute;content:"";right:-60px;
  top:-60px;pointer-events:none}
.soutiens-zone .mention{color:var(--base-brand)}
.soutiens-zone .mention::before{background:var(--base-brand)}
.soutiens-zone .ttl{color:#fffffd;max-width:560px;margin-top:14px}
.soutiens-zone .chapo{color:rgba(245,247,239,.8);margin-top:16px;max-width:560px}
.soutiens-rangee{display:grid;margin-top:40px;gap:18px;grid-template-columns:repeat(4,1fr)}
.vignette{border-radius:var(--base-r-pill);border:1px solid transparent;font-weight:700;font-size:12px;gap:6px;
  padding:5px 11px;display:inline-flex;align-items:center;flex:none}
.vignette .disque{line-height:1;font-size:10px}
.vignette-dispo{color:var(--base-go);border-color:var(--base-go-border);background:var(--base-go-fill)}
.vignette-clos{background:var(--base-stop-fill);color:var(--base-stop);border-color:var(--base-stop-border)}

.indicateurs-rangee{gap:24px;display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.zone{padding-block:clamp(56px,7vw,90px)}
.zone-alt{background:var(--base-sheet)}
.img-carre{flex:none;height:48px;place-items:center;border-radius:13px;width:48px;
  background:var(--base-brand-tint);color:var(--base-brand-deep);display:grid}
.img-carre svg{height:23px;width:23px}
.zone-texte{font-size:15.5px;padding:14px 15px;font-family:inherit;border:1px solid var(--base-edge);
  border-radius:12px;width:100%;background:var(--base-sheet);color:var(--base-ink)}
.zone-texte:focus{box-shadow:0 0 0 3px var(--base-brand-tint);outline:none;border-color:var(--base-brand-deep)}
.vignette-pastille::before{height:8px;box-shadow:0 0 10px rgba(183,253,46,.69);content:"";background:var(--base-brand);border-radius:50%;width:8px}

.offre-zone{background:linear-gradient(150deg,#c9fd3a,#8edb30);border-radius:var(--base-r-xl);
  text-align:center;color:#0d1108;position:relative;padding:clamp(48px,6vw,72px);overflow:hidden}
.offre-forme{top:-80px;background:rgba(255,255,253,.2);width:340px;right:-80px;pointer-events:none;border-radius:50%;
  position:absolute;height:340px}
.offre-ligne{position:relative;margin:0 auto;max-width:660px}
.offre-ligne .ttl{color:#0d1108}
.offre-ligne p{font-size:18px;color:#1a2d10;margin:18px 0 32px}
.offre-ligne .action{margin-top:0}
.offre-zone .action-accent{color:var(--base-brand);background:#0f1008}
.offre-zone .action-accent:hover{background:#010000;color:var(--base-brand)}
.menu-ancre{font-weight:600;transition:color .18s,background .18s;color:var(--base-ink-2);position:relative;padding:9px 15px;border-radius:var(--base-r-pill);font-size:14.5px}
.menu-ancre:hover{color:var(--base-brand-deep);background:var(--base-sky)}
.partenaire-carte .niveau{background:var(--base-brand-tint);border:1px solid var(--base-go-border);flex-wrap:wrap;align-items:center;display:inline-flex;align-self:flex-start;border-radius:var(--base-r-pill);gap:7px;padding:5px 12px}
.partenaire-carte .niveau .index{font-weight:800;font-size:14px;color:var(--base-brand-deep)}
.partenaire-carte .niveau .total{font-size:13px;color:var(--base-dim)}
.partenaire-carte .etoiles .etoile{opacity:.28}.partenaire-carte .etoiles .etoile.rempli{opacity:1}
.partenaire-lieu{font-size:14px;color:var(--base-ink-2);align-items:flex-start;gap:8px;display:flex}
.partenaire-lieu .pin{flex:none;margin-top:2px;color:var(--base-brand-deep)}
.points-forts-elements{margin:26px 0 0;list-style:none;padding:0;display:grid;gap:13px}
.points-forts-elements li{gap:12px;align-items:flex-start;font-weight:500;display:flex}
.points-forts-elements li::before{margin-top:2px;font-size:12px;height:22px;content:"\2713";background:var(--base-brand-tint);width:22px;
  font-weight:800;color:var(--base-brand-deep);display:grid;place-items:center;flex:none;border-radius:50%}

.phases-rangee{gap:22px;grid-template-columns:repeat(4,1fr);display:grid}

.confiance-bandeau{padding:28px 30px;margin-top:-88px;border-radius:var(--base-r-lg);display:grid;
  box-shadow:var(--base-shade-lg);gap:26px;grid-template-columns:repeat(3,1fr) auto;
  background:var(--base-sheet);border:1px solid var(--base-edge);align-items:center;z-index:10;position:relative}
.confiance-entree{align-items:flex-start;gap:15px;display:flex}
.confiance-entree>div>strong{display:block;line-height:1.25;font-weight:800;font-size:16px}
.confiance-entree>div>span{margin-top:3px;font-size:14px;color:var(--base-ink-2);display:block}
.photos{display:flex}
@media(min-width:1024px){.commune{grid-template-columns:1.05fr .95fr;gap:32px;align-items:start}}

.bulle-offre{color:var(--base-ink);right:20px;bottom:20px;z-index:90;width:min(330px,calc(100vw - 40px));
  transition:transform .3s,opacity .3s;border:1px solid var(--base-edge);background:var(--base-sheet);position:fixed;
  padding:22px 24px;box-shadow:var(--base-shade-lg);border-radius:var(--base-r-lg)}
.bulle-offre[hidden]{display:none}
.bulle-cacher{position:absolute;top:10px;cursor:pointer;right:12px;line-height:1;font-size:20px;
  border:0;background:none;color:var(--base-dim)}
.bulle-intitule{font-weight:800;color:var(--base-ink);font-size:16.5px;font-family:var(--base-font-head);margin:0 26px 6px 0}
.bulle-ligne{color:var(--base-ink-2);font-size:14px;margin:0 0 14px}
.bulle-onglet{animation:floatPulse 2.4s infinite;right:20px;bottom:20px;cursor:pointer;box-shadow:var(--base-shade-lg);
  color:#0c0a07;align-items:center;
  position:fixed;display:none;background:var(--base-brand);border-radius:50% 50% 50% 8px;z-index:89;justify-content:center;height:62px;
  border:0;width:62px}
.bulle-onglet svg{width:27px;height:27px;display:block}
.bulle-onglet:hover{transform:scale(1.05);animation-play-state:paused}
.horaire{justify-content:space-between;gap:16px;display:flex;max-width:320px}
.horaire strong{color:var(--base-ink);font-weight:600}

.general-sol{background:var(--base-midnight-2);color:rgba(245,247,239,.73);padding-block:clamp(52px,6vw,72px) 28px}
.ouverture{font-size:14px;color:var(--base-ink-2);display:grid;gap:5px;padding-left:28px}
.droits{padding-top:22px;border-top:1px solid rgba(255,255,253,.13);margin-top:38px;
  color:rgba(245,247,239,.57);text-align:center;font-size:13px}

.alentours{flex-direction:column;gap:32px;display:flex}
.alentours-partie h2{font-size:21px;color:var(--base-ink);margin-bottom:14px}
.alentours-menu{display:flex;gap:8px 18px;flex-wrap:wrap}
.alentours-menu a{color:var(--base-ink-2);text-decoration:underline}
.alentours-menu a:hover{color:var(--base-brand-deep)}
.mairie-ligne{font-size:15px;margin:0;gap:10px;color:var(--base-ink-2);align-items:flex-start;display:flex}
.mairie-ligne a{color:var(--base-brand-deep);font-weight:600}
.mairie-ligne .pin{margin-top:1px;color:var(--base-dim);flex:none}
.mairie-ligne svg{width:18px;height:18px}
.general-sol .action-go{background:var(--base-brand);color:#0c0a07}
.general-sol .action-go:hover{background:#98de2b;color:#0c0a07}
.commune-mairie{align-content:start;gap:12px;border:1px solid var(--base-edge);
  padding:24px;display:grid;background:var(--base-sheet);border-radius:var(--base-r-lg)}
.commune-mairie h3{font-size:18px;margin:0 0 2px}
.commune-faits{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.fait{padding:15px 16px;border:1px solid var(--base-edge);border-radius:var(--base-r-md);display:flex;background:var(--base-sheet);
  align-items:center;gap:12px}
.fait-img{display:grid;width:42px;color:var(--base-brand-deep);background:var(--base-brand-tint);place-items:center;flex:none;height:42px;border-radius:12px}
.fait-img svg{height:20px;width:20px}
.fait-ligne dt{color:var(--base-dim);font-size:12.5px;margin-bottom:3px}
.fait-ligne dd{line-height:1.15;font-weight:800;margin:0;font-size:16px}
.sol-rangee{gap:34px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr}
.sol-titre{display:inline-flex;gap:12px;color:#fffffd;font-family:var(--base-font-head);
  align-items:center;font-weight:800;font-size:20px}
.sol-partie>p{margin:14px 0 0;color:rgba(245,247,239,.6);font-size:14.5px}
.sol-intitule{margin-bottom:16px;color:#fffffd;font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.sol-menu{display:grid;margin:0;list-style:none;padding:0;gap:11px}
.sol-menu a{color:rgba(245,247,239,.73);font-size:14.5px}
.sol-menu a:hover{color:var(--base-brand)}
.sol-partie .action{margin-top:14px}
@keyframes floatPulse{0%,100%{box-shadow:0 0 0 0 rgba(123,190,31,.38)}50%{box-shadow:0 0 0 12px rgba(123,190,31,0)}}

.dossier-zone h1{color:var(--base-ink);margin-bottom:16px;letter-spacing:-.02em;font-family:var(--base-font-head);font-weight:800;font-size:clamp(29px,4vw,42px)}
.dossier-zone h2{font-family:var(--base-font-head);font-weight:800;color:var(--base-ink);font-size:clamp(21px,2.6vw,27px);letter-spacing:-.02em;margin:32px 0 12px}
.dossier-zone p,.dossier-zone li{color:var(--base-ink-2)}
.dossier-zone ul{padding-left:20px}
.dossier-zone .grille-enveloppe{margin:18px 0;overflow-x:auto}
.dossier-zone table{font-size:15px;border-collapse:collapse;width:100%}
.dossier-zone th,.dossier-zone td{padding:12px 14px;border:1px solid var(--base-edge);text-align:left}
.dossier-zone thead th{font-weight:800;color:var(--base-ink);background:var(--base-sky)}
.faq-entree{background:var(--base-sheet);margin-bottom:12px;border:1px solid var(--base-edge);border-radius:var(--base-r-md);overflow:hidden}
.faq-entree summary{justify-content:space-between;cursor:pointer;padding:20px 24px;gap:16px;list-style:none;
  font-weight:700;display:flex;font-size:16.5px;align-items:center;color:var(--base-ink)}
.faq-entree summary::-webkit-details-marker{display:none}
.faq-entree summary::after{font-size:24px;color:var(--base-brand-deep);content:"+";font-weight:400}
.faq-entree[open] summary::after{content:"\2013"}
.faq-texte-rep{transition:height .36s cubic-bezier(.4,0,.2,1);overflow:hidden}
.faq-texte-rep-int{padding:0 24px 20px;color:var(--base-ink-2)}
.contact{gap:16px;display:grid;max-width:620px}
.contact-entree{gap:6px;display:grid}
.contact-entree label{font-weight:700;font-size:14px;color:var(--base-ink)}
.contact-entree textarea.zone-texte{min-height:150px;resize:vertical}
.contact-note{padding:14px 16px;border-radius:var(--base-r-md);font-size:14px}
.contact-note-rempli{background:var(--base-go-fill);border:1px solid var(--base-go-border);color:var(--base-go)}
.contact-note-clos{border:1px solid var(--base-stop-border);background:var(--base-stop-fill);color:var(--base-stop)}

.parcourir-contact{max-width:520px;display:flex;gap:12px;flex-wrap:wrap}
.parcourir-contact .zone-texte{min-width:200px;flex:1}
.parcourir-total{margin:20px 0;color:var(--base-ink-2)}
.grille-note{font-size:13px;font-style:italic;color:var(--base-dim)}

.dossier-faq{margin:0 auto;max-width:820px;width:100%}
.dossier-faq h2,.dossier-faq .ttl{margin:0 0 26px;text-align:center;color:var(--base-ink)}

.page-dossier{display:flex;flex-direction:column}
.page-dossier .dossier-zone{order:1}
.page-dossier .dossier-faq{order:2}

.riche{max-width:760px;margin:0 auto}
.riche h2{margin:34px 0 12px;color:var(--base-ink);font-family:var(--base-font-head);font-weight:800;letter-spacing:-.02em;font-size:clamp(23px,3vw,31px)}
.riche p{margin:14px 0;color:var(--base-ink-2)}
.riche ul{color:var(--base-ink-2);padding-left:20px}
.riche a:not(.action){text-decoration:underline;color:var(--base-brand-deep)}

@media(max-width:1023px){
  .competences-rangee,.partenaires-rangee,.phases-rangee,.soutiens-rangee,.indicateurs-rangee{grid-template-columns:repeat(2,1fr)}
  .sol-rangee{grid-template-columns:1fr 1fr}
  .phase-carte:not(:last-child)::after{display:none}
}
@media(max-width:860px){
  .page-menu{display:none}
  .burger{display:flex}
  .tete-rangee{grid-template-columns:1fr;gap:32px}
  .tete-rangee>div:last-child{order:-1}
  .dossier{grid-template-columns:1fr}
  .confiance-bandeau{grid-template-columns:1fr 1fr}
  .confiance-niveau{grid-column:1/-1}
}
@media(max-width:520px){
  .competences-rangee,.partenaires-rangee,.phases-rangee,.confiance-bandeau{grid-template-columns:1fr}
  .soutiens-rangee,.indicateurs-rangee{grid-template-columns:1fr 1fr}
  .sol-rangee{grid-template-columns:1fr}
  .tete-points{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

.sortie-fenetre{align-items:center;padding:20px;position:fixed;inset:0;background:rgba(20,22,16,.57);display:none;backdrop-filter:blur(3px);z-index:1200;justify-content:center}
.sortie-fenetre.charge{display:flex}
.sortie-fenetre-carte{background:var(--base-sheet);overflow:hidden;position:relative;width:100%;border-radius:var(--base-r-xl);grid-template-columns:.8fr 1fr;max-width:860px;color:var(--base-ink);border:1px solid var(--base-edge);box-shadow:var(--base-shade-lg);display:grid}
.sortie-fenetre-panneau{justify-content:center;overflow:hidden;position:relative;padding:clamp(28px,4vw,44px);background:linear-gradient(160deg,#182110,#090c05);flex-direction:column;display:flex;color:#f5f7ef}
.sortie-fenetre-panneau::after{right:-28%;content:"";border-radius:50%;position:absolute;width:86%;border:20px solid rgba(183,253,46,.13);height:86%;bottom:-28%}
.sortie-fenetre-index{position:relative;font-family:var(--base-font-head);color:var(--base-brand);font-weight:800;line-height:.85;font-size:clamp(64px,9vw,104px)}
.sortie-fenetre-panneau p{max-width:190px;margin-top:12px;font-size:17px;color:rgba(245,247,239,.8);font-weight:600;position:relative}
.sortie-fenetre-page{padding:clamp(28px,4vw,48px);position:relative}
.sortie-fenetre-page .mention{margin-bottom:14px}
.sortie-fenetre-page .ttl{color:var(--base-ink);font-size:clamp(25px,3.2vw,37px)}
.sortie-fenetre-page .ttl .accent{color:var(--base-brand-deep)}
.sortie-fenetre-page .chapo{color:var(--base-ink-2);margin-top:12px}
.sortie-fenetre-page .valide-elements{margin-top:20px;gap:12px}
.sortie-fenetre-page .valide-elements li{font-size:15px;color:var(--base-ink-2)}
.sortie-fenetre-page .action{margin-top:24px}
.sortie-fenetre-cacher{height:42px;line-height:1;background:var(--base-sheet);font-size:20px;color:var(--base-dim);position:absolute;border-radius:50%;cursor:pointer;width:42px;border:1px solid var(--base-edge);display:grid;top:16px;right:16px;place-items:center}
.sortie-fenetre-suite{font-size:13.5px;background:none;cursor:pointer;border:0;margin:14px auto 0;color:var(--base-dim);text-decoration:underline;display:block}
@media(max-width:640px){.sortie-fenetre{display:none!important}}
.budget-panneau{background:#fffdff;border-radius:20px;width:100%;max-width:520px;margin:0 auto;box-shadow:0 24px 60px rgba(15,29,50,.10),0 2px 6px rgba(15,29,50,.05);padding:30px 30px 26px}
.budget-tete{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.budget-sigle{display:flex;align-items:center;gap:10px}
.budget-sigle b{font-size:15px;font-weight:600;color:#111a35}
.budget-image{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#b7fd2e,#518f20);flex:none;display:grid;place-items:center;color:#111a35;font-weight:800;font-size:16px;line-height:1}
.budget-vignette{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#518f20;background:rgba(181,255,46,.14);padding:6px 11px;border-radius:999px;white-space:nowrap}
.etapes-bande{height:5px;border-radius:999px;background:#eef3f5;margin:0 0 18px;overflow:hidden}
.etape-rempli{display:block;height:100%;width:22%;background:#b7fd2e;border-radius:999px}
.budget-nom{font-size:21px;font-weight:700;letter-spacing:-.02em;margin:4px 0 4px;line-height:1.2;color:#111a35}
.tete-sstitre{margin:0 0 18px;color:#7080ae;font-size:14px;line-height:1.5}
.budget-grille{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.budget-element{margin-bottom:13px}
.formulaire-nom{display:block;font-size:13px;font-weight:500;color:#394152;margin-bottom:6px}
.formulaire-ctrl{width:100%;height:48px;border:1.6px solid #e4ebf2;border-radius:12px;padding:0 14px;font:inherit;font-size:15px;color:#111a35;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
.formulaire-ctrl::placeholder{color:#b3bdd7}
.formulaire-ctrl:focus{border-color:#b7fd2e;box-shadow:0 0 0 4px rgba(181,255,46,.14)}
.budget-element-clos .formulaire-ctrl{border-color:#e5464e;box-shadow:0 0 0 3px rgba(227,72,78,.13)}
.budget-sstitre{display:block;margin-top:5px;font-size:12px;font-weight:600;color:#e5464e}
.budget-sstitre[hidden]{display:none}
.budget-partie{display:flex;gap:10px;flex-wrap:wrap}
.budget-partie label{flex:1;min-width:120px;margin:0;cursor:pointer;display:flex}
.budget-partie input{position:absolute;opacity:0;width:0;height:0}
.puce{flex:1;min-height:48px;border:1.6px solid #d9ddeb;border-radius:12px;background:#fff;color:#7080ae;font:inherit;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;text-align:center;transition:.15s}
.budget-partie label:hover .puce{border-color:#b8c3e6}
.budget-partie input:checked+.puce{border-color:#b7fd2e;background:rgba(181,255,46,.14);color:#518f20}
.budget-mise-avant{width:100%;height:52px;border:0;border-radius:12px;background:#b7fd2e;color:#111a35;font:inherit;font-size:16px;font-weight:600;cursor:pointer;margin-top:6px;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 8px 20px rgba(181,255,46,.14);transition:.15s}
.budget-mise-avant:hover{filter:brightness(.92)}
.budget-precision{margin:14px 0 0;font-size:11px;line-height:1.5;color:#99a5c1;text-align:center}
.budget-rempli{text-align:center;padding:22px 6px 14px}
.coche-sym{width:60px;height:60px;margin:4px auto 16px;border-radius:50%;background:#23a06a;color:#fff;display:grid;place-items:center;font-size:31px;font-weight:800;line-height:1;box-shadow:0 10px 26px rgba(35,162,105,.30)}
.budget-ttl{margin:0 0 7px;font-size:20px;font-weight:800;color:#111a35}
.budget-ligne{margin:0 auto;max-width:340px;color:#7080ae;font-size:14.5px;line-height:1.55}
@media (max-width:400px){.budget-grille{grid-template-columns:1fr}}
