/* ===================================================================
   HOJEIJ AVOCAT — FONDATIONS GLOBALES
   À coller dans : Apparence > Personnaliser > CSS additionnel
   (ou le champ CSS du thème minimal retenu).

   Ce fichier contient UNIQUEMENT le tronc commun à toutes les pages :
   - variables de charte (palette verrouillée)
   - reset et corps de page
   - textures de fond
   - typographie utilitaire (Inter) et éditoriale (Cormorant)
   - en-tête (header) et navigation
   - pied de page (footer)
   - animations
   - règles responsive partagées

   Les styles propres à chaque page (hero d'accueil, grilles de
   pratiques, etc.) sont dans le fichier 02-systeme-de-design.css.

   ⚠️ Polices : charger Cormorant Garamond + Inter via le thème ou via
   ce <link> dans l'en-tête WordPress (voir 03-entete-pied.html) :
   https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Inter:wght@300;400;500&display=swap
   =================================================================== */

/* ============ VARIABLES DE CHARTE (verrouillées) ============ */
:root {
  --bg:        #0e1620;
  --bg-deep:   #0a1018;
  --accent:    #8ec5cf;
  --accent-2:  #1a6e80;
  --text:      #ede4d3;
  --text-mute: rgba(237, 228, 211, 0.55);
  --text-soft: rgba(237, 228, 211, 0.78);
  --rule:      rgba(237, 228, 211, 0.12);
  --rule-strong: rgba(237, 228, 211, 0.22);
}

/* ============ RESET ============ */
* { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

/* ============ TEXTURES DE FOND ============ */
/* Halo bicolore discret */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    radial-gradient(ellipse at top left, rgba(26, 110, 128, 0.08), transparent 50%),
    radial-gradient(ellipse at bottom right, rgba(142, 197, 207, 0.04), transparent 60%);
  pointer-events: none;
  z-index: 0;
}

/* Grain léger */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.93 0 0 0 0 0.89 0 0 0 0 0.83 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 1;
  opacity: 0.5;
}

/* ============ TYPOGRAPHIE UTILITAIRE (Inter) ============ */
/* Sans-serif uniquement pour les éléments utilitaires */
.meta, nav, .lang, .legal, .badge, .number {
  font-family: 'Inter', -apple-system, sans-serif;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 11px;
}

/* ============ EN-TÊTE / NAVIGATION ============ */
header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 28px 56px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to bottom, rgba(14, 22, 32, 0.95), rgba(14, 22, 32, 0.7));
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--rule);
}

.logo {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--text);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 10px;
}

.logo-mark {
  height: 26px;
  width: auto;
  display: inline-block;
  flex-shrink: 0;
  transition: opacity 0.4s ease;
}
.logo:hover .logo-mark { opacity: 0.85; }
.logo-name { line-height: 1; }
.footer-brand .logo-mark { height: 30px; }

nav ul {
  list-style: none;
  display: flex;
  gap: 36px;
  align-items: center;
}

nav a {
  color: var(--text-soft);
  text-decoration: none;
  transition: color 0.4s ease;
  position: relative;
}

nav a:hover { color: var(--accent); }

/* Item de menu correspondant à la page courante */
nav a.active { color: var(--accent); }

nav a.contact-cta {
  color: var(--accent);
  border: 1px solid var(--rule-strong);
  padding: 10px 20px;
  transition: all 0.4s ease;
}

nav a.contact-cta:hover {
  background: var(--accent);
  color: var(--bg);
  border-color: var(--accent);
}

.lang {
  color: var(--text-mute);
  cursor: default;
}

/* ============ PIED DE PAGE ============ */
footer {
  position: relative;
  z-index: 2;
  padding: 80px 56px 40px;
  border-top: 1px solid var(--rule);
}

.footer-grid {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 56px;
  margin-bottom: 80px;
}

.footer-brand .logo { margin-bottom: 24px; }

.footer-tagline {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  color: var(--text-soft);
  font-size: 17px;
  max-width: 340px;
  line-height: 1.55;
}

.footer-col h4 {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 500;
  margin-bottom: 24px;
}

.footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-col a {
  color: var(--text-soft);
  text-decoration: none;
  font-size: 16px;
  transition: color 0.3s ease;
}

.footer-col a:hover { color: var(--accent); }

.footer-col li > span {
  color: var(--text-soft);
  font-size: 16px;
  font-family: 'Cormorant Garamond', serif;
}

.footer-bottom {
  max-width: 1400px;
  margin: 0 auto;
  padding-top: 32px;
  border-top: 1px solid var(--rule);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer-bottom-left,
.footer-bottom-right {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--text-mute);
}

/* ============ ANIMATIONS ============ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ============ RESPONSIVE (partagé) ============ */
@media (max-width: 1024px) {
  header { padding: 20px 32px; }
  nav ul { gap: 20px; }
  nav a:not(.contact-cta) { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: 16px; text-align: center; }
}



/* ======================================================
   STYLES SPÉCIFIQUES PAR PAGE (préfixés .p-XXX, anti-collision)
   ====================================================== */


/* ========== PAGE : cabinet ========== */
.p-cabinet .meta, .p-cabinet nav, .p-cabinet .lang, .p-cabinet .legal, .p-cabinet .badge { font-family: 'Inter', -apple-system, sans-serif;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 11px; }
/* ============ NAV ============ */
.p-cabinet .logo:hover .logo-mark { opacity: 0.85; }
/* ============ HERO PAGE ============ */
.p-cabinet .page-hero { position: relative;
    z-index: 2;
    padding: 200px 56px 100px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-cabinet .breadcrumb { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 56px;
    display: flex;
    align-items: center;
    gap: 16px;
    opacity: 0;
    animation: fadeUp 1.2s ease 0.2s forwards; }
.p-cabinet .breadcrumb::before { content: '';
    width: 32px;
    height: 1px;
    background: var(--accent); }
.p-cabinet .page-title { font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(50px, 6vw, 92px);
    line-height: 1.02;
    letter-spacing: -0.015em;
    color: var(--text);
    margin-bottom: 56px;
    max-width: 1100px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.4s forwards; }
.p-cabinet .page-title em { font-style: italic;
    color: var(--accent);
    font-weight: 400; }
.p-cabinet .page-intro-row { display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    margin-top: 80px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.6s forwards; }
.p-cabinet .intro-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent); }
.p-cabinet .intro-text { font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    line-height: 1.6;
    color: var(--text-soft);
    font-weight: 300;
    text-align: justify;
    hyphens: auto; }
.p-cabinet .intro-text em { color: var(--text);
    font-style: italic; }
/* ============ PHILOSOPHIE (4 piliers) ============ */
.p-cabinet .pillars { position: relative;
    z-index: 2;
    padding: 120px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-cabinet .pillars-header { margin-bottom: 80px; }
.p-cabinet .pillars-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 32px; }
.p-cabinet .pillars-title { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(36px, 4vw, 56px);
    font-weight: 500;
    line-height: 1.1;
    color: var(--text);
    max-width: 900px; }
.p-cabinet .pillars-title em { font-style: italic;
    color: var(--accent); }
.p-cabinet .pillars-grid { display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-top: 1px solid var(--rule); }
.p-cabinet .pillar { padding: 48px 32px 8px;
    border-right: 1px solid var(--rule);
    position: relative; }
.p-cabinet .pillar:last-child { border-right: none; }
.p-cabinet .pillar-number { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    color: var(--accent);
    margin-bottom: 28px; }
.p-cabinet .pillar-verb { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 28px;
    line-height: 1.1;
    color: var(--text);
    margin-bottom: 20px; }
.p-cabinet .pillar-rule { width: 24px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 24px; }
.p-cabinet .pillar-desc { font-size: 16px;
    line-height: 1.6;
    color: var(--text-soft); }
/* ============ MÉTHODE (texte long) ============ */
.p-cabinet .method { position: relative;
    z-index: 2;
    padding: 140px 56px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--rule); }
.p-cabinet .method-inner { max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 100px;
    align-items: start; }
.p-cabinet .method-side h2 { font-family: 'Cormorant Garamond', serif;
    font-size: 44px;
    font-weight: 500;
    line-height: 1.1;
    color: var(--text);
    margin-top: 40px; }
.p-cabinet .method-side h2 em { font-style: italic;
    color: var(--accent); }
.p-cabinet .method-content { display: flex;
    flex-direction: column;
    gap: 48px; }
.p-cabinet .method-block h3 { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 20px;
    font-weight: 500; }
.p-cabinet .method-block p { font-family: 'Cormorant Garamond', serif;
    font-size: 19px;
    line-height: 1.65;
    color: var(--text-soft);
    text-align: justify;
    hyphens: auto; }
.p-cabinet .method-block p + p { margin-top: 16px; }
.p-cabinet .method-block p em { color: var(--text);
    font-style: italic; }
/* ============ SIGNAUX D'AUTORITÉ ============ */
.p-cabinet .signals { position: relative;
    z-index: 2;
    padding: 140px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-cabinet .signals-header { display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 80px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--rule); }
.p-cabinet .signals-title { font-family: 'Cormorant Garamond', serif;
    font-size: 48px;
    font-weight: 500;
    color: var(--text);
    line-height: 1;
    max-width: 700px; }
.p-cabinet .signals-title em { font-style: italic;
    color: var(--accent); }
.p-cabinet .signals-meta { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-mute);
    text-align: right; }
.p-cabinet .signals-grid { display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 64px; }
.p-cabinet .signal-col h4 { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 24px;
    font-weight: 500;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--rule); }
.p-cabinet .signal-col ul { list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px; }
.p-cabinet .signal-col li { font-family: 'Cormorant Garamond', serif;
    font-size: 18px;
    color: var(--text-soft);
    line-height: 1.4;
    padding-left: 20px;
    position: relative; }
.p-cabinet .signal-col li::before { content: '·';
    color: var(--accent);
    position: absolute;
    left: 0;
    top: -2px;
    font-size: 24px;
    line-height: 1; }
/* ============ FONDATEUR — visage discret ============ */
.p-cabinet .founder { position: relative;
    z-index: 2;
    padding: 140px 56px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--rule); }
.p-cabinet .founder-inner { max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    align-items: start; }
.p-cabinet .founder-card { border: 1px solid var(--rule-strong);
    padding: 40px 32px;
    position: relative;
    background: linear-gradient(135deg, rgba(26, 110, 128, 0.06), rgba(14, 22, 32, 0.4)); }
.p-cabinet .founder-card::before, .p-cabinet .founder-card::after { content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    border: 1px solid var(--accent); }
.p-cabinet .founder-card::before { top: -1px; left: -1px;
    border-right: none;
    border-bottom: none; }
.p-cabinet .founder-card::after { bottom: -1px; right: -1px;
    border-left: none;
    border-top: none; }
.p-cabinet .founder-label { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 20px; }
.p-cabinet .founder-name { font-family: 'Cormorant Garamond', serif;
    font-size: 28px;
    font-weight: 500;
    color: var(--text);
    margin-bottom: 8px;
    line-height: 1.1; }
.p-cabinet .founder-role { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 17px;
    color: var(--text-soft);
    margin-bottom: 28px; }
.p-cabinet .founder-rule { width: 32px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 24px; }
.p-cabinet .founder-trail { list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px; }
.p-cabinet .founder-trail li { font-family: 'Cormorant Garamond', serif;
    font-size: 16px;
    color: var(--text-soft);
    line-height: 1.5; }
.p-cabinet .founder-trail li span { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--accent);
    margin-right: 12px; }
.p-cabinet .founder-text { padding-top: 16px; }
.p-cabinet .founder-text h3 { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 28px;
    font-weight: 500; }
.p-cabinet .founder-text p { font-family: 'Cormorant Garamond', serif;
    font-size: 20px;
    line-height: 1.65;
    color: var(--text-soft);
    text-align: justify;
    hyphens: auto; }
.p-cabinet .founder-text p + p { margin-top: 18px; }
.p-cabinet .founder-text p em { color: var(--text);
    font-style: italic; }
/* ============ CLAUSE FINALE ============ */
.p-cabinet .closing { position: relative;
    z-index: 2;
    padding: 160px 56px;
    text-align: center;
    max-width: 1100px;
    margin: 0 auto; }
.p-cabinet .closing-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 48px; }
.p-cabinet .closing-text { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.35;
    color: var(--text);
    font-weight: 400;
    letter-spacing: -0.005em;
    margin-bottom: 64px; }
.p-cabinet .closing-text em { color: var(--accent);
    font-weight: 500; }
.p-cabinet .closing-cta { color: var(--text);
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    padding: 18px 36px;
    border: 1px solid var(--accent);
    transition: all 0.5s ease;
    display: inline-block; }
.p-cabinet .closing-cta:hover { background: var(--accent);
    color: var(--bg);
    letter-spacing: 0.35em; }
/* ============ FOOTER ============ */
.p-cabinet .footer-bottom-left, .p-cabinet .footer-bottom-right { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--text-mute); }
/* ============ ANIMATIONS ============ */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }
/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
.p-cabinet .page-hero { padding: 140px 32px 60px; }
.p-cabinet .page-intro-row { grid-template-columns: 1fr; gap: 32px; margin-top: 56px; }
.p-cabinet .pillars { padding: 80px 32px; }
.p-cabinet .pillars-grid { grid-template-columns: 1fr 1fr; }
.p-cabinet .pillar { border-bottom: 1px solid var(--rule); }
.p-cabinet .pillar:nth-child(2) { border-right: none; }
.p-cabinet .method { padding: 80px 32px; }
.p-cabinet .method-inner { grid-template-columns: 1fr; gap: 40px; }
.p-cabinet .signals { padding: 80px 32px; }
.p-cabinet .signals-header { flex-direction: column; align-items: flex-start; gap: 24px; }
.p-cabinet .signals-meta { text-align: left; }
.p-cabinet .signals-grid { grid-template-columns: 1fr; gap: 40px; }
.p-cabinet .founder { padding: 80px 32px; }
.p-cabinet .founder-inner { grid-template-columns: 1fr; gap: 40px; }
.p-cabinet .closing { padding: 100px 32px; }
.p-cabinet nav a:not(.contact-cta) { display: none; }
}
@media (max-width: 600px) {
.p-cabinet .pillars-grid { grid-template-columns: 1fr; }
.p-cabinet .pillar { border-right: none !important; }
}

/* ========== PAGE : capital ========== */
.p-capital .meta, .p-capital nav, .p-capital .lang { font-family: 'Inter', -apple-system, sans-serif;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 11px; }
/* ============ NAV ============ */
.p-capital .logo:hover .logo-mark { opacity: 0.85; }
.p-capital nav a:hover, .p-capital nav a.active { color: var(--accent); }
/* ============ HERO ============ */
.p-capital .page-hero { position: relative;
    z-index: 2;
    padding: 200px 56px 100px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-capital .breadcrumb { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 56px;
    display: flex;
    align-items: center;
    gap: 16px;
    opacity: 0;
    animation: fadeUp 1.2s ease 0.2s forwards; }
.p-capital .breadcrumb a { color: var(--text-mute);
    text-decoration: none;
    transition: color 0.3s ease; }
.p-capital .breadcrumb a:hover { color: var(--accent); }
.p-capital .breadcrumb::before { content: '';
    width: 32px;
    height: 1px;
    background: var(--accent); }
.p-capital .breadcrumb .sep { color: var(--text-mute);
    opacity: 0.4; }
.p-capital .pratique-number { font-family: 'Inter', sans-serif;
    font-size: 13px;
    letter-spacing: 0.4em;
    color: var(--accent);
    margin-bottom: 32px;
    opacity: 0;
    animation: fadeUp 1.2s ease 0.3s forwards; }
.p-capital .page-title { font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(48px, 5.8vw, 88px);
    line-height: 1.02;
    letter-spacing: -0.015em;
    color: var(--text);
    margin-bottom: 48px;
    max-width: 1100px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.4s forwards; }
.p-capital .page-title em { font-style: italic;
    color: var(--accent);
    font-weight: 400; }
.p-capital .page-subtitle { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(22px, 2vw, 26px);
    color: var(--text-soft);
    max-width: 760px;
    line-height: 1.5;
    margin-bottom: 80px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.5s forwards; }
.p-capital .page-intro-row { display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.6s forwards; }
.p-capital .intro-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent); }
.p-capital .intro-text { font-family: 'Cormorant Garamond', serif;
    font-size: 21px;
    line-height: 1.65;
    color: var(--text-soft);
    font-weight: 300;
    text-align: justify;
    hyphens: auto; }
.p-capital .intro-text + .intro-text { margin-top: 18px; }
.p-capital .intro-text em { color: var(--text);
    font-style: italic; }
/* ============ ANGLE ÉDITORIAL ============ */
.p-capital .angle { position: relative;
    z-index: 2;
    padding: 140px 56px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--rule); }
.p-capital .angle-inner { max-width: 1100px;
    margin: 0 auto;
    text-align: center; }
.p-capital .angle-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 48px; }
.p-capital .angle-text { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(30px, 3.4vw, 48px);
    line-height: 1.3;
    color: var(--text);
    font-weight: 400;
    letter-spacing: -0.005em; }
.p-capital .angle-text em { color: var(--accent);
    font-weight: 500; }
.p-capital .angle-rule { width: 60px;
    height: 1px;
    background: var(--accent);
    margin: 48px auto 32px; }
.p-capital .angle-caption { font-family: 'Cormorant Garamond', serif;
    font-size: 18px;
    color: var(--text-soft);
    max-width: 720px;
    margin: 0 auto;
    line-height: 1.65; }
/* ============ CLIENTS-TYPES ============ */
.p-capital .clients { position: relative;
    z-index: 2;
    padding: 140px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-capital .section-header { display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 80px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--rule); }
.p-capital .section-title { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(36px, 4vw, 52px);
    font-weight: 500;
    color: var(--text);
    line-height: 1.05;
    max-width: 760px; }
.p-capital .section-title em { font-style: italic;
    color: var(--accent); }
.p-capital .section-intro { font-family: 'Cormorant Garamond', serif;
    font-size: 19px;
    line-height: 1.6;
    color: var(--text-soft);
    max-width: 680px;
    margin-top: 28px;
    text-align: justify;
    hyphens: auto; }
.p-capital .section-meta { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-mute);
    text-align: right;
    line-height: 1.7; }
.p-capital .clients-grid { display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-left: 1px solid var(--rule);
    border-top: 1px solid var(--rule); }
.p-capital .client { padding: 40px 32px 44px;
    border-right: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    position: relative;
    transition: background 0.5s ease; }
.p-capital .client:hover { background: rgba(26, 110, 128, 0.05); }
.p-capital .client-number { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    color: var(--accent);
    margin-bottom: 28px; }
.p-capital .client-title { font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    font-style: italic;
    font-weight: 500;
    line-height: 1.2;
    color: var(--text);
    margin-bottom: 18px;
    min-height: 56px; }
.p-capital .client-rule { width: 24px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 20px;
    transition: width 0.5s ease; }
.p-capital .client:hover .client-rule { width: 48px; }
.p-capital .client-desc { font-size: 15.5px;
    line-height: 1.55;
    color: var(--text-soft);
    text-align: justify;
    hyphens: auto; }
/* ============ OPÉRATIONS — alternance gauche/droite ============ */
.p-capital .operations { position: relative;
    z-index: 2;
    padding: 140px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-capital .operations-header { margin-bottom: 80px; }
.p-capital .operation { display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
    align-items: start;
    padding: 56px 0;
    border-bottom: 1px solid var(--rule); }
.p-capital .operation:first-of-type { border-top: 1px solid var(--rule); }
.p-capital .operation.reverse .operation-text { order: 2; }
.p-capital .operation.reverse .operation-side { order: 1; }
.p-capital .operation-side { display: flex;
    flex-direction: column;
    gap: 16px; }
.p-capital .operation-number { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    color: var(--accent); }
.p-capital .operation-side h3 { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(28px, 2.6vw, 38px);
    font-weight: 500;
    line-height: 1.15;
    color: var(--text); }
.p-capital .operation-side h3 em { font-style: italic;
    color: var(--accent); }
.p-capital .operation-rule { width: 32px;
    height: 1px;
    background: var(--accent);
    margin-top: 8px; }
.p-capital .operation-text p { font-family: 'Cormorant Garamond', serif;
    font-size: 19px;
    line-height: 1.65;
    color: var(--text-soft);
    text-align: justify;
    hyphens: auto; }
.p-capital .operation-text p + p { margin-top: 16px; }
.p-capital .operation-text p em { color: var(--text);
    font-style: italic; }
/* ============ POSTURE (3 piliers) ============ */
.p-capital .posture { position: relative;
    z-index: 2;
    padding: 140px 56px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--rule); }
.p-capital .posture-inner { max-width: 1400px;
    margin: 0 auto; }
.p-capital .posture-header { margin-bottom: 80px; }
.p-capital .posture-grid { display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid var(--rule); }
.p-capital .pilier { padding: 48px 36px;
    border-right: 1px solid var(--rule); }
.p-capital .pilier:last-child { border-right: none; }
.p-capital .pilier-number { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    color: var(--accent);
    margin-bottom: 28px; }
.p-capital .pilier-verb { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 30px;
    line-height: 1.1;
    color: var(--text);
    margin-bottom: 20px; }
.p-capital .pilier-rule { width: 24px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 24px; }
.p-capital .pilier-desc { font-size: 16px;
    line-height: 1.6;
    color: var(--text-soft);
    text-align: justify;
    hyphens: auto; }
/* ============ CITATION FINALE ============ */
.p-capital .closing { position: relative;
    z-index: 2;
    padding: 160px 56px;
    text-align: center;
    max-width: 1100px;
    margin: 0 auto; }
.p-capital .closing-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 48px; }
.p-capital .closing-text { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.35;
    color: var(--text);
    font-weight: 400;
    margin-bottom: 64px; }
.p-capital .closing-text em { color: var(--accent);
    font-weight: 500; }
.p-capital .closing-cta { color: var(--text);
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    padding: 18px 36px;
    border: 1px solid var(--accent);
    transition: all 0.5s ease;
    display: inline-block; }
.p-capital .closing-cta:hover { background: var(--accent);
    color: var(--bg);
    letter-spacing: 0.35em; }
/* ============ PRATIQUES VOISINES ============ */
.p-capital .voisines { position: relative;
    z-index: 2;
    padding: 100px 56px 140px;
    max-width: 1400px;
    margin: 0 auto;
    border-top: 1px solid var(--rule); }
.p-capital .voisines-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 48px;
    text-align: center; }
.p-capital .voisines-grid { display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-left: 1px solid var(--rule); }
.p-capital .voisine { padding: 56px 48px;
    border-right: 1px solid var(--rule);
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    text-decoration: none;
    color: inherit;
    transition: background 0.5s ease;
    position: relative; }
.p-capital .voisine:hover { background: rgba(26, 110, 128, 0.06); }
.p-capital .voisine-number { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    color: var(--accent);
    margin-bottom: 20px; }
.p-capital .voisine-title { font-family: 'Cormorant Garamond', serif;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--text);
    margin-bottom: 20px; }
.p-capital .voisine-title em { font-style: italic; }
.p-capital .voisine-link { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    display: inline-flex;
    gap: 12px;
    transition: gap 0.4s ease; }
.p-capital .voisine:hover .voisine-link { gap: 20px; }
/* ============ FOOTER ============ */
.p-capital .footer-bottom-left, .p-capital .footer-bottom-right { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--text-mute); }
/* ============ ANIMATIONS ============ */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }
/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
.p-capital .page-hero { padding: 140px 32px 60px; }
.p-capital .page-intro-row { grid-template-columns: 1fr; gap: 32px; }
.p-capital .angle { padding: 80px 32px; }
.p-capital .clients { padding: 80px 32px; }
.p-capital .clients-grid { grid-template-columns: 1fr 1fr; }
.p-capital .client-title { min-height: auto; }
.p-capital .operations { padding: 80px 32px; }
.p-capital .operation { grid-template-columns: 1fr; gap: 32px; }
.p-capital .operation.reverse .operation-text { order: 2; }
.p-capital .operation.reverse .operation-side { order: 1; }
.p-capital .posture { padding: 80px 32px; }
.p-capital .posture-grid { grid-template-columns: 1fr; }
.p-capital .pilier { border-right: none; border-bottom: 1px solid var(--rule); }
.p-capital .pilier:last-child { border-bottom: none; }
.p-capital .closing { padding: 100px 32px; }
.p-capital .voisines { padding: 60px 32px 80px; }
.p-capital .voisines-grid { grid-template-columns: 1fr; }
.p-capital .section-header { flex-direction: column; align-items: flex-start; gap: 24px; }
.p-capital .section-meta { text-align: left; }
.p-capital nav a:not(.contact-cta) { display: none; }
}
@media (max-width: 600px) {
.p-capital .clients-grid { grid-template-columns: 1fr; }
}

/* ========== PAGE : contact ========== */
.p-contact .meta, .p-contact nav, .p-contact .lang { font-family: 'Inter', -apple-system, sans-serif;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 11px; }
/* ============ NAV ============ */
.p-contact .logo:hover .logo-mark { opacity: 0.85; }
.p-contact nav a:hover, .p-contact nav a.active { color: var(--accent); }
/* ============ HERO ============ */
.p-contact .page-hero { position: relative;
    z-index: 2;
    padding: 200px 56px 80px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-contact .breadcrumb { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 56px;
    display: flex;
    align-items: center;
    gap: 16px;
    opacity: 0;
    animation: fadeUp 1.2s ease 0.2s forwards; }
.p-contact .breadcrumb a { color: var(--text-mute);
    text-decoration: none;
    transition: color 0.3s ease; }
.p-contact .breadcrumb a:hover { color: var(--accent); }
.p-contact .breadcrumb::before { content: '';
    width: 32px;
    height: 1px;
    background: var(--accent); }
.p-contact .breadcrumb .sep { color: var(--text-mute);
    opacity: 0.4; }
.p-contact .page-title { font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(60px, 8vw, 120px);
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--text);
    margin-bottom: 48px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.4s forwards; }
.p-contact .page-title em { font-style: italic;
    color: var(--accent);
    font-weight: 400; }
.p-contact .page-subtitle { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(20px, 1.9vw, 24px);
    color: var(--text-soft);
    max-width: 720px;
    line-height: 1.5;
    margin-bottom: 0;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.5s forwards; }
/* ============ COORDONNÉES & FORMULAIRE ============ */
.p-contact .contact-main { position: relative;
    z-index: 2;
    padding: 120px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-contact .contact-grid { display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 100px;
    align-items: start; }
/* === Cartouche de gauche : coordonnées === */
.p-contact .coords { position: sticky;
    top: 120px; }
.p-contact .coords-card { border: 1px solid var(--rule-strong);
    padding: 48px 40px;
    background: linear-gradient(135deg, rgba(26, 110, 128, 0.06), rgba(14, 22, 32, 0.4));
    position: relative; }
.p-contact .coords-card::before, .p-contact .coords-card::after { content: '';
    position: absolute;
    width: 22px;
    height: 22px;
    border: 1px solid var(--accent); }
.p-contact .coords-card::before { top: -1px; left: -1px;
    border-right: none;
    border-bottom: none; }
.p-contact .coords-card::after { bottom: -1px; right: -1px;
    border-left: none;
    border-top: none; }
.p-contact .coords-label { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 28px; }
.p-contact .coords-name { font-family: 'Cormorant Garamond', serif;
    font-size: 32px;
    font-weight: 500;
    color: var(--text);
    line-height: 1.1;
    margin-bottom: 8px; }
.p-contact .coords-role { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 17px;
    color: var(--text-soft);
    margin-bottom: 32px; }
.p-contact .coords-rule { width: 36px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 32px; }
.p-contact .coords-block { margin-bottom: 28px; }
.p-contact .coords-block:last-of-type { margin-bottom: 0; }
.p-contact .coords-block h4 { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 14px;
    font-weight: 500; }
.p-contact .coords-block p, .p-contact .coords-block a { font-family: 'Cormorant Garamond', serif;
    font-size: 18px;
    color: var(--text);
    line-height: 1.5;
    text-decoration: none;
    transition: color 0.3s ease;
    display: block; }
.p-contact .coords-block a:hover { color: var(--accent); }
.p-contact .coords-block .secondary { font-size: 16px;
    color: var(--text-soft);
    font-style: italic; }
/* === Formulaire de droite === */
.p-contact .form-side .form-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 32px;
    display: block; }
.p-contact .form-intro { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(28px, 3vw, 38px);
    font-weight: 500;
    line-height: 1.15;
    color: var(--text);
    margin-bottom: 24px; }
.p-contact .form-intro em { font-style: italic;
    color: var(--accent); }
.p-contact .form-baseline { font-family: 'Cormorant Garamond', serif;
    font-size: 19px;
    line-height: 1.65;
    color: var(--text-soft);
    margin-bottom: 56px;
    max-width: 600px;
    text-align: justify;
    hyphens: auto; }
.p-contact .form-baseline em { color: var(--text);
    font-style: italic; }
.p-contact form { display: flex;
    flex-direction: column;
    gap: 32px; }
.p-contact .field-row { display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px; }
.p-contact .field { display: flex;
    flex-direction: column; }
.p-contact .field label { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 14px;
    font-weight: 500; }
.p-contact .field label .required { color: var(--text-mute);
    margin-left: 4px; }
.p-contact .field input, .p-contact .field select, .p-contact .field textarea { background: transparent;
    border: none;
    border-bottom: 1px solid var(--rule-strong);
    padding: 12px 0;
    font-family: 'Cormorant Garamond', serif;
    font-size: 19px;
    color: var(--text);
    transition: border-color 0.3s ease;
    width: 100%;
    outline: none; }
.p-contact .field textarea { resize: vertical;
    min-height: 140px;
    line-height: 1.55; }
.p-contact .field input:focus, .p-contact .field select:focus, .p-contact .field textarea:focus { border-bottom-color: var(--accent); }
.p-contact .field select { appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%238ec5cf' stroke-width='1'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 4px center;
    padding-right: 24px;
    cursor: pointer; }
.p-contact .field select option { background: var(--bg);
    color: var(--text); }
.p-contact .field input::placeholder, .p-contact .field textarea::placeholder { color: var(--text-mute);
    font-style: italic;
    opacity: 0.6; }
.p-contact .privacy { font-family: 'Cormorant Garamond', serif;
    font-size: 15px;
    color: var(--text-mute);
    font-style: italic;
    line-height: 1.6;
    padding-top: 16px;
    border-top: 1px solid var(--rule);
    margin-top: 16px; }
.p-contact .form-submit { margin-top: 24px;
    align-self: flex-start; }
.p-contact .submit-btn { background: transparent;
    border: 1px solid var(--accent);
    color: var(--text);
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    padding: 18px 40px;
    cursor: pointer;
    transition: all 0.5s ease; }
.p-contact .submit-btn:hover { background: var(--accent);
    color: var(--bg);
    letter-spacing: 0.35em; }
/* ============ CLAUSE DE DISCRÉTION ============ */
.p-contact .discretion { position: relative;
    z-index: 2;
    padding: 140px 56px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--rule); }
.p-contact .discretion-inner { max-width: 1100px;
    margin: 0 auto;
    text-align: center; }
.p-contact .discretion-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 48px; }
.p-contact .discretion-text { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(26px, 2.8vw, 36px);
    line-height: 1.4;
    color: var(--text);
    font-weight: 400;
    letter-spacing: -0.005em;
    margin-bottom: 32px; }
.p-contact .discretion-text em { color: var(--accent);
    font-weight: 500; }
.p-contact .discretion-caption { font-family: 'Cormorant Garamond', serif;
    font-size: 18px;
    color: var(--text-soft);
    max-width: 680px;
    margin: 0 auto;
    line-height: 1.65; }
/* ============ FOOTER ============ */
.p-contact .footer-bottom-left, .p-contact .footer-bottom-right { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--text-mute); }
/* ============ ANIMATIONS ============ */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }
/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
.p-contact .page-hero { padding: 140px 32px 60px; }
.p-contact .contact-main { padding: 80px 32px; }
.p-contact .contact-grid { grid-template-columns: 1fr; gap: 56px; }
.p-contact .coords { position: static; }
.p-contact .discretion { padding: 80px 32px; }
.p-contact .field-row { grid-template-columns: 1fr; gap: 32px; }
.p-contact nav a:not(.contact-cta) { display: none; }
}
@media (max-width: 600px) {
.p-contact .coords-card { padding: 36px 28px; }
}

/* ========== PAGE : dje ========== */
.p-dje .meta, .p-dje nav, .p-dje .lang { font-family: 'Inter', -apple-system, sans-serif;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 11px; }
/* ============ NAV ============ */
.p-dje .logo:hover .logo-mark { opacity: 0.85; }
.p-dje nav a:hover, .p-dje nav a.active { color: var(--accent); }
/* ============ HERO ============ */
.p-dje .page-hero { position: relative;
    z-index: 2;
    padding: 200px 56px 100px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-dje .breadcrumb { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 56px;
    display: flex;
    align-items: center;
    gap: 16px;
    opacity: 0;
    animation: fadeUp 1.2s ease 0.2s forwards; }
.p-dje .breadcrumb a { color: var(--text-mute);
    text-decoration: none;
    transition: color 0.3s ease; }
.p-dje .breadcrumb a:hover { color: var(--accent); }
.p-dje .breadcrumb::before { content: '';
    width: 32px;
    height: 1px;
    background: var(--accent); }
.p-dje .breadcrumb .sep { color: var(--text-mute);
    opacity: 0.4; }
.p-dje .pratique-number { font-family: 'Inter', sans-serif;
    font-size: 13px;
    letter-spacing: 0.4em;
    color: var(--accent);
    margin-bottom: 32px;
    opacity: 0;
    animation: fadeUp 1.2s ease 0.3s forwards; }
.p-dje .page-title { font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(48px, 5.8vw, 88px);
    line-height: 1.02;
    letter-spacing: -0.015em;
    color: var(--text);
    margin-bottom: 48px;
    max-width: 1100px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.4s forwards; }
.p-dje .page-title em { font-style: italic;
    color: var(--accent);
    font-weight: 400; }
.p-dje .page-subtitle { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(22px, 2vw, 26px);
    color: var(--text-soft);
    max-width: 760px;
    line-height: 1.5;
    margin-bottom: 80px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.5s forwards; }
.p-dje .page-intro-row { display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.6s forwards; }
.p-dje .intro-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent); }
.p-dje .intro-text { font-family: 'Cormorant Garamond', serif;
    font-size: 21px;
    line-height: 1.65;
    color: var(--text-soft);
    font-weight: 300;
    text-align: justify;
    hyphens: auto; }
.p-dje .intro-text + .intro-text { margin-top: 18px; }
.p-dje .intro-text em { color: var(--text);
    font-style: italic; }
/* ============ ANGLE ÉDITORIAL ============ */
.p-dje .angle { position: relative;
    z-index: 2;
    padding: 140px 56px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--rule); }
.p-dje .angle-inner { max-width: 1100px;
    margin: 0 auto;
    text-align: center; }
.p-dje .angle-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 48px; }
.p-dje .angle-text { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(30px, 3.4vw, 48px);
    line-height: 1.3;
    color: var(--text);
    font-weight: 400;
    letter-spacing: -0.005em; }
.p-dje .angle-text em { color: var(--accent);
    font-weight: 500; }
.p-dje .angle-rule { width: 60px;
    height: 1px;
    background: var(--accent);
    margin: 48px auto 32px; }
.p-dje .angle-caption { font-family: 'Cormorant Garamond', serif;
    font-size: 18px;
    color: var(--text-soft);
    max-width: 720px;
    margin: 0 auto;
    line-height: 1.65; }
/* ============ POUR QUI ============ */
.p-dje .audience { position: relative;
    z-index: 2;
    padding: 140px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-dje .section-header { display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 80px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--rule); }
.p-dje .section-title { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(36px, 4vw, 52px);
    font-weight: 500;
    color: var(--text);
    line-height: 1.05;
    max-width: 760px; }
.p-dje .section-title em { font-style: italic;
    color: var(--accent); }
.p-dje .section-meta { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-mute);
    text-align: right;
    line-height: 1.7; }
.p-dje .audience-grid { display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-left: 1px solid var(--rule);
    border-top: 1px solid var(--rule); }
.p-dje .audience-card { padding: 48px 36px 52px;
    border-right: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    transition: background 0.5s ease; }
.p-dje .audience-card:hover { background: rgba(26, 110, 128, 0.05); }
.p-dje .audience-number { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    color: var(--accent);
    margin-bottom: 28px; }
.p-dje .audience-title { font-family: 'Cormorant Garamond', serif;
    font-size: 25px;
    font-style: italic;
    font-weight: 500;
    line-height: 1.2;
    color: var(--text);
    margin-bottom: 18px; }
.p-dje .audience-rule { width: 24px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 22px;
    transition: width 0.5s ease; }
.p-dje .audience-card:hover .audience-rule { width: 48px; }
.p-dje .audience-desc { font-size: 16px;
    line-height: 1.6;
    color: var(--text-soft);
    text-align: justify;
    hyphens: auto; }
/* ============ CHAMP DE COUVERTURE ============ */
.p-dje .coverage { position: relative;
    z-index: 2;
    padding: 140px 56px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--rule); }
.p-dje .coverage-inner { max-width: 1400px;
    margin: 0 auto; }
.p-dje .coverage-header { margin-bottom: 64px; }
.p-dje .coverage-grid { display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-left: 1px solid var(--rule);
    border-top: 1px solid var(--rule); }
.p-dje .coverage-col { padding: 40px 32px 44px;
    border-right: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule); }
.p-dje .coverage-col h4 { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 28px;
    font-weight: 500; }
.p-dje .coverage-col ul { list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px; }
.p-dje .coverage-col li { font-family: 'Cormorant Garamond', serif;
    font-size: 17px;
    color: var(--text-soft);
    line-height: 1.45;
    padding-left: 18px;
    position: relative; }
.p-dje .coverage-col li::before { content: '·';
    color: var(--accent);
    position: absolute;
    left: 0;
    top: -3px;
    font-size: 22px; }
/* ============ MODALITÉS — encart contractuel ============ */
.p-dje .modalities { position: relative;
    z-index: 2;
    padding: 140px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-dje .modalities-grid { display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 100px;
    align-items: start; }
.p-dje .modalities-side .section-meta { text-align: left;
    margin-bottom: 24px; }
.p-dje .modalities-side h2 { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(36px, 4vw, 52px);
    font-weight: 500;
    line-height: 1.05;
    color: var(--text); }
.p-dje .modalities-side h2 em { font-style: italic;
    color: var(--accent); }
.p-dje .modalities-list { display: flex;
    flex-direction: column;
    border-top: 1px solid var(--rule); }
.p-dje .modality { padding: 36px 0;
    border-bottom: 1px solid var(--rule);
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 32px;
    align-items: start;
    transition: padding 0.4s ease; }
.p-dje .modality:hover { padding-left: 16px; }
.p-dje .modality-tag { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    color: var(--accent);
    padding-top: 8px;
    text-transform: uppercase; }
.p-dje .modality-content h3 { font-family: 'Cormorant Garamond', serif;
    font-size: 24px;
    font-weight: 500;
    color: var(--text);
    margin-bottom: 12px;
    line-height: 1.25; }
.p-dje .modality-content h3 em { font-style: italic;
    color: var(--accent); }
.p-dje .modality-content p { font-family: 'Cormorant Garamond', serif;
    font-size: 17px;
    color: var(--text-soft);
    line-height: 1.6;
    text-align: justify;
    hyphens: auto; }
/* ============ PROMESSE (3 valeurs) ============ */
.p-dje .promise { position: relative;
    z-index: 2;
    padding: 140px 56px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--rule); }
.p-dje .promise-inner { max-width: 1400px;
    margin: 0 auto; }
.p-dje .promise-header { margin-bottom: 80px; }
.p-dje .promise-grid { display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-top: 1px solid var(--rule); }
.p-dje .value { padding: 48px 28px;
    border-right: 1px solid var(--rule); }
.p-dje .value:last-child { border-right: none; }
.p-dje .value-number { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    color: var(--accent);
    margin-bottom: 28px; }
.p-dje .value-word { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 26px;
    line-height: 1.15;
    color: var(--text);
    margin-bottom: 20px; }
.p-dje .value-rule { width: 24px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 22px; }
.p-dje .value-desc { font-size: 15.5px;
    line-height: 1.6;
    color: var(--text-soft);
    text-align: justify;
    hyphens: auto; }
/* ============ CITATION FINALE ============ */
.p-dje .closing { position: relative;
    z-index: 2;
    padding: 160px 56px;
    text-align: center;
    max-width: 1100px;
    margin: 0 auto; }
.p-dje .closing-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 48px; }
.p-dje .closing-text { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.35;
    color: var(--text);
    font-weight: 400;
    margin-bottom: 64px; }
.p-dje .closing-text em { color: var(--accent);
    font-weight: 500; }
.p-dje .closing-cta { color: var(--text);
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    padding: 18px 36px;
    border: 1px solid var(--accent);
    transition: all 0.5s ease;
    display: inline-block; }
.p-dje .closing-cta:hover { background: var(--accent);
    color: var(--bg);
    letter-spacing: 0.35em; }
/* ============ PRATIQUES VOISINES ============ */
.p-dje .voisines { position: relative;
    z-index: 2;
    padding: 100px 56px 140px;
    max-width: 1400px;
    margin: 0 auto;
    border-top: 1px solid var(--rule); }
.p-dje .voisines-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 48px;
    text-align: center; }
.p-dje .voisines-grid { display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-left: 1px solid var(--rule); }
.p-dje .voisine { padding: 56px 48px;
    border-right: 1px solid var(--rule);
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    text-decoration: none;
    color: inherit;
    transition: background 0.5s ease;
    position: relative; }
.p-dje .voisine:hover { background: rgba(26, 110, 128, 0.06); }
.p-dje .voisine-number { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    color: var(--accent);
    margin-bottom: 20px; }
.p-dje .voisine-title { font-family: 'Cormorant Garamond', serif;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--text);
    margin-bottom: 20px; }
.p-dje .voisine-title em { font-style: italic; }
.p-dje .voisine-link { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    display: inline-flex;
    gap: 12px;
    transition: gap 0.4s ease; }
.p-dje .voisine:hover .voisine-link { gap: 20px; }
/* ============ FOOTER ============ */
.p-dje .footer-bottom-left, .p-dje .footer-bottom-right { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--text-mute); }
/* ============ ANIMATIONS ============ */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }
/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
.p-dje .page-hero { padding: 140px 32px 60px; }
.p-dje .page-intro-row { grid-template-columns: 1fr; gap: 32px; }
.p-dje .angle { padding: 80px 32px; }
.p-dje .audience { padding: 80px 32px; }
.p-dje .audience-grid { grid-template-columns: 1fr; }
.p-dje .coverage { padding: 80px 32px; }
.p-dje .coverage-grid { grid-template-columns: 1fr; }
.p-dje .modalities { padding: 80px 32px; }
.p-dje .modalities-grid { grid-template-columns: 1fr; gap: 40px; }
.p-dje .promise { padding: 80px 32px; }
.p-dje .promise-grid { grid-template-columns: 1fr 1fr; }
.p-dje .value:nth-child(2) { border-right: none; }
.p-dje .value:nth-child(1), .p-dje .value:nth-child(2) { border-bottom: 1px solid var(--rule); }
.p-dje .closing { padding: 100px 32px; }
.p-dje .voisines { padding: 60px 32px 80px; }
.p-dje .voisines-grid { grid-template-columns: 1fr; }
.p-dje .section-header { flex-direction: column; align-items: flex-start; gap: 24px; }
.p-dje .section-meta { text-align: left; }
.p-dje nav a:not(.contact-cta) { display: none; }
}
@media (max-width: 600px) {
.p-dje .promise-grid { grid-template-columns: 1fr; }
.p-dje .value { border-right: none !important; border-bottom: 1px solid var(--rule); }
.p-dje .modality { grid-template-columns: 1fr; gap: 12px; }
}

/* ========== PAGE : engagement ========== */
.p-engagement .meta, .p-engagement nav, .p-engagement .lang { font-family: 'Inter', -apple-system, sans-serif;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 11px; }
/* ============ NAV ============ */
.p-engagement .logo:hover .logo-mark { opacity: 0.85; }
.p-engagement nav a:hover, .p-engagement nav a.active { color: var(--accent); }
/* ============ HERO ============ */
.p-engagement .page-hero { position: relative;
    z-index: 2;
    padding: 200px 56px 100px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-engagement .breadcrumb { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 56px;
    display: flex;
    align-items: center;
    gap: 16px;
    opacity: 0;
    animation: fadeUp 1.2s ease 0.2s forwards; }
.p-engagement .breadcrumb a { color: var(--text-mute);
    text-decoration: none;
    transition: color 0.3s ease; }
.p-engagement .breadcrumb a:hover { color: var(--accent); }
.p-engagement .breadcrumb::before { content: '';
    width: 32px;
    height: 1px;
    background: var(--accent); }
.p-engagement .breadcrumb .sep { color: var(--text-mute);
    opacity: 0.4; }
.p-engagement .page-title { font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(50px, 6vw, 92px);
    line-height: 1.02;
    letter-spacing: -0.015em;
    color: var(--text);
    margin-bottom: 56px;
    max-width: 1100px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.4s forwards; }
.p-engagement .page-title em { font-style: italic;
    color: var(--accent);
    font-weight: 400; }
.p-engagement .page-subtitle { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(22px, 2vw, 26px);
    color: var(--text-soft);
    max-width: 760px;
    line-height: 1.5;
    margin-bottom: 80px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.5s forwards; }
.p-engagement .page-intro-row { display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.6s forwards; }
.p-engagement .intro-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent); }
.p-engagement .intro-text { font-family: 'Cormorant Garamond', serif;
    font-size: 21px;
    line-height: 1.65;
    color: var(--text-soft);
    font-weight: 300;
    text-align: justify;
    hyphens: auto; }
.p-engagement .intro-text + .intro-text { margin-top: 18px; }
.p-engagement .intro-text em { color: var(--text);
    font-style: italic; }
/* ============ CONCEPT-CADRE ============ */
.p-engagement .concept { position: relative;
    z-index: 2;
    padding: 160px 56px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--rule); }
.p-engagement .concept-inner { max-width: 1100px;
    margin: 0 auto;
    text-align: center; }
.p-engagement .concept-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 48px; }
.p-engagement .concept-text { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(32px, 3.8vw, 54px);
    line-height: 1.25;
    color: var(--text);
    font-weight: 400;
    letter-spacing: -0.01em; }
.p-engagement .concept-text em { color: var(--accent);
    font-weight: 500; }
.p-engagement .concept-rule { width: 60px;
    height: 1px;
    background: var(--accent);
    margin: 56px auto 32px; }
.p-engagement .concept-caption { font-family: 'Cormorant Garamond', serif;
    font-size: 19px;
    color: var(--text-soft);
    max-width: 740px;
    margin: 0 auto;
    line-height: 1.65;
    text-align: justify;
    hyphens: auto; }
.p-engagement .concept-caption em { color: var(--text);
    font-style: italic; }
/* ============ POSITIONNEMENT (3 piliers) ============ */
.p-engagement .posture { position: relative;
    z-index: 2;
    padding: 140px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-engagement .section-header { margin-bottom: 80px; }
.p-engagement .section-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 32px; }
.p-engagement .section-title { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(36px, 4vw, 56px);
    font-weight: 500;
    color: var(--text);
    line-height: 1.05;
    max-width: 900px; }
.p-engagement .section-title em { font-style: italic;
    color: var(--accent); }
.p-engagement .posture-grid { display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid var(--rule); }
.p-engagement .pilier { padding: 48px 36px 8px;
    border-right: 1px solid var(--rule); }
.p-engagement .pilier:last-child { border-right: none; }
.p-engagement .pilier-number { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    color: var(--accent);
    margin-bottom: 28px; }
.p-engagement .pilier-title { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 26px;
    line-height: 1.15;
    color: var(--text);
    margin-bottom: 20px; }
.p-engagement .pilier-rule { width: 24px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 22px; }
.p-engagement .pilier-desc { font-size: 16px;
    line-height: 1.65;
    color: var(--text-soft);
    text-align: justify;
    hyphens: auto; }
/* ============ SUJETS DE TRAVAIL ============ */
.p-engagement .sujets { position: relative;
    z-index: 2;
    padding: 140px 56px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--rule); }
.p-engagement .sujets-inner { max-width: 1400px;
    margin: 0 auto; }
.p-engagement .sujets-header { display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 80px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--rule); }
.p-engagement .sujets-meta { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-mute);
    text-align: right;
    line-height: 1.7; }
.p-engagement .sujets-grid { display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    border-left: 1px solid var(--rule);
    border-top: 1px solid var(--rule); }
.p-engagement .sujet { padding: 44px 40px;
    border-right: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    transition: background 0.5s ease; }
.p-engagement .sujet:hover { background: rgba(26, 110, 128, 0.06); }
.p-engagement .sujet-number { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    color: var(--accent);
    margin-bottom: 24px; }
.p-engagement .sujet-title { font-family: 'Cormorant Garamond', serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--text);
    margin-bottom: 18px; }
.p-engagement .sujet-title em { font-style: italic;
    color: var(--accent); }
.p-engagement .sujet-rule { width: 24px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 22px;
    transition: width 0.5s ease; }
.p-engagement .sujet:hover .sujet-rule { width: 48px; }
.p-engagement .sujet-desc { font-size: 16px;
    line-height: 1.6;
    color: var(--text-soft);
    text-align: justify;
    hyphens: auto; }
/* ============ TRIBUNE FONDATRICE ============ */
.p-engagement .tribune { position: relative;
    z-index: 2;
    padding: 140px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-engagement .tribune-inner { display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 100px;
    align-items: start; }
.p-engagement .tribune-side h2 { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(32px, 3.6vw, 48px);
    font-weight: 500;
    line-height: 1.1;
    color: var(--text);
    margin-top: 32px; }
.p-engagement .tribune-side h2 em { font-style: italic;
    color: var(--accent); }
.p-engagement .tribune-content p { font-family: 'Cormorant Garamond', serif;
    font-size: 19px;
    line-height: 1.7;
    color: var(--text-soft);
    text-align: justify;
    hyphens: auto; }
.p-engagement .tribune-content p + p { margin-top: 18px; }
.p-engagement .tribune-content p em { color: var(--text);
    font-style: italic; }
.p-engagement .tribune-quote { margin: 32px 0;
    padding: 24px 32px;
    border-left: 1px solid var(--accent);
    background: rgba(26, 110, 128, 0.05);
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 21px;
    line-height: 1.6;
    color: var(--text); }
.p-engagement .tribune-quote-source { display: block;
    margin-top: 16px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-mute);
    font-style: normal; }
/* ============ INTERLOCUTEURS ============ */
.p-engagement .interlocuteurs { position: relative;
    z-index: 2;
    padding: 140px 56px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--rule); }
.p-engagement .interlocuteurs-inner { max-width: 1400px;
    margin: 0 auto; }
.p-engagement .interlocuteurs-grid { display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-left: 1px solid var(--rule);
    border-top: 1px solid var(--rule);
    margin-top: 64px; }
.p-engagement .interlocuteur { padding: 40px 28px;
    border-right: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule); }
.p-engagement .interlocuteur h4 { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 24px;
    font-weight: 500; }
.p-engagement .interlocuteur ul { list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px; }
.p-engagement .interlocuteur li { font-family: 'Cormorant Garamond', serif;
    font-size: 17px;
    color: var(--text-soft);
    line-height: 1.45;
    padding-left: 18px;
    position: relative; }
.p-engagement .interlocuteur li::before { content: '·';
    color: var(--accent);
    position: absolute;
    left: 0;
    top: -3px;
    font-size: 22px; }
/* ============ NOTE LIÉE ============ */
.p-engagement .lecture { position: relative;
    z-index: 2;
    padding: 100px 56px;
    max-width: 1100px;
    margin: 0 auto;
    border-top: 1px solid var(--rule); }
.p-engagement .lecture-inner { display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    align-items: start; }
.p-engagement .lecture-side { position: sticky;
    top: 120px; }
.p-engagement .lecture-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 24px; }
.p-engagement .lecture-side h2 { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(28px, 2.4vw, 36px);
    font-weight: 500;
    line-height: 1.2;
    color: var(--text); }
.p-engagement .lecture-side h2 em { font-style: italic;
    color: var(--accent); }
.p-engagement .lecture-card { border: 1px solid var(--rule-strong);
    padding: 40px 44px 44px;
    background: linear-gradient(135deg, rgba(26, 110, 128, 0.04), rgba(14, 22, 32, 0.4));
    transition: background 0.5s ease, border-color 0.5s ease;
    text-decoration: none;
    color: inherit;
    display: block; }
.p-engagement .lecture-card:hover { background: linear-gradient(135deg, rgba(26, 110, 128, 0.08), rgba(14, 22, 32, 0.5));
    border-color: var(--accent); }
.p-engagement .lecture-meta { display: flex;
    gap: 24px;
    margin-bottom: 28px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase; }
.p-engagement .lecture-meta .meta-tag { color: var(--accent); }
.p-engagement .lecture-meta .meta-date { color: var(--text-mute); }
.p-engagement .lecture-title { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(26px, 2.2vw, 32px);
    font-weight: 500;
    line-height: 1.2;
    color: var(--text);
    margin-bottom: 24px; }
.p-engagement .lecture-title em { font-style: italic; }
.p-engagement .lecture-rule { width: 40px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 24px; }
.p-engagement .lecture-excerpt { font-family: 'Cormorant Garamond', serif;
    font-size: 17px;
    line-height: 1.65;
    color: var(--text-soft);
    margin-bottom: 32px;
    text-align: justify;
    hyphens: auto; }
.p-engagement .lecture-link { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    display: inline-flex;
    align-items: center;
    gap: 12px;
    transition: gap 0.4s ease; }
.p-engagement .lecture-card:hover .lecture-link { gap: 20px; }
@media (max-width: 1024px) {
.p-engagement .lecture { padding: 80px 32px; }
.p-engagement .lecture-inner { grid-template-columns: 1fr; gap: 40px; }
.p-engagement .lecture-side { position: static; }
.p-engagement .lecture-card { padding: 32px 28px; }
}
/* ============ CLAUSE FINALE ============ */
.p-engagement .closing { position: relative;
    z-index: 2;
    padding: 180px 56px;
    text-align: center;
    max-width: 1100px;
    margin: 0 auto; }
.p-engagement .closing-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 56px; }
.p-engagement .closing-text { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.35;
    color: var(--text);
    font-weight: 400;
    margin-bottom: 56px; }
.p-engagement .closing-text em { color: var(--accent);
    font-weight: 500; }
.p-engagement .closing-caption { font-family: 'Cormorant Garamond', serif;
    font-size: 18px;
    color: var(--text-soft);
    max-width: 640px;
    margin: 0 auto 64px;
    line-height: 1.65; }
.p-engagement .closing-cta { color: var(--text);
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    padding: 18px 36px;
    border: 1px solid var(--accent);
    transition: all 0.5s ease;
    display: inline-block; }
.p-engagement .closing-cta:hover { background: var(--accent);
    color: var(--bg);
    letter-spacing: 0.35em; }
/* ============ FOOTER ============ */
.p-engagement .footer-bottom-left, .p-engagement .footer-bottom-right { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--text-mute); }
/* ============ ANIMATIONS ============ */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }
/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
.p-engagement .page-hero { padding: 140px 32px 60px; }
.p-engagement .page-intro-row { grid-template-columns: 1fr; gap: 32px; }
.p-engagement .concept { padding: 100px 32px; }
.p-engagement .posture { padding: 80px 32px; }
.p-engagement .posture-grid { grid-template-columns: 1fr; }
.p-engagement .pilier { border-right: none; border-bottom: 1px solid var(--rule); padding-bottom: 32px; }
.p-engagement .pilier:last-child { border-bottom: none; }
.p-engagement .sujets { padding: 80px 32px; }
.p-engagement .sujets-grid { grid-template-columns: 1fr; }
.p-engagement .sujets-header { flex-direction: column; align-items: flex-start; gap: 24px; }
.p-engagement .sujets-meta { text-align: left; }
.p-engagement .tribune { padding: 80px 32px; }
.p-engagement .tribune-inner { grid-template-columns: 1fr; gap: 40px; }
.p-engagement .interlocuteurs { padding: 80px 32px; }
.p-engagement .interlocuteurs-grid { grid-template-columns: 1fr 1fr; }
.p-engagement .closing { padding: 100px 32px; }
.p-engagement nav a:not(.contact-cta) { display: none; }
}
@media (max-width: 600px) {
.p-engagement .interlocuteurs-grid { grid-template-columns: 1fr; }
}

/* ========== PAGE : index ========== */
/* Texture subtile sur le fond */
/* Sans-serif uniquement pour les éléments utilitaires */
/* ============ NAVIGATION ============ */
.p-index .logo:hover .logo-mark { opacity: 0.85; }
/* ============ HERO ============ */
.p-index .hero { min-height: 100vh;
    position: relative;
    z-index: 2;
    padding: 180px 56px 80px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center; }
.p-index .hero-left { position: relative; }
.p-index .eyebrow { color: var(--accent);
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    margin-bottom: 48px;
    display: flex;
    align-items: center;
    gap: 16px;
    opacity: 0;
    animation: fadeUp 1.2s ease 0.2s forwards; }
.p-index .eyebrow::before { content: '';
    width: 32px;
    height: 1px;
    background: var(--accent); }
.p-index h1 { font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(46px, 5.2vw, 78px);
    line-height: 1.05;
    letter-spacing: -0.01em;
    color: var(--text);
    margin-bottom: 40px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.4s forwards; }
.p-index h1 em { font-style: italic;
    font-weight: 400;
    color: var(--accent); }
.p-index .tagline { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 22px;
    color: var(--text-soft);
    letter-spacing: 0.02em;
    margin-bottom: 56px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.6s forwards; }
.p-index .hero-actions { display: flex;
    gap: 24px;
    align-items: center;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.8s forwards; }
.p-index .btn-primary { color: var(--text);
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    padding: 16px 32px;
    border: 1px solid var(--accent);
    transition: all 0.5s ease;
    background: transparent; }
.p-index .btn-primary:hover { background: var(--accent);
    color: var(--bg);
    letter-spacing: 0.3em; }
.p-index .btn-ghost { color: var(--text-soft);
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    transition: color 0.4s ease; }
.p-index .btn-ghost:hover { color: var(--accent); }
/* Hero right — Carte / blason éditorial */
.p-index .hero-right { position: relative;
    opacity: 0;
    animation: fadeIn 2s ease 1s forwards; }
.p-index .crest { border: 1px solid var(--rule-strong);
    padding: 48px;
    position: relative;
    background: linear-gradient(135deg, rgba(26, 110, 128, 0.06), rgba(14, 22, 32, 0.4)); }
.p-index .crest::before, .p-index .crest::after { content: '';
    position: absolute;
    width: 24px;
    height: 24px;
    border: 1px solid var(--accent); }
.p-index .crest::before { top: -1px; left: -1px;
    border-right: none;
    border-bottom: none; }
.p-index .crest::after { bottom: -1px; right: -1px;
    border-left: none;
    border-top: none; }
.p-index .crest-label { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 28px; }
.p-index .crest-title { font-family: 'Cormorant Garamond', serif;
    font-size: 36px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.2;
    color: var(--text);
    margin-bottom: 32px; }
.p-index .crest-rule { width: 40px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 28px; }
.p-index .territories { display: flex;
    flex-direction: column;
    gap: 14px; }
.p-index .territory { display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--rule); }
.p-index .territory:last-child { border-bottom: none; }
.p-index .territory-name { font-family: 'Cormorant Garamond', serif;
    font-size: 19px;
    color: var(--text); }
.p-index .territory-mark { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    color: var(--text-mute);
    text-transform: uppercase; }
/* ============ MANIFESTE ============ */
.p-index .manifest { position: relative;
    z-index: 2;
    padding: 100px 56px;
    text-align: center;
    max-width: 880px;
    margin: 0 auto;
    border-top: 1px solid var(--rule); }
.p-index .manifest-rule { width: 32px;
    height: 1px;
    background: var(--accent);
    margin: 0 auto 32px; }
.p-index .section-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 40px; }
.p-index .manifest-quote { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(22px, 2.2vw, 30px);
    line-height: 1.45;
    color: var(--text-soft);
    font-weight: 400;
    letter-spacing: -0.005em; }
.p-index .manifest-quote em { color: var(--accent);
    font-weight: 400;
    font-style: italic; }
/* ============ PRATIQUES ============ */
.p-index .practices { position: relative;
    z-index: 2;
    padding: 100px 56px 140px;
    max-width: 1400px;
    margin: 0 auto;
    border-top: 1px solid var(--rule); }
.p-index .practices-header { display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 80px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--rule); }
.p-index .practices-title { font-family: 'Cormorant Garamond', serif;
    font-size: 48px;
    font-weight: 500;
    color: var(--text);
    line-height: 1; }
.p-index .practices-title em { font-style: italic;
    color: var(--accent); }
.p-index .practices-meta { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-mute);
    text-align: right; }
.p-index .practice-grid { display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-left: 1px solid var(--rule); }
.p-index .practice { padding: 48px 40px 52px;
    border-right: 1px solid var(--rule);
    position: relative;
    transition: background 0.6s ease;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: block; }
.p-index .practice:hover { background: rgba(26, 110, 128, 0.06); }
.p-index .practice::after { content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 1px;
    background: var(--accent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.6s ease; }
.p-index .practice:hover::after { transform: scaleX(1); }
.p-index .practice-number { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    color: var(--accent);
    margin-bottom: 36px; }
.p-index .practice-title { font-family: 'Cormorant Garamond', serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.15;
    color: var(--text);
    margin-bottom: 28px;
    min-height: 110px; }
.p-index .practice-title em { font-style: italic; }
.p-index .practice-rule { width: 28px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 28px;
    transition: width 0.5s ease; }
.p-index .practice:hover .practice-rule { width: 60px; }
.p-index .practice-desc { color: var(--text-soft);
    font-size: 17px;
    line-height: 1.65;
    margin-bottom: 36px;
    text-align: justify;
    hyphens: auto; }
.p-index .practice-link { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    display: inline-flex;
    align-items: center;
    gap: 12px;
    transition: gap 0.4s ease; }
.p-index .practice:hover .practice-link { gap: 20px; }
/* ============ BANDEAU INTERMÉDIAIRE ============ */
.p-index .interstitial { position: relative;
    z-index: 2;
    padding: 100px 56px;
    background: var(--bg-deep);
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule); }
.p-index .interstitial-inner { max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    align-items: start; }
.p-index .interstitial-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent); }
.p-index .interstitial-text { font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    line-height: 1.6;
    color: var(--text);
    text-align: justify;
    font-weight: 300; }
.p-index .interstitial-text em { color: var(--accent);
    font-style: italic; }
/* ============ FOOTER ============ */
.p-index .footer-bottom-left, .p-index .footer-bottom-right { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--text-mute); }
/* ============ ANIMATIONS ============ */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
.p-index .hero { grid-template-columns: 1fr;
      padding: 140px 32px 60px;
      gap: 60px; }
.p-index .practice-grid { grid-template-columns: 1fr;
      border-top: 1px solid var(--rule); }
.p-index .practice { border-bottom: 1px solid var(--rule);
      border-right: 1px solid var(--rule); }
.p-index .practice-title { min-height: auto; }
.p-index nav a:not(.contact-cta) { display: none; }
.p-index .practices, .p-index .manifest, .p-index .interstitial { padding-left: 32px; padding-right: 32px; }
.p-index .interstitial-inner { grid-template-columns: 1fr; gap: 32px; }
.p-index .practices-header { flex-direction: column; align-items: flex-start; gap: 24px; }
.p-index .practices-meta { text-align: left; }
}
@media (max-width: 600px) {
.p-index h1 { font-size: 42px; }
.p-index .crest { padding: 32px 24px; }
}

/* ========== PAGE : insights ========== */
.p-insights .meta, .p-insights nav, .p-insights .lang { font-family: 'Inter', -apple-system, sans-serif;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 11px; }
/* ============ NAV ============ */
.p-insights .logo:hover .logo-mark { opacity: 0.85; }
.p-insights nav a:hover, .p-insights nav a.active { color: var(--accent); }
/* ============ HERO ============ */
.p-insights .page-hero { position: relative;
    z-index: 2;
    padding: 200px 56px 80px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-insights .breadcrumb { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 56px;
    display: flex;
    align-items: center;
    gap: 16px;
    opacity: 0;
    animation: fadeUp 1.2s ease 0.2s forwards; }
.p-insights .breadcrumb a { color: var(--text-mute);
    text-decoration: none;
    transition: color 0.3s ease; }
.p-insights .breadcrumb a:hover { color: var(--accent); }
.p-insights .breadcrumb::before { content: '';
    width: 32px;
    height: 1px;
    background: var(--accent); }
.p-insights .breadcrumb .sep { color: var(--text-mute);
    opacity: 0.4; }
.p-insights .page-title { font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(60px, 8vw, 120px);
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--text);
    margin-bottom: 40px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.4s forwards; }
.p-insights .page-title em { font-style: italic;
    color: var(--accent);
    font-weight: 400; }
.p-insights .page-subtitle { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(20px, 1.9vw, 24px);
    color: var(--text-soft);
    max-width: 720px;
    line-height: 1.5;
    margin-bottom: 64px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.5s forwards; }
.p-insights .hero-baseline { display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    padding-top: 48px;
    border-top: 1px solid var(--rule);
    opacity: 0;
    animation: fadeUp 1.4s ease 0.6s forwards; }
.p-insights .baseline-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent); }
.p-insights .baseline-text { font-family: 'Cormorant Garamond', serif;
    font-size: 20px;
    line-height: 1.65;
    color: var(--text-soft);
    font-weight: 300;
    text-align: justify;
    hyphens: auto;
    max-width: 760px; }
.p-insights .baseline-text em { color: var(--text);
    font-style: italic; }
/* ============ INDEX SÉMANTIQUE (ex-filtres, désormais non-interactif) ============ */
.p-insights .topics-section { position: relative;
    z-index: 2;
    padding: 48px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px; }
.p-insights .topics-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-mute); }
.p-insights .topics-list { display: flex;
    gap: 32px;
    flex-wrap: wrap;
    align-items: center; }
.p-insights .topic-name { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 17px;
    color: var(--text-soft); }
.p-insights .topic-sep { color: var(--text-mute);
    opacity: 0.3;
    font-family: 'Inter', sans-serif;
    font-size: 10px; }
/* ============ FEATURED ============ */
.p-insights .featured { position: relative;
    z-index: 2;
    padding: 100px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-insights .featured-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 48px; }
.p-insights .featured-article { display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 80px;
    align-items: end;
    padding-bottom: 8px;
    text-decoration: none;
    color: inherit; }
.p-insights .featured-meta { display: flex;
    flex-direction: column;
    gap: 20px; }
.p-insights .article-tag { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent); }
.p-insights .article-date { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.2em;
    color: var(--text-mute);
    text-transform: uppercase; }
.p-insights .featured-title { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(38px, 4.4vw, 64px);
    font-weight: 500;
    line-height: 1.05;
    color: var(--text);
    letter-spacing: -0.01em;
    transition: color 0.4s ease; }
.p-insights .featured-title em { font-style: italic;
    color: var(--accent); }
.p-insights .featured-article:hover .featured-title { color: var(--accent); }
.p-insights .featured-excerpt { font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    font-style: italic;
    line-height: 1.55;
    color: var(--text-soft);
    margin-top: 24px;
    max-width: 540px; }
.p-insights .featured-link { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    display: inline-flex;
    gap: 12px;
    margin-top: 32px;
    transition: gap 0.4s ease; }
.p-insights .featured-article:hover .featured-link { gap: 20px; }
/* ============ ARCHIVE — liste éditoriale ============ */
.p-insights .archive { position: relative;
    z-index: 2;
    padding: 100px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-insights .archive-header { display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 64px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--rule); }
.p-insights .archive-title { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(36px, 4vw, 52px);
    font-weight: 500;
    color: var(--text);
    line-height: 1.05; }
.p-insights .archive-title em { font-style: italic;
    color: var(--accent); }
.p-insights .archive-count { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-mute); }
.p-insights .archive-list { display: flex;
    flex-direction: column; }
.p-insights .archive-item { display: grid;
    grid-template-columns: 140px 100px 1fr 120px;
    gap: 56px;
    padding: 36px 0;
    border-bottom: 1px solid var(--rule);
    align-items: baseline;
    text-decoration: none;
    color: inherit;
    transition: padding 0.5s ease, background 0.5s ease; }
.p-insights .archive-item:hover { padding-left: 24px;
    padding-right: 24px;
    background: rgba(26, 110, 128, 0.04); }
.p-insights .archive-item .article-date, .p-insights .archive-item .article-tag { align-self: baseline; }
.p-insights .archive-item-title { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 500;
    line-height: 1.25;
    color: var(--text);
    transition: color 0.4s ease; }
.p-insights .archive-item-title em { font-style: italic;
    color: var(--accent); }
.p-insights .archive-item:hover .archive-item-title { color: var(--accent); }
.p-insights .archive-item-link { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    text-align: right;
    opacity: 0.6;
    transition: opacity 0.4s ease; }
.p-insights .archive-item:hover .archive-item-link { opacity: 1; }
/* ============ INVITATION ============ */
.p-insights .invitation { position: relative;
    z-index: 2;
    padding: 140px 56px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--rule); }
.p-insights .invitation-inner { max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 80px;
    align-items: start; }
.p-insights .invitation-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent); }
.p-insights .invitation-content h2 { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(32px, 3.4vw, 44px);
    font-weight: 500;
    line-height: 1.15;
    color: var(--text);
    margin-bottom: 32px; }
.p-insights .invitation-content h2 em { font-style: italic;
    color: var(--accent); }
.p-insights .invitation-content p { font-family: 'Cormorant Garamond', serif;
    font-size: 20px;
    line-height: 1.65;
    color: var(--text-soft);
    text-align: justify;
    hyphens: auto;
    margin-bottom: 36px; }
.p-insights .invitation-content p em { color: var(--text);
    font-style: italic; }
.p-insights .invitation-cta { color: var(--text);
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    padding: 16px 32px;
    border: 1px solid var(--accent);
    transition: all 0.5s ease;
    display: inline-block; }
.p-insights .invitation-cta:hover { background: var(--accent);
    color: var(--bg);
    letter-spacing: 0.35em; }
/* ============ FOOTER ============ */
.p-insights .footer-bottom-left, .p-insights .footer-bottom-right { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--text-mute); }
/* ============ ANIMATIONS ============ */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }
/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
.p-insights .page-hero { padding: 140px 32px 60px; }
.p-insights .hero-baseline { grid-template-columns: 1fr; gap: 24px; }
.p-insights .topics-section { padding: 32px; flex-direction: column; align-items: flex-start; }
.p-insights .featured { padding: 60px 32px; }
.p-insights .featured-article { grid-template-columns: 1fr; gap: 32px; }
.p-insights .archive { padding: 60px 32px; }
.p-insights .archive-item { grid-template-columns: 1fr;
      gap: 14px;
      padding: 28px 0; }
.p-insights .archive-item-link { text-align: left; }
.p-insights .archive-header { flex-direction: column; align-items: flex-start; gap: 24px; }
.p-insights .invitation { padding: 80px 32px; }
.p-insights .invitation-inner { grid-template-columns: 1fr; gap: 32px; }
.p-insights nav a:not(.contact-cta) { display: none; }
}
@media (max-width: 600px) {
.p-insights .topics-list { gap: 18px; }
}

/* ========== PAGE : mentions-legales ========== */
.p-mentions-legales .meta, .p-mentions-legales nav, .p-mentions-legales .lang { font-family: 'Inter', -apple-system, sans-serif;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 11px; }
/* ============ NAV ============ */
.p-mentions-legales .logo:hover .logo-mark { opacity: 0.85; }
/* ============ HERO ============ */
.p-mentions-legales .page-hero { position: relative;
    z-index: 2;
    padding: 200px 56px 80px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-mentions-legales .breadcrumb { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 56px;
    display: flex;
    align-items: center;
    gap: 16px;
    opacity: 0;
    animation: fadeUp 1.2s ease 0.2s forwards; }
.p-mentions-legales .breadcrumb a { color: var(--text-mute);
    text-decoration: none;
    transition: color 0.3s ease; }
.p-mentions-legales .breadcrumb a:hover { color: var(--accent); }
.p-mentions-legales .breadcrumb::before { content: '';
    width: 32px;
    height: 1px;
    background: var(--accent); }
.p-mentions-legales .breadcrumb .sep { color: var(--text-mute);
    opacity: 0.4; }
.p-mentions-legales .page-title { font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(48px, 6.5vw, 100px);
    line-height: 1.02;
    letter-spacing: -0.015em;
    color: var(--text);
    margin-bottom: 48px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.4s forwards; }
.p-mentions-legales .page-title em { font-style: italic;
    color: var(--accent);
    font-weight: 400; }
.p-mentions-legales .page-subtitle { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(20px, 1.8vw, 24px);
    color: var(--text-soft);
    max-width: 760px;
    line-height: 1.55;
    margin-bottom: 0;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.5s forwards; }
/* ============ SOMMAIRE ============ */
.p-mentions-legales .toc-section { position: relative;
    z-index: 2;
    padding: 48px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-mentions-legales .toc-grid { display: grid;
    grid-template-columns: 200px 1fr;
    gap: 80px;
    align-items: start; }
.p-mentions-legales .toc-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    padding-top: 6px; }
.p-mentions-legales .toc-list { display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px 40px;
    list-style: none; }
.p-mentions-legales .toc-list a { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-soft);
    text-decoration: none;
    transition: color 0.3s ease;
    display: flex;
    gap: 14px;
    align-items: baseline; }
.p-mentions-legales .toc-list a:hover { color: var(--accent); }
.p-mentions-legales .toc-list a .num { color: var(--text-mute);
    font-size: 10px; }
/* ============ CONTENU ÉDITORIAL ============ */
.p-mentions-legales .content { position: relative;
    z-index: 2;
    padding: 100px 56px 140px;
    max-width: 1400px;
    margin: 0 auto; }
.p-mentions-legales .article { display: grid;
    grid-template-columns: 240px 1fr;
    gap: 80px;
    padding: 64px 0;
    border-bottom: 1px solid var(--rule);
    align-items: start; }
.p-mentions-legales .article:first-of-type { padding-top: 16px; }
.p-mentions-legales .article:last-of-type { border-bottom: none; }
.p-mentions-legales .article-side { position: sticky;
    top: 120px; }
.p-mentions-legales .article-number { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.35em;
    color: var(--accent);
    margin-bottom: 12px; }
.p-mentions-legales .article-title { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(28px, 2.6vw, 36px);
    font-weight: 500;
    line-height: 1.1;
    color: var(--text);
    letter-spacing: -0.01em; }
.p-mentions-legales .article-title em { font-style: italic;
    color: var(--accent); }
.p-mentions-legales .article-body { max-width: 760px; }
.p-mentions-legales .article-body p { font-family: 'Cormorant Garamond', serif;
    font-size: 19px;
    line-height: 1.65;
    color: var(--text-soft);
    text-align: justify;
    hyphens: auto; }
.p-mentions-legales .article-body p + p { margin-top: 18px; }
.p-mentions-legales .article-body p em { color: var(--text);
    font-style: italic; }
.p-mentions-legales .article-body strong { color: var(--text);
    font-weight: 500; }
/* Definition list */
.p-mentions-legales .dl { display: grid;
    grid-template-columns: 220px 1fr;
    gap: 16px 32px;
    margin-top: 8px; }
.p-mentions-legales .dl dt { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    padding-top: 6px;
    line-height: 1.4; }
.p-mentions-legales .dl dd { font-family: 'Cormorant Garamond', serif;
    font-size: 19px;
    color: var(--text);
    line-height: 1.5; }
.p-mentions-legales .dl dd .secondary { color: var(--text-soft);
    font-style: italic;
    font-size: 17px;
    display: block;
    margin-top: 4px; }
.p-mentions-legales .dl dd a { color: var(--text);
    text-decoration: none;
    border-bottom: 1px solid var(--rule-strong);
    transition: color 0.3s ease, border-color 0.3s ease; }
.p-mentions-legales .dl dd a:hover { color: var(--accent);
    border-bottom-color: var(--accent); }
.p-mentions-legales .pending { color: var(--accent);
    font-style: italic;
    border-bottom: 1px dashed var(--accent);
    padding-bottom: 2px; }
/* Citation légale */
.p-mentions-legales .quote { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 19px;
    line-height: 1.6;
    color: var(--text);
    padding: 24px 32px;
    border-left: 1px solid var(--accent);
    background: rgba(26, 110, 128, 0.05);
    margin: 20px 0; }
.p-mentions-legales .quote-source { display: block;
    margin-top: 12px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-mute);
    font-style: normal; }
/* ============ DATE & VERSION ============ */
.p-mentions-legales .meta-block { position: relative;
    z-index: 2;
    padding: 80px 56px;
    background: var(--bg-deep);
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule); }
.p-mentions-legales .meta-inner { max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 56px; }
.p-mentions-legales .meta-item { display: flex;
    flex-direction: column;
    gap: 12px; }
.p-mentions-legales .meta-item-label { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent); }
.p-mentions-legales .meta-item-value { font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    color: var(--text);
    line-height: 1.4; }
.p-mentions-legales .meta-item-value em { font-style: italic;
    color: var(--text-soft); }
/* ============ FOOTER ============ */
.p-mentions-legales .footer-bottom-left, .p-mentions-legales .footer-bottom-right { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--text-mute); }
/* ============ ANIMATIONS ============ */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }
/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
.p-mentions-legales .page-hero { padding: 140px 32px 60px; }
.p-mentions-legales .toc-section { padding: 32px; }
.p-mentions-legales .toc-grid { grid-template-columns: 1fr; gap: 24px; }
.p-mentions-legales .toc-list { grid-template-columns: 1fr 1fr; gap: 12px 24px; }
.p-mentions-legales .content { padding: 60px 32px 80px; }
.p-mentions-legales .article { grid-template-columns: 1fr;
      gap: 24px;
      padding: 40px 0; }
.p-mentions-legales .article-side { position: static; }
.p-mentions-legales .dl { grid-template-columns: 1fr; gap: 4px 0; }
.p-mentions-legales .dl dt { padding-top: 16px; }
.p-mentions-legales .dl dd { padding-bottom: 8px; }
.p-mentions-legales .meta-block { padding: 60px 32px; }
.p-mentions-legales .meta-inner { grid-template-columns: 1fr; gap: 32px; }
.p-mentions-legales nav a:not(.contact-cta) { display: none; }
}
@media (max-width: 600px) {
.p-mentions-legales .toc-list { grid-template-columns: 1fr; }
}

/* ========== PAGE : note-restitutions ========== */
.p-note-restitutions .meta, .p-note-restitutions nav, .p-note-restitutions .lang, .p-note-restitutions .legal, .p-note-restitutions .badge, .p-note-restitutions .number, .p-note-restitutions .article-meta-label, .p-note-restitutions .pagination-label { font-family: 'Inter', -apple-system, sans-serif;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 11px; }
/* ============ HEADER ============ */
.p-note-restitutions .contact-cta { border: 1px solid var(--rule-strong);
    padding: 10px 20px;
    color: var(--text) !important; }
/* ============ ARTICLE HEAD ============ */
.p-note-restitutions .article-head { max-width: 880px;
    margin: 0 auto;
    padding: 180px 56px 80px;
    position: relative;
    z-index: 2; }
.p-note-restitutions .breadcrumb { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-mute);
    margin-bottom: 64px;
    display: flex;
    gap: 12px;
    align-items: center; }
.p-note-restitutions .breadcrumb a { color: var(--text-mute);
    text-decoration: none;
    transition: color 0.2s ease; }
.p-note-restitutions .breadcrumb a:hover { color: var(--accent); }
.p-note-restitutions .breadcrumb .sep { color: var(--text-mute); opacity: 0.4; }
.p-note-restitutions .article-meta-row { display: flex;
    gap: 28px;
    margin-bottom: 32px;
    flex-wrap: wrap; }
.p-note-restitutions .article-meta { color: var(--text-mute);
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase; }
.p-note-restitutions .article-meta strong { color: var(--accent);
    font-weight: 400; }
.p-note-restitutions .article-title { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.01em;
    margin-bottom: 32px; }
.p-note-restitutions .article-title em { color: var(--accent);
    font-style: italic;
    font-weight: 500; }
.p-note-restitutions .article-deck { font-size: 22px;
    line-height: 1.5;
    color: var(--text-soft);
    font-style: italic;
    max-width: 720px;
    margin-bottom: 56px;
    font-weight: 300; }
.p-note-restitutions .article-head-rule { width: 80px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 56px; }
/* ============ SOMMAIRE ============ */
.p-note-restitutions .toc { max-width: 880px;
    margin: 0 auto;
    padding: 40px 56px 100px;
    position: relative;
    z-index: 2; }
.p-note-restitutions .toc-inner { border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    padding: 36px 0;
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 48px; }
.p-note-restitutions .toc-label { color: var(--text-mute);
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase; }
.p-note-restitutions .toc-list { list-style: none;
    counter-reset: toc; }
.p-note-restitutions .toc-list li { counter-increment: toc;
    margin-bottom: 14px; }
.p-note-restitutions .toc-list li:last-child { margin-bottom: 0; }
.p-note-restitutions .toc-list a { color: var(--text-soft);
    text-decoration: none;
    font-size: 19px;
    display: flex;
    align-items: baseline;
    gap: 16px;
    transition: color 0.2s ease; }
.p-note-restitutions .toc-list a::before { content: counter(toc, decimal-leading-zero);
    color: var(--accent);
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.12em;
    min-width: 28px; }
.p-note-restitutions .toc-list a:hover { color: var(--accent); }
/* ============ CORPS DE L'ARTICLE ============ */
.p-note-restitutions .article-body { max-width: 760px;
    margin: 0 auto;
    padding: 0 56px 120px;
    position: relative;
    z-index: 2; }
.p-note-restitutions .section { margin-bottom: 96px; }
.p-note-restitutions .section-num { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 20px; }
.p-note-restitutions .section-title { font-family: 'Cormorant Garamond', serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 1.18;
    margin-bottom: 48px;
    letter-spacing: -0.005em; }
.p-note-restitutions .section-title em { color: var(--accent);
    font-style: italic;
    font-weight: 500; }
.p-note-restitutions .section-rule { width: 60px;
    height: 1px;
    background: var(--accent);
    opacity: 0.5;
    margin-bottom: 40px; }
.p-note-restitutions .article-body p { margin-bottom: 22px;
    text-align: justify;
    hyphens: auto; }
.p-note-restitutions .article-body p:last-child { margin-bottom: 0; }
.p-note-restitutions .article-body em { color: var(--accent);
    font-style: italic; }
.p-note-restitutions .article-body strong { color: var(--text);
    font-weight: 500; }
.p-note-restitutions .subsection-title { font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.3;
    margin: 36px 0 18px;
    color: var(--text); }
.p-note-restitutions .subsection-title em { color: var(--accent);
    font-style: italic; }
/* Encadré citation */
.p-note-restitutions .pull-quote { border-left: 1px solid var(--accent);
    padding: 4px 0 4px 32px;
    margin: 40px 0;
    font-style: italic;
    color: var(--text-soft);
    font-size: 22px;
    line-height: 1.5; }
/* Encadré proposition */
.p-note-restitutions .proposition { background: rgba(142, 197, 207, 0.04);
    border: 1px solid var(--rule);
    padding: 36px 40px;
    margin: 32px 0; }
.p-note-restitutions .proposition-label { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 14px; }
.p-note-restitutions .proposition-title { font-family: 'Cormorant Garamond', serif;
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 16px;
    line-height: 1.25; }
.p-note-restitutions .proposition-title em { color: var(--accent);
    font-style: italic; }
.p-note-restitutions .proposition p { margin-bottom: 14px;
    color: var(--text-soft);
    font-size: 17px;
    text-align: left; }
.p-note-restitutions .proposition p:last-child { margin-bottom: 0; }
/* ============ CLAUSE FINALE ============ */
.p-note-restitutions .epilogue { max-width: 760px;
    margin: 0 auto;
    padding: 80px 56px 100px;
    text-align: center;
    border-top: 1px solid var(--rule);
    position: relative;
    z-index: 2; }
.p-note-restitutions .epilogue-label { color: var(--text-mute);
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 28px; }
.p-note-restitutions .epilogue-text { font-size: 24px;
    line-height: 1.45;
    font-style: italic;
    color: var(--text-soft);
    max-width: 580px;
    margin: 0 auto; }
.p-note-restitutions .epilogue-text em { color: var(--accent);
    font-style: italic; }
/* ============ COLOPHON ============ */
.p-note-restitutions .colophon { max-width: 880px;
    margin: 0 auto;
    padding: 60px 56px 80px;
    border-top: 1px solid var(--rule);
    position: relative;
    z-index: 2; }
.p-note-restitutions .colophon-grid { display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 32px; }
.p-note-restitutions .colophon-item { display: flex;
    flex-direction: column;
    gap: 8px; }
.p-note-restitutions .colophon-label { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-mute); }
.p-note-restitutions .colophon-value { font-size: 16px;
    color: var(--text); }
.p-note-restitutions .colophon-value em { color: var(--accent);
    font-style: italic; }
/* ============ NAVIGATION INFÉRIEURE ============ */
.p-note-restitutions .article-nav { max-width: 880px;
    margin: 0 auto;
    padding: 0 56px 100px;
    position: relative;
    z-index: 2; }
.p-note-restitutions .nav-back { display: inline-flex;
    align-items: center;
    gap: 14px;
    color: var(--text-soft);
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: color 0.2s ease;
    padding: 14px 24px;
    border: 1px solid var(--rule); }
.p-note-restitutions .nav-back:hover { color: var(--accent); border-color: var(--accent); }
/* ============ FOOTER ============ */
.p-note-restitutions .footer-col li { margin-bottom: 10px; }
/* ============ RESPONSIVE ============ */
@media (max-width: 900px) {
.p-note-restitutions .article-head { padding: 130px 24px 60px; }
.p-note-restitutions .article-title { font-size: 36px; }
.p-note-restitutions .article-deck { font-size: 19px; }
.p-note-restitutions .toc { padding: 30px 24px 60px; }
.p-note-restitutions .toc-inner { grid-template-columns: 1fr; gap: 24px; }
.p-note-restitutions .article-body { padding: 0 24px 80px; }
.p-note-restitutions .section { margin-bottom: 70px; }
.p-note-restitutions .section-title { font-size: 28px; }
.p-note-restitutions .epilogue { padding: 60px 24px 80px; }
.p-note-restitutions .colophon { padding: 50px 24px 60px; }
.p-note-restitutions .colophon-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
.p-note-restitutions .article-nav { padding: 0 24px 80px; }
.p-note-restitutions .proposition { padding: 28px 24px; }
}
/* ============ IMPRESSION PDF ============ */
@media print {
@page { size: A4; margin: 22mm 20mm; }
body::before, body::after { display: none !important; }
.p-note-restitutions header, .p-note-restitutions footer, .p-note-restitutions .article-nav, .p-note-restitutions .breadcrumb { display: none !important; }
.p-note-restitutions .article-head { padding: 0 0 24px; max-width: none; }
.p-note-restitutions .article-head-rule { background: #1a6e80 !important; }
.p-note-restitutions .article-title { font-size: 28pt; color: #1a1a1a !important; page-break-after: avoid; }
.p-note-restitutions .article-title em { color: #1a6e80 !important; }
.p-note-restitutions .article-deck { color: #444 !important; font-size: 13pt; margin-bottom: 24px; }
.p-note-restitutions .article-meta { color: #888 !important; }
.p-note-restitutions .article-meta strong { color: #1a6e80 !important; }
.p-note-restitutions .toc { padding: 0 0 32px; max-width: none; page-break-after: always; }
.p-note-restitutions .toc-inner { border-color: #ccc !important; padding: 16px 0; }
.p-note-restitutions .toc-label { color: #666 !important; }
.p-note-restitutions .toc-list a { color: #1a1a1a !important; font-size: 11pt; }
.p-note-restitutions .toc-list a::before { color: #1a6e80 !important; }
.p-note-restitutions .article-body { padding: 0; max-width: none; }
.p-note-restitutions .article-body .section:first-child { margin-top: 8pt; }
.p-note-restitutions .section { margin-bottom: 32px; }
.p-note-restitutions .section-num { color: #1a6e80 !important; }
.p-note-restitutions .section-title { color: #1a1a1a !important; font-size: 17pt; page-break-after: avoid; margin-bottom: 18px; }
.p-note-restitutions .section-title em { color: #1a6e80 !important; }
.p-note-restitutions .section-rule { background: #1a6e80 !important; opacity: 1; margin-bottom: 16px; }
.p-note-restitutions .subsection-title { color: #1a1a1a !important; font-size: 13pt; page-break-after: avoid; margin-top: 18px; margin-bottom: 10px; }
.p-note-restitutions .subsection-title em { color: #1a6e80 !important; }
.p-note-restitutions .article-body p { color: #1a1a1a !important; margin-bottom: 10pt; orphans: 3; widows: 3; }
.p-note-restitutions .article-body em { color: #1a6e80 !important; }
.p-note-restitutions .article-body strong { color: #1a1a1a !important; }
.p-note-restitutions .pull-quote { border-left-color: #1a6e80 !important;
      color: #444 !important;
      font-size: 12pt;
      margin: 14pt 0;
      padding: 4pt 0 4pt 20pt;
      page-break-inside: avoid; }
.p-note-restitutions .proposition { background: #f6f8f9 !important;
      border-color: #ccc !important;
      padding: 14pt 18pt;
      margin: 14pt 0;
      page-break-inside: avoid; }
.p-note-restitutions .proposition-label { color: #1a6e80 !important; }
.p-note-restitutions .proposition-title { color: #1a1a1a !important; font-size: 13pt; }
.p-note-restitutions .proposition-title em { color: #1a6e80 !important; }
.p-note-restitutions .proposition p { color: #444 !important; font-size: 10.5pt; }
.p-note-restitutions .epilogue { padding: 24px 0; max-width: none; border-color: #ccc !important; page-break-inside: avoid; }
.p-note-restitutions .epilogue-label { color: #666 !important; }
.p-note-restitutions .epilogue-text { color: #444 !important; font-size: 13pt; }
.p-note-restitutions .epilogue-text em { color: #1a6e80 !important; }
.p-note-restitutions .colophon { padding: 24px 0 0; max-width: none; border-color: #ccc !important; page-break-inside: avoid; }
.p-note-restitutions .colophon-label { color: #888 !important; }
.p-note-restitutions .colophon-value { color: #1a1a1a !important; font-size: 10pt; }
.p-note-restitutions .colophon-value em { color: #1a6e80 !important; }
}

/* ========== PAGE : ppp ========== */
.p-ppp .meta, .p-ppp nav, .p-ppp .lang { font-family: 'Inter', -apple-system, sans-serif;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 11px; }
/* ============ NAV ============ */
.p-ppp .logo:hover .logo-mark { opacity: 0.85; }
.p-ppp nav a:hover, .p-ppp nav a.active { color: var(--accent); }
/* ============ HERO ============ */
.p-ppp .page-hero { position: relative;
    z-index: 2;
    padding: 200px 56px 100px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-ppp .breadcrumb { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 56px;
    display: flex;
    align-items: center;
    gap: 16px;
    opacity: 0;
    animation: fadeUp 1.2s ease 0.2s forwards; }
.p-ppp .breadcrumb a { color: var(--text-mute);
    text-decoration: none;
    transition: color 0.3s ease; }
.p-ppp .breadcrumb a:hover { color: var(--accent); }
.p-ppp .breadcrumb::before { content: '';
    width: 32px;
    height: 1px;
    background: var(--accent); }
.p-ppp .breadcrumb .sep { color: var(--text-mute);
    opacity: 0.4; }
.p-ppp .pratique-number { font-family: 'Inter', sans-serif;
    font-size: 13px;
    letter-spacing: 0.4em;
    color: var(--accent);
    margin-bottom: 32px;
    opacity: 0;
    animation: fadeUp 1.2s ease 0.3s forwards; }
.p-ppp .page-title { font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(50px, 6vw, 92px);
    line-height: 1.02;
    letter-spacing: -0.015em;
    color: var(--text);
    margin-bottom: 48px;
    max-width: 1100px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.4s forwards; }
.p-ppp .page-title em { font-style: italic;
    color: var(--accent);
    font-weight: 400; }
.p-ppp .page-subtitle { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(22px, 2vw, 26px);
    color: var(--text-soft);
    max-width: 720px;
    line-height: 1.5;
    margin-bottom: 80px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.5s forwards; }
.p-ppp .page-intro-row { display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 80px;
    opacity: 0;
    animation: fadeUp 1.4s ease 0.6s forwards; }
.p-ppp .intro-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent); }
.p-ppp .intro-text { font-family: 'Cormorant Garamond', serif;
    font-size: 21px;
    line-height: 1.65;
    color: var(--text-soft);
    font-weight: 300;
    text-align: justify;
    hyphens: auto; }
.p-ppp .intro-text + .intro-text { margin-top: 18px; }
.p-ppp .intro-text em { color: var(--text);
    font-style: italic; }
/* ============ ANGLE ÉDITORIAL ============ */
.p-ppp .angle { position: relative;
    z-index: 2;
    padding: 140px 56px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--rule); }
.p-ppp .angle-inner { max-width: 1100px;
    margin: 0 auto;
    text-align: center; }
.p-ppp .angle-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 48px; }
.p-ppp .angle-text { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(30px, 3.4vw, 48px);
    line-height: 1.3;
    color: var(--text);
    font-weight: 400;
    letter-spacing: -0.005em; }
.p-ppp .angle-text em { color: var(--accent);
    font-weight: 500; }
.p-ppp .angle-rule { width: 60px;
    height: 1px;
    background: var(--accent);
    margin: 48px auto 32px; }
.p-ppp .angle-caption { font-family: 'Cormorant Garamond', serif;
    font-size: 18px;
    color: var(--text-soft);
    max-width: 680px;
    margin: 0 auto;
    line-height: 1.65; }
/* ============ DOMAINES D'INTERVENTION ============ */
.p-ppp .domains { position: relative;
    z-index: 2;
    padding: 140px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-ppp .section-header { display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 80px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--rule); }
.p-ppp .section-title { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(36px, 4vw, 52px);
    font-weight: 500;
    color: var(--text);
    line-height: 1.05;
    max-width: 760px; }
.p-ppp .section-title em { font-style: italic;
    color: var(--accent); }
.p-ppp .section-meta { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--text-mute);
    text-align: right;
    line-height: 1.7; }
.p-ppp .domains-grid { display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    border-left: 1px solid var(--rule);
    border-top: 1px solid var(--rule); }
.p-ppp .domain { padding: 40px 36px 44px;
    border-right: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    position: relative;
    transition: background 0.5s ease; }
.p-ppp .domain:hover { background: rgba(26, 110, 128, 0.05); }
.p-ppp .domain-number { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    color: var(--accent);
    margin-bottom: 24px; }
.p-ppp .domain-title { font-family: 'Cormorant Garamond', serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--text);
    margin-bottom: 18px; }
.p-ppp .domain-title em { font-style: italic;
    color: var(--accent); }
.p-ppp .domain-rule { width: 24px;
    height: 1px;
    background: var(--accent);
    margin-bottom: 20px;
    transition: width 0.5s ease; }
.p-ppp .domain:hover .domain-rule { width: 48px; }
.p-ppp .domain-desc { font-size: 16px;
    line-height: 1.6;
    color: var(--text-soft);
    text-align: justify;
    hyphens: auto; }
/* ============ MISSIONS ============ */
.p-ppp .missions { position: relative;
    z-index: 2;
    padding: 140px 56px;
    max-width: 1400px;
    margin: 0 auto;
    border-bottom: 1px solid var(--rule); }
.p-ppp .missions-grid { display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 100px;
    align-items: start; }
.p-ppp .missions-side .section-meta { text-align: left;
    margin-bottom: 24px; }
.p-ppp .missions-side h2 { font-family: 'Cormorant Garamond', serif;
    font-size: clamp(36px, 4vw, 52px);
    font-weight: 500;
    line-height: 1.05;
    color: var(--text); }
.p-ppp .missions-side h2 em { font-style: italic;
    color: var(--accent); }
.p-ppp .missions-list { display: flex;
    flex-direction: column;
    border-top: 1px solid var(--rule); }
.p-ppp .mission { padding: 32px 0;
    border-bottom: 1px solid var(--rule);
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 32px;
    align-items: start;
    transition: padding 0.4s ease; }
.p-ppp .mission:hover { padding-left: 16px; }
.p-ppp .mission-number { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    color: var(--accent);
    padding-top: 6px; }
.p-ppp .mission-content h3 { font-family: 'Cormorant Garamond', serif;
    font-size: 24px;
    font-weight: 500;
    color: var(--text);
    margin-bottom: 10px;
    line-height: 1.25; }
.p-ppp .mission-content h3 em { font-style: italic;
    color: var(--accent); }
.p-ppp .mission-content p { font-family: 'Cormorant Garamond', serif;
    font-size: 17px;
    color: var(--text-soft);
    line-height: 1.55;
    text-align: justify;
    hyphens: auto; }
/* ============ INTERLOCUTEURS ============ */
.p-ppp .interlocuteurs { position: relative;
    z-index: 2;
    padding: 140px 56px;
    background: var(--bg-deep);
    border-bottom: 1px solid var(--rule); }
.p-ppp .interlocuteurs-inner { max-width: 1400px;
    margin: 0 auto; }
.p-ppp .interlocuteurs-header { margin-bottom: 64px; }
.p-ppp .interlocuteurs-grid { display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-left: 1px solid var(--rule);
    border-top: 1px solid var(--rule); }
.p-ppp .interlocuteur { padding: 36px 28px;
    border-right: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule); }
.p-ppp .interlocuteur h4 { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 24px;
    font-weight: 500; }
.p-ppp .interlocuteur ul { list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px; }
.p-ppp .interlocuteur li { font-family: 'Cormorant Garamond', serif;
    font-size: 17px;
    color: var(--text-soft);
    line-height: 1.4;
    padding-left: 16px;
    position: relative; }
.p-ppp .interlocuteur li::before { content: '·';
    color: var(--accent);
    position: absolute;
    left: 0;
    top: -3px;
    font-size: 22px; }
/* ============ CITATION FINALE ============ */
.p-ppp .closing { position: relative;
    z-index: 2;
    padding: 160px 56px;
    text-align: center;
    max-width: 1100px;
    margin: 0 auto; }
.p-ppp .closing-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 48px; }
.p-ppp .closing-text { font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.35;
    color: var(--text);
    font-weight: 400;
    margin-bottom: 64px; }
.p-ppp .closing-text em { color: var(--accent);
    font-weight: 500; }
.p-ppp .closing-cta { color: var(--text);
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    padding: 18px 36px;
    border: 1px solid var(--accent);
    transition: all 0.5s ease;
    display: inline-block; }
.p-ppp .closing-cta:hover { background: var(--accent);
    color: var(--bg);
    letter-spacing: 0.35em; }
/* ============ PRATIQUES VOISINES ============ */
.p-ppp .voisines { position: relative;
    z-index: 2;
    padding: 100px 56px 140px;
    max-width: 1400px;
    margin: 0 auto;
    border-top: 1px solid var(--rule); }
.p-ppp .voisines-label { font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 48px;
    text-align: center; }
.p-ppp .voisines-grid { display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-left: 1px solid var(--rule); }
.p-ppp .voisine { padding: 56px 48px;
    border-right: 1px solid var(--rule);
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    text-decoration: none;
    color: inherit;
    transition: background 0.5s ease;
    position: relative; }
.p-ppp .voisine:hover { background: rgba(26, 110, 128, 0.06); }
.p-ppp .voisine-number { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    color: var(--accent);
    margin-bottom: 20px; }
.p-ppp .voisine-title { font-family: 'Cormorant Garamond', serif;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--text);
    margin-bottom: 20px; }
.p-ppp .voisine-title em { font-style: italic; }
.p-ppp .voisine-link { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    display: inline-flex;
    gap: 12px;
    transition: gap 0.4s ease; }
.p-ppp .voisine:hover .voisine-link { gap: 20px; }
/* ============ FOOTER ============ */
.p-ppp .footer-bottom-left, .p-ppp .footer-bottom-right { font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--text-mute); }
/* ============ ANIMATIONS ============ */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }
/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
.p-ppp .page-hero { padding: 140px 32px 60px; }
.p-ppp .page-intro-row { grid-template-columns: 1fr; gap: 32px; }
.p-ppp .angle { padding: 80px 32px; }
.p-ppp .domains { padding: 80px 32px; }
.p-ppp .domains-grid { grid-template-columns: 1fr; }
.p-ppp .missions { padding: 80px 32px; }
.p-ppp .missions-grid { grid-template-columns: 1fr; gap: 40px; }
.p-ppp .interlocuteurs { padding: 80px 32px; }
.p-ppp .interlocuteurs-grid { grid-template-columns: 1fr 1fr; }
.p-ppp .closing { padding: 100px 32px; }
.p-ppp .voisines { padding: 60px 32px 80px; }
.p-ppp .voisines-grid { grid-template-columns: 1fr; }
.p-ppp .section-header { flex-direction: column; align-items: flex-start; gap: 24px; }
.p-ppp .section-meta { text-align: left; }
.p-ppp nav a:not(.contact-cta) { display: none; }
}
@media (max-width: 600px) {
.p-ppp .interlocuteurs-grid { grid-template-columns: 1fr; }
.p-ppp .mission { grid-template-columns: 1fr; gap: 12px; }
}
/* ===================================================================
   NEUTRALISATION DE L'HABILLAGE DU THÈME (Assembler)
   À ajouter À LA FIN du CSS supplémentaire, après le style global.
   But : nos pages (qui contiennent .p-index, .p-capital, etc.) doivent
   s'afficher pleine largeur, sur notre fond, avec notre texte ivoire,
   sans le titre/entête/pied que le thème ajoute automatiquement.
   Réversible : il suffit de retirer ce bloc pour revenir en arrière.
   =================================================================== */

/* 1) Reprendre fond + couleur de texte sur toute la page, au cas où le
      thème impose blanc/gris foncé. On force notre charte. */
body {
  background: var(--bg) !important;
  color: var(--text) !important;
}

/* 2) Neutraliser la largeur bridée (620px) et le padding latéral du thème
      sur le conteneur de contenu, UNIQUEMENT là où vit notre design.
      Le bloc HTML de WordPress est rendu dans .wp-block-post-content ou
      .entry-content ; on élargit ces conteneurs à pleine largeur. */
.entry-content,
.wp-block-post-content,
.is-layout-constrained > .wp-block-html,
.wp-block-post-content > .wp-block-html {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 3) Masquer le titre de page automatique inséré par le thème
      (le grand « Accueil » qui doublonne avec notre en-tête). */
.wp-block-post-title,
.entry-title,
header.wp-block-template-part,
footer.wp-block-template-part {
  display: none !important;
}

/* 4) Annuler tout padding/gap résiduel sur le wrapper de groupe du thème
      autour du contenu. */
.is-layout-constrained,
.wp-site-blocks {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ===================================================================
   CORRECTIF EN-TÊTE — robustesse face au thème Assembler
   À ajouter à la suite, après le bloc de neutralisation.
   But : garantir que NOTRE navigation garde sa police, sa taille et
   son alignement horizontal, quelles que soient les règles du thème
   sur core/navigation et sur les liens.
   =================================================================== */

/* Nos liens de menu : imposer Inter, notre taille et nos espacements,
   sans laisser le thème réduire la police ou changer la couleur. */
header nav ul {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 36px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

header nav li {
  margin: 0 !important;
  white-space: nowrap;
}

header nav a {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1 !important;
}

/* Le bloc langue (FR · EN) doit rester sur une seule ligne. */
header nav .lang {
  display: inline !important;
  font-size: 11px !important;
  white-space: nowrap;
}

/* Le logo : garder le pictogramme et le nom alignés, empêcher le
   premier lien de menu de venir se coller dessus. */
header .logo {
  flex-shrink: 0;
}
header .logo .logo-name {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 22px !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
}

/* Décaler notre en-tête fixe sous la barre d'admin WordPress quand
   elle est présente (utilisateur connecté). Sans effet pour les
   visiteurs (la barre n'existe pas pour eux). */
body.admin-bar header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  body.admin-bar header { top: 46px; }
}

/* CORRECTIF complémentaire : forcer l'écartement logo / menu.
   Le thème neutralise parfois le justify-content du header ; on le réimpose,
   et on garantit que le menu est repoussé à droite. */
header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}
header > nav {
  margin-left: auto !important;
}
header .logo {
  margin-right: 24px;
}/* ============================================================
   HOJEIJ AVOCAT — CORRECTIF 04 : LARGEUR DE CONTENU
   ------------------------------------------------------------
   À COLLER À LA SUITE du CSS déjà en place
   (Apparence → Personnaliser → CSS supplémentaire).

   Problème corrigé :
   La neutralisation du thème a retiré le bridage à 620px,
   ce qui était nécessaire — mais du coup les sections qui,
   dans le design d'origine, comptaient sur un conteneur
   centré se retrouvaient étirées d'un bord à l'autre de
   l'écran (grilles de profils sur-justifiées, "too much").

   Solution :
   On redonne au conteneur de page (.p-...) une largeur
   maximale centrée, alignée sur la valeur de référence du
   design d'origine (1400px), sans revenir au bridage à 620px.
   Chaque section retrouve ainsi son centrage interne.
   ============================================================ */

/* Conteneur de page : centré, largeur de référence du design.
   Sélecteurs robustes : ils s'appliquent au div .p-... quelle
   que soit sa profondeur (enfant direct de .entry-content ou
   imbriqué dans un .wp-block-html). */
.p-index,
.p-capital,
.p-ppp,
.p-dje,
.p-cabinet,
.p-engagement,
.p-insights,
.p-contact,
.p-mentions-legales,
.p-note-restitutions {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
  box-sizing: border-box;
}

/* L'en-tête et le pied restent pleine largeur (barre du haut,
   bandeau du bas) mais leur contenu interne reste centré via
   leurs propres règles (.footer-grid à 1400px, header en flex).
   On ne touche donc qu'au corps de page ci-dessus. */

/* Sur petits écrans, on réduit la gouttière latérale */
@media (max-width: 768px) {
  .p-index, .p-capital, .p-ppp, .p-dje, .p-cabinet,
  .p-engagement, .p-insights, .p-contact,
  .p-mentions-legales, .p-note-restitutions {
    padding-left: 20px;
    padding-right: 20px;
  }
}/* Encart fondateur : label et valeur en deux colonnes (effet taquet) */
.p-cabinet .founder-trail li {
  display: grid;
  grid-template-columns: 110px 1fr;
  align-items: baseline;
}
.p-cabinet .founder-trail li span {
  margin-right: 0;
}