/* ==========================================================================
   Agence B-LIGHT — couche commune (charte principale « claire »)
   Tokens issus du handoff Claude Design (README « Design Tokens »).
   Contient : reset, tokens, conteneur, header, footer, boutons, chips,
   en-têtes de section et utilitaires partagés par toutes les pages claires.
   Les pages à charte propre (Design & Patrimoine, Bornes) surchargent
   les variables dans leur propre feuille.
   ========================================================================== */

:root{
  /* couleurs */
  --green:#7E9A24;         /* accent, CTA, badges */
  --green-2:#617621;       /* accent texte (nav, surtitres) — lot 1 : #7E9A2B → #617621, 4.5:1 sur --bg, blanc et --chip-bg (avant 3.1:1) */
  --green-light:#A5C23D;   /* clair : boutons, puces */
  --green-lighter:#bcd766; /* mise en avant sur fond sombre */
  --green-hover:#5c7018;
  --green-btn-hover:#b6d24e;
  --green-ink:#1c2a10;     /* texte sur vert clair */
  --lime:#C3D86E;          /* surtitres sur fond sombre */
  --navy:#2F3F5A;          /* titres, texte fort */
  --navy-2:#2e4259;        /* boutons / marque */
  --ink:#20303F;           /* texte principal */
  --dark:#20334a;          /* fonds sombres */
  --dark-2:#1a2a3a;        /* footer */
  --dark-3:#0d1620;        /* hero */
  --centre:#7FA8D4;        /* badge agence Centre — lot 2 : une seule valeur, lisible sur clair et sombre */
  --centre-ink:#08111c;
  --muted:#667180;         /* lot 1 : #6B7686 → #667180, 4.5:1 sur blanc, --bg et #F6F6F1 (avant 4.4:1) */
  --muted-2:#667283;       /* lot 1 : #9aa3b0 → #667283, 4.5:1 sur blanc et #F6F6F1 (avant 2.5:1) ; réservé aux labels */
  --bg:#FBFBF8;
  --bg-2:#F7F8F4;
  --bg-3:#F1F2EA;
  --white:#fff;
  --line:#E4E4DC;
  --chip-ink:#46543a;
  --chip-bg:#f1f4e2;
  --chip-line:#dee7c2;

  /* rôle « accent » (lot 2) : chaque page univers redéfinit ces cinq tokens, jamais --green-* ni --navy-2 */
  --accent:var(--green-light);          /* fond des CTA, point de la marque */
  --accent-ink:var(--green-ink);        /* texte sur --accent */
  --accent-hover:var(--green-btn-hover);
  --accent-text:var(--green-2);         /* accent en texte (nav active, surtitres, liens) */
  --btn-shadow:0 10px 24px -8px rgba(165,194,61,.55);
  --mark-bg:var(--navy-2);              /* fond du carré de la marque */

  /* typo */
  /* échelle typographique (lot 2) : 14 pas, plancher 11 px ; --fs-14/15 montent d'un pas en mobile */
  --fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-15:15px;--fs-16:16px;--fs-18:18px;--fs-20:20px;
  --fs-22:22px;--fs-24:24px;--fs-28:28px;--fs-32:32px;--fs-40:40px;--fs-48:48px;
  --display:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --sans:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;

  /* mise en page */
  --container:1180px;
  --gutter:32px;
  --section-y:88px;
  --header-h:70px;
  --subnav-h:44px;         /* lot 2 : sous-navigation d'ancres sous le header */
  /* lot 3 : grille de rayons — étiquette 8 (--r-tag) / carte 16 (--r-card-sm) / carte marque 20 (--r-card) / panneau 24 (--r-panel) ; plus de 14, 18, 22, 26 */
  --r-card:20px;
  --r-card-sm:16px;
  --r-panel:24px;
  --r-btn:11px;
  --r-btn-sm:10px;
  --r-tag:8px;             /* lot 3 : étiquettes (tag, badge, code) */
  --r-pill:999px;          /* lot 3 : pilules (rôles, marques) */
  --shadow-card:0 1px 2px rgba(44,58,77,.04);
  --shadow-hover:0 22px 44px -24px rgba(44,58,77,.35);
  /* lot 3 : ombres par contexte — card = carte de grille (pages claires), panel = carte marque / panneau sur fond clair,
     brand = carte marque sur fond sombre, media = visuel ou vidéo sur fond sombre ; jamais d'ombre sur les cartes de grille sombres */
  --shadow-panel:0 1px 2px rgba(44,58,77,.04),0 22px 44px -30px rgba(44,58,77,.3);
  --shadow-brand:0 30px 70px -34px rgba(0,0,0,.8);
  --shadow-media:0 30px 60px -24px rgba(0,0,0,.6);
}

@media (max-width:640px){
  :root{--fs-14:15px;--fs-15:16px}
}

/* --------------------------------------------------------------------------
   Reset
   -------------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
::selection{background:var(--green-light);color:var(--green-ink)}
a{color:inherit}
img{display:block;max-width:100%}
h1,h2,h3,h4,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
}

.page{position:relative;overflow:hidden}
.container{max-width:var(--container);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* --------------------------------------------------------------------------
   Accessibilité (lot 1) : lien d'évitement, ancres sous header sticky,
   focus clavier global, cibles tactiles des liens de contact
   -------------------------------------------------------------------------- */
.skip-link{
  position:absolute;left:16px;top:-120px;z-index:200;padding:12px 18px;border-radius:10px;
  background:#20334a;color:#fff;font-family:var(--display);font-weight:700;font-size:var(--fs-14);text-decoration:none;
  transition:top .2s;
}
.skip-link:focus{top:12px;outline:3px solid #fff;outline-offset:2px}
main:focus{outline:none}
[id]{scroll-margin-top:calc(var(--header-h) + var(--subnav-h) + 12px)}
:focus-visible{outline:3px solid var(--focus-ring,var(--green-2));outline-offset:3px;border-radius:4px}
.section--dark,.contact,.site-footer,.cta-panel{--focus-ring:var(--focus-ring-dark,var(--green-lighter))}
.person__link,.assistant__link{min-height:28px}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(251,251,248,.9);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.site-header__inner{
  height:var(--header-h);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{display:flex;align-items:center;text-decoration:none}
.brand__logo{display:block;height:40px;width:auto}
.site-footer .brand__logo{height:32px}

.site-nav{display:flex;align-items:center;gap:24px}
.site-nav a{font-size:var(--fs-14);font-weight:600;color:var(--ink);text-decoration:none;transition:color .2s}
.site-nav a:hover{color:var(--accent-text)}
.site-nav a[aria-current="page"]{font-weight:700;color:var(--accent-text)}
.site-nav .site-nav__cta{display:none}

.header-cta{
  font-size:var(--fs-14);font-weight:700;color:var(--accent-ink);background:var(--accent);
  padding:10px 18px;border-radius:var(--r-pill);text-decoration:none;white-space:nowrap;
  transition:background .2s;
}
.header-cta:hover{background:var(--accent-hover)}

.nav-toggle{
  display:none;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:10px; /* lot 2 : cible 44 px */
  background:transparent;color:var(--ink);cursor:pointer;
}
.nav-toggle span{display:block;width:18px;height:2px;background:currentColor;margin:0 auto;border-radius:2px;transition:transform .25s,opacity .25s}
.nav-toggle span+span{margin-top:4px}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* --------------------------------------------------------------------------
   Sous-navigation d'ancres (lot 2) — même composant sur les 10 pages
   -------------------------------------------------------------------------- */
.subnav{
  position:sticky;top:var(--header-h);z-index:55;
  background:var(--subnav-bg,rgba(251,251,248,.92));
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.subnav__inner{height:var(--subnav-h);display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none}
.subnav__inner::-webkit-scrollbar{display:none}
.subnav a{
  flex:none;font-family:var(--mono);font-size:var(--fs-12);letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;padding:8px 12px;border-radius:var(--r-pill);transition:color .2s,background .2s;
}
.subnav a:hover{color:var(--accent-text)}
.subnav a.is-active{color:var(--accent-text);background:var(--subnav-active,rgba(0,0,0,.05))}

/* --------------------------------------------------------------------------
   Boutons, chips, liens
   -------------------------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:700;font-size:var(--fs-15);padding:15px 26px;border-radius:var(--r-btn);
  text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:background .2s,border-color .2s,color .2s,transform .2s;
}
/* lot 2 : une seule taille (15 px / 15 26 / rayon 11) et quatre variantes ; la couleur vient des tokens --accent* de la page */
.btn--accent,.btn--primary{background:var(--accent);color:var(--accent-ink);box-shadow:var(--btn-shadow)}
.btn--accent:hover,.btn--primary:hover{background:var(--accent-hover)}
.btn--navy{background:var(--navy-2);color:#fff}
.btn--navy:hover{background:var(--ink)}
.btn--ghost{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.06);font-weight:600;padding:15px 24px}
.btn--ghost:hover{border-color:var(--accent);background:rgba(255,255,255,.12)}
.btn--outline{border-color:var(--line);color:var(--ink);background:#fff;font-weight:600;padding:15px 24px}
.btn--outline:hover{border-color:var(--accent);color:var(--accent-text)}
.btn--white{background:#fff;color:var(--accent-text);padding:15px 26px}
.btn--white:hover{background:var(--bg-2)}

.link-more{font-family:var(--mono);font-size:var(--fs-13);font-weight:600;color:var(--accent-text);text-decoration:none;white-space:nowrap}
.link-more:hover{text-decoration:underline}

/* lot 3 : deux formes d'étiquette seulement — tag (mono 11 px, 6px 12px, rayon --r-tag) et pilule (4px 12px, --r-pill) */
.chip{
  display:inline-block;font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.06em;
  color:var(--chip-ink);background:var(--chip-bg);border:1px solid var(--chip-line);
  padding:6px 12px;border-radius:var(--r-tag);
}
.chip--pill{border-radius:var(--r-pill);padding:4px 12px}
.chip--dark{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16)}

/* lot 3 : badge de disponibilité par agence — un seul composant sur les 10 pages.
   .badge-ouest = marque distribuée par l'agence OUEST seule (vert, majorité des pages) ;
   --both = OUEST + CENTRE (neutre, tokens --badge-both-* redéfinis sur fond sombre) ;
   --corner = coin supérieur droit de la carte marque (parent en position:relative). */
.badge-ouest{
  display:inline-block;font-family:var(--mono);font-size:var(--fs-11);font-weight:700;letter-spacing:.06em;line-height:1.3;
  color:var(--green-ink);background:var(--green-light);border:1px solid var(--green-light);
  padding:3px 8px;border-radius:var(--r-tag);white-space:nowrap;
}
.badge-ouest--both{
  font-weight:600;color:var(--badge-both-ink,var(--muted));
  background:var(--badge-both-bg,transparent);border-color:var(--badge-both-line,var(--line));
}
.badge-ouest--corner{position:absolute;top:14px;right:14px;z-index:2}

/* --------------------------------------------------------------------------
   Sections & en-têtes de section
   -------------------------------------------------------------------------- */
.section{padding:var(--section-y) 0}
.section--white{background:#fff;border-top:1px solid var(--line)}
.section--bg{background:var(--bg);border-top:1px solid var(--line)}
.section--dark{position:relative;overflow:hidden;background:var(--dark);color:#fff}
.section--dark::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(90% 120% at 88% 50%,rgba(165,194,61,.16),transparent 55%);
}
.section--dark > .container{position:relative}

/* lot 3 (E21) : bandeau chiffres — section séparée sous le hero sur les 10 pages.
   Tokens de page : --stats-bg, --stats-line, --stat-color (accent par défaut), --stat-label */
.stats{position:relative;z-index:5;background:var(--stats-bg,#fff);border-top:1px solid var(--stats-line,var(--line));border-bottom:1px solid var(--stats-line,var(--line))}
.stats__grid{padding-top:32px;padding-bottom:32px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat{display:flex;flex-direction:column;gap:4px;text-align:center}
.stat__value{font-family:var(--display);font-size:clamp(26px,3vw,38px);font-weight:800;color:var(--stat-color,var(--accent-text));letter-spacing:-.02em;line-height:1.05}
.stat__label{font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.08em;color:var(--stat-label,var(--muted));text-transform:uppercase;line-height:1.35}

.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:42px;flex-wrap:wrap}
.section-head__text{max-width:60ch}
.section-head > .eyebrow,.section-head > .section-title{flex:0 0 100%}
.section-head > .section-title{max-width:60ch}
.section-head > .section-lead{margin-top:0;max-width:44ch}
/* lot 2 : variante centrée (majoritaire) et surtitre à tirets rendus en CSS — plus de « — … — » dans le HTML */
.section-head--center{flex-direction:column;align-items:center;justify-content:center;text-align:center}
.section-head--center .section-head__text{max-width:66ch;margin:0 auto}
.section-head--center .eyebrow{justify-content:center}
.section-head--center .section-title,.section-head--center .section-lead{margin-left:auto;margin-right:auto}
.section-head--center > .section-lead{max-width:60ch;margin-top:12px}
.eyebrow{
  font-family:var(--mono);font-size:var(--fs-12);letter-spacing:.16em;color:var(--accent-text);
  font-weight:600;text-transform:uppercase;margin-bottom:12px;
  display:flex;align-items:center;gap:8px;
}
.eyebrow--line::before{content:"";width:22px;height:1px;background:currentColor;display:inline-block}
.eyebrow--dash::before,.eyebrow--dash::after{content:"—";font-weight:400;opacity:.8}
.section--dark .eyebrow,.eyebrow--light{color:var(--lime)}
.section-title{
  font-family:var(--display);font-size:clamp(28px,3.4vw,40px);font-weight:800;
  letter-spacing:-.02em;color:var(--ink);line-height:1.05;text-wrap:balance;
}
.section-title--md{font-size:clamp(26px,3vw,34px)}
.section-title--sm{font-size:clamp(24px,2.6vw,30px)}
.section--dark .section-title,.section-title--light{color:#fff}
.section-title em,.section-title .hl{font-style:normal;color:var(--accent-text)}
.section-lead{font-size:var(--fs-16);color:var(--muted);line-height:1.6;margin-top:12px;max-width:64ch}
.section--dark .section-lead{color:rgba(255,255,255,.74)}

/* --------------------------------------------------------------------------
   Cartes génériques
   -------------------------------------------------------------------------- */
.card{
  position:relative;display:flex;flex-direction:column;gap:16px;padding:24px;
  border-radius:var(--r-card-sm);border:1px solid var(--line);background:#fff;
  box-shadow:var(--shadow-card);text-decoration:none;color:inherit;
  transition:transform .22s,box-shadow .22s,border-color .22s;
}
a.card:hover,.card--hover:hover{border-color:var(--green-light);transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.card__title{font-family:var(--display);font-size:var(--fs-18);font-weight:700;color:var(--ink);letter-spacing:-.01em;margin-bottom:4px}
.card__text{font-size:var(--fs-14);color:var(--muted);line-height:1.5}

.photo-cap{
  position:absolute;left:16px;bottom:14px;font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.08em;
  color:rgba(255,255,255,.85);background:rgba(0,0,0,.35);padding:4px 8px;border-radius:var(--r-tag);
}

/* --------------------------------------------------------------------------
   Contact (lot 2) : panneau CTA + équipe, un seul composant pour les 10 pages.
   Couleurs par tokens : --cta-bg / --cta-border / --cta-glow (panneau), --card-bg / --line (cartes).
   -------------------------------------------------------------------------- */
.contact-block{position:relative;z-index:5;padding:64px 0 96px}
.cta-panel{
  position:relative;border-radius:var(--r-panel);overflow:hidden;
  border:1px solid var(--cta-border,transparent);
  background:var(--cta-bg,linear-gradient(165deg,#31465f 0%,#20334a 80%));
  padding:64px 40px;text-align:center;color:#fff;
}
.cta-panel::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 80% at 50% -10%,var(--cta-glow,rgba(165,194,61,.16)),transparent 60%)}
.cta-panel__inner{position:relative}
.cta-panel .eyebrow{justify-content:center;margin-bottom:16px;color:var(--cta-eyebrow,var(--lime))}
.cta-panel__title{font-family:var(--display);font-weight:800;font-size:clamp(30px,4.4vw,48px);letter-spacing:-.02em;line-height:1.05;margin:0 0 16px;color:#fff;text-wrap:balance}
.cta-panel__text{max-width:50ch;margin:0 auto 30px;font-size:var(--fs-16);color:rgba(255,255,255,.8);line-height:1.6}
.cta-panel__actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.cta-panel__note{margin:24px auto 0;font-family:var(--mono);font-size:var(--fs-12);color:rgba(255,255,255,.66);max-width:56ch}
.cta-panel__agences{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;margin:22px auto 0;font-family:var(--mono);font-size:var(--fs-12);color:rgba(255,255,255,.78);line-height:1.6}
.cta-panel__agence b{font-weight:700;color:#fff;letter-spacing:.04em}
.cta-panel__agence a{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px}
.cta-panel__agence a:hover{color:#fff;text-decoration-color:#fff}
.cta-panel__note:empty,.cta-panel__agences:empty{display:none}
.cta-panel{--focus-ring:#fff}

.team{margin-top:48px;display:flex;flex-direction:column;gap:18px}
.team__label{font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.team__label--spaced{margin-top:12px}
.team__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.person{background:var(--card-bg,#fff);border:1px solid var(--line);border-radius:var(--r-card-sm);padding:20px 24px;box-shadow:var(--card-shadow,var(--shadow-card))}
.person__head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.person__photo{width:58px;height:58px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--line);filter:grayscale(1) contrast(1.03)}
.person__id{display:flex;flex-direction:column;gap:6px;min-width:0}
.person__entity{align-self:flex-start;font-family:var(--mono);font-size:var(--fs-11);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:var(--r-pill);color:var(--accent-ink);background:var(--accent)}
.person__entity--centre{background:var(--centre);color:var(--centre-ink)}
.person__name{font-family:var(--display);font-size:var(--fs-18);font-weight:700;color:var(--ink);letter-spacing:-.01em;line-height:1.1}
.person__depts{font-family:var(--mono);font-size:var(--fs-13);color:var(--muted);letter-spacing:.04em;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.person__link{display:flex;align-items:center;gap:10px;min-height:28px;text-decoration:none;color:var(--muted);font-family:var(--mono);font-size:var(--fs-13);margin-bottom:8px;transition:color .2s}
.person__link .pi{width:15px;height:15px;color:var(--accent-text)}
.person__link--tel{color:var(--ink);font-family:var(--display);font-size:var(--fs-16);font-weight:700;margin-bottom:0}
.person__link:hover{color:var(--accent-text)}
.assistant{display:flex;align-items:center;gap:14px;background:var(--card-bg,#fff);border:1px solid var(--line);border-radius:var(--r-card-sm);padding:16px 20px;box-shadow:var(--card-shadow,var(--shadow-card))}
.assistant__photo{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--line);filter:grayscale(1) contrast(1.03)}
.assistant__id{display:flex;flex-direction:column;gap:3px;min-width:0}
.assistant__name{font-family:var(--display);font-size:var(--fs-18);font-weight:700;color:var(--ink);letter-spacing:-.01em;line-height:1.1}
.assistant__role{font-family:var(--mono);font-size:var(--fs-12);color:var(--muted)}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.site-footer{background:var(--dark-2);color:rgba(255,255,255,.62)}
.site-footer__inner{padding-top:48px;padding-bottom:48px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.site-footer__links{display:flex;gap:24px;flex-wrap:wrap;font-size:var(--fs-13)}
.site-footer__links a{color:rgba(255,255,255,.62);text-decoration:none;transition:color .2s}
.site-footer__links a:hover{color:#fff}
.site-footer__copy{font-family:var(--mono);font-size:var(--fs-11);color:rgba(255,255,255,.62)} /* lot 1 : .4 → .62 (3.6:1 → 6.5:1) */

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width:900px){
  :root{--gutter:24px;--section-y:64px}
  .stats__grid{grid-template-columns:repeat(2,1fr);gap:20px;padding-top:28px;padding-bottom:28px}
  .nav-toggle{display:block}
  .header-cta{display:none}
  .site-nav{
    position:absolute;left:0;right:0;top:var(--header-h);
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--bg);border-bottom:1px solid var(--line);
    padding:8px 0 12px;box-shadow:0 24px 40px -24px rgba(44,58,77,.35);
  }
  .site-nav[hidden]{display:none}
  .site-nav a{padding:14px var(--gutter);font-size:var(--fs-15);border-top:1px solid var(--line)}
  .site-nav .site-nav__cta{display:block;margin:12px var(--gutter) 4px;text-align:center;color:var(--accent-ink);background:var(--accent);border-radius:var(--r-pill);padding:12px 18px;font-weight:700;border:0}
  .contact-block{padding:48px 0 72px}
  .cta-panel{padding:48px 24px}
  .section-head{margin-bottom:30px;gap:14px}
  .section-head > .section-lead{max-width:none}
}
@media (max-width:560px){
  .brand__logo{height:32px}
  .site-footer .brand__logo{height:28px}
  .team__grid{grid-template-columns:1fr}
  .stats__grid{gap:16px}
  .stat__value{font-size:var(--fs-24)}
  .cta-panel__actions .btn{width:100%;justify-content:center}
  .site-footer__inner{flex-direction:column;align-items:flex-start}
}

/* --------------------------------------------------------------------------
   Badge « Fabrication française » — composant partagé (fonds sombres)
   -------------------------------------------------------------------------- */
.made-fr{
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  font-family:var(--mono);font-size:var(--fs-11);font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1;
  color:rgba(255,255,255,.9);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);
  padding:6px 12px 6px 8px;border-radius:var(--r-pill);
}
.made-fr__flag{display:flex;width:18px;height:12px;border-radius:2px;overflow:hidden;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.28)}
.made-fr__flag i{flex:1;display:block}
.made-fr__flag i:nth-child(1){background:#0055A4}
.made-fr__flag i:nth-child(2){background:#fff}
.made-fr__flag i:nth-child(3){background:#EF4135}
/* variante allemande (Hess) : drapeau horizontal noir / rouge / or, même composant */
.made-fr--de .made-fr__flag{flex-direction:column}
.made-fr--de .made-fr__flag i:nth-child(1){background:#000}
.made-fr--de .made-fr__flag i:nth-child(2){background:#DD0000}
.made-fr--de .made-fr__flag i:nth-child(3){background:#FFCE00}

/* Pictogrammes SVG inline (lot 1) : style Lucide, trait 1.75, currentColor */
.pi{width:1em;height:1em;display:inline-block;vertical-align:-.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
