:root {
      --ink:         #111827; --ink-mid:     #374151; --ink-soft:    #6B7280;
      --navy:        #0F2349; --navy-ui:     #1A3560; --navy-light:  #25447a;
      --sage:        #5C7A42; --sage-bright: #7aa358; --sage-bg:     #EFF4E8; --sage-border: #C4D5A8;
      --white:       #FFFFFF; --off-white:   #F9F7F4; --border:      #E5E0D8;
      --serif:       Georgia, 'Times New Roman', serif; --sans:        -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      --radius:      12px; --shadow-sm:   0 2px 4px rgba(0,0,0,0.05); --shadow-md:   0 10px 25px -5px rgba(15, 35, 73, 0.1); --shadow-lg:   0 32px 72px -16px rgba(15,35,73,0.20); --transition:  all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { font-family: var(--sans); font-size: 17px; line-height: 1.6; color: var(--ink); background: var(--white); -webkit-font-smoothing: antialiased; }
    .container { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
    nav { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,0.94); backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); }
    .nav-row { display: flex; align-items: center; justify-content: space-between; height: 110px; }
    .logo { display: flex; align-items: center; text-decoration: none; }
    .logo img { height: 90px; width: auto; display: block; }
    .nav-menu { display: flex; list-style: none; gap: 4px; align-items: center; }
    .nav-menu a { padding: 8px 14px; font-size: 14px; font-weight: 500; color: var(--ink-mid); text-decoration: none; transition: var(--transition); border-radius: 8px; }
    .nav-menu a:hover:not(.nav-rdv), .nav-menu a.active:not(.nav-rdv), .nav-menu a[aria-current="page"]:not(.nav-rdv) { background: var(--off-white); color: var(--navy); }
    .nav-rdv { background: var(--navy); color: white !important; font-weight: 600; }
    .nav-rdv:hover { background: var(--navy-ui); transform: translateY(-1px); }
    .hero { background: var(--navy); color: white; padding: 120px 0 100px; position: relative; overflow: hidden; }
    .grid-overlay {
  position: absolute;
  inset: 0;
  /* On passe l'opacité de 0.05 à 0.12 pour plus de visibilité */
  background-image: linear-gradient(to right, rgba(255,255,255,0.08) 1px, transparent 1px), 
                    linear-gradient(to bottom, rgba(255,255,255,0.08) 1px, transparent 1px);
  background-size: 40px 40px;
  /* Supprimez ou commentez la ligne mask-image ci-dessous */
  /* mask-image: radial-gradient(circle at 20% 50%, black, transparent 80%); */
  pointer-events: none;
}
    .hero::before { content: ''; position: absolute; inset: 0}
    .hero-content { max-width: 800px; position: relative; z-index: 2; }
    .hero-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 13px; text-transform: uppercase; letter-spacing: 2px; color: var(--sage-border); margin-bottom: 24px; }
    .hero-eyebrow-line { width: 40px; height: 1px; background: var(--sage); }
    .hero h1 { font-family: var(--serif); font-size: clamp(38px, 6vw, 68px); line-height: 1.1; margin-bottom: 32px; font-weight: 400; }
    .hero h1 em { color: rgba(255,255,255,0.5); font-style: italic; }
    .hero-lead { font-size: 20px; color: rgba(255,255,255,0.7); max-width: 600px; margin-bottom: 48px; }
    .btn-group { display: flex; gap: 16px; flex-wrap: wrap; }
    .btn { padding: 18px 36px; border-radius: var(--radius); font-weight: 700; text-decoration: none; transition: var(--transition); display: inline-flex; align-items: center; gap: 12px; }
    .btn-primary { background: var(--white); color: var(--navy); box-shadow: 0 10px 20px rgba(0,0,0,0.2); }
    .btn-primary:hover { transform: translateY(-3px); box-shadow: 0 15px 30px rgba(0,0,0,0.3); }
    .btn-secondary { border: 1px solid rgba(255,255,255,0.3); color: white; }
    .btn-secondary:hover { background: rgba(255,255,255,0.1); border-color: white; }
    .hero-stats { margin-top: 80px; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 40px; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 40px; position: relative; z-index: 2; }
    .stat-item strong { display: block; font-family: var(--serif); font-size: 42px; margin-bottom: 4px; }
    .stat-item span { font-size: 14px; color: rgba(255,255,255,0.5); font-weight: 500; text-transform: uppercase; }
    section { padding: 100px 0; }
    .section-head { margin-bottom: 60px; max-width: 700px; }
    .eyebrow { color: var(--sage); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 16px; display: block; }
    h2 { font-family: var(--serif); font-size: clamp(30px, 4vw, 44px); color: var(--navy); line-height: 1.2; margin-bottom: 20px; }
    .lead { font-size: 18px; color: var(--ink-mid); }
    .enjeux-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 24px; }
    .enjeu-card { background: var(--white); padding: 40px; border-radius: var(--radius); border: 1px solid var(--border); transition: var(--transition); position: relative; }
    .enjeu-card:hover { transform: translateY(-8px); border-color: var(--sage-border); box-shadow: var(--shadow-md); }
    .enjeu-num {
  font-family: var(--serif);
  font-size: 42px;          /* Taille légèrement ajustée pour le flux vertical */
  color: var(--sage-bright); /* Le vert lumineux que vous avez demandé */
  display: block;           /* Force le chiffre à prendre toute la ligne */
  margin-bottom: 16px;      /* Espace entre le chiffre et le titre h3 */
  line-height: 1;           /* Évite les espaces inutiles au-dessus/en-dessous */
  position: static;         /* Annule le positionnement absolu précédent */
}
    .enjeu-card h3 { font-size: 20px; margin-bottom: 16px; color: var(--navy); position: relative; }
    .enjeu-card p { font-size: 15px; color: var(--ink-mid); margin-bottom: 24px; }
    .tag-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto; /* Aligne les tags en bas de la carte si le texte est court */
}

/* Style individuel de chaque tag */
.tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 5px 12px;
  background: var(--sage-bg);
  color: var(--sage);
  border-radius: 50px;
  letter-spacing: 0.5px;
  white-space: nowrap; /* Empêche un tag seul de se couper en deux */
}
    .packs { background: var(--navy); color: white; }
    .packs h2 { color: white; }
    .packs .lead { color: rgba(255,255,255,0.6); }
    .packs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 30px; }
    .pack-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 48px; border-radius: var(--radius); display: flex; flex-direction: column; transition: var(--transition); }
    .pack-card.featured { background: var(--white); color: var(--ink); transform: scale(1.03); border: 3px solid var(--sage-border); position: relative; }
    .badge-pop { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); background: var(--sage); color: white; padding: 6px 20px; border-radius: 50px; font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; text-align: center; min-width: 160px; }
    .pack-card h3 { font-family: var(--serif); font-size: 28px; margin-bottom: 16px; }
    .pack-card ul { list-style: none; margin: 32px 0; flex-grow: 1; }
    .pack-card li { margin-bottom: 12px; font-size: 15px; display: flex; gap: 12px; align-items: flex-start; }
    .pack-card li::before { content: '✓'; color: var(--sage); font-weight: bold; }
    .btn-pack { text-align: center; padding: 15px; border-radius: 8px; font-weight: 700; text-decoration: none; border: 1px solid rgba(255,255,255,0.2); color: white; transition: var(--transition); }
    .featured .btn-pack { background: var(--navy); color: white; border: none; }
    .btn-pack:hover { background: rgba(255,255,255,0.15); }
    .featured .btn-pack:hover { background: var(--navy-ui); transform: translateY(-2px); }
    .methode-split { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 80px; align-items: start; }
    .step { display: flex; gap: 30px; margin-bottom: 40px; }
    .step-n { width: 44px; height: 44px; background: var(--sage-bg); color: var(--sage); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; flex-shrink: 0; }
    .step h4 { font-size: 19px; color: var(--navy); margin-bottom: 8px; }
    .aside-card { background: var(--navy); color: white; padding: 40px; border-radius: var(--radius); position: sticky; top: 120px; }
    .aside-card blockquote { font-family: var(--serif); font-style: italic; font-size: 18px; color: rgba(255,255,255,0.8); margin-bottom: 20px; }
    .aside-card cite { font-style: normal; font-size: 14px; color: var(--sage-border); font-weight: 600; }
    .preuves { background: var(--off-white); }
    .client-logos {
  display: flex;
  flex-wrap: wrap;       /* Permet de passer à la ligne sur mobile */
  justify-content: center; /* Centre les logos sur CHAQUE ligne */
  gap: 16px;
  margin-top: 40px;
}
    .logo-box {
  background: white;
  border: 1px solid var(--border);
  height: 80px;
  width: 180px;         /* Largeur fixe pour garder l'alignement propre */
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
  filter: grayscale(1);
  opacity: 0.7;
  flex-shrink: 0;       /* Empêche les logos de s'écraser */
  text-decoration: none;
  cursor: pointer;
}
    .logo-box:hover { filter: grayscale(0); opacity: 1; border-color: var(--navy); transform: scale(1.05); }
    footer { background: #080d1a; color: white; padding: 60px 0 30px; }
    .logo-box img {
  max-width: 80%;   /* Empêche le logo de toucher les bords */
  max-height: 50px; /* Aligne la hauteur de tous les logos */
  object-fit: contain;
  display: block;
}
    .footer-grid { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 40px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,0.05); }
    .footer-bottom { padding-top: 30px; display: flex; justify-content: space-between; font-size: 13px; color: rgba(255,255,255,0.4); }
     .footer-link {
  color: inherit;       /* Garde la même couleur grise que le reste du texte */
  text-decoration: none; /* Enlève le soulignement */
  transition: 0.3s;
}

.footer-link:hover {
  color: var(--sage-border); /* Le lien s'éclaire en vert sauge au survol */
  text-decoration: underline;
}
    .eco-label { background: rgba(92,122,66,0.15); color: var(--sage-border); padding: 8px 16px; border-radius: 50px; border: 1px solid rgba(92,122,66,0.3); font-size: 12px; }
    @media (max-width: 992px) {
  /* On affiche le bouton burger */
  #menu-toggle { display: block !important; }

  /* On garde le logo et le bouton sur la même ligne */
  .nav-row {
    flex-direction: row;
    justify-content: space-between;
    height: 70px;
    padding: 0 20px;
  }

  /* On transforme le menu en rideau vertical masqué par défaut */
  .nav-menu {
    display: none; /* Masqué */
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    background: white;
    flex-direction: column;
    padding: 20px;
    border-bottom: 1px solid var(--border);
    gap: 10px;
    z-index: 1000;
  }

  /* Classe qui sera ajoutée par le JS pour ouvrir le menu */
  .nav-menu.active { display: flex; }

  .nav-menu li { width: 100%; }
  
  .nav-menu a {
    display: block;
    width: 100%;
    padding: 12px;
    background: var(--off-white);
  }

  /* Le bouton contact ne prend plus toute la largeur de façon brute */
  .nav-rdv {
    background: var(--navy) !important;
    text-align: center;
    margin-top: 10px;
  }

  /* Ajustements structurels pour le reste de la page */
  .methode-split { grid-template-columns: 1fr; }
  .aside-card { position: static; }
  .dropdown-menu { position: static; box-shadow: none; width: 100%; }
}
    .dropdown { position: relative; }
    .dropdown-toggle { cursor: pointer; }
    .dropdown-menu { display: none; position: absolute; top: calc(100% + 10px); left: 0; min-width: 280px; list-style: none; background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 10px; box-shadow: 0 18px 50px rgba(15, 35, 73, 0.18); z-index: 2000; }
    .dropdown-menu a { display: block; padding: 10px 12px; border-radius: 10px; text-decoration: none; color: var(--ink-mid); font-size: 14px; font-weight: 600; }
    .dropdown-menu a:hover { background: var(--off-white); color: var(--navy); }
    .dropdown:hover .dropdown-menu { display: block; }
    .dropdown.open .dropdown-menu { display: block; }

/* ==========================================================================
   STYLES MIGRÉS DES FICHIERS HTML (SCOPÉS PAR PAGE)
   ========================================================================== */

/* Landing Page EcoVadis */
    .page-ecovadis *, .page-ecovadis *::before, .page-ecovadis *::after{ box-sizing: border-box; margin: 0; padding: 0; }
    body.page-ecovadis{ font-family: var(--sans); font-size: 17px; line-height: 1.7; color: var(--ink); background: var(--white); -webkit-font-smoothing: antialiased; }
    .page-ecovadis .container{ max-width: 1000px; margin: 0 auto; padding: 0 40px; }

    /* ══════════════════════
       NAV — épurée landing
    ══════════════════════ */
    .page-ecovadis nav{
      position: sticky; top: 0; z-index: 1000;
      background: rgba(255,255,255,0.96); backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--border); height: 110px;
      display: flex; align-items: center;
    }
    .page-ecovadis .nav-row{ display: flex; justify-content: space-between; align-items: center; width: 100%; }
    .page-ecovadis .logo img{
  height: 90px; /* Taille cohérente avec l'index */
  width: auto;
  display: block;
}

/* Style pour les logos de partenaires (uniformisation) */
.page-ecovadis .logo-box img{
  max-width: 80%;
  max-height: 50px; /* Aligne la hauteur de tous les logos */
  object-fit: contain;
  display: block;
}
    .page-ecovadis .nav-right{ display: flex; align-items: center; gap: 20px; }
    .page-ecovadis .nav-badge{ font-size: 12px; font-weight: 700; color: var(--sage); background: var(--sage-bg); border: 1px solid var(--sage-border); padding: 6px 14px; border-radius: 50px; }
    .page-ecovadis .btn-nav{ background: var(--navy); color: white; padding: 10px 22px; border-radius: var(--radius); font-weight: 700; text-decoration: none; font-size: 14px; transition: var(--transition); }
    .page-ecovadis .btn-nav:hover{ background: var(--navy-ui); }

    /* ══════════════════════
       HERO — 2 colonnes, formulaire flottant
    ══════════════════════ */
    .page-ecovadis .hero{
      background: var(--navy); color: white;
      padding: 110px 0 0; position: relative; overflow: visible;
    }
    .page-ecovadis .grid-overlay{
      position: absolute;
  inset: 0;
  /* On passe l'opacité de 0.05 à 0.12 pour plus de visibilité */
  background-image: linear-gradient(to right, rgba(255,255,255,0.08) 1px, transparent 1px), 
                    linear-gradient(to bottom, rgba(255,255,255,0.08) 1px, transparent 1px);
  background-size: 40px 40px;
  /* Supprimez ou commentez la ligne mask-image ci-dessous */
  /* mask-image: radial-gradient(circle at 20% 50%, black, transparent 80%); */
  pointer-events: none;
    }
    .page-ecovadis .hero::after{
      content: ''; position: absolute; inset: 0; pointer-events: none;
    }
    /* Layout 2 colonnes */
    .page-ecovadis .hero-layout{
      position: relative; z-index: 2;
      display: grid; grid-template-columns: 1fr 420px;
      gap: 64px; align-items: end;
    }
    .page-ecovadis .hero-text{ padding-bottom: 80px; }
    .page-ecovadis .hero-badge{
      display: inline-flex; align-items: center; gap: 8px;
      background: rgba(92,122,66,0.18); border: 1px solid rgba(92,122,66,0.4);
      color: var(--sage-border); font-size: 11px; font-weight: 700;
      text-transform: uppercase; letter-spacing: 2px;
      padding: 6px 18px; border-radius: 50px; margin-bottom: 32px;
    }
    .page-ecovadis .hero h1{
      font-family: var(--serif); font-size: clamp(30px, 4vw, 50px);
      line-height: 1.1; font-weight: 400; margin-bottom: 24px;
    }
    .page-ecovadis .hero h1 em{ font-style: italic; color: var(--sage-border); }
    .page-ecovadis .hero-lead{ font-size: 18px; color: rgba(255,255,255,0.58); line-height: 1.8; margin-bottom: 44px; max-width: 480px; }
    /* Bande de réassurance */
    .page-ecovadis .hero-reassurance{
      display: flex; gap: 0;
      border-top: 1px solid rgba(255,255,255,0.08); padding-top: 32px;
    }
    .page-ecovadis .reassure-item{
      padding-right: 24px; margin-right: 24px;
      border-right: 1px solid rgba(255,255,255,0.08);
      font-size: 12px; color: rgba(255,255,255,0.35);
    }
    .page-ecovadis .reassure-item:last-child{ border-right: none; padding-right: 0; margin-right: 0; }
    .page-ecovadis .reassure-item strong{ color: white; font-size: 20px; font-family: var(--serif); font-weight: 400; display: block; line-height: 1; margin-bottom: 3px; }

    /* Formulaire flottant */
    .page-ecovadis .hero-form-col{ position: relative; }
    .page-ecovadis .form-float{
      background: var(--white); border-radius: var(--radius);
      padding: 44px 40px 40px; box-shadow: var(--shadow-lg);
      margin-bottom: -100px; position: relative;
    }
    .page-ecovadis .form-float::before{
      content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
      background: linear-gradient(90deg, var(--sage), var(--sage-border));
      border-radius: var(--radius) var(--radius) 0 0;
    }
    .page-ecovadis .form-header{ margin-bottom: 28px; padding-bottom: 22px; border-bottom: 1px solid var(--border); }
    .page-ecovadis .form-header h3{ font-family: var(--serif); font-size: 21px; color: var(--navy); font-weight: 400; margin-bottom: 5px; }
    .page-ecovadis .form-header p{ font-size: 13px; color: var(--ink-soft); }
    .page-ecovadis .form-group{ margin-bottom: 16px; }
    .page-ecovadis .form-group label{ display: block; font-size: 11px; font-weight: 700; color: var(--ink-soft); margin-bottom: 7px; text-transform: uppercase; letter-spacing: 1px; }
    .page-ecovadis .form-group input, .page-ecovadis .form-group select{
      width: 100%; padding: 12px 14px; border: 1px solid var(--border); border-radius: 8px;
      font-family: var(--sans); font-size: 15px; color: var(--ink);
      background: var(--off-white); outline: none; transition: var(--transition); appearance: none;
    }
    .page-ecovadis .form-group input:focus, .page-ecovadis .form-group select:focus{
      border-color: var(--sage); background: var(--white);
      box-shadow: 0 0 0 3px rgba(92,122,66,0.08);
    }
    .page-ecovadis .form-group select{
      background-color: var(--off-white);
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
      background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px;
    }
    .page-ecovadis .form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .page-ecovadis .form-submit{
      width: 100%; padding: 15px; background: var(--sage); color: white;
      border: none; border-radius: var(--radius); font-family: var(--sans);
      font-size: 15px; font-weight: 700; cursor: pointer; transition: var(--transition); margin-top: 6px;
    }
    .page-ecovadis .form-submit:hover{ background: var(--sage-bright); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(92,122,66,0.3); }
    .page-ecovadis .form-note{ font-size: 12px; color: var(--ink-soft); text-align: center; margin-top: 12px; }
    .page-ecovadis #form-ecovadis{ scroll-margin-top: 110px; }
    /* Compensation du chevauchement formulaire */
    .page-ecovadis .hero + section{ padding-top: 160px !important; }

    .page-ecovadis .btn-primary-sage{
      display: inline-flex; align-items: center; gap: 10px;
      background: var(--sage); color: white;
      padding: 17px 38px; border-radius: var(--radius);
      font-weight: 700; text-decoration: none; font-size: 16px;
      transition: var(--transition);
    }
    .page-ecovadis .btn-primary-sage:hover{ background: var(--sage-bright); transform: translateY(-3px); box-shadow: 0 12px 28px rgba(92,122,66,0.35); }

    /* ══════════════════════
       DOULEURS — 3 cards style vFTS
       avec DNA design système
    ══════════════════════ */
    .page-ecovadis .douleurs{ padding: 100px 0; background: var(--white); position: relative; overflow: hidden; }
    .page-ecovadis .douleurs::before{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background-image: linear-gradient(to right, rgba(92,122,66,0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(92,122,66,0.05) 1px, transparent 1px);
      background-size: 48px 48px;
    }
    .page-ecovadis .douleurs-inner{ position: relative; z-index: 1; }
    .page-ecovadis .section-head{ text-align: center; max-width: 560px; margin: 0 auto 56px; }
    .page-ecovadis .eyebrow{ color: var(--sage); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: 3px; margin-bottom: 18px; display: block; }
    .page-ecovadis h2{ font-family: var(--serif); font-size: clamp(26px, 3.5vw, 38px); color: var(--navy); line-height: 1.15; margin-bottom: 16px; }
    .page-ecovadis .section-head p{ font-size: 17px; color: var(--ink-mid); }
    .page-ecovadis .douleurs-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .page-ecovadis .douleur-card{
      padding: 40px 36px;
      border-left: 4px solid var(--sage);
      background: var(--off-white); border-radius: 0 var(--radius) var(--radius) 0;
      border-top: 1px solid var(--border); border-right: 1px solid var(--border); border-bottom: 1px solid var(--border);
      transition: var(--transition);
    }
    .page-ecovadis .douleur-card:hover{ border-left-color: var(--sage-bright); background: var(--sage-bg); box-shadow: var(--shadow-md); }
    .page-ecovadis .douleur-icon{ font-size: 28px; margin-bottom: 20px; }
    .page-ecovadis .douleur-card h3{ font-family: var(--serif); font-size: 20px; color: var(--navy); margin-bottom: 12px; font-weight: 400; line-height: 1.3; }
    .page-ecovadis .douleur-card p{ font-size: 15px; color: var(--ink-mid); line-height: 1.75; }

    /* ══════════════════════
       MÉTHODE "ZÉRO STRESS"
       4 étapes — lisible, rassurant
    ══════════════════════ */
    .page-ecovadis .methode{ padding: 100px 0; background: var(--off-white); position: relative; overflow: hidden; }
    .page-ecovadis .methode::before{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background-image: linear-gradient(to right, rgba(92,122,66,0.06) 1px, transparent 1px), linear-gradient(to bottom, rgba(92,122,66,0.06) 1px, transparent 1px);
      background-size: 48px 48px;
    }
    .page-ecovadis .methode-inner{ position: relative; z-index: 1; }
    .page-ecovadis .steps{ max-width: 720px; margin: 0 auto; }
    .page-ecovadis .step{
      display: flex; gap: 36px; align-items: flex-start;
      padding: 36px 0; border-bottom: 1px solid var(--border);
    }
    .page-ecovadis .step:first-child{ border-top: 1px solid var(--border); }
    .page-ecovadis .step-n{
      width: 52px; height: 52px; flex-shrink: 0;
      background: var(--navy); color: white; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-weight: 800; font-size: 15px; margin-top: 3px;
    }
    .page-ecovadis .step-body h4{ font-family: var(--serif); font-size: 21px; color: var(--navy); font-weight: 400; margin-bottom: 8px; }
    .page-ecovadis .step-body p{ font-size: 15px; color: var(--ink-mid); line-height: 1.75; }
    .page-ecovadis .step-timing{ font-size: 11px; font-weight: 700; color: var(--sage); text-transform: uppercase; letter-spacing: 1.5px; margin-top: 10px; display: inline-block; background: var(--sage-bg); border: 1px solid var(--sage-border); padding: 3px 12px; border-radius: 50px; }

    /* ══════════════════════
       TÉMOIGNAGE — aside-quote DNA
    ══════════════════════ */
    .page-ecovadis .temoignage{ background: var(--navy); padding: 80px 0; position: relative; overflow: hidden; }
    .page-ecovadis .temoignage::before{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
      background-size: 40px 40px;
      mask-image: radial-gradient(ellipse at 70% 50%, black, transparent 65%);
    }
    .page-ecovadis .temoignage .container{ position: relative; z-index: 1; }
    .page-ecovadis .aside-quote{
      background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
      border-left: 4px solid var(--sage);
      border-radius: var(--radius); padding: 52px 56px;
      display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center;
    }
    .page-ecovadis .aside-quote blockquote{ font-family: var(--serif); font-style: italic; font-size: 20px; color: rgba(255,255,255,0.85); line-height: 1.7; }
    .page-ecovadis .aside-quote blockquote::before{ content: '"'; font-size: 56px; color: var(--sage); line-height: 0.6; display: block; margin-bottom: 14px; }
    .page-ecovadis .aside-quote-meta{ text-align: right; min-width: 160px; }
    .page-ecovadis .aside-quote cite{ font-style: normal; font-size: 13px; color: var(--sage-border); font-weight: 600; display: block; margin-bottom: 16px; line-height: 1.6; }
    .page-ecovadis .result-pill{
      display: inline-block;
      background: rgba(92,122,66,0.2); border: 1px solid rgba(92,122,66,0.4);
      color: var(--sage-border); font-size: 11px; font-weight: 800;
      padding: 5px 14px; border-radius: 50px; text-transform: uppercase; letter-spacing: 1px;
    }
    .page-ecovadis .result-pill strong{ display: block; font-family: var(--serif); font-size: 22px; color: var(--sage-border); font-weight: 400; margin-bottom: 2px; }

    /* ══════════════════════
       CTA FINAL — navy + vert
    ══════════════════════ */
    .page-ecovadis .cta-final{
      background: var(--navy); padding: 100px 0;
      position: relative; overflow: hidden; text-align: center;
    }
    .page-ecovadis .cta-final::after{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background: radial-gradient(ellipse at 50% 100%, rgba(92,122,66,0.15), transparent 60%);
    }
    .page-ecovadis .cta-inner{ position: relative; z-index: 1; max-width: 600px; margin: 0 auto; }
    .page-ecovadis .cta-eyebrow{ color: var(--sage-border); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: 3px; margin-bottom: 24px; display: block; }
    .page-ecovadis .cta-final h2{ font-family: var(--serif); font-size: clamp(28px, 4vw, 44px); color: white; line-height: 1.15; font-weight: 400; margin-bottom: 20px; }
    .page-ecovadis .cta-final p{ font-size: 18px; color: rgba(255,255,255,0.5); line-height: 1.75; margin-bottom: 44px; }
    .page-ecovadis .cta-note{ margin-top: 20px; font-size: 13px; color: rgba(255,255,255,0.3); }

    /* ── FOOTER ── */
    .page-ecovadis footer{ background: #080d1a; color: white; padding: 36px 0 20px; }
    .page-ecovadis .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.05); }
    .page-ecovadis .eco-label{ background: rgba(92,122,66,0.15); color: var(--sage-border); padding: 6px 14px; border-radius: 50px; border: 1px solid rgba(92,122,66,0.3); font-size: 12px; }
    .page-ecovadis .footer-copy{ padding-top: 18px; font-size: 12px; color: rgba(255,255,255,0.28); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }

    /* ── RESPONSIVE ── */
    @media (max-width: 900px) {
      .page-ecovadis .hero-layout{ grid-template-columns: 1fr; gap: 48px; }
      .page-ecovadis .hero-text{ padding-bottom: 0; }
      .page-ecovadis .form-float{ margin-bottom: 0; }
      .page-ecovadis .hero + section{ padding-top: 80px !important; }
    }
    @media (max-width: 768px) {
      .page-ecovadis .container{ padding: 0 24px; }
      .page-ecovadis .douleurs-grid{ grid-template-columns: 1fr; }
      .page-ecovadis .aside-quote{ grid-template-columns: 1fr; gap: 28px; padding: 36px 28px; }
      .page-ecovadis .aside-quote-meta{ text-align: left; }
      .page-ecovadis .hero-reassurance{ flex-wrap: wrap; gap: 16px; }
      .page-ecovadis .reassure-item{ border-right: none; padding: 0; margin: 0; }
      .page-ecovadis .form-row{ grid-template-columns: 1fr; }
      .page-ecovadis .nav-badge{ display: none; }
    }

/* Landing Page PCA/PRA */
    .page-pca *, .page-pca *::before, .page-pca *::after{ box-sizing: border-box; margin: 0; padding: 0; }
    body.page-pca{ font-family: var(--sans); font-size: 17px; line-height: 1.7; color: var(--ink); background: var(--white); -webkit-font-smoothing: antialiased; }
    .page-pca .container{ max-width: 1000px; margin: 0 auto; padding: 0 40px; }

    /* ── NAV ── */
    .page-pca nav{
      position: sticky; top: 0; z-index: 1000;
      background: rgba(255,255,255,0.96); backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--border); height: 110px;
      display: flex; align-items: center;
    }
    .page-pca .nav-row{ display: flex; justify-content: space-between; align-items: center; width: 100%; }
    .page-pca .logo{ 
  display: flex; 
  align-items: center; 
  text-decoration: none; 
}

.page-pca .logo img{ 
  height: 90px; 
  width: auto; 
  display: block; 
}

/* On harmonise aussi la hauteur de la nav à 90px comme sur le reste du site */
.page-pca .nav-row{ 
  display: flex; 
  align-items: center; 
  justify-content: space-between; 
  height: 110px; 
}
    .page-pca .nav-right{ display: flex; align-items: center; gap: 20px; }
    .page-pca .nav-badge{ font-size: 12px; font-weight: 700; color: var(--sage); background: var(--sage-bg); border: 1px solid var(--sage-border); padding: 6px 14px; border-radius: 50px; }
    .page-pca .btn-nav{ background: var(--navy); color: white; padding: 10px 22px; border-radius: var(--radius); font-weight: 700; text-decoration: none; font-size: 14px; transition: var(--transition); }
    .page-pca .btn-nav:hover{ background: var(--navy-ui); }

    /* ══════════════════════
       HERO — 2 colonnes
    ══════════════════════ */
    .page-pca .hero{
      background: var(--navy); color: white;
      padding: 110px 0 0; position: relative; overflow: visible;
    }
    .page-pca .grid-overlay{
      position: absolute; inset: 0; pointer-events: none;
      background-image:
        linear-gradient(to right, rgba(255,255,255,0.08) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255,255,255,0.08) 1px, transparent 1px);
      background-size: 40px 40px;
    }
    .page-pca .hero::after{
      content: ''; position: absolute; inset: 0; pointer-events: none;
    }
    .page-pca .hero-layout{
      position: relative; z-index: 2;
      display: grid; grid-template-columns: 1fr 420px;
      gap: 64px; align-items: end;
    }
    .page-pca .hero-text{ padding-bottom: 80px; }
    .page-pca .hero-badge{
      display: inline-flex; align-items: center; gap: 8px;
      background: rgba(92,122,66,0.18); border: 1px solid rgba(92,122,66,0.4);
      color: var(--sage-border); font-size: 11px; font-weight: 700;
      text-transform: uppercase; letter-spacing: 2px;
      padding: 6px 18px; border-radius: 50px; margin-bottom: 32px;
    }
    .page-pca .hero h1{
      font-family: var(--serif); font-size: clamp(30px, 4vw, 50px);
      line-height: 1.1; font-weight: 400; margin-bottom: 24px;
    }
    .page-pca .hero h1 em{ font-style: italic; color: var(--sage-border); }
    .page-pca .hero-lead{ font-size: 18px; color: rgba(255,255,255,0.58); line-height: 1.8; margin-bottom: 44px; max-width: 480px; }
    /* Citation ANSSI */
    .page-pca .hero-quote{
      border-left: 3px solid var(--sage); padding-left: 20px;
      margin-bottom: 44px; max-width: 480px;
    }
    .page-pca .hero-quote p{ font-family: var(--serif); font-style: italic; font-size: 16px; color: rgba(255,255,255,0.65); line-height: 1.75; }
    .page-pca .hero-reassurance{
      display: flex; gap: 0;
      border-top: 1px solid rgba(255,255,255,0.08); padding-top: 32px;
    }
    .page-pca .reassure-item{
      padding-right: 24px; margin-right: 24px;
      border-right: 1px solid rgba(255,255,255,0.08);
      font-size: 12px; color: rgba(255,255,255,0.35);
    }
    .page-pca .reassure-item:last-child{ border-right: none; padding-right: 0; margin-right: 0; }
    .page-pca .reassure-item strong{ color: white; font-size: 20px; font-family: var(--serif); font-weight: 400; display: block; line-height: 1; margin-bottom: 3px; }

    /* Formulaire flottant */
    .page-pca .hero-form-col{ position: relative; }
    .page-pca .form-float{
      background: var(--white); border-radius: var(--radius);
      padding: 44px 40px 40px; box-shadow: var(--shadow-lg);
      margin-bottom: -100px; position: relative;
    }
    .page-pca .form-float::before{
      content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
      background: linear-gradient(90deg, var(--sage), var(--sage-border));
      border-radius: var(--radius) var(--radius) 0 0;
    }
    .page-pca .form-header{ margin-bottom: 28px; padding-bottom: 22px; border-bottom: 1px solid var(--border); }
    .page-pca .form-header h3{ font-family: var(--serif); font-size: 21px; color: var(--navy); font-weight: 400; margin-bottom: 5px; }
    .page-pca .form-header p{ font-size: 13px; color: var(--ink-soft); }
    .page-pca .form-group{ margin-bottom: 16px; }
    .page-pca .form-group label{ display: block; font-size: 11px; font-weight: 700; color: var(--ink-soft); margin-bottom: 7px; text-transform: uppercase; letter-spacing: 1px; }
    .page-pca .form-group input, .page-pca .form-group select{
      width: 100%; padding: 12px 14px; border: 1px solid var(--border); border-radius: 8px;
      font-family: var(--sans); font-size: 15px; color: var(--ink);
      background: var(--off-white); outline: none; transition: var(--transition); appearance: none;
    }
    .page-pca .form-group input:focus, .page-pca .form-group select:focus{
      border-color: var(--sage); background: var(--white);
      box-shadow: 0 0 0 3px rgba(92,122,66,0.08);
    }
    .page-pca .form-group select{
      background-color: var(--off-white);
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
      background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px;
    }
    .page-pca .form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .page-pca .form-submit{
      width: 100%; padding: 15px; background: var(--sage); color: white;
      border: none; border-radius: var(--radius); font-family: var(--sans);
      font-size: 15px; font-weight: 700; cursor: pointer; transition: var(--transition); margin-top: 6px;
    }
    .page-pca .form-submit:hover{ background: var(--sage-bright); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(92,122,66,0.3); }
    .page-pca .form-note{ font-size: 12px; color: var(--ink-soft); text-align: center; margin-top: 12px; }
    .page-pca #form-exercice-cyber{ scroll-margin-top: 110px; }
    .page-pca .hero + section{ padding-top: 160px !important; }

    /* ══════════════════════
       STAT CHOC
    ══════════════════════ */
    .page-pca .stat-choc{
      padding: 100px 0; background: var(--white); position: relative; overflow: hidden;
    }
    .page-pca .stat-choc::before{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background-image: linear-gradient(to right, rgba(92,122,66,0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(92,122,66,0.05) 1px, transparent 1px);
      background-size: 48px 48px;
    }
    .page-pca .stat-choc-inner{ position: relative; z-index: 1; }
    .page-pca .section-head{ text-align: center; max-width: 600px; margin: 0 auto 56px; }
    .page-pca .eyebrow{ color: var(--sage); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: 3px; margin-bottom: 18px; display: block; }
    .page-pca h2{ font-family: var(--serif); font-size: clamp(26px, 3.5vw, 38px); color: var(--navy); line-height: 1.15; margin-bottom: 16px; }
    .page-pca .section-head p{ font-size: 17px; color: var(--ink-mid); }
    .page-pca .cards-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .page-pca .feature-card{
      padding: 40px 36px;
      border-left: 4px solid var(--sage);
      background: var(--off-white);
      border-radius: 0 var(--radius) var(--radius) 0;
      border-top: 1px solid var(--border); border-right: 1px solid var(--border); border-bottom: 1px solid var(--border);
      transition: var(--transition);
    }
    .page-pca .feature-card:hover{ border-left-color: var(--sage-bright); background: var(--sage-bg); box-shadow: var(--shadow-md); }
    .page-pca .card-icon{ font-size: 28px; margin-bottom: 20px; }
    .page-pca .feature-card h3{ font-family: var(--serif); font-size: 20px; color: var(--navy); margin-bottom: 12px; font-weight: 400; line-height: 1.3; }
    .page-pca .feature-card p{ font-size: 15px; color: var(--ink-mid); line-height: 1.75; }
    /* Stat highlight dans une card */
    .page-pca .stat-highlight{ font-family: var(--serif); font-size: 48px; color: var(--navy); line-height: 1; margin-bottom: 8px; font-weight: 400; }
    .page-pca .stat-highlight span{ font-size: 24px; color: var(--sage); }

    /* ══════════════════════
       DÉROULÉ — 3 phases timeline
    ══════════════════════ */
    .page-pca .deroulement{ padding: 100px 0; background: var(--navy); position: relative; overflow: hidden; }
    .page-pca .deroulement::before{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
      background-size: 40px 40px;
      mask-image: radial-gradient(ellipse at 80% 50%, black, transparent 68%);
    }
    .page-pca .deroulement .container{ position: relative; z-index: 1; }
    .page-pca .deroulement-head{ max-width: 560px; margin-bottom: 64px; }
    .page-pca .deroulement-head .eyebrow{ color: var(--sage-border); }
    .page-pca .deroulement-head h2{ color: white; }
    .page-pca .deroulement-head p{ font-size: 17px; color: rgba(255,255,255,0.45); margin-top: 12px; }
    .page-pca .phases{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
    .page-pca .phase-card{
      background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
      border-radius: var(--radius); padding: 40px 32px;
      transition: var(--transition); position: relative; overflow: hidden;
    }
    .page-pca .phase-card::before{ content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--sage); }
    .page-pca .phase-card:hover{ background: rgba(255,255,255,0.07); border-color: rgba(92,122,66,0.35); }
    .page-pca .phase-label{
      font-size: 11px; font-weight: 700; color: var(--sage-border);
      text-transform: uppercase; letter-spacing: 2px; margin-bottom: 16px; display: block;
    }
    .page-pca .phase-card h4{ font-family: var(--serif); font-size: 20px; color: white; font-weight: 400; margin-bottom: 14px; line-height: 1.3; }
    .page-pca .phase-card .phase-timing{
      font-size: 12px; font-weight: 700; color: rgba(255,255,255,0.35);
      text-transform: uppercase; letter-spacing: 1px; margin-bottom: 24px; display: block;
    }
    .page-pca .phase-items{ display: flex; flex-direction: column; gap: 10px; }
    .page-pca .phase-item{ display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: rgba(255,255,255,0.55); line-height: 1.6; }
    .page-pca .phase-item::before{ content: '→'; color: var(--sage-border); flex-shrink: 0; font-weight: 700; margin-top: 1px; }

    /* ══════════════════════
       OBJECTIFS TESTÉS
    ══════════════════════ */
    .page-pca .objectifs{ padding: 100px 0; background: var(--off-white); position: relative; overflow: hidden; }
    .page-pca .objectifs::before{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background-image: linear-gradient(to right, rgba(92,122,66,0.06) 1px, transparent 1px), linear-gradient(to bottom, rgba(92,122,66,0.06) 1px, transparent 1px);
      background-size: 48px 48px;
    }
    .page-pca .objectifs-inner{ position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
    .page-pca .objectifs-text h2{ margin-bottom: 16px; }
    .page-pca .objectifs-text p{ font-size: 17px; color: var(--ink-mid); line-height: 1.85; margin-bottom: 20px; }
    .page-pca .objectifs-list{ display: flex; flex-direction: column; gap: 10px; }
    .page-pca .objectif-item{
      display: flex; align-items: flex-start; gap: 14px;
      padding: 16px 20px; background: var(--white);
      border: 1px solid var(--border); border-radius: 8px;
      transition: var(--transition);
    }
    .page-pca .objectif-item:hover{ border-color: var(--sage-border); background: var(--sage-bg); }
    .page-pca .objectif-check{ color: var(--sage); font-weight: 800; font-size: 15px; flex-shrink: 0; margin-top: 2px; }
    .page-pca .objectif-item span{ font-size: 15px; color: var(--navy); font-weight: 500; }

    /* ══════════════════════
       RETEX — 2 colonnes
    ══════════════════════ */
    .page-pca .retex{ padding: 100px 0; background: var(--white); position: relative; overflow: hidden; }
    .page-pca .retex::before{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background-image: linear-gradient(to right, rgba(92,122,66,0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(92,122,66,0.05) 1px, transparent 1px);
      background-size: 48px 48px;
    }
    .page-pca .retex-inner{ position: relative; z-index: 1; }
    .page-pca .retex-head{ max-width: 560px; margin-bottom: 56px; }
    .page-pca .retex-head p{ font-size: 17px; color: var(--ink-mid); margin-top: 12px; }
    .page-pca .retex-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
    .page-pca .retex-card{
      background: var(--off-white); border: 1px solid var(--border);
      border-top: 3px solid var(--sage); border-radius: var(--radius);
      padding: 44px 40px; transition: var(--transition);
    }
    .page-pca .retex-card:hover{ border-color: var(--sage-border); border-top-color: var(--sage); box-shadow: var(--shadow-md); transform: translateY(-2px); }
    .page-pca .retex-badge{
      display: inline-block; background: var(--sage-bg); color: var(--sage);
      border: 1px solid var(--sage-border); font-size: 11px; font-weight: 700;
      padding: 4px 12px; border-radius: 50px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 20px;
    }
    .page-pca .retex-card h4{ font-family: var(--serif); font-size: 21px; color: var(--navy); font-weight: 400; margin-bottom: 12px; }
    .page-pca .retex-card p{ font-size: 15px; color: var(--ink-mid); line-height: 1.75; margin-bottom: 20px; }
    .page-pca .retex-items{ display: flex; flex-direction: column; gap: 8px; }
    .page-pca .retex-item{ font-size: 14px; color: var(--ink-mid); padding-left: 16px; position: relative; }
    .page-pca .retex-item::before{ content: '·'; position: absolute; left: 0; color: var(--sage); font-weight: 900; }

    /* ══════════════════════
       TÉMOIGNAGE
    ══════════════════════ */
    .page-pca .temoignage{ background: var(--navy); padding: 80px 0; position: relative; overflow: hidden; }
    .page-pca .temoignage::before{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
      background-size: 40px 40px;
      mask-image: radial-gradient(ellipse at 70% 50%, black, transparent 65%);
    }
    .page-pca .temoignage .container{ position: relative; z-index: 1; }
    .page-pca .aside-quote{
      background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
      border-left: 4px solid var(--sage);
      border-radius: var(--radius); padding: 52px 56px;
      display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center;
    }
    .page-pca .aside-quote blockquote{ font-family: var(--serif); font-style: italic; font-size: 20px; color: rgba(255,255,255,0.85); line-height: 1.7; }
    .page-pca .aside-quote blockquote::before{ content: '"'; font-size: 56px; color: var(--sage); line-height: 0.6; display: block; margin-bottom: 14px; }
    .page-pca .aside-quote-meta{ text-align: right; min-width: 160px; }
    .page-pca .aside-quote cite{ font-style: normal; font-size: 13px; color: var(--sage-border); font-weight: 600; display: block; margin-bottom: 16px; line-height: 1.6; }
    .page-pca .result-pill{
      display: inline-block;
      background: rgba(92,122,66,0.2); border: 1px solid rgba(92,122,66,0.4);
      color: var(--sage-border); font-size: 11px; font-weight: 800;
      padding: 5px 14px; border-radius: 50px; text-transform: uppercase; letter-spacing: 1px;
    }

    /* ══════════════════════
       CTA FINAL
    ══════════════════════ */
    .page-pca .cta-final{
      background: var(--navy); padding: 100px 0;
      position: relative; overflow: hidden; text-align: center;
    }
    .page-pca .cta-final::after{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background: radial-gradient(ellipse at 50% 100%, rgba(92,122,66,0.15), transparent 60%);
    }
    .page-pca .cta-inner{ position: relative; z-index: 1; max-width: 600px; margin: 0 auto; }
    .page-pca .cta-eyebrow{ color: var(--sage-border); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: 3px; margin-bottom: 24px; display: block; }
    .page-pca .cta-final h2{ font-family: var(--serif); font-size: clamp(28px, 4vw, 44px); color: white; line-height: 1.15; font-weight: 400; margin-bottom: 20px; }
    .page-pca .cta-final p{ font-size: 18px; color: rgba(255,255,255,0.5); line-height: 1.75; margin-bottom: 44px; }
    .page-pca .btn-primary-sage{
      display: inline-flex; align-items: center; gap: 10px;
      background: var(--sage); color: white;
      padding: 18px 44px; border-radius: var(--radius);
      font-weight: 700; text-decoration: none; font-size: 17px;
      transition: var(--transition);
    }
    .page-pca .btn-primary-sage:hover{ background: var(--sage-bright); transform: translateY(-3px); box-shadow: 0 12px 28px rgba(92,122,66,0.35); }
    .page-pca .cta-note{ margin-top: 20px; font-size: 13px; color: rgba(255,255,255,0.3); }

    /* ── FOOTER ── */
    .page-pca footer{ background: #080d1a; color: white; padding: 36px 0 20px; }
    .page-pca .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.05); }
    .page-pca .eco-label{ background: rgba(92,122,66,0.15); color: var(--sage-border); padding: 6px 14px; border-radius: 50px; border: 1px solid rgba(92,122,66,0.3); font-size: 12px; }
    .page-pca .footer-copy{ padding-top: 18px; font-size: 12px; color: rgba(255,255,255,0.28); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }

    /* ── RESPONSIVE ── */
    @media (max-width: 900px) {
      .page-pca .hero-layout{ grid-template-columns: 1fr; gap: 48px; }
      .page-pca .hero-text{ padding-bottom: 0; }
      .page-pca .form-float{ margin-bottom: 0; }
      .page-pca .hero + section{ padding-top: 80px !important; }
      .page-pca .phases{ grid-template-columns: 1fr; }
      .page-pca .objectifs-inner{ grid-template-columns: 1fr; gap: 48px; }
      .page-pca .retex-grid{ grid-template-columns: 1fr; }
      .page-pca .aside-quote{ grid-template-columns: 1fr; gap: 28px; padding: 36px 28px; }
      .page-pca .aside-quote-meta{ text-align: left; }
    }
    @media (max-width: 600px) {
      .page-pca .container{ padding: 0 24px; }
      .page-pca .cards-grid{ grid-template-columns: 1fr; }
      .page-pca .form-row{ grid-template-columns: 1fr; }
      .page-pca .hero-reassurance{ flex-wrap: wrap; gap: 16px; }
      .page-pca .reassure-item{ border-right: none; padding: 0; margin: 0; }
      .page-pca .nav-badge{ display: none; }
    }

/* Landing Page RGPD */
    .page-rgpd *, .page-rgpd *::before, .page-rgpd *::after{ box-sizing: border-box; margin: 0; padding: 0; }
    body.page-rgpd{ font-family: var(--sans); font-size: 17px; line-height: 1.7; color: var(--ink); background: var(--white); -webkit-font-smoothing: antialiased; }
    .page-rgpd .container{ max-width: 1000px; margin: 0 auto; padding: 0 40px; }

    .page-rgpd nav{
      position: sticky; top: 0; z-index: 1000;
      background: rgba(255,255,255,0.96); backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--border); height: 110px;
      display: flex; align-items: center;
    }
    .page-rgpd .nav-row{ display: flex; justify-content: space-between; align-items: center; width: 100%; }
    .page-rgpd .logo img{ height: 90px; width: auto; display: block; }
    .page-rgpd .nav-right{ display: flex; align-items: center; gap: 20px; }
    .page-rgpd .nav-badge{ font-size: 12px; font-weight: 700; color: var(--sage); background: var(--sage-bg); border: 1px solid var(--sage-border); padding: 6px 14px; border-radius: 50px; }
    .page-rgpd .btn-nav{ background: var(--navy); color: white; padding: 10px 22px; border-radius: var(--radius); font-weight: 700; text-decoration: none; font-size: 14px; transition: var(--transition); }
    .page-rgpd .btn-nav:hover{ background: var(--navy-ui); }

    .page-rgpd .hero{
      background: var(--navy); color: white;
      padding: 110px 0 0; position: relative; overflow: visible;
    }
   .page-rgpd .grid-overlay {
  position: absolute; 
  inset: 0; 
  pointer-events: none;
  /* Augmentation de l'opacité à 0.08 pour correspondre aux autres pages */
  background-image:
    linear-gradient(to right, rgba(255,255,255,0.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.08) 1px, transparent 1px);
  background-size: 40px 40px;
  /* Suppression du mask-image pour un quadrillage complet sans fondu */
  mask-image: none; 
}
    .page-rgpd .hero::after{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background: radial-gradient(circle at 85% 15%, rgba(92,122,66,0.13), transparent 50%);
    }
    .page-rgpd .hero-layout{
      position: relative; z-index: 2;
      display: grid; grid-template-columns: 1fr 420px;
      gap: 64px; align-items: end;
    }
    .page-rgpd .hero-text{ padding-bottom: 80px; }
    .page-rgpd .hero-badge{
      display: inline-flex; align-items: center; gap: 8px;
      background: rgba(92,122,66,0.18); border: 1px solid rgba(92,122,66,0.4);
      color: var(--sage-border); font-size: 11px; font-weight: 700;
      text-transform: uppercase; letter-spacing: 2px;
      padding: 6px 18px; border-radius: 50px; margin-bottom: 32px;
    }
    .page-rgpd .hero h1{
      font-family: var(--serif); font-size: clamp(30px, 4vw, 50px);
      line-height: 1.1; font-weight: 400; margin-bottom: 24px;
    }
    .page-rgpd .hero h1 em{ font-style: italic; color: var(--sage-border); }
    .page-rgpd .hero-lead{ font-size: 18px; color: rgba(255,255,255,0.58); line-height: 1.8; margin-bottom: 44px; max-width: 480px; }
    .page-rgpd .hero-reassurance{
      display: flex; gap: 0;
      border-top: 1px solid rgba(255,255,255,0.08); padding-top: 32px;
    }
    .page-rgpd .reassure-item{
      padding-right: 24px; margin-right: 24px;
      border-right: 1px solid rgba(255,255,255,0.08);
      font-size: 12px; color: rgba(255,255,255,0.35);
    }
    .page-rgpd .reassure-item:last-child{ border-right: none; padding-right: 0; margin-right: 0; }
    .page-rgpd .reassure-item strong{ color: white; font-size: 20px; font-family: var(--serif); font-weight: 400; display: block; line-height: 1; margin-bottom: 3px; }

    .page-rgpd .hero-form-col{ position: relative; }
    .page-rgpd .form-float{
      background: var(--white); border-radius: var(--radius);
      padding: 44px 40px 40px; box-shadow: var(--shadow-lg);
      margin-bottom: -100px; position: relative;
    }
    .page-rgpd .form-float::before{
      content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
      background: linear-gradient(90deg, var(--sage), var(--sage-border));
      border-radius: var(--radius) var(--radius) 0 0;
    }
    .page-rgpd .form-header{ margin-bottom: 28px; padding-bottom: 22px; border-bottom: 1px solid var(--border); }
    .page-rgpd .form-header h3{ font-family: var(--serif); font-size: 21px; color: var(--navy); font-weight: 400; margin-bottom: 5px; }
    .page-rgpd .form-header p{ font-size: 13px; color: var(--ink-soft); }
    .page-rgpd .form-group{ margin-bottom: 16px; }
    .page-rgpd .form-group label{ display: block; font-size: 11px; font-weight: 700; color: var(--ink-soft); margin-bottom: 7px; text-transform: uppercase; letter-spacing: 1px; }
    .page-rgpd .form-group input, .page-rgpd .form-group select, .page-rgpd .form-group textarea{
      width: 100%; padding: 12px 14px; border: 1px solid var(--border); border-radius: 8px;
      font-family: var(--sans); font-size: 15px; color: var(--ink);
      background: var(--off-white); outline: none; transition: var(--transition); appearance: none;
    }
    .page-rgpd .form-group input:focus, .page-rgpd .form-group select:focus, .page-rgpd .form-group textarea:focus{
      border-color: var(--sage); background: var(--white);
      box-shadow: 0 0 0 3px rgba(92,122,66,0.08);
    }
    .page-rgpd .form-group textarea{ resize: vertical; min-height: 96px; }
    .page-rgpd .form-group select{
      background-color: var(--off-white);
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
      background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px;
    }
    .page-rgpd .form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .page-rgpd .form-submit{
      width: 100%; padding: 15px; background: var(--sage); color: white;
      border: none; border-radius: var(--radius); font-family: var(--sans);
      font-size: 15px; font-weight: 700; cursor: pointer; transition: var(--transition); margin-top: 6px;
    }
    .page-rgpd .form-submit:hover{ background: var(--sage-bright); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(92,122,66,0.3); }
    .page-rgpd .form-note{ font-size: 12px; color: var(--ink-soft); text-align: center; margin-top: 12px; }
    .page-rgpd #form-rgpd{ scroll-margin-top: 110px; }
    .page-rgpd .hero + section{ padding-top: 160px !important; }

    .page-rgpd .pourqui{ padding: 100px 0; background: var(--white); position: relative; overflow: hidden; }
    .page-rgpd .pourqui::before{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background-image: linear-gradient(to right, rgba(92,122,66,0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(92,122,66,0.05) 1px, transparent 1px);
      background-size: 48px 48px;
    }
    .page-rgpd .pourqui-inner{ position: relative; z-index: 1; }
    .page-rgpd .section-head{ text-align: center; max-width: 560px; margin: 0 auto 56px; }
    .page-rgpd .eyebrow{ color: var(--sage); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: 3px; margin-bottom: 18px; display: block; }
    .page-rgpd h2{ font-family: var(--serif); font-size: clamp(26px, 3.5vw, 38px); color: var(--navy); line-height: 1.15; margin-bottom: 16px; }
    .page-rgpd .section-head p{ font-size: 17px; color: var(--ink-mid); }
    .page-rgpd .cards-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .page-rgpd .feature-card{
      padding: 40px 36px;
      border-left: 4px solid var(--sage);
      background: var(--off-white);
      border-radius: 0 var(--radius) var(--radius) 0;
      border-top: 1px solid var(--border); border-right: 1px solid var(--border); border-bottom: 1px solid var(--border);
      transition: var(--transition);
    }
    .page-rgpd .feature-card:hover{ border-left-color: var(--sage-bright); background: var(--sage-bg); box-shadow: var(--shadow-md); }
    .page-rgpd .card-icon{ font-size: 28px; margin-bottom: 20px; }
    .page-rgpd .feature-card h3{ font-family: var(--serif); font-size: 20px; color: var(--navy); margin-bottom: 12px; font-weight: 400; line-height: 1.3; }
    .page-rgpd .feature-card p{ font-size: 15px; color: var(--ink-mid); line-height: 1.75; }

    .page-rgpd .axes{ padding: 100px 0; background: var(--off-white); position: relative; overflow: hidden; }
    .page-rgpd .axes::before{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background-image: linear-gradient(to right, rgba(92,122,66,0.06) 1px, transparent 1px), linear-gradient(to bottom, rgba(92,122,66,0.06) 1px, transparent 1px);
      background-size: 48px 48px;
    }
    .page-rgpd .axes-inner{ position: relative; z-index: 1; }
    .page-rgpd .axes-head{ max-width: 560px; margin-bottom: 56px; }
    .page-rgpd .axes-head p{ font-size: 17px; color: var(--ink-mid); margin-top: 12px; }
    .page-rgpd .axes-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
    .page-rgpd .axe-item{
      background: var(--white); border: 1px solid var(--border);
      border-radius: var(--radius); padding: 28px 24px;
      display: flex; flex-direction: column; gap: 10px;
      transition: var(--transition);
    }
    .page-rgpd .axe-item:hover{ border-color: var(--sage-border); box-shadow: var(--shadow-md); transform: translateY(-2px); }
    .page-rgpd .axe-num{ font-size: 11px; font-weight: 700; color: var(--sage); text-transform: uppercase; letter-spacing: 2px; }
    .page-rgpd .axe-item h4{ font-size: 15px; color: var(--navy); font-weight: 700; line-height: 1.3; }
    .page-rgpd .axe-item p{ font-size: 13px; color: var(--ink-soft); line-height: 1.6; }

    .page-rgpd .methode{ padding: 100px 0; background: var(--navy); position: relative; overflow: hidden; }
    .page-rgpd .methode::before{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
      background-size: 40px 40px;
      mask-image: radial-gradient(ellipse at 80% 50%, black, transparent 68%);
    }
    .page-rgpd .methode .container{ position: relative; z-index: 1; }
    .page-rgpd .methode-head{ max-width: 560px; margin-bottom: 56px; }
    .page-rgpd .methode-head .eyebrow{ color: var(--sage-border); }
    .page-rgpd .methode-head h2{ color: white; }
    .page-rgpd .methode-head p{ font-size: 17px; color: rgba(255,255,255,0.45); margin-top: 12px; }
    .page-rgpd .steps{ max-width: 100%; }
    .page-rgpd .step{
      display: flex; gap: 36px; align-items: flex-start;
      padding: 36px 0; border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .page-rgpd .step:first-child{ border-top: 1px solid rgba(255,255,255,0.07); }
    .page-rgpd .step-n{
      width: 52px; height: 52px; flex-shrink: 0;
      background: rgba(92,122,66,0.2); color: var(--sage-border);
      border: 1px solid rgba(92,122,66,0.35);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-weight: 800; font-size: 15px; margin-top: 3px;
    }
    .page-rgpd .step-body{ display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; flex: 1; }
    .page-rgpd .step-body h4{ font-family: var(--serif); font-size: 21px; color: white; font-weight: 400; margin-bottom: 8px; }
    .page-rgpd .step-body p{ font-size: 15px; color: rgba(255,255,255,0.45); line-height: 1.75; }
    .page-rgpd .step-timing{ font-size: 11px; font-weight: 700; color: var(--sage-border); text-transform: uppercase; letter-spacing: 1.5px; margin-top: 10px; display: inline-block; background: rgba(92,122,66,0.15); border: 1px solid rgba(92,122,66,0.3); padding: 3px 12px; border-radius: 50px; }

    .page-rgpd .livrables{ padding: 100px 0; background: var(--white); position: relative; overflow: hidden; }
    .page-rgpd .livrables::before{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background-image: linear-gradient(to right, rgba(92,122,66,0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(92,122,66,0.05) 1px, transparent 1px);
      background-size: 48px 48px;
    }
    .page-rgpd .livrables-inner{ position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
    .page-rgpd .livrables-text h2{ margin-bottom: 16px; }
    .page-rgpd .livrables-text p{ font-size: 17px; color: var(--ink-mid); line-height: 1.85; margin-bottom: 20px; }
    .page-rgpd .livrables-list{ display: flex; flex-direction: column; gap: 12px; }
    .page-rgpd .livrable-item{
      display: flex; align-items: flex-start; gap: 14px;
      padding: 18px 20px; background: var(--off-white);
      border: 1px solid var(--border); border-radius: 8px;
      transition: var(--transition);
    }
    .page-rgpd .livrable-item:hover{ border-color: var(--sage-border); background: var(--sage-bg); }
    .page-rgpd .livrable-check{ color: var(--sage); font-weight: 800; font-size: 16px; flex-shrink: 0; margin-top: 1px; }
    .page-rgpd .livrable-item span{ font-size: 15px; font-weight: 600; color: var(--navy); }

    .page-rgpd .temoignage{ background: var(--navy); padding: 80px 0; position: relative; overflow: hidden; }
    .page-rgpd .temoignage::before{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
      background-size: 40px 40px;
      mask-image: radial-gradient(ellipse at 70% 50%, black, transparent 65%);
    }
    .page-rgpd .temoignage .container{ position: relative; z-index: 1; }
    .page-rgpd .aside-quote{
      background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
      border-left: 4px solid var(--sage);
      border-radius: var(--radius); padding: 52px 56px;
      display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center;
    }
    .page-rgpd .aside-quote blockquote{ font-family: var(--serif); font-style: italic; font-size: 20px; color: rgba(255,255,255,0.85); line-height: 1.7; }
    .page-rgpd .aside-quote blockquote::before{ content: '"'; font-size: 56px; color: var(--sage); line-height: 0.6; display: block; margin-bottom: 14px; }
    .page-rgpd .aside-quote-meta{ text-align: right; min-width: 160px; }
    .page-rgpd .aside-quote cite{ font-style: normal; font-size: 13px; color: var(--sage-border); font-weight: 600; display: block; margin-bottom: 16px; line-height: 1.6; }
    .page-rgpd .result-pill{
      display: inline-block;
      background: rgba(92,122,66,0.2); border: 1px solid rgba(92,122,66,0.4);
      color: var(--sage-border); font-size: 11px; font-weight: 800;
      padding: 5px 14px; border-radius: 50px; text-transform: uppercase; letter-spacing: 1px;
    }

    .page-rgpd .cta-final{
      background: var(--navy); padding: 100px 0;
      position: relative; overflow: hidden; text-align: center;
    }
    .page-rgpd .cta-final::after{
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background: radial-gradient(ellipse at 50% 100%, rgba(92,122,66,0.15), transparent 60%);
    }
    .page-rgpd .cta-inner{ position: relative; z-index: 1; max-width: 600px; margin: 0 auto; }
    .page-rgpd .cta-eyebrow{ color: var(--sage-border); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: 3px; margin-bottom: 24px; display: block; }
    .page-rgpd .cta-final h2{ font-family: var(--serif); font-size: clamp(28px, 4vw, 44px); color: white; line-height: 1.15; font-weight: 400; margin-bottom: 20px; }
    .page-rgpd .cta-final p{ font-size: 18px; color: rgba(255,255,255,0.5); line-height: 1.75; margin-bottom: 44px; }
    .page-rgpd .btn-primary-sage{
      display: inline-flex; align-items: center; gap: 10px;
      background: var(--sage); color: white;
      padding: 18px 44px; border-radius: var(--radius);
      font-weight: 700; text-decoration: none; font-size: 17px;
      transition: var(--transition);
    }
    .page-rgpd .btn-primary-sage:hover{ background: var(--sage-bright); transform: translateY(-3px); box-shadow: 0 12px 28px rgba(92,122,66,0.35); }
    .page-rgpd .cta-note{ margin-top: 20px; font-size: 13px; color: rgba(255,255,255,0.3); }

    .page-rgpd footer{ background: #080d1a; color: white; padding: 36px 0 20px; }
    .page-rgpd .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.05); }
    .page-rgpd .eco-label{ background: rgba(92,122,66,0.15); color: var(--sage-border); padding: 6px 14px; border-radius: 50px; border: 1px solid rgba(92,122,66,0.3); font-size: 12px; }
    .page-rgpd .footer-copy{ padding-top: 18px; font-size: 12px; color: rgba(255,255,255,0.28); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }

    @media (max-width: 900px) {
      .page-rgpd .hero-layout{ grid-template-columns: 1fr; gap: 48px; }
      .page-rgpd .hero-text{ padding-bottom: 0; }
      .page-rgpd .form-float{ margin-bottom: 0; }
      .page-rgpd .hero + section{ padding-top: 80px !important; }
      .page-rgpd .axes-grid{ grid-template-columns: repeat(2, 1fr); }
      .page-rgpd .step-body{ grid-template-columns: 1fr; gap: 10px; }
      .page-rgpd .livrables-inner{ grid-template-columns: 1fr; gap: 48px; }
      .page-rgpd .aside-quote{ grid-template-columns: 1fr; gap: 28px; padding: 36px 28px; }
      .page-rgpd .aside-quote-meta{ text-align: left; }
    }
    @media (max-width: 600px) {
      .page-rgpd .container{ padding: 0 24px; }
      .page-rgpd .cards-grid{ grid-template-columns: 1fr; }
      .page-rgpd .axes-grid{ grid-template-columns: 1fr; }
      .page-rgpd .form-row{ grid-template-columns: 1fr; }
      .page-rgpd .hero-reassurance{ flex-wrap: wrap; gap: 16px; }
      .page-rgpd .reassure-item{ border-right: none; padding: 0; margin: 0; }
      .page-rgpd .nav-badge{ display: none; }
    }

/* Page Contact */
    .page-contact .hero{ background: var(--navy); color: white; padding: 130px 0 0; position: relative; overflow: visible; }
    .page-contact .grid-overlay{ position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,0.08) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.08) 1px, transparent 1px); background-size: 40px 40px; pointer-events: none; }
    .page-contact .hero::before{ content: ''; position: absolute; inset: 0; pointer-events: none; }
    .page-contact .hero-layout{ position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 500px; gap: 80px; align-items: end; }

    /* Colonne texte */
    .page-contact .hero-text{ padding-bottom: 80px; }
    .page-contact .breadcrumb{ font-size: 13px; color: rgba(255,255,255,0.28); margin-bottom: 36px; }
    .page-contact .breadcrumb a{ color: rgba(255,255,255,0.28); text-decoration: none; transition: var(--transition); }
    .page-contact .breadcrumb a:hover{ color: var(--sage-border); }
    .page-contact .breadcrumb span{ margin: 0 10px; }
    .page-contact .hero-eyebrow{ display: flex; align-items: center; gap: 12px; font-size: 11px; text-transform: uppercase; letter-spacing: 3px; color: var(--sage-border); margin-bottom: 28px; }
    .page-contact .hero-eyebrow-line{ width: 36px; height: 1px; background: var(--sage); }
    .page-contact .hero h1{ font-family: var(--serif); font-size: clamp(36px, 4.5vw, 56px); line-height: 1.08; font-weight: 400; margin-bottom: 28px; }
    .page-contact .hero h1 em{ color: rgba(255,255,255,0.32); font-style: italic; }
    .page-contact .hero-lead{ font-size: 18px; color: rgba(255,255,255,0.52); line-height: 1.8; max-width: 460px; margin-bottom: 52px; }

    /* Garanties */
    .page-contact .hero-garanties{ display: flex; gap: 0; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 36px; }
    .page-contact .garantie{ display: flex; align-items: center; gap: 8px; font-size: 13px; color: rgba(255,255,255,0.38); padding-right: 28px; margin-right: 28px; border-right: 1px solid rgba(255,255,255,0.08); }
    .page-contact .garantie:last-child{ border-right: none; padding-right: 0; margin-right: 0; }
    .page-contact .garantie-check{ color: var(--sage-border); font-size: 12px; flex-shrink: 0; }

    /* ── FORMULAIRE ── */
    .page-contact .hero-form-col{ position: relative; }
    .page-contact .form-float{ background: var(--white); border-radius: var(--radius); padding: 52px 48px 48px; box-shadow: var(--shadow-lg); margin-bottom: -120px; position: relative; }
    .page-contact .form-float::before{ content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--sage), var(--sage-border)); border-radius: var(--radius) var(--radius) 0 0; }
    .page-contact .form-header{ margin-bottom: 32px; padding-bottom: 28px; border-bottom: 1px solid var(--border); }
    .page-contact .form-header h3{ font-family: var(--serif); font-size: 22px; color: var(--navy); font-weight: 400; margin-bottom: 6px; }
    .page-contact .form-header p{ font-size: 13px; color: var(--ink-soft); }
    .page-contact .form-group{ margin-bottom: 18px; }
    .page-contact .form-group label{ display: block; font-size: 11px; font-weight: 700; color: var(--ink-soft); margin-bottom: 7px; text-transform: uppercase; letter-spacing: 1.2px; }
    .page-contact .form-group input, .page-contact .form-group select, .page-contact .form-group textarea{ width: 100%; padding: 12px 15px; border: 1px solid var(--border); border-radius: 8px; font-family: var(--sans); font-size: 15px; color: var(--ink); background: var(--off-white); outline: none; transition: var(--transition); appearance: none; }
    .page-contact .form-group input:focus, .page-contact .form-group select:focus, .page-contact .form-group textarea:focus{ border-color: var(--sage); background: var(--white); box-shadow: 0 0 0 3px rgba(92,122,66,0.08); }
    .page-contact .form-group textarea{ resize: vertical; min-height: 90px; }
    .page-contact .form-group select{ background-color: var(--off-white); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; }
    .page-contact .form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .page-contact .form-submit{ width: 100%; padding: 16px; background: var(--navy); color: white; border: none; border-radius: var(--radius); font-family: var(--sans); font-size: 15px; font-weight: 700; cursor: pointer; transition: var(--transition); margin-top: 6px; letter-spacing: 0.3px; }
    .page-contact .form-submit:hover{ background: var(--navy-ui); transform: translateY(-2px); box-shadow: 0 12px 28px rgba(15,35,73,0.25); }
    .page-contact .form-note{ font-size: 12px; color: var(--ink-soft); text-align: center; margin-top: 14px; line-height: 1.6; }

    /* ══════════════════════════════════════
       SECTION ANALYSE
    ══════════════════════════════════════ */
    .page-contact .analyse{ background: var(--white); padding-top: 180px; padding-bottom: 100px; position: relative; overflow: hidden; }
    .page-contact .analyse::before{ content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, rgba(92,122,66,0.045) 1px, transparent 1px), linear-gradient(to bottom, rgba(92,122,66,0.045) 1px, transparent 1px); background-size: 48px 48px; }
    .page-contact .analyse-inner{ position: relative; z-index: 1; max-width: 600px; }
    .page-contact .eyebrow{ color: var(--sage); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: 3px; margin-bottom: 20px; display: block; }
    .page-contact h2{ font-family: var(--serif); font-size: clamp(26px, 3.2vw, 38px); color: var(--navy); line-height: 1.15; margin-bottom: 24px; }
    .page-contact .analyse-inner > p{ font-size: 17px; color: var(--ink-mid); line-height: 1.85; margin-bottom: 52px; }

    /* Topics */
    .page-contact .topic-list{ border-top: 1px solid var(--border); }
    .page-contact .topic-row{ display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--border); transition: var(--transition); }
    .page-contact .topic-row:hover .topic-icon{ background: var(--sage-bg); border-color: var(--sage-border); }
    .page-contact .topic-icon{ width: 48px; height: 48px; border-radius: 10px; background: var(--off-white); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; transition: var(--transition); }
    .page-contact .topic-label{ font-size: 15px; font-weight: 600; color: var(--navy); }
    .page-contact .topic-tag{ font-size: 11px; font-weight: 700; color: var(--sage); background: var(--sage-bg); border: 1px solid var(--sage-border); padding: 5px 13px; border-radius: 50px; text-transform: uppercase; letter-spacing: 0.5px; white-space: nowrap; }

    /* ══════════════════════════════════════
       CONTACTS DIRECTS
    ══════════════════════════════════════ */
    .page-contact .contacts{ background: var(--navy); padding: 100px 0; position: relative; overflow: hidden; }
    .page-contact .contacts::before{ content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 40px 40px; mask-image: radial-gradient(ellipse at 75% 50%, black, transparent 65%); }
    .page-contact .contacts .container{ position: relative; z-index: 1; }
    .page-contact .contacts-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid rgba(255,255,255,0.07); border-radius: var(--radius); overflow: hidden; }
    .page-contact .contact-col{ padding: 56px 48px; border-right: 1px solid rgba(255,255,255,0.07); transition: var(--transition); }
    .page-contact .contact-col:last-child{ border-right: none; }
    .page-contact .contact-col:hover{ background: rgba(255,255,255,0.03); }
    .page-contact .contact-eyebrow{ font-size: 11px; font-weight: 700; color: var(--sage-border); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 28px; display: block; }
    .page-contact .contact-col h4{ font-family: var(--serif); font-size: 22px; color: white; font-weight: 400; margin-bottom: 14px; line-height: 1.25; }
    .page-contact .contact-col p{ font-size: 14px; color: rgba(255,255,255,0.35); line-height: 1.75; margin-bottom: 28px; }
    .page-contact .contact-link{ font-size: 15px; color: rgba(255,255,255,0.8); font-weight: 500; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.15); padding-bottom: 3px; transition: var(--transition); display: inline-block; }
    .page-contact .contact-link:hover{ color: var(--sage-border); border-bottom-color: var(--sage-border); }
    .page-contact .contact-static{ font-size: 15px; color: rgba(255,255,255,0.5); font-weight: 400; font-style: italic; }

    .page-contact .btn-footer{ display: inline-flex; align-items: center; background: var(--white); color: var(--navy); padding: 12px 22px; border-radius: var(--radius); font-weight: 700; text-decoration: none; font-size: 14px; transition: var(--transition); }
    .page-contact .btn-footer:hover{ transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,0.2); }

    /* ── RESPONSIVE ── */
    @media (max-width: 1020px) {
      .page-contact .hero-layout{ grid-template-columns: 1fr; gap: 60px; }
      .page-contact .form-float{ margin-bottom: 0; }
      .page-contact .hero-text{ padding-bottom: 0; }
      .page-contact .analyse{ padding-top: 80px; }
    }
    @media (max-width: 768px) {
      .page-contact .form-row{ grid-template-columns: 1fr; }
      .page-contact .form-float{ padding: 36px 28px; }
      .page-contact .hero-garanties{ flex-wrap: wrap; gap: 16px; }
      .page-contact .garantie{ border-right: none; padding-right: 0; margin-right: 0; }
      .page-contact .contacts-grid{ grid-template-columns: 1fr; }
      .page-contact .contact-col{ padding: 40px 28px; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.07); }
      .page-contact .contact-col:last-child{ border-bottom: none; }
    }

/* Page IA Responsable */
    .page-ia-responsable nav{ height: 72px; display: flex; align-items: center; }
    .page-ia-responsable .nav-row{ max-width: 1200px; margin: 0 auto; padding: 0 40px; display: flex; justify-content: space-between; align-items: center; width: 100%; }
    .page-ia-responsable .nav-back{ font-size: 13px; color: var(--ink-soft); text-decoration: none; display: flex; align-items: center; gap: 6px; transition: var(--transition); }
    .page-ia-responsable .nav-back:hover{ color: var(--navy); }

    /* ══════════════════════
       PAGE HEADER
    ══════════════════════ */
    .page-ia-responsable .page-header{ background: var(--navy); padding: 72px 0 64px; position: relative; overflow: hidden; }
    .page-ia-responsable .page-header::before{ content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, rgba(255,255,255,0.08) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.08) 1px, transparent 1px); background-size: 40px 40px; }
    .page-ia-responsable .page-header::after{ content: ''; position: absolute; inset: 0; pointer-events: none; }
    .page-ia-responsable .page-header-inner{ position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; padding: 0 40px; }
    .page-ia-responsable .breadcrumb{ font-size: 12px; color: rgba(255,255,255,0.3); margin-bottom: 24px; display: flex; align-items: center; gap: 8px; }
    .page-ia-responsable .breadcrumb a{ color: rgba(255,255,255,0.3); text-decoration: none; }
    .page-ia-responsable .breadcrumb a:hover{ color: var(--sage-border); }
    .page-ia-responsable .breadcrumb span{ opacity: 0.4; }
    .page-ia-responsable .page-header-badge{ display: inline-flex; align-items: center; gap: 8px; background: rgba(92,122,66,0.18); border: 1px solid rgba(92,122,66,0.4); color: var(--sage-border); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; padding: 5px 16px; border-radius: 50px; margin-bottom: 24px; }
    .page-ia-responsable .page-header h1{ font-family: var(--serif); font-size: clamp(28px, 3.5vw, 44px); color: white; font-weight: 400; line-height: 1.15; margin-bottom: 16px; }
    .page-ia-responsable .page-header-meta{ display: flex; align-items: center; gap: 32px; margin-top: 28px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.08); }
    .page-ia-responsable .meta-item{ font-size: 12px; color: rgba(255,255,255,0.35); }
    .page-ia-responsable .meta-item strong{ color: rgba(255,255,255,0.65); font-weight: 600; display: block; font-size: 13px; margin-bottom: 2px; }

    /* ══════════════════════
       LAYOUT PRINCIPAL
    ══════════════════════ */
    .page-ia-responsable .page-body{ max-width: 1200px; margin: 0 auto; padding: 72px 40px 100px; display: grid; grid-template-columns: 240px 1fr; gap: 80px; align-items: start; }

    /* Table des matières sticky */
    .page-ia-responsable .toc{ position: sticky; top: 96px; }
    .page-ia-responsable .toc-label{ font-size: 11px; font-weight: 700; color: var(--ink-soft); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 20px; display: block; }
    .page-ia-responsable .toc-list{ list-style: none; display: flex; flex-direction: column; gap: 2px; }
    .page-ia-responsable .toc-list a{ display: block; font-size: 13px; color: var(--ink-soft); text-decoration: none; padding: 7px 12px; border-radius: 6px; border-left: 2px solid transparent; transition: var(--transition); line-height: 1.4; }
    .page-ia-responsable .toc-list a:hover{ color: var(--navy); background: var(--off-white); border-left-color: var(--sage-border); }
    .page-ia-responsable .toc-list a.active{ color: var(--sage); background: var(--sage-bg); border-left-color: var(--sage); font-weight: 600; }
    .page-ia-responsable .toc-divider{ height: 1px; background: var(--border); margin: 12px 0; }
    .page-ia-responsable .toc-update{ font-size: 11px; color: var(--ink-soft); padding: 12px; background: var(--off-white); border-radius: 6px; margin-top: 20px; line-height: 1.6; }

    /* Contenu éditorial */
    .page-ia-responsable .content{ min-width: 0; }
    .page-ia-responsable .content-section{ margin-bottom: 64px; scroll-margin-top: 96px; }
    .page-ia-responsable .content-section:last-child{ margin-bottom: 0; }
    .page-ia-responsable .section-eyebrow{ font-size: 11px; font-weight: 700; color: var(--sage); text-transform: uppercase; letter-spacing: 2.5px; margin-bottom: 14px; display: block; }
    .page-ia-responsable .content-section h2{ font-family: var(--serif); font-size: clamp(22px, 2.5vw, 28px); color: var(--navy); font-weight: 400; line-height: 1.25; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--border); }
    .page-ia-responsable .content-section p{ font-size: 16px; color: var(--ink-mid); line-height: 1.85; margin-bottom: 16px; }
    .page-ia-responsable .content-section p:last-child{ margin-bottom: 0; }
    .page-ia-responsable .content-section strong{ color: var(--ink); font-weight: 600; }

    /* Encadrés */
    .page-ia-responsable .callout{ background: var(--sage-bg); border: 1px solid var(--sage-border); border-left: 4px solid var(--sage); border-radius: 0 var(--radius) var(--radius) 0; padding: 24px 28px; margin: 28px 0; }
    .page-ia-responsable .callout p{ font-size: 15px; color: var(--ink-mid); margin-bottom: 0; }
    .page-ia-responsable .callout strong{ color: var(--sage); }
    .page-ia-responsable .callout-navy{ background: var(--navy); border-radius: var(--radius); padding: 28px 32px; margin: 28px 0; }
    .page-ia-responsable .callout-navy p{ color: rgba(255,255,255,0.7); font-size: 15px; margin-bottom: 0; }
    .page-ia-responsable .callout-navy strong{ color: var(--sage-border); }

    /* Listes éditoriales */
    .page-ia-responsable .content-list{ list-style: none; margin: 20px 0; display: flex; flex-direction: column; gap: 10px; }
    .page-ia-responsable .content-list li{ font-size: 15px; color: var(--ink-mid); line-height: 1.7; padding-left: 20px; position: relative; }
    .page-ia-responsable .content-list li::before{ content: '→'; color: var(--sage); font-weight: 700; position: absolute; left: 0; top: 0; }

    /* Grille usage oui/non */
    .page-ia-responsable .usage-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 28px 0; }
    .page-ia-responsable .usage-col{ border-radius: var(--radius); padding: 28px; }
    .page-ia-responsable .usage-col.oui{ background: var(--sage-bg); border: 1px solid var(--sage-border); }
    .page-ia-responsable .usage-col.non{ background: var(--off-white); border: 1px solid var(--border); }
    .page-ia-responsable .usage-col h4{ font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 16px; }
    .page-ia-responsable .usage-col.oui h4{ color: var(--sage); }
    .page-ia-responsable .usage-col.non h4{ color: var(--ink-soft); }
    .page-ia-responsable .usage-items{ display: flex; flex-direction: column; gap: 8px; }
    .page-ia-responsable .usage-item{ font-size: 14px; color: var(--ink-mid); display: flex; align-items: flex-start; gap: 8px; line-height: 1.6; }
    .page-ia-responsable .usage-item.oui::before{ content: '✓'; color: var(--sage); font-weight: 800; flex-shrink: 0; }
    .page-ia-responsable .usage-item.non::before{ content: '✕'; color: var(--ink-soft); font-weight: 800; flex-shrink: 0; }

    /* Tableau principes AI Act */
    .page-ia-responsable .principles-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 28px 0; }
    .page-ia-responsable .principle-item{ background: var(--off-white); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; transition: var(--transition); }
    .page-ia-responsable .principle-item:hover{ border-color: var(--sage-border); background: var(--sage-bg); }
    .page-ia-responsable .principle-num{ font-size: 11px; font-weight: 700; color: var(--sage); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 8px; display: block; }
    .page-ia-responsable .principle-item h4{ font-size: 15px; color: var(--navy); font-weight: 700; margin-bottom: 8px; }
    .page-ia-responsable .principle-item p{ font-size: 13px; color: var(--ink-soft); line-height: 1.65; margin: 0; }

    .page-ia-responsable .contact-encart{ background: var(--navy); border-radius: var(--radius); padding: 36px 40px; margin-top: 48px; display: flex; justify-content: space-between; align-items: center; gap: 32px; }
    .page-ia-responsable .contact-encart div p{ color: rgba(255,255,255,0.5); font-size: 14px; margin-bottom: 4px; }
    .page-ia-responsable .contact-encart div strong{ color: white; font-size: 16px; display: block; }
    .page-ia-responsable .btn-contact{ display: inline-flex; align-items: center; gap: 8px; background: var(--sage); color: white; padding: 12px 24px; border-radius: var(--radius); font-weight: 700; text-decoration: none; font-size: 14px; transition: var(--transition); white-space: nowrap; flex-shrink: 0; }
    .page-ia-responsable .btn-contact:hover{ background: #4a6434; transform: translateY(-1px); }

    /* ── FOOTER (Spécifique page document) ── */
    .page-ia-responsable footer{ padding: 36px 0 20px; }
    .page-ia-responsable .footer-inner{ max-width: 1200px; margin: 0 auto; padding: 0 40px; }
    .page-ia-responsable .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.05); }
    .page-ia-responsable .footer-legal{ display: flex; gap: 24px; }
    .page-ia-responsable .footer-legal a{ font-size: 12px; color: rgba(255,255,255,0.3); text-decoration: none; }
    .page-ia-responsable .footer-legal a:hover{ color: rgba(255,255,255,0.6); }
    .page-ia-responsable .footer-copy{ padding-top: 18px; font-size: 12px; color: rgba(255,255,255,0.28); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }

    /* ── RESPONSIVE ── */
    @media (max-width: 900px) {
      .page-ia-responsable .page-body{ grid-template-columns: 1fr; gap: 48px; }
      .page-ia-responsable .toc{ position: static; }
      .page-ia-responsable .usage-grid{ grid-template-columns: 1fr; }
      .page-ia-responsable .principles-grid{ grid-template-columns: 1fr; }
      .page-ia-responsable .contact-encart{ flex-direction: column; align-items: flex-start; }
    }
    @media (max-width: 600px) {
      .page-ia-responsable .page-header-inner, .page-ia-responsable .nav-row, .page-ia-responsable .footer-inner{ padding: 0 24px; }
      .page-ia-responsable .page-body{ padding: 48px 24px 80px; }
      .page-ia-responsable .page-header-meta{ flex-wrap: wrap; gap: 16px; }
    }

/* Pages Legales */
    .page-legal .data-table{ width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 14px; }
    .page-legal .data-table thead tr{ background: var(--navy); color: white; }
    .page-legal .data-table thead th{ padding: 14px 18px; text-align: left; font-weight: 600; font-size: 13px; }
    .page-legal .data-table tbody tr{ border-bottom: 1px solid var(--border); }
    .page-legal .data-table tbody tr:nth-child(even){ background: var(--off-white); }
    .page-legal .data-table tbody tr:hover{ background: var(--sage-bg); }
    .page-legal .data-table td{ padding: 14px 18px; color: var(--ink-mid); vertical-align: top; line-height: 1.65; }
    .page-legal .data-table td:first-child{ font-weight: 600; color: var(--ink); white-space: nowrap; }

    .page-legal .identity-block{ background: var(--off-white); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; margin: 24px 0; }
    .page-legal .identity-row{ display: grid; grid-template-columns: 200px 1fr; border-bottom: 1px solid var(--border); }
    .page-legal .identity-row:last-child{ border-bottom: none; }
    .page-legal .identity-label{ padding: 14px 20px; font-size: 13px; font-weight: 700; color: var(--ink-soft); background: var(--white); border-right: 1px solid var(--border); }
    .page-legal .identity-value{ padding: 14px 20px; font-size: 14px; color: var(--ink-mid); line-height: 1.65; }
    .page-legal .identity-value a{ color: var(--sage); text-decoration: none; }
    .page-legal .identity-value a:hover{ text-decoration: underline; }

    .page-legal .droits-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 24px 0; }
    .page-legal .droit-item{ background: var(--off-white); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px 22px; transition: var(--transition); }
    .page-legal .droit-item:hover{ border-color: var(--sage-border); background: var(--sage-bg); }
    .page-legal .droit-item h4{ font-size: 14px; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
    .page-legal .droit-item p{ font-size: 13px; color: var(--ink-soft); line-height: 1.6; margin: 0; }

    .page-legal .legal-inline-link{ color: var(--sage); text-decoration: none; }
    .page-legal .legal-inline-link:hover{ text-decoration: underline; }
    .page-legal .legal-inline-light{ color: var(--sage-border); text-decoration: none; }
    .page-legal .legal-inline-light:hover{ text-decoration: underline; }
    .page-legal .legal-top-gap-sm{ margin-top: 24px; }
    .page-legal .legal-top-gap-md{ margin-top: 28px; }

    @media (max-width: 900px) {
      .page-legal .droits-grid{ grid-template-columns: 1fr; }
      .page-legal .identity-row{ grid-template-columns: 1fr; }
      .page-legal .identity-label{ border-right: none; border-bottom: 1px solid var(--border); }
      .page-legal .data-table{ display: block; overflow-x: auto; }
    }

/* Page A Propos */
    .page-apropos .container--narrow{ max-width: 720px; margin: 0 auto; padding: 0 40px; }

    /* ── HERO ── */
    .page-apropos .hero{ background: var(--navy); color: white; padding: 120px 0 110px; position: relative; overflow: hidden; }
    .page-apropos .grid-overlay{ position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,0.08) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.08) 1px, transparent 1px); background-size: 40px 40px; pointer-events: none; }
    .page-apropos .hero::after{ content: ''; position: absolute; inset: 0; pointer-events: none; }
    .page-apropos .hero-content{ position: relative; z-index: 2; max-width: 760px; }
    .page-apropos .breadcrumb{ font-size: 13px; color: rgba(255,255,255,0.3); margin-bottom: 32px; }
    .page-apropos .breadcrumb a{ color: rgba(255,255,255,0.3); text-decoration: none; }
    .page-apropos .breadcrumb a:hover{ color: var(--sage-border); }
    .page-apropos .breadcrumb span{ margin: 0 10px; }
    .page-apropos .hero-eyebrow{ display: flex; align-items: center; gap: 12px; font-size: 12px; text-transform: uppercase; letter-spacing: 2px; color: var(--sage-border); margin-bottom: 28px; }
    .page-apropos .hero-eyebrow-line{ width: 36px; height: 1px; background: var(--sage); }
    .page-apropos .hero h1{ font-family: var(--serif); font-size: clamp(36px, 5vw, 58px); line-height: 1.1; font-weight: 400; margin-bottom: 28px; }
    .page-apropos .hero h1 em{ color: rgba(255,255,255,0.4); font-style: italic; }
    .page-apropos .hero-lead{ font-size: 19px; color: rgba(255,255,255,0.6); line-height: 1.75; margin-bottom: 56px; max-width: 620px; }
    
    /* Stats hero */
    .page-apropos .hero-stats{ display: flex; gap: 48px; padding-top: 40px; border-top: 1px solid rgba(255,255,255,0.08); }
    .page-apropos .stat-item strong{ display: block; font-family: var(--serif); font-size: 36px; color: white; line-height: 1; margin-bottom: 6px; font-weight: 400; }
    .page-apropos .stat-item span{ font-size: 13px; color: rgba(255,255,255,0.4); text-transform: uppercase; letter-spacing: 1px; }

    /* ── MISSION ── */
    .page-apropos .mission{ padding: 110px 0; position: relative; overflow: hidden; }
    .page-apropos .mission::before{ content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, rgba(92,122,66,0.06) 1px, transparent 1px), linear-gradient(to bottom, rgba(92,122,66,0.06) 1px, transparent 1px); background-size: 48px 48px; }
    .page-apropos .mission-inner{ position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: start; }
    .page-apropos .eyebrow{ color: var(--sage); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 20px; display: block; }
    .page-apropos h2{ font-family: var(--serif); font-size: clamp(26px, 3.5vw, 38px); color: var(--navy); line-height: 1.2; margin-bottom: 24px; }
    .page-apropos .mission-text p{ font-size: 17px; color: var(--ink-mid); line-height: 1.85; margin-bottom: 24px; }
    .page-apropos .mission-text p:last-child{ margin-bottom: 0; }
    .page-apropos .mission-aside{ background: var(--navy); color: white; padding: 44px; border-radius: var(--radius); border-left: 4px solid var(--sage); position: sticky; top: 100px; }
    .page-apropos .mission-aside .aside-label{ font-size: 11px; text-transform: uppercase; letter-spacing: 2px; color: var(--sage-border); font-weight: 700; margin-bottom: 20px; display: block; }
    .page-apropos .mission-aside blockquote{ font-family: var(--serif); font-style: italic; font-size: 20px; color: rgba(255,255,255,0.85); line-height: 1.7; margin-bottom: 24px; }
    .page-apropos .mission-aside blockquote::before{ content: '"'; font-size: 52px; color: var(--sage); line-height: 0.6; display: block; margin-bottom: 14px; }
    .page-apropos .mission-aside cite{ font-style: normal; font-size: 13px; color: var(--sage-border); font-weight: 600; }

    /* ── ÉQUIPE ── */
    .page-apropos .equipe{ background: var(--off-white); padding: 110px 0; }
    .page-apropos .equipe-head{ margin-bottom: 70px; }
    .page-apropos .equipe-head h2{ margin-bottom: 12px; }
    .page-apropos .equipe-head p{ font-size: 17px; color: var(--ink-mid); max-width: 560px; }
    .page-apropos .equipe-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
    .page-apropos .membre-card{ background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); padding: 40px 36px; display: flex; flex-direction: column; gap: 20px; transition: var(--transition); }
    .page-apropos .membre-card:hover{ border-color: var(--sage-border); box-shadow: var(--shadow-md); transform: translateY(-3px); }
    .page-apropos .membre-avatar{ 
  width: 80px; /* On l'agrandit un peu pour la visibilité */
  height: 80px; 
  border-radius: 50%; 
  background: var(--navy); 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  border: 3px solid var(--sage-bg); 
  flex-shrink: 0; 
  overflow: hidden; /* Important pour que l'image ne dépasse pas du rond */
  padding: 0; /* On enlève le padding pour que l'image remplisse le rond */
}

.page-apropos .membre-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover; /* Important : recadre l'image sans la déformer */
  display: block;
}
    .page-apropos .membre-info h4{ font-size: 18px; color: var(--navy); font-weight: 700; margin-bottom: 4px; }
    .page-apropos .membre-role{ font-size: 13px; color: var(--sage); font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }
    .page-apropos .membre-card p{ font-size: 15px; color: var(--ink-mid); line-height: 1.75; flex-grow: 1; }
    .page-apropos .membre-tags{ display: flex; flex-wrap: wrap; gap: 8px; }
    .page-apropos .tag-item{ font-size: 11px; font-weight: 700; color: var(--navy); background: var(--sage-bg); border: 1px solid var(--sage-border); padding: 4px 12px; border-radius: 50px; text-transform: uppercase; letter-spacing: 0.5px; }

    /* ── VALEURS ── */
    .page-apropos .valeurs{ padding: 110px 0; position: relative; overflow: hidden; }
    .page-apropos .valeurs-head{ margin-bottom: 70px; }
    .page-apropos .valeurs-head h2{ margin-bottom: 12px; }
    .page-apropos .valeurs-head p{ font-size: 17px; color: var(--ink-mid); max-width: 560px; }
    .page-apropos .valeurs-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .page-apropos .valeur-card{ background: var(--white); border: 1px solid var(--border); border-top: 3px solid var(--sage); border-radius: var(--radius); padding: 44px 40px; display: flex; flex-direction: column; gap: 16px; transition: var(--transition); }
    .page-apropos .valeur-card:hover{ border-color: var(--sage-border); border-top-color: var(--sage); box-shadow: var(--shadow-md); transform: translateY(-3px); }
    .page-apropos .valeur-icon{ font-size: 32px; }
    .page-apropos .valeur-card h4{ font-family: var(--serif); font-size: 20px; color: var(--navy); line-height: 1.3; font-weight: 400; }
    .page-apropos .valeur-card p{ font-size: 15px; color: var(--ink-mid); line-height: 1.75; }

    /* ── CERTIFICATIONS ── */
    .page-apropos .certifs{ background: var(--navy); padding: 90px 0; position: relative; overflow: hidden; }
    .page-apropos .certifs::before{ content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px); background-size: 40px 40px; mask-image: radial-gradient(circle at 80% 50%, black, transparent 70%); }
    .page-apropos .certifs .container{ position: relative; z-index: 1; }
    .page-apropos .certifs-head{ margin-bottom: 60px; }
    .page-apropos .certifs-head .eyebrow{ color: var(--sage-border); }
    .page-apropos .certifs-head h2{ color: white; }
    .page-apropos .certifs-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
    .page-apropos .certif-card{ background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius); padding: 32px 28px; text-align: center; transition: var(--transition); }
    .page-apropos .certif-card:hover{ background: rgba(255,255,255,0.08); border-color: rgba(92,122,66,0.4); }
    .page-apropos .certif-badge{ font-size: 36px; margin-bottom: 16px; }
    .page-apropos .certif-card h4{ font-size: 16px; color: white; font-weight: 700; margin-bottom: 8px; line-height: 1.3; }
    .page-apropos .certif-card p{ font-size: 13px; color: rgba(255,255,255,0.45); line-height: 1.6; }
    .page-apropos .certif-highlight{ border-color: rgba(92,122,66,0.5); background: rgba(92,122,66,0.1); }
    .page-apropos .certif-highlight h4{ color: var(--sage-border); }

    /* ── CTA ── */
    .page-apropos .cta-final{ background: var(--white); padding: 110px 0; border-top: 1px solid var(--border); }
    .page-apropos .cta-inner-light{ max-width: 640px; }
    .page-apropos .cta-eyebrow-dark{ color: var(--sage); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 24px; display: block; }
    .page-apropos .cta-inner-light h2{ font-family: var(--serif); font-size: clamp(28px, 4vw, 42px); color: var(--navy); line-height: 1.15; font-weight: 400; margin-bottom: 20px; }
    .page-apropos .cta-inner-light p{ font-size: 18px; color: var(--ink-mid); line-height: 1.75; margin-bottom: 40px; }
    .page-apropos .btn-primary-dark{ display: inline-flex; align-items: center; gap: 10px; background: var(--navy); color: white; padding: 17px 36px; border-radius: var(--radius); font-weight: 700; text-decoration: none; transition: var(--transition); font-size: 15px; }
    .page-apropos .btn-primary-dark:hover{ background: var(--navy-ui); transform: translateY(-2px); box-shadow: 0 12px 28px rgba(15,35,73,0.2); }
    .page-apropos .btn-ghost-dark{ display: inline-flex; align-items: center; gap: 10px; border: 1px solid var(--border); color: var(--ink-mid); padding: 15px 28px; border-radius: var(--radius); font-weight: 600; text-decoration: none; transition: var(--transition); font-size: 15px; }
    .page-apropos .btn-ghost-dark:hover{ border-color: var(--navy); color: var(--navy); }
    .page-apropos .cta-buttons{ display: flex; gap: 14px; flex-wrap: wrap; }

    @media (max-width: 900px) {
      .page-apropos .mission-inner{ grid-template-columns: 1fr; gap: 48px; }
      .page-apropos .mission-aside{ position: static; }
      .page-apropos .equipe-grid{ grid-template-columns: 1fr; }
      .page-apropos .valeurs-grid{ grid-template-columns: 1fr; }
      .page-apropos .certifs-grid{ grid-template-columns: repeat(2, 1fr); }
      .page-apropos .hero-stats{ flex-wrap: wrap; gap: 28px; }
      .page-apropos .cta-buttons{ flex-direction: column; }
    }

/* FAQ Section */
.faq-section { 
  padding: 100px 0; 
  background: var(--off-white); 
}

/* Correction du cadrage et de la taille du titre */
.faq-section .section-head.center { 
  text-align: center; 
  margin: 0 auto 60px; /* Centrage horizontal du bloc */
  max-width: 800px; 
}

.faq-section .eyebrow { 
  font-size: 14px; /* Titre FAQ plus grand */
  letter-spacing: 4px; 
  margin-bottom: 20px;
}

.faq-accordion { 
  max-width: 850px; 
  margin: 0 auto; 
}

.faq-item { 
  background: var(--white); 
  border: 1px solid var(--border); 
  border-radius: var(--radius); 
  margin-bottom: 12px; 
  transition: var(--transition);
}

.faq-item[open] { 
  border-color: var(--sage-border); 
  box-shadow: var(--shadow-md); 
}

.faq-item summary { 
  padding: 24px 32px; 
  cursor: pointer; 
  list-style: none; 
  display: flex; 
  justify-content: space-between; 
  align-items: center;
}

.faq-item summary h3 { 
  font-family: var(--serif); 
  font-size: 20px; 
  color: var(--navy); 
  margin: 0; 
  font-weight: 400;
}

.faq-item summary::after {
  content: '+';
  font-size: 22px;
  color: var(--sage);
  transition: transform 0.3s;
}

.faq-item[open] summary::after { 
  transform: rotate(45deg); 
  color: var(--sage-bright);
}

.faq-content { 
  padding: 0 32px 32px; 
  border-top: 1px solid var(--off-white);
}

.faq-content p { 
  font-size: 16px; 
  color: var(--ink-mid); 
  line-height: 1.8; 
  margin-top: 16px;
}

/* Pages Offres */
    .page-offre .container--narrow{ max-width: 680px; margin: 0 auto; padding: 0 40px; }

    /* ── HERO ── */
    .page-offre .hero{ background: var(--navy); color: white; padding: 120px 0 110px; position: relative; overflow: hidden; }
    .page-offre .grid-overlay{ position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,0.08) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.08) 1px, transparent 1px); background-size: 40px 40px; pointer-events: none; }
    .page-offre .hero::after{ content: ''; position: absolute; inset: 0; pointer-events: none; }
    .page-offre .hero-content{ position: relative; z-index: 2; max-width: 680px; }
    .page-offre .breadcrumb{ font-size: 13px; color: rgba(255,255,255,0.3); margin-bottom: 32px; }
    .page-offre .breadcrumb a{ color: rgba(255,255,255,0.3); text-decoration: none; transition: var(--transition); }
    .page-offre .breadcrumb a:hover{ color: var(--sage-border); }
    .page-offre .breadcrumb span{ margin: 0 10px; }
    .page-offre .hero-eyebrow{ display: flex; align-items: center; gap: 12px; font-size: 12px; text-transform: uppercase; letter-spacing: 2px; color: var(--sage-border); margin-bottom: 28px; }
    .page-offre .hero-eyebrow-line{ width: 36px; height: 1px; background: var(--sage); }
    .page-offre .hero h1{ font-family: var(--serif); font-size: clamp(36px, 5vw, 60px); line-height: 1.1; font-weight: 400; margin-bottom: 28px; }
    .page-offre .hero h1 em{ color: rgba(255,255,255,0.4); font-style: italic; }
    .page-offre .hero-lead{ font-size: 19px; color: rgba(255,255,255,0.6); line-height: 1.75; margin-bottom: 48px; }
    .page-offre .hero-meta{ display: flex; gap: 40px; padding-top: 40px; border-top: 1px solid rgba(255,255,255,0.08); margin-bottom: 48px; }
    .page-offre .hero-meta-label{ font-size: 11px; text-transform: uppercase; letter-spacing: 2px; color: rgba(255,255,255,0.35); font-weight: 600; display: block; margin-bottom: 6px; }
    .page-offre .hero-meta-value{ font-family: var(--serif); font-size: 22px; color: white; }
    .page-offre .hero-cta-group{ display: flex; gap: 14px; }
    .page-offre .btn-primary{ display: inline-flex; align-items: center; gap: 10px; background: var(--white); color: var(--navy); padding: 17px 36px; border-radius: var(--radius); font-weight: 700; text-decoration: none; transition: var(--transition); font-size: 15px; }
    .page-offre .btn-primary:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,0.2); }
    .page-offre .btn-ghost-white{ display: inline-flex; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,0.2); color: rgba(255,255,255,0.75); padding: 15px 28px; border-radius: var(--radius); font-weight: 600; text-decoration: none; transition: var(--transition); font-size: 15px; }
    .page-offre .btn-ghost-white:hover{ border-color: rgba(255,255,255,0.5); color: white; background: rgba(255,255,255,0.06); }

    /* ── ACCROCHE ── */
    .page-offre .accroche{ padding: 110px 0; position: relative; overflow: hidden; }
    .page-offre .accroche::before{ content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, rgba(92,122,66,0.06) 1px, transparent 1px), linear-gradient(to bottom, rgba(92,122,66,0.06) 1px, transparent 1px); background-size: 48px 48px; }
    .page-offre .accroche-inner{ position: relative; z-index: 1; }
    .page-offre .accroche-head{ max-width: 600px; margin-bottom: 60px; }
    .page-offre .eyebrow{ color: var(--sage); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 20px; display: block; }
    .page-offre h2{ font-family: var(--serif); font-size: clamp(26px, 3.5vw, 38px); color: var(--navy); line-height: 1.2; margin-bottom: 24px; }

    /* 3 cartes Pourquoi */
    .page-offre .pourquoi-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 48px; }
    .page-offre .pourquoi-card{ padding: 40px 36px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); transition: var(--transition); }
    .page-offre .pourquoi-card:hover{ border-color: var(--sage-border); box-shadow: var(--shadow-md); }
    .page-offre .pourquoi-num{ 
  font-family: var(--serif); 
  font-size: 42px;           /* Taille uniformisée avec l'index */
  color: var(--sage-bright);  /* Le vert lumineux demandé */
  line-height: 1; 
  margin-bottom: 16px; 
  font-weight: 400; 
  display: block;            /* Assure l'affichage au-dessus du texte */
}
    .page-offre .pourquoi-card h4{ font-size: 17px; color: var(--navy); font-weight: 700; margin-bottom: 12px; line-height: 1.3; }
    .page-offre .pourquoi-card p{ font-size: 15px; color: var(--ink-mid); line-height: 1.75; }

    /* Citation pleine largeur sous les cards */
    .page-offre .aside-quote{ background: var(--navy); color: white; padding: 44px 52px; border-radius: var(--radius); border-left: 4px solid var(--sage); display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
    .page-offre .stat-aside{ border-left: 4px solid var(--sage); padding-left: 32px; margin-top: 40px; background: var(--sage-bg); padding: 28px 28px 28px 32px; border-radius: 0 var(--radius) var(--radius) 0; }
    .page-offre .stat-aside strong{ display: block; font-family: var(--serif); font-size: 60px; color: var(--navy); line-height: 1; margin-bottom: 10px; font-weight: 400; }
    .page-offre .stat-aside span{ font-size: 15px; color: var(--ink-mid); line-height: 1.6; }
    .page-offre .aside-quote blockquote{ font-family: var(--serif); font-style: italic; font-size: 19px; color: rgba(255,255,255,0.85); line-height: 1.7; }
    .page-offre .aside-quote blockquote::before{ content: '"'; font-size: 52px; color: var(--sage); line-height: 0.6; display: block; margin-bottom: 14px; }
    .page-offre .aside-quote cite{ font-style: normal; font-size: 13px; color: var(--sage-border); font-weight: 600; white-space: nowrap; }

    /* ── LIVRABLES ── */
    .page-offre .livrables{ background: var(--off-white); padding: 110px 0; position: relative; overflow: hidden; }
    .page-offre .livrables-head{ margin-bottom: 70px; }
    .page-offre .livrables-head h2{ margin-bottom: 12px; }
    .page-offre .livrables-head p{ font-size: 17px; color: var(--ink-mid); }

    /* 3 piliers en grille */
    .page-offre .piliers-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .page-offre .pilier-card{ background: var(--white); border: 1px solid var(--border); border-top: 3px solid var(--sage); border-radius: var(--radius); padding: 44px 40px; display: flex; flex-direction: column; gap: 16px; transition: var(--transition); }
    .page-offre .pilier-card:hover{ border-color: var(--sage-border); border-top-color: var(--sage); box-shadow: var(--shadow-md); transform: translateY(-3px); }
    .page-offre .pilier-icon{ font-size: 32px; }
    .page-offre .pilier-card h4{ font-family: var(--serif); font-size: 20px; color: var(--navy); line-height: 1.3; font-weight: 400; }
    .page-offre .pilier-card p{ font-size: 15px; color: var(--ink-mid); line-height: 1.75; flex-grow: 1; }
    .page-offre .pilier-list{ list-style: none; border-top: 1px solid var(--border); padding-top: 20px; display: flex; flex-direction: column; gap: 10px; }
    .page-offre .pilier-list li{ font-size: 13px; font-weight: 700; color: var(--navy); display: flex; align-items: baseline; gap: 10px; }
    .page-offre .pilier-list li::before{ content: "→"; color: var(--sage); flex-shrink: 0; font-weight: 700; }

    .page-offre .livrables-bandeau{ margin-top: 48px; background: var(--sage-bg); border-left: 4px solid var(--sage); border-radius: 0 var(--radius) var(--radius) 0; padding: 36px 52px; display: grid; grid-template-columns: auto 1fr; gap: 48px; align-items: center; }
    .page-offre .livrables-bandeau strong{ font-family: var(--serif); font-size: 20px; color: var(--navy); white-space: nowrap; }
    .page-offre .livrables-bandeau .pilier-list{ border-top: none; padding-top: 0; flex-direction: row; flex-wrap: wrap; gap: 8px 32px; }

    /* ── MÉTHODE ── */
    .page-offre .methode{ padding: 110px 0; background: var(--navy); color: white; position: relative; overflow: hidden; }
    .page-offre .methode::before{ content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px); background-size: 40px 40px; mask-image: radial-gradient(circle at 80% 50%, black, transparent 70%); }
    .page-offre .methode .container{ position: relative; z-index: 1; }
    .page-offre .methode-head{ margin-bottom: 70px; max-width: 560px; }
    .page-offre .methode-head .eyebrow{ color: var(--sage-border); }
    .page-offre .methode-head h2{ color: white; }
    .page-offre .methode-head p{ font-size: 17px; color: rgba(255,255,255,0.55); line-height: 1.8; margin-top: 16px; }
    .page-offre .timeline{ display: flex; flex-direction: column; }
    .page-offre .tl-step{ display: grid; grid-template-columns: 52px 1fr; gap: 36px; padding: 44px 0; border-top: 1px solid rgba(255,255,255,0.08); align-items: start; }
    .page-offre .tl-step:last-child{ border-bottom: 1px solid rgba(255,255,255,0.08); }
    .page-offre .tl-n{ width: 44px; height: 44px; background: rgba(92,122,66,0.2); color: var(--sage-border); border: 1px solid rgba(92,122,66,0.3); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; flex-shrink: 0; margin-top: 2px; }
    .page-offre .tl-content{ display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
    .page-offre .tl-content h4{ font-size: 18px; color: white; font-weight: 700; margin-bottom: 0; }
    .page-offre .tl-content p{ font-size: 15px; color: rgba(255,255,255,0.55); line-height: 1.75; }
    .page-offre .tl-timing{ font-size: 12px; font-weight: 700; color: var(--sage-border); text-transform: uppercase; letter-spacing: 1px; margin-top: 8px; display: block; }

    /* ── CTA ── */
    .page-offre .cta-final{ background: var(--navy); color: white; padding: 120px 0; position: relative; overflow: hidden; }
    .page-offre .cta-final::before{ content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 40px 40px; mask-image: radial-gradient(circle at 50% 50%, black, transparent 80%); }
    .page-offre .cta-inner{ position: relative; z-index: 2; max-width: 580px; }
    .page-offre .cta-eyebrow{ color: var(--sage-border); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 24px; display: block; }
    .page-offre .cta-inner h2{ font-family: var(--serif); font-size: clamp(28px, 4vw, 44px); color: white; line-height: 1.15; font-weight: 400; margin-bottom: 24px; }
    .page-offre .cta-inner p{ font-size: 18px; color: rgba(255,255,255,0.55); line-height: 1.75; margin-bottom: 48px; }
    .page-offre .cta-buttons{ display: flex; gap: 14px; flex-wrap: wrap; }
    .page-offre .cta-note{ margin-top: 24px; font-size: 13px; color: rgba(255,255,255,0.3); }

    @media (max-width: 900px) {
      .page-offre .pourquoi-grid{ grid-template-columns: 1fr; }
      .page-offre .aside-quote{ grid-template-columns: 1fr; gap: 20px; padding: 36px; }
      .page-offre .aside-quote cite{ white-space: normal; }
      .page-offre .piliers-grid{ grid-template-columns: 1fr; }
      .page-offre .livrables-bandeau{ grid-template-columns: 1fr; gap: 20px; padding: 28px 32px; }
      .page-offre .livrables-bandeau strong{ white-space: normal; }
      .page-offre .livrables-bandeau .pilier-list{ flex-direction: column; }
      .page-offre .tl-content{ grid-template-columns: 1fr; gap: 12px; }
      .page-offre .hero-meta{ flex-wrap: wrap; gap: 24px; }
    }

/* Utilitaires issus des styles inline */
#menu-toggle { display: none; background: none; border: none; font-size: 28px; cursor: pointer; color: var(--navy); padding: 10px; }
.u-hidden { display: none; }
.btn-primary-sage-lg { font-size: 17px; padding: 18px 44px; }
.btn-compact { font-size: 14px; padding: 12px 22px; }
.btn-compact-wide { padding: 12px 24px; font-size: 14px; }
.cta-note-link { color: inherit; text-decoration: none; white-space: nowrap; }
.nowrap { white-space: nowrap; }

.form-success { text-align: center; padding: 40px 0; }
.form-success-icon { font-size: 40px; }
.form-success-title { font-family: var(--serif); color: var(--navy); margin-top: 20px; }
.form-success-text { color: var(--ink-soft); }
.form-submit:disabled { opacity: 0.72; cursor: progress; transform: none !important; box-shadow: none !important; }

.expertises-section { background: var(--off-white); padding: 80px 0; }
.expertises-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
.expertise-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); padding: 36px; border-top: 3px solid var(--sage); }
.expertise-icon { font-size: 32px; margin-bottom: 16px; }
.expertise-title { font-size: 18px; color: var(--navy); margin-bottom: 10px; }
.expertise-text { font-size: 14px; color: var(--ink-mid); }
.eyebrow-light { color: var(--sage-border); }
.eyebrow-gap { margin-bottom: 30px; }

.ia-inline-mail { color: var(--sage); text-decoration: none; font-weight: 700; }
.contact-encart-contact-line { margin-top: 8px; }
.contact-encart-link { color: inherit; text-decoration: none; }

/* ==========================================================================
   BLOG / RESSOURCES
   ========================================================================== */

body.page-blog-hub,
body.page-blog-article {
  --cat-rse: #5C7A42;
  --cat-rse-bg: #EFF4E8;
  --cat-rgpd: #1A5276;
  --cat-rgpd-bg: #EAF2FB;
  --cat-si: #6C3483;
  --cat-si-bg: #F5EEF8;
  --cat-greenit: #117A65;
  --cat-greenit-bg: #E8F8F5;
  --cat-strategie: #7D6608;
  --cat-strategie-bg: #FEF9E7;
  -webkit-font-smoothing: antialiased;
}

body.page-blog-hub {
  font-size: 16px;
  line-height: 1.7;
}

body.page-blog-article {
  font-size: 17px;
  line-height: 1.8;
}

.page-blog-hub .blog-hero .container,
.page-blog-hub .blog-body .container,
.page-blog-article .article-hero .container,
.page-blog-article .article-body .container,
.page-blog-article .related .container,
.page-blog-article .article-cta .container {
  max-width: 1120px;
}

.page-blog-hub .blog-hero,
.page-blog-article .article-hero {
  background: var(--navy);
  position: relative;
  overflow: hidden;
}

.page-blog-hub .blog-hero::before,
.page-blog-article .article-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 40px 40px;
}

.page-blog-hub .blog-hero::after,
.page-blog-article .article-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 86% 18%, rgba(92,122,66,0.16), transparent 48%);
}

.page-blog-hub .blog-hero {
  padding: 88px 0 0;
}

.page-blog-hub .blog-hero-inner {
  position: relative;
  z-index: 1;
  padding-bottom: 60px;
}

.page-blog-hub .blog-hero-badge,
.page-blog-article .cat-tag,
.page-blog-hub .cat-tag,
.page-blog-article .meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
}

.page-blog-hub .blog-hero-badge {
  background: rgba(92,122,66,0.18);
  border: 1px solid rgba(92,122,66,0.4);
  color: var(--sage-border);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 6px 16px;
  margin-bottom: 24px;
}

.page-blog-hub .blog-hero h1,
.page-blog-article .article-hero h1 {
  font-family: var(--serif);
  font-weight: 400;
  line-height: 1.12;
  color: var(--white);
}

.page-blog-hub .blog-hero h1 {
  font-size: clamp(30px, 4vw, 52px);
  margin-bottom: 18px;
}

.page-blog-hub .blog-hero h1 em,
.page-blog-article .article-hero h1 em {
  color: var(--sage-border);
  font-style: italic;
}

.page-blog-hub .blog-hero p {
  max-width: 640px;
  color: rgba(255,255,255,0.62);
  font-size: 17px;
  line-height: 1.8;
  margin-bottom: 40px;
}

.page-blog-hub .filters-bar {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  margin-bottom: -30px;
}

.page-blog-hub .filter-btn {
  border: none;
  background: transparent;
  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  padding: 10px 18px;
  border-radius: 10px;
  cursor: pointer;
  transition: var(--transition);
}

.page-blog-hub .filter-btn:hover {
  background: var(--off-white);
  color: var(--navy);
}

.page-blog-hub .filter-btn.active {
  background: var(--navy);
  color: var(--white);
}

.page-blog-hub .filter-btn[data-blog-filter="rse"].active { background: var(--cat-rse); }
.page-blog-hub .filter-btn[data-blog-filter="rgpd"].active { background: var(--cat-rgpd); }
.page-blog-hub .filter-btn[data-blog-filter="si"].active { background: var(--cat-si); }
.page-blog-hub .filter-btn[data-blog-filter="greenit"].active { background: var(--cat-greenit); }
.page-blog-hub .filter-btn[data-blog-filter="strategie"].active { background: var(--cat-strategie); }

.page-blog-hub .blog-body,
.page-blog-article .related {
  position: relative;
  overflow: hidden;
  background: var(--off-white);
}

.page-blog-hub .blog-body {
  padding: 86px 0 110px;
}

.page-blog-hub .blog-body::before,
.page-blog-article .related::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(92,122,66,0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(92,122,66,0.05) 1px, transparent 1px);
  background-size: 48px 48px;
}

.page-blog-hub .blog-body .container,
.page-blog-article .related .container {
  position: relative;
  z-index: 1;
}

.page-blog-hub .featured-section {
  margin-bottom: 72px;
}

.page-blog-hub .featured-label {
  display: block;
  margin-bottom: 18px;
  color: var(--ink-soft);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.page-blog-hub .featured-card,
.page-blog-hub .article-card,
.page-blog-article .related-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  text-decoration: none;
  transition: var(--transition);
}

/* COPIEZ ET COLLEZ CE BLOC À LA PLACE : */
.page-blog-hub .featured-card {
  display: block; /* On repasse sur une seule colonne */
  border-top: 4px solid var(--cat-si); /* Une ligne de couleur en haut pour le style */
  background: var(--white);
}

.page-blog-hub .featured-content {
  padding: 60px; /* On augmente l'espace autour du texte pour le rendre "Premium" */
  max-width: 900px; /* On limite la largeur pour que les lignes ne soient pas trop longues à lire */
}

.page-blog-hub .featured-meta-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.page-blog-hub .featured-card h2 {
  font-size: clamp(28px, 4vw, 42px); /* Un titre plus grand et impactant */
  margin-bottom: 24px;
  line-height: 1.15;
}

.page-blog-hub .featured-card p {
  font-size: 18px; /* Un texte d'introduction plus lisible */
  line-height: 1.8;
  color: var(--ink-mid);
  margin-bottom: 40px;
}

.page-blog-hub .featured-card:hover,
.page-blog-hub .article-card:hover,
.page-blog-article .related-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--sage-border);
}

.page-blog-hub .featured-visual {
  position: relative;
  min-height: 320px;
  background: linear-gradient(135deg, var(--navy), #162f57);
  padding: 40px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

.page-blog-hub .featured-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 32px 32px;
}

.page-blog-hub .featured-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(92,122,66,0.22), transparent 55%);
}

.page-blog-hub .featured-num {
  position: absolute;
  top: -12px;
  right: 18px;
  font-family: var(--serif);
  font-size: 120px;
  line-height: 1;
  color: rgba(255,255,255,0.05);
}

.page-blog-hub .featured-cat-badge {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.page-blog-hub .featured-content {
  padding: 46px;
  display: flex;
  flex-direction: column;
}

.page-blog-hub .featured-content h2 {
  font-family: var(--serif);
  font-size: clamp(24px, 2.5vw, 32px);
  font-weight: 400;
  line-height: 1.24;
  color: var(--navy);
  margin: 0 0 16px;
}

.page-blog-hub .featured-content p {
  margin: 0 0 28px;
  color: var(--ink-mid);
  font-size: 15px;
  line-height: 1.82;
}

.page-blog-hub .featured-meta,
.page-blog-hub .card-footer,
.page-blog-article .related-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.page-blog-hub .featured-meta {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}

.page-blog-hub .article-meta,
.page-blog-article .related-card-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.page-blog-hub .meta-author {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}

.page-blog-hub .meta-date,
.page-blog-hub .meta-read,
.page-blog-article .related-card-meta span {
  font-size: 12px;
  color: var(--ink-soft);
}

.page-blog-hub .meta-read {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  background: var(--off-white);
  border: 1px solid var(--border);
  border-radius: 999px;
}

.page-blog-hub .btn-read,
.page-blog-article .related-head a {
  font-size: 13px;
  font-weight: 700;
  color: var(--sage);
  text-decoration: none;
}

.page-blog-hub .btn-read:hover,
.page-blog-article .related-head a:hover {
  color: var(--sage-bright);
}

.page-blog-hub .section-head--blog {
  margin-bottom: 32px;
  max-width: 700px;
}

.page-blog-hub .section-head--blog h2 {
  margin-bottom: 12px;
}

.page-blog-hub .section-head--blog p {
  font-size: 17px;
  color: var(--ink-mid);
}

.page-blog-hub .articles-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.page-blog-hub .article-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.page-blog-hub .article-card[hidden] {
  display: none !important;
}

.page-blog-hub .card-visual,
.page-blog-article .related-card-band {
  height: 8px;
  width: 100%;
}

.page-blog-hub .card-body,
.page-blog-article .related-card-body {
  padding: 30px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.page-blog-hub .card-body h3,
.page-blog-article .related-card-body h3 {
  font-family: var(--serif);
  color: var(--navy);
  font-weight: 400;
  line-height: 1.34;
}

.page-blog-hub .card-body h3 {
  font-size: 22px;
  margin-bottom: 12px;
}

.page-blog-hub .card-body p {
  color: var(--ink-mid);
  font-size: 15px;
  line-height: 1.78;
  margin-bottom: 24px;
  flex: 1;
}

.page-blog-hub .card-footer {
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.page-blog-hub .blog-empty-state {
  margin-top: 24px;
  padding: 40px;
  text-align: center;
  background: var(--white);
  border: 1px dashed var(--sage-border);
  border-radius: var(--radius);
}

.page-blog-hub .blog-empty-state h3 {
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 10px;
}

.page-blog-hub .blog-empty-state p {
  margin: 0 auto;
  max-width: 580px;
  color: var(--ink-mid);
}

.page-blog-hub .cta-encart {
  margin-top: 56px;
  padding: 56px 60px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 42px;
  align-items: center;
  background: var(--navy);
  border-radius: var(--radius);
  position: relative;
  overflow: hidden;
}

.page-blog-hub .cta-encart::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: radial-gradient(ellipse at 82% 50%, black, transparent 70%);
}

.page-blog-hub .cta-encart-text,
.page-blog-hub .cta-encart-actions {
  position: relative;
  z-index: 1;
}

.page-blog-hub .cta-encart-eyebrow {
  display: block;
  margin-bottom: 12px;
  color: var(--sage-border);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.page-blog-hub .cta-encart h3 {
  font-family: var(--serif);
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 400;
  line-height: 1.24;
  color: var(--white);
  margin-bottom: 10px;
}

.page-blog-hub .cta-encart p {
  margin: 0;
  color: rgba(255,255,255,0.52);
  font-size: 15px;
}

.page-blog-hub .cta-encart-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
}

.page-blog-hub .btn-sage,
.page-blog-hub .btn-ghost,
.page-blog-article .btn-cta-sm,
.page-blog-article .article-cta .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: var(--radius);
  text-decoration: none;
  font-weight: 700;
  transition: var(--transition);
}

.page-blog-hub .btn-sage,
.page-blog-article .btn-cta-sm,
.page-blog-article .article-cta .btn-primary {
  background: var(--sage);
  color: var(--white);
}

.page-blog-hub .btn-sage,
.page-blog-hub .btn-ghost {
  padding: 14px 28px;
  font-size: 14px;
}

.page-blog-hub .btn-sage:hover,
.page-blog-article .btn-cta-sm:hover,
.page-blog-article .article-cta .btn-primary:hover {
  background: var(--sage-bright);
  transform: translateY(-2px);
}

.page-blog-hub .btn-ghost {
  border: 1px solid rgba(255,255,255,0.2);
  color: rgba(255,255,255,0.72);
}

.page-blog-hub .btn-ghost:hover {
  border-color: rgba(255,255,255,0.45);
  color: var(--white);
  background: rgba(255,255,255,0.06);
}

.page-blog-hub .cat-tag,
.page-blog-article .cat-tag {
  padding: 5px 14px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.page-blog-hub .cat-rse,
.page-blog-article .cat-rse { background: var(--cat-rse-bg); color: var(--cat-rse); }
.page-blog-hub .cat-rgpd,
.page-blog-article .cat-rgpd { background: var(--cat-rgpd-bg); color: var(--cat-rgpd); }
.page-blog-hub .cat-si,
.page-blog-article .cat-si { background: var(--cat-si-bg); color: var(--cat-si); }
.page-blog-hub .cat-greenit,
.page-blog-article .cat-greenit { background: var(--cat-greenit-bg); color: var(--cat-greenit); }
.page-blog-hub .cat-strategie,
.page-blog-article .cat-strategie { background: var(--cat-strategie-bg); color: var(--cat-strategie); }

.page-blog-hub .card-visual.cat-rse { background: linear-gradient(90deg, var(--cat-rse), var(--sage-bright)); }
.page-blog-hub .card-visual.cat-rgpd { background: linear-gradient(90deg, var(--cat-rgpd), #2980B9); }
.page-blog-hub .card-visual.cat-si { background: linear-gradient(90deg, var(--cat-si), #9B59B6); }
.page-blog-hub .card-visual.cat-greenit { background: linear-gradient(90deg, var(--cat-greenit), #1ABC9C); }
.page-blog-hub .card-visual.cat-strategie { background: linear-gradient(90deg, var(--cat-strategie), #F39C12); }

.page-blog-article .reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, var(--sage), var(--sage-border));
  z-index: 2000;
  transition: width 0.1s linear;
}

.page-blog-article .article-hero {
  padding: 88px 0 84px;
}

.page-blog-article .article-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
}

.page-blog-article .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
  font-size: 13px;
}

.page-blog-article .breadcrumb a {
  color: rgba(255,255,255,0.38);
  text-decoration: none;
}

.page-blog-article .breadcrumb a:hover {
  color: var(--sage-border);
}

.page-blog-article .breadcrumb span {
  color: rgba(255,255,255,0.22);
}

.page-blog-article .article-hero h1 {
  font-size: clamp(30px, 4vw, 50px);
  margin: 0 0 28px;
}

.page-blog-article .article-intro {
  max-width: 700px;
  color: rgba(255,255,255,0.58);
  font-size: 19px;
  line-height: 1.8;
  margin-bottom: 42px;
}

.page-blog-article .article-meta-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.page-blog-article .author-block {
  display: flex;
  align-items: center;
  gap: 12px;
}

.page-blog-article .author-avatar,
.page-blog-article .author-avatar-lg {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-family: var(--serif);
  color: var(--white);
}

.page-blog-article .author-avatar {
  width: 42px;
  height: 42px;
  font-size: 16px;
  background: var(--sage);
  border: 2px solid rgba(92,122,66,0.5);
}

.page-blog-article .author-name {
  display: block;
  color: var(--white);
  font-size: 14px;
  font-weight: 700;
}

.page-blog-article .author-role {
  display: block;
  color: rgba(255,255,255,0.45);
  font-size: 12px;
}

.page-blog-article .meta-sep {
  width: 1px;
  height: 28px;
  background: rgba(255,255,255,0.1);
}

.page-blog-article .meta-pill {
  color: rgba(255,255,255,0.5);
  font-size: 12px;
}

.page-blog-article .meta-pill strong {
  color: rgba(255,255,255,0.78);
  font-weight: 600;
}

.page-blog-article .article-body {
  padding: 82px 0 104px;
  background: var(--white);
}

.page-blog-article .article-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) 220px;
  gap: 56px;
  align-items: start;
}

.page-blog-article .article-toc,
.page-blog-article .article-sidebar {
  position: sticky;
  top: 102px;
}

.page-blog-article .toc-label,
.page-blog-article .sidebar-share-label {
  display: block;
  margin-bottom: 16px;
  color: var(--ink-soft);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.page-blog-article .toc-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.page-blog-article .toc-list a,
.page-blog-article .toc-back {
  display: block;
  padding: 8px 12px;
  border-left: 2px solid transparent;
  border-radius: 8px;
  color: var(--ink-soft);
  text-decoration: none;
  font-size: 13px;
  line-height: 1.45;
  transition: var(--transition);
}

.page-blog-article .toc-list a:hover,
.page-blog-article .toc-back:hover {
  background: var(--off-white);
  color: var(--navy);
  border-left-color: var(--sage-border);
}

.page-blog-article .toc-list a.active {
  background: var(--sage-bg);
  color: var(--sage);
  border-left-color: var(--sage);
  font-weight: 700;
}

.page-blog-article .toc-divider {
  height: 1px;
  background: var(--border);
  margin: 16px 0;
}

.page-blog-article .article-content {
  min-width: 0;
}

.page-blog-article .article-content h2,
.page-blog-article .article-cta h2,
.page-blog-article .related-head h2 {
  font-family: var(--serif);
  font-weight: 400;
}

.page-blog-article .article-content h2 {
  font-size: clamp(24px, 2.7vw, 30px);
  line-height: 1.24;
  color: var(--navy);
  margin: 58px 0 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
  scroll-margin-top: 96px;
}

.page-blog-article .article-content h2:first-child {
  margin-top: 0;
}

.page-blog-article .article-content h3 {
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 400;
  line-height: 1.34;
  color: var(--navy);
  margin: 36px 0 14px;
}

.page-blog-article .article-content p,
.page-blog-article .article-content ul li,
.page-blog-article .article-content ol li {
  color: var(--ink-mid);
  font-size: 17px;
  line-height: 1.9;
}

.page-blog-article .article-content p {
  margin-bottom: 20px;
}

.page-blog-article .article-content strong {
  color: var(--ink);
  font-weight: 700;
}

.page-blog-article .article-content em {
  color: var(--ink-mid);
}

.page-blog-article .article-content a {
  color: var(--sage);
  text-decoration: underline;
  text-decoration-color: var(--sage-border);
}

.page-blog-article .article-content a:hover {
  color: var(--sage-bright);
}

.page-blog-article .article-content ul,
.page-blog-article .article-content ol {
  margin: 20px 0 24px;
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.page-blog-article .article-content ul li,
.page-blog-article .article-content ol li {
  position: relative;
  padding-left: 24px;
}

.page-blog-article .article-content ul li::before {
  content: "\2192";
  position: absolute;
  left: 0;
  color: var(--sage);
  font-weight: 700;
}

.page-blog-article .article-content ol {
  counter-reset: article-ol;
}

.page-blog-article .article-content ol li {
  counter-increment: article-ol;
}

.page-blog-article .article-content ol li::before {
  content: counter(article-ol) ".";
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--sage);
  font-size: 14px;
  font-weight: 700;
}

.page-blog-article .callout,
.page-blog-article .callout-navy,
.page-blog-article .author-card,
.page-blog-article .sidebar-cta,
.page-blog-article .sidebar-share {
  border-radius: var(--radius);
}

.page-blog-article .callout {
  margin: 32px 0;
  padding: 24px 28px;
  background: var(--sage-bg);
  border: 1px solid var(--sage-border);
  border-left: 4px solid var(--sage);
  border-radius: 0 var(--radius) var(--radius) 0;
}

.page-blog-article .callout p,
.page-blog-article .callout-navy p,
.page-blog-article .author-info p {
  margin-bottom: 0;
}

.page-blog-article .callout strong {
  color: var(--sage);
}

.page-blog-article .callout-navy {
  margin: 32px 0;
  padding: 28px 32px;
  background: var(--navy);
}

.page-blog-article .callout-navy p {
  color: rgba(255,255,255,0.68);
}

.page-blog-article .callout-navy strong {
  color: var(--sage-border);
}

.page-blog-article .pull-quote {
  margin: 40px 0;
  padding: 8px 0 8px 28px;
  border-left: 4px solid var(--sage);
}

.page-blog-article .pull-quote p {
  margin-bottom: 0;
  font-family: var(--serif);
  font-size: 22px;
  font-style: italic;
  line-height: 1.6;
  color: var(--navy);
}

.page-blog-article .section-sep {
  border: none;
  border-top: 1px solid var(--border);
  margin: 48px 0;
}

.page-blog-article .author-card {
  margin-top: 48px;
  padding: 32px 36px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  align-items: start;
  background: var(--off-white);
  border: 1px solid var(--border);
}

.page-blog-article .author-avatar-lg {
  width: 72px;
  height: 72px;
  font-size: 28px;
  background: var(--navy);
  border: 3px solid var(--sage-border);
}

.page-blog-article .author-info h4 {
  color: var(--navy);
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 4px;
}

.page-blog-article .author-info .role {
  display: block;
  color: var(--sage);
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 10px;
}

.page-blog-article .author-info p {
  color: var(--ink-mid);
  font-size: 14px;
  line-height: 1.78;
}

.page-blog-article .article-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid var(--border);
}

.page-blog-article .article-tags span {
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.page-blog-article .tag-pill {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--off-white);
  color: var(--ink-soft);
  font-size: 12px;
  text-decoration: none;
  transition: var(--transition);
}

.page-blog-article .tag-pill:hover {
  color: var(--sage);
  border-color: var(--sage-border);
  background: var(--sage-bg);
}

.page-blog-article .article-sidebar {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.page-blog-article .sidebar-cta {
  position: relative;
  overflow: hidden;
  background: var(--navy);
  padding: 28px 24px;
}

.page-blog-article .sidebar-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 80% 20%, rgba(92,122,66,0.22), transparent 60%);
}

.page-blog-article .sidebar-cta-inner {
  position: relative;
  z-index: 1;
}

.page-blog-article .sidebar-cta-eyebrow {
  display: block;
  margin-bottom: 12px;
  color: var(--sage-border);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.page-blog-article .sidebar-cta h4 {
  font-family: var(--serif);
  color: var(--white);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.35;
  margin-bottom: 10px;
}

.page-blog-article .sidebar-cta p {
  color: rgba(255,255,255,0.48);
  font-size: 13px;
  line-height: 1.7;
  margin-bottom: 20px;
}

.page-blog-article .btn-cta-sm {
  width: 100%;
  padding: 12px 16px;
  font-size: 13px;
}

.page-blog-article .sidebar-share {
  padding: 20px 24px;
  background: var(--off-white);
  border: 1px solid var(--border);
}

.page-blog-article .share-buttons {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.page-blog-article .share-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 14px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--ink-mid);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: var(--transition);
}

.page-blog-article .share-btn:hover {
  color: var(--navy);
  background: var(--sage-bg);
  border-color: var(--sage-border);
}

.page-blog-article .share-btn .icon {
  font-size: 15px;
}

.page-blog-article .related {
  padding: 82px 0;
}

.page-blog-article .related-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 36px;
}

.page-blog-article .related-head h2 {
  font-size: 28px;
  color: var(--navy);
}

.page-blog-article .related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.page-blog-article .related-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.page-blog-article .related-card-band.cat-rse { background: var(--cat-rse); }
.page-blog-article .related-card-band.cat-rgpd { background: var(--cat-rgpd); }
.page-blog-article .related-card-band.cat-si { background: var(--cat-si); }
.page-blog-article .related-card-band.cat-greenit { background: var(--cat-greenit); }
.page-blog-article .related-card-band.cat-strategie { background: var(--cat-strategie); }

.page-blog-article .related-card-body h3 {
  font-size: 18px;
  margin-bottom: 14px;
}

.page-blog-article .related-card-meta {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.page-blog-article .article-cta {
  position: relative;
  overflow: hidden;
  padding: 82px 0;
  background: var(--navy);
  text-align: center;
}

.page-blog-article .article-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 100%, rgba(92,122,66,0.16), transparent 60%);
}

.page-blog-article .article-cta-inner {
  position: relative;
  z-index: 1;
  max-width: 620px;
  margin: 0 auto;
}

.page-blog-article .cta-eyebrow {
  display: block;
  margin-bottom: 18px;
  color: var(--sage-border);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.page-blog-article .article-cta h2 {
  color: var(--white);
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.2;
  margin-bottom: 16px;
}

.page-blog-article .article-cta p {
  color: rgba(255,255,255,0.5);
  font-size: 17px;
  line-height: 1.8;
  margin-bottom: 34px;
}

.page-blog-article .article-cta .btn-primary {
  padding: 16px 36px;
  font-size: 16px;
}

.page-blog-article .cta-note {
  margin-top: 16px;
  color: rgba(255,255,255,0.28);
  font-size: 13px;
}

@media (max-width: 1024px) {
  .page-blog-hub .featured-card,
  .page-blog-hub .cta-encart,
  .page-blog-article .article-layout {
    grid-template-columns: 1fr;
  }

  .page-blog-hub .featured-visual {
    min-height: 220px;
  }

  .page-blog-hub .articles-grid,
  .page-blog-article .related-grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-blog-hub .cta-encart-actions {
    align-items: flex-start;
  }

  .page-blog-article .article-sidebar {
    display: none;
  }
}

@media (max-width: 768px) {
  .page-blog-hub .blog-hero,
  .page-blog-article .article-hero {
    padding-top: 72px;
  }

  .page-blog-hub .blog-body,
  .page-blog-article .article-body,
  .page-blog-article .related,
  .page-blog-article .article-cta {
    padding-top: 64px;
    padding-bottom: 72px;
  }

  .page-blog-hub .featured-content,
  .page-blog-hub .card-body,
  .page-blog-hub .cta-encart,
  .page-blog-article .author-card,
  .page-blog-article .related-card-body,
  .page-blog-article .sidebar-share,
  .page-blog-article .sidebar-cta {
    padding-left: 28px;
    padding-right: 28px;
  }

  .page-blog-hub .articles-grid,
  .page-blog-article .related-grid {
    grid-template-columns: 1fr;
  }

  .page-blog-article .article-toc {
    display: none;
  }

  .page-blog-article .author-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .page-blog-hub .blog-hero .container,
  .page-blog-hub .blog-body .container,
  .page-blog-article .article-hero .container,
  .page-blog-article .article-body .container,
  .page-blog-article .related .container,
  .page-blog-article .article-cta .container {
    padding: 0 24px;
  }

  .page-blog-hub .filters-bar {
    margin-bottom: -22px;
  }

  .page-blog-hub .featured-meta,
  .page-blog-hub .card-footer,
  .page-blog-article .related-head,
  .page-blog-article .article-meta-bar {
    flex-direction: column;
    align-items: flex-start;
  }

  .page-blog-hub .cta-encart,
  .page-blog-article .article-cta .btn-primary {
    width: 100%;
  }

  .page-blog-hub .btn-sage,
  .page-blog-hub .btn-ghost {
    width: 100%;
  }

  .page-blog-article .article-intro {
    font-size: 18px;
  }

  .page-blog-article .meta-sep {
    display: none;
  }
}

.form-privacy {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 20px 0;
  font-size: 14px;
  line-height: 1.4;
  color: var(--ink-mid); /* Gris foncé visible sur fond blanc */
  text-align: left;
}

.privacy-checkbox {
  width: 18px !important;
  height: 18px !important;
  margin-top: 2px;
  cursor: pointer;
  accent-color: var(--sage);
}

.form-privacy a {
  color: var(--sage);
  text-decoration: underline;
  font-weight: 600;
}

.form-submit:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  filter: grayscale(1);
  transform: none !important;
}