/* ---- main.css ---- */
@font-face{font-family:"LEMONMILK";src:url("../fonts/LEMONMILK-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"LEMONMILK";src:url("../fonts/LEMONMILK-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}

/* Charte L&A — une seule ambiance, peinte explicitement (site client, pas de thème sombre) */
:root{
  --or:#D5A308; --or-clair:#EED27A; --or-texte:#8A6A05;
  --noir:#17150F; --noir-2:#211E17; --ligne-sombre:#3A352B;
  --blanc:#FFFFFF; --papier:#F6F5F1; --encre:#2B2821; --gris:#6E685B; --ligne:#E4E0D6;
  --etoile:#F6B40E;
  --display:"LEMONMILK","Helvetica Neue",Arial,sans-serif;
  --texte:"Poppins",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --max:1280px; --pad:40px; --gap:32px; --r:6px;
  --section:128px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--blanc);color:var(--encre);font:400 16px/1.7 var(--texte);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
h1,h2,h3,p,ul,dl,dd,figure{margin:0;padding:0}
ul{list-style:none}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--or);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Grille */
.wrap{width:100%;max-width:calc(var(--max) + 2 * var(--pad));margin-inline:auto;padding-inline:var(--pad)}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.section{position:relative;padding-block:var(--section)}
.section--papier{background:var(--papier)}
.section--or{background:var(--or);color:var(--noir)}
.on-dark{background:var(--noir);color:var(--blanc)}

/* Typographie */
.t-hero,.t-h2,.t-h3{font-family:var(--display);font-weight:400;text-transform:uppercase;text-wrap:balance;letter-spacing:.01em}
.t-hero{font-size:clamp(34px,4vw,56px);line-height:1.08}
.t-h2{font-size:clamp(26px,2.6vw,40px);line-height:1.15;color:var(--noir)}
.t-h3{font-size:22px;line-height:1.3;color:var(--noir)}
.on-dark .t-h2,.on-dark .t-h3{color:var(--blanc)}
.t-hero em,.t-h2 em{font-style:normal;color:var(--or)}
.lead{font-size:18px;line-height:1.65}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;font:600 12px/1 var(--texte);letter-spacing:.16em;text-transform:uppercase;color:var(--or-texte)}
.eyebrow::before{content:"";width:8px;height:8px;background:var(--or)}
.on-dark .eyebrow{color:var(--or)}
.section--or .eyebrow{color:var(--noir)}
.section--or .eyebrow::before{background:var(--noir)}
.prose{display:grid;gap:16px}
.prose strong{font-weight:600;color:var(--noir)}

/* Boutons et liens */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:52px;padding:0 24px;border:1.5px solid transparent;border-radius:var(--r);font:500 13px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s}
.btn svg{width:16px;height:16px;flex:none;transition:transform .2s}
.btn:hover svg{transform:translateX(4px)}
.btn--or{background:var(--or);color:var(--noir)}
.btn--or:hover{background:var(--or-clair)}
.btn--noir{background:var(--noir);color:var(--blanc)}
.btn--noir:hover{background:#000;color:var(--or)}
.btn--ligne{border-color:var(--noir);color:var(--noir)}
.btn--ligne:hover{background:var(--noir);color:var(--blanc)}
.btn--clair{border-color:rgba(255,255,255,.6);color:var(--blanc)}
.btn--clair:hover{background:var(--blanc);border-color:var(--blanc);color:var(--noir)}
.btn--petit{height:44px;padding:0 18px;font-size:12px}
.actions{display:flex;flex-wrap:wrap;gap:16px}
.lien{display:inline-flex;align-items:center;gap:8px;padding-bottom:6px;border-bottom:1.5px solid var(--or);font:500 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--noir)}
.lien svg{width:14px;height:14px;transition:transform .2s}
.lien:hover svg{transform:translateX(4px)}

/* Tête de section */
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:64px}
.head__titres{max-width:820px}

/* En-tête */
.header{position:fixed;inset:0 0 auto;z-index:50;color:var(--blanc);background:linear-gradient(rgba(23,21,15,.7),rgba(23,21,15,0));transition:background-color .3s}
.header.is-solid{background:var(--noir)}
.header__bar{display:flex;align-items:center;gap:32px;height:96px;transition:height .3s}
.header.is-solid .header__bar{height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand__depuis{writing-mode:vertical-rl;transform:rotate(180deg);font:500 10px/1 var(--display);letter-spacing:.14em;text-transform:uppercase}
.brand img{width:auto;height:64px;transition:height .3s}
.header.is-solid .brand img{height:52px}
.nav{margin-left:auto}
.nav__liste{display:flex;align-items:center}
.nav__item{position:relative}
.nav__lien{display:flex;align-items:center;gap:6px;padding:12px 14px;font:500 13px/1 var(--texte);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.nav__lien svg{width:10px;height:10px;opacity:.7;transition:transform .2s}
.nav__lien:hover{color:var(--or)}
.nav__item:hover .nav__lien svg,.nav__item:focus-within .nav__lien svg{transform:rotate(180deg)}
.nav__sous{position:absolute;top:100%;left:0;display:grid;min-width:260px;padding:12px 0;background:var(--blanc);border-top:3px solid var(--or);border-radius:0 0 var(--r) var(--r);box-shadow:0 18px 40px rgba(23,21,15,.18);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.nav__sous--2{grid-template-columns:repeat(2,minmax(230px,1fr))}
.nav__item:hover .nav__sous,.nav__item:focus-within .nav__sous{opacity:1;visibility:visible;transform:none}
.nav__sous a{display:block;padding:9px 22px;font-size:14px;line-height:1.4;color:var(--encre);text-decoration:none}
.nav__sous a:hover{background:var(--papier);color:var(--noir)}
.burger{display:none;width:48px;height:48px;margin-left:auto;border:1.5px solid rgba(255,255,255,.5);border-radius:var(--r)}
.burger span{display:block;width:20px;height:1.5px;margin:5px auto;background:currentColor;transition:transform .2s,opacity .2s}
.header.is-open .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.header.is-open .burger span:nth-child(2){opacity:0}
.header.is-open .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Hero */
.hero{position:relative;background:var(--noir);color:var(--blanc);overflow:hidden}
.hero__slides{display:grid}
.slide{grid-area:1/1;position:relative;display:flex;align-items:center;min-height:760px;padding:176px 0 168px;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s}
.slide.is-active{opacity:1;visibility:visible}
.slide__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 7s ease-out}
.slide.is-active .slide__img{transform:scale(1)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,21,15,.94) 0%,rgba(23,21,15,.8) 42%,rgba(23,21,15,.3) 100%)}
.slide__inner{position:relative;z-index:1}
.slide__contenu{max-width:780px}
.slide__lead{max-width:600px;margin:24px 0 40px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.84)}
.hero__barre{position:absolute;inset:auto 0 0;z-index:2;padding-bottom:40px}
.hero__barre .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.hero__ctrl{display:flex;align-items:center;gap:24px}
.hero__compteur{font:500 13px/1 var(--display);letter-spacing:.08em;color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums}
.hero__compteur b{font-weight:500;color:var(--blanc)}
.hero__pistes{display:flex;gap:8px}
.piste{position:relative;width:56px;height:24px}
.piste::before,.piste span{content:"";position:absolute;left:0;top:11px;height:2px}
.piste::before{right:0;background:rgba(255,255,255,.25)}
.piste span{width:0;background:var(--or)}
.piste.is-active span{animation:piste 7s linear forwards}
.hero:hover .piste.is-active span,.hero:focus-within .piste.is-active span{animation-play-state:paused}
@keyframes piste{to{width:100%}}
.hero__fleches{display:flex;gap:8px}
.fleche{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r);background:var(--or);color:var(--noir);transition:background-color .2s}
.fleche:hover{background:var(--or-clair)}
.fleche svg{width:16px;height:16px}
.fleche--prec svg{transform:scaleX(-1)}
.gbadge{display:inline-flex;align-items:center;gap:14px;padding:10px 16px;border:1px solid rgba(255,255,255,.18);border-radius:var(--r);background:rgba(23,21,15,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-decoration:none}
.gbadge__g{width:24px;height:24px}
.gbadge__txt{display:grid;gap:4px;font-size:12px;line-height:1;color:rgba(255,255,255,.72)}
.gbadge__txt strong{display:flex;align-items:center;gap:8px;font:500 13px/1 var(--display);letter-spacing:.06em;color:var(--blanc)}
.etoiles{display:inline-flex;gap:2px;color:var(--etoile)}
.etoiles svg{width:13px;height:13px;fill:currentColor}

/* Agence */
.agence__grille{align-items:center}
.agence__texte{grid-column:1/7}
.agence__texte .t-h2{margin-bottom:32px}
.agence__texte .actions{margin-top:40px}
.agence__visuel{grid-column:7/13;position:relative;padding-bottom:56px}
.agence__visuel img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.chiffres{position:absolute;left:32px;right:32px;bottom:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:24px 0;background:var(--noir);color:var(--blanc);border-radius:var(--r)}
.chiffres div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:0 16px;text-align:center}
.chiffres div+div{border-left:1px solid var(--ligne-sombre)}
.chiffres dd{order:-1;font:400 36px/1 var(--display);color:var(--or);font-variant-numeric:tabular-nums}
.chiffres dt{font-size:11px;line-height:1.35;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72);text-wrap:balance}

/* Métiers (section or) */
.metiers__grille{align-items:start}
.metiers__index{grid-column:1/5;border-bottom:1.5px solid rgba(23,21,15,.22)}
.onglet{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:24px 0;border-top:1.5px solid rgba(23,21,15,.22);font:400 clamp(20px,2vw,26px)/1.2 var(--display);text-transform:uppercase;text-align:left;color:rgba(23,21,15,.5);transition:color .2s,border-color .2s}
.onglet svg{width:22px;height:22px;flex:none;opacity:0;transform:translateX(-8px);transition:opacity .2s,transform .2s}
.onglet:hover{color:var(--noir)}
.onglet[aria-selected="true"]{color:var(--noir);border-top-color:var(--noir)}
.onglet[aria-selected="true"] svg{opacity:1;transform:none}
.metier{grid-column:5/13;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));column-gap:var(--gap);padding-top:24px}
.metier__texte{grid-column:1/5}
.metier__texte .t-h3{margin-bottom:24px}
.metier__texte .prose{color:rgba(23,21,15,.86)}
.metier__texte .prose strong{color:var(--noir)}
.metier__texte .actions{margin-top:32px}
.metier__image{grid-column:5/9}
.metier__image img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r)}

/* Références */
.clients{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:16px}
.clients li{overflow:hidden;border:1px solid var(--ligne);border-radius:var(--r);background:var(--blanc)}
.clients img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .3s}
.clients li:hover img{transform:scale(1.04)}

/* Avis & fond photo */
.fond{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fond--voile::after{content:""}
.voile{position:absolute;inset:0;background:rgba(23,21,15,.88)}
.avis .wrap,.partenaires .wrap{position:relative;z-index:1}
.widget{position:relative}
.apercu{overflow:hidden;background:var(--blanc);color:var(--encre);border-radius:var(--r)}
.apercu__haut{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 28px;border-bottom:1px solid var(--ligne)}
.apercu__note{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--gris)}
.apercu__note svg.g{width:28px;height:28px}
.apercu__note strong{font:500 14px/1 var(--display);letter-spacing:.06em;color:var(--noir)}
.avis__liste{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--ligne)}
.avis-item{display:flex;flex-direction:column;gap:14px;padding:28px;background:var(--blanc)}
.avis-item__auteur{display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:12px}
.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font:500 15px/1 var(--display)}
.avatar--or{background:var(--or);color:var(--noir)}
.avatar--noir{background:var(--noir);color:var(--or)}
.avis-item__nom{font-weight:600;font-size:15px;line-height:1.3;color:var(--noir)}
.avis-item__source{font-size:12px;line-height:1.3;color:var(--gris)}
.avis-item__auteur svg.g{width:18px;height:18px}
.avis-item__texte{font-size:14px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.avis-item.is-ouvert .avis-item__texte{display:block}
.plus{align-self:flex-start;margin-top:auto;font-size:13px;font-weight:500;color:var(--or-texte);text-decoration:underline;text-underline-offset:3px}

/* Publications */
.posts{align-items:start}
.post-une{grid-column:1/7}
.post-une a{text-decoration:none}
.post-une img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.post-une .t-h3{margin:32px 0 12px}
.post-une p{margin-bottom:24px;color:var(--gris)}
.posts__liste{grid-column:7/13;display:grid;gap:1px;background:var(--ligne)}
.post{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:center;padding:32px 0;background:var(--papier)}
.post:first-child{padding-top:0}
.post:last-child{padding-bottom:0}
.post img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.post__titre{margin-bottom:8px;font:400 16px/1.4 var(--display);text-transform:uppercase;color:var(--noir)}
.post__titre a{text-decoration:none}
.post__titre a:hover,.post-une a:hover .t-h3{color:var(--or-texte)}
.post p{margin-bottom:16px;font-size:14px;line-height:1.6;color:var(--gris)}

/* Réseaux */
.fil{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.fil a{position:relative;display:block;overflow:hidden;border-radius:var(--r)}
.fil img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .4s}
.fil a::after{content:"";position:absolute;inset:0;background:rgba(213,163,8,.0);transition:background-color .3s}
.fil a:hover img{transform:scale(1.05)}
.fil a:hover::after{background:rgba(23,21,15,.35)}
.fil svg{position:absolute;right:12px;bottom:12px;z-index:1;width:32px;height:32px;padding:7px;border-radius:50%;background:var(--blanc);color:var(--noir)}
.reseaux{display:flex;gap:8px}
.reseaux a{display:grid;place-items:center;width:44px;height:44px;border:1.5px solid currentColor;border-radius:var(--r);transition:background-color .2s,color .2s,border-color .2s}
.reseaux svg{width:18px;height:18px}
.reseaux--clair a{border-color:var(--ligne)}
.reseaux--clair a:hover{background:var(--noir);border-color:var(--noir);color:var(--blanc)}
.reseaux--sombre a{border-color:var(--ligne-sombre)}
.reseaux--sombre a:hover{background:var(--or);border-color:var(--or);color:var(--noir)}
.head__outils{display:flex;align-items:center;gap:16px}

/* Partenaires */
.partenaires__grille{align-items:center}
.partenaires__texte{grid-column:1/5}
.partenaires__texte p:last-child{margin-top:24px;color:rgba(255,255,255,.75)}
.logos{grid-column:6/13;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.logos li{overflow:hidden;border-radius:var(--r);background:var(--blanc)}
.logos img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* Contact */
.contact__grille{align-items:start}
.contact__texte{grid-column:1/6}
.contact__texte .lead{margin:24px 0 48px;color:var(--gris)}
.agences{display:grid;gap:1px;background:var(--ligne)}
.agence{display:grid;gap:6px;padding:24px 0;background:var(--blanc);font-size:15px;line-height:1.6}
.agence:first-child{padding-top:0}
.agence:last-child{padding-bottom:0}
.agence h3{margin-bottom:6px;font:400 15px/1.3 var(--display);text-transform:uppercase;color:var(--noir)}
.agence h3 span{color:var(--or-texte)}
.agence p,.agence a{display:flex;align-items:flex-start;gap:12px;text-decoration:none}
.agence a:hover{color:var(--or-texte)}
.agence svg{width:16px;height:16px;margin-top:4px;flex:none;color:var(--or-texte)}
.formulaire{grid-column:7/13;padding:48px;border-radius:var(--r);background:var(--noir);color:var(--blanc)}
.formulaire .t-h3{margin-bottom:8px}
.formulaire__intro{margin-bottom:32px;font-size:14px;color:rgba(255,255,255,.66)}
.champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
.champ{display:grid;gap:8px}
.champ--large{grid-column:1/-1}
.champ label{font-size:11px;font-weight:500;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.66)}
.champ input,.champ select,.champ textarea{width:100%;height:52px;padding:0 16px;border:1px solid var(--ligne-sombre);border-radius:var(--r);background:var(--noir-2);color:var(--blanc);font:400 15px/1.4 var(--texte);transition:border-color .2s}
.champ textarea{height:128px;padding:14px 16px;resize:vertical}
.champ select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23D5A308' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px 8px}
.champ select option{color:var(--encre);background:var(--blanc)}
.champ input::placeholder,.champ textarea::placeholder{color:rgba(255,255,255,.38)}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:none;border-color:var(--or)}
.accord{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;font-size:13px;line-height:1.55;color:rgba(255,255,255,.72)}
.accord input{width:20px;height:20px;margin:0;accent-color:var(--or)}
.accord a{color:var(--or)}
.envoi{display:flex;align-items:center;justify-content:space-between;gap:16px;grid-column:1/-1;margin-top:8px}
.envoi .btn{flex:1}
.envoi small{font-size:11px;line-height:1.4;color:rgba(255,255,255,.5);max-width:180px}
.statut{grid-column:1/-1;font-size:14px;color:var(--or-clair)}

/* Pied de page */
.footer{padding-top:96px}
.footer__slogan{padding-bottom:64px;border-bottom:1px solid var(--ligne-sombre);font:400 clamp(30px,4.4vw,64px)/1.05 var(--display);text-transform:uppercase;text-wrap:balance}
.footer__slogan em{font-style:normal;color:var(--or)}
.footer__grille{padding-block:64px}
.footer__marque{grid-column:1/5;display:grid;gap:24px;align-content:start}
.footer__marque img.logo{width:auto;height:72px}
.footer__marque p{max-width:320px;font-size:14px;color:rgba(255,255,255,.66)}
.labels{display:flex;gap:12px}
.labels li{display:grid;place-items:center;height:64px;padding:8px 14px;border-radius:var(--r);background:var(--blanc)}
.labels img{width:auto;max-height:48px}
.footer__col{display:grid;gap:12px;align-content:start;font-size:14px}
.footer__col:nth-child(2){grid-column:5/8}
.footer__col:nth-child(3){grid-column:8/11}
.footer__col:nth-child(4){grid-column:11/13}
.footer__col h2{margin-bottom:12px;font:500 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--or)}
.footer__col a{color:rgba(255,255,255,.8);text-decoration:none}
.footer__col a:hover{color:var(--or)}
.footer__col p{color:rgba(255,255,255,.66)}
.footer__bas{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-block:24px;border-top:1px solid var(--ligne-sombre);font-size:13px;color:rgba(255,255,255,.55)}
.footer__bas ul{display:flex;flex-wrap:wrap;gap:24px}
.footer__bas a{text-decoration:none}
.footer__bas a:hover{color:var(--or)}

/* Tablette */
@media (max-width:1180px){
  .nav__lien{padding:12px 10px;font-size:12px}
  .header__bar{gap:20px}
}
@media (max-width:1024px){
  :root{--pad:32px;--gap:24px;--section:96px}
  .nav,.header__cta{display:none}
  .burger{display:block}
  .header.is-open{background:var(--noir)}
  .header.is-open .nav{display:block;position:fixed;inset:76px 0 0;margin:0;padding:16px var(--pad) 48px;overflow-y:auto;background:var(--noir)}
  .header.is-open .header__cta{display:inline-flex;position:fixed;left:var(--pad);right:var(--pad);bottom:24px}
  .nav__liste{flex-direction:column;align-items:stretch}
  .nav__item{border-bottom:1px solid var(--ligne-sombre)}
  .nav__lien{padding:18px 0;font-size:14px}
  .nav__lien svg{display:none}
  .nav__sous,.nav__sous--2{position:static;grid-template-columns:1fr;min-width:0;padding:0 0 16px;background:none;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .nav__sous a{padding:6px 0 6px 16px;color:rgba(255,255,255,.7)}
  .nav__sous a:hover{background:none;color:var(--or)}
  .header.is-open .header__bar,.header.is-solid .header__bar{height:76px}
  .slide{min-height:680px}
  .agence__texte,.agence__visuel,.metiers__index,.metier,.post-une,.posts__liste,.partenaires__texte,.logos,.contact__texte,.formulaire{grid-column:1/-1}
  .agence__visuel{margin-top:56px}
  .metiers__index{display:flex;gap:8px;overflow-x:auto;border:0;padding-bottom:4px}
  .onglet{flex:none;width:auto;padding:14px 18px;border:1.5px solid rgba(23,21,15,.3);border-radius:var(--r);font-size:14px}
  .onglet svg{display:none}
  .onglet[aria-selected="true"]{background:var(--noir);border-color:var(--noir);color:var(--or)}
  .metier{padding-top:40px}
  .avis__liste{grid-template-columns:repeat(2,minmax(0,1fr))}
  .posts__liste{margin-top:56px}
  .logos{margin-top:48px}
  .formulaire{margin-top:56px}
  .footer__marque{grid-column:1/-1;margin-bottom:48px}
  .footer__col:nth-child(2){grid-column:1/5}
  .footer__col:nth-child(3){grid-column:5/9}
  .footer__col:nth-child(4){grid-column:9/13}
}
/* Mobile */
@media (max-width:767px){
  :root{--pad:20px;--section:72px}
  .head{flex-direction:column;align-items:flex-start;margin-bottom:40px}
  .slide{min-height:0;padding:140px 0 200px}
  .slide__lead{font-size:16px}
  .actions .btn{flex:1 1 100%}
  .hero__barre .wrap{flex-direction:column;align-items:flex-start}
  .hero__ctrl{width:100%;justify-content:space-between}
  .piste{width:32px}
  .chiffres{position:static;margin-top:-40px;margin-inline:16px}
  .agence__visuel{padding-bottom:0}
  .chiffres dd{font-size:26px}
  .chiffres dt{font-size:10px;letter-spacing:.08em}
  .metier{grid-template-columns:1fr;row-gap:32px}
  .metier__texte,.metier__image{grid-column:1/-1}
  .clients{grid-template-columns:none;grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-auto-columns:38vw;overflow-x:auto;padding-bottom:4px}
  .apercu__haut{flex-direction:column;align-items:flex-start;padding:20px}
  .avis__liste{grid-template-columns:1fr}
  .post{grid-template-columns:112px minmax(0,1fr);gap:16px}
  .fil{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:62vw;overflow-x:auto}
  .logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .formulaire{padding:32px 20px}
  .champs{grid-template-columns:1fr}
  .envoi{flex-direction:column;align-items:stretch}
  .envoi small{max-width:none}
  .footer{padding-top:64px}
  .footer__col:nth-child(n){grid-column:1/-1;margin-bottom:40px}
  .footer__bas{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation:none!important;scroll-behavior:auto!important}
  .piste.is-active span{width:100%}
}

/* ---- pages.css ---- */
/* ==========================================================================
   Pages internes — s'appuie sur les jetons et composants de main.css
   ========================================================================== */

.sr--focus:focus{position:fixed;top:8px;left:8px;z-index:100;width:auto;height:auto;clip:auto;padding:12px 16px;background:var(--or);color:var(--noir);border-radius:var(--r)}
.champ-piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.admin-bar .header{top:32px}
.nav__item.is-actif>.nav__lien{color:var(--or)}

/* Méga-menu pleine largeur ------------------------------------------------ */
.nav{align-self:stretch;display:flex}
.nav__liste{height:100%}
.nav__item{display:flex;align-items:center}
.nav__item--mega{position:static}
.mega{position:absolute;left:0;right:0;top:100%;z-index:40;border-top:3px solid var(--or);background:var(--blanc);color:var(--encre);box-shadow:0 26px 50px rgba(23,21,15,.22);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.nav__item--mega:hover .mega,.nav__item--mega:focus-within .mega{opacity:1;visibility:visible;transform:none}
.nav__item--mega:hover .nav__lien svg,.nav__item--mega:focus-within .nav__lien svg{transform:rotate(180deg)}
.mega__grille{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(var(--cols,3),minmax(0,1fr)) minmax(0,1.3fr);gap:40px;padding-block:40px 44px}
.mega__intro{display:flex;flex-direction:column;align-items:flex-start}
.mega__titre{font:400 22px/1.15 var(--display);text-transform:uppercase;text-decoration:none;color:var(--noir)!important}
.mega__intro p{margin:12px 0 22px;font-size:14px;line-height:1.6;color:var(--gris)}
.mega__col-titre{display:block;margin-bottom:10px;padding-bottom:10px;border-bottom:1.5px solid var(--or);font:500 12px/1.3 var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--noir)!important}
.mega__col-titre:hover{color:var(--or-texte)!important}
.mega__col:not(:has(.mega__col-titre)){padding-top:0}
.mega__liste{display:grid;gap:0;margin:0;padding:0;list-style:none}
.mega__liste a{display:block;padding:7px 0;font:400 14px/1.4 var(--texte);text-decoration:none;color:var(--encre)!important;transition:color .2s,padding-left .2s}
.mega__liste a:hover{padding-left:6px;color:var(--or-texte)!important}
.mega__visuel{position:relative;display:block;min-height:230px;overflow:hidden;border-radius:var(--r);background:var(--noir);text-decoration:none}
.mega__visuel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.mega__visuel:hover img{transform:scale(1.05)}
.mega__visuel span{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-radius:var(--r);background:var(--or);font:500 12px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--noir)}
.mega__visuel span svg{width:14px;height:14px}
@media (max-width:1280px){
  .mega__visuel{display:none}
  .mega__grille{grid-template-columns:minmax(0,1.2fr) repeat(var(--cols,3),minmax(0,1fr));gap:32px}
}
@media (max-width:1024px){
  .nav{display:none}
  .nav__liste{height:auto}
  .nav__item{display:block}
  .nav__item--mega{position:relative}
  .mega{position:static;border:0;background:none;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .mega__grille{display:block;padding:0 0 12px}
  .mega__intro,.mega__visuel{display:none}
  .mega__col-titre{margin:10px 0 2px;padding:0 0 0 16px;border:0;color:var(--or)!important}
  .mega__liste a{padding:5px 0 5px 16px;color:rgba(255,255,255,.72)!important}
  .mega__col-titre+.mega__liste a{padding-left:30px}
}
.clients a{display:block}

/* Menu — même style que le site en ligne (JetMenu) : en-tête blanc, rubriques LEMONMILK noires
   séparées par un filet, listes déroulantes blanches, sous-rubriques ouvertes sur le côté.
   Remplace le méga-menu pleine largeur (classes .mega* devenues inutilisées). */
.header,.header.is-solid{background:var(--blanc);color:var(--noir);box-shadow:0 1px 0 rgba(23,21,15,.08)}
.header.is-solid{box-shadow:0 8px 24px rgba(23,21,15,.1)}
.nav{align-self:stretch;display:flex}
.nav__liste{height:100%}
.nav__item{position:relative;display:flex;align-items:center}
.nav__item+.nav__item::before{content:"";width:1px;height:18px;background:rgba(23,21,15,.2)}
.nav__lien{gap:6px;padding:12px 14px;font:400 13px/1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--noir)}
.nav__lien svg{width:9px;height:9px;opacity:1}
.nav__lien:hover,.nav__item:hover>.nav__lien,.nav__item:focus-within>.nav__lien,.nav__item.is-actif>.nav__lien{color:var(--or)}
.header__cta.btn{height:46px;padding:0 18px;border:1px solid var(--noir);border-radius:3px;background:transparent;color:var(--noir);font-size:12px}
.header__cta.btn:hover{background:var(--noir);color:var(--blanc)}
.burger{border-color:rgba(23,21,15,.25);color:var(--noir)}

.deroulant,.panneau{position:absolute;top:100%;left:4px;z-index:40;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s}
.deroulant{min-width:290px;margin:0;padding:8px 0;list-style:none;background:var(--blanc);border-radius:5px;box-shadow:0 14px 34px rgba(23,21,15,.14)}
.nav__item:hover>.deroulant,.nav__item:focus-within>.deroulant,.nav__item:hover>.panneau,.nav__item:focus-within>.panneau,
.deroulant__item:hover>.deroulant,.deroulant__item:focus-within>.deroulant,.deroulant__item:hover>.panneau,.deroulant__item:focus-within>.panneau{opacity:1;visibility:visible;transform:none}
.deroulant__item{position:relative}
.deroulant__lien{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;font:400 11.5px/1.3 var(--display);letter-spacing:.02em;text-transform:uppercase;text-decoration:none;white-space:nowrap;color:var(--noir)!important}
.deroulant__lien:hover,.deroulant__item:hover>.deroulant__lien,.deroulant__item:focus-within>.deroulant__lien{background:var(--papier);color:var(--or)!important}
.deroulant__fleche{width:9px;height:9px;transform:rotate(-90deg)}
.deroulant--cote,.panneau--cote{top:-8px;left:100%}
.panneau{padding:26px 30px;background:var(--blanc);border-radius:5px;box-shadow:0 14px 34px rgba(23,21,15,.14)}
.panneau__grille{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(150px,auto));gap:10px 36px}
.panneau__titre{display:block;margin-bottom:10px;font:300 15px/1.2 var(--display);text-transform:uppercase;text-decoration:none;white-space:nowrap;color:var(--noir)!important}
.panneau__titre:hover{color:var(--or)!important}
.panneau__liste{display:grid;gap:0;margin:0;padding:0;list-style:none}
.panneau__liste a{display:block;padding:6px 0;font:400 12px/1.4 var(--display);text-decoration:none;white-space:nowrap;color:var(--noir)!important}
.panneau__liste a:hover{color:var(--or)!important}
.nav__item:nth-last-child(-n+2)>.panneau,.nav__item:nth-last-child(-n+2)>.deroulant{left:auto;right:4px}
@media (max-width:1280px){.nav__lien{padding:12px 9px;font-size:12px}}
@media (max-width:1024px){
  .nav{display:none}
  .header.is-open,.header.is-open .nav{background:var(--blanc)}
  .nav__liste{height:auto}
  .nav__item{display:block;border-bottom:1px solid var(--ligne)}
  .nav__item+.nav__item::before{display:none}
  .nav__lien{padding:18px 0;font-size:14px;color:var(--noir)}
  .deroulant,.panneau,.deroulant--cote,.panneau--cote{position:static;min-width:0;margin:0 0 12px;padding:0;border-radius:0;background:none;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .deroulant__lien{padding:8px 0 8px 14px;font-size:12px;white-space:normal}
  .deroulant__lien:hover,.deroulant__item:hover>.deroulant__lien{background:none}
  .deroulant__fleche{display:none}
  .deroulant--cote .deroulant__lien{padding-left:28px}
  .panneau--cote{padding-left:28px}
  .panneau__grille{display:block}
  .panneau__titre{margin:10px 0 4px;font-size:12px;color:var(--or-texte)!important;white-space:normal}
  .panneau__liste a{padding:5px 0 5px 14px;white-space:normal}
}

/* Méga-menu pleine largeur (présentation + colonnes + photo), préféré par le client,
   dans l'en-tête blanc. L'élément doit rester statique pour que le panneau prenne toute la largeur. */
.nav__item--mega{position:static}
.nav__item--mega:hover>.nav__lien,.nav__item--mega:focus-within>.nav__lien{color:var(--or)}
.mega{top:100%}
@media (max-width:1024px){
  .nav__item--mega{position:relative}
  .mega__col-titre{color:var(--or-texte)!important}
  .mega__liste a{color:var(--encre)!important}
}

/* Bandeau interne ------------------------------------------------------- */
.phero{position:relative;overflow:hidden;padding-top:160px}
.phero__grille{align-items:center;padding-bottom:96px}
.phero__texte{grid-column:1/8;position:relative;z-index:1}
.phero__titre{margin:0 0 24px;font-size:clamp(30px,3.4vw,50px);line-height:1.1}
.phero__accroche{max-width:620px;margin-bottom:40px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.82)}
.phero__visuel{grid-column:8/13;position:relative;display:grid;place-items:center;min-height:380px}
.phero__splash{position:absolute;left:-14%;top:50%;width:128%;height:auto;transform:translateY(-50%)}
.phero__photo{position:relative;z-index:1;width:84%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);box-shadow:0 30px 60px rgba(0,0,0,.45)}
.phero__logo{position:relative;z-index:1;width:44%;height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35))}

.ariane{margin-bottom:32px;font-size:13px;line-height:1.5;color:rgba(255,255,255,.6)}
.ariane a{color:rgba(255,255,255,.8);text-decoration:none}
.ariane a:hover{color:var(--or)}
.ariane .breadcrumb_last,.ariane [aria-current]{color:var(--blanc)}
.ariane__sep{margin:0 6px;color:var(--or)}

/* Bande « flocage » */
.bande{position:relative;z-index:1;overflow:hidden;background:var(--or);color:var(--noir)}
.bande__piste{display:flex;width:max-content;animation:bande 38s linear infinite}
.bande:hover .bande__piste{animation-play-state:paused}
.bande span{display:inline-flex;align-items:center;gap:28px;padding:16px 0 16px 28px;font:500 14px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.bande span::after{content:"";width:7px;height:7px;background:var(--noir)}
@keyframes bande{to{transform:translateX(-50%)}}

/* Présentation + encart ------------------------------------------------- */
.intro__grille{align-items:start}
.intro__texte{grid-column:1/8}
.intro__texte .t-h2{margin-bottom:32px}
.encart{grid-column:9/13;position:sticky;top:104px;padding:40px;border-radius:var(--r);background:var(--noir);color:var(--blanc)}
.encart__titre{margin-bottom:20px;font:400 18px/1.3 var(--display);text-transform:uppercase;color:var(--or)}
.encart__texte{margin-bottom:8px;font-size:15px;color:rgba(255,255,255,.75)}
.encart__liste div{display:grid;gap:4px;padding:14px 0;border-top:1px solid var(--ligne-sombre)}
.encart__liste dt{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.encart__liste dd{font-size:15px;line-height:1.5}
.encart__liste a{text-decoration:none}
.encart__chiffre{font:400 34px/1 var(--display)!important;color:var(--or);font-variant-numeric:tabular-nums}
.encart--chiffres .encart__liste div{display:flex;flex-direction:column-reverse;gap:8px}
.encart__actions{display:grid;gap:14px;margin-top:24px}
.encart__actions .btn{width:100%}
.encart__tel,.encart__ligne{display:flex;align-items:flex-start;gap:12px;margin-top:10px;font-size:15px;text-decoration:none;color:var(--blanc)}
.encart__tel{justify-content:center;margin:0}
.encart svg{width:16px;height:16px;margin-top:4px;flex:none;color:var(--or)}
.encart__tel:hover,.encart__ligne:hover{color:var(--or)}

/* Texte riche */
.prose--large{font-size:17px}
.prose--article{max-width:720px;font-size:17px;line-height:1.75}
.prose h2{margin-top:32px;font:400 clamp(22px,2vw,28px)/1.25 var(--display);text-transform:uppercase;text-wrap:balance;color:var(--noir)}
.prose h3{margin-top:16px;font:400 19px/1.3 var(--display);text-transform:uppercase;color:var(--noir)}
.prose ul,.prose ol{display:grid;gap:8px;padding-left:1.2em;list-style:disc}
.prose ol{list-style:decimal}
.prose li::marker{color:var(--or)}
.prose a{color:var(--or-texte);text-underline-offset:3px}
.prose img{height:auto;border-radius:var(--r)}
.prose blockquote{margin:0;padding-left:20px;border-left:3px solid var(--or);font-size:18px}
.on-dark .prose h2,.on-dark .prose h3{color:var(--blanc)}

/* Atouts ---------------------------------------------------------------- */
.atouts{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--ligne);border-radius:var(--r);background:var(--ligne)}
.atout{padding:32px;background:var(--blanc)}
.atout::before{content:"";display:block;width:8px;height:8px;margin-bottom:20px;background:var(--or)}
.atout__titre{margin-bottom:10px;font:400 16px/1.35 var(--display);text-transform:uppercase;color:var(--noir)}
.atout p{font-size:15px;line-height:1.6;color:var(--gris)}

/* Étapes ---------------------------------------------------------------- */
.etapes{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:var(--gap)}
.etape{padding-top:24px;border-top:2px solid var(--or)}
.etape__num{display:block;font:400 40px/1 var(--display);color:var(--or);font-variant-numeric:tabular-nums}
.etape__titre{margin:18px 0 8px;font:400 16px/1.35 var(--display);text-transform:uppercase;color:var(--blanc)}
.etape p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.72)}

/* Cartes ---------------------------------------------------------------- */
.cartes{display:grid;gap:24px}
.cartes--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cartes--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.carte{overflow:hidden;border:1px solid var(--ligne);border-radius:var(--r);background:var(--blanc);transition:border-color .2s,box-shadow .2s}
.carte:hover{border-color:var(--noir);box-shadow:0 14px 30px rgba(23,21,15,.08)}
.carte__lien{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.carte__img{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--papier)}
.carte__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.carte:hover .carte__img img{transform:scale(1.04)}
.carte__logo{display:grid;place-items:center;height:100%;padding:28px;background:var(--blanc)}
.carte__logo img{object-fit:contain}
.carte__vide{display:grid;place-items:center;height:100%;background:var(--noir)}
.carte__vide .splash{width:72%;height:auto}
.carte__corps{display:flex;flex:1;flex-direction:column;gap:10px;padding:24px}
.carte__cat{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--or-texte)}
.carte__titre{font:400 16px/1.35 var(--display);text-transform:uppercase;text-wrap:balance;color:var(--noir)}
.carte__extrait{font-size:14px;line-height:1.6;color:var(--gris)}
.carte .lien{align-self:flex-start;margin-top:auto;padding-top:8px}

/* Liens vers les autres prestations ------------------------------------ */
.liens-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gap)}
.liens-services a{display:flex;align-items:center;justify-content:space-between;gap:16px;height:100%;padding:22px 0;border-top:1.5px solid var(--ligne);color:var(--noir);text-decoration:none;transition:border-color .2s,color .2s}
.liens-services__titre{font:400 17px/1.3 var(--display);text-transform:uppercase}
.liens-services svg{width:20px;height:20px;flex:none;transition:transform .2s}
.liens-services a:hover{border-top-color:var(--noir);color:var(--or-texte)}
.liens-services a:hover svg{transform:translateX(4px)}

/* FAQ -------------------------------------------------------------------- */
.faq__grille{align-items:start}
.faq__tete{grid-column:1/5;position:sticky;top:104px}
.faq{grid-column:6/13;border-bottom:1.5px solid var(--ligne)}
.faq__item{border-top:1.5px solid var(--ligne)}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;list-style:none;font:400 17px/1.35 var(--display);text-transform:uppercase;color:var(--noir)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__signe{position:relative;width:20px;height:20px;flex:none}
.faq__signe::before,.faq__signe::after{content:"";position:absolute;left:2px;right:2px;top:9px;height:2px;background:var(--or);transition:transform .2s}
.faq__signe::after{transform:rotate(90deg)}
.faq__item[open] .faq__signe::after{transform:rotate(0)}
.faq__reponse{max-width:65ch;padding-bottom:24px;color:var(--gris)}
.faq__reponse p+p{margin-top:12px}

/* Équipe ----------------------------------------------------------------- */
.membres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px var(--gap)}
.membre__photo{position:relative;margin:0 0 18px;aspect-ratio:1/1;overflow:hidden;border-radius:var(--r);background:var(--noir)}
.membre__photo img{width:100%;height:100%;object-fit:cover}
.membre__splash{position:absolute;inset:14% 6%;width:88%;height:72%}
.membre__initiale{position:absolute;inset:0;display:grid;place-items:center;font:500 72px/1 var(--display);color:var(--noir)}
.membre__nom{font:400 18px/1.3 var(--display);text-transform:uppercase;color:var(--noir)}
.membre__poste{margin-top:4px;font-size:14px;color:var(--or-texte);font-weight:500}
.membre__bio{margin-top:10px;font-size:14px;line-height:1.6;color:var(--gris)}

.histoire__grille{align-items:start}
.histoire{grid-column:1/7}
.valeurs{grid-column:8/13}
.frise{display:grid;margin-top:40px;padding-left:32px;border-left:2px solid var(--or);list-style:none}
.frise li{position:relative;padding-bottom:32px}
.frise li:last-child{padding-bottom:0}
.frise li::before{content:"";position:absolute;left:-39px;top:8px;width:12px;height:12px;background:var(--or)}
.frise__annee{display:block;margin-bottom:6px;font:400 28px/1 var(--display);color:var(--or);font-variant-numeric:tabular-nums}
.frise p{color:rgba(255,255,255,.8)}
.valeurs__liste{display:grid;gap:1px;margin:8px 0 40px;background:var(--ligne-sombre)}
.valeurs__liste li{padding:20px 0;background:var(--noir)}
.valeurs__liste h3{margin-bottom:6px;font:400 18px/1.3 var(--display);text-transform:uppercase;color:var(--blanc)}
.valeurs__liste p{font-size:15px;color:rgba(255,255,255,.72)}

/* Agences ---------------------------------------------------------------- */
.fiches-agences{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fiche-agence{display:flex;flex-direction:column;gap:10px;padding:32px;border:1px solid var(--ligne);border-radius:var(--r);background:var(--blanc)}
.fiche-agence .eyebrow{margin-bottom:4px}
.fiche-agence .t-h3{margin-bottom:8px;font-size:20px}
.fiche-agence__ligne{display:flex;align-items:flex-start;gap:12px;font-size:15px;text-decoration:none;color:var(--encre)}
.fiche-agence__ligne svg{width:16px;height:16px;margin-top:4px;flex:none;color:var(--or-texte)}
a.fiche-agence__ligne:hover{color:var(--or-texte)}
.fiche-agence__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:16px}
.horaires{margin:12px 0 0}
.horaires div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-top:1px solid var(--ligne);font-size:14px}
.horaires dt{font-weight:500}
.horaires dd{color:var(--gris);font-variant-numeric:tabular-nums;text-align:right}
.encart .horaires div{border-top-color:var(--ligne-sombre)}
.encart .horaires dd{color:rgba(255,255,255,.75)}

/* Filtres & pagination --------------------------------------------------- */
.filtres{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:48px}
.filtre{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:1.5px solid var(--ligne);border-radius:var(--r);font-size:13px;font-weight:500;text-decoration:none;color:var(--noir);white-space:nowrap;transition:border-color .2s,background-color .2s,color .2s}
.filtre span{color:var(--gris);font-variant-numeric:tabular-nums}
.filtre:hover{border-color:var(--noir)}
.filtre.is-actif{background:var(--noir);border-color:var(--noir);color:var(--or)}
.filtre.is-actif span{color:rgba(255,255,255,.6)}
.pagination{margin-top:56px}
.pagination ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.pagination a,.pagination span{display:grid;place-items:center;min-width:44px;height:44px;padding:0 14px;border:1.5px solid var(--ligne);border-radius:var(--r);font-size:14px;text-decoration:none;color:var(--noir)}
.pagination a:hover{border-color:var(--noir)}
.pagination .current{background:var(--noir);border-color:var(--noir);color:var(--or)}
.vide{padding:48px 0;color:var(--gris)}

/* Article ---------------------------------------------------------------- */
.article__grille{align-items:start}
.article__corps{grid-column:1/9}
.article__aside{grid-column:9/13;align-self:stretch}
.article__aside .encart{position:sticky;top:104px}

/* Produit ---------------------------------------------------------------- */
.produit__grille{align-items:start}
.produit__galerie{grid-column:1/7}
.produit__texte{grid-column:7/13}
.produit__texte .t-h2{margin-bottom:24px}
.produit__texte .actions{margin-top:32px}
.produit__principale{margin:0;overflow:hidden;border-radius:var(--r);background:var(--papier)}
.produit__principale img{width:100%;aspect-ratio:1/1;object-fit:contain}
.produit__vignettes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.produit__vignettes img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r)}
.caracteristiques{margin-top:32px;border-bottom:1px solid var(--ligne)}
.caracteristiques div{display:flex;justify-content:space-between;gap:24px;padding:12px 0;border-top:1px solid var(--ligne);font-size:15px}
.caracteristiques dt{font-weight:500;color:var(--noir)}
.caracteristiques dd{color:var(--gris);text-align:right}

/* Réalisation ------------------------------------------------------------ */
.projet__grille{align-items:start}
.projet__texte{grid-column:1/6}
.projet__galerie{grid-column:7/13}
.galerie{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.galerie__une{grid-column:1/-1}
.galerie img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.puces{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.puces li{padding:8px 14px;border-radius:var(--r);background:var(--papier);font-size:13px;font-weight:500;color:var(--noir)}
.citation{margin:32px 0 0;padding:28px 32px;border-radius:var(--r);background:var(--noir);color:var(--blanc);font-size:17px;line-height:1.65}
.citation::before{content:"“";display:block;height:28px;font:500 56px/1 var(--display);color:var(--or)}

/* Zones & villes --------------------------------------------------------- */
.departements{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px var(--gap)}
.departement__nom{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--or);font:400 16px/1.3 var(--display);text-transform:uppercase;color:var(--noir)}
.departement__nom span{font:500 13px/1.3 var(--texte);color:var(--gris);font-variant-numeric:tabular-nums}
.departement ul{display:grid;gap:8px}
.departement a{font-size:15px;text-decoration:none;color:var(--encre)}
.departement a:hover{color:var(--or-texte)}
.nuage{display:flex;flex-wrap:wrap;gap:8px}
.nuage a{display:block;padding:10px 16px;border:1.5px solid var(--ligne);border-radius:var(--r);font-size:14px;text-decoration:none;color:var(--noir);transition:background-color .2s,border-color .2s,color .2s}
.nuage a:hover{background:var(--noir);border-color:var(--noir);color:var(--or)}

.apercu--court .apercu__haut{border-bottom:0}

/* Pied de page : lien « Toutes nos zones » ; icônes des réseaux toujours visibles au survol */
.footer__tout{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-weight:500;color:var(--or)!important}
.footer__tout svg{width:14px;height:14px;transition:transform .2s}
.footer__tout:hover svg{transform:translateX(4px)}
.reseaux a svg{color:inherit}
.reseaux--sombre a:hover,.reseaux--sombre a:focus-visible{color:var(--noir)!important}
.reseaux--sombre a:hover svg,.reseaux--sombre a:focus-visible svg{color:var(--noir)}

/* Signature du pied de page : « Un site fait avec ❤ par L&A Communication » */
.footer__signature{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}
.footer__signature strong{font:500 12px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--blanc)}
.coeur{display:inline-block;font-size:15px;line-height:1;color:var(--or);animation:la-battement 1.6s ease-in-out infinite}
@keyframes la-battement{0%,60%,100%{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.15)}}

/* Chiffres de l'agence : toujours au-dessus de la photo qu'ils chevauchent.
   Sur mobile main.css les remet en position statique avec une marge négative :
   sans position ni z-index, la photo était peinte par-dessus et coupait les nombres. */
.chiffres{z-index:1}

/* Formulaire de devis : titre lisible sur le panneau noir ; un menu déroulant aux options
   longues ne doit jamais élargir sa colonne (minmax(0,1fr) + min-width:0). */
.formulaire .t-h3{color:var(--blanc)}
.champ{min-width:0}
.champ select{max-width:100%;text-overflow:ellipsis}
@media (max-width:767px){.chiffres{position:relative;margin-top:-32px}}

/* Logos (références, partenaires, territoire) : un seul rang qui défile en boucle.
   Le script enveloppe la liste dans .defile-cadre et la double pour boucler sans saut. */
.defile-cadre{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.defile{display:flex!important;gap:16px!important;width:max-content;overflow:visible!important;padding:0!important;animation:la-defile var(--duree,40s) linear infinite}
.defile-cadre:hover .defile,.defile-cadre:focus-within .defile{animation-play-state:paused}
.defile>li{flex:none}
.clients.defile>li{width:150px}
.logos.defile>li,.adhesions__logos.defile>li{width:170px}
@keyframes la-defile{to{transform:translateX(calc(-50% - 8px))}}
.partenaires__grille .defile-cadre,.adhesions .defile-cadre{grid-column:6/13}
@media (max-width:1024px){
  .partenaires__grille .defile-cadre{grid-column:1/-1;margin-top:48px}
  .adhesions .defile-cadre{grid-column:1/-1;margin-top:32px}
}
@media (max-width:767px){
  .clients.defile>li{width:118px}
  .logos.defile>li,.adhesions__logos.defile>li{width:140px}
}
@media (prefers-reduced-motion:reduce){
  .defile-cadre{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
}

/* Labels du pied de page (Origin'Ain, CCI) : cases identiques, logo centré et contenu */
.labels{display:grid;grid-template-columns:repeat(2,132px);gap:12px}
.labels li{display:flex;align-items:center;justify-content:center;width:132px;height:84px;padding:10px 12px;overflow:hidden;border-radius:var(--r);background:var(--blanc)}
.labels img{width:auto;height:auto;max-width:100%;max-height:64px;object-fit:contain}
/* Même contrainte pour les logos « Territoire » de la page équipe */
.adhesions__logos li{display:flex;align-items:center;justify-content:center;overflow:hidden}
.adhesions__logos img{width:auto;height:auto;max-width:100%;max-height:100%;padding:14px}
.adhesions__logos li.is-photo img{width:100%;height:100%;max-height:none;padding:0;object-fit:cover}

/* Contact rapide : barre mobile, bouton flottant, « Être rappelé » ------- */
.barre-mobile{display:none}
.rappel-flottant{position:fixed;right:24px;bottom:24px;z-index:60;display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 20px 0 16px;border-radius:var(--r);background:var(--or);color:var(--noir);font:500 12px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;box-shadow:0 14px 30px rgba(23,21,15,.32);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s,transform .3s,visibility .3s,background-color .2s}
.rappel-flottant.is-visible{opacity:1;visibility:visible;transform:none}
.rappel-flottant:hover{background:var(--or-clair)}
.rappel-flottant svg{width:18px;height:18px}
.encart__rappel{display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:500;color:var(--or);text-decoration:underline;text-underline-offset:3px}
.encart__rappel:hover{color:var(--or-clair)}

.rappel{width:min(460px,calc(100% - 32px));max-height:calc(100% - 32px);margin:auto;padding:0;border:0;border-radius:var(--r);background:var(--blanc);color:var(--encre);box-shadow:0 40px 80px rgba(0,0,0,.45)}
.rappel::backdrop{background:rgba(23,21,15,.74);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.rappel[open]{animation:la-monte .35s cubic-bezier(.22,.61,.36,1)}
.rappel__carte{position:relative;display:grid;gap:14px;padding:36px}
.rappel__carte .eyebrow{margin:0}
.rappel__corps{display:grid;gap:14px}
.rappel__titre{margin:-4px 0 0;font:400 26px/1.15 var(--display);text-transform:uppercase;color:var(--noir)}
.rappel__texte,.rappel__alt{font-size:14px;line-height:1.6;color:var(--gris)}
.rappel__alt{text-align:center}
.rappel__alt a{font-weight:500;color:var(--or-texte)}
.rappel__ok{padding:16px 18px;border-radius:var(--r);background:var(--papier);font-weight:500;color:var(--noir)}
.rappel__erreur{padding:12px 14px;border-left:3px solid #B3261E;background:#FBEDEC;font-size:14px;color:#8C1D18}
.rappel__champ{display:grid;gap:6px}
.rappel__champ span{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.rappel__champ input{width:100%;height:52px;padding:0 16px;border:1.5px solid var(--ligne);border-radius:var(--r);font:400 16px/1 var(--texte);color:var(--noir);background:var(--blanc)}
.rappel__champ input:focus{outline:none;border-color:var(--or)}
.rappel .accord{color:var(--gris)}
.rappel .accord a{color:var(--or-texte)}
.rappel .btn{width:100%}
.rappel__fermer{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r);font-size:26px;line-height:1;color:var(--noir)}
.rappel__fermer:hover{background:var(--papier)}

@media (max-width:767px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .barre-mobile{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--ligne-sombre);background:var(--noir)}
  .barre-mobile__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:64px;font:500 10.5px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--blanc)}
  .barre-mobile__btn+.barre-mobile__btn{border-left:1px solid var(--ligne-sombre)}
  .barre-mobile__btn svg{width:20px;height:20px;color:var(--or)}
  .barre-mobile__btn--or{background:var(--or);color:var(--noir)}
  .barre-mobile__btn--or svg{color:var(--noir)}
  .rappel-flottant{display:none}
  .rappel{width:100%;max-width:none;margin:auto 0 0;border-radius:var(--r) var(--r) 0 0}
  .rappel__carte{padding:28px 20px calc(24px + env(safe-area-inset-bottom))}
}

/* Qui sommes-nous : fondateur, pôles, adhésions, rejoindre --------------- */
.fondateur{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:center}
.fondateur__visuel{grid-column:1/6;position:relative;display:grid;place-items:center;min-height:440px}
.fondateur__visuel .splash{position:absolute;left:-12%;top:50%;width:124%;height:auto;transform:translateY(-50%)}
.fondateur__photo{position:relative;z-index:1;width:72%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);box-shadow:0 30px 60px rgba(0,0,0,.4)}
.fondateur__initiale{position:relative;z-index:1;font:500 150px/1 var(--display);color:var(--noir)}
.fondateur__texte{grid-column:7/13}
.fondateur__citation{margin:0 0 28px;font:400 clamp(22px,2.3vw,31px)/1.28 var(--display);text-transform:uppercase;text-wrap:balance;color:var(--blanc)}
.fondateur__citation::before{content:"“";display:block;height:.62em;font-size:2.6em;line-height:1;color:var(--or)}
.fondateur__prose p{color:rgba(255,255,255,.78)}
.fondateur__prose strong{color:var(--blanc)}
.fondateur__signature{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:32px;padding-top:24px;border-top:1px solid var(--ligne-sombre)}
.fondateur__signature strong{font:500 17px/1.2 var(--display);text-transform:uppercase;color:var(--or)}
.fondateur__signature span{font-size:14px;color:rgba(255,255,255,.66)}

.poles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.pole{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ligne);border-radius:var(--r);background:var(--blanc)}
.pole__img{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--noir)}
.pole__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.pole:hover .pole__img img{transform:scale(1.05)}
.pole__corps{display:flex;flex-direction:column;gap:10px;padding:24px}
.pole__titre{font:400 17px/1.3 var(--display);text-transform:uppercase;text-wrap:balance;color:var(--noir)}
.pole__corps p{font-size:14.5px;line-height:1.6;color:var(--gris)}

.adhesions{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:center}
.adhesions__texte{grid-column:1/5}
.adhesions__texte p:last-child{margin-top:20px;color:var(--gris)}
.adhesions__logos{grid-column:6/13;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.adhesions__logos li{display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--ligne);border-radius:var(--r);background:var(--blanc)}
.adhesions__logos img{width:100%;height:100%;object-fit:contain;padding:14px}
.adhesions__logos li.is-photo img{object-fit:cover;padding:0}

.rejoindre{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.rejoindre__carte{position:relative;display:flex;flex-direction:column;gap:14px;overflow:hidden;padding:44px;border-radius:var(--r);background:var(--noir);color:var(--blanc)}
.rejoindre__carte--or{background:var(--or);color:var(--noir)}
.rejoindre__carte--or .eyebrow{color:var(--noir)}
.rejoindre__carte--or .eyebrow::before{background:var(--noir)}
.rejoindre__carte .eyebrow{margin:0}
.rejoindre__titre{font:400 clamp(22px,2.2vw,30px)/1.2 var(--display);text-transform:uppercase;text-wrap:balance}
.rejoindre__carte p{max-width:54ch;font-size:15px;line-height:1.65}
.rejoindre__carte .actions{margin-top:auto;padding-top:14px}
.rejoindre__mention{font-size:12px!important;opacity:.72}
.rejoindre__carte .splash{position:absolute;right:-90px;bottom:-70px;width:280px;height:auto;opacity:.16;pointer-events:none}
.rejoindre__carte--or .splash{opacity:.14;color:var(--noir)}
.splash{color:var(--or);overflow:visible}

@media (max-width:1024px){
  .fondateur__visuel,.fondateur__texte,.adhesions__texte,.adhesions__logos{grid-column:1/-1}
  .fondateur__visuel{width:100%;max-width:480px;min-height:340px;margin:0 auto 48px}
  .adhesions__logos{margin-top:32px}
  .poles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .poles,.rejoindre{grid-template-columns:1fr}
  .rejoindre__carte{padding:32px 24px}
  .fondateur__initiale{font-size:110px}
}

/* ==========================================================================
   Animations
   Signature : la tache de peinture « éclabousse » et le réveil sonne à l'ouverture
   de chaque page ; le reste apparaît au défilement (voir laAnimer dans main.js).
   ========================================================================== */
@keyframes la-monte{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes la-splat{0%{opacity:0;transform:translateY(-50%) scale(.3) rotate(-14deg)}55%{opacity:1;transform:translateY(-50%) scale(1.06) rotate(2deg)}78%{transform:translateY(-50%) scale(.98) rotate(-1deg)}100%{opacity:1;transform:translateY(-50%) scale(1) rotate(0)}}
@keyframes la-sonne{0%,100%{transform:rotate(0)}8%{transform:rotate(-13deg)}16%{transform:rotate(11deg)}24%{transform:rotate(-9deg)}32%{transform:rotate(7deg)}40%{transform:rotate(-5deg)}48%{transform:rotate(3deg)}56%{transform:rotate(-1deg)}64%{transform:rotate(0)}}
@keyframes la-trait{from{background-size:0 .09em}to{background-size:100% .09em}}

/* Ouverture des pages internes */
.phero__texte>*{animation:la-monte .75s cubic-bezier(.22,.61,.36,1) both}
.phero__texte>*:nth-child(2){animation-delay:.07s}
.phero__texte>*:nth-child(3){animation-delay:.14s}
.phero__texte>*:nth-child(4){animation-delay:.21s}
.phero__texte>*:nth-child(5){animation-delay:.28s}
.phero__texte>*:nth-child(6){animation-delay:.35s}
.phero__splash{animation:la-splat 1s cubic-bezier(.34,1.4,.64,1) .12s both}
.phero__photo{animation:la-monte .8s cubic-bezier(.22,.61,.36,1) .35s both}
.phero__logo{transform-origin:50% 62%;animation:la-monte .6s cubic-bezier(.22,.61,.36,1) .3s both,la-sonne 1.1s ease-in-out 1s}
.phero__visuel:hover .phero__logo,.fondateur__visuel:hover .fondateur__initiale{animation:la-sonne 1s ease-in-out}
.brand img{transform-origin:50% 62%}
.brand:hover img{animation:la-sonne 1s ease-in-out}

/* Accueil : le texte de chaque diapositive monte à son arrivée */
/* Pas d'entrée animée au chargement (texte visible tout de suite pour le LCP) : seulement aux changements de diapositive. */
.hero.is-defile .slide.is-active .slide__contenu>*{animation:la-monte .8s cubic-bezier(.22,.61,.36,1) both}
.hero.is-defile .slide.is-active .slide__contenu>*:nth-child(2){animation-delay:.1s}
.hero.is-defile .slide.is-active .slide__contenu>*:nth-child(3){animation-delay:.2s}
.hero.is-defile .slide.is-active .slide__contenu>*:nth-child(4){animation-delay:.3s}

/* Apparition au défilement — état posé par le script uniquement */
.anim-pret{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1);transition-delay:calc(var(--i,0) * 70ms)}
.anim-pret.anim-vu{opacity:1;transform:none}

/* « réveiller » se souligne au pinceau dans le pied de page */
.footer__slogan em{background:linear-gradient(var(--or),var(--or)) no-repeat 0 94%/100% .09em;padding-bottom:.05em}
.footer__slogan.anim-vu em{animation:la-trait 1s cubic-bezier(.22,.61,.36,1) .45s both}

/* Petites respirations */
.faq__item[open] .faq__reponse{animation:la-monte .4s ease both}
.membre__photo img{transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.membre:hover .membre__photo img{transform:scale(1.05)}
.membre__splash{transition:transform .6s cubic-bezier(.34,1.4,.64,1)}
.membre:hover .membre__splash{transform:scale(1.08) rotate(-3deg)}
.etape__num{transition:color .3s}
.etape:hover .etape__num{color:var(--or-clair)}

/* Bandeau interne : photo du bureau en fond, texte pleine largeur (plus de visuel à droite) */
.phero{isolation:isolate}
.phero__fond{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;animation:la-recul 14s cubic-bezier(.22,.61,.36,1) both}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(23,21,15,.94) 0%,rgba(23,21,15,.84) 45%,rgba(23,21,15,.58) 100%)}
.phero__grille{display:block;padding-bottom:112px}
.phero__texte{max-width:880px}
.phero__titre{font-size:clamp(32px,3.9vw,58px)}
@keyframes la-recul{from{transform:scale(1.08)}to{transform:scale(1)}}
@media (max-width:1024px){.phero__grille{padding-bottom:80px}}
@media (max-width:767px){
  .phero::before{background:rgba(23,21,15,.86)}
  .phero__texte{margin-inline:auto}
}

/* Logo : exactement le fichier de l'en-tête du site en ligne (« Depuis 2017 » inclus),
   sans contour, en grand. L'en-tête et les bandeaux s'agrandissent en conséquence. */
.header__bar{height:128px}
.header.is-solid .header__bar{height:92px}
.brand img{height:112px;filter:none}
.header.is-solid .brand img{height:76px}
.footer__marque img.logo{height:112px;filter:none}
.phero{padding-top:196px}
.slide{padding-top:208px}
@media (max-width:1024px){
  .header__bar,.header.is-solid .header__bar,.header.is-open .header__bar{height:92px}
  .brand img,.header.is-solid .brand img{height:76px}
  .header.is-open .nav{inset:92px 0 0}
  .phero{padding-top:150px}
  .slide{padding-top:160px}
}

/* ==========================================================================
   Mobile : tout est centré (demande client). Exceptions : champs de saisie
   et case de consentement, qui restent alignés à gauche pour rester lisibles.
   ========================================================================== */
@media (max-width:767px){
  /* Têtes de section, bandeaux, accueil */
  .head,.hero__barre .wrap{align-items:center}
  .head,.head__titres,.phero__texte,.slide__contenu,.agence__texte,.metier__texte,.intro__texte,.partenaires__texte,.contact__texte,.adhesions__texte,.faq__tete,.histoire,.valeurs,.produit__texte,.projet__texte,.fondateur__texte,.footer__slogan{text-align:center}
  .ariane,.phero__accroche,.slide__lead{margin-inline:auto;text-align:center}
  .actions,.head__outils,.reseaux,.labels,.puces,.nuage,.fiche-agence__actions,.fondateur__signature,.footer__bas ul{justify-content:center}
  .hero__ctrl{justify-content:center;gap:16px}
  .gbadge{margin-inline:auto}

  /* Textes */
  .prose,.prose--article,.article__corps{text-align:center}
  .prose ul,.prose ol{padding-left:0;list-style-position:inside}
  .prose blockquote{padding:12px 0 0;border-left:0;border-top:3px solid var(--or)}
  .citation{text-align:center}

  /* Encarts */
  .encart,.encart__titre,.encart__liste div{text-align:center}
  .encart__ligne,.encart__tel,.encart__rappel{justify-content:center}

  /* Blocs répétés */
  .atout,.etape,.membre,.pole__corps,.departement,.fiche-agence,.valeurs__liste li,.rejoindre__carte,.chiffres div{text-align:center}
  .atout::before{margin-inline:auto}
  .carte__corps,.pole__corps,.fiche-agence,.rejoindre__carte{align-items:center;text-align:center}
  .carte .lien{align-self:center}
  .rejoindre__carte p{margin-inline:auto}
  .liens-services a{justify-content:center;text-align:center}
  .departement__nom{justify-content:center;gap:10px}
  .fiche-agence__ligne,.agence p,.agence a{justify-content:center;text-align:center}
  .agence h3{text-align:center}
  .post{grid-template-columns:1fr;text-align:center}
  .post-une{text-align:center}
  .apercu__haut{align-items:center;text-align:center}
  .apercu__note{flex-wrap:wrap;justify-content:center}

  /* FAQ : question centrée, signe à la suite */
  .faq__item summary{justify-content:center;text-align:center}

  /* Frise des dates : verticale et centrée */
  .frise{padding-left:0;border-left:0;text-align:center}
  .frise li::before{position:static;display:block;margin:0 auto 12px}

  /* Formulaire : reste aligné à gauche (demande client), sans débordement */
  .formulaire,.formulaire .t-h3,.formulaire__intro,.statut,.champ label{text-align:left}
  .champs{grid-template-columns:minmax(0,1fr)}
  .envoi .btn{flex:none;width:100%;height:52px}
  .rappel__carte .eyebrow,.rappel__titre,.rappel__texte{text-align:center;justify-self:center}

  /* Pied de page */
  .footer__marque,.footer__col{justify-items:center;text-align:center}
  .footer__marque p{margin-inline:auto}
  .footer__bas{align-items:center;text-align:center}

  /* Pied de page resserré sur mobile */
  .footer{padding-top:48px}
  .footer__slogan{padding-bottom:32px;font-size:28px}
  .footer__grille{padding-block:32px;row-gap:28px}
  .footer__marque{margin-bottom:0;gap:14px}
  .footer__marque img.logo{height:80px}
  .footer__col:nth-child(n){margin-bottom:0}
  .footer__col{gap:6px}
  .footer__col h2{margin-bottom:6px}
  .footer__bas{padding-block:18px;gap:8px}
  .footer__bas ul{gap:6px 18px}
}

/* Tablette --------------------------------------------------------------- */
@media (max-width:1024px){
  .phero{padding-top:128px}
  .phero__texte,.phero__visuel,.intro__texte,.encart,.faq__tete,.faq,.histoire,.valeurs,.article__corps,.article__aside,.produit__galerie,.produit__texte,.projet__texte,.projet__galerie{grid-column:1/-1}
  .phero__grille{padding-bottom:64px}
  .phero__visuel{width:100%;max-width:520px;min-height:300px;margin:48px auto 0}
  .encart,.faq__tete,.article__aside .encart{position:static}
  .encart,.article__aside,.valeurs,.produit__texte,.projet__galerie{margin-top:48px}
  .faq{margin-top:32px}
  .atouts,.etapes,.cartes--3,.cartes--4,.liens-services,.departements{grid-template-columns:repeat(2,minmax(0,1fr))}
  .membres,.fiches-agences{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-bar .header{top:46px}
}
/* Mobile ----------------------------------------------------------------- */
@media (max-width:767px){
  .phero{padding-top:112px}
  .phero__accroche{font-size:16px}
  .phero__visuel{min-height:240px}
  .encart{padding:28px 24px}
  .atouts,.etapes,.cartes--3,.cartes--4,.liens-services,.fiches-agences,.departements{grid-template-columns:1fr}
  .membres{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}
  .membre__initiale{font-size:48px}
  .filtres{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad);padding-bottom:4px}
  .faq__item summary{font-size:15px}
  .caracteristiques div{flex-direction:column;gap:2px}
  .caracteristiques dd{text-align:left}
  .admin-bar .header{top:0}
}

/* ---- pages-2.css ---- */
/* ==========================================================================
   Pages : zones d'intervention (carte + guide), page locale, recrutement, événement
   ========================================================================== */

/* Carte interactive ----------------------------------------------------- */
.carte-section .head{margin-bottom:48px}
.carte-zones{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--gap);align-items:stretch}
.carte-zones__plan{position:relative;overflow:hidden;border:1px solid var(--ligne-sombre);border-radius:var(--r);background:radial-gradient(120% 90% at 42% 48%,#28241c 0,var(--noir) 72%)}
.carte-zones__svg{display:block;width:100%;height:auto;max-height:780px;aspect-ratio:856/940;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.dep{fill:#1b1914;stroke:#2c2820;stroke-width:1;vector-effect:non-scaling-stroke}
.dep--zone{fill:#2b271f;stroke:#4d463a;cursor:pointer;transition:fill .25s,stroke .25s}
.dep--zone:hover{fill:#3a3428}
.dep--zone.is-actif{fill:rgba(213,163,8,.18);stroke:var(--or)}
.carte-zones.is-filtre .dep--zone:not(.is-actif){fill:#221f19}
.dep-nom{font:400 15px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;fill:rgba(255,255,255,.3);text-anchor:middle;pointer-events:none}
.carte-zones__noms{transition:opacity .3s}
.carte-zones.is-zoom .carte-zones__noms{opacity:0}
.carte-zones__pays{font:500 13px/1 var(--texte);letter-spacing:.3em;text-transform:uppercase;fill:rgba(255,255,255,.18);text-anchor:middle}

.pt,.ag{cursor:pointer;outline:none;transition:opacity .3s}
.pt__halo{fill:var(--or);opacity:0;transition:opacity .2s}
.pt__rond{fill:var(--or);stroke:var(--noir);stroke-width:2;vector-effect:non-scaling-stroke;transition:fill .2s}
.pt:hover .pt__halo,.pt:focus-visible .pt__halo,.pt.is-survol .pt__halo{opacity:.3}
.pt:hover .pt__rond,.pt:focus-visible .pt__rond,.pt.is-survol .pt__rond{fill:var(--blanc)}
.pt__nom,.ag__nom{paint-order:stroke;stroke:var(--noir);stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.pt__nom{font:500 13px/1 var(--texte);fill:var(--blanc);opacity:0;transition:opacity .2s}
.pt.is-etiquette .pt__nom{opacity:1}
.carte-zones.is-filtre .pt:not(.is-actif){opacity:.15;pointer-events:none}
.ag__rond{fill:var(--noir);stroke:var(--or);stroke-width:3;vector-effect:non-scaling-stroke;transition:fill .2s}
.ag__coeur{fill:var(--or);transition:fill .2s}
.ag:hover .ag__rond,.ag:focus-visible .ag__rond{fill:var(--or)}
.ag:hover .ag__coeur,.ag:focus-visible .ag__coeur{fill:var(--noir)}
.ag__onde{fill:none;stroke:var(--or);stroke-width:2;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:la-onde 2.6s cubic-bezier(.2,.6,.3,1) infinite}
.ag__nom{font:400 13px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;fill:var(--or);text-anchor:middle}
@keyframes la-onde{from{transform:scale(1);opacity:.85}to{transform:scale(2.6);opacity:0}}
@keyframes la-point{from{opacity:0}}
.carte-zones.is-attente .pt,.carte-zones.is-attente .ag{opacity:0}
.carte-zones.is-vue .pt{animation:la-point .45s calc(var(--i,0) * 22ms) backwards}
.carte-zones.is-vue .ag{animation:la-point .6s .15s backwards}

.carte-zones__bulle{position:absolute;z-index:3;left:0;top:0;min-width:150px;max-width:250px;padding:12px 14px;border-radius:var(--r);background:var(--blanc);color:var(--noir);box-shadow:0 14px 30px rgba(0,0,0,.35);transform:translate(-50%,calc(-100% - 14px));pointer-events:none;font-size:13px;line-height:1.4}
.carte-zones__bulle::after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;background:var(--blanc);transform:translateX(-50%) rotate(45deg)}
.carte-zones__bulle.is-bas{transform:translate(-50%,14px)}
.carte-zones__bulle.is-bas::after{top:-6px;bottom:auto}
.carte-zones__bulle strong{display:block;font:400 14px/1.25 var(--display);text-transform:uppercase}
.carte-zones__bulle span{display:block;margin-top:4px;color:var(--gris)}
.carte-zones__retour{position:absolute;left:16px;top:16px;z-index:2;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid var(--ligne-sombre);border-radius:var(--r);background:var(--noir);color:var(--blanc);font:500 12px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:border-color .2s}
.carte-zones__retour svg{width:14px;height:14px;transform:rotate(180deg);color:var(--or)}
.carte-zones__retour:hover{border-color:var(--or)}
.carte-zones__retour[hidden]{display:none}
.carte-zones__legende{position:absolute;left:16px;bottom:14px;display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none;font-size:12px;color:rgba(255,255,255,.66);pointer-events:none}
.leg{display:flex;align-items:center;gap:8px}
.leg::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--or);box-shadow:0 0 0 2px var(--noir)}
.leg--agence::before{width:14px;height:14px;background:var(--noir);box-shadow:inset 0 0 0 3px var(--or)}

.carte-zones__panneau{display:flex;flex-direction:column;min-width:0;padding:32px;border:1px solid var(--ligne-sombre);border-radius:var(--r);background:var(--noir-2)}
.carte-zones__filtres{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.carte-zones:not(.is-js) .carte-zones__filtres{display:none}
.filtre{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid var(--ligne-sombre);border-radius:var(--r);background:transparent;color:var(--blanc);font:500 12px/1 var(--texte);letter-spacing:.02em;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.filtre span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:rgba(255,255,255,.08);font-size:11px;font-variant-numeric:tabular-nums}
.filtre:hover{border-color:var(--or)}
.filtre.is-actif{background:var(--or);border-color:var(--or);color:var(--noir)}
.filtre.is-actif span{background:rgba(0,0,0,.14)}
.carte-zones__titre{margin-bottom:10px;font:400 18px/1.3 var(--display);text-transform:uppercase;color:var(--or)}
.carte-zones__liste{flex:1 1 auto;min-height:0;max-height:440px;margin:0 0 24px;padding:0 8px 0 0;overflow-y:auto;list-style:none;scrollbar-width:thin;scrollbar-color:var(--ligne-sombre) transparent}
.carte-zones__liste li[hidden]{display:none}
.carte-zones__liste a{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--ligne-sombre);font-size:15px;color:var(--blanc);text-align:left;text-decoration:none;transition:color .2s}
.carte-zones__liste small{font-size:12px;color:rgba(255,255,255,.5)}
.carte-zones__liste svg{width:16px;height:16px;color:var(--or);opacity:0;transform:translateX(-6px);transition:opacity .2s,transform .2s}
.carte-zones__liste a:hover,.carte-zones__liste a:focus-visible,.carte-zones__liste a.is-survol{color:var(--or)}
.carte-zones__liste a:hover svg,.carte-zones__liste a:focus-visible svg,.carte-zones__liste a.is-survol svg{opacity:1;transform:none}
.carte-zones__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.carte-zones__actions .btn{width:100%;padding:0 12px}
.carte-zones__actions .btn svg{flex:none}

@media (max-width:1024px){
  .carte-zones{grid-template-columns:1fr}
  .carte-zones__svg{max-height:none}
  .carte-zones__liste{max-height:320px}
}
@media (max-width:767px){
  .carte-zones__panneau{padding:24px 18px}
  .carte-zones__filtres{justify-content:center}
  .carte-zones__actions{grid-template-columns:1fr}
  .carte-zones__legende{left:12px;bottom:10px;font-size:11px}
  .carte-zones__retour{left:10px;top:10px}
}

/* Guide (page pilier) --------------------------------------------------- */
.pilier{align-items:start}
.pilier__sommaire{grid-column:1/4;position:sticky;top:120px;padding:28px 24px;border:1px solid var(--ligne);border-radius:var(--r);background:var(--papier)}
.pilier__sommaire .eyebrow{margin-bottom:10px}
.pilier__titre{margin-bottom:14px;font:400 20px/1.2 var(--display);text-transform:uppercase;color:var(--noir)}
.pilier__sommaire ol{display:grid;margin:0 0 20px;padding:0;list-style:none;counter-reset:som}
.pilier__sommaire li{counter-increment:som}
.pilier__sommaire ol a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:6px;padding:10px 0;border-top:1px solid var(--ligne);font-size:14px;line-height:1.4;color:var(--encre);text-align:left;text-decoration:none;transition:color .2s}
.pilier__sommaire ol a::before{content:counter(som,decimal-leading-zero);font:400 12px/1.7 var(--display);color:var(--or-texte)}
.pilier__sommaire ol a:hover,.pilier__sommaire ol a.is-actif{color:var(--noir);font-weight:500}
.pilier__sommaire ol a.is-actif::before{color:var(--or)}
.pilier__sommaire .btn{width:100%;padding:0 16px}
.pilier__texte{grid-column:5/13;max-width:none}
.pilier__texte h2{margin-top:56px;padding-top:28px;border-top:2px solid var(--or);scroll-margin-top:130px}
.pilier__texte h2:first-child{margin-top:0}
.pilier__texte h3{margin-top:28px;scroll-margin-top:130px}
.pilier__texte p,.pilier__texte li{color:var(--encre)}
@media (max-width:1024px){
  .pilier__sommaire{grid-column:1/-1;position:static;margin-bottom:40px}
  .pilier__texte{grid-column:1/-1}
}

/* Page locale ----------------------------------------------------------- */
.offres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.offre__lien{position:relative;display:flex;flex-direction:column;gap:12px;height:100%;padding:32px;overflow:hidden;border:1px solid var(--ligne);border-radius:var(--r);background:var(--blanc);color:var(--noir);text-decoration:none;transition:border-color .25s,transform .25s,box-shadow .25s}
.offre__num{font:400 14px/1 var(--display);color:var(--or-texte)}
.offre__titre{font:400 20px/1.25 var(--display);text-transform:uppercase;text-wrap:balance}
.offre__lien p{flex:1;font-size:15px;line-height:1.6;color:var(--gris)}
.offre__lien .lien{display:inline-flex;align-items:center;gap:10px;font:500 12px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.offre__lien .lien svg{width:16px;height:16px;transition:transform .2s}
.offre__lien::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--or);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.offre__lien:hover{border-color:var(--noir);transform:translateY(-4px);box-shadow:0 18px 36px rgba(23,21,15,.08)}
.offre__lien:hover::after{transform:scaleX(1)}
.offre__lien:hover .lien svg{transform:translateX(4px)}
.realisations__intro{max-width:720px;margin:-40px 0 40px;color:var(--gris)}
.nuage a.is-principal{background:var(--or);border-color:var(--or);color:var(--noir)}
@media (max-width:1024px){.offres{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){
  .offres{grid-template-columns:1fr}
  .offre__lien{align-items:center;text-align:center}
  .realisations__intro{margin:-28px auto 32px}
}

/* Recrutement ----------------------------------------------------------- */
.profil{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none;counter-reset:profil}
.profil__item{position:relative;padding:36px 32px 32px;overflow:hidden;border:1px solid var(--ligne);border-radius:var(--r);background:var(--blanc);counter-increment:profil}
.profil__item::after{content:"0" counter(profil);position:absolute;right:22px;top:18px;font:400 54px/1 var(--display);color:var(--papier);pointer-events:none}
.profil__coche{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;margin-bottom:22px;border-radius:50%;background:var(--or);color:var(--noir)}
.profil__coche svg{width:22px;height:22px}
.profil__titre{position:relative;z-index:1;margin-bottom:10px;font:400 19px/1.3 var(--display);text-transform:uppercase;text-wrap:balance;color:var(--noir)}
.profil__item p{position:relative;z-index:1;font-size:15px;line-height:1.6;color:var(--gris)}

.fondateur__medaillon{position:relative;z-index:1;display:grid;place-items:end center;width:76%;aspect-ratio:1;overflow:hidden;border-radius:50%;background:var(--blanc);box-shadow:0 30px 60px rgba(0,0,0,.4)}
.fondateur__medaillon img{width:92%;height:auto;margin-bottom:-2%}
.qualites{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 0;padding:0;list-style:none}
.qualites li{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--ligne-sombre);border-radius:var(--r);font-size:14px;line-height:1.3;color:var(--blanc)}
.qualites li::before{content:"";flex:none;width:7px;height:7px;background:var(--or)}

.concept{align-items:center}
.concept__texte{grid-column:1/7}
.concept__texte .t-h2{margin-bottom:28px}
.concept__carte{grid-column:8/13;position:relative;padding:40px;overflow:hidden;border-radius:var(--r);background:var(--papier)}
.concept__carte .splash{position:absolute;right:-90px;top:-70px;width:280px;height:auto;opacity:.22;pointer-events:none}
.concept__label{position:relative;margin-bottom:20px;font:400 18px/1.35 var(--display);text-transform:uppercase;text-wrap:balance;color:var(--noir)}
.concept__liste{position:relative;display:grid;gap:12px;margin:0;padding:0;list-style:none}
.concept__liste li{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r);background:var(--blanc);font-size:15px;font-weight:500;line-height:1.45;color:var(--noir);text-align:left}
.concept__liste svg{width:38px;height:38px;padding:10px;border-radius:50%;background:var(--noir);color:var(--or)}

.avantages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:0;overflow:hidden;list-style:none;border:1px solid var(--ligne);border-radius:var(--r);background:var(--ligne)}
.avantage{display:flex;flex-direction:column;gap:12px;padding:40px 36px;background:var(--blanc);transition:background-color .3s}
.avantage__chiffre{font:400 64px/1 var(--display);color:var(--or);font-variant-numeric:tabular-nums}
.avantage__titre{font:400 19px/1.3 var(--display);text-transform:uppercase;text-wrap:balance;color:var(--noir);transition:color .3s}
.avantage p{font-size:15px;line-height:1.6;color:var(--gris);transition:color .3s}
.avantage:hover{background:var(--noir)}
.avantage:hover .avantage__titre{color:var(--blanc)}
.avantage:hover p{color:rgba(255,255,255,.72)}

.repartition{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.35fr);align-items:stretch;gap:24px}
.repartition__bloc{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:40px;border-radius:var(--r)}
.repartition__bloc .eyebrow{margin:0}
.repartition__bloc--vous{background:var(--noir);color:var(--blanc)}
.repartition__bloc--vous .eyebrow{color:var(--or)}
.repartition__bloc--vous .eyebrow::before{background:var(--or)}
.repartition__bloc--equipe{border:1.5px solid var(--noir);background:rgba(255,255,255,.28)}
.repartition__role{font:400 clamp(24px,2.6vw,36px)/1.15 var(--display);text-transform:uppercase;text-wrap:balance}
.repartition__plus{display:grid;place-items:center;align-self:center;width:56px;height:56px;border-radius:50%;background:var(--noir);color:var(--or);font:400 30px/1 var(--display)}
.repartition__taches{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none}
.repartition__taches li{padding:10px 16px;border-radius:var(--r);background:var(--noir);color:var(--blanc);font:500 12px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.leitmotiv{margin:56px 0 0;padding:0;text-align:center}
.leitmotiv span{display:block;margin-bottom:14px;font:600 12px/1 var(--texte);letter-spacing:.16em;text-transform:uppercase}
.leitmotiv p{max-width:920px;margin:0 auto;font:400 clamp(22px,2.4vw,34px)/1.25 var(--display);text-transform:uppercase;text-wrap:balance}

.valeurs-rec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.valeurs-rec li{padding:30px 28px;border-top:3px solid var(--or);border-radius:0 0 var(--r) var(--r);background:var(--papier);font:400 20px/1.25 var(--display);text-transform:uppercase;color:var(--noir)}
.valeurs-rec__objectif{max-width:760px;margin:36px 0 0;font-size:18px;line-height:1.65;color:var(--encre)}
.valeurs-rec__fin{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;margin-top:56px;padding:44px;overflow:hidden;border-radius:var(--r);background:var(--noir);color:var(--blanc)}
.valeurs-rec__fin .splash{position:absolute;right:-60px;bottom:-90px;width:320px;height:auto;opacity:.16;pointer-events:none}
.valeurs-rec__fin>div,.valeurs-rec__fin .btn{position:relative}
.valeurs-rec__fin p{max-width:640px;font-size:17px;line-height:1.6;color:rgba(255,255,255,.8)}
.valeurs-rec__fin .valeurs-rec__signature{margin-top:14px;font:400 22px/1.2 var(--display);text-transform:uppercase;color:var(--blanc)}
.valeurs-rec__signature em{font-style:normal;color:var(--or)}

/* Formulaires : réassurance, fichiers, choix ---------------------------- */
.reassurance{display:grid;gap:12px;margin:28px 0 0;padding:0;list-style:none}
.reassurance li{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--encre)}
.reassurance svg{width:18px;height:18px;flex:none;color:var(--or-texte)}
.reassurance a{color:inherit;font-weight:500}
.champ--fichier input[type=file]{height:auto;padding:9px 10px;font-size:13px;color:rgba(255,255,255,.72);cursor:pointer}
.champ--fichier input[type=file]::file-selector-button{height:34px;margin-right:14px;padding:0 14px;border:0;border-radius:var(--r);background:var(--or);color:var(--noir);font:500 11px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
fieldset.champ{min-width:0;margin:0;padding:0;border:0}
fieldset.champ legend{margin-bottom:8px;padding:0;font-size:11px;font-weight:500;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.66)}
.choix{display:flex;flex-wrap:wrap;gap:10px}
.choix label{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 16px;border:1px solid var(--ligne-sombre);border-radius:var(--r);background:var(--noir-2);font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--blanc);cursor:pointer;transition:border-color .2s}
.choix input{width:18px;height:18px;margin:0;accent-color:var(--or)}
.choix label:has(input:checked){border-color:var(--or)}
.formulaire [hidden]{display:none}
.statut--ok{padding:12px 14px;border-radius:var(--r);background:rgba(213,163,8,.14);color:var(--or-clair)}
.formulaire--info{display:flex;flex-direction:column;justify-content:center;gap:12px}

/* Événement ------------------------------------------------------------- */
.rdv{align-items:center}
.rdv__infos{grid-column:1/7}
.rdv__date{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:22px;margin:6px 0 32px;padding-bottom:28px;border-bottom:1px solid var(--ligne)}
.rdv__num{grid-row:1/3;font:400 clamp(88px,9vw,132px)/.8 var(--display);color:var(--or);font-variant-numeric:tabular-nums}
.rdv__jour{font:400 22px/1 var(--display);text-transform:uppercase;color:var(--noir)}
.rdv__mois{font:400 22px/1.2 var(--display);text-transform:uppercase;color:var(--gris)}
.rdv__compte{grid-column:1/-1;justify-self:start;margin-top:18px;padding:9px 12px;border-radius:var(--r);background:var(--noir);color:var(--or);font:500 12px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.rdv__liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 32px;overflow:hidden;border:1px solid var(--ligne);border-radius:var(--r);background:var(--ligne)}
.rdv__liste div{display:grid;align-content:start;gap:8px;padding:20px;background:var(--blanc)}
.rdv__liste dt{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--or-texte)}
.rdv__liste dt svg{width:16px;height:16px;flex:none}
.rdv__liste dd{margin:0;font-size:15px;line-height:1.5;color:var(--noir)}
.rdv__affiche{grid-column:8/13;position:relative;display:grid;place-items:center;margin:0;padding:40px 0}
.rdv__affiche .splash{position:absolute;left:-12%;top:50%;width:124%;height:auto;transform:translateY(-50%)}
.rdv__affiche img{position:relative;z-index:1;width:76%;height:auto;border-radius:var(--r);box-shadow:0 30px 60px rgba(23,21,15,.28);transform:rotate(2.5deg);transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.rdv__affiche:hover img{transform:rotate(0) scale(1.02)}

.concept-evt__lead{max-width:760px;margin:-36px 0 48px}
.verbes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.verbe{position:relative;padding:32px 28px;overflow:hidden;border:1px solid var(--ligne);border-radius:var(--r);background:var(--blanc);transition:transform .25s,box-shadow .25s}
.verbe:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(23,21,15,.08)}
.verbe__num{display:block;margin-bottom:18px;font:400 14px/1 var(--display);color:var(--or-texte)}
.verbe__titre{margin-bottom:10px;font:400 24px/1.1 var(--display);text-transform:uppercase;color:var(--noir)}
.verbe p{font-size:15px;line-height:1.6;color:var(--gris)}
.verbe::after{content:"";position:absolute;left:28px;right:28px;bottom:0;height:3px;background:var(--or);transform:scaleX(.2);transform-origin:left;transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.verbe:hover::after{transform:scaleX(1)}

/* Les taches de peinture débordent volontairement de leur bloc : jamais de défilement horizontal pour autant.
   clip (et non hidden) ne crée pas de conteneur de défilement : le sommaire collant continue de fonctionner. */
#contenu{overflow-x:clip}

/* Logos clients de l'accueil : les images de la médiathèque portent height="300" ; case carrée, logo entier */
.clients img{height:auto;aspect-ratio:1/1;object-fit:contain}

/* Même attribut height sur les images des articles (accueil) : on laisse le ratio 4/3 décider */
.post img,.post-une img,.logos img{height:auto}
.post{align-items:start}

/* Partenaires de l'accueil : grille fixe (plus de défilement) */
.logos{grid-template-columns:repeat(5,minmax(0,1fr));align-self:center}
.logos li{display:grid;place-items:center;aspect-ratio:4/3}
.logos img{height:100%;object-fit:cover}
@media (max-width:767px){.logos{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Diaporama de l'accueil : la piste active est entièrement jaune (l'animation ne sert plus qu'au minutage) */
.piste.is-active span{width:100%;animation-name:piste-duree}
@keyframes piste-duree{from{opacity:1}to{opacity:1}}

/* Images d'une ancienne page regroupées en grille sous le texte */
.prose .galerie-contenu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:32px}
.prose .galerie-contenu img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
@media (max-width:767px){.prose .galerie-contenu{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Pages simples (mentions légales, confidentialité…) : texte sur toute la largeur du conteneur */
.prose--full{max-width:none}
.prose--full h2{margin-top:48px;padding-top:24px;border-top:1px solid var(--ligne)}
.prose--full h2:first-child{margin-top:0;padding-top:0;border-top:0}

/* Réductions ------------------------------------------------------------ */
@media (max-width:1024px){
  .concept__texte,.concept__carte,.rdv__infos,.rdv__affiche{grid-column:1/-1}
  .concept__carte{margin-top:40px}
  .rdv__affiche{width:100%;max-width:460px;margin:24px auto 0}
  .rdv__affiche .splash,.fondateur__visuel .splash{left:0;width:100%}
  .verbes{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .repartition{grid-template-columns:1fr}
  .repartition__plus{justify-self:center}
  .profil{grid-template-columns:1fr}
}
@media (max-width:767px){
  .avantages,.valeurs-rec,.verbes,.rdv__liste{grid-template-columns:1fr}
  .profil__coche{margin-inline:auto}
  .concept__carte{padding:28px 20px}
  .repartition__bloc{align-items:center;padding:28px 22px;text-align:center}
  .repartition__taches{justify-content:center}
  .valeurs-rec__fin{grid-template-columns:1fr;padding:32px 22px;text-align:center}
  .valeurs-rec__fin p{margin-inline:auto}
  .rdv__date{justify-content:center;text-align:left}
  .rdv__compte{justify-self:center}
  .rdv__liste div{justify-items:center}
  .concept-evt__lead{margin:-24px auto 36px}
  .reassurance li{justify-content:center}
  .choix{justify-content:flex-start}
}
@media (prefers-reduced-motion:reduce){
  .ag__onde{animation:none;opacity:0}
  .carte-zones.is-vue .pt,.carte-zones.is-vue .ag{animation:none}
}

/* Les attributs width/height des images de la médiathèque ne doivent jamais fixer la hauteur affichée */
img{height:auto}

/* Carte sans image : logo L&A sur fond clair ---------------------------- */
.carte__vide{display:grid;place-items:center;width:100%;height:100%;background:var(--papier)}
.carte__img .carte__vide img,.produit__principale .carte__vide img{width:34%;height:auto;aspect-ratio:auto;object-fit:contain}

/* Galerie produit ------------------------------------------------------- */
.produit__principale{position:relative;margin:0;aspect-ratio:1/1;overflow:hidden;border-radius:var(--r);background:var(--papier)}
.produit__principale .produit__vue{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;opacity:0;cursor:zoom-in;transition:opacity .45s ease}
.produit__principale .produit__vue.is-active{z-index:1;opacity:1}
.galerie__nav{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:44px;height:44px;margin-top:-22px;padding:0;border:0;border-radius:50%;background:rgba(23,21,15,.72);color:var(--blanc);cursor:pointer;opacity:0;transition:opacity .2s,background-color .2s,color .2s}
.produit__principale:hover .galerie__nav,.galerie__nav:focus-visible{opacity:1}
.galerie__nav:hover{background:var(--or);color:var(--noir)}
.galerie__nav svg{width:16px;height:16px}
.galerie__nav--prec{left:14px}
.galerie__nav--prec svg{transform:rotate(180deg)}
.galerie__nav--suiv{right:14px}
.galerie__compteur{position:absolute;left:14px;bottom:14px;z-index:2;padding:7px 10px;border-radius:var(--r);background:rgba(23,21,15,.72);color:var(--blanc);font:500 12px/1 var(--display);letter-spacing:.06em}
.produit__agrandir{position:absolute;right:14px;bottom:14px;z-index:2;display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:var(--blanc);color:var(--noir);box-shadow:0 6px 14px rgba(0,0,0,.18);cursor:pointer;transition:background-color .2s}
.produit__agrandir:hover{background:var(--or)}
.produit__agrandir svg{width:18px;height:18px}
.produit__vignettes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0 0;padding:0;list-style:none}
.vignette{display:block;width:100%;padding:0;overflow:hidden;border:2px solid transparent;border-radius:var(--r);background:var(--papier);opacity:.6;cursor:pointer;transition:border-color .2s,opacity .2s}
.produit__vignettes .vignette img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:0}
.vignette:hover,.vignette:focus-visible{opacity:1}
.vignette.is-active{border-color:var(--or);opacity:1}
@media (hover:none){.galerie__nav{opacity:1}}
@media (max-width:767px){.produit__vignettes{grid-template-columns:repeat(4,minmax(0,1fr))}}

.visionneuse{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(10,9,6,.95)}
.visionneuse[open]{display:grid;place-items:center}
.visionneuse::backdrop{background:rgba(10,9,6,.6)}
.visionneuse img{width:auto;height:auto;max-width:min(92vw,1400px);max-height:86vh;object-fit:contain;border-radius:var(--r)}
.visionneuse__fermer{position:fixed;top:18px;right:18px;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:var(--blanc);color:var(--noir);font-size:28px;line-height:1;cursor:pointer}
.visionneuse__nav{position:fixed;top:50%;display:grid;place-items:center;width:52px;height:52px;margin-top:-26px;padding:0;border:0;border-radius:50%;background:var(--or);color:var(--noir);cursor:pointer}
.visionneuse__nav svg{width:18px;height:18px}
.visionneuse__nav--prec{left:18px}
.visionneuse__nav--prec svg{transform:rotate(180deg)}
.visionneuse__nav--suiv{right:18px}
.visionneuse__nav[hidden]{display:none}

/* FAQ : question en sous-titre (structure) sans changer l'apparence */
.faq__question{margin:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}

/* Produits et réalisations : introduction des étapes, appel à l'action */
.etapes__intro{max-width:760px;margin:-36px 0 48px;color:rgba(255,255,255,.8)}
.projet__titre{margin:0 0 20px}
.projet__cta{max-width:760px;margin:40px 0 0;color:var(--encre)}
@media (max-width:767px){.etapes__intro{margin:-24px auto 36px}.projet__cta{margin-inline:auto}}

/* Avis Google : carte plus arrondie, bouton en pastille */
.avis .apercu{border-radius:18px;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.avis .apercu .btn{border-radius:999px}
.avis .widget [class*="ti-widget"]{border-radius:18px;overflow:hidden}

/* Avatars illustrés des membres sans photo ----------------------------- */
.membre__photo .avatar{display:block;width:100%;height:100%;transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.membre:hover .membre__photo .avatar{transform:scale(1.05)}

/* Cookies (en bas à gauche) -------------------------------------------- */
.cookies{position:fixed;left:24px;bottom:24px;z-index:95;width:min(380px,calc(100vw - 32px));padding:24px;border-radius:var(--r);background:var(--noir);color:var(--blanc);box-shadow:0 24px 50px rgba(0,0,0,.35);animation:la-monte .5s cubic-bezier(.22,.61,.36,1) both}
.cookies[hidden],.cookies-bouton[hidden]{display:none}
.cookies__titre{display:flex;align-items:center;gap:10px;margin-bottom:10px;font:400 17px/1.2 var(--display);text-transform:uppercase;color:var(--or)}
.cookies__titre svg{width:24px;height:24px}
.cookies__texte{font-size:14px;line-height:1.55;color:rgba(255,255,255,.8);text-align:left}
.cookies__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.cookies__actions .btn{width:100%}
.cookies .btn--ligne{border-color:rgba(255,255,255,.55);color:var(--blanc)}
.cookies .btn--ligne:hover{background:var(--blanc);border-color:var(--blanc);color:var(--noir)}
.cookies__lien{display:inline-block;margin-top:14px;font-size:12px;color:rgba(255,255,255,.6)}
.cookies__lien:hover{color:var(--or)}
.cookies-bouton{position:fixed;left:20px;bottom:20px;z-index:85;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:var(--noir);color:var(--or);box-shadow:0 10px 24px rgba(0,0,0,.28);cursor:pointer;transition:transform .25s cubic-bezier(.34,1.4,.64,1)}
.cookies-bouton:hover,.cookies-bouton:focus-visible{transform:scale(1.08) rotate(-10deg)}
.cookies-bouton svg{width:24px;height:24px}
.widget__consentement{padding:28px;border:1px dashed var(--ligne);border-radius:var(--r);font-size:15px;text-align:center;color:var(--gris)}
.widget__consentement .lien{margin-left:6px;padding:0;border:0;background:none;cursor:pointer}
@media (max-width:767px){
  .cookies{left:12px;right:12px;width:auto;padding:16px 18px}
  .cookies__titre{margin-bottom:6px;font-size:15px}
  .cookies__texte{font-size:13px;line-height:1.45}
  .cookies__actions{margin-top:12px}
  .cookies__lien{margin-top:10px}
}
@media (max-width:1024px){
  .cookies{left:16px;bottom:calc(84px + env(safe-area-inset-bottom))}
  .cookies-bouton{left:12px;bottom:calc(80px + env(safe-area-inset-bottom));width:44px;height:44px}
}

/* reCAPTCHA : badge masqué, mention affichée dans le pied de page (autorisé par Google) */
/* Badge reCAPTCHA laissé visible (obligatoire sans mention écrite), au-dessus du bouton « Être rappelé » et de la barre mobile. */
.grecaptcha-badge{bottom:92px!important;z-index:55}
@media (max-width:767px){.grecaptcha-badge{bottom:calc(78px + env(safe-area-inset-bottom))!important}}

/* <picture> (WebP + JPEG de secours) sans boîte propre : l'image garde exactement la mise en page d'un <img> direct. */
picture{display:contents}

/* Onglets des métiers sur fond or : contraste suffisant (4,5:1 minimum) pour les onglets non sélectionnés. */
.onglet{color:rgba(23,21,15,.8)}

/* Chiffres clés : « +1 000 » ne se coupe jamais ; le chiffre suit la largeur de sa colonne (36 px au plus, 26 px sur mobile). */
.chiffres dd,.encart__chiffre{white-space:nowrap}
.chiffres div{container-type:inline-size;padding:0 8px}
.chiffres dd{font-size:min(36px,24cqi)}
@media (max-width:767px){
  .chiffres div{padding:0 6px}
  .chiffres dd{font-size:min(26px,24cqi)}
}

/* Aucun défilement horizontal de la page (images du diaporama, bandes de logos). */
body{overflow-x:clip}

/* En-tête entre 1025 et 1240 px : menu resserré, sinon « Contactez-nous » sort de l'écran. */
@media (min-width:1025px) and (max-width:1240px){
  .header__bar{gap:12px;padding-inline:24px}
  .nav__lien{gap:4px;padding:12px 5px;font-size:10.5px}
  .header__cta.btn{padding:0 12px;font-size:11px}
  .header__cta.btn svg{display:none}
  .brand img{height:84px}
  .header.is-solid .brand img{height:72px}
}
