/* ==========================================================================
   GEIQ AC2R SUD — feuille de style unique
   Charte : Fédération Française des Geiq (magenta #E30043, encre #1A171B).
   Aucune ressource externe n'est appelée : ni police Google, ni CDN.
   --------------------------------------------------------------------------
   POLICES — la charte nationale impose Gill Sans MT (titres) et Calibri
   (textes), toutes deux propriétaires. La pile ci-dessous les utilise si
   elles sont installées sur le poste du visiteur, sinon elle retombe sur
   Cabin / Lato (substituts libres), puis sur les polices système.
   Pour auto-héberger Cabin et Lato : déposer les fichiers .woff2 dans
   /fonts/ puis décommenter le bloc @font-face ci-dessous.

   @font-face{font-family:'Cabin';src:url('../fonts/cabin-600.woff2') format('woff2');font-weight:600;font-display:swap}
   @font-face{font-family:'Cabin';src:url('../fonts/cabin-700.woff2') format('woff2');font-weight:700;font-display:swap}
   @font-face{font-family:'Lato';src:url('../fonts/lato-400.woff2') format('woff2');font-weight:400;font-display:swap}
   @font-face{font-family:'Lato';src:url('../fonts/lato-700.woff2') format('woff2');font-weight:700;font-display:swap}
   ========================================================================== */

/* --- Jetons de couleur ---------------------------------------------------- */
:root{
  --ink-900:#1a171b; --ink-700:#4b575f; --ink-500:#767c82;
  --ink-300:#aeb3b7; --ink-100:#dedee4; --ink-050:#f2f2f4;
  --white:#ffffff;
  --magenta-700:#b8003a; --magenta-600:#d1003f; --magenta-500:#e30043;
  --magenta-100:#fbdde6; --magenta-050:#fdf0f3;

  --surface-page:#ffffff; --surface-alt:#f7f7f8;
  --surface-ink:#1a1a1a; --surface-card:#ffffff;

  --text-primary:var(--ink-900); --text-secondary:var(--ink-700);
  --text-muted:var(--ink-500); --text-on-ink:var(--ink-100);

  --brand-primary:var(--magenta-500);
  --brand-primary-hover:var(--magenta-600);
  --brand-primary-active:var(--magenta-700);

  --border-default:var(--ink-100); --border-strong:var(--ink-300);
  --focus-ring:var(--magenta-500);
  --success:#1a8f5e; --warning:#c77b00; --danger:var(--magenta-600);

  /* Typographie */
  --font-display:'Gill Sans MT','Cabin',ui-rounded,'Segoe UI',sans-serif;
  --font-body:'Calibri','Lato',system-ui,-apple-system,'Segoe UI',sans-serif;
  --text-xs:.75rem; --text-sm:.875rem; --text-base:1rem; --text-md:1.125rem;
  --text-lg:1.375rem; --text-xl:1.75rem; --text-2xl:2.25rem;
  --text-3xl:3rem; --text-4xl:3.75rem;
  --leading-tight:1.1; --leading-snug:1.3; --leading-normal:1.5; --leading-relaxed:1.7;

  /* Espacement, rayons, ombres */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px;
  --space-6:24px; --space-8:32px; --space-10:40px; --space-12:48px;
  --space-16:64px; --space-20:80px; --space-24:96px;
  --radius-sm:8px; --radius-md:14px; --radius-lg:20px; --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(26,26,26,.06);
  --shadow-md:0 4px 16px rgba(26,26,26,.08);
  --shadow-lg:0 12px 32px rgba(26,26,26,.12);
  --container-max:1200px;
}

/* --- Base ----------------------------------------------------------------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
[id]{scroll-margin-top:96px}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--text-base);
  line-height:var(--leading-normal);
  color:var(--text-primary);
  background:var(--surface-page);
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:var(--leading-tight);margin:0}
p{margin:0}
img{max-width:100%}
a{color:var(--magenta-600);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--magenta-700)}
*:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}

/* Lien d'évitement (accessibilité RGAA) */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--brand-primary);color:#fff;font-family:var(--font-body);
  font-weight:700;padding:12px 20px;border-radius:0 0 var(--radius-sm) 0;
  text-decoration:none;
}
.skip-link:focus{left:0;color:#fff}

.container{max-width:var(--container-max);margin:0 auto}
.container-narrow{max-width:900px;margin:0 auto}
.container-text{max-width:800px;margin:0 auto}

/* --- En-tête et navigation ------------------------------------------------ */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--border-default);
  backdrop-filter:saturate(180%) blur(6px);
}
.site-header__inner{
  max-width:var(--container-max);margin:0 auto;
  padding:14px 32px;display:flex;align-items:center;gap:32px;
}
.site-header__logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.site-header__logo img{height:52px;width:auto;display:block}

.nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-left:auto}
.nav a{
  font-family:var(--font-display);font-size:var(--text-base);font-weight:600;
  color:var(--ink-900);text-decoration:none;padding:8px 12px;
  border-radius:var(--radius-sm);border-bottom:3px solid transparent;
  transition:background .15s ease,border-color .15s ease;
}
.nav a:hover{background:var(--surface-alt);color:var(--ink-900)}
.nav a[aria-current="page"]{border-bottom-color:var(--brand-primary)}
.nav .nav__cta{
  margin-left:12px;font-family:var(--font-body);font-weight:700;
  background:var(--brand-primary);color:#fff;padding:11px 22px;
  border-radius:var(--radius-pill);border-bottom:none;
}
.nav .nav__cta:hover{background:var(--brand-primary-hover);color:#fff}

.nav-toggle{
  display:none;margin-left:auto;background:transparent;
  border:2px solid var(--border-strong);border-radius:var(--radius-sm);
  padding:10px 14px;font-family:var(--font-body);font-size:var(--text-sm);
  font-weight:700;color:var(--ink-900);cursor:pointer;
}

/* --- Sections ------------------------------------------------------------- */
main{flex:1}
.section{padding:80px 32px;background:var(--surface-page)}
.section--alt{background:var(--surface-alt)}
.section--magenta{background:var(--brand-primary)}
.section--tight{padding:64px 32px}
.section--head{padding:64px 32px 48px}
.section--flush-top{padding-top:0}

.eyebrow{
  font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--brand-primary);
  margin:0 0 18px;
}
.breadcrumb{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-500);margin:0 0 20px}
.breadcrumb a{color:var(--ink-500)}

h1{font-size:var(--text-3xl);line-height:1.08;color:var(--ink-900);margin:0 0 24px;text-wrap:pretty}
h2{font-size:var(--text-2xl);line-height:1.15;color:var(--ink-900);margin:0 0 16px;text-wrap:pretty}
h3{font-size:var(--text-lg);color:var(--ink-900);margin:0 0 10px}
.h2--small{font-size:var(--text-xl)}

.lead{font-size:var(--text-md);line-height:1.7;color:var(--ink-700);margin:0 0 32px;max-width:78ch;text-wrap:pretty}
.lead--dark{color:var(--ink-900)}
.body-text{font-size:var(--text-base);line-height:1.75;color:var(--ink-700);margin:0 0 14px}
.note{font-size:var(--text-sm);color:var(--ink-500);margin:18px 0 0}
.section-intro{font-size:var(--text-md);line-height:1.7;color:var(--ink-700);margin:0 0 36px;max-width:74ch}

/* --- Grilles -------------------------------------------------------------- */
.grid{display:grid;gap:24px}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.grid--5{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.grid--6{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.grid--gap-sm{gap:16px}
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;align-items:start}
.grid--gap-lg{gap:56px}

.hero{
  max-width:var(--container-max);margin:0 auto;display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:56px;align-items:center;
}
.hero--candidat{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px}

.actions{display:flex;gap:14px;flex-wrap:wrap}

/* --- Boutons -------------------------------------------------------------- */
.btn{
  font-family:var(--font-body);font-weight:600;font-size:var(--text-base);
  padding:12px 20px;border-radius:var(--radius-pill);
  border:2px solid transparent;display:inline-flex;align-items:center;
  justify-content:center;gap:8px;cursor:pointer;text-decoration:none;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.btn--lg{padding:16px 28px;font-size:var(--text-md)}
.btn--sm{padding:8px 14px;font-size:var(--text-sm)}
.btn--block{width:100%}
.btn--primary{background:var(--brand-primary);color:#fff}
.btn--primary:hover{background:var(--brand-primary-hover);color:#fff}
.btn--secondary{background:var(--ink-900);color:#fff}
.btn--secondary:hover{background:#000;color:#fff}
.btn--outline{background:transparent;color:var(--ink-900);border-color:var(--border-strong)}
.btn--outline:hover{background:var(--surface-alt);color:var(--ink-900)}
.btn--white{background:#fff;color:var(--ink-900);font-weight:700;font-size:var(--text-md);padding:18px 30px}
.btn--white:hover{background:var(--ink-050);color:var(--ink-900)}
.link-strong{font-family:var(--font-body);font-weight:700;font-size:var(--text-base)}

/* --- Cartes --------------------------------------------------------------- */
.card{
  background:var(--surface-card);border:1px solid var(--border-default);
  border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm);
}
.card--md{border-radius:var(--radius-md);padding:22px}
.card--flat{background:transparent;box-shadow:none}
.card--dashed{background:var(--surface-alt);border:1px dashed var(--border-strong);box-shadow:none}
.card--ink{background:var(--surface-ink);border:none;box-shadow:none;color:var(--ink-100)}
.card--ink h2,.card--ink h3,.card--ink .card__title{color:#fff}
.card--ink p{color:var(--ink-100)}
.card__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--ink-900);margin:0 0 10px}
.card__title--sm{font-size:var(--text-md)}
.card__text{font-size:var(--text-base);line-height:1.7;color:var(--ink-700);margin:0}

.card-link{display:block;text-decoration:none;background:var(--surface-card);
  border:1px solid var(--border-default);border-radius:var(--radius-md);
  padding:22px;box-shadow:var(--shadow-sm);
  transition:box-shadow .18s ease,transform .18s ease;
}
.card-link:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.card-link span{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;color:var(--ink-900)}

.pillar__num{
  font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--brand-primary);margin:0 0 12px;
}

/* --- Bandeau de chiffres clés --------------------------------------------- */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.stats--2{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}
.stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);
  border-radius:var(--radius-lg);padding:28px;}
.stat__value{font-family:var(--font-display);font-size:var(--text-4xl);line-height:1;
  font-weight:700;color:#fff;margin:0 0 10px}
.stat__value--sm{font-size:var(--text-2xl)}
.stat__label{font-family:var(--font-body);font-size:var(--text-md);font-weight:700;color:#fff;margin:0}
.stat__label--sm{font-size:var(--text-base)}
.section--magenta h2{color:#fff;margin-bottom:32px}
.stats-source{font-family:var(--font-body);font-size:var(--text-sm);color:rgba(255,255,255,.9);margin:20px 0 0}

.stat-inline{border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:24px}
.stat-inline__value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--brand-primary);margin:0 0 6px}
.stat-inline__label{font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-700);margin:0}

/* --- Étapes numérotées ---------------------------------------------------- */
/* Six étapes : grille 3 × 2, plus lisible qu'une seule ligne trop étroite. */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.steps li{background:var(--surface-card);border:1px solid var(--border-default);
  border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}
.steps__num{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--brand-primary);margin:0 0 8px}
.steps__title{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;color:var(--ink-900);margin:0 0 8px}
.steps__text{font-family:var(--font-body);font-size:var(--text-sm);line-height:1.65;color:var(--ink-700);margin:0}

/* --- Vignettes logos ------------------------------------------------------ */
.logo-tile{
  height:80px;display:flex;align-items:center;justify-content:center;
  text-align:center;border:1px solid var(--border-default);
  border-radius:var(--radius-md);padding:10px;
  font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-500);
  text-decoration:none;background:var(--surface-card);
  transition:box-shadow .15s ease;
}
a.logo-tile:hover{box-shadow:var(--shadow-md);color:var(--ink-700)}
.logo-tile img{max-height:56px;width:auto;object-fit:contain}
.logo-tile--adherent{height:88px;font-size:var(--text-sm);font-weight:700;color:var(--ink-700)}
.logo-tile--dashed{border:1px dashed var(--border-strong);background:transparent}

/* --- Emplacements d'image en attente de photo ----------------------------- */
.media{position:relative;overflow:hidden;border-radius:var(--radius-lg);min-width:0}
.media img{width:100%;height:100%;object-fit:cover;display:block}
.media--hero{height:420px}
.media--candidat{height:340px}
.media--schema{height:260px;border-radius:var(--radius-md)}
.media--schema img{object-fit:contain}
.media--map{height:220px;border-radius:var(--radius-md)}
.media--cover{height:200px;border-radius:10px}
.media--avatar{width:96px;height:96px;flex-shrink:0;border-radius:50%}
.media__placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  text-align:center;padding:20px;background:var(--surface-alt);
  border:1px dashed var(--border-strong);border-radius:inherit;
  font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-500);
}

/* --- Équipe --------------------------------------------------------------- */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.team .card{display:flex;gap:18px;align-items:center}
.team__role{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-700);margin:0 0 6px}

.person__name{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;color:var(--ink-900);margin:0 0 4px}
.person__role{font-family:var(--font-body);font-size:var(--text-sm);color:var(--brand-primary);font-weight:700;margin:0}
.person__role--plain{color:var(--ink-700);font-weight:400}

/* --- FAQ ------------------------------------------------------------------ */
.faq{display:flex;flex-direction:column;gap:14px}
.faq__item{background:var(--surface-card);border:1px solid var(--border-default);
  border-radius:var(--radius-md);padding:24px}
.faq__item h3{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;color:var(--ink-900);margin:0 0 10px}
.faq__item p{font-size:var(--text-base);line-height:1.7;color:var(--ink-700);margin:0}

/* --- Listes --------------------------------------------------------------- */
.list-plain{margin:0 0 28px;padding-left:22px;font-family:var(--font-body);
  font-size:var(--text-base);line-height:1.9;color:var(--ink-700)}
.list-on-ink{margin:0;padding-left:22px;color:var(--ink-100);
  font-family:var(--font-body);font-size:var(--text-base);line-height:1.85}

/* --- Encadré « En résumé » ------------------------------------------------ */
.summary{background:var(--surface-ink);border-radius:var(--radius-lg);padding:36px}
.summary h2{color:#fff;font-size:var(--text-lg);margin:0 0 16px}

/* --- Formulaires ---------------------------------------------------------- */
.form{display:flex;flex-direction:column;gap:16px}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{display:flex;flex-direction:column;gap:6px;font-family:var(--font-body)}
.field > label{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}
.consent-wrap{display:flex;flex-direction:column;gap:6px;font-family:var(--font-body)}
.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field input[type="number"],
.field select,
.field textarea{
  border:2px solid var(--border-default);border-radius:var(--radius-md);
  padding:10px 14px;font-family:var(--font-body);font-size:var(--text-base);
  color:var(--ink-900);background:#fff;outline:none;width:100%;
  transition:border-color .15s ease;
}
.field textarea{resize:vertical;min-height:110px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-primary)}
.field input[type="file"]{
  border:2px dashed var(--border-strong);border-radius:var(--radius-md);
  padding:14px;font-family:var(--font-body);font-size:var(--text-sm);
  color:var(--ink-700);background:var(--surface-alt);width:100%;
}
.field--error input,.field--error select,.field--error textarea{border-color:var(--danger)}
.field__error{font-size:var(--text-xs);color:var(--danger);font-weight:700}
.field__error:empty{display:none}

.consent{display:flex;align-items:flex-start;gap:10px;cursor:pointer;
  font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);line-height:1.5}
.consent input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;width:20px;height:20px;flex-shrink:0;
  margin-top:2px;border:2px solid var(--border-strong);border-radius:6px;
  background:#fff;cursor:pointer;position:relative;
}
.consent input[type="checkbox"]:checked{background:var(--brand-primary);border-color:var(--brand-primary)}
.consent input[type="checkbox"]:checked::after{
  content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
}
.rgpd{font-family:var(--font-body);font-size:var(--text-xs);line-height:1.6;color:var(--ink-500);margin:0}

/* Pot de miel anti-spam : masqué visuellement et aux lecteurs d'écran */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.form-status{border-radius:var(--radius-md);padding:20px;font-family:var(--font-body);
  font-size:var(--text-base);line-height:1.6;margin:0 0 24px}
.form-status[hidden]{display:none}
.form-status--ok{background:#e6f6ee;border:1px solid var(--success);color:#0f5c3d}
.form-status--ko{background:var(--magenta-050);border:1px solid var(--danger);color:var(--magenta-700)}

.form-panel{background:var(--surface-card);border:1px solid var(--border-default);
  border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-md)}
.form-panel--lg{padding:36px}

/* --- Bandeau d'appel à l'action ------------------------------------------- */
.cta-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.cta-box{border-radius:var(--radius-lg);padding:40px}
.cta-box--ink{background:var(--surface-ink)}
.cta-box--ink h2{color:#fff;font-size:var(--text-xl);margin:0 0 12px}
.cta-box--ink p{color:var(--ink-100);margin:0 0 24px;line-height:1.7}
.cta-box--alt{background:var(--surface-alt);border:1px solid var(--border-default)}
.cta-box--alt h2{font-size:var(--text-xl);margin:0 0 12px}
.cta-box--alt p{color:var(--ink-700);margin:0 0 24px;line-height:1.7}

.cta-bar{background:var(--surface-alt);border:1px solid var(--border-default);
  border-radius:var(--radius-lg);padding:32px;display:flex;align-items:center;
  justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta-bar p{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--ink-900);margin:0}

/* --- Pied de page --------------------------------------------------------- */
.site-footer{background:var(--surface-ink);padding:64px 32px 32px;margin-top:auto}
.site-footer__grid{max-width:var(--container-max);margin:0 auto;display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px}
.site-footer img{height:64px;width:auto;display:block;margin-bottom:18px}
.site-footer p{font-family:var(--font-body);font-size:var(--text-sm);line-height:1.7;color:var(--ink-100);margin:0}
.site-footer__title{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:#fff;margin:0 0 14px}
.site-footer__links{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.site-footer__links a{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-100)}
.site-footer__links a:hover{color:#fff}
.site-footer__legal{max-width:var(--container-max);margin:40px auto 0;padding-top:24px;
  border-top:1px solid rgba(255,255,255,.16)}
.site-footer__legal p{font-size:var(--text-xs);color:var(--ink-300)}
.site-footer__contact{font-family:var(--font-body);font-size:var(--text-sm);line-height:1.9;color:var(--ink-100)}

/* --- Points de rupture responsive : 1280 / 1024 / 768 / 480 --------------- */
@media (max-width:1280px){
  .grid--6{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:1024px){
  :root{--text-3xl:2.5rem;--text-2xl:2rem;--text-4xl:3rem}
  .site-header__inner{padding:12px 24px}
  .section,.section--tight,.section--head{padding-left:24px;padding-right:24px}
  .hero,.hero--candidat{grid-template-columns:1fr;gap:32px}
  .media--hero,.media--candidat{height:320px}
  .grid--4,.grid--5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-grid{grid-template-columns:1fr}
  .grid--gap-lg{gap:32px}
  .site-footer__grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media (max-width:768px){
  :root{--text-3xl:2.125rem;--text-2xl:1.75rem;--text-xl:1.5rem;--text-4xl:2.75rem}
  .nav-toggle{display:block}
  .nav{
    display:none;width:100%;flex-direction:column;align-items:stretch;
    gap:2px;margin:12px 0 4px;
  }
  .nav.is-open{display:flex}
  .nav a{padding:12px;border-bottom:1px solid var(--border-default);border-radius:0}
  .nav a[aria-current="page"]{border-bottom-color:var(--brand-primary);border-bottom-width:3px}
  .nav .nav__cta{margin:12px 0 0;text-align:center;justify-content:center;border-bottom:none}
  .site-header__inner{flex-wrap:wrap;gap:12px}
  .site-header__logo img{height:44px}

  .section,.section--tight,.section--head{padding-top:48px;padding-bottom:48px;padding-left:20px;padding-right:20px}
  .grid--2,.grid--3,.grid--4,.grid--5,.grid--6,
  .stats,.stats--2,.steps,.team,.cta-pair,.form-row,.contact-grid{grid-template-columns:1fr}
  .team .card{flex-direction:column;align-items:flex-start;text-align:left}
  .site-footer__grid{grid-template-columns:1fr}
  .cta-bar{flex-direction:column;align-items:flex-start}
  .media--hero,.media--candidat{height:240px}
  .form-panel,.form-panel--lg{padding:24px}
}
@media (max-width:480px){
  :root{--text-3xl:1.875rem;--text-2xl:1.5rem;--text-4xl:2.5rem;--text-md:1.0625rem}
  .section,.section--tight,.section--head{padding-left:16px;padding-right:16px}
  .card{padding:20px}
  .actions .btn{width:100%}
}

/* --- Impression ----------------------------------------------------------- */
@media print{
  .site-header,.nav-toggle,.actions,.form{display:none}
  body{color:#000}
}

/* --- Préférence de mouvement réduit --------------------------------------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
