/* =========================================================================
   Convive — feuille de style unique.
   Palette definie en clair sur :root, redefinie en sombre : aucune couleur
   n'existe uniquement dans le bloc sombre.
   ========================================================================= */
:root{
  --fond:#fbfaf8; --carte:#ffffff; --doux:#f4f0ea; --doux2:#ece6dd;
  --txt:#181410; --txt2:#5f5449; --txt3:#8e8175;
  --bord:#e8e1d7; --bord2:#d8cec1;
  --acc:#c0532f; --acc2:#9d3f21; --acc-d:#fdefe8;
  --ok:#3d6b53; --ok-d:#e8f1ea;
  --warn:#8f5b12; --warn-d:#fbf0dc;
  --o1:0 1px 2px rgba(24,20,16,.05);
  --o2:0 2px 4px rgba(24,20,16,.05), 0 12px 28px -14px rgba(24,20,16,.18);
  --o3:0 4px 10px rgba(24,20,16,.07), 0 24px 48px -20px rgba(24,20,16,.26);
  --r:16px; --r2:22px;
  --serif:ui-serif,"New York","Iowan Old Style",Georgia,serif;
  --sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,sans-serif;
  --max:1180px;
}
@media (prefers-color-scheme:dark){
  :root{
    --fond:#100e0d; --carte:#1a1715; --doux:#221e1b; --doux2:#2c2723;
    --txt:#f3ede6; --txt2:#b7a99c; --txt3:#8a7d71;
    --bord:#2c2622; --bord2:#3d3630;
    --acc:#e4805c; --acc2:#f09b79; --acc-d:#2a1a13;
    --ok:#7fb894; --ok-d:#17251c;
    --warn:#d9a45e; --warn-d:#241a0f;
    --o1:0 1px 2px rgba(0,0,0,.4);
    --o2:0 2px 4px rgba(0,0,0,.35), 0 12px 28px -14px rgba(0,0,0,.7);
    --o3:0 4px 10px rgba(0,0,0,.45), 0 24px 48px -20px rgba(0,0,0,.9);
  }
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;max-width:100%}
body{
  background:var(--fond);color:var(--txt);font-family:var(--sans);
  font-size:16px;line-height:1.6;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
em{font-style:italic;color:var(--acc)}
main{max-width:var(--max);margin:0 auto;padding:0 20px 80px}
@media(min-width:900px){main{padding:0 32px 100px}}

/* ------------------------------------------------------------- en-tete */
.tete{
  position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;
  padding:13px 20px;background:color-mix(in srgb,var(--fond) 88%,transparent);
  backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--bord);
}
@media(min-width:900px){.tete{padding:15px 32px;gap:32px}}
.marque{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--txt);flex-shrink:0}
.logo{width:34px;height:22px;overflow:visible}
.lo-a,.lo-b{fill:none;stroke:var(--acc);stroke-width:2.1}
.lo-x{fill:var(--acc);opacity:.9;stroke:none}
.marque-nom{font-family:var(--serif);font-size:21px;letter-spacing:-.015em;font-weight:600}
.nav{display:none;gap:4px;margin-left:auto}
@media(min-width:900px){.nav{display:flex}}
.nav button{
  font-family:inherit;font-size:14.5px;color:var(--txt2);background:none;border:none;
  cursor:pointer;padding:8px 13px;border-radius:9px;transition:.16s;
}
.nav button:hover{color:var(--txt);background:var(--doux)}
.nav button.actif{color:var(--acc);background:var(--acc-d)}
.burger{
  margin-left:auto;background:none;border:1px solid var(--bord2);border-radius:9px;
  width:38px;height:34px;display:flex;flex-direction:column;justify-content:center;
  align-items:center;gap:4px;cursor:pointer;
}
@media(min-width:900px){.burger{display:none}}
.burger span{width:15px;height:1.5px;background:var(--txt);border-radius:2px;transition:.2s}
.nav.ouvert{
  display:flex;flex-direction:column;position:absolute;top:100%;right:14px;left:14px;
  background:var(--carte);border:1px solid var(--bord);border-radius:var(--r);
  padding:8px;box-shadow:var(--o3);gap:2px;
}
.nav.ouvert button{text-align:left;padding:12px 14px;font-size:16px}

/* --------------------------------------------------------- bandeau demo */
.bandeau-demo{
  max-width:var(--max);margin:16px auto 0;padding:9px 16px;
  background:var(--warn-d);border:1px solid var(--bord2);border-radius:99px;
  font-size:12.5px;line-height:1.45;color:var(--txt2);text-align:center;
  display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;
}
@media(min-width:900px){.bandeau-demo{margin-top:20px}}
.pastille{
  background:var(--warn);color:var(--fond);font-size:10.5px;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;padding:2px 8px;border-radius:99px;
}
.bandeau-demo strong{color:var(--txt)}

/* ------------------------------------------------------------- ecrans */
.ecran{display:none;animation:ap .4s cubic-bezier(.2,.7,.3,1)}
.ecran.actif{display:block}
@keyframes ap{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* -------------------------------------------------------------- hero */
.hero{padding:40px 0 8px}
@media(min-width:900px){
  .hero{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;padding:66px 0 30px}
}
.oeil{
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);
  font-weight:650;margin-bottom:18px;
}
h1{
  font-family:var(--serif);font-size:clamp(34px,8.2vw,60px);line-height:1.07;
  font-weight:600;letter-spacing:-.028em;margin-bottom:22px;
}
.chapo{color:var(--txt2);font-size:17px;line-height:1.65;max-width:52ch;margin-bottom:28px}
.chapo strong{color:var(--txt);font-weight:600}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-bottom:36px}
.hero-chiffres{display:flex;gap:30px;padding-top:26px;border-top:1px solid var(--bord)}
.hero-chiffres div{display:flex;flex-direction:column}
.hero-chiffres strong{font-family:var(--serif);font-size:27px;line-height:1;font-weight:600}
.hero-chiffres span{font-size:12.5px;color:var(--txt3);margin-top:5px}
.hero-visuel{
  margin-top:44px;aspect-ratio:1/.92;border-radius:var(--r2);overflow:hidden;
  box-shadow:var(--o3);border:1px solid var(--bord);
}
@media(min-width:900px){.hero-visuel{margin-top:0}}
.hero-visuel svg,.hero-visuel img{width:100%;height:100%;object-fit:cover;display:block}

/* ------------------------------------------------------------ piliers */
.piliers{display:grid;gap:14px;margin:56px 0}
@media(min-width:760px){.piliers{grid-template-columns:repeat(3,1fr);gap:18px}}
.pilier{
  background:var(--carte);border:1px solid var(--bord);border-radius:var(--r);
  padding:24px;transition:.2s;
}
.pilier:hover{transform:translateY(-2px);box-shadow:var(--o2);border-color:var(--bord2)}
.pilier-ic{width:26px;height:26px;color:var(--acc);margin-bottom:14px}
.pilier-ic svg{width:100%;height:100%;display:block}
.pilier h3{font-size:17px;font-weight:640;margin-bottom:8px;letter-spacing:-.01em}
.pilier p{font-size:14.5px;color:var(--txt2);line-height:1.6}

/* ------------------------------------------------------- mise en avant */
.mise-en-avant{
  background:var(--doux);border-radius:var(--r2);padding:32px;margin-bottom:20px;
}
@media(min-width:900px){
  .mise-en-avant{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:52px}
}
.mea-texte h2{font-family:var(--serif);font-size:clamp(26px,5.5vw,38px);letter-spacing:-.022em;margin-bottom:16px;line-height:1.12}
.mea-texte p{color:var(--txt2);font-size:15.5px;margin-bottom:14px;max-width:50ch}
.mea-texte p strong{color:var(--txt)}
.mea-texte .btn{margin-top:10px}
.mea-visuel{margin-top:28px}
@media(min-width:900px){.mea-visuel{margin-top:0}}

/* ------------------------------------------------------------ boutons */
.btn{
  font-family:inherit;font-size:15.5px;font-weight:600;cursor:pointer;border-radius:11px;
  padding:13px 22px;border:1px solid transparent;transition:.16s;
  -webkit-tap-highlight-color:transparent;white-space:nowrap;
}
.btn-p{background:var(--acc2);color:#fff;box-shadow:var(--o1)}
@media (prefers-color-scheme:dark){.btn-p{background:var(--acc);color:#150f0b}}
.btn-p:hover{transform:translateY(-1px);box-shadow:var(--o2)}
.btn-p:active{transform:none}
.btn-p:disabled{opacity:.38;cursor:not-allowed;transform:none;box-shadow:none}
.btn-s{background:var(--carte);color:var(--txt);border-color:var(--bord2)}
.btn-s:hover{border-color:var(--txt3);transform:translateY(-1px)}
.lien{
  background:none;border:none;cursor:pointer;font-family:inherit;font-size:14.5px;
  color:var(--txt3);text-decoration:underline;text-underline-offset:3px;padding:12px 0;
}
.lien:hover{color:var(--acc)}

/* ------------------------------------------------------ questionnaire */
#ecran-questions{max-width:720px;margin:0 auto;padding-top:34px}
.prog{height:3px;background:var(--doux2);border-radius:99px;overflow:hidden;margin-bottom:22px}
.prog-b{height:100%;width:0;background:var(--acc);border-radius:99px;transition:width .4s cubic-bezier(.4,0,.2,1)}
.compteur{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--txt3);margin-bottom:14px}
.q-titre{font-family:var(--serif);font-size:clamp(25px,6vw,34px);line-height:1.18;letter-spacing:-.022em;margin-bottom:10px}
.q-aide{color:var(--txt2);font-size:15px;margin-bottom:26px;max-width:54ch}
.choix-liste{display:grid;gap:10px;margin-bottom:30px}
@media(min-width:600px){.choix-liste.deux{grid-template-columns:1fr 1fr}}
.choix{
  display:flex;align-items:flex-start;gap:13px;text-align:left;width:100%;
  background:var(--carte);border:1.5px solid var(--bord);border-radius:13px;
  padding:15px 17px;cursor:pointer;font-family:inherit;font-size:15.5px;color:var(--txt);
  transition:.16s;-webkit-tap-highlight-color:transparent;
}
.choix:hover{border-color:var(--bord2);transform:translateY(-1px)}
.choix.on{border-color:var(--acc);background:var(--acc-d)}
.marque-c{
  flex:0 0 19px;height:19px;margin-top:2px;border-radius:50%;
  border:1.8px solid var(--bord2);position:relative;transition:.16s;
}
.choix.multi .marque-c{border-radius:6px}
.choix.on .marque-c{border-color:var(--acc);background:var(--acc)}
.choix.on .marque-c::after{
  content:"";position:absolute;left:5.5px;top:1.5px;width:4px;height:9px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
}
.choix-t strong{display:block;font-weight:620;margin-bottom:2px;line-height:1.35}
.choix-t span{display:block;font-size:13px;color:var(--txt2);line-height:1.45}
.budget-v{font-family:var(--serif);font-size:46px;color:var(--acc);text-align:center;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.budget-l{text-align:center;color:var(--txt3);font-size:13.5px;margin-bottom:24px}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:5px;background:var(--doux2);
  border-radius:99px;outline:none;margin-bottom:8px;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--acc2);
  cursor:pointer;border:3px solid var(--fond);box-shadow:var(--o2);
}
input[type=range]::-moz-range-thumb{
  width:26px;height:26px;border-radius:50%;background:var(--acc2);cursor:pointer;
  border:3px solid var(--fond);
}
.bornes{display:flex;justify-content:space-between;font-size:12.5px;color:var(--txt3);margin-bottom:28px}
.nav-q{display:flex;gap:11px}
.nav-q .btn-p{flex:1}

/* ---------------------------------------------------------- resultats */
#ecran-resultats,#ecran-voisins{padding-top:30px}
.rappel{
  background:var(--doux);border-radius:var(--r);padding:14px 18px;margin-bottom:24px;
  font-size:14px;color:var(--txt2);
}
.rappel strong{color:var(--txt)}
.verdict{margin-bottom:22px}
.verdict h2{font-family:var(--serif);font-size:clamp(23px,5vw,31px);letter-spacing:-.02em;line-height:1.18;margin-bottom:8px}
.verdict p{color:var(--txt2);font-size:15px;max-width:60ch}
.t-groupe{
  font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--txt3);
  margin:38px 0 14px;font-weight:700;
}
.avert{
  background:var(--warn-d);border:1px solid var(--bord2);border-radius:var(--r);
  padding:17px 19px;margin-bottom:22px;
}
.avert strong{display:block;margin-bottom:5px;color:var(--txt)}
.avert p{font-size:14px;color:var(--txt2);line-height:1.55}
.fin{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:38px}

/* -------------------------------------------------------------- cartes */
.grille{display:grid;gap:16px}
@media(min-width:680px){.grille{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.grille{grid-template-columns:repeat(3,1fr)}}
.c{
  background:var(--carte);border:1px solid var(--bord);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--o1);transition:.2s;display:flex;flex-direction:column;
}
.c:hover{transform:translateY(-3px);box-shadow:var(--o2);border-color:var(--bord2)}
.c.top{border-color:var(--acc);border-width:1.5px}
.c-img{height:132px;position:relative;cursor:pointer;overflow:hidden;background:var(--doux)}
.c-img svg,.c-img img{width:100%;height:100%;object-fit:cover;display:block}
.c-rang{
  position:absolute;top:11px;left:11px;background:var(--acc2);color:#fff;font-size:10.5px;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:99px;
}
.c-score{
  position:absolute;top:10px;right:10px;background:color-mix(in srgb,var(--carte) 92%,transparent);
  backdrop-filter:blur(8px);border-radius:11px;padding:5px 9px;text-align:center;box-shadow:var(--o1);
}
.c-score b{font-family:var(--serif);font-size:19px;color:var(--acc);line-height:1;display:block;font-variant-numeric:tabular-nums}
.c-score i{font-style:normal;font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt3)}
.c-corps{padding:17px 18px 18px;display:flex;flex-direction:column;flex:1}
.c-nom{font-family:var(--serif);font-size:19px;line-height:1.22;font-weight:600;letter-spacing:-.012em;cursor:pointer}
.c-nom:hover{color:var(--acc)}
.c-lieu{font-size:12.5px;color:var(--txt3);margin:4px 0 11px}
.c-res{font-size:14px;color:var(--txt2);line-height:1.55;margin-bottom:13px}
.faits{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}
.fait{font-size:12px;background:var(--doux);color:var(--txt2);border-radius:7px;padding:4px 9px;white-space:nowrap}
.fait b{color:var(--txt);font-weight:620}
.bloc{border-radius:10px;padding:11px 13px;margin-bottom:9px}
.bloc-t{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:6px}
.bloc ul{list-style:none;display:grid;gap:4px}
.bloc li{font-size:13.5px;line-height:1.45;padding-left:15px;position:relative;color:var(--txt2)}
.bloc li::before{position:absolute;left:0;top:0;font-weight:700}
.b-pour{background:var(--ok-d)} .b-pour .bloc-t{color:var(--ok)} .b-pour li::before{content:"+";color:var(--ok)}
.b-contre{background:var(--warn-d)} .b-contre .bloc-t{color:var(--warn)} .b-contre li::before{content:"!";color:var(--warn)}
.b-contre li.grave{color:var(--txt);font-weight:600}
.b-amis{background:var(--acc-d)} .b-amis .bloc-t{color:var(--acc)} .b-amis li::before{content:"›";color:var(--acc)}
.conf{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--txt3);margin-top:auto;padding-top:11px}
.jauge{display:flex;gap:2.5px}
.jauge span{width:13px;height:3.5px;border-radius:99px;background:var(--bord2)}
.jauge span.plein{background:var(--txt3)}

/* --------------------------------------------------------------- carte */
.carte-zone{
  background:var(--carte);border:1px solid var(--bord);border-radius:var(--r2);
  padding:12px;margin-bottom:26px;box-shadow:var(--o1);
}
#carte-svg svg{width:100%;height:auto;max-height:min(64vh,560px);display:block;overflow:visible}
.pt{cursor:pointer;transition:.18s}
.pt:hover{filter:brightness(1.12)}
.pt-h{opacity:0;transition:.18s;pointer-events:none}
.pt:hover .pt-h,.pt.vu .pt-h{opacity:1}
.carte-legende{display:flex;flex-wrap:wrap;gap:14px;padding:13px 8px 4px;font-size:12.5px;color:var(--txt3)}
.lg{display:flex;align-items:center;gap:6px}
.lg i{width:11px;height:11px;border-radius:50%;display:block}
.seine{fill:none;stroke:#8fb4c9;stroke-width:5.5;stroke-linecap:round;opacity:.5}
@media (prefers-color-scheme:dark){.seine{stroke:#3d5f75;opacity:.75}}
.paris{fill:var(--doux);stroke:var(--bord2);stroke-width:1.2}
.q-txt{font-size:8.5px;fill:var(--txt3);font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase}

/* ------------------------------------------------------------- voisins */
.calib-grille{display:grid;gap:11px;margin:24px 0 30px}
@media(min-width:620px){.calib-grille{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.calib-grille{grid-template-columns:repeat(3,1fr)}}
.calib{
  background:var(--carte);border:1px solid var(--bord);border-radius:13px;padding:14px 15px;
}
.calib-nom{font-family:var(--serif);font-size:16px;font-weight:600;line-height:1.25;margin-bottom:2px}
.calib-l{font-size:12px;color:var(--txt3);margin-bottom:10px}
.notes{display:flex;gap:5px}
.note-b{
  flex:1;font-family:inherit;font-size:12px;padding:7px 2px;border-radius:8px;cursor:pointer;
  border:1px solid var(--bord2);background:var(--fond);color:var(--txt2);transition:.14s;
  -webkit-tap-highlight-color:transparent;
}
.note-b:hover{border-color:var(--txt3)}
.note-b.on{background:var(--acc2);border-color:var(--acc2);color:#fff;font-weight:600}
@media (prefers-color-scheme:dark){.note-b.on{background:var(--acc);border-color:var(--acc);color:#150f0b}}
.note-b.on-non{background:var(--doux2);border-color:var(--bord2);color:var(--txt2);font-weight:600}
.barre-fixe{
  position:sticky;bottom:0;background:color-mix(in srgb,var(--fond) 92%,transparent);
  backdrop-filter:blur(12px);border-top:1px solid var(--bord);padding:14px 0;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;z-index:20;
}
.barre-fixe p{font-size:13.5px;color:var(--txt2);flex:1;min-width:180px}
.voisin{
  background:var(--carte);border:1px solid var(--bord);border-radius:var(--r);
  padding:17px 18px;display:flex;gap:14px;align-items:flex-start;
}
.ava{
  flex:0 0 44px;height:44px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--serif);font-size:18px;font-weight:600;color:#fff;
}
.voisin-c{flex:1;min-width:0}
.voisin-h{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:3px}
.voisin-n{font-family:var(--serif);font-size:17.5px;font-weight:600}
.accord{font-size:12.5px;font-weight:700;color:var(--ok);background:var(--ok-d);padding:2px 9px;border-radius:99px}
.accord.moyen{color:var(--warn);background:var(--warn-d)}
.voisin-t{font-size:13.5px;color:var(--txt2);line-height:1.5;margin-bottom:9px}
.voisin-m{font-size:12.5px;color:var(--txt3)}
.barre-acc{height:4px;background:var(--doux2);border-radius:99px;margin:9px 0 7px;overflow:hidden}
.barre-acc i{display:block;height:100%;background:var(--ok);border-radius:99px}

/* ------------------------------------------------------------- filtres */
.filtres{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}
.filtre{
  font-family:inherit;font-size:13px;cursor:pointer;background:var(--carte);
  border:1px solid var(--bord);border-radius:99px;padding:7px 14px;color:var(--txt2);transition:.15s;
  -webkit-tap-highlight-color:transparent;
}
.filtre:hover{border-color:var(--bord2)}
.filtre.on{background:var(--acc2);border-color:var(--acc2);color:#fff}
@media (prefers-color-scheme:dark){.filtre.on{background:var(--acc);border-color:var(--acc);color:#150f0b}}

/* --------------------------------------------------------------- fiche */
.voile{
  position:fixed;inset:0;background:rgba(20,15,11,.45);backdrop-filter:blur(3px);
  opacity:0;pointer-events:none;transition:.28s;z-index:60;
}
.voile.on{opacity:1;pointer-events:auto}
.fiche{
  position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--fond);
  border-left:1px solid var(--bord);z-index:70;overflow-y:auto;overscroll-behavior:contain;
  transform:translateX(100%);visibility:hidden;
  transition:transform .32s cubic-bezier(.3,.8,.3,1), visibility .32s;
  padding:0 0 60px;box-shadow:var(--o3);
}
.fiche.on{transform:none;visibility:visible}
.fiche-fermer{
  position:absolute;top:14px;right:14px;z-index:5;width:36px;height:36px;border-radius:50%;
  background:color-mix(in srgb,var(--carte) 90%,transparent);backdrop-filter:blur(8px);
  border:1px solid var(--bord);color:var(--txt);font-size:21px;line-height:1;cursor:pointer;
}
.f-img{height:190px}
.f-img svg,.f-img img{width:100%;height:100%;object-fit:cover;display:block}
.f-corps{padding:22px 24px}
.f-nom{font-family:var(--serif);font-size:27px;line-height:1.15;letter-spacing:-.022em;margin-bottom:5px}
.f-lieu{font-size:13.5px;color:var(--txt3);margin-bottom:16px}
.f-res{font-size:15px;color:var(--txt2);line-height:1.6;margin-bottom:18px}
.f-t{
  font-family:var(--serif);font-size:17px;margin:24px 0 11px;padding-top:18px;
  border-top:1px solid var(--bord);
}
.f-t:first-of-type{border-top:none;padding-top:0;margin-top:20px}
.menu-sec{margin-bottom:16px}
.menu-sec h5{
  font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--acc);
  font-weight:700;margin-bottom:8px;
}
.plat{display:flex;gap:10px;align-items:baseline;padding:6px 0;border-bottom:1px dotted var(--bord)}
.plat:last-child{border-bottom:none}
.plat-n{flex:1;font-size:14.5px;line-height:1.4}
.veg{color:var(--ok);font-size:11px;margin-left:5px;font-weight:700}
.plat-p{font-size:14px;color:var(--txt2);font-variant-numeric:tabular-nums;white-space:nowrap}
.mesures{display:grid;gap:9px;margin-bottom:6px}
.mes{display:flex;align-items:center;gap:11px;font-size:13.5px}
.mes-l{flex:0 0 108px;color:var(--txt3);font-size:12.5px;line-height:1.3}
.mes-b{flex:1;height:5px;background:var(--doux2);border-radius:99px;overflow:hidden}
.mes-b i{display:block;height:100%;background:var(--acc);border-radius:99px}
/* Largeur FIXE des deux colonnes : sans elle, la piste de la jauge change
   de longueur a chaque ligne et les barres ne sont plus comparables. */
.mes-v{flex:0 0 106px;color:var(--txt2);font-size:12.5px;text-align:right;line-height:1.3}
@media(max-width:430px){.mes-l{flex-basis:84px;font-size:11.5px}.mes-v{flex-basis:84px;font-size:11.5px}}

/* ---------------------------------------------------------------- pied */
.t-section{font-family:var(--serif);font-size:clamp(26px,6vw,36px);letter-spacing:-.024em;margin:34px 0 8px}
.st-section{color:var(--txt2);font-size:15px;margin-bottom:24px;max-width:62ch}
.pied{
  border-top:1px solid var(--bord);padding:30px 20px 44px;text-align:center;
  color:var(--txt3);font-size:13px;
}
.logo-pied{margin:0 auto 12px;display:block;opacity:.65}
.pied strong{color:var(--txt2)}
