/* =====================================================================
   SAGARA-ALIMENTAIRE — Site public (vitrine)
   Design v5 — chaleureux & professionnel : vert + or + crème, photos.
   Palette tirée du packaging SAGARA. Sans CDN.
   ===================================================================== */

:root{
  --vert:#1f7a3d;
  --vert-fonce:#14562b;
  --vert-700:#0f4623;
  --vert-clair:#e7f2e9;
  --vert-pale:#f1f8f2;
  --or:#d4a02c;
  --or-fonce:#a97d17;
  --or-clair:#f7ecd2;
  --bordeaux:#8a1f2b;
  --bordeaux-clair:#f6e6e7;
  --creme:#faf4e4;
  --creme-2:#f4ebd6;
  --papier:#fffdf7;
  --encre:#2a2016;
  --encre-doux:#6c5f4f;
  --ligne:#ece2cd;
  --ligne-2:#e3d7bd;
  --sombre:#123a22;
  --sombre-2:#0f3320;

  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;

  --r-xl:24px; --r-lg:16px; --r-md:12px; --r-sm:9px; --r-pill:999px;
  --sh-xs:0 1px 2px rgba(42,32,22,.06);
  --sh-sm:0 2px 6px rgba(42,32,22,.07), 0 10px 24px -12px rgba(42,32,22,.16);
  --sh-md:0 12px 30px -10px rgba(42,32,22,.18), 0 28px 56px -28px rgba(42,32,22,.22);
  --sh-vert:0 14px 30px -12px rgba(31,122,61,.5);
  --sh-or:0 14px 30px -12px rgba(212,160,44,.55);
  --max:1200px; --pad:24px; --tete:86px; --annonce:40px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--encre);background:var(--papier);
  font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:var(--vert-fonce);text-decoration:none;transition:color .15s}
a:hover{color:var(--or-fonce)}
h1,h2,h3,h4{margin:0 0 .5em;line-height:1.12;font-weight:800;letter-spacing:-.02em;color:var(--encre)}
h1{font-size:clamp(40px,6vw,70px)}
h2{font-size:clamp(30px,4vw,48px)}
h3{font-size:22px;font-weight:800;letter-spacing:-.012em}
p{margin:0 0 1.1em}
::selection{background:var(--or-clair)}

.conteneur{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.section{padding:clamp(60px,9vw,112px) 0;position:relative}
.section--creme{background:var(--creme)}
.section--vert-pale{background:var(--vert-pale)}
.section--sombre{background:var(--sombre);color:#d5e6da}
.section--sombre h2,.section--sombre h3,.section--sombre h4{color:#fff}
.section + .section--creme,.section--creme + .section{border-top:1px solid var(--ligne)}

.entete{max-width:700px;margin:0 auto clamp(40px,6vw,64px);text-align:center}
.entete p{color:var(--encre-doux);font-size:19px;margin:.6em 0 0}
.section--sombre .entete p{color:#a9c6b3}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:var(--or-fonce);margin-bottom:16px}
.eyebrow::before{content:"";width:26px;height:3px;border-radius:3px;background:var(--or)}
.section--sombre .eyebrow{color:var(--or)}
.entete .eyebrow{display:block;margin-inline:auto;width:max-content}
.centre{text-align:center}
.mesure{max-width:60ch}

/* --- Boutons --- */
.btn{display:inline-flex;align-items:center;gap:9px;border:2px solid transparent;border-radius:var(--r-pill);
  padding:14px 26px;font-size:15px;font-weight:800;font-family:inherit;cursor:pointer;white-space:nowrap;letter-spacing:.005em;
  transition:transform .15s ease,box-shadow .15s ease,background .15s,border-color .15s,color .15s}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn .ic{width:18px;height:18px}
.btn.primaire{background:var(--vert);color:#fff;box-shadow:var(--sh-vert)}
.btn.primaire:hover{background:var(--vert-fonce);color:#fff}
.btn.or{background:var(--or);color:#3c2b08;box-shadow:var(--sh-or)}
.btn.or:hover{background:#e0ad3d;color:#3c2b08}
.btn.secondaire{background:#fff;color:var(--vert-fonce);border-color:var(--ligne-2)}
.btn.secondaire:hover{border-color:var(--vert);color:var(--vert-fonce)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn.ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.btn.bloc{width:100%;justify-content:center}
.btn-groupe{display:flex;flex-wrap:wrap;gap:12px}

/* --- Pastilles d'arguments --- */
.badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.badge-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--r-pill);
  background:#fff;border:1px solid var(--ligne-2);font-size:13.5px;font-weight:700;color:var(--vert-fonce);box-shadow:var(--sh-xs)}
.badge-pill::before{content:"";width:15px;height:15px;border-radius:50%;background:var(--vert-clair);
  box-shadow:inset 0 0 0 4px var(--vert);flex:none}
.section--sombre .badge-pill{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}

/* --- Documents publics telechargeables (Refonte CMS Lot 7) --- */
.liste-documents{display:flex;flex-direction:column;gap:14px}
.document-carte{display:flex;align-items:center;gap:18px;padding:20px 24px;text-decoration:none;color:inherit}
.document-icone{font-size:28px;flex:none}
.document-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.document-titre{font-weight:700;color:var(--encre)}
.document-desc{color:var(--encre-doux);font-size:14px}
.document-taille{color:var(--encre-doux);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em}
.document-action{flex:none;font-weight:700;color:var(--vert-fonce);white-space:nowrap}
@media(max-width:560px){.document-carte{flex-wrap:wrap}.document-action{flex-basis:100%}}

/* --- Etiquettes (tags) d'actualite : meme forme que les pastilles d'argument, sans le point decoratif --- */
.tag-pill{display:inline-flex;align-items:center;padding:6px 13px;border-radius:var(--r-pill);
  background:#fff;border:1px solid var(--ligne-2);font-size:13px;font-weight:700;color:var(--vert-fonce);
  text-decoration:none;transition:.12s}
.tag-pill:hover{border-color:var(--vert);background:var(--vert-clair)}

/* --- Bandeau d'annonce (couleur d'accent, au-dessus de l'en-tête) --- */
.site-annonce{background:linear-gradient(90deg,var(--sombre),var(--vert-fonce) 55%,var(--or-fonce));
  color:#fff;min-height:var(--annonce);display:flex;align-items:center;justify-content:center;
  text-align:center;padding:6px 16px;font-size:14px;font-weight:700;letter-spacing:.02em;line-height:1.35}
.site-annonce span{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:center}
.site-annonce b{color:var(--or-clair);font-weight:800}
.site-annonce .sep{opacity:.45}

/* --- En-tête --- */
.site-tete{position:sticky;top:0;z-index:60;background:var(--papier);
  border-bottom:1px solid var(--ligne);transition:box-shadow .25s;
  box-shadow:0 1px 0 rgba(212,160,44,.35), 0 2px 0 rgba(212,160,44,.12)}
.site-tete.est-defile{box-shadow:0 1px 0 rgba(212,160,44,.35), var(--sh-sm)}
.site-tete .conteneur{display:flex;align-items:center;justify-content:space-between;gap:22px;height:var(--tete)}
.marque{display:flex;align-items:center;gap:14px;font-weight:800;letter-spacing:-.02em;color:var(--encre);line-height:1.05}
.marque:hover{text-decoration:none;color:var(--encre)}
.marque .logo{width:50px;height:50px;border-radius:14px;background:#fff;color:var(--vert);display:grid;
  place-items:center;font-weight:800;font-size:19px;overflow:hidden;flex:none;
  box-shadow:var(--sh-sm), inset 0 0 0 2px var(--or-clair)}
.marque .logo img{width:100%;height:100%;object-fit:contain;background:#fff;padding:3px}
.marque .nom{display:flex;flex-direction:column}
.marque .nom .t{font-size:19px;white-space:nowrap}
.marque .nom .s{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--or-fonce);margin-top:3px}
@media(max-width:520px){.marque .nom .t{font-size:15.5px;white-space:normal}}
.site-nav{display:flex;align-items:center;gap:2px}
.site-nav a{position:relative;padding:10px 12px;border-radius:var(--r-sm);font-weight:700;font-size:15px;color:var(--encre);white-space:nowrap}
.site-nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2.5px;border-radius:2px;
  background:var(--or);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.site-nav a:hover{color:var(--vert-fonce)}
.site-nav a:hover::after,.site-nav a.actif::after{transform:scaleX(1)}
.site-nav a.actif{color:var(--vert-fonce)}
.site-nav .btn{margin-left:12px;padding:12px 22px;font-size:14.5px}
@media(max-width:1180px) and (min-width:901px){
  .site-nav a{padding:9px 9px;font-size:13.8px}
  .site-nav .btn{margin-left:8px;padding:11px 16px}
  .marque .nom .t{font-size:17px}
  .marque .logo{width:44px;height:44px}
}
.nav-bascule{display:none;width:46px;height:46px;border:1.5px solid var(--ligne-2);border-radius:12px;background:#fff;
  cursor:pointer;color:var(--encre);align-items:center;justify-content:center}
.nav-bascule svg{width:24px;height:24px}

/* --- Hero --- */
.hero{position:relative;overflow:hidden;padding:clamp(56px,8vw,104px) 0 clamp(68px,10vw,116px);
  background:linear-gradient(178deg,var(--creme) 0,#fdf3df 42%,var(--papier) 100%)}
.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(46% 60% at 84% 4%,rgba(212,160,44,.30),transparent 68%),
             radial-gradient(42% 55% at 2% 102%,rgba(31,122,61,.20),transparent 68%),
             radial-gradient(30% 40% at 60% 120%,rgba(138,31,43,.10),transparent 70%)}
.hero::after{content:"";position:absolute;left:0;right:0;top:0;height:5px;z-index:2;
  background:linear-gradient(90deg,var(--vert),var(--or) 55%,var(--bordeaux))}
.hero > *{position:relative;z-index:1}
.hero-grille{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(36px,6vw,72px);align-items:center}
.hero h1{margin-bottom:.32em}
.hero h1 .accent{color:var(--vert)}
.hero .accroche{font-size:clamp(18px,2.1vw,22px);color:var(--encre-doux);max-width:46ch;margin:0}
.hero .btn-groupe{margin-top:30px}
.hero-media{position:relative}
.hero-media .media{aspect-ratio:4/4.4;border-radius:var(--r-xl);box-shadow:var(--sh-md)}
.hero-media::after{content:"";position:absolute;right:-16px;bottom:-16px;width:62%;height:62%;z-index:-1;
  border-radius:var(--r-xl);background:var(--vert-clair);border:1px solid var(--vert-pale)}
.hero-media .sceau{position:absolute;left:-18px;top:26px;background:var(--or);color:#3c2b08;font-weight:800;
  font-size:13px;padding:10px 16px;border-radius:var(--r-pill);box-shadow:var(--sh-or);transform:rotate(-4deg)}

/* --- Chiffres --- */
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;border:1px solid var(--ligne);
  border-radius:var(--r-lg);padding:30px;background:#fff;box-shadow:var(--sh-sm)}
.chiffre{text-align:center}
.chiffre .v{font-size:clamp(28px,3.4vw,38px);font-weight:800;letter-spacing:-.02em;color:var(--vert)}
.chiffre .l{color:var(--encre-doux);font-size:13.5px;margin-top:6px}
.section--sombre .chiffres{background:var(--sombre-2);border-color:rgba(255,255,255,.08)}
.section--sombre .chiffre .v{color:var(--or)}
.section--sombre .chiffre .l{color:#a9c6b3}

/* --- Cartes --- */
.grille{display:grid;gap:22px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}

.carte{background:#fff;border:1px solid var(--ligne);border-radius:var(--r-lg);padding:28px;
  box-shadow:var(--sh-xs);transition:transform .18s ease,box-shadow .18s ease,border-color .18s}
.carte:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:var(--ligne-2)}
.carte h3{margin-bottom:.4em}
.carte p{color:var(--encre-doux);margin:0;font-size:15px}
.carte .puce{width:48px;height:48px;border-radius:14px;background:var(--vert-clair);color:var(--vert-fonce);
  display:grid;place-items:center;margin-bottom:18px}
.carte .puce .ic{width:24px;height:24px}
.carte--media{padding:0;overflow:hidden}
.carte--media .media{border-radius:0;aspect-ratio:4/3}
.carte--media .carte-corps{padding:22px 24px 26px}
.carte--media h3{margin-bottom:.3em}

/* --- Média --- */
.media{margin:0;border-radius:var(--r-md);overflow:hidden;background:var(--vert-pale);aspect-ratio:16/11;position:relative}
.media img{width:100%;height:100%;object-fit:cover}
.media--vide{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:var(--creme-2);color:var(--or-fonce)}
.media--vide .media-ic{width:36px;height:36px}
.media--vide span{font-size:13px;font-weight:700}
.media.carre{aspect-ratio:1/1}
.media.large{aspect-ratio:16/9}

/* --- Split --- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:center}
.split--inv .split-media{order:2}
.split-media{position:relative}
.split-media .media{aspect-ratio:4/3.4;box-shadow:var(--sh-md);border-radius:var(--r-xl)}
.split-media::after{content:"";position:absolute;left:-16px;bottom:-16px;width:56%;height:56%;z-index:-1;
  border-radius:var(--r-xl);background:var(--or-clair)}
.split--inv .split-media::after{left:auto;right:-16px}
.split .liste-check{list-style:none;padding:0;margin:20px 0 0}
.split .liste-check li{padding:8px 0 8px 32px;position:relative;color:var(--encre-doux)}
.split .liste-check li::before{content:"";position:absolute;left:0;top:11px;width:20px;height:20px;border-radius:7px;
  background:var(--vert-clair);box-shadow:inset 0 0 0 2px var(--vert-pale)}
.split .liste-check li::after{content:"";position:absolute;left:7px;top:15px;width:5px;height:9px;
  border:solid var(--vert);border-width:0 2px 2px 0;transform:rotate(45deg)}

.encadre{background:#fff;border:1px solid var(--ligne);border-top:4px solid var(--or);
  border-radius:var(--r-md);padding:24px 26px;box-shadow:var(--sh-xs)}
.encadre h3{color:var(--vert-fonce);display:flex;align-items:center;gap:9px}
.encadre h3 .ic{width:19px;height:19px;color:var(--or-fonce)}
.encadre p{margin:0;color:var(--encre-doux);font-size:15px}
.section--sombre .encadre{background:var(--sombre-2);border-color:rgba(255,255,255,.08)}
.section--sombre .encadre h3{color:#fff}
.section--sombre .encadre p{color:#a9c6b3}

/* --- Démarche --- */
.etapes{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 20px;list-style:none;padding:0;margin:0}
.etape{position:relative;padding-top:52px}
.etape::before{content:attr(data-n);position:absolute;top:0;left:0;width:40px;height:40px;border-radius:12px;
  background:var(--vert);color:#fff;display:grid;place-items:center;font-weight:800;font-size:15px;box-shadow:var(--sh-xs)}
.etape::after{content:"";position:absolute;top:19px;left:48px;right:-10px;height:2px;
  background:repeating-linear-gradient(90deg,var(--or) 0 6px,transparent 6px 12px);opacity:.6}
.etape:nth-child(4n)::after,.etape:last-child::after{display:none}
.etape h4{font-size:15.5px;font-weight:800;margin:0 0 .25em}
.etape p{font-size:13.5px;color:var(--encre-doux);margin:0}
.section--sombre .etape::before{background:var(--or);color:#3c2b08}

/* --- Bande photo --- */
.bande-photo .media{aspect-ratio:16/7;border-radius:var(--r-xl);box-shadow:var(--sh-md)}
@media(max-width:760px){.bande-photo .media{aspect-ratio:4/3}}

/* --- Timeline --- */
.timeline{position:relative;max-width:720px;margin:0 auto;padding-left:34px}
.timeline::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--ligne-2)}
.timeline li{list-style:none;position:relative;padding:0 0 34px}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:-31px;top:5px;width:14px;height:14px;border-radius:50%;
  background:#fff;border:3px solid var(--or)}
.timeline .annee{font-size:12.5px;font-weight:800;color:var(--or-fonce);letter-spacing:.04em}
.timeline h3{margin:.25em 0 .25em}
.timeline p{color:var(--encre-doux);margin:0}

/* --- Galerie --- */
.galerie{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.galerie figure{margin:0;border-radius:var(--r-md);overflow:hidden;aspect-ratio:3/4;background:var(--vert-pale)}
.galerie img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.galerie figure:hover img{transform:scale(1.05)}
.galerie--bande{grid-template-columns:repeat(4,1fr)}
.galerie--bande figure{aspect-ratio:3/4}

/* --- Actualités --- */
.news{max-width:740px;margin:0 auto}
.news article{padding:26px 0;border-bottom:1px solid var(--ligne)}
.news article:first-child{padding-top:0}
.news article:last-child{border-bottom:0}
.news .date{font-size:12.5px;color:var(--or-fonce);text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.news h3{margin:.35em 0 .4em;font-size:21px;font-weight:800;letter-spacing:-.015em}
.news h3 a{color:var(--encre)}
.news h3 a:hover{color:var(--vert-fonce)}
.news p{color:var(--encre-doux);margin:0}

/* --- Contenu riche (editeur du CMS : pages libres, articles, a-propos...) --- */
.contenu-riche{font-size:18px;line-height:1.8}
.contenu-riche p{margin:0 0 1.1em}
.contenu-riche h2{font-size:clamp(24px,3vw,34px);margin-top:1.4em}
.contenu-riche h3{margin-top:1.3em}
.contenu-riche ul,.contenu-riche ol{margin:0 0 1.1em;padding-left:1.4em}
.contenu-riche li{margin-bottom:.4em}
.contenu-riche blockquote{margin:1.6em 0;padding:.2em 0 .2em 1.2em;border-left:4px solid var(--or);
  color:var(--encre-doux);font-style:italic}
.contenu-riche img{border-radius:14px;margin:1.2em 0}
.contenu-riche table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:16px}
.contenu-riche table td,.contenu-riche table th{border:1px solid var(--ligne);padding:9px 12px;text-align:left}
.contenu-riche table th{background:var(--vert-pale)}
.contenu-riche a{text-decoration:underline}
.contenu-riche .btn-cta{display:inline-flex;align-items:center;gap:8px;background:var(--vert);color:#fff;
  padding:12px 22px;border-radius:999px;font-weight:700;text-decoration:none;margin:.6em 0}
.contenu-riche .btn-cta:hover{background:var(--vert-fonce);color:#fff}

/* --- Article --- */
.article-corps p{font-size:18px;line-height:1.8}
.article-partage{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:34px 0 22px;padding:18px 0;
  border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne)}
.article-partage span{font-weight:800;color:var(--encre-doux);font-size:14px}
.article-partage .btn{padding:9px 15px;font-size:13px}
.article-nav{display:flex;justify-content:space-between;gap:16px;font-weight:700}
.article-nav a{max-width:46%}

/* --- Contact --- */
.contact-grille{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,52px);align-items:start}
.contact-infos{background:var(--sombre);color:#d5e6da;border-radius:var(--r-xl);padding:34px}
.contact-infos h2{color:#fff;font-size:24px}
.contact-infos ul{list-style:none;padding:0;margin:20px 0 0}
.contact-infos li{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.contact-infos li:last-child{border-bottom:0}
.contact-infos li .ic{width:20px;height:20px;color:var(--or);flex:none;margin-top:2px}
.contact-infos strong{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--or);margin-bottom:3px}
.contact-infos a{color:#fff}
.contact-infos .media{margin-top:22px;aspect-ratio:16/11;border-radius:var(--r-md)}

.form-carte{background:#fff;border:1px solid var(--ligne);border-radius:var(--r-xl);padding:32px;box-shadow:var(--sh-sm)}
.champ{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.champ label{font-size:12.5px;font-weight:800;color:var(--encre-doux);text-transform:uppercase;letter-spacing:.05em}
.champ input,.champ textarea{border:1.5px solid var(--ligne-2);border-radius:var(--r-sm);padding:12px 13px;font-size:15px;
  font-family:inherit;background:var(--papier);width:100%;transition:border-color .15s,box-shadow .15s,background .15s}
.champ input:focus,.champ textarea:focus{outline:none;border-color:var(--vert);box-shadow:0 0 0 4px var(--vert-clair);background:#fff}
.champ.invalide input,.champ.invalide textarea{border-color:var(--bordeaux)}
.champ .err{color:var(--bordeaux);font-size:12.5px;text-transform:none;letter-spacing:0}
.form-note{font-size:12.5px;color:var(--encre-doux);margin:12px 0 0}

/* --- CTA --- */
.cta{background:linear-gradient(150deg,var(--vert-fonce),var(--sombre));color:#fff;border-radius:var(--r-xl);
  padding:clamp(38px,6vw,66px);text-align:center;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 120% at 50% 0,rgba(212,160,44,.28),transparent 70%)}
.cta > *{position:relative}
.cta h2{color:#fff}
.cta p{color:#c6ddcd;max-width:52ch;margin:0 auto 24px}

/* --- Réseaux --- */
.reseaux{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.reseaux a{display:inline-flex;align-items:center;padding:8px 15px;border:1px solid rgba(255,255,255,.22);
  border-radius:var(--r-pill);font-size:13px;font-weight:700;color:#fff}
.reseaux a:hover{background:rgba(255,255,255,.12);color:#fff}

/* --- Pied de page --- */
.site-pied{background:var(--sombre);color:#a9c6b3;padding:clamp(52px,8vw,76px) 0 28px;font-size:14.5px}
.site-pied a{color:#a9c6b3}
.site-pied a:hover{color:#fff}
.pied-grille{display:flex;flex-wrap:wrap;gap:36px 44px;margin-bottom:40px}
.pied-grille>*{flex:1 1 160px;min-width:140px}
.pied-grille>*:first-child{flex:1.8 1 260px}
.pied-grille h4{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 16px}
.pied-grille ul{list-style:none;padding:0;margin:0}
.pied-grille li{padding:5px 0}
.pied-grille .marque{color:#fff;margin-bottom:14px}
.pied-grille .marque .logo{background:rgba(255,255,255,.14)}
.pied-bas{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:10px;color:#7ea08c;font-size:12.5px}

/* --- Flash --- */
.flash-zone{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:200;width:min(560px,92vw)}
.flash{padding:13px 18px;border-radius:var(--r-sm);margin-bottom:10px;font-size:14.5px;box-shadow:var(--sh-md);
  background:#fff;border-left:4px solid var(--vert)}
.flash.success{border-left-color:var(--vert)}
.flash.danger{border-left-color:var(--bordeaux)}
.flash.info{border-left-color:#2563eb}
.flash.warning{border-left-color:var(--or)}

/* --- Page simple --- */
.page-simple{max-width:740px;margin:0 auto;padding:clamp(60px,9vw,92px) var(--pad) 84px}
.page-simple h1{margin-bottom:.35em}
.page-simple h2{font-size:22px;margin-top:1.7em}

/* --- Révélation au défilement --- */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].vu{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}

/* --- Bibliothèque de blocs étendue (Refonte Administration du site, Lot 1) --- */
.faq-liste{display:flex;flex-direction:column;gap:12px}
.faq-item{background:#fff;border:1px solid var(--ligne);border-radius:var(--r-md);padding:4px 22px;box-shadow:var(--sh-xs)}
.faq-item summary{padding:16px 0;font-weight:700;color:var(--encre);cursor:pointer;list-style:none;display:flex;
  align-items:center;justify-content:space-between;gap:14px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:22px;font-weight:400;color:var(--vert);flex:none;transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-reponse{padding:0 0 18px;color:var(--encre-doux)}

.citation-bloc{margin:0}
.citation-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;margin:0 auto 18px;display:block;
  box-shadow:var(--sh-sm)}
.citation-texte{font-family:var(--serif,var(--sans));font-size:clamp(19px,2.4vw,24px);font-weight:600;
  color:var(--encre);line-height:1.5;margin:0}
.citation-auteur{display:block;margin-top:16px;font-style:normal;font-weight:700;color:var(--vert-fonce);font-size:14.5px}

.separateur-ligne{border:0;border-top:1px solid var(--ligne);margin:0}
.separateur-espace{height:clamp(20px,5vw,56px)}
.separateur-icone{text-align:center;color:var(--or);font-size:20px;padding:8px 0}

/* --- Responsive --- */
@media(max-width:1000px){
  .hero-grille,.split,.contact-grille{grid-template-columns:1fr}
  .hero-media{order:-1;max-width:480px}
  .hero-media .sceau{left:6px}
  .split--inv .split-media{order:0}
  .g-3,.g-4{grid-template-columns:repeat(2,1fr)}
  .chiffres{grid-template-columns:repeat(2,1fr)}
  .etapes{grid-template-columns:repeat(2,1fr)}
  .etape::after{display:none}
  .galerie--bande{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .marque .nom .s{display:none}
}

/* --- Menu deroulant (Galerie) --- */
.site-nav .nav-groupe{position:relative;display:flex;align-items:center}
.site-nav .nav-groupe>a{padding-right:28px}
.site-nav .nav-groupe>a::before{content:"";position:absolute;right:12px;top:50%;width:.42em;height:.42em;
  margin-top:-.32em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);opacity:.55;transition:transform .2s}
.site-nav .nav-groupe:hover>a::before,.site-nav .nav-groupe:focus-within>a::before{transform:rotate(-135deg);margin-top:-.1em}
.site-nav .nav-sous{position:absolute;top:calc(100% + 4px);left:0;min-width:186px;display:none;flex-direction:column;
  gap:2px;padding:8px;background:var(--papier);border:1px solid var(--ligne);border-radius:14px;
  box-shadow:0 16px 34px rgba(18,58,34,.16);z-index:80}
.site-nav .nav-groupe:hover .nav-sous,.site-nav .nav-groupe:focus-within .nav-sous{display:flex}
.site-nav .nav-sous a{padding:9px 12px;border-radius:9px;font-size:14.5px}
.site-nav .nav-sous a::after{display:none}
.site-nav .nav-sous a:hover{background:var(--or-clair);color:var(--vert-fonce)}

/* --- Galerie : onglets Photos / Videos --- */
.galerie-onglets{display:inline-flex;gap:6px;margin-top:24px;padding:6px;background:#fff;
  border:1px solid var(--ligne);border-radius:var(--r-pill);box-shadow:var(--sh-xs)}
.galerie-onglets a{padding:9px 22px;border-radius:var(--r-pill);font-weight:800;font-size:14.5px;color:var(--encre-doux)}
.galerie-onglets a.actif{background:var(--vert);color:#fff}
.galerie-onglets a:not(.actif):hover{color:var(--vert-fonce)}

/* --- Galerie : grille de videos --- */
.videos-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:26px}
.video-item{margin:0}
.video-cadre{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;
  background:#000;box-shadow:var(--sh-sm)}
.video-cadre iframe,.video-cadre video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.video-item figcaption{margin-top:10px;font-weight:700;color:var(--encre-doux);font-size:14.5px}

@media(max-width:760px){
  body{font-size:17px}
  :root{--tete:72px}
  .site-annonce{font-size:12.5px;letter-spacing:0}
  .marque .logo{width:44px;height:44px}
  .marque .nom .t{font-size:17px}
  .site-nav{position:fixed;inset:var(--tete) 0 auto 0;background:#fff;flex-direction:column;align-items:stretch;
    padding:14px var(--pad) 22px;gap:2px;display:none;box-shadow:var(--sh-md);border-bottom:1px solid var(--ligne)}
  .site-nav.ouvert{display:flex}
  .site-nav a{padding:14px 12px;font-size:16px}
  .site-nav a::after{display:none}
  .site-nav .btn{margin:12px 0 0}
  .site-nav .nav-groupe{display:block;width:100%}
  .site-nav .nav-groupe>a{padding-right:12px}
  .site-nav .nav-groupe>a::before{content:none}
  .site-nav .nav-sous{position:static;display:flex;min-width:0;padding:0 0 6px 16px;
    border:0;box-shadow:none;background:transparent}
  .site-nav .nav-sous a{padding:11px 12px;font-size:15px}
  .nav-bascule{display:flex}
  .videos-grille{grid-template-columns:1fr}
  .galerie-onglets{margin-top:18px}
  .g-2,.g-3,.g-4,.etapes{grid-template-columns:1fr}
  .chiffres{grid-template-columns:1fr;padding:22px}
  .galerie,.galerie--bande{grid-template-columns:repeat(2,1fr)}
  .pied-grille>*{flex-basis:100%}
  .pied-bas{justify-content:flex-start}
  .hero-media::after{display:none}
}
