.cmplz-video.cmplz-iframe-styles{background-color:transparent}.cmplz-video.cmplz-hidden{visibility:hidden !important}.cmplz-blocked-content-notice{display:none}.cmplz-placeholder-parent{height:inherit}.cmplz-optin .cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-optin .cmplz-wp-video .cmplz-blocked-content-notice,.cmplz-optout .cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-optout .cmplz-wp-video .cmplz-blocked-content-notice{display:block}.cmplz-blocked-content-container,.cmplz-wp-video{animation-name:cmplz-fadein;animation-duration:600ms;background:#FFF;border:0;border-radius:3px;box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15);display:flex;justify-content:center;align-items:center;background-repeat:no-repeat !important;background-size:cover !important;height:inherit;position:relative}.cmplz-blocked-content-container.gmw-map-cover,.cmplz-wp-video.gmw-map-cover{max-height:100%;position:absolute}.cmplz-blocked-content-container.cmplz-video-placeholder,.cmplz-wp-video.cmplz-video-placeholder{padding-bottom:initial}.cmplz-blocked-content-container iframe,.cmplz-wp-video iframe{visibility:hidden;max-height:100%;border:0 !important}.cmplz-blocked-content-container .cmplz-custom-accept-btn:focus,.cmplz-wp-video .cmplz-custom-accept-btn:focus{border:1px dotted #cecece}.cmplz-blocked-content-container .cmplz-custom-accept-btn,.cmplz-wp-video .cmplz-custom-accept-btn{white-space:normal;text-transform:initial;cursor:pointer;position:absolute !important;width:100%;top:50%;left:50%;transform:translate(-50%,-50%);max-width:200px;font-size:14px;padding:10px;background-color:rgba(0,0,0,0.5);color:#fff;text-align:center;z-index:98;line-height:23px}.cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-wp-video .cmplz-blocked-content-notice{white-space:normal;text-transform:initial;position:absolute !important;width:100%;top:50%;left:50%;transform:translate(-50%,-50%);max-width:300px;font-size:14px;padding:10px;background-color:rgba(0,0,0,0.5);color:#fff;text-align:center;z-index:98;line-height:23px}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-links,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-links{display:block;margin-bottom:10px}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-links a,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-links a{color:#fff}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-blocked-content-notice-body,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-blocked-content-notice-body{display:block}.cmplz-blocked-content-container div div{display:none}.cmplz-wp-video .cmplz-placeholder-element{width:100%;height:inherit}@keyframes cmplz-fadein{from{opacity:0}to{opacity:1}}/* ============================================================
   Divinemenciel — Design system : agrégateur de tokens
   Ne pas ajouter de règles ici : juste les imports.
   Source des tokens : Divinemenciel_Chartegraphique_2026.pdf
   ============================================================ */
/* ===== tokens/fonts.css (intégré ici pour éviter un chargement en chaîne) ===== */
/* Divinemenciel — webfonts
   Instrument Serif (display) + DM Sans (text, variable 100–1000) */

@font-face {
  font-family: "Instrument Serif";
  src: url(//divinemenciel.com/wp-content/themes/divinemenciel/assets/fonts/InstrumentSerif-Regular.woff2) format("woff2"), url(//divinemenciel.com/wp-content/themes/divinemenciel/assets/fonts/InstrumentSerif-Regular.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Instrument Serif";
  src: url(//divinemenciel.com/wp-content/themes/divinemenciel/assets/fonts/InstrumentSerif-Italic.woff2) format("woff2"), url(//divinemenciel.com/wp-content/themes/divinemenciel/assets/fonts/InstrumentSerif-Italic.ttf) format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "DM Sans";
  src: url(//divinemenciel.com/wp-content/themes/divinemenciel/assets/fonts/DMSans-VariableFont.woff2) format("woff2"), url(//divinemenciel.com/wp-content/themes/divinemenciel/assets/fonts/DMSans-VariableFont.ttf) format("truetype-variations");
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "DM Sans";
  src: url(//divinemenciel.com/wp-content/themes/divinemenciel/assets/fonts/DMSans-Italic-VariableFont.woff2) format("woff2"), url(//divinemenciel.com/wp-content/themes/divinemenciel/assets/fonts/DMSans-Italic-VariableFont.ttf) format("truetype-variations");
  font-weight: 100 1000;
  font-style: italic;
  font-display: swap;
}
/* ===== tokens/colors.css (intégré ici pour éviter un chargement en chaîne) ===== */
/* Divinemenciel — colorimétrie
   Source : Divinemenciel_Chartegraphique_2026.pdf, p.13–18 */

:root {
  /* ——— Palette principale ——— */
  --vert-olive: #1a3a2b;    /* Vert Olive Noire — couleur signature, fonds & texte */
  --rose-sorbet: #fd8ac4;   /* Rose Sorbet Framboise */
  --vert-pesto: #05a878;    /* Vert Pesto Frais */
  --jaune-mousse: #d8f19f;  /* Jaune Mousse Citron */
  --orange-patate: #fc5e42; /* Orange Patate Douce */
  --blanc-amande: #ebedd4;  /* Blanc Lait d'Amande — fond crème par défaut */

  --noir: #000000;
  --blanc: #ffffff;

  /* Couleurs typographiques d'accent (charte p.14) */
  --vin-rouge: #7c1c20;     /* typographie sur fonds rose clairs */
  --fuchsia: #c13f8a;       /* typographie sur fonds rose */
  --blanc-casse: #f5f5f5;   /* typographie sur fonds saturés */

  /* ——— Nuancier : Vert Olive Noire ——— */
  --vert-olive-100: #1a3a2b;
  --vert-olive-80: #4d6156;
  --vert-olive-60: #798881;
  --vert-olive-40: #a5b0aa;
  --vert-olive-20: #d2d8d6;
  --vert-olive-5: #f5f5f5;

  /* ——— Nuancier : Rose Sorbet Framboise ——— */
  --rose-sorbet-100: #fd8ac4;
  --rose-sorbet-80: #f1a6cf;
  --rose-sorbet-60: #f3bcdb;
  --rose-sorbet-40: #f7d1e6;
  --rose-sorbet-20: #fce8f3;
  --rose-sorbet-5: #fef9fd;

  /* ——— Nuancier : Vert Pesto Frais ——— */
  --vert-pesto-100: #05a878;
  --vert-pesto-80: #61b695;
  --vert-pesto-60: #83c9af;
  --vert-pesto-40: #a8dbca;
  --vert-pesto-20: #d3ede4;
  --vert-pesto-5: #f4faf8;

  /* ——— Nuancier : Jaune Mousse Citron ——— */
  --jaune-mousse-100: #d8f19f;
  --jaune-mousse-80: #e4f3ba;
  --jaune-mousse-60: #eaf5ca;
  --jaune-mousse-40: #f0f9dc;
  --jaune-mousse-20: #f8fced;
  --jaune-mousse-5: #fdfdfb;

  /* ——— Nuancier : Orange Patate Douce ——— */
  --orange-patate-100: #fc5e42;
  --orange-patate-80: #ee856f;
  --orange-patate-60: #f0a393;
  --orange-patate-40: #f3c1b6;
  --orange-patate-20: #f9e0db;
  --orange-patate-5: #fdf8f5;

  /* ——— Nuancier : Blanc Lait d'Amande ——— */
  --blanc-amande-100: #ebedd4;
  --blanc-amande-80: #eff0de;
  --blanc-amande-60: #f3f4e6;
  --blanc-amande-40: #f7f8f0;
  --blanc-amande-20: #fbfcf7;
  --blanc-amande-5: #fefefc;

  /* ——— Alias sémantiques ——— */
  --surface-page: var(--blanc-amande);        /* fond crème par défaut des supports */
  --surface-card-dark: var(--vert-olive);     /* carte sombre (titres, intro) */
  --surface-card-pesto: var(--vert-pesto);
  --surface-card-orange: var(--orange-patate);
  --surface-card-rose: var(--rose-sorbet);
  --surface-card-jaune: var(--jaune-mousse);

  --text-body: var(--vert-olive);             /* tout texte sur fond clair */
  --text-on-dark: var(--blanc-casse);
  --text-accent-on-dark: var(--jaune-mousse); /* titres jaunes sur vert olive */
  --text-on-pesto: var(--blanc-casse);
  --text-on-orange: var(--blanc-casse);
  --text-on-rose: var(--blanc);
  --text-on-rose-accent: var(--vin-rouge);
  --text-on-jaune: var(--vert-olive);

  --link: var(--vert-olive);
}
/* ===== tokens/typography.css (intégré ici pour éviter un chargement en chaîne) ===== */
/* Divinemenciel — typographies
   Instrument Serif (principale, titres) + DM Sans (secondaire, texte)
   Source : charte p.20–24 */

:root {
  --font-display: "Instrument Serif", Georgia, serif;  /* titres, mega-titres, citations, mots accentués */
  --font-text: "DM Sans", -apple-system, sans-serif;    /* corps de texte, légendes, pastilles, UI */

  /* Graisses DM Sans (variable) */
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-black: 900;

  /* Échelle typographique (digital, base 16px) */
  --text-mega: clamp(56px, 8vw, 112px);   /* Mega-titre — Instrument, italic ou FULL CAPS */
  --text-h1: clamp(40px, 5vw, 64px);      /* Titre 1 — Instrument FULL CAPS */
  --text-h2: clamp(30px, 3.5vw, 44px);    /* Titre 2 — Instrument regular, + sur-titre DM Sans */
  --text-h3: clamp(24px, 2.5vw, 32px);    /* Titre 3 — Instrument regular & italic */
  --text-headline: 22px;                  /* Headline — DM Sans + Instrument italic mélangés */
  --text-body: 17px;                      /* Corps — DM Sans regular */
  --text-small: 14px;
  --text-caption: 12px;                   /* Légendes — DM Sans light, ou CAPS */
  --text-pastille: 13px;                  /* Pastilles — DM Sans CAPS, letterspaced */

  /* Interlignages */
  --leading-display: 1.05;
  --leading-title: 1.12;
  --leading-body: 1.5;

  /* Approche */
  --tracking-caps: 0.08em;   /* sur-titres & pastilles en capitales */
  --tracking-display: -0.01em;
}

/* ——— Styles de base ——— */
.ds-body, .ds-scope {
  font-family: var(--font-text);
  font-weight: var(--w-thin);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--text-body, #1a3a2b);
}

/* Mega-titre solo — Instrument Serif italic (ex: "Create.") */
.ds-mega {
  font-family: var(--font-display);
  font-size: var(--text-mega);
  font-weight: 400;
  line-height: var(--leading-display);
  letter-spacing: var(--tracking-display);
}

/* Titre 1 — Instrument Serif FULL CAPS */
.ds-h1 {
  font-family: var(--font-display);
  font-size: var(--text-h1);
  font-weight: 400;
  line-height: var(--leading-title);
  text-transform: uppercase;
}

/* Titre 2 — Instrument Serif bas de casse */
.ds-h2 {
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: 400;
  line-height: var(--leading-title);
}

/* Titre 3 — Instrument Serif, accents en italic */
.ds-h3 {
  font-family: var(--font-display);
  font-size: var(--text-h3);
  font-weight: 400;
  line-height: var(--leading-title);
}

/* Sur-titre — DM Sans CAPS letterspaced (ex: "NOTRE MISSION :") */
.ds-overline {
  font-family: var(--font-text);
  font-size: var(--text-small);
  font-weight: var(--weight-medium);
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
}

/* Accent italic au fil du texte — Instrument Serif italic */
.ds-accent {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.12em;
  line-height: 0;
}

/* Légende photo */
.ds-caption {
  font-family: var(--font-text);
  font-size: var(--text-caption);
  font-weight: var(--weight-light);
}
/* ===== tokens/spacing.css (intégré ici pour éviter un chargement en chaîne) ===== */
/* Divinemenciel — espacement, arrondis, cartes
   La carte aux coins arrondis est LA structure de base de la charte (p.28–34).
   Les marges internes d'une carte sont proportionnelles à son arrondi (p.30). */

:root {
  /* Échelle d'espacement */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  /* Arrondis de cartes — équivalents digitaux des 5/10/15 mm print */
  --radius-sm: 16px;   /* 5 mm — petites cartes, vignettes */
  --radius-md: 28px;   /* 10 mm — cartes standard, encarts */
  --radius-lg: 44px;   /* 15 mm — grandes cartes, bandeaux pleine largeur */
  --radius-pill: 999px;

  /* Marge interne minimale d'une carte = son arrondi */
  --card-pad-sm: var(--radius-sm);
  --card-pad-md: var(--radius-md);
  --card-pad-lg: var(--radius-lg);

  /* Pas d'ombres dans la charte : les cartes sont des aplats posés sur le fond crème */
  --shadow-none: none;

  /* Bordures — rarement utilisées ; la séparation se fait par couleur */
  --border-hairline: 1px solid var(--vert-olive-20, #d2d8d6);
}/* ============================================================
   Divinemenciel — Base globale du design system
   Réutilisée sur toutes les pages (header, footer, contenus).
   S'appuie sur les tokens (assets/css/tokens.css), chargés avant ce fichier.
   ============================================================ */

   :root {
    /* Graisses "texte courant" / "titres & labels" de DM Sans variable,
       utilisées un peu partout dans la maquette d'origine. */
    --w-thin: 270;
    --w-strong: 330;
  
    /* Gouttières de mise en page (reprises de la maquette Figma/WMA) */
    --gutter: 24px;
    --gap: 21px;
  }
  
  *, *::before, *::after { box-sizing: border-box; }
  
  html { scroll-behavior: smooth; }
  
  body {
    margin: 0;
    background: var(--blanc-amande);
    color: var(--vert-olive);
    font-family: var(--font-text);
    font-weight: var(--w-thin);
  }
  
  a { color: inherit; text-decoration: none; }
  ul { list-style: none; margin: 0; padding: 0; }
  img, svg { max-width: 100%; display: block; -webkit-user-drag: none; user-select: none; }
  button { font: inherit; }
  
  /* ——— Conteneur pleine largeur, gouttières responsives ——— */
  .container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    box-sizing: border-box;
  }
  
  /* ============================================================
     Composant bouton — équivalent CSS du composant React <Button>/<HoverButton>
     du design system. Combiner une classe de couleur + éventuellement
     une classe de survol : ex. class="btn btn--sm btn--vert-olive btn--hover-vert-pesto"
     ============================================================ */
  .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 26px;
    font-family: var(--font-text);
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    border-radius: var(--radius-pill);
    border: 1.5px solid transparent;
    cursor: pointer;
    background: var(--btn-bg, var(--vert-olive));
    color: var(--btn-text, var(--jaune-mousse));
    transition: background 180ms ease, color 180ms ease, transform 120ms ease;
  }
  .btn:hover {
    background: var(--btn-hover-bg, var(--btn-bg, var(--vert-olive)));
    color: var(--btn-hover-text, var(--btn-text, var(--jaune-mousse)));
  }
  .btn--sm { padding: 8px 18px; font-size: 14px; }
  .btn--lg { padding: 16px 34px; font-size: 18px; }
  
  /* Couleurs de base (fond au repos) */
  .btn--vert-olive   { --btn-bg: var(--vert-olive);   --btn-text: var(--jaune-mousse); }
  .btn--vert-pesto   { --btn-bg: var(--vert-pesto);   --btn-text: var(--blanc-casse); }
  .btn--orange       { --btn-bg: var(--orange-patate);--btn-text: var(--blanc-casse); }
  .btn--rose-sorbet  { --btn-bg: var(--rose-sorbet);  --btn-text: var(--blanc); }
  .btn--jaune-mousse { --btn-bg: var(--jaune-mousse); --btn-text: var(--vert-olive); }
  
  /* Couleurs de survol (à combiner avec une classe .btn--hover-*) */
  .btn--hover-vert-olive:hover   { --btn-hover-bg: var(--vert-olive);   --btn-hover-text: var(--jaune-mousse); }
  .btn--hover-vert-pesto:hover   { --btn-hover-bg: var(--vert-pesto);   --btn-hover-text: var(--blanc-casse); }
  .btn--hover-orange:hover       { --btn-hover-bg: var(--orange-patate); --btn-hover-text: var(--blanc-casse); }
  .btn--hover-rose-sorbet:hover  { --btn-hover-bg: var(--rose-sorbet);  --btn-hover-text: var(--blanc); }
  .btn--hover-jaune-mousse:hover { --btn-hover-bg: var(--jaune-mousse); --btn-hover-text: var(--vert-olive); }
  
  /* ============================================================
     Toggle de langue FR/EN (bouton pilule, présent dans le header)
     ============================================================ */
  .lang-toggle {
    display: inline-block;
    text-decoration: none;
    appearance: none;
    background: transparent;
    border: 1.4px solid currentColor;
    border-radius: var(--radius-pill);
    padding: 9px 13px;
    font-family: var(--font-text);
    font-weight: var(--w-strong);
    font-size: 13px;
    letter-spacing: 0.07em;
    line-height: 1;
    cursor: pointer;
    color: inherit;
    transition: background 180ms ease, color 180ms ease, border-color 180ms ease;
  }
  .lang-toggle:hover {
    background: var(--vert-olive);
    border-color: var(--vert-olive);
    color: var(--jaune-mousse);
  }
  
  /* Pastille métier : seul tag du site, cliquable vers la page du pôle */
  .metier-pastille { display: inline-flex; letter-spacing: 0; transition: transform 160ms ease, opacity 160ms ease; }
  .metier-pastille:hover { transform: translateY(-1px); opacity: 0.9; }
  
  /* ============================================================
     Pop-up d'inscription newsletter (Food'letter / Press'letter)
     ============================================================ */
  .nl-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 200;
    background: rgba(26, 58, 43, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
  }
  .nl-modal-overlay[hidden] { display: none; }
  .nl-modal {
    position: relative;
    background: var(--blanc-amande);
    border-radius: 24px;
    width: min(560px, 100%);
    max-height: 88vh;
    overflow-y: auto;
    padding: clamp(28px, 4vw, 48px);
    box-sizing: border-box;
  }
  .nl-modal-close {
    position: absolute;
    top: 18px;
    right: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 0;
    background: color-mix(in srgb, var(--vert-olive) 10%, transparent);
    color: var(--vert-olive);
    cursor: pointer;
    transition: background 150ms ease;
  }
  .nl-modal-close:hover { background: color-mix(in srgb, var(--vert-olive) 18%, transparent); }
  .nl-modal-title {
    font-family: var(--font-display);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(24px, 2.6vw, 32px);
    color: var(--vert-olive);
    margin: 0;
    padding-right: 40px;
  }
  .nl-modal-body { font-family: var(--font-text); color: var(--vert-olive); }
  .nl-modal-body iframe { width: 100% !important; height: var(--nl-iframe-h, 720px) !important; max-width: 100%; border: 0; display: block; }
  .nl-modal-body img, .nl-modal-body video, .nl-modal-body table, .nl-modal-body form { max-width: 100%; }
  .nl-modal-body * { box-sizing: border-box; }
  @media (max-width: 640px) {
    .nl-modal-body iframe { height: 78vh !important; }
  }
  .nl-modal-placeholder { font-size: 15px; line-height: 1.5; opacity: 0.8; }
  
  /* Étiquette + puce colorée au-dessus d'un titre de section */
  .label-row {
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: var(--font-text);
    font-size: var(--text-small);
    font-weight: var(--w-strong);
    text-transform: uppercase;
    letter-spacing: var(--tracking-caps);
    margin-bottom: 26px;
  }
  .label-row.dot::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--dot-c, var(--vert-pesto));
  }
  
  /* Accent italic au fil du texte (mot-clé coloré, ex. dans "Contactez-nous.") */
  .t-acc {
    font-family: var(--font-display);
    font-style: italic;
  }
  
  /* ============================================================
     Apparition douce au scroll — poser class="rv" sur un bloc,
     reveal.js ajoute "rv-in" quand il entre dans le viewport.
     ============================================================ */
  @media (prefers-reduced-motion: no-preference) {
    .rv {
      opacity: 0;
      transform: translateY(26px);
      transition: opacity 700ms ease, transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
    }
    .rv.rv-in {
      opacity: 1;
      transform: translateY(0);
    }
  }/* ============================================================
   Divinemenciel — Header & Footer
   Converti depuis home/home.css (bloc HEADER) et footer.css.
   ============================================================ */

/* ============================================================
   Révélation "rideau" du footer (desktop) : le footer est fixé en bas de
   l'écran et se révèle au fur et à mesure que le contenu défile par-dessus.
   footer-reveal.js réserve l'espace nécessaire en bas de .page-main.
   ============================================================ */
   @media (min-width: 981px) {
    .site-footer {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 0;
    }
  }
  
  /* ============ HEADER ============ */
  .site-header {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 50;
    border-bottom: 1px solid transparent;
    background: transparent;
    transition: transform 560ms cubic-bezier(0.33, 1, 0.5, 1), background-color 200ms ease;
  }
  /* Ton clair par défaut (posé sur un hero sombre) : passer .hdr-dark côté PHP/JS
     sur les pages sans hero sombre (le header est alors lu sur fond clair). */
  .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    height: 76px;
    position: relative;
  }
  
  .header-nav {
    display: flex;
    align-items: center;
    gap: 36px;
    font-family: var(--font-text);
    font-size: 15px;
    font-weight: var(--w-strong);
    list-style: none;
  }

  .header-nav a { transition: color 150ms ease; }
  .site-header.hdr-light .header-nav a { color: var(--blanc-casse); }
  .site-header.hdr-light .header-nav a:hover { color: var(--jaune-mousse); }
  .site-header.hdr-dark .header-nav a { color: var(--vert-olive); }
  .site-header.hdr-dark .header-nav a:hover { color: var(--orange-patate); }
  
  .header-cta { display: flex; align-items: center; gap: 28px; }
  .site-header.hdr-light .header-cta .lang-toggle { color: var(--blanc-casse); }
  .site-header.hdr-dark .header-cta .lang-toggle { color: var(--vert-olive); }
  
  /* Sous-nav à droite : MyDigitalScore + News */
  .header-nav-right { gap: 28px; }
  .nav-mds em {
    font-family: var(--font-display);
    font-style: italic;
    font-weight: 400;
    letter-spacing: 0.005em;
  }
  
  /* Logo centré dans la nav */
  .header-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: inline-flex;
  }
  .hdr-logo-blanc, .hdr-logo-vert { display: block; }
  .site-header.hdr-light .hdr-logo-vert { display: none !important; }
  .site-header.hdr-dark .hdr-logo-blanc { display: none !important; }
  
  /* ——— Burger + fav (mobile uniquement) ——— */
  .header-burger { display: none; }
  .header-fav { display: none; }
  
  .header-burger {
    position: relative;
    background: var(--orange-patate);
    color: var(--blanc-casse);
    border: 0;
    border-radius: var(--radius-pill);
    height: 41px;
    padding: 0 22px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 3;
    font-family: var(--font-text);
    font-size: 17px;
    font-weight: 500;
    line-height: 1;
    transition: background 180ms ease, color 180ms ease;
    -webkit-tap-highlight-color: transparent;
  }
  .header-burger.is-open {
    background: var(--rose-sorbet);
    color: #ffffff;
  }
  .header-menu-label { display: inline-block; }
  
  .header-fav { z-index: 3; }
  .header-fav img { width: 46px; height: 46px; }
  .hdr-fav-light, .hdr-fav-dark { display: block; }
  .hdr-fav-dark { display: none; }
  .site-header.hdr-dark .hdr-fav-light { display: none; }
  .site-header.hdr-dark .hdr-fav-dark { display: block; }
  
  /* Panneau de menu mobile plein écran */
  .mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 1;
    background: color-mix(in srgb, var(--vert-olive) 96%, black);
    opacity: 0;
    visibility: hidden;
    transition: opacity 320ms ease, visibility 0s linear 320ms;
  }
  .mobile-menu.is-open {
    opacity: 1;
    visibility: visible;
    transition: opacity 320ms ease;
  }
  .mobile-menu-nav {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 76px clamp(28px, 8vw, 64px) 48px;
    list-style: none;
  }
  .mobile-menu-nav a {
    font-family: var(--font-display);
    font-style: italic;
    font-size: clamp(34px, 9vw, 56px);
    line-height: 1.18;
    color: var(--blanc-casse);
    transform: translateY(14px);
    opacity: 0;
    transition: color 160ms ease, transform 420ms cubic-bezier(0.22, 1, 0.36, 1), opacity 420ms ease;
  }
  .mobile-menu.is-open .mobile-menu-nav a { transform: translateY(0); opacity: 1; }
  .mobile-menu.is-open .mobile-menu-nav a:nth-child(1) { transition-delay: 80ms; }
  .mobile-menu.is-open .mobile-menu-nav a:nth-child(2) { transition-delay: 130ms; }
  .mobile-menu.is-open .mobile-menu-nav a:nth-child(3) { transition-delay: 180ms; }
  .mobile-menu.is-open .mobile-menu-nav a:nth-child(4) { transition-delay: 230ms; }
  .mobile-menu.is-open .mobile-menu-nav a:nth-child(5) { transition-delay: 280ms; }
  .mobile-menu.is-open .mobile-menu-nav a:nth-child(6) { transition-delay: 330ms; }
  .mobile-menu-nav a:active { color: var(--jaune-mousse); }
  .mobile-menu-nav .nav-mds em { font-family: var(--font-display); font-style: italic; }
  .mobile-menu-cta {
    margin-top: 18px;
    align-self: flex-start;
    font-family: var(--font-text) !important;
    font-style: normal !important;
    font-weight: var(--w-strong);
    font-size: 17px !important;
    padding: 13px 26px;
    border-radius: var(--radius-pill);
    background: var(--jaune-mousse);
    color: var(--vert-olive) !important;
  }
  .mobile-menu .lang-toggle {
    margin: 18px 0 0;
    align-self: flex-start;
    font-size: 15px;
    padding: 11px 18px;
    color: var(--blanc-casse);
  }
  
  /* .site-header.hdr-dark.is-scrolled {
    background: var(--blanc-amande);
    border-bottom-color: var(--vert-olive-20);
  } */
  .site-header.hdr-light.is-scrolled {
    background: var(--orange-patate);
  }

  /* ============ Barre "dock" (toutes les pages sauf l'accueil) ============
     Cachée par défaut, fond orange plein, révélée quand la souris s'approche
     du haut de l'écran (comme un dock macOS) — piloté par header.js via
     data-pinned="true" (posé côté PHP quand ce n'est pas la home) + la classe
     .is-revealed. Comportement desktop uniquement : sur mobile, la barre reste
     transparente et toujours visible, comme sur la home. */
  @media (min-width: 981px) {
    .site-header[data-pinned="true"] {
      background: var(--orange-patate);
      transform: translateY(-100%);
    }
    .site-header[data-pinned="true"].is-revealed {
      transform: translateY(0);
    }
    /* Texte/logo clairs, lisibles sur le fond orange plein, quelle que soit
       la classe hdr-dark/hdr-light posée par défaut côté PHP. */
    .site-header[data-pinned="true"] .header-nav a { color: var(--blanc-casse); }
    .site-header[data-pinned="true"] .header-nav a:hover { color: var(--jaune-mousse); }
    .site-header[data-pinned="true"] .header-cta .lang-toggle { color: var(--blanc-casse); }
    .site-header[data-pinned="true"] .hdr-logo-blanc { display: block !important; }
    .site-header[data-pinned="true"] .hdr-logo-vert { display: none !important; }
  }
  
  @media (max-width: 980px) {
    .header-nav { display: none; }
    .header-cta { display: none; }
    .header-burger { display: inline-flex; }
    .header-fav { display: flex; }
    .header-logo { display: none !important; }
    .header-fav { order: 0; }
    .header-burger { order: 1; }
    .site-header { transform: none !important; }
    .site-header.hdr-light.is-scrolled {
        background: var(--orange-patate);
      }
  }
  
  /* Filet de sécurité : masque l'icône flottante Complianz si aucun réglage
   du plugin ne permet de la désactiver depuis son interface. Le lien
   "Gérer mes cookies" du footer partage la même classe (cmplz-revoke) —
   on le ré-affiche explicitement pour qu'il reste visible et cliquable. */
/* .cmplz-show { display: none !important; } */

/* ============ FOOTER ============ */
  .site-footer {
    background: var(--jaune-mousse);
    color: var(--vert-olive);
    padding: 64px 0 36px 0;
  }
  
  .fv2-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 56px var(--gap);
    padding-bottom: 30px;
    align-items: start;
  }
  .fv2-title {
    font-family: var(--font-text);
    font-weight: var(--w-thin);
    font-size: clamp(40px, 4.4vw, 72px);
    line-height: 1.02;
    letter-spacing: -0.01em;
    margin: 0 0 32px;
  }
  .fv2-title em {
    font-family: var(--font-display);
    font-style: italic;
    font-weight: 400;
    color: var(--orange-patate);
  }
  .fv2-bigs { display: flex; flex-direction: column; gap: 10px; }
  .fv2-rdv { display: inline-flex; align-items: center; gap: 10px; }
  .fv2-rdv svg { width: 0.7em; height: 0.7em; flex: none; transition: transform 180ms ease; }
  .fv2-rdv:hover svg { transform: translate(3px, -3px); }
  .fv2-big {
    display: flex;
    width: fit-content;
    font-family: var(--font-text);
    font-weight: var(--w-thin);
    font-size: clamp(20px, 2vw, 32px);
    line-height: 1.25;
    transition: color 160ms ease;
  }
  .fv2-big:hover { color: var(--orange-patate); }
  
  .footer-socials { display: flex; align-items: center; gap: 20px; margin-top: 28px; }
  .footer-socials a { display: inline-flex; color: var(--vert-olive); transition: color 150ms ease, transform 150ms ease; }
  .footer-socials a:hover { color: var(--orange-patate); transform: translateY(-2px); }
  
  .fv2-cols {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px var(--gap);
    padding-top: 16px;
  }
  .footer-col h4 {
    font-family: var(--font-text);
    font-size: var(--text-caption);
    font-weight: var(--w-strong);
    text-transform: uppercase;
    letter-spacing: var(--tracking-caps);
    color: var(--vert-olive);
    margin: 0 0 18px 0;
  }
  .footer-col ul { display: flex; flex-direction: column; gap: 10px; font-size: var(--text-body); }
  .footer-col a { transition: color 150ms ease; }
  .footer-col a:hover { color: var(--orange-patate); }

  .footer-club-title {
    font-family: var(--font-text);
    font-size: var(--text-caption);
    font-weight: var(--w-strong);
    text-transform: uppercase;
    letter-spacing: var(--tracking-caps);
    color: var(--vert-olive);
    margin: 0 0 14px 0;
    margin-top: 28px !important;
  }
  .footer-club-link {
    display: inline-flex;
    align-items: center;
    background: var(--orange-patate);
    color: var(--blanc-amande) !important;
    padding: 6px 16px;
    border-radius: var(--radius-pill);
    font-family: var(--font-text);
    font-weight: var(--w-strong);
    font-size: var(--text-body);
    transition: background 150ms ease, opacity 150ms ease, transform 150ms ease !important;
  }
  .footer-club-link:hover { background: var(--vert-olive); opacity: 0.85; transform: translateY(-2px); color: var(--blanc-amande) !important; }
  
  .city-paris { color: var(--vert-pesto); }
  .city-marseille { color: var(--orange-patate); }
  .city-strasbourg { color: var(--rose-sorbet); }
  
  /* .pole-studio:hover { color: var(--rose-sorbet); }
  .pole-comm:hover { color: var(--orange-patate); }
  .pole-presse:hover { color: var(--vert-pesto); }
  .pole-event:hover { color: var(--vert-olive); } */
  
  .fv2-logo-link { display: block; width: min(408px, 51vw); margin-top: 36px; transition: opacity 160ms ease; }
  .fv2-logo-link:hover { opacity: 0.85; }
  .fv2-logo { display: block; width: 100%; height: auto; }
  
  .footer-legal {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    font-size: var(--text-caption);
    font-weight: var(--w-thin);
    color: var(--vert-olive);
  }
  .fv2-legal { padding-top: 8px; margin-top: 28px; flex-wrap: wrap; align-items: baseline; }
  .footer-legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 26px; }
  .footer-legal-links a { opacity: 0.85; transition: opacity 140ms ease, color 140ms ease; }
  .footer-legal-links a:hover { opacity: 1; color: var(--vert-pesto); }
  
  @media (max-width: 980px) {
    .fv2-grid { grid-template-columns: 1fr; gap: 40px; padding-bottom: 36px; }
    .fv2-cols { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); padding-top: 0; }
    .fv2-legal { flex-direction: column; gap: 14px; }
    .fv2-logo-link { margin-top: 28px; }
    .footer-legal-links { justify-content: flex-start; }
  }/* ============================================================
   Divinemenciel — Page d'accueil (fidèle à la maquette)
   Converti depuis home/home.css.
   ============================================================ */

   .page-main { position: relative; z-index: 1; background: var(--blanc-amande); }

   .section { padding: 106px 0; }
   .section-head { margin-bottom: 48px; }
   .section-title {
     font-family: var(--font-text);
     font-weight: var(--w-thin);
     font-size: clamp(40px, 11.5vw, 52px);
     line-height: 1.18;
     margin: 0;
     max-width: 28em;
   }
   
   /* ============ PAGE RÉALISATIONS : intro + ajustements de grille ============ */
   .page-intro { border-top: none; padding-top: clamp(98px, 10.5vh, 132px); padding-bottom: clamp(32px, 3.5vw, 56px); }
   .page-intro .section-head { margin-bottom: clamp(24px, 3vw, 40px); }
   .works-page-title {
     font-family: var(--font-display);
     font-weight: 400;
     font-style: normal;
     text-transform: uppercase;
     color: var(--orange-patate);
     font-size: clamp(56px, 13.5vw, 150px);
     line-height: 0.9;
     letter-spacing: 0.005em;
     margin: 0;
   }
   .works-page-count { font-size: 0.3em; vertical-align: super; letter-spacing: 0; margin-left: 0.1em; }
   .about-lead-sub {
     font-family: var(--font-text);
     font-weight: var(--w-thin);
     font-size: clamp(16px, 1.4vw, 21px);
     line-height: 1.55;
     color: var(--vert-olive-80);
     max-width: 56ch;
     margin: 0;
   }
   .works-page-grid { padding-top: clamp(48px, 5vw, 80px); }
   .realisations-page .page-intro .section-head { margin-bottom: clamp(8px, 1vw, 16px); }
   @media (min-width: 981px) {
     .realisations-page .page-intro .container,
     .realisations-page #realisations .container {
       padding-left: max(16px, 7vw);
       padding-right: max(16px, 7vw);
     }
     .realisations-page .works-grid {
       grid-template-columns: repeat(5, 1fr);
       row-gap: clamp(26px, 2.6vw, 40px);
       align-items: start;
     }
     .realisations-page .wg-1-2 { grid-column: 1 / span 2; }
     .realisations-page .wg-2-2 { grid-column: 2 / span 2; }
     .realisations-page .wg-3-2 { grid-column: 3 / span 2; }
     .realisations-page .wg-4-2 { grid-column: 4 / span 2; }
     .realisations-page .wg-1-1 { grid-column: 1 / span 1; }
     .realisations-page .wg-3-1 { grid-column: 3 / span 1; }
     .realisations-page .wg-5-1 { grid-column: 5 / span 1; }
     .realisations-page .works-grid .work-card { margin-top: 0; }
   }
   @media (max-width: 980px) {
     .realisations-page .section.page-intro { padding-top: clamp(180px, 32vh, 260px); }
   }
   @media (min-width: 981px) {
     .realisations-page .section.page-intro { padding-top: clamp(150px, 22vh, 300px); }
   }
   
   /* ============ HERO ============ */
   .hero {
     position: relative;
     height: calc(100vh + 48px);
     min-height: 600px;
     overflow: hidden;
     background: var(--blanc-amande);
   }
   .hero-video, .hero-img {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     z-index: 0;
   }
   .hero-video { opacity: 0; transition: opacity 700ms ease; }
   .hero-video.is-ready { opacity: 1; }

   /* Variante YouTube : la div ".hero-video" sert de fenêtre de recouvrement
      (comme pour la vidéo native), et l'iframe à l'intérieur est volontairement
      surdimensionnée + recentrée pour toujours remplir tout le cadre, quel que
      soit le ratio de l'écran (même principe que object-fit: cover, qu'une
      iframe ne supporte pas nativement). */
   .hero-video-youtube {
     opacity: 1; /* s'affiche immédiatement : pas de fondu JS sur une iframe */
     pointer-events: none; /* décorative, pas de clic/survol sur la vidéo */
     background-size: cover;
     background-position: center;
     background-color: var(--vert-olive); /* repli si ni image ni vidéo n'ont encore chargé */
   }
   .hero-video-youtube iframe {
     position: absolute;
     top: 50%;
     left: 50%;
     width: 100vw;
     height: 56.25vw;   /* 16/9 */
     min-height: 100%;
     min-width: 177.78vh; /* 16/9 */
     /* scale(1.3) en plus de la translation : repousse hors du cadre visible
        le bandeau titre que YouTube superpose en haut à gauche de sa vidéo
        au chargement (impossible à retirer via un simple paramètre d'URL). */
     transform: translate(-50%, -50%) scale(1.3);
     border: 0;
   }
   .hero-shader { position: absolute; inset: 0; z-index: 1; }
   .hero-shader-canvas { display: block; width: 100%; height: 100%; }
   .hero-overlay {
     position: absolute;
     inset: 0;
     z-index: 2;
     background: rgba(26, 58, 43, 0.1);
   }
   .hero-bienvenue {
     display:none ;
     position: absolute;
     top: 11.6%;
     left: 50%;
     transform: translateX(-50%);
     white-space: nowrap;
     font-family: var(--font-display);
     font-style: italic;
     font-weight: 400;
     font-size: 36.5vw;
     line-height: 1.12;
     letter-spacing: -0.08em;
     color: transparent;
     -webkit-text-stroke: 1.5px color-mix(in srgb, var(--orange-patate) 70%, transparent);
     pointer-events: none;
     z-index: 3;
   }
   .hero-center {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, calc(-50% + 25px));
     z-index: 4;
     width: min(1180px, 94vw);
     text-align: center;
   }
   .hero-logo { width: min(440px, 82vw); height: auto; margin: 0 auto 22px; }
   .hero-center h1 {
     font-family: var(--font-text);
     font-weight: var(--w-strong);
     font-size: clamp(22px, 1.88vw, 36px);
     line-height: 1.12;
     color: #ffffff;
     margin: 0;
     white-space: nowrap;
   }
   @media (max-width: 640px) {
     .hero-center h1 { white-space: normal; }
   }
   /* Mobile : logo + accroche centrés dans la partie réellement visible de l'écran (svh = hauteur visible, barres du navigateur déduites) */
   @media (max-width: 767px) {
     .hero-center { top: calc(50vh - 25px); top: calc(50svh - 25px); }
   }
   @media (prefers-reduced-motion: no-preference) {
     .hero-bienvenue { animation: dmHeroFade 1.2s ease 0.2s, dmBienvenueHue 18s ease-in-out infinite; }
     @keyframes dmBienvenueHue {
       0%, 100% { -webkit-text-stroke-color: color-mix(in srgb, var(--orange-patate) 70%, transparent); }
       33%      { -webkit-text-stroke-color: color-mix(in srgb, var(--jaune-mousse) 70%, transparent); }
       66%      { -webkit-text-stroke-color: color-mix(in srgb, var(--rose-sorbet) 70%, transparent); }
     }
     .hero-center { animation: dmHeroRise 0.9s cubic-bezier(0.22, 1, 0.36, 1); } /* sans délai ni fondu : texte visible dès l'affichage (meilleur score Google) */
     @keyframes dmHeroFade { 0%, 8% { opacity: 0; } 100% { opacity: 1; } }
     @keyframes dmHeroRise {
       0% { transform: translate(-50%, calc(-50% + 55px)); }
       100% { transform: translate(-50%, calc(-50% + 25px)); }
     }
   }
   
   /* ============ MANIFESTE (révélation mot à mot) ============ */
   .manifesto { padding: 0; position: relative; z-index: 2; margin-top: -48px; }
   .manifesto-card {
     background: var(--orange-patate);
     color: var(--blanc-casse);
     border-radius: 28px;
     padding: clamp(60px, 7vw, 110px) clamp(32px, 7vw, 130px);
     transition: background 320ms ease;
   }
   .manifesto p {
     margin: 0 auto;
     max-width: 1040px;
     text-align: center;
     font-family: var(--font-text);
     font-weight: var(--w-thin);
     font-size: clamp(23px, 2.7vw, 33.4px);
     line-height: 1.32;
   }
   .manifesto .w { opacity: 0.22; transition: opacity 320ms ease; }
   .manifesto .w.on { opacity: 1; }
   .manifesto .w.acc {
     font-family: var(--font-display);
     font-style: italic;
     font-size: 1.08em;
     line-height: 0;
   }
   .manif-poles {
     margin: clamp(40px, 5vw, 72px) auto 0;
     max-width: 1200px;
     display: grid;
     grid-template-columns: repeat(4, 1fr);
   }
   .manif-pole {
     display: flex;
     flex-direction: column;
     gap: 7px;
     padding: clamp(20px, 2.2vw, 30px) clamp(14px, 1.6vw, 24px);
     text-align: center;
     border-left: none;
     transition: background 260ms ease;
   }
   .manif-pole:first-child { border-left: none; }
   .mp-picto-slot { display: flex; align-items: flex-end; justify-content: center; margin-bottom: 14px; }
   .mp-picto {
     display: block;
     height: auto;
     width: 90px; /* valeur de repli tant que home.js n'a pas mesuré */
     transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
     transform-origin: center bottom;
   }
   .manif-pole:hover .mp-picto { transform: translateY(-6px) rotate(-2deg) scale(1.05); }
   .mp-name {
     margin: 0; /* titre H3 : on neutralise la marge par défaut */
     font-family: var(--font-display);
     font-style: italic;
     font-weight: 400;
     font-size: clamp(25.1px, 1.98vw, 31.7px);
     line-height: 1.05;
     color: var(--blanc-casse);
   }
   .mp-items {
     font-family: var(--font-text);
     font-weight: var(--w-thin);
     font-size: clamp(12.1px, 0.935vw, 14.3px);
     letter-spacing: 0.01em;
     line-height: 1.4;
     color: color-mix(in srgb, var(--blanc-casse) 80%, transparent);
     white-space: pre-line;
   }
   /* Le survol change le fond de toute .manifesto-card (pas juste du pôle) — voir home.js */
   @media (max-width: 720px) {
     .manif-poles { grid-template-columns: repeat(2, 1fr); }
     .manif-pole:nth-child(3) { border-left: none; }
     .manif-pole:nth-child(odd) { border-left: none; }
   }
   @media (max-width: 560px) {
     .manif-poles { grid-template-columns: 1fr; gap: 8px; }
     .manif-pole { border-left: none; padding: 22px 14px; gap: 10px; }
     .mp-picto-slot { height: auto !important; margin-bottom: 18px; }
     .mp-picto { width: 60px !important; height: auto !important; }
     .mp-name { font-size: 32px; }
     .mp-items { font-size: 15px; }
   }
   
   /* ============ NOS PROJETS (grille asymétrique 5 pistes + doodles) ============ */
   .works-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     column-gap: var(--gutter);
     row-gap: clamp(40px, 4vw, 64px);
     align-items: start;
   }
   .work-empty { display: none; }
   .work-doodle { display: block; width: auto; height: auto; max-width: min(48%, 130px); max-height: 188px; opacity: 0.9; }
   .work-doodle-wide { max-width: min(72%, 210px); }
   @media (prefers-reduced-motion: no-preference) {
     .work-doodle { transform-origin: center bottom; }
     .work-doodle:hover { animation: dmDoodleShake 0.4s ease-in-out 0s 5; }
     @keyframes dmDoodleShake {
       0%, 100% { transform: rotate(0deg) translateX(0); }
       20% { transform: rotate(-5deg) translateX(-2px); }
       40% { transform: rotate(4.5deg) translateX(2px); }
       60% { transform: rotate(-3.5deg) translateX(-1.5px); }
       80% { transform: rotate(3deg) translateX(1.5px); }
     }
   }
   @media (min-width: 981px) {
     .work-empty { display: flex; align-items: center; justify-content: center; align-self: stretch; padding: clamp(16px, 2.5vw, 44px); }
     .works-grid .work-card:nth-of-type(2) { margin-top: 64px; }
     .works-grid .work-card:nth-of-type(3) { margin-top: 24px; }
     .works-grid .work-card:nth-of-type(4) { margin-top: 88px; }
     .works-grid .work-card:nth-of-type(5) { margin-top: 36px; }
     .works-grid .work-card:nth-of-type(6) { margin-top: 76px; }
   }
   @media (min-width: 981px) {
     .works-section .works-grid { grid-template-columns: repeat(5, 1fr); }
     .works-section .wg-1-2 { grid-column: 1 / span 2; }
     .works-section .wg-2-2 { grid-column: 2 / span 2; }
     .works-section .wg-3-2 { grid-column: 3 / span 2; }
     .works-section .wg-4-2 { grid-column: 4 / span 2; }
     .works-section .wg-1-1 { grid-column: 1 / span 1; }
     .works-section .wg-3-1 { grid-column: 3 / span 1; }
     .works-section .wg-5-1 { grid-column: 5 / span 1; }
     .works-section .container { padding-left: max(16px, 7vw); padding-right: max(16px, 7vw); }
   }
   .work-card { cursor: pointer; }
   .work-img { position: relative; border-radius: 16px; overflow: hidden; aspect-ratio: 4 / 5; }
   .work-img img {
     position: absolute; inset: 0; width: 100%; height: 100%;
     object-fit: cover;
     transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
   }
   .work-img::after {
     content: "";
     position: absolute; z-index: 2; inset: 0;
     border: 0 solid var(--wc, var(--vert-olive));
     border-radius: inherit;
     pointer-events: none;
     transition: border-width 260ms cubic-bezier(0.22, 1, 0.36, 1);
   }
   .work-card:hover .work-img::after { border-width: 8px; }
   .work-card:hover .work-img img { transform: scale(1.035); }
   .work-video {
     position: absolute; inset: 0; width: 100%; height: 100%;
     object-fit: cover;
     opacity: 0;
     transition: opacity 320ms ease;
     z-index: 1;
     pointer-events: none;
   }
   .work-card:hover .work-video { opacity: 1; }
   
   .work-slideshow {
     position: absolute; inset: 0;
     opacity: 0;
     transition: opacity 320ms ease;
     z-index: 1;
     pointer-events: none;
   }
   .work-card:hover .work-slideshow { opacity: 1; }
   .work-slide {
     position: absolute; inset: 0; width: 100%; height: 100%;
     object-fit: cover;
     opacity: 0;
     transition: opacity 120ms linear;
   }
   .work-slide.is-active { opacity: 1; }
   .work-link { position: absolute; inset: 0; z-index: 3; }
   .work-meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-top: 12px; }
   .work-title {
     font-family: var(--font-text);
     font-weight: var(--w-strong);
     font-size: clamp(26px, 1.98vw, 38px);
     line-height: 1;
     letter-spacing: -0.01em;
     margin: 0 0 10px 0;
     hyphens: none;
   }
   .work-tags { display: flex; flex-wrap: wrap; gap: 8px; }
   .work-num { font-family: var(--font-text); font-size: clamp(16px, 1.09vw, 21px); line-height: 1.2; color: var(--vert-olive); white-space: nowrap; }
   .works-end { margin-top: clamp(44px, 5vw, 72px); display: flex; justify-content: center; }
   @media (max-width: 980px) {
     .works-grid { grid-template-columns: 1fr; }
     .works-grid .work-card { margin-top: 0 !important; }
   }
   
   /* — Titres lettre par lettre (roll vertical au survol), généré par home.js — */
   .ft { display: inline-block; overflow: hidden; vertical-align: top; line-height: 1.2; height: 1.2em; }
   .ft-roll { display: inline-flex; flex-direction: column; transition: transform 480ms cubic-bezier(0.76, 0, 0.24, 1); }
   .ft-roll span { display: block; line-height: 1.2; }
   @media (prefers-reduced-motion: no-preference) {
     .work-card:hover .ft-roll { transform: translateY(-50%); }
   }
   
   /* Pastille métier (footer + manifeste + cartes projet) */
   .metier-pastille {
     display: inline-flex;
     align-items: center;
     gap: 6px;
     padding: 5px 12px;
     border-radius: var(--radius-pill);
     font-family: var(--font-text);
     font-size: var(--text-caption);
     font-weight: var(--w-strong);
     text-transform: uppercase;
     letter-spacing: var(--tracking-caps);
     color: var(--blanc-casse);
   }
   .metier-pastille.pole-studio { background: var(--rose-sorbet); color: var(--vin-rouge); }
   .metier-pastille.pole-comm { background: var(--orange-patate); }
   .metier-pastille.pole-presse { background: var(--vert-pesto); }
   .metier-pastille.pole-event { background: var(--vert-olive); }
   
   /* ============ CLIENTS ============ */
   .clients-block { padding: 0; }
   .clients-card { background: var(--rose-sorbet); color: var(--vin-rouge); border-radius: 28px; padding: 106px 0; }
   .clients-head { display: flex; flex-direction: column; align-items: center; text-align: center; }
   .clients-title { max-width: none; font-size: clamp(23px, 2.7vw, 33.4px); color: var(--blanc-casse); }
   .clients-title em { font-family: var(--font-display); font-style: italic; font-size: 1.06em; line-height: 0; color: var(--jaune-mousse); }
   .clients-marquee { position: relative; overflow: hidden; max-width: 1320px; margin: 40px auto 0; }
   .clients-marquee::before, .clients-marquee::after {
     content: ""; position: absolute; top: 0; bottom: 0; width: 110px; z-index: 1; pointer-events: none;
   }
   .clients-marquee::before { left: 0; background: linear-gradient(to right, var(--rose-sorbet), transparent); }
   .clients-marquee::after { right: 0; background: linear-gradient(to left, var(--rose-sorbet), transparent); }
   .clients-track { display: flex; align-items: center; gap: clamp(72px, 7.5vw, 120px); width: max-content; padding-right: clamp(72px, 7.5vw, 120px); }
   @media (prefers-reduced-motion: no-preference) {
     .clients-track { animation: dmClientsScroll 72s linear infinite; }
     @keyframes dmClientsScroll { to { transform: translateX(-50%); } }
   }
   .client-logo {
     display: block;
     cursor: pointer;
     flex: none;
     opacity: 0.92;
     background-color: #ffffff;
     -webkit-mask-repeat: no-repeat;
     mask-repeat: no-repeat;
     -webkit-mask-position: center;
     mask-position: center;
     -webkit-mask-size: contain;
     mask-size: contain;
     transition: background-color 200ms ease, opacity 180ms ease;
   }
   .client-logo:hover { opacity: 1; background-color: var(--jaune-mousse); }
   
   /* ============ TÉMOIGNAGES (marquee glissable + défilement continu) ============ */
   .testi-section { padding-bottom: 110px; }
   .testi-marquee {
     overflow-x: auto;
     overflow-y: hidden;
     width: 100%;
     cursor: grab;
     touch-action: pan-x;
     -webkit-overflow-scrolling: touch;
     scrollbar-width: none;
     -ms-overflow-style: none;
     -webkit-user-select: none;
     user-select: none;
   }
   .testi-marquee::-webkit-scrollbar { display: none; }
   .testi-marquee.is-grabbing { cursor: grabbing; }
   .testi-track { display: flex; gap: calc(var(--gap) + 28px); width: max-content; padding: 2px 0; }
   .wa-card {
     width: 384px;
     flex: none;
     display: flex;
     flex-direction: column;
     border: 2px solid var(--wa-accent, var(--vert-olive));
     border-radius: 18px;
     overflow: hidden;
   }
   .wa-head { display: flex; align-items: center; gap: 12px; padding: 13px 16px; background: var(--wa-accent, var(--vert-olive)); color: var(--blanc-casse); }
   .wa-avatar {
     flex: none; width: 42px; height: 42px; border-radius: 50%;
     display: flex; align-items: center; justify-content: center;
     overflow: hidden;
     font-family: var(--font-text);
     font-weight: var(--w-strong);
     font-size: 18px;
     background: color-mix(in srgb, currentColor 18%, transparent);
   }
   .wa-avatar img { width: 100%; height: 100%; object-fit: cover; }
   .wa-id { display: flex; flex-direction: column; gap: 1px; }
   .wa-name { font-family: var(--font-text); font-weight: var(--w-strong); font-size: 16px; }
   .wa-status { font-family: var(--font-text); font-weight: var(--w-thin); font-size: 12px; color: color-mix(in srgb, currentColor 78%, transparent); }
   .wa-body { flex: 1; display: flex; flex-direction: column; gap: 8px; padding: 18px 16px; }
   .wa-bubble { position: relative; max-width: 84%; padding: 8px 12px 6px; border-radius: 12px; box-shadow: 0 1px 1px rgba(26, 58, 43, 0.12); }
   .wa-bubble p { margin: 0; font-family: var(--font-text); font-weight: var(--w-thin); font-size: 15px; line-height: 1.36; }
   .wa-bubble.in { align-self: flex-start; background: #ffffff; color: var(--vert-olive); border-top-left-radius: 3px; }
   .wa-bubble.out { align-self: flex-end; background: var(--jaune-mousse); color: var(--vert-olive); border-top-right-radius: 3px; }
   
   /* ============ DOUBLE CTA ============ */
   .cta-head { display: flex; flex-direction: column; align-items: center; text-align: center; margin-bottom: 52px; }
   .cta-head .section-title { max-width: 22em; }
   .cta-head .section-title em {
     font-family: var(--font-display);
     font-style: italic;
     font-size: 1.06em;
     line-height: 0;
     color: var(--rose-sorbet);
   }
   .cta-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gutter); }
   .cta-card {
     display: flex; flex-direction: column; gap: 16px;
     min-height: 300px;
     border-radius: 24px;
     padding: clamp(32px, 3.4vw, 48px);
     transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
   }
   .cta-card:hover { transform: translateY(-5px); }
   .cta-rdv { background: var(--orange-patate); color: var(--blanc-casse); }
   .cta-simu { background: var(--jaune-mousse); color: var(--vert-olive); }
   .cta-over { font-family: var(--font-text); font-size: var(--text-small); font-weight: var(--w-strong); text-transform: uppercase; letter-spacing: var(--tracking-caps); }
   .cta-rdv .cta-over { color: var(--jaune-mousse); }
   .cta-simu .cta-over { color: var(--orange-patate); }
   .cta-card-title { font-family: var(--font-text); font-weight: var(--w-thin); font-size: clamp(26px, 2.5vw, 38px); line-height: 1.14; letter-spacing: -0.01em; margin: 0; }
   .cta-btn {
     margin-top: auto; align-self: flex-start;
     display: inline-flex; align-items: center; gap: 12px;
     font-family: var(--font-text); font-weight: var(--w-strong); font-size: 16px;
     padding: 15px 28px; border-radius: 999px; white-space: nowrap;
     transition: gap 200ms ease, background 200ms ease, color 200ms ease;
   }
   .cta-rdv .cta-btn { background: var(--jaune-mousse); color: var(--vert-olive); }
   .cta-simu .cta-btn { background: var(--vert-olive); color: var(--jaune-mousse); }
   .cta-rdv:hover .cta-btn { gap: 18px; background: var(--rose-sorbet); color: var(--blanc-casse); }
   .cta-simu:hover .cta-btn { gap: 18px; background: var(--orange-patate); color: var(--blanc-casse); }
   @media (max-width: 760px) { .cta-grid { grid-template-columns: 1fr; } }
   
   /* Variante 3 colonnes (page Contact) + 3ᵉ couleur "recrutement" */
   .cta-grid-3 { grid-template-columns: repeat(3, 1fr); }
   .cta-job { background: var(--vert-pesto); color: var(--blanc-casse); }
   .cta-job .cta-over { color: var(--jaune-mousse); }
   .cta-job .cta-btn { background: var(--jaune-mousse); color: var(--vert-olive); }
   .cta-job:hover .cta-btn { gap: 18px; background: var(--orange-patate); color: var(--blanc-casse); }
   @media (max-width: 980px) { .cta-grid-3 { grid-template-columns: 1fr; } }
   
   /* ============ BLOC CONTACT PLEIN ÉCRAN ============ */
   .contact-hero {
     position: relative;
     height: 62vh;
     min-height: 440px;
     overflow: hidden;
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     background: var(--vert-olive);
   }
   .contact-img { position: absolute; inset: -8% 0; width: 100%; height: 116%; object-fit: cover; will-change: transform; }
   .contact-overlay { position: absolute; inset: 0; background: rgba(26, 58, 43, 0.32); }
   .contact-content { position: relative; z-index: 1; color: var(--blanc-casse); display: flex; flex-direction: column; align-items: center; gap: 28px; padding: 0 var(--gutter); }
   .contact-title { font-family: var(--font-display); font-weight: 400; font-size: clamp(46px, 5.4vw, 66.8px); line-height: 1.06; letter-spacing: var(--tracking-display); margin: 0; }
   .contact-title em, .contact-title .accent { font-style: italic; color: var(--jaune-mousse); }

/* Texte de présentation de l'équipe, sous le titre du bandeau contact */
.contact-text {
	max-width: 720px;
	margin: 0;
	font-size: clamp(16px, 1.45vw, 20px);
	line-height: 1.5;
	color: var(--blanc-casse);
	font-weight: 500;
	text-shadow: 0 1px 3px rgba(20, 40, 30, 0.55), 0 2px 24px rgba(20, 40, 30, 0.8);
}

/* FAQ des pages de pôles */
.metier-page .metier-faq,
.metier-page .metier-faq .section-title {
	color: var(--vert-olive);
}
.metier-faq .faq-list {
	max-width: 860px;
	margin: 0 auto;
}
.metier-faq .faq-item {
	border-top: 1px solid color-mix(in srgb, currentColor 30%, transparent);
}
.metier-faq .faq-item:last-child {
	border-bottom: 1px solid color-mix(in srgb, currentColor 30%, transparent);
}
.metier-faq .faq-question {
	position: relative;
	padding: 22px 48px 22px 0;
	font-size: clamp(18px, 1.6vw, 22px);
	font-weight: 500;
	line-height: 1.35;
	cursor: pointer;
	list-style: none;
}
.metier-faq .faq-question::-webkit-details-marker {
	display: none;
}
.metier-faq .faq-question::after {
	content: "+";
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 28px;
	line-height: 1;
}
.metier-faq .faq-item[open] .faq-question::after {
	content: "\2212";
}
.metier-faq .faq-answer {
	max-width: 720px;
	margin: 0;
	padding: 0 48px 24px 0;
	line-height: 1.6;
}

/* Titre de projet lisible par Google et les lecteurs d'écran (le titre animé est masqué pour eux) */
.work-title-sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Intros de page (Réalisations, etc.) : texte visible dès l'affichage, glissade conservée sans fondu (score Google) */
@media (prefers-reduced-motion: no-preference) {
  .page-intro .rv { opacity: 1; }
}
input[type="checkbox"].cmplz-category { width: initial; -webkit-appearance: checkbox;}input[type="checkbox"].cmplz-category:checked::before { content: '';}.cmplz-cookiebanner { box-sizing: border-box;}:root { --cmplz_banner_width: 526px; --cmplz_banner_background_color: #d8f19f; --cmplz_banner_border_color: #d8f19f; --cmplz_banner_border_width: 0px 0px 0px 0px ; --cmplz_banner_border_radius: 25px 25px 25px 25px; --cmplz_banner_margin: 10px; --cmplz_categories-height: 163px; --cmplz_title_font_size: 15px; --cmplz_text_line_height: calc(var(--cmplz_text_font_size) * 1.5); --cmplz_text_color: #1a3a2b; --cmplz_hyperlink_color: #1a3a2b; --cmplz_text_font_size: 12px; --cmplz_link_font_size: 12px; --cmplz_category_body_font_size: 12px; --cmplz_button_accept_background_color: #1a3a2b; --cmplz_button_accept_border_color: #1a3a2b; --cmplz_button_accept_text_color: #ffffff; --cmplz_button_deny_background_color: #ebedd4; --cmplz_button_deny_border_color: #ebedd4; --cmplz_button_deny_text_color: #1a3a2b; --cmplz_button_settings_background_color: #ebedd4; --cmplz_button_settings_border_color: #ebedd4; --cmplz_button_settings_text_color: #fc5e42; --cmplz_button_border_radius: 999px 999px 999px 999px; --cmplz_button_font_size: 15px; --cmplz_category_header_always_active_color: green; --cmplz_category_header_title_font_size: 14px; --cmplz_category_header_active_font_size: 12px; --cmplz-manage-consent-height: 50px; --cmplz-manage-consent-offset: -35px; --cmplz_slider_active_color: #fc5e42; --cmplz_slider_inactive_color: #555; --cmplz_slider_bullet_color: #ffffff;}body.cmplz-banner-active *:not(.cmplz-cookiebanner):not(.cmplz-cookiebanner *) { pointer-events: none !important; user-select: none !important;}.cmplz-cookiebanner * { pointer-events: auto !important; user-select: auto !important;}#cmplz-manage-consent .cmplz-manage-consent { margin: unset; z-index: 9998; color: var(--cmplz_text_color); background-color: var(--cmplz_banner_background_color); border-style: solid; border-color: var(--cmplz_banner_border_color); border-width: var(--cmplz_banner_border_width); border-radius: var(--cmplz_banner_border_radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; line-height: initial; position: fixed; bottom: var(--cmplz-manage-consent-offset); min-width: 100px; height: var(--cmplz-manage-consent-height); right: 40px; padding: 15px; cursor: pointer; animation: mc_slideOut 0.5s forwards;}#cmplz-manage-consent .cmplz-manage-consent:active { outline: none; border: none;}#cmplz-manage-consent .cmplz-manage-consent.cmplz-dismissed { display: none;}#cmplz-manage-consent .cmplz-manage-consent:hover,#cmplz-manage-consent .cmplz-manage-consent:focus { animation: mc_slideIn 0.5s forwards; animation-delay: 0;}@-webkit-keyframes mc_slideIn { 100% { bottom: 0; }}@keyframes mc_slideIn { 100% { bottom: 0; }}@-webkit-keyframes mc_slideOut { 100% { bottom: var(--cmplz-manage-consent-offset); }}@keyframes mc_slideOut { 100% { bottom: var(--cmplz-manage-consent-offset); }}@media (max-width: 425px) { .cmplz-cookiebanner .cmplz-header .cmplz-title { display: none; }}.cmplz-cookiebanner { max-height: calc(100vh - 20px); overflow-y: auto; position: fixed; height: auto; left: 50%; top: 50%; -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); grid-template-rows: minmax(0, 1fr); z-index: 99999; background: var(--cmplz_banner_background_color);}.cmplz-cookiebanner a { transition: initial;}.cmplz-cookiebanner .cmplz-buttons a.cmplz-btn.tcf { display: none;}.cmplz-cookiebanner.cmplz-dismissed { display: none;}.cmplz-cookiebanner .cmplz-body { width: 100%; grid-column: span 3; overflow-y: auto; overflow-x: hidden; max-height: 55vh;}.cmplz-cookiebanner .cmplz-body::-webkit-scrollbar-track { border-radius: 10px; -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0); background-color: transparent;}.cmplz-cookiebanner .cmplz-body::-webkit-scrollbar { width: 5px; background-color: transparent;}.cmplz-cookiebanner .cmplz-body::-webkit-scrollbar-thumb { background-color: var(--cmplz_button_accept_background_color); border-radius: 10px;}@media (min-width: 350px) { .cmplz-cookiebanner .cmplz-body { min-width: 300px; }}@media (max-height: 400px) { .cmplz-cookiebanner { height: calc(100vh - 20px); display: flex; flex-direction: column; overflow: hidden; gap: 1px; grid-row-gap: 1px; padding: 7px 12px !important; zoom: 0.6; } .cmplz-cookiebanner .cmplz-body { flex: 1; min-height: 0; overflow-y: auto; max-height: none; margin-top: 15px !important; } .cmplz-cookiebanner .cmplz-header, .cmplz-cookiebanner .cmplz-divider, .cmplz-cookiebanner .cmplz-links, .cmplz-cookiebanner .cmplz-buttons, .cmplz-cookiebanner .cmplz-documents { flex-shrink: 0; } .cmplz-cookiebanner .cmplz-header { margin-bottom: 15px !important; max-height: 10px; } .cmplz-close { zoom: 0.6 !important; } .cmplz-cookiebanner .cmplz-buttons { gap: 1px !important; } .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { height: 15vh !important; min-height: unset !important; padding: 0 !important; white-space: nowrap !important; font-size: 1.1rem !important; line-height: 14px !important; zoom: 0.5 !important; } .cmplz-cookiebanner .cmplz-documents, .cmplz-cookiebanner .cmplz-information { zoom: 0.5 !important; }}@media (max-height: 400px) and (max-width: 768px) { .cmplz-cookiebanner { gap: 1px; }}.cmplz-cookiebanner { border-style: solid; border-color: var(--cmplz_banner_border_color); border-width: var(--cmplz_banner_border_width); border-radius: var(--cmplz_banner_border_radius); padding: 15px 20px; display: grid; grid-gap: 10px;}.cmplz-cookiebanner .cmplz-divider { margin-left: -20px; margin-right: -20px;}.cmplz-cookiebanner .cmplz-header { grid-template-columns: 100px 1fr 100px; align-items: center; display: grid; grid-column: span 3;}@media (max-width: 399px) { .cmplz-cookiebanner .cmplz-header { grid-template-columns: auto 1fr auto; }}.cmplz-cookiebanner .cmplz-logo svg { max-height: 35px; width: inherit;}.cmplz-cookiebanner .cmplz-logo img { max-height: 40px; width: inherit;}.cmplz-cookiebanner .cmplz-title { justify-self: center; grid-column-start: 2; font-size: var(--cmplz_title_font_size); color: var(--cmplz_text_color); font-weight: 500;}.cmplz-cookiebanner .cmplz-close { line-height: 20px; justify-self: end; grid-column-start: 3; font-size: 20px; cursor: pointer; width: 20px; height: 20px; color: var(--cmplz_text_color);}.cmplz-cookiebanner .cmplz-close svg { width: 20px; height: 20px;}.cmplz-cookiebanner .cmplz-close:hover { text-decoration: none; line-height: initial; font-size: 18px;}.cmplz-cookiebanner .cmplz-message { word-wrap: break-word; font-size: var(--cmplz_text_font_size); line-height: var(--cmplz_text_line_height); color: var(--cmplz_text_color); margin-bottom: 5px;}.cmplz-cookiebanner .cmplz-message a { color: var(--cmplz_hyperlink_color);}.cmplz-cookiebanner .cmplz-message,.cmplz-cookiebanner .cmplz-categories,.cmplz-cookiebanner .cmplz-links,.cmplz-cookiebanner .cmplz-buttons,.cmplz-cookiebanner .cmplz-divider { grid-column: span 3;}.cmplz-cookiebanner .cmplz-categories.cmplz-tcf .cmplz-category .cmplz-category-header { grid-template-columns: 1fr auto;}.cmplz-cookiebanner .cmplz-categories .cmplz-category { background-color: rgba(239, 239, 239, 0.5);}.cmplz-cookiebanner .cmplz-categories .cmplz-category:not(:last-child) { margin-bottom: 10px;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header { display: grid; grid-template-columns: 1fr auto 15px; grid-template-rows: minmax(0, 1fr); align-items: center; grid-gap: 10px; padding: 10px;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title { font-weight: 500; grid-column-start: 1; justify-self: start; font-size: var(--cmplz_category_header_title_font_size); color: var(--cmplz_text_color); margin: 0;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-always-active { font-size: var(--cmplz_category_header_active_font_size); font-weight: 500; color: var(--cmplz_category_header_always_active_color);}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-always-active label { display: none;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-banner-checkbox { display: flex; align-items: center; margin: 0;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-banner-checkbox input[data-category=cmplz_functional] { display: none;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-toggle { background: none; border: none; padding: 0; margin: 0; cursor: pointer; grid-column-start: 3; display: flex; align-items: center; justify-content: center; color: inherit;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-icon.cmplz-open { cursor: pointer; content: ''; transform: rotate(0deg); -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; background-size: cover; height: 18px; width: 18px;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description { font-size: var(--cmplz_category_body_font_size); color: var(--cmplz_text_color); margin: 0; max-width: 100%; padding: 10px;}@media (max-width: 425px) { .cmplz-cookiebanner .cmplz-category .cmplz-category-header { grid-template-columns: 1fr!important; }}@media (max-width: 425px) { .cmplz-cookiebanner .cmplz-message { margin-right: 5px; }}.cmplz-cookiebanner .cmplz-buttons { display: flex; gap: var(--cmplz_banner_margin);}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn { min-height: 45px; padding: 10px; margin: initial; width: 100%; white-space: nowrap; border-radius: var(--cmplz_button_border_radius); cursor: pointer; font-size: var(--cmplz_button_font_size); font-weight: 500; text-decoration: none; line-height: 20px; text-align: center; flex: initial;}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover { text-decoration: none;}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept { background-color: var(--cmplz_button_accept_background_color); border: 1px solid var(--cmplz_button_accept_border_color); color: var(--cmplz_button_accept_text_color);}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny { background-color: var(--cmplz_button_deny_background_color); border: 1px solid var(--cmplz_button_deny_border_color); color: var(--cmplz_button_deny_text_color);}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences { background-color: var(--cmplz_button_settings_background_color); border: 1px solid var(--cmplz_button_settings_border_color); color: var(--cmplz_button_settings_text_color);}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences { background-color: var(--cmplz_button_settings_background_color); border: 1px solid var(--cmplz_button_settings_border_color); color: var(--cmplz_button_settings_text_color);}.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-manage-options { background-color: var(--cmplz_button_settings_background_color); border: 1px solid var(--cmplz_button_settings_border_color); color: var(--cmplz_button_settings_text_color);}.cmplz-cookiebanner .cmplz-buttons a.cmplz-btn { display: flex; align-items: center; justify-content: center; padding: initial;}@media (max-width: 425px) { .cmplz-cookiebanner .cmplz-links.cmplz-information { display: initial; text-align: center; }}.cmplz-cookiebanner .cmplz-links { display: flex; gap: var(--cmplz_banner_margin);}.cmplz-cookiebanner .cmplz-links.cmplz-information { justify-content: space-between;}.cmplz-cookiebanner .cmplz-links.cmplz-documents { justify-content: center;}.cmplz-cookiebanner .cmplz-links .cmplz-link { color: var(--cmplz_hyperlink_color); font-size: var(--cmplz_link_font_size); text-decoration: underline; margin: 0;}.cmplz-cookiebanner .cmplz-links .cmplz-link.cmplz-read-more-purposes { display: none;}.cmplz-cookiebanner .cmplz-links ul { margin: 0; padding: 0; list-style: none; display: flex; gap: var(--cmplz_banner_margin); justify-content: center;}.cmplz-categories .cmplz-category .cmplz-description-statistics-anonymous { display: none;}.cmplz-categories .cmplz-category .cmplz-description-statistics { display: block;}.cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-toggle { background: none; border: none; padding: 0; margin: 0; cursor: pointer; grid-column-start: 3; display: flex; align-items: center; justify-content: center; color: inherit;}.cmplz-categories .cmplz-category .cmplz-category-toggle[aria-expanded="true"] .cmplz-icon.cmplz-open { transform: rotate(180deg);}.cmplz-cookiebanner { top: initial; left: 10px; bottom: 10px; transform: initial;}@media (min-width: 768px) { .cmplz-cookiebanner { min-width: var(--cmplz_banner_width); max-width: 100%; display: grid; grid-row-gap: 10px; }}@media (max-width: 768px) { .cmplz-cookiebanner { left: initial; right: initial; bottom: 0; width: 100%; } .cmplz-cookiebanner .cmplz-buttons { flex-direction: column; }}@media (min-width: 768px) { .cmplz-message, .cmplz-categories { width: calc(var(--cmplz_banner_width) - 42px); }}#cmplz-manage-consent .cmplz-manage-consent { left: 40px; right: initial;}.cmplz-categories,.cmplz-manage-vendors,.cmplz-manage-third-parties,.cmplz-read-more,.cmplz-view-preferences,.cmplz-save-preferences,.cmplz-btn.cmplz-manage-options { display: none;}.cmplz-link.cmplz-manage-third-parties { display: none;}.cmplz-cookiebanner .cmplz-links.cmplz-information { display: none;}.cmplz-cookiebanner .cmplz-preferences,.cmplz-manage-consent-container .cmplz-preferences { display: none;}#cmplz-manage-consent .cmplz-manage-consent { animation: mc_slideIn 0s forwards;}.cmplz-logo { display: none !important;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox { position: relative;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox { opacity: 0; margin: 0; margin-top: -10px; cursor: pointer; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); -moz-opacity: 0; -khtml-opacity: 0; position: absolute; z-index: 1; top: 0px; left: 0px; width: 40px; height: 20px;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus + .cmplz-label:before { box-shadow: 0 0 0 2px #245fcc;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::before { display: block; background-color: var(--cmplz_slider_active_color); content: ""; padding-left: 6px;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label:after { left: 14px;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label { position: relative; padding-left: 30px; margin: 0;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:before,.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:after { box-sizing: border-box; position: absolute; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; transition: background-color 0.3s, left 0.3s;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:before { display: block; content: ""; color: #fff; box-sizing: border-box; font-family: 'FontAwesome', sans-serif; padding-left: 23px; font-size: 12px; line-height: 20px; background-color: var(--cmplz_slider_inactive_color); left: 0px; top: -7px; height: 15px; width: 28px; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;}.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:after { display: block; content: ""; letter-spacing: 20px; background: var(--cmplz_slider_bullet_color); left: 4px; top: -5px; height: 11px; width: 11px;} .instagram-media.cmplz-placeholder-element > div { max-width: 100%; }