@font-face{
  font-family:'Inter';
  font-style:normal;font-weight:300 700;font-display:swap;
  src:url('../webfonts/inter-latin.woff2') format('woff2');
}
@font-face{
  font-family:'Newsreader';
  font-style:normal;font-weight:400 600;font-display:swap;
  src:url('../webfonts/newsreader-latin.woff2') format('woff2');
}
@font-face{
  font-family:'Newsreader';
  font-style:italic;font-weight:400 600;font-display:swap;
  src:url('../webfonts/newsreader-italic-latin.woff2') format('woff2');
}

:root{

  --ink:#3d493c;
  --ink-deep:#2d3a2a;
  --primary:#d7b48e;
  --primary-dark:#b06c3d;
  --sky:#eeead9;
  --sky-50:#e5d8c8;
  --back:#f7efe2;
  --surface:#fefdfd;
  --ink-text:#22251c;
  --ink-deep-text-2:#5c554c;
  --faint:#8c8273;
  --edge:#e5d8c8;
  --edge-deep:#daccb4;
  --primary-50:#ede5d4;
  --positive:#3a7e50; --positive-back:#e7efe9; --positive-edge:#cee2c9;
  --red:#b3532f;   --red-back:#f5e9e0;   --red-edge:#e8ccbd;
  --amber:#dfa42f;

  --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;

  --ro-sm:8px; --ro-md:12px; --ro-lg:16px; --ro-xl:22px; --ro-2xl:30px; --ro-pill:999px;

  --sh-sm:0 3px 12px rgba(34,37,28,.08);
  --sh-md:0 16px 42px rgba(34,37,28,.08);
  --sh-lg:0 28px 66px rgba(34,37,28,.14);

  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --display:'Newsreader','Iowan Old Style',Georgia,serif;
  --font-title:'Newsreader','Iowan Old Style',Georgia,serif;
  --maxw:1200px;
  --gutter:clamp(16px,4vw,44px);
}

*{box-sizing:border-box}
html{scrollbar-gutter:stable;overflow-x:hidden;scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
body{line-height:1.62;background:var(--back);margin:0;font-family:var(--sans);
  color:var(--ink-text);font-size:16.5px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{height:auto;width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font-family:inherit}
h1,h2{font-family:var(--display);line-height:1.08;letter-spacing:-.015em;margin:0;font-weight:450;font-optical-sizing:auto}
h3{font-family:var(--sans);margin:0;letter-spacing:-.005em;font-weight:700;line-height:1.25}
::selection{color:var(--ink);background:var(--primary)}
:focus-visible{border-radius:4px;outline:3px solid var(--primary-dark);outline-offset:2px}
.brillants .brillant{opacity:.28}.brillants .brillant.rempli{opacity:1}
.travail-vignette-phare .valide-liste li::before{color:var(--primary)}
.travail-vignette-phare .valide-liste li{color:rgba(247,239,226,.82)}
.volet-tel{z-index:1100;display:flex;transition:transform .3s cubic-bezier(.4,0,.2,1),visibility .3s;overflow-y:auto;top:0;width:min(320px,86vw);
  transform:translateX(100%);background:var(--surface);position:fixed;
  right:0;height:100%;
  box-shadow:var(--sh-lg);
  flex-direction:column;padding:84px 22px 22px;visibility:hidden}
.volet-tel.affiche{visibility:visible;transform:translateX(0)}
.volet-tel nav{flex-direction:column;display:flex}
.volet-tel a:not(.bouton){color:var(--ink-text);border-bottom:1px solid var(--edge);padding:15px 2px;font-weight:600;font-size:16px}
.volet-tel a:not(.bouton):hover{color:var(--primary-dark)}
.volet-tel a.bouton{justify-content:center;margin-top:var(--s-6)}

.page{gap:clamp(32px,5vw,60px);display:grid;grid-template-columns:1fr 1fr;align-items:center}
.page-contenu .ttl{margin-top:16px}
.page-contenu>p{margin:18px 0 0;color:var(--ink-deep-text-2);font-size:17px}
.page-sstitre{margin-top:16px}

.album-entete{flex-wrap:wrap;display:flex;align-items:flex-end;gap:16px;
  justify-content:space-between;margin-bottom:36px}
.album-entete .ttl{margin-top:14px}
.album-ctrl{display:flex;gap:10px}
.score{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.score .index{font-weight:700;font-size:14px}
.score .nb{font-size:13px;color:var(--faint)}
.ttl{font-family:var(--display);line-height:1.08;letter-spacing:-.015em;
  font-weight:450;font-optical-sizing:auto;font-size:clamp(28px,4.2vw,48px);margin:0}
.preuve-detail{color:var(--ink-deep-text-2);font-size:13px}
.preuve-detail strong{font-family:var(--display);font-weight:500;color:var(--ink-text);font-size:16px}
.preuve-lien{color:var(--ink-deep-text-2)}
.forces-liste{margin:26px 0 0;padding:0;list-style:none;display:grid;gap:13px}
.forces-liste li{font-weight:500;gap:12px;display:flex;align-items:flex-start}
.forces-liste li::before{content:"\2713";margin-top:2px;height:22px;color:#fefdfd;flex:none;font-size:12px;
  display:grid;border-radius:7px;background:var(--primary-dark);font-weight:800;width:22px;place-items:center}
.identite{font-family:var(--display);font-weight:500;display:inline-flex;
  gap:12px;color:var(--ink-text);font-size:22px;align-items:center;letter-spacing:-.015em}
.identite-image{height:42px;width:42px;position:relative;background:linear-gradient(150deg,var(--primary-dark),var(--primary));
  flex:none;border-radius:13px;box-shadow:0 8px 18px rgba(176,108,61,.27);display:inline-grid;place-items:center}
.identite-image::after{content:none}
.resultat-index{color:var(--ink);font-family:var(--display);font-weight:450;
  font-optical-sizing:auto;letter-spacing:-.02em;line-height:1;font-size:clamp(36px,5vw,56px)}
.resultat-contenu{font-size:15px;margin-top:10px;color:var(--ink-deep-text-2)}

.societes-rangee{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.brillants{gap:2px;display:inline-flex;color:var(--amber)}
.brillants svg,.brillant{height:16px;fill:var(--amber);width:16px}
.atout{font-weight:500;background:rgba(254,253,253,.11);font-size:15px;align-items:center;border:1px solid rgba(254,253,253,.14);color:#fefdfd;
  padding:13px 15px;gap:11px;border-radius:14px;display:flex;backdrop-filter:blur(6px)}
.atout i{flex:none;color:var(--ink);width:24px;border-radius:50%;display:grid;height:24px;
  font-style:normal;font-size:13px;background:var(--primary);font-weight:800;place-items:center}

.site-barre{position:fixed;background:rgba(236,246,250,.82);backdrop-filter:blur(14px);top:0;border-bottom:1px solid var(--edge);
  z-index:100;left:0;
  right:0}
.site-barre-corps{align-items:center;display:flex;padding-block:14px;gap:24px}
.tetes{display:flex}

.travaux-rangee{gap:22px;display:grid;grid-template-columns:repeat(3,1fr)}
.balise svg,.societe-situation svg{width:16px;height:16px}
.score{align-items:center;display:flex;gap:6px}

.ecran-couverture{background:var(--ink);background-image:linear-gradient(rgba(45,58,42,.88),rgba(29,34,24,.93)),var(--hero-img,linear-gradient(120deg,var(--ink-deep),var(--ink)));
  background-size:cover;
  background-position:center;color:#fefdfd;position:relative}
.ecran-couverture .conteneur{padding-block:clamp(88px,9vw,110px) clamp(40px,6vw,64px)}
.ecran-couverture h1{margin:8px 0;letter-spacing:-.015em;font-family:var(--display);font-size:clamp(32px,4.5vw,48px);font-weight:450;font-optical-sizing:auto}
.ecran-couverture .conteneur>p{color:rgba(247,239,226,.87);font-size:17.5px;max-width:640px}
.ecran-couverture-contact .conteneur{padding-bottom:clamp(48px,7vw,72px)}
.ecran-couverture-contact .couverture-rangee{margin-top:var(--s-4)}
.corps-menu .bouton{margin-left:8px}
.corps-menu{margin-left:auto;gap:28px;align-items:center;display:flex}

.couverture .relief{color:var(--primary)}
.societe-situation{display:flex;font-size:14px;align-items:flex-start;color:var(--ink-deep-text-2);gap:8px}
.societe-situation .balise{flex:none;margin-top:2px}
.tete{height:38px;width:38px;background:var(--sky);border-radius:50%;object-fit:cover;border:2px solid var(--surface)}
.tete+.tete{margin-left:-12px}
.tete-suite{margin-left:-12px;place-items:center;border:2px solid var(--surface);color:#fefdfd;
  height:38px;display:grid;border-radius:50%;background:var(--ink);font-size:12px;font-weight:700;width:38px}
.geo-vignette{overflow:hidden;background:var(--sky);border-radius:var(--ro-xl);position:relative;
  box-shadow:var(--sh-md);aspect-ratio:4/3;border:1px solid var(--edge)}
.geo-vignette iframe{position:absolute;inset:0;width:100%;border:0;display:block;height:100%}
.geo-vignette.charge .geo-cadre-vide{display:none}
.geo-attente{cursor:pointer}
.geo-cadre-vide{color:var(--ink-text);background:linear-gradient(135deg,#ede7d8,#e5d8c8);display:flex;gap:14px;border:0;position:absolute;
  flex-direction:column;text-align:center;font-weight:700;cursor:pointer;align-items:center;justify-content:center;
  inset:0;font-size:17px;padding:24px;width:100%;height:100%}
.geo-balise{transform:rotate(-45deg);display:grid;width:56px;height:56px;box-shadow:var(--sh-md);place-items:center;
  background:var(--ink);border-radius:50% 50% 50% 4px}
.geo-balise::after{background:var(--primary);height:16px;border-radius:50%;width:16px;content:""}
.geo-cadre-vide p{margin:0;font-size:14px;max-width:260px;color:var(--ink-deep-text-2);font-weight:500}

.resultats-rangee{text-align:center;display:grid;gap:24px;grid-template-columns:repeat(4,1fr)}

.proposition-vignette{padding:30px;color:var(--ink-text);border-radius:var(--ro-xl);
  border:1px solid var(--edge);background:var(--surface);box-shadow:var(--sh-lg)}
.proposition-vignette .ttl{font-size:27px;margin:12px 0 4px}
.proposition-vignette .sstitre{margin:0 0 20px;color:var(--ink-deep-text-2);font-size:15px}
.proposition-vignette .exergue{color:var(--primary-dark)}
.proposition-vue{min-height:520px;background:var(--sky);width:100%;border:0;border-radius:var(--ro-md)}
.couverture-atouts{padding:0;max-width:520px;grid-template-columns:1fr 1fr;list-style:none;gap:12px;
  display:grid;margin-top:38px}
.preuve-score{gap:14px;border-left:1px solid var(--edge);display:flex;align-items:center;padding-left:26px}
.zone{padding-block:clamp(52px,7.5vw,100px)}
.zone-second{background:var(--surface)}
.album-bande{padding-bottom:8px;display:flex;scroll-snap-type:x mandatory;gap:20px;
  scrollbar-width:none;overflow-x:auto}
.album-bande::-webkit-scrollbar{display:none}
.album-cellule{border-radius:var(--ro-xl);scroll-snap-align:start;flex:0 0 clamp(280px,42%,440px);
  position:relative;box-shadow:var(--sh-md);background:var(--sky);margin:0;
  border:1px solid var(--edge);overflow:hidden}
.album-cellule .vue{aspect-ratio:4/3;width:100%;object-fit:cover}
.album-cellule figcaption{left:0;font-weight:600;right:0;position:absolute;font-size:15px;
  background:linear-gradient(180deg,transparent,rgba(34,37,28,.82));padding:26px 18px 16px;bottom:0;color:#fefdfd}
.img-carre{flex:none;display:grid;color:var(--primary-dark);height:48px;place-items:center;
  background:var(--primary-50);width:48px;border-radius:14px}
.img-carre svg{width:23px;height:23px}
.couverture-nom{font-family:var(--display);margin-top:22px;color:#fefdfd;letter-spacing:-.025em;
  text-shadow:0 2px 30px rgba(21,17,10,.42);line-height:1.02;font-weight:450;font-optical-sizing:auto;
  font-size:clamp(40px,6.2vw,70px)}
.couverture-accroche{font-size:clamp(16px,2.1vw,20px);margin-top:22px;color:rgba(247,239,226,.93);max-width:520px}
.couverture-boutons{gap:16px;margin-top:30px;flex-wrap:wrap;align-items:center;display:flex}
.relief{font-family:var(--font-title);font-style:italic;color:var(--primary-dark);font-weight:400}

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

.info{display:grid;gap:clamp(20px,3vw,28px)}
.saisie{font-size:15.5px;font-family:inherit;padding:14px 15px;background:var(--surface);
  color:var(--ink-text);width:100%;border:1px solid var(--edge-deep);border-radius:14px}
.saisie:focus{border-color:var(--primary-dark);box-shadow:0 0 0 3px rgba(31,110,222,.16);outline:none}
.ctrl-bouton{box-shadow:var(--sh-sm);color:var(--ink-text);height:52px;border-radius:50%;font-size:20px;
  background:var(--surface);width:52px;border:1px solid var(--edge);cursor:pointer;place-items:center;display:grid}
.ctrl-bouton:hover{background:var(--ink);color:#fefdfd;border-color:var(--ink)}
.ctrl-bouton svg{height:20px;width:20px}
.tag-puce::before{height:9px;border-radius:50%;width:9px;content:"";background:var(--primary)}
.exergue{gap:9px;display:inline-flex;font-weight:700;
  letter-spacing:.14em;color:var(--primary-dark);text-transform:uppercase;
  align-items:center;font-size:12.5px}
.exergue::before{background:var(--primary-dark);flex:none;width:8px;height:8px;
  content:"";border-radius:50%}
.type{margin-top:-3px;font-size:13px;color:var(--ink-deep-text-2)}
.tag{border-radius:var(--ro-pill);padding:5px 11px;font-weight:700;font-size:12px;gap:6px;
  flex:none;border:1px solid transparent;display:inline-flex;align-items:center}
.tag .rond{line-height:1;font-size:10px}
.tag-dispo{border-color:var(--positive-edge);color:var(--positive);background:var(--positive-back)}
.tag-ferme{border-color:var(--red-edge);background:var(--red-back);color:var(--red)}

.burger{z-index:1105;position:fixed;display:none;padding:6px;flex-direction:column;background:none;border:none;gap:5px;top:16px;right:18px;cursor:pointer}
.burger span{height:3px;display:block;transition:transform .3s ease,opacity .3s ease;width:26px;background:var(--ink-text);border-radius:2px}
.burger.affiche span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.burger.affiche span:nth-child(2){opacity:0}
.burger.affiche span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}

.promo-panneau{padding:clamp(44px,6vw,76px);position:relative;overflow:hidden;
  background:var(--ink);border-radius:var(--ro-2xl);text-align:center;background-image:linear-gradient(120deg,var(--ink),var(--ink-deep)),repeating-linear-gradient(90deg,rgba(254,253,253,.03) 0 1px,transparent 1px 30px)}
.promo-motif{width:240px;height:240px;pointer-events:none;background:radial-gradient(circle,rgba(176,108,61,.32),transparent 70%);border-radius:50%;position:absolute;
  top:-40px;right:-40px}
.promo-contenu{max-width:640px;position:relative;margin:0 auto}
.promo-contenu .ttl{color:#fefdfd}
.promo-contenu p{font-size:18px;margin:18px 0 32px;color:rgba(247,239,226,.82)}
.promo-contenu .bouton{margin-top:0}

.bouton{transition:background .18s,color .18s,transform .18s,box-shadow .18s;border-radius:var(--ro-pill);cursor:pointer;justify-content:center;
  display:inline-flex;border:1px solid transparent;min-height:54px;
  gap:10px;font-weight:650;white-space:nowrap;font-size:15.5px;
  align-items:center;padding:15px 26px}
.bouton svg{width:18px;height:18px}
.bouton:hover{transform:translateY(-2px)}
.bouton-xs{font-size:14px;padding:10px 18px;min-height:0}
.bouton-gd{font-size:16.5px;padding:18px 32px;min-height:60px}
.bouton-bloc{width:100%}
.bouton-action{color:#fefdfd;box-shadow:0 10px 24px rgba(45,58,42,.27);background:var(--ink)}
.bouton-action:hover{color:#fefdfd;box-shadow:0 16px 32px rgba(45,58,42,.32);background:var(--ink-deep)}
.bouton-relief{background:var(--primary-dark);color:#fefdfd;box-shadow:0 10px 24px rgba(176,108,61,.32)}
.bouton-relief:hover{color:#fefdfd;background:#97562f}
.bouton-secondaire{color:var(--ink-text);border-color:var(--edge);background:var(--surface)}
.bouton-secondaire:hover{background:var(--sky)}
.bouton-sombre{background:var(--ink);color:#fefdfd}
.bouton-sombre:hover{background:var(--ink-deep)}
.bouton-clair{background:var(--surface);color:var(--ink)}
.bouton-clair:hover{background:var(--sky)}
.menu-calque{background:rgba(29,23,20,.52);opacity:0;inset:0;transition:opacity .25s,visibility .25s;position:fixed;z-index:1090;visibility:hidden}
.menu-calque.affiche{visibility:visible;opacity:1}

.couverture{background:var(--ink);background-image:linear-gradient(100deg,rgba(29,34,24,.91),rgba(45,58,42,.81) 42%,rgba(61,73,60,.46) 100%),var(--hero-img,linear-gradient(120deg,#485944,#2d3a2a));
  background-size:cover;
  background-position:center;position:relative;color:#fefdfd}
.couverture-corps{padding-block:clamp(88px,11vw,120px) clamp(120px,16vw,190px)}
.couverture-rangee{display:grid;gap:48px;align-items:center;grid-template-columns:1.1fr .9fr}
.couverture-contenu{max-width:640px}
.couverture .exergue,.tag-puce{font-weight:650;border-radius:var(--ro-pill);gap:8px;font-size:12.5px;
  backdrop-filter:blur(6px);letter-spacing:.06em;background:rgba(254,253,253,.12);
  color:#fefdfd;align-items:center;display:inline-flex;padding:8px 15px;border:1px solid rgba(254,253,253,.27);text-transform:uppercase;box-shadow:none}
.intro-tete{max-width:680px;text-align:center;margin:0 auto clamp(32px,5vw,52px)}
.intro-tete .ttl{margin-top:14px}
.intro-tete .accroche{margin-top:16px}
.societe-vignette{padding:20px;align-items:flex-start;transition:box-shadow .2s,transform .2s;border:1px solid var(--edge);
  box-shadow:var(--sh-sm);border-radius:var(--ro-lg);gap:16px;display:flex;
  background:var(--surface)}
.societe-vignette:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.societe-image{width:60px;overflow:hidden;place-items:center;color:#fefdfd;border-radius:16px;font-family:var(--display);position:relative;
  height:60px;line-height:1;display:grid;
  font-weight:600;flex:none;background:linear-gradient(150deg,var(--ink),var(--primary-dark));font-size:22px}
.societe-image::after{inset:0;background:linear-gradient(150deg,rgba(254,253,253,.24),transparent 62%);position:absolute;content:""}
.societe-ident{flex:1;gap:8px;min-width:0;display:flex;flex-direction:column}
.societe-entete{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}
.societe-entete h3{line-height:1.25;font-size:17px}
.valide-liste{gap:10px;padding:0;margin:0;list-style:none;display:grid}
.valide-liste li{align-items:center;gap:10px;color:var(--ink-deep-text-2);font-size:14.5px;display:flex}
.valide-liste li::before{font-weight:800;font-size:13px;flex:none;content:"\2713";color:var(--primary-dark)}

.temps-rangee{display:grid;gap:22px;grid-template-columns:repeat(4,1fr)}
.temps-vignette{border:1px solid var(--edge);box-shadow:var(--sh-sm);background:var(--surface);border-radius:var(--ro-xl);
  position:relative;padding:30px 28px}
.temps-vignette:not(:last-child)::after{right:-15px;height:2px;background:var(--edge-deep);top:56px;z-index:1;width:30px;content:"";position:absolute}
.temps-index{width:56px;border-radius:16px;place-items:center;display:grid;
  font-family:var(--display);height:56px;font-weight:500;background:var(--primary-50);color:var(--primary-dark);margin-bottom:20px;font-size:20px}
.temps-nom{font-family:var(--sans);font-weight:700;font-size:19px;margin:0 0 8px}
.temps-contenu{margin:0;color:var(--ink-deep-text-2);font-size:14.5px}
.fil{padding:12px 0 24px;list-style:none;flex-wrap:wrap;align-items:center;margin:0;display:flex;font-size:13px;color:rgba(247,239,226,.78)}
.fil li+li::before{opacity:.6;content:"\203A";margin-inline:6px}
.fil a{color:rgba(247,239,226,.78)}
.fil a:hover{color:#fefdfd}
.fil li:last-child{color:#fefdfd;font-weight:600}

.conteneur{padding-inline:var(--gutter);max-width:var(--maxw);margin:0 auto}
.accroche{font-size:clamp(16px,2vw,19px);color:var(--ink-deep-text-2)}
.menu-lien{font-weight:600;color:var(--ink-deep-text-2);padding-block:6px;transition:color .18s;font-size:15px;position:relative}.menu-lien::after{transition:transform .22s ease;transform:scaleX(0);background:var(--ink);left:0;transform-origin:left;content:"";width:100%;bottom:-2px;position:absolute;height:2px}
.menu-lien:hover{color:var(--ink)}.menu-lien:hover::after{transform:scaleX(1)}
.travail-vignette{border:1px solid var(--edge);border-radius:var(--ro-xl);background:var(--surface);
  transition:transform .2s,box-shadow .2s;display:flex;padding:32px;box-shadow:var(--sh-sm);flex-direction:column;
  gap:16px}
.travail-vignette:hover{box-shadow:var(--sh-md);transform:translateY(-4px)}
.travail-vignette .img-carre{height:56px;width:56px;background:var(--primary-50);border-radius:16px}
.travail-vignette .img-carre svg{height:26px;width:26px}
.travail-vignette h3{font-size:21px}
.travail-vignette>p{margin:0;color:var(--ink-deep-text-2);font-size:15.5px;flex:1}
.travail-vignette-phare{background:var(--ink);border-color:var(--ink);background-image:linear-gradient(rgba(254,253,253,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(254,253,253,.03) 1px,transparent 1px);background-size:44px 44px;color:#fefdfd}
.travail-vignette-phare h3{letter-spacing:-.015em;font-family:var(--display);font-weight:450;font-size:26px;color:#fefdfd}
.travail-vignette-phare>p{color:rgba(247,239,226,.82)}
.travail-vignette-phare .img-carre{background:rgba(254,253,253,.15);color:var(--primary)}
.demarrer-lien{gap:10px;display:inline-flex;align-items:center;font-weight:650;font-size:16px;color:#fefdfd}
.demarrer-lien:hover{color:var(--primary)}
.demarrer-lien .demarrer{height:46px;width:46px;border-radius:50%;background:rgba(254,253,253,.15);
  align-items:center;border:1px solid rgba(254,253,253,.3);justify-content:center;transition:background .18s,transform .18s;
  display:inline-flex}
.demarrer-lien:hover .demarrer{transform:scale(1.06);background:rgba(254,253,253,.24)}
.demarrer-lien .demarrer::after{margin-left:3px;content:"";border-left:10px solid #fefdfd;border-top:7px solid transparent;
  width:0;height:0;border-bottom:7px solid transparent}
@media(min-width:1024px){.info{grid-template-columns:1.05fr .95fr;gap:32px;align-items:start}}
.info-municipal{border:1px solid var(--edge);display:grid;gap:12px;
  background:var(--surface);align-content:start;border-radius:var(--ro-lg);padding:24px}
.info-municipal h3{margin:0 0 2px;font-size:18px}

.encart-promo{width:min(330px,calc(100vw - 40px));box-shadow:var(--sh-lg);z-index:90;border:1px solid var(--edge);position:fixed;
  background:var(--surface);padding:22px 24px;transition:transform .3s,opacity .3s;
  border-radius:var(--ro-lg);right:20px;bottom:20px}
.encart-promo[hidden]{display:none}
.encart-promo::after{content:"";pointer-events:none;border-radius:inherit;position:absolute;animation:floatPulse 2.4s infinite;inset:0}
.encart-x{top:10px;line-height:1;background:none;font-size:20px;right:12px;cursor:pointer;
  position:absolute;border:0;color:var(--faint)}
.encart-nom{font-weight:700;font-size:16.5px;font-family:var(--display);font-weight:500;margin:0 26px 6px 0}
.encart-contenu{font-size:14px;margin:0 0 14px;color:var(--ink-deep-text-2)}
.encart-declencheur{border-radius:50% 50% 50% 8px;z-index:89;display:none;border:0;cursor:pointer;
  height:62px;justify-content:center;
  color:var(--primary);right:20px;width:62px;bottom:20px;position:fixed;box-shadow:var(--sh-lg);background:var(--ink);
  animation:floatPulse 2.4s infinite;align-items:center}
.encart-declencheur svg{width:27px;display:block;height:27px}
.encart-declencheur:hover{animation-play-state:paused;transform:scale(1.05)}
.info-chiffres{margin:0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}
.municipal-entree{font-size:15px;margin:0;gap:10px;color:var(--ink-deep-text-2);align-items:flex-start;display:flex}
.municipal-entree a{color:var(--primary-dark);font-weight:600}
.municipal-entree .balise{flex:none;margin-top:1px;color:var(--faint)}
.municipal-entree svg{width:18px;height:18px}

.region{flex-direction:column;display:flex;gap:32px}
.region-ensemble h2{margin-bottom:14px;font-size:21px}
.region-liens{gap:8px 18px;flex-wrap:wrap;display:flex}
.region-liens a{text-decoration:underline}
.bas-page-rangee{gap:34px;grid-template-columns:1.5fr 1fr 1fr 1.1fr;display:grid}
.bas-page-identite{font-family:var(--display);color:#fefdfd;font-weight:500;display:inline-flex;
  gap:12px;font-size:21px;align-items:center}
.bas-page-identite .identite-image{background:linear-gradient(150deg,var(--primary),var(--primary-dark))}
.bas-page-identite .identite-image::after{background:var(--ink)}
.bas-page-partie>p{color:rgba(247,239,226,.72);margin:14px 0 0;font-size:14.5px}
.bas-page-nom{text-transform:uppercase;font-weight:700;font-size:13px;color:#fefdfd;letter-spacing:.1em;margin-bottom:16px;font-family:var(--sans)}
.bas-page-liens{padding:0;gap:11px;margin:0;list-style:none;display:grid}
.bas-page-liens a{color:rgba(247,239,226,.78);font-size:14.5px}
.bas-page-liens a:hover{color:var(--primary)}
.bas-page-partie .bouton{margin-top:14px}
.chiffre{border:1px solid var(--edge);display:flex;border-radius:var(--ro-md);padding:15px 16px;background:var(--surface);
  gap:12px;align-items:center}
.chiffre-img{color:var(--primary-dark);border-radius:12px;width:42px;height:42px;background:var(--primary-50);place-items:center;display:grid;flex:none}
.chiffre-img svg{width:20px;height:20px}
.chiffre-contenu dt{color:var(--faint);margin-bottom:3px;font-size:12.5px}
.chiffre-contenu dd{margin:0;line-height:1.15;font-weight:700;font-size:16px}

.site-bas-page .bouton-action{color:var(--ink);background:var(--primary)}
.site-bas-page .bouton-action:hover{color:var(--ink);background:var(--sky)}

.site-bas-page{background:var(--ink);padding-block:clamp(52px,6vw,76px) 28px;color:rgba(247,239,226,.76)}
.ouverture{padding-left:28px;color:var(--ink-deep-text-2);display:grid;gap:5px;font-size:14px}
.legal{font-size:13px;text-align:center;margin-top:38px;
  color:rgba(247,239,226,.72);border-top:1px solid rgba(254,253,253,.15);padding-top:22px}
.horaire{gap:16px;display:flex;max-width:320px;justify-content:space-between}
.horaire strong{font-weight:600;color:var(--ink-text)}
@keyframes floatPulse{0%,100%{box-shadow:0 0 0 0 rgba(176,108,61,.47)}50%{box-shadow:0 0 0 12px rgba(176,108,61,0)}}

.corps-page{display:flex;flex-direction:column}
.corps-page .page-zone{order:1}
.corps-page .page-faq{order:2}
.faq-cellule{overflow:hidden;border:1px solid var(--edge);margin-bottom:12px;background:var(--surface);border-radius:var(--ro-md)}
.faq-cellule summary{cursor:pointer;font-weight:650;list-style:none;gap:16px;
  align-items:center;font-size:16.5px;display:flex;padding:20px 24px;justify-content:space-between}
.faq-cellule summary::-webkit-details-marker{display:none}
.faq-cellule summary::after{color:var(--primary-dark);font-size:24px;font-weight:400;content:"+"}
.faq-cellule[open] summary::after{content:"\2013"}
.faq-texte-rep{overflow:hidden;transition:height .36s cubic-bezier(.4,0,.2,1)}
.faq-texte-rep-corps{padding:0 24px 20px;color:var(--ink-deep-text-2)}

.texte-riche{max-width:760px;margin:0 auto}
.texte-riche h2{font-family:var(--display);font-weight:450;margin:34px 0 12px;font-size:clamp(23px,3vw,31px);letter-spacing:-.015em}
.texte-riche p{color:var(--ink-deep-text-2);margin:14px 0}
.texte-riche ul{padding-left:20px;color:var(--ink-deep-text-2)}
.texte-riche a:not(.bouton){color:var(--primary-dark);text-decoration:underline}
.releve-detail{font-size:13px;font-style:italic;color:var(--faint)}

.chercher-contact{display:flex;max-width:520px;gap:12px;flex-wrap:wrap}
.chercher-contact .saisie{min-width:200px;flex:1}
.chercher-nb{margin:20px 0;color:var(--ink-deep-text-2)}
.contact{max-width:620px;gap:16px;display:grid}
.contact-cellule{gap:6px;display:grid}
.contact-cellule label{font-weight:600;font-size:14px}
.contact-cellule textarea.saisie{min-height:150px;resize:vertical}
.contact-detail{border-radius:var(--ro-md);padding:14px 16px;font-size:14px}
.contact-detail-rempli{border:1px solid var(--positive-edge);background:var(--positive-back);color:var(--positive)}
.contact-detail-ferme{color:var(--red);background:var(--red-back);border:1px solid var(--red-edge)}

.page-zone h1{margin-bottom:16px;font-family:var(--display);letter-spacing:-.015em;font-weight:450;font-size:clamp(29px,4vw,42px)}
.page-zone h2{font-family:var(--display);margin:32px 0 12px;font-weight:450;font-size:clamp(21px,2.6vw,27px);letter-spacing:-.015em}
.page-zone p,.page-zone li{color:var(--ink-deep-text-2)}
.page-zone ul{padding-left:20px}
.page-zone .releve-cadre{margin:18px 0;overflow-x:auto}
.page-zone table{width:100%;border-collapse:collapse;font-size:15px}
.page-zone th,.page-zone td{border:1px solid var(--edge);text-align:left;padding:12px 14px}
.page-zone thead th{background:var(--sky);font-weight:700}

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

@media(max-width:1023px){
  .travaux-rangee,.societes-rangee,.temps-rangee,.resultats-rangee{grid-template-columns:repeat(2,1fr)}
  .bas-page-rangee{grid-template-columns:1fr 1fr}
  .temps-vignette:not(:last-child)::after{display:none}
}
@media(max-width:860px){
  .corps-menu{display:none}
  .burger{display:flex}
  .couverture-rangee{grid-template-columns:1fr;gap:32px}
  .couverture-rangee>div:last-child{order:-1}
  .page{grid-template-columns:1fr}
  .preuve-ruban{grid-template-columns:1fr 1fr}
  .preuve-score{grid-column:1/-1;padding-left:0;border-left:0;border-top:1px solid var(--edge);padding-top:18px}
}
@media(max-width:520px){
  .travaux-rangee,.societes-rangee,.temps-rangee,.preuve-ruban{grid-template-columns:1fr}
  .resultats-rangee{grid-template-columns:1fr 1fr}
  .bas-page-rangee{grid-template-columns:1fr}
  .couverture-atouts{grid-template-columns:1fr}
  .preuve-score{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

.ultime-popup{position:fixed;inset:0;z-index:1200;background:rgba(29,23,20,.54);display:none;align-items:center;justify-content:center;backdrop-filter:blur(3px);padding:20px}
.ultime-popup.charge{display:flex}
.ultime-popup-vignette{position:relative;display:grid;border-radius:var(--ro-2xl);width:100%;background:var(--surface);color:var(--ink-text);max-width:860px;overflow:hidden;grid-template-columns:.8fr 1fr;box-shadow:var(--sh-lg)}
.ultime-popup-volet{color:#fefdfd;flex-direction:column;background:linear-gradient(160deg,var(--ink),var(--ink-deep));display:flex;padding:clamp(28px,4vw,44px);overflow:hidden;position:relative;justify-content:center}
.ultime-popup-volet::after{right:-28%;position:absolute;width:86%;height:86%;border-radius:50%;border:20px solid rgba(254,253,253,.08);content:"";bottom:-28%}
.ultime-popup-index{font-family:var(--display);font-weight:700;position:relative;color:var(--primary);line-height:.85;font-size:clamp(64px,9vw,104px)}
.ultime-popup-volet p{font-size:17px;position:relative;margin-top:12px;max-width:190px;font-weight:600}
.ultime-popup-corps{padding:clamp(28px,4vw,48px);position:relative}
.ultime-popup-corps .exergue{margin-bottom:14px}
.ultime-popup-corps .ttl{font-size:clamp(25px,3.2vw,37px)}
.ultime-popup-corps .accroche{margin-top:12px}
.ultime-popup-corps .valide-liste{margin-top:20px;gap:12px}
.ultime-popup-corps .valide-liste li{font-size:15px}
.ultime-popup-corps .bouton{margin-top:24px}
.ultime-popup-x{position:absolute;color:var(--faint);border-radius:50%;cursor:pointer;display:grid;top:16px;place-items:center;border:1px solid var(--edge);height:42px;line-height:1;width:42px;right:16px;background:var(--surface);font-size:20px}
.ultime-popup-refuser{cursor:pointer;background:none;font-size:13.5px;border:0;text-decoration:underline;display:block;margin:14px auto 0;color:var(--faint)}
@media(max-width:640px){.ultime-popup{display:none!important}}
