/* ============================================================================
   WPF-AI-LAB · Homepage HUB v2 — éditoriale, contenu spécifique
   Scope strict : body.page-id-225
   Raccord palette/typo des 5 méthodes, structure différente (focus 5 encarts).
   ============================================================================ */

@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700display=swap");
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600display=swap");

/* ---------- Tokens ---------- */
body.page-id-225 {
  --b-bg: #EDECE7;
  --b-paper: #FFFFFF;
  --b-ink: #0A0A0A;
  --b-acid: #D7FF3A;
  --b-violet: #6F4BFF;
  --b-mute: rgba(10,10,10,.55);
  --b-border: rgba(10,10,10,.12);
}

body.page-id-225 {
  background: var(--b-bg);
  color: var(--b-ink);
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-weight: 400;
  line-height: 1.5;
}
body.page-id-225 .hub-page,
body.page-id-225 .hub-page * { box-sizing: border-box; }
body.page-id-225 .hub-page { margin: 0; padding: 0; }
body.page-id-225 .entry-header,
body.page-id-225 .entry-title,
body.page-id-225 .ast-archive-description { display: none !important; }

/* ---------- BANNER : géré uniquement par le bloc partagé en bas (footer-lab-shared.css) ---------- */
/* Ancien bloc HUB-scoped (padding 18×32 / gap 16 / letter-spacing 0.12em / name 18px) supprimé en S4-decies
   pour harmoniser avec M1-M5. Source unique : `body .sec-method-banner` dans le bloc S4-octies appendé. */

/* ---------- HERO ÉDITORIAL ---------- */
body.page-id-225 .hub-hero {
  background: var(--b-bg);
  padding: 96px 64px 80px;
  border-bottom: 2px solid var(--b-ink);
  position: relative;
  overflow: hidden;
}
body.page-id-225 .hub-hero::before {
  /* Stamp meta haut-droite */
  content: "WPF/LAB · 2026.05";
  position: absolute; top: 28px; right: 64px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px; letter-spacing: 0.2em; font-weight: 600;
  color: var(--b-mute);
  z-index: 2;
}
body.page-id-225 .hub-hero::after {
  /* Stamp décoratif gros chiffre "5" en filigrane */
  content: "5";
  position: absolute;
  bottom: -64px; right: -12px;
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(280px, 38vw, 560px);
  font-weight: 700; line-height: 0.78;
  letter-spacing: -0.06em;
  color: rgba(111, 75, 255, 0.08);
  pointer-events: none;
  z-index: 0;
  user-select: none;
}
body.page-id-225 .hub-hero > * { position: relative; z-index: 1; }
body.page-id-225 .hub-hero-inner {
  max-width: none;
  width: 100%;
}
body.page-id-225 .hub-eyebrow {
  font-family: "JetBrains Mono", monospace;
  font-size: 11.5px; letter-spacing: 0.18em; font-weight: 500;
  text-transform: uppercase; color: var(--b-mute);
  margin: 0 0 40px 0;
}
body.page-id-225 .hub-eyebrow .eb-tag {
  background: var(--b-ink); color: var(--b-acid);
  padding: 3px 10px; margin-right: 12px; font-weight: 700;
  letter-spacing: 0.14em;
}
body.page-id-225 .hub-headline {
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(48px, 7vw, 128px);
  line-height: 0.95; font-weight: 700; letter-spacing: -0.035em;
  color: var(--b-ink); margin: 0 0 36px 0;
  text-transform: none;
  max-width: 100%;
}
body.page-id-225 .hub-headline .hl-acid {
  background: var(--b-acid);
  padding: 0 12px; display: inline-block;
  line-height: 0.96;
}
body.page-id-225 .hub-headline .op-italic {
  font-style: italic; color: var(--b-violet);
}
body.page-id-225 .hub-deck {
  font-size: clamp(17px, 1.4vw, 21px);
  line-height: 1.55; color: var(--b-ink);
  max-width: 820px; margin: 0 0 48px 0;
}
body.page-id-225 .hub-deck strong { font-weight: 700; }

body.page-id-225 .hub-hero-meta {
  display: flex; flex-wrap: wrap; align-items: stretch;
  gap: 0;
  border-top: 2px solid var(--b-ink);
  border-bottom: 2px solid var(--b-ink);
  background: var(--b-paper);
}
body.page-id-225 .hm-cell {
  flex: 1 1 auto;
  padding: 20px 28px;
  border-right: 1px solid var(--b-border);
  display: flex; flex-direction: column; justify-content: center;
  min-width: 140px;
}
body.page-id-225 .hm-cell:last-child { border-right: 0; }
body.page-id-225 .hm-k {
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px; letter-spacing: 0.18em; font-weight: 600;
  text-transform: uppercase; color: var(--b-mute);
  margin: 0 0 6px;
}
body.page-id-225 .hm-v {
  font-family: "Space Grotesk", sans-serif;
  font-size: 28px; font-weight: 700; letter-spacing: -0.02em;
  color: var(--b-ink); margin: 0;
}
body.page-id-225 .hub-v-win {
  background: var(--b-acid); padding: 0 10px; display: inline-block;
}
body.page-id-225 .hm-cell--cta { flex: 0 0 auto; padding: 0; }
body.page-id-225 .hub-jump {
  display: flex; align-items: center; justify-content: center;
  height: 100%;
  padding: 0 32px;
  background: var(--b-ink); color: var(--b-acid);
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700; font-size: 15px; letter-spacing: 0.04em;
  text-decoration: none;
  transition: background .15s ease;
}
body.page-id-225 .hub-jump:hover { background: var(--b-violet); color: #fff; }

/* ---------- SECTION GENERICS (eyebrow + titre) ---------- */
body.page-id-225 .hub-section-eyebrow {
  font-family: "JetBrains Mono", monospace;
  font-size: 11.5px; letter-spacing: 0.18em; font-weight: 500;
  text-transform: uppercase; color: var(--b-mute);
  margin: 0 0 20px;
}
body.page-id-225 .hub-section-title {
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(40px, 4.5vw, 64px); line-height: 0.98;
  font-weight: 700; letter-spacing: -0.03em;
  color: var(--b-ink); margin: 0 0 24px;
  text-transform: none;
}
body.page-id-225 .hub-section-title .hl-acid { background: var(--b-acid); padding: 0 10px; }
body.page-id-225 .hub-section-lede {
  font-size: 18px; line-height: 1.5; color: var(--b-mute);
  max-width: 720px; margin: 0;
}

/* ---------- MARQUEE STRIP (transition hero → intro) ---------- */
body.page-id-225 .hub-marquee {
  background: var(--b-ink);
  border-top: 2px solid var(--b-ink);
  border-bottom: 2px solid var(--b-ink);
  overflow: hidden;
  padding: 18px 0;
  white-space: nowrap;
  position: relative;
}
body.page-id-225 .hub-marquee::before,
body.page-id-225 .hub-marquee::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 80px;
  z-index: 2; pointer-events: none;
}
body.page-id-225 .hub-marquee::before {
  left: 0; background: linear-gradient(to right, var(--b-ink) 0%, rgba(10,10,10,0) 100%);
}
body.page-id-225 .hub-marquee::after {
  right: 0; background: linear-gradient(to left, var(--b-ink) 0%, rgba(10,10,10,0) 100%);
}
body.page-id-225 .hub-marquee-track {
  display: inline-block; white-space: nowrap;
  animation: hub-marquee-scroll 60s linear infinite;
}
body.page-id-225 .hub-marquee .mqe {
  display: inline-block;
  font-family: "JetBrains Mono", monospace;
  font-size: 14px; letter-spacing: 0.22em; font-weight: 600;
  color: var(--b-bg);
  text-transform: uppercase;
  margin: 0 22px;
}
body.page-id-225 .hub-marquee .mqs {
  display: inline-block;
  font-family: "Space Grotesk", sans-serif;
  font-size: 22px; font-weight: 700;
  color: var(--b-acid);
  margin: 0 4px;
  vertical-align: middle;
}
@keyframes hub-marquee-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ---------- PROBLÉMATIQUE ÉDITORIALE — 2 COLONNES FORTES ---------- */
body.page-id-225 .hub-intro {
  background: var(--b-paper);
  padding: 96px 64px 104px;
  border-bottom: 2px solid var(--b-ink);
  position: relative;
}
body.page-id-225 .hub-intro::before {
  /* Stamp décoratif gros chiffre derrière en filigrane */
  content: "00";
  position: absolute;
  top: 32px; right: 96px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 240px; font-weight: 700; line-height: 0.85;
  letter-spacing: -0.06em;
  color: rgba(10, 10, 10, 0.035);
  pointer-events: none;
  z-index: 0;
}
body.page-id-225 .hub-intro-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 80px;
  max-width: none;
  width: 100%;
  position: relative;
  z-index: 1;
  align-items: start;
}

/* ▶ Colonne GAUCHE — stats + pull */
body.page-id-225 .hub-intro-left { display: flex; flex-direction: column; gap: 28px; }
body.page-id-225 .hub-intro-left .hub-section-eyebrow {
  margin: 0;
  font-family: "JetBrains Mono", monospace;
  font-size: 11.5px; letter-spacing: 0.2em; font-weight: 600;
  text-transform: uppercase; color: var(--b-mute);
}
body.page-id-225 .hub-intro-left-deck {
  font-family: "Space Grotesk", sans-serif;
  font-size: 36px; line-height: 1.05; font-weight: 700;
  letter-spacing: -0.02em; color: var(--b-ink);
  margin: 0;
}
body.page-id-225 .hub-intro-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 2px solid var(--b-ink);
}
body.page-id-225 .his-cell {
  padding: 28px 24px 24px;
  background: var(--b-paper);
  border-right: 2px solid var(--b-ink);
  border-bottom: 2px solid var(--b-ink);
  position: relative;
  transition: transform .25s ease, background .25s ease;
}
body.page-id-225 .his-cell:nth-child(2) { border-right: none; }
body.page-id-225 .his-cell:nth-child(3),
body.page-id-225 .his-cell:nth-child(4) { border-bottom: none; }
body.page-id-225 .his-cell:nth-child(4) { border-right: none; }
body.page-id-225 .his-cell--violet { background: var(--b-violet); color: var(--b-paper); }
body.page-id-225 .his-cell--acid { background: var(--b-acid); color: var(--b-ink); }
body.page-id-225 .his-cell:hover { transform: translateY(-3px); }
body.page-id-225 .his-num {
  font-family: "Space Grotesk", sans-serif;
  font-size: 72px; line-height: 0.9; font-weight: 700;
  letter-spacing: -0.04em; color: inherit;
  margin: 0 0 12px;
}
body.page-id-225 .his-cell--violet .his-num { color: var(--b-acid); }
body.page-id-225 .his-cell--acid .his-num { color: var(--b-ink); }
body.page-id-225 .his-label {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px; letter-spacing: 0.16em; font-weight: 600;
  text-transform: uppercase; color: inherit;
  margin: 0; line-height: 1.45;
}
body.page-id-225 .hub-intro-pull {
  background: var(--b-ink); color: var(--b-bg);
  padding: 28px 26px;
  border: 2px solid var(--b-ink);
  position: relative;
}
body.page-id-225 .hub-intro-pull::before {
  content: "❝"; position: absolute; top: -4px; right: 18px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 72px; line-height: 1; color: var(--b-acid);
  pointer-events: none;
}
body.page-id-225 .hip-tag {
  font-family: "JetBrains Mono", monospace;
  font-size: 10px; letter-spacing: 0.22em; font-weight: 700;
  text-transform: uppercase; color: var(--b-acid);
  margin: 0 0 14px;
}
body.page-id-225 .hip-quote {
  font-family: "Space Grotesk", sans-serif;
  font-size: 19px; line-height: 1.4; font-weight: 500;
  color: var(--b-bg);
  margin: 0 0 12px;
}
body.page-id-225 .hip-quote .hl-acid {
  background: var(--b-acid); color: var(--b-ink);
  padding: 0 6px;
}
body.page-id-225 .hip-cite {
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px; letter-spacing: 0.18em; font-weight: 600;
  text-transform: uppercase; color: rgba(237,236,231,.65);
  margin: 0;
}

/* ▶ Colonne DROITE — prose éditoriale */
body.page-id-225 .hub-intro-right { padding-top: 4px; }
body.page-id-225 .hub-intro-right-tag {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px; letter-spacing: 0.22em; font-weight: 600;
  text-transform: uppercase;
  display: inline-block;
  background: var(--b-ink); color: var(--b-acid);
  padding: 6px 12px;
  margin: 0 0 24px;
}
body.page-id-225 .hub-prose {
  font-size: 19px; line-height: 1.65;
  color: var(--b-ink);
  margin: 0 0 24px;
  max-width: 920px;
}
body.page-id-225 .hub-prose strong { font-weight: 700; }
body.page-id-225 .hub-prose em { font-style: italic; color: var(--b-violet); }
body.page-id-225 .hub-prose--lede {
  font-size: 22px; line-height: 1.5; font-weight: 500;
}
body.page-id-225 .dropcap {
  float: left;
  font-family: "Space Grotesk", sans-serif;
  font-size: 84px; line-height: 0.85;
  font-weight: 700; letter-spacing: -0.05em;
  margin: 4px 14px 0 0;
  color: var(--b-violet);
}
body.page-id-225 .hub-intro-arrow-anchor { margin-top: 32px; }
body.page-id-225 .hub-intro-arrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: "JetBrains Mono", monospace;
  font-size: 13px; letter-spacing: 0.16em; font-weight: 700;
  text-transform: uppercase;
  background: var(--b-acid); color: var(--b-ink);
  padding: 14px 22px;
  border: 2px solid var(--b-ink);
  text-decoration: none;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
body.page-id-225 .hub-intro-arrow:hover {
  background: var(--b-ink); color: var(--b-acid);
  transform: translateY(-2px);
}

/* ---------- 4 PILIERS (méthodologie) ---------- */
body.page-id-225 .hub-piliers {
  background: var(--b-bg);
  padding: 88px 64px;
  border-bottom: 2px solid var(--b-ink);
}
body.page-id-225 .hub-piliers-head {
  max-width: none;
  width: 100%;
  margin: 0 0 48px;
}
body.page-id-225 .hub-piliers-grid {
  max-width: none;
  width: 100%;
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 2px solid var(--b-ink);
  background: var(--b-ink);
}
body.page-id-225 .hub-pilier {
  background: var(--b-paper);
  padding: 28px 24px;
  position: relative;
  transition: transform .2s ease, box-shadow .2s ease;
  cursor: default;
}
body.page-id-225 .hub-pilier:hover {
  transform: translate(-3px, -3px);
  box-shadow: 6px 6px 0 var(--b-ink);
  z-index: 2;
}
body.page-id-225 .hub-pilier--acid:hover { box-shadow: 6px 6px 0 var(--b-violet); }
body.page-id-225 .hub-pilier--violet:hover { box-shadow: 6px 6px 0 var(--b-acid); }
body.page-id-225 .hub-pilier--violet { background: var(--b-violet); color: #fff; }
body.page-id-225 .hub-pilier--acid { background: var(--b-acid); }
body.page-id-225 .hub-pilier-n {
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px; letter-spacing: 0.2em; font-weight: 700;
  color: var(--b-mute);
  margin: 0 0 16px;
}
body.page-id-225 .hub-pilier--violet .hub-pilier-n { color: rgba(255,255,255,.7); }
body.page-id-225 .hub-pilier--acid .hub-pilier-n { color: rgba(10,10,10,.6); }
body.page-id-225 .hub-pilier-name {
  font-family: "Space Grotesk", sans-serif;
  font-size: 22px; line-height: 1.1; font-weight: 700;
  letter-spacing: -0.02em; color: inherit;
  margin: 0 0 12px;
  text-transform: none;
}
body.page-id-225 .hub-pilier--violet .hub-pilier-name { color: #fff; }
body.page-id-225 .hub-pilier-body {
  font-size: 14px; line-height: 1.5;
  color: inherit; margin: 0;
}
body.page-id-225 .hub-pilier--violet .hub-pilier-body { color: rgba(255,255,255,.85); }

/* ---------- 5 ENCARTS (CŒUR DE LA PAGE) ---------- */
body.page-id-225 .hub-methodes {
  background: var(--b-paper);
  padding: 96px 64px;
  border-bottom: 2px solid var(--b-ink);
}
body.page-id-225 .hub-methodes-head {
  max-width: none;
  width: 100%;
  margin: 0 0 56px;
}
body.page-id-225 .hub-cards-list {
  max-width: none;
  width: 100%;
  display: flex; flex-direction: column;
  gap: 20px;
}

body.page-id-225 .hub-encart {
  background: var(--b-paper);
  border: 2px solid var(--b-ink);
  padding: 32px 36px;
  text-decoration: none; color: var(--b-ink);
  display: grid;
  grid-template-columns: 160px 1fr 220px;
  gap: 32px;
  align-items: start;
  position: relative;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
body.page-id-225 .hub-encart:hover {
  transform: translate(-6px, -6px);
  box-shadow: 12px 12px 0 var(--b-ink);
}
body.page-id-225 .hub-encart:hover .hub-encart-cta { background: var(--b-ink); color: var(--b-acid); }
body.page-id-225 .hub-encart:hover .hub-encart-num { color: var(--b-violet); }
body.page-id-225 .hub-encart--featured {
  background: var(--b-acid);
  border-width: 3px;
  padding-top: 44px;
}
body.page-id-225 .hub-encart--featured:hover { box-shadow: 12px 12px 0 var(--b-violet); }
body.page-id-225 .hub-encart--featured:hover .hub-encart-cta { background: var(--b-violet); color: var(--b-paper); }

body.page-id-225 .hub-encart-pill {
  position: absolute; top: -14px; left: 32px;
  background: var(--b-violet); color: #fff;
  padding: 6px 14px;
  font-family: "JetBrains Mono", monospace;
  font-size: 11px; letter-spacing: 0.16em; font-weight: 700;
  border: 2px solid var(--b-ink);
}

/* ENCART LEFT — numéro et slug */
body.page-id-225 .hub-encart-left {
  border-right: 1px solid var(--b-border);
  padding-right: 24px;
}
body.page-id-225 .hub-encart--featured .hub-encart-left {
  border-right-color: rgba(10,10,10,.25);
}
body.page-id-225 .hub-encart-num {
  font-family: "Space Grotesk", sans-serif;
  font-size: 44px; font-weight: 700; letter-spacing: -0.02em;
  color: var(--b-ink); margin: 0 0 8px;
  line-height: 1;
}
body.page-id-225 .hub-encart-slug {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px; letter-spacing: 0.06em;
  color: var(--b-mute); margin: 0;
  word-break: break-all;
}
body.page-id-225 .hub-encart--featured .hub-encart-slug { color: rgba(10,10,10,.65); }

/* ENCART MID — contenu principal */
body.page-id-225 .hub-encart-name {
  font-family: "Space Grotesk", sans-serif;
  font-size: 30px; line-height: 1.1; font-weight: 700;
  letter-spacing: -0.02em; color: var(--b-ink);
  margin: 0 0 8px;
  text-transform: none;
}
body.page-id-225 .hub-encart-tag {
  font-family: "JetBrains Mono", monospace;
  font-size: 11.5px; letter-spacing: 0.12em; font-weight: 500;
  text-transform: uppercase; color: var(--b-violet);
  margin: 0 0 16px;
}
body.page-id-225 .hub-encart--featured .hub-encart-tag { color: var(--b-ink); }
body.page-id-225 .hub-encart-blurb {
  font-size: 15px; line-height: 1.55; color: var(--b-ink);
  margin: 0 0 16px;
}
body.page-id-225 .hub-encart-blurb code {
  font-family: "JetBrains Mono", monospace;
  font-size: 13px; background: var(--b-ink); color: var(--b-acid);
  padding: 1px 6px;
}
body.page-id-225 .hub-encart--featured .hub-encart-blurb code { background: var(--b-ink); color: var(--b-acid); }
body.page-id-225 .hub-encart-blurb strong { font-weight: 700; }
body.page-id-225 .hub-encart-blurb em {
  font-style: italic; color: var(--b-mute);
  display: block; margin-top: 6px;
}
body.page-id-225 .hub-encart--featured .hub-encart-blurb em { color: rgba(10,10,10,.65); }
body.page-id-225 .hub-encart-perks {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: 6px;
}
body.page-id-225 .hub-encart-perks li {
  background: rgba(10,10,10,.05);
  padding: 4px 10px;
  font-family: "JetBrains Mono", monospace;
  font-size: 11px; font-weight: 500;
  color: var(--b-ink);
  letter-spacing: 0.02em;
}
body.page-id-225 .hub-encart--featured .hub-encart-perks li {
  background: var(--b-ink); color: var(--b-acid);
}

/* ENCART RIGHT — score + CTA */
body.page-id-225 .hub-encart-right {
  border-left: 1px solid var(--b-border);
  padding-left: 24px;
  display: flex; flex-direction: column; justify-content: space-between;
  align-items: flex-end;
  height: 100%;
  min-height: 140px;
}
body.page-id-225 .hub-encart--featured .hub-encart-right {
  border-left-color: rgba(10,10,10,.25);
}
body.page-id-225 .hub-encart-score {
  font-family: "Space Grotesk", sans-serif;
  font-size: 56px; line-height: 1; font-weight: 700;
  letter-spacing: -0.03em; color: var(--b-ink);
  margin: 0;
}
body.page-id-225 .hub-encart-score .num {
  display: inline-block;
}
body.page-id-225 .hub-encart-score .max {
  font-size: 18px; font-weight: 500;
  color: var(--b-mute); letter-spacing: 0;
}
body.page-id-225 .hub-encart--featured .hub-encart-score .max { color: rgba(10,10,10,.6); }
body.page-id-225 .hub-encart-cta {
  font-family: "Space Grotesk", sans-serif;
  font-size: 15px; font-weight: 700; color: var(--b-ink);
  margin: 0;
  border-bottom: 2px solid var(--b-ink);
  padding-bottom: 2px;
}

/* ---------- CTA FINAL ---------- */
body.page-id-225 .hub-final {
  background: var(--b-ink);
  color: #edece7;
  padding: 96px 64px;
  position: relative;
  overflow: hidden;
}
body.page-id-225 .hub-final::before {
  content: ""; position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 64px 64px;
  pointer-events: none;
}
body.page-id-225 .hub-final-inner {
  position: relative; z-index: 1;
  max-width: none;
  width: 100%;
}
body.page-id-225 .hub-final-eyebrow {
  font-family: "JetBrains Mono", monospace;
  font-size: 11.5px; letter-spacing: 0.18em; font-weight: 500;
  text-transform: uppercase; color: var(--b-acid);
  margin: 0 0 24px;
}
body.page-id-225 .hub-final-title {
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(40px, 5vw, 72px); line-height: 1;
  font-weight: 700; letter-spacing: -0.03em;
  color: #edece7; margin: 0 0 32px;
  text-transform: none;
}
body.page-id-225 .hub-final-title .hl-acid {
  background: var(--b-acid); color: var(--b-ink);
  padding: 0 12px;
}
body.page-id-225 .hub-final-body {
  font-size: 17px; line-height: 1.6;
  color: rgba(255,255,255,.75);
  margin: 0 0 40px; max-width: 720px;
}
body.page-id-225 .hub-final-ctas {
  display: flex; flex-wrap: wrap; gap: 14px;
}
body.page-id-225 .hub-final-btn {
  background: var(--b-acid); color: var(--b-ink);
  padding: 18px 32px; text-decoration: none;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700; font-size: 16px; letter-spacing: 0.02em;
  border: 2px solid var(--b-acid);
  display: inline-block;
  transition: transform .15s ease, box-shadow .15s ease;
}
body.page-id-225 .hub-final-btn:hover {
  transform: translate(-3px, -3px);
  box-shadow: 6px 6px 0 var(--b-violet);
}
body.page-id-225 .hub-final-btn--ghost {
  background: transparent; color: var(--b-acid);
  border-color: var(--b-acid);
}
body.page-id-225 .hub-final-btn--ghost:hover { box-shadow: 6px 6px 0 var(--b-acid); }

/* ---------- VRAIE PLEINE LARGEUR (technique alignfull sur le wrapper) ---------- */
body.page-id-225 { overflow-x: hidden; }
body.page-id-225 #page,
body.page-id-225 .ast-wrapper,
body.page-id-225 .site,
body.page-id-225 .site-content,
body.page-id-225 #content,
body.page-id-225 #primary,
body.page-id-225 .ast-container,
body.page-id-225 .ast-narrow-container,
body.page-id-225 .ast-no-sidebar .entry-content,
body.page-id-225 article,
body.page-id-225 .entry-content,
body.page-id-225 .entry-content-wrap {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.page-id-225 .entry-content > .wp-block-html {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* ==================== FIX ESPACE BLANC AVANT BANNER (S4-decies HUB) ==================== */
/* Même cause que M1 (S4-septies) : Astra applique margin-top:60px + margin-bottom:60px sur #primary.
   Le bloc pleine largeur ci-dessus neutralise déjà les marges/paddings horizontaux, mais
   pas les verticales. À garder scopé #primary uniquement (NE PAS cibler .ast-container,
   qui est utilisé aussi dans header/footer Astra). */
body.page-id-225 #primary {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* end fix espace blanc HUB */

body.page-id-225 .hub-page {
  width: 100vw;
  max-width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

/* HUB-specific : footer Lab en full-bleed (footer dans wp:html après .hub-page) */
body.page-id-225 .lab-footer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.page-id-225 .lab-footer.is-fullbleed .lab-footer-inner {
  max-width: none !important;
  padding: 80px 64px 40px !important;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 980px) {
  body.page-id-225 .hub-hero { padding: 64px 28px; }
  body.page-id-225 .hub-hero::before { display: none; }
  body.page-id-225 .hub-hero::after { font-size: clamp(220px, 70vw, 380px); right: -20px; bottom: -40px; }
  body.page-id-225 .hub-intro,
  body.page-id-225 .hub-piliers,
  body.page-id-225 .hub-methodes,
  body.page-id-225 .hub-final { padding: 64px 28px; }
  body.page-id-225 .hub-intro-grid { grid-template-columns: 1fr; gap: 48px; }
  body.page-id-225 .hub-intro::before { font-size: 160px; top: 16px; right: 24px; }
  body.page-id-225 .hub-intro-left-deck { font-size: 28px; }
  body.page-id-225 .his-num { font-size: 56px; }
  body.page-id-225 .hub-marquee .mqe { font-size: 12px; margin: 0 16px; }
  body.page-id-225 .hub-marquee-track { animation-duration: 45s; }
  body.page-id-225 .hub-piliers-grid { grid-template-columns: repeat(2, 1fr); }
  body.page-id-225 .hub-encart {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  body.page-id-225 .hub-encart-left {
    border-right: 0;
    border-bottom: 1px solid var(--b-border);
    padding-right: 0; padding-bottom: 16px;
    display: flex; justify-content: space-between; align-items: baseline;
  }
  body.page-id-225 .hub-encart-num { font-size: 32px; }
  body.page-id-225 .hub-encart-right {
    border-left: 0;
    border-top: 1px solid var(--b-border);
    padding-left: 0; padding-top: 16px;
    flex-direction: row; align-items: center;
    justify-content: space-between;
    min-height: 0;
  }
  body.page-id-225 .hub-hero-meta { flex-direction: column; }
  body.page-id-225 .hm-cell { border-right: 0; border-bottom: 1px solid var(--b-border); }
  body.page-id-225 .hm-cell--cta .hub-jump { padding: 16px 32px; }
}
@media (max-width: 560px) {
  body.page-id-225 .hub-piliers-grid { grid-template-columns: 1fr; }
  body.page-id-225 .hub-encart { padding: 24px 20px; }
  body.page-id-225 .hub-encart--featured { padding-top: 36px; }
  body.page-id-225 .hub-intro-stats { grid-template-columns: 1fr 1fr; }
  body.page-id-225 .his-num { font-size: 48px; }
  body.page-id-225 .his-cell { padding: 22px 18px 18px; }
  body.page-id-225 .hub-intro-pull { padding: 22px 20px; }
  body.page-id-225 .hip-quote { font-size: 17px; }
  body.page-id-225 .hub-intro-arrow { font-size: 12px; padding: 12px 18px; }
}
/* ==================== S4-OCTIES SHARED (footer + menu + banner) ==================== */
/* ============================================================================
   WPF-AI-LAB · CSS PARTAGÉ S4-octies — Footer Lab + Menu Astra actif + Banner renforcé
   À concaténer dans le CSS meta de chaque page (M1-M5 + HUB).
   Scope minimal : sélecteurs préfixés .lab-footer + sélecteurs Astra globaux.
   ============================================================================ */

/* ════════════════ BANNER RENFORCÉ ════════════════ */
.sec-method-banner {
  background: #0A0A0A !important;
  border-top: 2px solid #0A0A0A !important;
  border-bottom: 2px solid #0A0A0A !important;
  padding: 22px 40px !important;
  display: flex !important;
  align-items: center;
  gap: 18px;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 13px !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 500;
  color: #EDECE7 !important;
  flex-wrap: wrap;
  margin: 0 !important;
}
.sec-method-banner > p { margin: 0 !important; }
.sec-method-banner .banner-prefix { color: rgba(237,236,231,.6) !important; }
.sec-method-banner .banner-num {
  background: #D7FF3A !important;
  color: #0A0A0A !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em;
  font-size: 13px;
}
.sec-method-banner.is-featured { background: #D7FF3A !important; color: #0A0A0A !important; }
.sec-method-banner.is-featured .banner-prefix { color: rgba(10,10,10,.6) !important; }
.sec-method-banner.is-featured .banner-num { background: #0A0A0A !important; color: #D7FF3A !important; }
.sec-method-banner .banner-name {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  text-transform: none !important;
  color: #EDECE7 !important;
}
.sec-method-banner.is-featured .banner-name { color: #0A0A0A !important; }
.sec-method-banner .banner-tag {
  margin-left: auto;
  background: #6F4BFF !important;
  color: #FFFFFF !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em;
  font-size: 12px;
}

/* ════════════════ MENU ASTRA — ITEM ACTIF EN SURBRILLANCE ════════════════ */
.main-header-menu .current-menu-item > a,
.main-header-menu .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
nav .current-menu-item > a,
nav .current_page_item > a,
ul.main-header-menu li.current-menu-item > a,
ul.main-header-menu li.current_page_item > a {
  background: #D7FF3A !important;
  color: #0A0A0A !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  border-bottom: 2px solid #0A0A0A !important;
  text-decoration: none !important;
}
.main-header-menu .current-menu-item > a:hover,
.main-header-menu .current_page_item > a:hover {
  background: #6F4BFF !important;
  color: #FFFFFF !important;
}

/* ════════════════ FOOTER LAB UNIFIÉ ════════════════ */
.lab-footer {
  background: #0A0A0A;
  color: rgba(255,255,255,.72);
  font-family: "Space Grotesk", system-ui, sans-serif;
  margin: 0;
  padding: 0;
  border-top: 2px solid #0A0A0A;
}
.lab-footer * { box-sizing: border-box; }
.lab-footer-inner {
  padding: 64px 48px 32px;
  max-width: 1440px;
  margin: 0 auto;
}
.lab-footer.is-fullbleed .lab-footer-inner {
  max-width: none;
  padding: 80px 64px 40px;
}
.lab-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 40px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.lab-footer-col p,
.lab-footer-col ul { margin: 0; }
.lab-footer-brand {
  font-family: "Space Grotesk", sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #EDECE7;
  margin: 0 0 14px;
}
.lab-footer-brand .sep,
.lab-footer-brand .lab { color: #D7FF3A; }
.lab-footer-brand .lab { font-style: italic; }
.lab-footer-est {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  font-weight: 500;
  text-transform: uppercase;
  color: #D7FF3A;
  margin: 0 0 16px;
}
.lab-footer-pitch {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,.72);
  margin: 0 0 20px;
  max-width: 360px;
}
.lab-footer-social {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.lab-footer-social span {
  background: rgba(255,255,255,.08);
  padding: 6px 12px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.16em;
  font-weight: 600;
  color: #D7FF3A;
}
.lab-footer-col-title {
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.2em;
  font-weight: 700;
  text-transform: uppercase;
  color: #D7FF3A;
  margin: 0 0 18px;
}
.lab-footer-col ul {
  list-style: none;
  padding: 0;
}
.lab-footer-col ul li {
  margin-bottom: 10px;
}
.lab-footer-col ul li a {
  color: rgba(255,255,255,.78);
  text-decoration: none;
  font-size: 14px;
  transition: color .15s ease;
}
.lab-footer-col ul li a:hover { color: #D7FF3A; }
.lab-footer-col ul li.is-current a {
  background: #D7FF3A;
  color: #0A0A0A;
  font-weight: 700;
  padding: 2px 8px;
  display: inline-block;
}
.lab-footer-col ul li.is-current a:hover { background: #6F4BFF; color: #FFFFFF; }

/* Bandeau bas : copyright + page courante + EOF */
.lab-footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  padding-top: 24px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,.55);
  align-items: center;
}
.lab-footer-bottom p { margin: 0; }
.lab-footer-current {
  text-align: center;
  background: rgba(215,255,58,.08);
  border: 1px solid rgba(215,255,58,.25);
  padding: 8px 16px;
  color: #D7FF3A;
  font-weight: 600;
  letter-spacing: 0.16em;
}
.lab-footer-current .num {
  background: #D7FF3A;
  color: #0A0A0A;
  padding: 2px 7px;
  margin-left: 6px;
  font-weight: 700;
}
.lab-footer-eof {
  text-align: right;
}

/* Responsive */
@media (max-width: 980px) {
  .lab-footer-inner { padding: 48px 24px 24px; }
  .lab-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .lab-footer-bottom { grid-template-columns: 1fr; text-align: center; }
  .lab-footer-current { text-align: center; }
  .lab-footer-eof { text-align: center; }
}
@media (max-width: 560px) {
  .lab-footer-grid { grid-template-columns: 1fr; }
}
/* end footer-lab-shared */
/* ==================== S4-NONIES HIDE ASTRA FOOTER ==================== */
body.page-id-225 #colophon,
body.page-id-225 .site-footer,
body.page-id-225 footer.site-footer,
body.page-id-225 .ast-footer-overlay,
body.page-id-225 .site-primary-footer-wrap,
body.page-id-225 .site-below-footer-wrap,
body.page-id-225 .site-above-footer-wrap { display: none !important; }
/* end hide astra footer */
/* ==================== S4-OCTIES SHARED (footer + menu + banner) ==================== */
/* ============================================================================
   WPF-AI-LAB · CSS PARTAGÉ S4-octies — Footer Lab + Menu Astra actif + Banner renforcé
   À concaténer dans le CSS meta de chaque page (M1-M5 + HUB).
   Scope minimal : sélecteurs préfixés .lab-footer + sélecteurs Astra globaux.
   ============================================================================ */

/* ════════════════ BANNER RENFORCÉ ════════════════ */
/* Sélecteurs préfixés `body` (specificity 0,1,1 !important) pour battre tout bloc
   page-scoped non-!important (ex. ancien bloc HUB body.page-id-225 .sec-method-banner). */
body .sec-method-banner {
  background: #0A0A0A !important;
  border-top: 2px solid #0A0A0A !important;
  border-bottom: 2px solid #0A0A0A !important;
  padding: 22px 40px !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 13px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: #EDECE7 !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}
body .sec-method-banner > p { margin: 0 !important; }
body .sec-method-banner .banner-prefix { color: rgba(237,236,231,.6) !important; }
body .sec-method-banner .banner-num {
  background: #D7FF3A !important;
  color: #0A0A0A !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  font-size: 13px !important;
}
body .sec-method-banner.is-featured { background: #D7FF3A !important; color: #0A0A0A !important; }
body .sec-method-banner.is-featured .banner-prefix { color: rgba(10,10,10,.6) !important; }
body .sec-method-banner.is-featured .banner-num { background: #0A0A0A !important; color: #D7FF3A !important; }
body .sec-method-banner .banner-name {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  color: #EDECE7 !important;
}
body .sec-method-banner.is-featured .banner-name { color: #0A0A0A !important; }
body .sec-method-banner .banner-tag {
  margin-left: auto !important;
  background: #6F4BFF !important;
  color: #FFFFFF !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  font-size: 12px !important;
}
body .sec-method-banner .banner-sep { color: rgba(237,236,231,.4) !important; margin: 0 2px !important; }
body .sec-method-banner.is-featured .banner-sep { color: rgba(10,10,10,.4) !important; }
body .sec-method-banner.is-featured .banner-tag { background: #0A0A0A !important; color: #D7FF3A !important; }

/* ════════════════ MENU ASTRA — UNIFORMITÉ + ITEM ACTIF EN SURBRILLANCE ════════════════ */
/* Base : padding uniforme sur TOUS les items + border-bottom transparent
   → pas de layout shift quand l'item courant ajoute son highlight acid. */
.main-header-menu > li > a,
.main-navigation > div > ul > li > a,
ul.main-header-menu > li > a,
nav.main-navigation > div > ul > li > a {
  padding: 6px 14px !important;
  border-bottom: 2px solid transparent !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease !important;
}
/* Item courant : background acid + texte ink + bordure ink */
.main-header-menu .current-menu-item > a,
.main-header-menu .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
nav .current-menu-item > a,
nav .current_page_item > a,
ul.main-header-menu li.current-menu-item > a,
ul.main-header-menu li.current_page_item > a {
  background: #D7FF3A !important;
  color: #0A0A0A !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  border-bottom: 2px solid #0A0A0A !important;
  text-decoration: none !important;
}
.main-header-menu .current-menu-item > a:hover,
.main-header-menu .current_page_item > a:hover {
  background: #6F4BFF !important;
  color: #FFFFFF !important;
}

/* ════════════════ FOOTER LAB UNIFIÉ ════════════════ */
.lab-footer {
  background: #0A0A0A;
  color: rgba(255,255,255,.72);
  font-family: "Space Grotesk", system-ui, sans-serif;
  margin: 0;
  padding: 0;
  border-top: 2px solid #0A0A0A;
}
.lab-footer * { box-sizing: border-box; }
.lab-footer-inner {
  padding: 64px 48px 32px;
  max-width: 1440px;
  margin: 0 auto;
}
.lab-footer.is-fullbleed .lab-footer-inner {
  max-width: none;
  padding: 80px 64px 40px;
}
.lab-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 40px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.lab-footer-col p,
.lab-footer-col ul { margin: 0; }
.lab-footer-brand {
  font-family: "Space Grotesk", sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #EDECE7;
  margin: 0 0 14px;
}
.lab-footer-brand .sep,
.lab-footer-brand .lab { color: #D7FF3A; }
.lab-footer-brand .lab { font-style: italic; }
.lab-footer-est {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  font-weight: 500;
  text-transform: uppercase;
  color: #D7FF3A;
  margin: 0 0 16px;
}
.lab-footer-pitch {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,.72);
  margin: 0 0 20px;
  max-width: 360px;
}
.lab-footer-social {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.lab-footer-social span {
  background: rgba(255,255,255,.08);
  padding: 6px 12px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.16em;
  font-weight: 600;
  color: #D7FF3A;
}
.lab-footer-col-title {
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.2em;
  font-weight: 700;
  text-transform: uppercase;
  color: #D7FF3A;
  margin: 0 0 18px;
}
.lab-footer-col ul {
  list-style: none;
  padding: 0;
}
.lab-footer-col ul li {
  margin-bottom: 10px;
}
.lab-footer-col ul li a {
  color: rgba(255,255,255,.78);
  text-decoration: none;
  font-size: 14px;
  transition: color .15s ease;
}
.lab-footer-col ul li a:hover { color: #D7FF3A; }
.lab-footer-col ul li.is-current a {
  background: #D7FF3A;
  color: #0A0A0A;
  font-weight: 700;
  padding: 2px 8px;
  display: inline-block;
}
.lab-footer-col ul li.is-current a:hover { background: #6F4BFF; color: #FFFFFF; }

/* Bandeau bas : copyright + page courante + EOF */
.lab-footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  padding-top: 24px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,.55);
  align-items: center;
}
.lab-footer-bottom p { margin: 0; }
.lab-footer-current {
  text-align: center;
  background: rgba(215,255,58,.08);
  border: 1px solid rgba(215,255,58,.25);
  padding: 8px 16px;
  color: #D7FF3A;
  font-weight: 600;
  letter-spacing: 0.16em;
}
.lab-footer-current .num {
  background: #D7FF3A;
  color: #0A0A0A;
  padding: 2px 7px;
  margin-left: 6px;
  font-weight: 700;
}
.lab-footer-eof {
  text-align: right;
}

/* Responsive */
@media (max-width: 980px) {
  .lab-footer-inner { padding: 48px 24px 24px; }
  .lab-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .lab-footer-bottom { grid-template-columns: 1fr; text-align: center; }
  .lab-footer-current { text-align: center; }
  .lab-footer-eof { text-align: center; }
}
@media (max-width: 560px) {
  .lab-footer-grid { grid-template-columns: 1fr; }
}
/* end footer-lab-shared */
/* ==================== S4-OCTIES SHARED (footer + menu + banner) ==================== */
/* ============================================================================
   WPF-AI-LAB · CSS PARTAGÉ S4-octies — Footer Lab + Menu Astra actif + Banner renforcé
   À concaténer dans le CSS meta de chaque page (M1-M5 + HUB).
   Scope minimal : sélecteurs préfixés .lab-footer + sélecteurs Astra globaux.
   ============================================================================ */

/* ════════════════ BANNER RENFORCÉ ════════════════ */
/* Sélecteurs préfixés `body` (specificity 0,1,1 !important) pour battre tout bloc
   page-scoped non-!important (ex. ancien bloc HUB body.page-id-225 .sec-method-banner). */
body .sec-method-banner {
  background: #0A0A0A !important;
  border-top: 2px solid #0A0A0A !important;
  border-bottom: 2px solid #0A0A0A !important;
  padding: 22px 40px !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 13px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: #EDECE7 !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}
body .sec-method-banner > p { margin: 0 !important; }
body .sec-method-banner .banner-prefix { color: rgba(237,236,231,.6) !important; }
body .sec-method-banner .banner-num {
  background: #D7FF3A !important;
  color: #0A0A0A !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  font-size: 13px !important;
}
body .sec-method-banner.is-featured { background: #D7FF3A !important; color: #0A0A0A !important; }
body .sec-method-banner.is-featured .banner-prefix { color: rgba(10,10,10,.6) !important; }
body .sec-method-banner.is-featured .banner-num { background: #0A0A0A !important; color: #D7FF3A !important; }
body .sec-method-banner .banner-name {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  color: #EDECE7 !important;
}
body .sec-method-banner.is-featured .banner-name { color: #0A0A0A !important; }
body .sec-method-banner .banner-tag {
  margin-left: auto !important;
  background: #6F4BFF !important;
  color: #FFFFFF !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  font-size: 12px !important;
}
body .sec-method-banner .banner-sep { color: rgba(237,236,231,.4) !important; margin: 0 2px !important; }
body .sec-method-banner.is-featured .banner-sep { color: rgba(10,10,10,.4) !important; }
body .sec-method-banner.is-featured .banner-tag { background: #0A0A0A !important; color: #D7FF3A !important; }

/* ════════════════════════════════════════════════════════════════════════════
   LAB HEADER NORMALIZE — SOURCE UNIQUE, DÉFINITIVE
   ════════════════════════════════════════════════════════════════════════════
   Harmonise le rendu de l'en-tête Astra + du menu sur les 6 pages du Lab.

   ⚠ NE TOUCHE PAS :
   - aux items du menu WP (toujours éditables depuis Apparence → Menus)
   - au logo / titre de site / slogan (toujours éditables depuis
     Apparence → Personnaliser → Identité du site)
   - à la configuration Header Builder d'Astra (toujours éditable depuis
     Apparence → Personnaliser → Header Builder)

   Ce bloc ne fait qu'harmoniser le RENDU CSS de ces éléments sur les 6 pages
   du Lab. Si vous changez le menu ou le logo dans l'admin, le changement se
   propage automatiquement.
   ════════════════════════════════════════════════════════════════════════════ */

/* 1. Aucun espace blanc entre la barre de menu Astra et le contenu (banner) */
body #primary,
body .site-content > .ast-container,
body .site-content {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body #primary { padding-top: 0 !important; padding-bottom: 0 !important; }

/* 2. Cache l'entry-header (titre de page Astra) sur les 6 pages — uniformité */
body.page .entry-header,
body.page .entry-title,
body.page .ast-archive-description { display: none !important; }

/* 3. MENU ASTRA — padding identique sur TOUS les items (pas seulement le courant)
      → AUCUN décalage vertical quand le highlight acid s'applique.
      Sélecteurs Astra Header Builder + variantes legacy. */
.main-header-menu > li > a,
.main-header-menu li.menu-item > a,
nav.main-navigation ul.main-header-menu > li > a,
nav.main-navigation li.menu-item > a,
.ast-builder-menu-1 .main-header-menu > li > a,
.ast-builder-menu-1 li.menu-item > a,
header.site-header .main-header-menu > li > a {
  padding: 12px 18px !important;
  border-bottom: 2px solid transparent !important;
  font-family: "Space Grotesk", system-ui, sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  background: transparent !important;
  color: #0A0A0A !important;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease !important;
}

/* 4. Hover (item non-courant) — texte violet, pas de fond */
.main-header-menu > li > a:hover,
.main-header-menu li.menu-item:not(.current-menu-item):not(.current_page_item) > a:hover {
  color: #6F4BFF !important;
  background: transparent !important;
}

/* 5. Item courant — background acid + texte ink + bordure ink
      MÊME padding que les autres items → aucun décalage. */
.main-header-menu li.current-menu-item > a,
.main-header-menu li.current_page_item > a,
nav.main-navigation li.current-menu-item > a,
nav.main-navigation li.current_page_item > a,
.ast-builder-menu-1 li.current-menu-item > a,
.ast-builder-menu-1 li.current_page_item > a,
ul.main-header-menu li.current-menu-item > a,
ul.main-header-menu li.current_page_item > a {
  background: #D7FF3A !important;
  color: #0A0A0A !important;
  font-weight: 700 !important;
  padding: 12px 18px !important;
  border-bottom: 2px solid #0A0A0A !important;
  text-decoration: none !important;
}
.main-header-menu li.current-menu-item > a:hover,
.main-header-menu li.current_page_item > a:hover {
  background: #6F4BFF !important;
  color: #FFFFFF !important;
  border-bottom-color: #6F4BFF !important;
}

/* ════════════════ FOOTER LAB UNIFIÉ ════════════════ */
.lab-footer {
  background: #0A0A0A;
  color: rgba(255,255,255,.72);
  font-family: "Space Grotesk", system-ui, sans-serif;
  margin: 0;
  padding: 0;
  border-top: 2px solid #0A0A0A;
}
.lab-footer * { box-sizing: border-box; }
.lab-footer-inner {
  padding: 64px 48px 32px;
  max-width: 1440px;
  margin: 0 auto;
}
.lab-footer.is-fullbleed .lab-footer-inner {
  max-width: none;
  padding: 80px 64px 40px;
}
.lab-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 40px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.lab-footer-col p,
.lab-footer-col ul { margin: 0; }
.lab-footer-brand {
  font-family: "Space Grotesk", sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #EDECE7;
  margin: 0 0 14px;
}
.lab-footer-brand .sep,
.lab-footer-brand .lab { color: #D7FF3A; }
.lab-footer-brand .lab { font-style: italic; }
.lab-footer-est {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  font-weight: 500;
  text-transform: uppercase;
  color: #D7FF3A;
  margin: 0 0 16px;
}
.lab-footer-pitch {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,.72);
  margin: 0 0 20px;
  max-width: 360px;
}
.lab-footer-social {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.lab-footer-social span {
  background: rgba(255,255,255,.08);
  padding: 6px 12px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.16em;
  font-weight: 600;
  color: #D7FF3A;
}
.lab-footer-col-title {
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.2em;
  font-weight: 700;
  text-transform: uppercase;
  color: #D7FF3A;
  margin: 0 0 18px;
}
.lab-footer-col ul {
  list-style: none;
  padding: 0;
}
.lab-footer-col ul li {
  margin-bottom: 10px;
}
.lab-footer-col ul li a {
  color: rgba(255,255,255,.78);
  text-decoration: none;
  font-size: 14px;
  transition: color .15s ease;
}
.lab-footer-col ul li a:hover { color: #D7FF3A; }
.lab-footer-col ul li.is-current a {
  background: #D7FF3A;
  color: #0A0A0A;
  font-weight: 700;
  padding: 2px 8px;
  display: inline-block;
}
.lab-footer-col ul li.is-current a:hover { background: #6F4BFF; color: #FFFFFF; }

/* Bandeau bas : copyright + page courante + EOF */
.lab-footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  padding-top: 24px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,.55);
  align-items: center;
}
.lab-footer-bottom p { margin: 0; }
.lab-footer-current {
  text-align: center;
  background: rgba(215,255,58,.08);
  border: 1px solid rgba(215,255,58,.25);
  padding: 8px 16px;
  color: #D7FF3A;
  font-weight: 600;
  letter-spacing: 0.16em;
}
.lab-footer-current .num {
  background: #D7FF3A;
  color: #0A0A0A;
  padding: 2px 7px;
  margin-left: 6px;
  font-weight: 700;
}
.lab-footer-eof {
  text-align: right;
}

/* Responsive */
@media (max-width: 980px) {
  .lab-footer-inner { padding: 48px 24px 24px; }
  .lab-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .lab-footer-bottom { grid-template-columns: 1fr; text-align: center; }
  .lab-footer-current { text-align: center; }
  .lab-footer-eof { text-align: center; }
}
@media (max-width: 560px) {
  .lab-footer-grid { grid-template-columns: 1fr; }
}
/* end footer-lab-shared */
/* ==================== S4-OCTIES SHARED (footer + menu + banner) ==================== */
/* ============================================================================
   WPF-AI-LAB · CSS PARTAGÉ S4-octies — Footer Lab + Menu Astra actif + Banner renforcé
   À concaténer dans le CSS meta de chaque page (M1-M5 + HUB).
   Scope minimal : sélecteurs préfixés .lab-footer + sélecteurs Astra globaux.
   ============================================================================ */

/* ════════════════ BANNER RENFORCÉ ════════════════ */
/* Sélecteurs préfixés `body` (specificity 0,1,1 !important) pour battre tout bloc
   page-scoped non-!important (ex. ancien bloc HUB body.page-id-225 .sec-method-banner). */
body .sec-method-banner {
  background: #0A0A0A !important;
  border-top: 2px solid #0A0A0A !important;
  border-bottom: 2px solid #0A0A0A !important;
  padding: 22px 40px !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 13px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: #EDECE7 !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}
body .sec-method-banner > p { margin: 0 !important; }
body .sec-method-banner .banner-prefix { color: rgba(237,236,231,.6) !important; }
body .sec-method-banner .banner-num {
  background: #D7FF3A !important;
  color: #0A0A0A !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  font-size: 13px !important;
}
body .sec-method-banner.is-featured { background: #D7FF3A !important; color: #0A0A0A !important; }
body .sec-method-banner.is-featured .banner-prefix { color: rgba(10,10,10,.6) !important; }
body .sec-method-banner.is-featured .banner-num { background: #0A0A0A !important; color: #D7FF3A !important; }
body .sec-method-banner .banner-name {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  color: #EDECE7 !important;
}
body .sec-method-banner.is-featured .banner-name { color: #0A0A0A !important; }
body .sec-method-banner .banner-tag {
  margin-left: auto !important;
  background: #6F4BFF !important;
  color: #FFFFFF !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  font-size: 12px !important;
}
body .sec-method-banner .banner-sep { color: rgba(237,236,231,.4) !important; margin: 0 2px !important; }
body .sec-method-banner.is-featured .banner-sep { color: rgba(10,10,10,.4) !important; }
body .sec-method-banner.is-featured .banner-tag { background: #0A0A0A !important; color: #D7FF3A !important; }

/* ════════════════════════════════════════════════════════════════════════════
   LAB HEADER NORMALIZE — SOURCE UNIQUE, DÉFINITIVE
   ════════════════════════════════════════════════════════════════════════════
   Harmonise le rendu de l'en-tête Astra + du menu sur les 6 pages du Lab.

   ⚠ NE TOUCHE PAS :
   - aux items du menu WP (toujours éditables depuis Apparence → Menus)
   - au logo / titre de site / slogan (toujours éditables depuis
     Apparence → Personnaliser → Identité du site)
   - à la configuration Header Builder d'Astra (toujours éditable depuis
     Apparence → Personnaliser → Header Builder)

   Ce bloc ne fait qu'harmoniser le RENDU CSS de ces éléments sur les 6 pages
   du Lab. Si vous changez le menu ou le logo dans l'admin, le changement se
   propage automatiquement.
   ════════════════════════════════════════════════════════════════════════════ */

/* 1. Aucun espace blanc entre la barre de menu Astra et le contenu (banner) */
body #primary,
body .site-content > .ast-container,
body .site-content {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body #primary { padding-top: 0 !important; padding-bottom: 0 !important; }

/* 1b. Le HEADER Astra (.site-header / .ast-primary-header-bar) garde sa largeur native
       MÊME si une rule page-specific contraint .ast-container à 1440px pour le cadrage.
       → Évite que le menu wrappe verticalement quand le header est compressé. */
header.site-header .ast-container,
.ast-primary-header-bar .ast-container,
.ast-builder-grid-row-container .ast-container,
#masthead .ast-container {
  max-width: none !important;
  width: 100% !important;
}

/* 1c. Le menu reste en ligne (jamais wrap) */
ul.main-header-menu,
nav.main-navigation ul.main-header-menu,
.ast-builder-menu-1 ul.main-header-menu {
  display: flex !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  gap: 4px !important;
}
ul.main-header-menu > li,
nav.main-navigation li.menu-item {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. Cache l'entry-header (titre de page Astra) sur les 6 pages — uniformité */
body.page .entry-header,
body.page .entry-title,
body.page .ast-archive-description { display: none !important; }

/* 3. MENU ASTRA — padding identique sur TOUS les items (pas seulement le courant)
      → AUCUN décalage vertical quand le highlight acid s'applique.
      Sélecteurs Astra Header Builder + variantes legacy. */
.main-header-menu > li > a,
.main-header-menu li.menu-item > a,
nav.main-navigation ul.main-header-menu > li > a,
nav.main-navigation li.menu-item > a,
.ast-builder-menu-1 .main-header-menu > li > a,
.ast-builder-menu-1 li.menu-item > a,
header.site-header .main-header-menu > li > a {
  padding: 12px 18px !important;
  border-bottom: 2px solid transparent !important;
  font-family: "Space Grotesk", system-ui, sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  background: transparent !important;
  color: #0A0A0A !important;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease !important;
}

/* 4. Hover (item non-courant) — texte violet, pas de fond */
.main-header-menu > li > a:hover,
.main-header-menu li.menu-item:not(.current-menu-item):not(.current_page_item) > a:hover {
  color: #6F4BFF !important;
  background: transparent !important;
}

/* 5. Item courant — background acid + texte ink + bordure ink
      MÊME padding que les autres items → aucun décalage. */
.main-header-menu li.current-menu-item > a,
.main-header-menu li.current_page_item > a,
nav.main-navigation li.current-menu-item > a,
nav.main-navigation li.current_page_item > a,
.ast-builder-menu-1 li.current-menu-item > a,
.ast-builder-menu-1 li.current_page_item > a,
ul.main-header-menu li.current-menu-item > a,
ul.main-header-menu li.current_page_item > a {
  background: #D7FF3A !important;
  color: #0A0A0A !important;
  font-weight: 700 !important;
  padding: 12px 18px !important;
  border-bottom: 2px solid #0A0A0A !important;
  text-decoration: none !important;
}
.main-header-menu li.current-menu-item > a:hover,
.main-header-menu li.current_page_item > a:hover {
  background: #6F4BFF !important;
  color: #FFFFFF !important;
  border-bottom-color: #6F4BFF !important;
}

/* ════════════════ FOOTER LAB UNIFIÉ ════════════════ */
.lab-footer {
  background: #0A0A0A;
  color: rgba(255,255,255,.72);
  font-family: "Space Grotesk", system-ui, sans-serif;
  margin: 0;
  padding: 0;
  border-top: 2px solid #0A0A0A;
}
.lab-footer * { box-sizing: border-box; }
.lab-footer-inner {
  padding: 64px 48px 32px;
  max-width: 1440px;
  margin: 0 auto;
}
.lab-footer.is-fullbleed .lab-footer-inner {
  max-width: none;
  padding: 80px 64px 40px;
}
.lab-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 40px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.lab-footer-col p,
.lab-footer-col ul { margin: 0; }
.lab-footer-brand {
  font-family: "Space Grotesk", sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #EDECE7;
  margin: 0 0 14px;
}
.lab-footer-brand .sep,
.lab-footer-brand .lab { color: #D7FF3A; }
.lab-footer-brand .lab { font-style: italic; }
.lab-footer-est {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  font-weight: 500;
  text-transform: uppercase;
  color: #D7FF3A;
  margin: 0 0 16px;
}
.lab-footer-pitch {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,.72);
  margin: 0 0 20px;
  max-width: 360px;
}
.lab-footer-social {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.lab-footer-social span {
  background: rgba(255,255,255,.08);
  padding: 6px 12px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.16em;
  font-weight: 600;
  color: #D7FF3A;
}
.lab-footer-col-title {
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.2em;
  font-weight: 700;
  text-transform: uppercase;
  color: #D7FF3A;
  margin: 0 0 18px;
}
.lab-footer-col ul {
  list-style: none;
  padding: 0;
}
.lab-footer-col ul li {
  margin-bottom: 10px;
}
.lab-footer-col ul li a {
  color: rgba(255,255,255,.78);
  text-decoration: none;
  font-size: 14px;
  transition: color .15s ease;
}
.lab-footer-col ul li a:hover { color: #D7FF3A; }
.lab-footer-col ul li.is-current a {
  background: #D7FF3A;
  color: #0A0A0A;
  font-weight: 700;
  padding: 2px 8px;
  display: inline-block;
}
.lab-footer-col ul li.is-current a:hover { background: #6F4BFF; color: #FFFFFF; }

/* Bandeau bas : copyright + page courante + EOF */
.lab-footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  padding-top: 24px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,.55);
  align-items: center;
}
.lab-footer-bottom p { margin: 0; }
.lab-footer-current {
  text-align: center;
  background: rgba(215,255,58,.08);
  border: 1px solid rgba(215,255,58,.25);
  padding: 8px 16px;
  color: #D7FF3A;
  font-weight: 600;
  letter-spacing: 0.16em;
}
.lab-footer-current .num {
  background: #D7FF3A;
  color: #0A0A0A;
  padding: 2px 7px;
  margin-left: 6px;
  font-weight: 700;
}
.lab-footer-eof {
  text-align: right;
}

/* Responsive */
@media (max-width: 980px) {
  .lab-footer-inner { padding: 48px 24px 24px; }
  .lab-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .lab-footer-bottom { grid-template-columns: 1fr; text-align: center; }
  .lab-footer-current { text-align: center; }
  .lab-footer-eof { text-align: center; }
}
@media (max-width: 560px) {
  .lab-footer-grid { grid-template-columns: 1fr; }
}
/* end footer-lab-shared */
/* ==================== S4-OCTIES SHARED (footer + menu + banner) ==================== */
/* ============================================================================
   WPF-AI-LAB · CSS PARTAGÉ S4-octies — Footer Lab + Menu Astra actif + Banner renforcé
   À concaténer dans le CSS meta de chaque page (M1-M5 + HUB).
   Scope minimal : sélecteurs préfixés .lab-footer + sélecteurs Astra globaux.
   ============================================================================ */

/* ════════════════ BANNER RENFORCÉ ════════════════ */
/* Sélecteurs préfixés `body` (specificity 0,1,1 !important) pour battre tout bloc
   page-scoped non-!important (ex. ancien bloc HUB body.page-id-225 .sec-method-banner). */
body .sec-method-banner {
  background: #0A0A0A !important;
  border-top: 2px solid #0A0A0A !important;
  border-bottom: 2px solid #0A0A0A !important;
  padding: 22px 40px !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 13px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: #EDECE7 !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}
body .sec-method-banner > p { margin: 0 !important; }
body .sec-method-banner .banner-prefix { color: rgba(237,236,231,.6) !important; }
body .sec-method-banner .banner-num {
  background: #D7FF3A !important;
  color: #0A0A0A !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  font-size: 13px !important;
}
body .sec-method-banner.is-featured { background: #D7FF3A !important; color: #0A0A0A !important; }
body .sec-method-banner.is-featured .banner-prefix { color: rgba(10,10,10,.6) !important; }
body .sec-method-banner.is-featured .banner-num { background: #0A0A0A !important; color: #D7FF3A !important; }
body .sec-method-banner .banner-name {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  color: #EDECE7 !important;
}
body .sec-method-banner.is-featured .banner-name { color: #0A0A0A !important; }
body .sec-method-banner .banner-tag {
  margin-left: auto !important;
  background: #6F4BFF !important;
  color: #FFFFFF !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  font-size: 12px !important;
}
body .sec-method-banner .banner-sep { color: rgba(237,236,231,.4) !important; margin: 0 2px !important; }
body .sec-method-banner.is-featured .banner-sep { color: rgba(10,10,10,.4) !important; }
body .sec-method-banner.is-featured .banner-tag { background: #0A0A0A !important; color: #D7FF3A !important; }

/* ════════════════════════════════════════════════════════════════════════════
   LAB HEADER NORMALIZE — SOURCE UNIQUE, DÉFINITIVE
   ════════════════════════════════════════════════════════════════════════════
   Harmonise le rendu de l'en-tête Astra + du menu sur les 6 pages du Lab.

   ⚠ NE TOUCHE PAS :
   - aux items du menu WP (toujours éditables depuis Apparence → Menus)
   - au logo / titre de site / slogan (toujours éditables depuis
     Apparence → Personnaliser → Identité du site)
   - à la configuration Header Builder d'Astra (toujours éditable depuis
     Apparence → Personnaliser → Header Builder)

   Ce bloc ne fait qu'harmoniser le RENDU CSS de ces éléments sur les 6 pages
   du Lab. Si vous changez le menu ou le logo dans l'admin, le changement se
   propage automatiquement.
   ════════════════════════════════════════════════════════════════════════════ */

/* 1. Aucun espace blanc entre la barre de menu Astra et le contenu (banner) */
body #primary,
body .site-content > .ast-container,
body .site-content {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body #primary { padding-top: 0 !important; padding-bottom: 0 !important; }

/* 1b. Le HEADER Astra (.site-header / .ast-primary-header-bar) garde sa largeur native
       MÊME si une rule page-specific contraint .ast-container à 1440px pour le cadrage.
       → Évite que le menu wrappe verticalement quand le header est compressé. */
header.site-header .ast-container,
.ast-primary-header-bar .ast-container,
.ast-builder-grid-row-container .ast-container,
#masthead .ast-container {
  max-width: none !important;
  width: 100% !important;
}

/* 1c. Menu CENTRÉ dans le header (suggestion Fabrice S4-decies-bis)
       → minimise le décalage visuel entre HUB pleine largeur et M1-M5 cadré 1440. */
ul.main-header-menu,
nav.main-navigation ul.main-header-menu,
.ast-builder-menu-1 ul.main-header-menu,
.ast-flex.ast-justify-content-flex-end.main-header-menu,
.ast-flex.main-header-menu {
  display: flex !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  list-style: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
}
/* Force aussi le wrapper de nav (Astra ajoute parfois un wrapper en flex justify-end) */
nav.main-navigation,
.ast-builder-menu-1,
.ast-builder-menu-1-inner,
.site-header-section,
.ast-flex.site-header-primary-section-right {
  justify-content: center !important;
}
ul.main-header-menu > li,
nav.main-navigation li.menu-item {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. Cache l'entry-header (titre de page Astra) sur les 6 pages — uniformité */
body.page .entry-header,
body.page .entry-title,
body.page .ast-archive-description { display: none !important; }

/* 3. MENU ASTRA — padding identique sur TOUS les items (pas seulement le courant)
      → AUCUN décalage vertical quand le highlight acid s'applique.
      Sélecteurs Astra Header Builder + variantes legacy. */
.main-header-menu > li > a,
.main-header-menu li.menu-item > a,
nav.main-navigation ul.main-header-menu > li > a,
nav.main-navigation li.menu-item > a,
.ast-builder-menu-1 .main-header-menu > li > a,
.ast-builder-menu-1 li.menu-item > a,
header.site-header .main-header-menu > li > a {
  padding: 12px 18px !important;
  border-bottom: 2px solid transparent !important;
  font-family: "Space Grotesk", system-ui, sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  background: transparent !important;
  color: #0A0A0A !important;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease !important;
}

/* 4. Hover (item non-courant) — texte violet, pas de fond */
.main-header-menu > li > a:hover,
.main-header-menu li.menu-item:not(.current-menu-item):not(.current_page_item) > a:hover {
  color: #6F4BFF !important;
  background: transparent !important;
}

/* 5. Item courant — background acid + texte ink + bordure ink
      MÊME padding que les autres items → aucun décalage. */
.main-header-menu li.current-menu-item > a,
.main-header-menu li.current_page_item > a,
nav.main-navigation li.current-menu-item > a,
nav.main-navigation li.current_page_item > a,
.ast-builder-menu-1 li.current-menu-item > a,
.ast-builder-menu-1 li.current_page_item > a,
ul.main-header-menu li.current-menu-item > a,
ul.main-header-menu li.current_page_item > a {
  background: #D7FF3A !important;
  color: #0A0A0A !important;
  font-weight: 700 !important;
  padding: 12px 18px !important;
  border-bottom: 2px solid #0A0A0A !important;
  text-decoration: none !important;
}
.main-header-menu li.current-menu-item > a:hover,
.main-header-menu li.current_page_item > a:hover {
  background: #6F4BFF !important;
  color: #FFFFFF !important;
  border-bottom-color: #6F4BFF !important;
}

/* ════════════════ FOOTER LAB UNIFIÉ ════════════════ */
.lab-footer {
  background: #0A0A0A;
  color: rgba(255,255,255,.72);
  font-family: "Space Grotesk", system-ui, sans-serif;
  margin: 0;
  padding: 0;
  border-top: 2px solid #0A0A0A;
}
.lab-footer * { box-sizing: border-box; }
.lab-footer-inner {
  padding: 64px 48px 32px;
  max-width: 1440px;
  margin: 0 auto;
}
.lab-footer.is-fullbleed .lab-footer-inner {
  max-width: none;
  padding: 80px 64px 40px;
}
.lab-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 40px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.lab-footer-col p,
.lab-footer-col ul { margin: 0; }
.lab-footer-brand {
  font-family: "Space Grotesk", sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #EDECE7;
  margin: 0 0 14px;
}
.lab-footer-brand .sep,
.lab-footer-brand .lab { color: #D7FF3A; }
.lab-footer-brand .lab { font-style: italic; }
.lab-footer-est {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  font-weight: 500;
  text-transform: uppercase;
  color: #D7FF3A;
  margin: 0 0 16px;
}
.lab-footer-pitch {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,.72);
  margin: 0 0 20px;
  max-width: 360px;
}
.lab-footer-social {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.lab-footer-social span {
  background: rgba(255,255,255,.08);
  padding: 6px 12px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.16em;
  font-weight: 600;
  color: #D7FF3A;
}
.lab-footer-col-title {
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.2em;
  font-weight: 700;
  text-transform: uppercase;
  color: #D7FF3A;
  margin: 0 0 18px;
}
.lab-footer-col ul {
  list-style: none;
  padding: 0;
}
.lab-footer-col ul li {
  margin-bottom: 10px;
}
.lab-footer-col ul li a {
  color: rgba(255,255,255,.78);
  text-decoration: none;
  font-size: 14px;
  transition: color .15s ease;
}
.lab-footer-col ul li a:hover { color: #D7FF3A; }
.lab-footer-col ul li.is-current a {
  background: #D7FF3A;
  color: #0A0A0A;
  font-weight: 700;
  padding: 2px 8px;
  display: inline-block;
}
.lab-footer-col ul li.is-current a:hover { background: #6F4BFF; color: #FFFFFF; }

/* Bandeau bas : copyright + page courante + EOF */
.lab-footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  padding-top: 24px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,.55);
  align-items: center;
}
.lab-footer-bottom p { margin: 0; }
.lab-footer-current {
  text-align: center;
  background: rgba(215,255,58,.08);
  border: 1px solid rgba(215,255,58,.25);
  padding: 8px 16px;
  color: #D7FF3A;
  font-weight: 600;
  letter-spacing: 0.16em;
}
.lab-footer-current .num {
  background: #D7FF3A;
  color: #0A0A0A;
  padding: 2px 7px;
  margin-left: 6px;
  font-weight: 700;
}
.lab-footer-eof {
  text-align: right;
}

/* Responsive */
@media (max-width: 980px) {
  .lab-footer-inner { padding: 48px 24px 24px; }
  .lab-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .lab-footer-bottom { grid-template-columns: 1fr; text-align: center; }
  .lab-footer-current { text-align: center; }
  .lab-footer-eof { text-align: center; }
}
@media (max-width: 560px) {
  .lab-footer-grid { grid-template-columns: 1fr; }
}
/* end footer-lab-shared */
/* ==================== S4-OCTIES SHARED (footer + menu + banner) ==================== */
/* ============================================================================
   WPF-AI-LAB · CSS PARTAGÉ S4-octies — Footer Lab + Menu Astra actif + Banner renforcé
   À concaténer dans le CSS meta de chaque page (M1-M5 + HUB).
   Scope minimal : sélecteurs préfixés .lab-footer + sélecteurs Astra globaux.
   ============================================================================ */

/* ════════════════ BANNER RENFORCÉ ════════════════ */
/* Sélecteurs préfixés `body` (specificity 0,1,1 !important) pour battre tout bloc
   page-scoped non-!important (ex. ancien bloc HUB body.page-id-225 .sec-method-banner). */
body .sec-method-banner {
  background: #0A0A0A !important;
  border-top: 2px solid #0A0A0A !important;
  border-bottom: 2px solid #0A0A0A !important;
  padding: 22px 40px !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 13px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: #EDECE7 !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}
body .sec-method-banner > p { margin: 0 !important; }
body .sec-method-banner .banner-prefix { color: rgba(237,236,231,.6) !important; }
body .sec-method-banner .banner-num {
  background: #D7FF3A !important;
  color: #0A0A0A !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  font-size: 13px !important;
}
body .sec-method-banner.is-featured { background: #D7FF3A !important; color: #0A0A0A !important; }
body .sec-method-banner.is-featured .banner-prefix { color: rgba(10,10,10,.6) !important; }
body .sec-method-banner.is-featured .banner-num { background: #0A0A0A !important; color: #D7FF3A !important; }
body .sec-method-banner .banner-name {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  color: #EDECE7 !important;
}
body .sec-method-banner.is-featured .banner-name { color: #0A0A0A !important; }
body .sec-method-banner .banner-tag {
  margin-left: auto !important;
  background: #6F4BFF !important;
  color: #FFFFFF !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  font-size: 12px !important;
}
body .sec-method-banner .banner-sep { color: rgba(237,236,231,.4) !important; margin: 0 2px !important; }
body .sec-method-banner.is-featured .banner-sep { color: rgba(10,10,10,.4) !important; }
body .sec-method-banner.is-featured .banner-tag { background: #0A0A0A !important; color: #D7FF3A !important; }

/* ════════════════════════════════════════════════════════════════════════════
   LAB HEADER NORMALIZE — SOURCE UNIQUE, DÉFINITIVE
   ════════════════════════════════════════════════════════════════════════════
   Harmonise le rendu de l'en-tête Astra + du menu sur les 6 pages du Lab.

   ⚠ NE TOUCHE PAS :
   - aux items du menu WP (toujours éditables depuis Apparence → Menus)
   - au logo / titre de site / slogan (toujours éditables depuis
     Apparence → Personnaliser → Identité du site)
   - à la configuration Header Builder d'Astra (toujours éditable depuis
     Apparence → Personnaliser → Header Builder)

   Ce bloc ne fait qu'harmoniser le RENDU CSS de ces éléments sur les 6 pages
   du Lab. Si vous changez le menu ou le logo dans l'admin, le changement se
   propage automatiquement.
   ════════════════════════════════════════════════════════════════════════════ */

/* 1. Aucun espace blanc entre la barre de menu Astra et le contenu (banner) */
body #primary,
body .site-content > .ast-container,
body .site-content {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body #primary { padding-top: 0 !important; padding-bottom: 0 !important; }

/* 1b. Le HEADER Astra (.site-header / .ast-primary-header-bar) garde sa largeur native
       MÊME si une rule page-specific contraint .ast-container à 1440px pour le cadrage.
       → Évite que le menu wrappe verticalement quand le header est compressé. */
header.site-header .ast-container,
.ast-primary-header-bar .ast-container,
.ast-builder-grid-row-container .ast-container,
#masthead .ast-container {
  max-width: none !important;
  width: 100% !important;
}

/* 1c. Menu CENTRÉ dans le viewport, indépendamment de la section Astra qui l'héberge
       (suggestion Fabrice S4-decies-bis).

       Problème résolu : Astra Header Builder place le menu dans une "section" (left/center/right)
       du grid-row. La section "right" n'occupe que la moitié droite, donc même
       avec justify-content:center le menu n'est centré que dans cette demi-largeur.

       Solution : position absolute centrée sur le grid-row complet. Le grid-row
       devient le contexte de positionnement (relative). Logo + slogan restent dans
       leur(s) row(s) séparée(s) Astra (header_builder typique = 2 rows superposées
       : Above / Primary), donc pas d'overlap. */
.ast-primary-header-bar .ast-builder-grid-row,
.ast-primary-header-bar > .ast-builder-grid-row-container > .ast-builder-grid-row,
header.site-header .ast-primary-header-bar .ast-builder-grid-row {
  position: relative !important;
  min-height: 56px !important;
}
.ast-primary-header-bar nav.main-navigation,
.ast-primary-header-bar .site-header-section-right nav.main-navigation,
.ast-primary-header-bar .ast-builder-menu-1 {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: max-content !important;
  max-width: 96vw !important;
}
/* Les sections vides (left/center) ne doivent pas occuper d'espace inutile.
   Mais on les laisse en place pour que Customizer continue de fonctionner. */
.ast-primary-header-bar .site-header-section-left:empty,
.ast-primary-header-bar .site-header-section-center:empty,
.ast-primary-header-bar .ast-builder-grid-row-section-left:empty,
.ast-primary-header-bar .ast-builder-grid-row-section-center:empty {
  display: none !important;
}

ul.main-header-menu,
nav.main-navigation ul.main-header-menu,
.ast-builder-menu-1 ul.main-header-menu,
.ast-flex.ast-justify-content-flex-end.main-header-menu,
.ast-flex.main-header-menu {
  display: flex !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
}
ul.main-header-menu > li,
nav.main-navigation li.menu-item {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. Cache l'entry-header (titre de page Astra) sur les 6 pages — uniformité */
body.page .entry-header,
body.page .entry-title,
body.page .ast-archive-description { display: none !important; }

/* 3. MENU ASTRA — padding identique sur TOUS les items (pas seulement le courant)
      → AUCUN décalage vertical quand le highlight acid s'applique.
      Sélecteurs Astra Header Builder + variantes legacy. */
.main-header-menu > li > a,
.main-header-menu li.menu-item > a,
nav.main-navigation ul.main-header-menu > li > a,
nav.main-navigation li.menu-item > a,
.ast-builder-menu-1 .main-header-menu > li > a,
.ast-builder-menu-1 li.menu-item > a,
header.site-header .main-header-menu > li > a {
  padding: 12px 18px !important;
  border-bottom: 2px solid transparent !important;
  font-family: "Space Grotesk", system-ui, sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  background: transparent !important;
  color: #0A0A0A !important;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease !important;
}

/* 4. Hover (item non-courant) — texte violet, pas de fond */
.main-header-menu > li > a:hover,
.main-header-menu li.menu-item:not(.current-menu-item):not(.current_page_item) > a:hover {
  color: #6F4BFF !important;
  background: transparent !important;
}

/* 5. Item courant — background acid + texte ink + bordure ink
      MÊME padding que les autres items → aucun décalage. */
.main-header-menu li.current-menu-item > a,
.main-header-menu li.current_page_item > a,
nav.main-navigation li.current-menu-item > a,
nav.main-navigation li.current_page_item > a,
.ast-builder-menu-1 li.current-menu-item > a,
.ast-builder-menu-1 li.current_page_item > a,
ul.main-header-menu li.current-menu-item > a,
ul.main-header-menu li.current_page_item > a {
  background: #D7FF3A !important;
  color: #0A0A0A !important;
  font-weight: 700 !important;
  padding: 12px 18px !important;
  border-bottom: 2px solid #0A0A0A !important;
  text-decoration: none !important;
}
.main-header-menu li.current-menu-item > a:hover,
.main-header-menu li.current_page_item > a:hover {
  background: #6F4BFF !important;
  color: #FFFFFF !important;
  border-bottom-color: #6F4BFF !important;
}

/* ════════════════ FOOTER LAB UNIFIÉ ════════════════ */
.lab-footer {
  background: #0A0A0A;
  color: rgba(255,255,255,.72);
  font-family: "Space Grotesk", system-ui, sans-serif;
  margin: 0;
  padding: 0;
  border-top: 2px solid #0A0A0A;
}
.lab-footer * { box-sizing: border-box; }
.lab-footer-inner {
  padding: 64px 48px 32px;
  max-width: 1440px;
  margin: 0 auto;
}
.lab-footer.is-fullbleed .lab-footer-inner {
  max-width: none;
  padding: 80px 64px 40px;
}
.lab-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 40px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.lab-footer-col p,
.lab-footer-col ul { margin: 0; }
.lab-footer-brand {
  font-family: "Space Grotesk", sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #EDECE7;
  margin: 0 0 14px;
}
.lab-footer-brand .sep,
.lab-footer-brand .lab { color: #D7FF3A; }
.lab-footer-brand .lab { font-style: italic; }
.lab-footer-est {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  font-weight: 500;
  text-transform: uppercase;
  color: #D7FF3A;
  margin: 0 0 16px;
}
.lab-footer-pitch {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,.72);
  margin: 0 0 20px;
  max-width: 360px;
}
.lab-footer-social {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.lab-footer-social span {
  background: rgba(255,255,255,.08);
  padding: 6px 12px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.16em;
  font-weight: 600;
  color: #D7FF3A;
}
.lab-footer-col-title {
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.2em;
  font-weight: 700;
  text-transform: uppercase;
  color: #D7FF3A;
  margin: 0 0 18px;
}
.lab-footer-col ul {
  list-style: none;
  padding: 0;
}
.lab-footer-col ul li {
  margin-bottom: 10px;
}
.lab-footer-col ul li a {
  color: rgba(255,255,255,.78);
  text-decoration: none;
  font-size: 14px;
  transition: color .15s ease;
}
.lab-footer-col ul li a:hover { color: #D7FF3A; }
.lab-footer-col ul li.is-current a {
  background: #D7FF3A;
  color: #0A0A0A;
  font-weight: 700;
  padding: 2px 8px;
  display: inline-block;
}
.lab-footer-col ul li.is-current a:hover { background: #6F4BFF; color: #FFFFFF; }

/* Bandeau bas : copyright + page courante + EOF */
.lab-footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  padding-top: 24px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,.55);
  align-items: center;
}
.lab-footer-bottom p { margin: 0; }
.lab-footer-current {
  text-align: center;
  background: rgba(215,255,58,.08);
  border: 1px solid rgba(215,255,58,.25);
  padding: 8px 16px;
  color: #D7FF3A;
  font-weight: 600;
  letter-spacing: 0.16em;
}
.lab-footer-current .num {
  background: #D7FF3A;
  color: #0A0A0A;
  padding: 2px 7px;
  margin-left: 6px;
  font-weight: 700;
}
.lab-footer-eof {
  text-align: right;
}

/* Responsive */
@media (max-width: 980px) {
  .lab-footer-inner { padding: 48px 24px 24px; }
  .lab-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .lab-footer-bottom { grid-template-columns: 1fr; text-align: center; }
  .lab-footer-current { text-align: center; }
  .lab-footer-eof { text-align: center; }
}
@media (max-width: 560px) {
  .lab-footer-grid { grid-template-columns: 1fr; }
}
/* end footer-lab-shared */



/* ====== FOOTER LAB SHARED (banner + Astra normalize + footer) ====== */
/* ============================================================================
   WPF-AI-LAB · CSS PARTAGÉ S4-octies — Footer Lab + Menu Astra actif + Banner renforcé
   À concaténer dans le CSS meta de chaque page (M1-M5 + HUB).
   Scope minimal : sélecteurs préfixés .lab-footer + sélecteurs Astra globaux.
   ============================================================================ */

/* ════════════════ BANNER RENFORCÉ ════════════════ */
/* Sélecteurs préfixés `body` (specificity 0,1,1 !important) pour battre tout bloc
   page-scoped non-!important (ex. ancien bloc HUB body.page-id-225 .sec-method-banner). */
body .sec-method-banner {
  background: #0A0A0A !important;
  border-top: 2px solid #0A0A0A !important;
  border-bottom: 2px solid #0A0A0A !important;
  padding: 22px 40px !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 13px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: #EDECE7 !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}
body .sec-method-banner > p { margin: 0 !important; }
body .sec-method-banner .banner-prefix { color: rgba(237,236,231,.6) !important; }
body .sec-method-banner .banner-num {
  background: #D7FF3A !important;
  color: #0A0A0A !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  font-size: 13px !important;
}
body .sec-method-banner.is-featured { background: #D7FF3A !important; color: #0A0A0A !important; }
body .sec-method-banner.is-featured .banner-prefix { color: rgba(10,10,10,.6) !important; }
body .sec-method-banner.is-featured .banner-num { background: #0A0A0A !important; color: #D7FF3A !important; }
body .sec-method-banner .banner-name {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  color: #EDECE7 !important;
}
body .sec-method-banner.is-featured .banner-name { color: #0A0A0A !important; }
body .sec-method-banner .banner-tag {
  margin-left: auto !important;
  background: #6F4BFF !important;
  color: #FFFFFF !important;
  padding: 7px 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  font-size: 12px !important;
}
body .sec-method-banner .banner-sep { color: rgba(237,236,231,.4) !important; margin: 0 2px !important; }
body .sec-method-banner.is-featured .banner-sep { color: rgba(10,10,10,.4) !important; }
body .sec-method-banner.is-featured .banner-tag { background: #0A0A0A !important; color: #D7FF3A !important; }

/* ════════════════════════════════════════════════════════════════════════════
   LAB HEADER NORMALIZE — SOURCE UNIQUE, DÉFINITIVE
   ════════════════════════════════════════════════════════════════════════════
   Harmonise le rendu de l'en-tête Astra + du menu sur les 6 pages du Lab.

   ⚠ NE TOUCHE PAS :
   - aux items du menu WP (toujours éditables depuis Apparence → Menus)
   - au logo / titre de site / slogan (toujours éditables depuis
     Apparence → Personnaliser → Identité du site)
   - à la configuration Header Builder d'Astra (toujours éditable depuis
     Apparence → Personnaliser → Header Builder)

   Ce bloc ne fait qu'harmoniser le RENDU CSS de ces éléments sur les 6 pages
   du Lab. Si vous changez le menu ou le logo dans l'admin, le changement se
   propage automatiquement.
   ════════════════════════════════════════════════════════════════════════════ */

/* 1. Aucun espace blanc entre la barre de menu Astra et le contenu (banner) */
body #primary,
body .site-content > .ast-container,
body .site-content {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body #primary { padding-top: 0 !important; padding-bottom: 0 !important; }

/* 1b. Le HEADER Astra (.site-header / .ast-primary-header-bar) garde sa largeur native
       MÊME si une rule page-specific contraint .ast-container à 1440px pour le cadrage.
       → Évite que le menu wrappe verticalement quand le header est compressé. */
header.site-header .ast-container,
.ast-primary-header-bar .ast-container,
.ast-builder-grid-row-container .ast-container,
#masthead .ast-container {
  max-width: none !important;
  width: 100% !important;
}

/* 1c. Menu CENTRÉ dans le viewport, indépendamment de la section Astra qui l'héberge
       (suggestion Fabrice S4-decies-bis).

       Problème résolu : Astra Header Builder place le menu dans une "section" (left/center/right)
       du grid-row. La section "right" n'occupe que la moitié droite, donc même
       avec justify-content:center le menu n'est centré que dans cette demi-largeur.

       Solution : position absolute centrée sur le grid-row complet. Le grid-row
       devient le contexte de positionnement (relative). Logo + slogan restent dans
       leur(s) row(s) séparée(s) Astra (header_builder typique = 2 rows superposées
       : Above / Primary), donc pas d'overlap. */
.ast-primary-header-bar .ast-builder-grid-row,
.ast-primary-header-bar > .ast-builder-grid-row-container > .ast-builder-grid-row,
header.site-header .ast-primary-header-bar .ast-builder-grid-row {
  position: relative !important;
  min-height: 56px !important;
}
.ast-primary-header-bar nav.main-navigation,
.ast-primary-header-bar .site-header-section-right nav.main-navigation,
.ast-primary-header-bar .ast-builder-menu-1 {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: max-content !important;
  max-width: 96vw !important;
}
/* Les sections vides (left/center) ne doivent pas occuper d'espace inutile.
   Mais on les laisse en place pour que Customizer continue de fonctionner. */
.ast-primary-header-bar .site-header-section-left:empty,
.ast-primary-header-bar .site-header-section-center:empty,
.ast-primary-header-bar .ast-builder-grid-row-section-left:empty,
.ast-primary-header-bar .ast-builder-grid-row-section-center:empty {
  display: none !important;
}

ul.main-header-menu,
nav.main-navigation ul.main-header-menu,
.ast-builder-menu-1 ul.main-header-menu,
.ast-flex.ast-justify-content-flex-end.main-header-menu,
.ast-flex.main-header-menu {
  display: flex !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
}
ul.main-header-menu > li,
nav.main-navigation li.menu-item {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. Cache l'entry-header (titre de page Astra) sur les 6 pages — uniformité */
body.page .entry-header,
body.page .entry-title,
body.page .ast-archive-description { display: none !important; }

/* 3. MENU ASTRA — padding identique sur TOUS les items (pas seulement le courant)
      → AUCUN décalage vertical quand le highlight acid s'applique.
      Sélecteurs Astra Header Builder + variantes legacy. */
.main-header-menu > li > a,
.main-header-menu li.menu-item > a,
nav.main-navigation ul.main-header-menu > li > a,
nav.main-navigation li.menu-item > a,
.ast-builder-menu-1 .main-header-menu > li > a,
.ast-builder-menu-1 li.menu-item > a,
header.site-header .main-header-menu > li > a {
  padding: 12px 18px !important;
  border-bottom: 2px solid transparent !important;
  font-family: "Space Grotesk", system-ui, sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  background: transparent !important;
  color: #0A0A0A !important;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease !important;
}

/* 4. Hover (item non-courant) — texte violet, pas de fond */
.main-header-menu > li > a:hover,
.main-header-menu li.menu-item:not(.current-menu-item):not(.current_page_item) > a:hover {
  color: #6F4BFF !important;
  background: transparent !important;
}

/* 5. Item courant — background acid + texte ink + bordure ink
      MÊME padding que les autres items → aucun décalage. */
.main-header-menu li.current-menu-item > a,
.main-header-menu li.current_page_item > a,
nav.main-navigation li.current-menu-item > a,
nav.main-navigation li.current_page_item > a,
.ast-builder-menu-1 li.current-menu-item > a,
.ast-builder-menu-1 li.current_page_item > a,
ul.main-header-menu li.current-menu-item > a,
ul.main-header-menu li.current_page_item > a {
  background: #D7FF3A !important;
  color: #0A0A0A !important;
  font-weight: 700 !important;
  padding: 12px 18px !important;
  border-bottom: 2px solid #0A0A0A !important;
  text-decoration: none !important;
}
.main-header-menu li.current-menu-item > a:hover,
.main-header-menu li.current_page_item > a:hover {
  background: #6F4BFF !important;
  color: #FFFFFF !important;
  border-bottom-color: #6F4BFF !important;
}

/* ════════════════ FOOTER LAB UNIFIÉ ════════════════ */
.lab-footer {
  background: #0A0A0A;
  color: rgba(255,255,255,.72);
  font-family: "Space Grotesk", system-ui, sans-serif;
  margin: 0;
  padding: 0;
  border-top: 2px solid #0A0A0A;
}
.lab-footer * { box-sizing: border-box; }
.lab-footer-inner {
  padding: 64px 48px 32px;
  max-width: 1440px;
  margin: 0 auto;
}
.lab-footer.is-fullbleed .lab-footer-inner {
  max-width: none;
  padding: 80px 64px 40px;
}
.lab-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 40px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.lab-footer-col p,
.lab-footer-col ul { margin: 0; }
.lab-footer-brand {
  font-family: "Space Grotesk", sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #EDECE7;
  margin: 0 0 14px;
}
.lab-footer-brand .sep,
.lab-footer-brand .lab { color: #D7FF3A; }
.lab-footer-brand .lab { font-style: italic; }
.lab-footer-est {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  font-weight: 500;
  text-transform: uppercase;
  color: #D7FF3A;
  margin: 0 0 16px;
}
.lab-footer-pitch {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,.72);
  margin: 0 0 20px;
  max-width: 360px;
}
.lab-footer-social {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.lab-footer-social span {
  background: rgba(255,255,255,.08);
  padding: 6px 12px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.16em;
  font-weight: 600;
  color: #D7FF3A;
}
.lab-footer-col-title {
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.2em;
  font-weight: 700;
  text-transform: uppercase;
  color: #D7FF3A;
  margin: 0 0 18px;
}
.lab-footer-col ul {
  list-style: none;
  padding: 0;
}
.lab-footer-col ul li {
  margin-bottom: 10px;
}
.lab-footer-col ul li a {
  color: rgba(255,255,255,.78);
  text-decoration: none;
  font-size: 14px;
  transition: color .15s ease;
}
.lab-footer-col ul li a:hover { color: #D7FF3A; }
.lab-footer-col ul li.is-current a {
  background: #D7FF3A;
  color: #0A0A0A;
  font-weight: 700;
  padding: 2px 8px;
  display: inline-block;
}
.lab-footer-col ul li.is-current a:hover { background: #6F4BFF; color: #FFFFFF; }

/* Bandeau bas : copyright + page courante + EOF */
.lab-footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  padding-top: 24px;
  font-family: "JetBrains Mono", monospace;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,.55);
  align-items: center;
}
.lab-footer-bottom p { margin: 0; }
.lab-footer-current {
  text-align: center;
  background: rgba(215,255,58,.08);
  border: 1px solid rgba(215,255,58,.25);
  padding: 8px 16px;
  color: #D7FF3A;
  font-weight: 600;
  letter-spacing: 0.16em;
}
.lab-footer-current .num {
  background: #D7FF3A;
  color: #0A0A0A;
  padding: 2px 7px;
  margin-left: 6px;
  font-weight: 700;
}
.lab-footer-eof {
  text-align: right;
}

/* Responsive */
@media (max-width: 980px) {
  .lab-footer-inner { padding: 48px 24px 24px; }
  .lab-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .lab-footer-bottom { grid-template-columns: 1fr; text-align: center; }
  .lab-footer-current { text-align: center; }
  .lab-footer-eof { text-align: center; }
}
@media (max-width: 560px) {
  .lab-footer-grid { grid-template-columns: 1fr; }
}
/* end footer-lab-shared */

/* === FOOTER FULLBLEED FIX START === */
.lab-footer.is-fullbleed,
body .lab-footer.is-fullbleed {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  position: relative !important;
  left: 0 !important;
  right: 0 !important;
  box-sizing: border-box !important;
}
.lab-footer.is-fullbleed .lab-footer-inner {
  max-width: none !important;
  padding: 80px 64px 40px !important;
}
@media (max-width: 768px) {
  .lab-footer.is-fullbleed .lab-footer-inner {
    padding: 48px 24px 24px !important;
  }
}
/* === FOOTER FULLBLEED FIX END === */.uag-blocks-common-selector{z-index:var(--z-index-desktop) !important}@media(max-width: 976px){.uag-blocks-common-selector{z-index:var(--z-index-tablet) !important}}@media(max-width: 767px){.uag-blocks-common-selector{z-index:var(--z-index-mobile) !important}}.wp-block-uagb-image{display:flex}.wp-block-uagb-image__figure{position:relative;display:flex;flex-direction:column;max-width:100%;height:auto;margin:0}.wp-block-uagb-image__figure img{height:auto;display:flex;max-width:100%;transition:box-shadow .2s ease}.wp-block-uagb-image__figure>a{display:inline-block}.wp-block-uagb-image__figure figcaption{text-align:center;margin-top:.5em;margin-bottom:1em}.wp-block-uagb-image .components-placeholder.block-editor-media-placeholder .components-placeholder__instructions{align-self:center}.wp-block-uagb-image--align-left{text-align:left}.wp-block-uagb-image--align-right{text-align:right}.wp-block-uagb-image--align-center{text-align:center}.wp-block-uagb-image--align-full .wp-block-uagb-image__figure{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;width:100vw;height:auto}.wp-block-uagb-image--align-full .wp-block-uagb-image__figure img{height:auto;width:100% !important}.wp-block-uagb-image--align-wide .wp-block-uagb-image__figure img{height:auto;width:100%}.wp-block-uagb-image--layout-overlay__color-wrapper{position:absolute;left:0;top:0;right:0;bottom:0;opacity:.2;background:rgba(0,0,0,.5);transition:opacity .35s ease-in-out}.wp-block-uagb-image--layout-overlay-link{position:absolute;left:0;right:0;bottom:0;top:0}.wp-block-uagb-image--layout-overlay .wp-block-uagb-image__figure:hover .wp-block-uagb-image--layout-overlay__color-wrapper{opacity:1}.wp-block-uagb-image--layout-overlay__inner{position:absolute;left:15px;right:15px;bottom:15px;top:15px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-color:#fff;transition:.35s ease-in-out}.wp-block-uagb-image--layout-overlay__inner.top-left,.wp-block-uagb-image--layout-overlay__inner.top-center,.wp-block-uagb-image--layout-overlay__inner.top-right{justify-content:flex-start}.wp-block-uagb-image--layout-overlay__inner.bottom-left,.wp-block-uagb-image--layout-overlay__inner.bottom-center,.wp-block-uagb-image--layout-overlay__inner.bottom-right{justify-content:flex-end}.wp-block-uagb-image--layout-overlay__inner.top-left,.wp-block-uagb-image--layout-overlay__inner.center-left,.wp-block-uagb-image--layout-overlay__inner.bottom-left{align-items:flex-start}.wp-block-uagb-image--layout-overlay__inner.top-right,.wp-block-uagb-image--layout-overlay__inner.center-right,.wp-block-uagb-image--layout-overlay__inner.bottom-right{align-items:flex-end}.wp-block-uagb-image--layout-overlay__inner .uagb-image-heading{color:#fff;transition:transform .35s,opacity .35s ease-in-out;transform:translate3d(0, 24px, 0);margin:0;line-height:1em}.wp-block-uagb-image--layout-overlay__inner .uagb-image-separator{width:30%;border-top-width:2px;border-top-color:#fff;border-top-style:solid;margin-bottom:10px;opacity:0;transition:transform .4s,opacity .4s ease-in-out;transform:translate3d(0, 30px, 0)}.wp-block-uagb-image--layout-overlay__inner .uagb-image-caption{opacity:0;overflow:visible;color:#fff;transition:transform .45s,opacity .45s ease-in-out;transform:translate3d(0, 35px, 0)}.wp-block-uagb-image--layout-overlay__inner:hover .uagb-image-heading,.wp-block-uagb-image--layout-overlay__inner:hover .uagb-image-separator,.wp-block-uagb-image--layout-overlay__inner:hover .uagb-image-caption{opacity:1;transform:translate3d(0, 0, 0)}.wp-block-uagb-image--effect-zoomin .wp-block-uagb-image__figure img,.wp-block-uagb-image--effect-zoomin .wp-block-uagb-image__figure .wp-block-uagb-image--layout-overlay__color-wrapper{transform:scale(1);transition:transform .35s ease-in-out}.wp-block-uagb-image--effect-zoomin .wp-block-uagb-image__figure:hover img,.wp-block-uagb-image--effect-zoomin .wp-block-uagb-image__figure:hover .wp-block-uagb-image--layout-overlay__color-wrapper{transform:scale(1.05)}.wp-block-uagb-image--effect-slide .wp-block-uagb-image__figure img,.wp-block-uagb-image--effect-slide .wp-block-uagb-image__figure .wp-block-uagb-image--layout-overlay__color-wrapper{width:calc(100% + 40px) !important;max-width:none !important;transform:translate3d(-40px, 0, 0);transition:transform .35s ease-in-out}.wp-block-uagb-image--effect-slide .wp-block-uagb-image__figure:hover img,.wp-block-uagb-image--effect-slide .wp-block-uagb-image__figure:hover .wp-block-uagb-image--layout-overlay__color-wrapper{transform:translate3d(0, 0, 0)}.wp-block-uagb-image--effect-grayscale img{filter:grayscale(0%);transition:.35s ease-in-out}.wp-block-uagb-image--effect-grayscale:hover img{filter:grayscale(100%)}.wp-block-uagb-image--effect-blur img{filter:blur(0);transition:.35s ease-in-out}.wp-block-uagb-image--effect-blur:hover img{filter:blur(3px)}.uagb-block-dc105317.wp-block-uagb-image--layout-default figure img{box-shadow: 0px 0px 0 #00000070;}.uagb-block-dc105317.wp-block-uagb-image .wp-block-uagb-image__figure figcaption{font-style: normal;align-self: center;}.uagb-block-dc105317.wp-block-uagb-image--layout-overlay figure img{box-shadow: 0px 0px 0 #00000070;}.uagb-block-dc105317.wp-block-uagb-image--layout-overlay .wp-block-uagb-image--layout-overlay__color-wrapper{opacity: 0.2;}.uagb-block-dc105317.wp-block-uagb-image--layout-overlay .wp-block-uagb-image--layout-overlay__inner{left: 15px;right: 15px;top: 15px;bottom: 15px;}.uagb-block-dc105317.wp-block-uagb-image--layout-overlay .wp-block-uagb-image--layout-overlay__inner .uagb-image-heading{font-style: normal;color: #fff;opacity: 1;}.uagb-block-dc105317.wp-block-uagb-image--layout-overlay .wp-block-uagb-image--layout-overlay__inner .uagb-image-heading a{color: #fff;}.uagb-block-dc105317.wp-block-uagb-image--layout-overlay .wp-block-uagb-image--layout-overlay__inner .uagb-image-caption{opacity: 0;}.uagb-block-dc105317.wp-block-uagb-image--layout-overlay .wp-block-uagb-image__figure:hover .wp-block-uagb-image--layout-overlay__color-wrapper{opacity: 1;}.uagb-block-dc105317.wp-block-uagb-image .wp-block-uagb-image--layout-overlay__inner .uagb-image-separator{width: 30%;border-top-width: 2px;border-top-color: #fff;opacity: 0;}.uagb-block-dc105317.wp-block-uagb-image .wp-block-uagb-image__figure img{width: px;height: auto;}.uagb-block-dc105317.wp-block-uagb-image .wp-block-uagb-image__figure:hover .wp-block-uagb-image--layout-overlay__inner .uagb-image-caption{opacity: 1;}.uagb-block-dc105317.wp-block-uagb-image .wp-block-uagb-image__figure:hover .wp-block-uagb-image--layout-overlay__inner .uagb-image-separator{opacity: 1;}.uagb-block-dc105317.wp-block-uagb-image--layout-default figure:hover img{box-shadow: 0px 0px 0 #00000070;}.uagb-block-dc105317.wp-block-uagb-image--layout-overlay figure:hover img{box-shadow: 0px 0px 0 #00000070;}@media only screen and (max-width: 976px) {.uagb-block-dc105317.wp-block-uagb-image .wp-block-uagb-image__figure img{width: px;height: auto;}}@media only screen and (max-width: 767px) {.uagb-block-dc105317.wp-block-uagb-image .wp-block-uagb-image__figure img{width: px;height: auto;}}.uagb-cta__outer-wrap .uagb-cta__content,.uagb-cta__outer-wrap a.uagb-cta__block-link span,.uagb-cta__outer-wrap .uagb-cta__content-right .uagb-cta__button-wrapper,.uagb-cta__outer-wrap .uagb-cta-typeof-button,.uagb-cta__outer-wrap .uagb-cta__content-right .uagb-cta__block-link,.uagb-cta__outer-wrap .uagb-cta-with-svg{display:inline-block}.uagb-cta__outer-wrap{display:flex;justify-content:space-between}.wp-block-uagb-call-to-action .uagb-cta__buttons{display:inline-flex}.wp-block-uagb-call-to-action .wp-block-button__link,.wp-block-uagb-call-to-action .ast-outline-button{fill:currentColor;justify-content:center}.uagb-cta__button-link-wrapper,.uagb-cta-second__button{display:inline-flex;align-items:center;word-break:keep-all;width:100%}.uagb-cta__title{padding:0;margin:0;display:block}.uagb-cta__content-right .uagb-cta__button-wrapper{float:right}.uagb-cta__link-wrapper.uagb-cta__block-link-style:empty{display:none}a.uagb-cta__block-link,.entry .entry-content a.uagb-cta__block-link,a.uagb-cta__block-link-wrap,.entry .entry-content a.uagb-cta__block-link-wrap{text-decoration:none}a.uagb-cta__block-link:hover,.entry .entry-content a.uagb-cta__block-link:hover,a.uagb-cta__block-link-wrap:hover,.entry .entry-content a.uagb-cta__block-link-wrap:hover .entry .entry-content a.uagb-cta__block-link:hover{color:inherit}.uagb-cta__content-right{text-align:right;justify-content:flex-end}.uagb-cta__left-right-wrap{width:100%;word-break:break-word}.uagb-cta__icon-position-below-title .uagb-cta__left-right-wrap{display:block;min-width:100%;width:100%}.uagb-cta__icon-position-left .uagb-cta__left-right-wrap,.uagb-cta__icon-position-right .uagb-cta__left-right-wrap{display:flex}.uagb-cta__icon-position-right .uagb-cta__left-right-wrap{justify-content:flex-end}.uagb-cta__block-link-icon-after{margin-left:5px;margin-right:0}.uagb-cta__block-link-icon-before{margin-left:0;margin-right:5px}.uagb-cta__block-link-icon,.uagb-cta__block svg{transition:all 200ms linear}.uagb-cta__block{position:relative}.uagb-cta-typeof-button{line-height:1;text-align:center}.uagb-cta__content-right .uagb-cta__button-link-wrapper,.uagb-cta__content-right .uagb-cta-second__button .uagb-cta__content-right .uagb-cta__block-link,.uagb-cta__content-right.uagb-cta__button-valign-middle .uagb-cta__left-right-wrap{display:flex;align-items:center}.uagb-cta__content-right .uagb-cta__button-link-wrapper,.uagb-cta__content-right .uagb-cta-second__button .uagb-cta__content-right .uagb-cta__block-link{justify-content:center}.uagb-cta__link-wrapper a{box-shadow:none;text-decoration:none}.uagb-cta__block,.uagb-cta__content,.uagb-cta__left-right-wrap{z-index:1}.uagb-cta__block-link{cursor:pointer}.uagb-cta__content-right .uagb-cta__block-link{float:right;padding:10px 14px}a.uagb-cta__block-link-wrap{color:inherit}.uagb-cta__content p:empty{display:none}.uagb-cta__button-type-none .uagb-cta__content{width:100%}.uagb-cta-with-svg{height:14px;width:14px;line-height:14px;vertical-align:middle}.uagb-cta__block svg{display:block;height:inherit;width:inherit}.uagb-cta__button-link-wrapper svg{width:20px;height:20px}.uagb-cta__align-button-after{margin-left:5px}.uagb-cta__align-button-before{margin-right:5px}.uagb-cta__block-link i{font-style:normal}a.uagb-cta__link-to-all{position:absolute;top:0;left:0;width:100%;height:100%;z-index:11}.wp-block-uagb-call-to-action{position:relative}.wp-block-uagb-call-to-action a.uagb-cta__link-to-all{position:absolute;top:0;left:0;width:100%;height:100%;z-index:11}@media only screen and (max-width: 976px){.uagb-cta__content-stacked-tablet,.uagb-cta__content-stacked-tablet .uagb-cta__left-right-wrap{flex-direction:column;text-align:center}.uagb-cta__content-stacked-tablet.uagb-cta__content-right .uagb-cta__button-wrapper{float:none;margin:0 auto}.uagb-cta__content-stacked-tablet .uagb-cta__left-right-wrap .uagb-cta__content{margin-left:0;margin-right:0}.uagb-cta__content-stacked-tablet.uagb-cta__content-right .uagb-cta__left-right-wrap .uagb-cta__content,.uagb-cta__content-stacked-tablet.uagb-cta__content-right .uagb-cta__left-right-wrap .uagb-cta__link-wrapper{width:100% !important}}@media screen and (max-width: 767px){.uagb-cta__content-stacked-mobile,.uagb-cta__content-stacked-mobile .uagb-cta__left-right-wrap{flex-direction:column;text-align:center}.uagb-cta__content-stacked-mobile.uagb-cta__content-right .uagb-cta__button-wrapper{float:none;margin:0 auto}.uagb-cta__content-stacked-mobile .uagb-cta__left-right-wrap .uagb-cta__content{margin-left:0;margin-right:0}.uagb-cta__content-stacked-mobile.uagb-cta__content-right .uagb-cta__left-right-wrap .uagb-cta__content,.uagb-cta__content-stacked-mobile.uagb-cta__content-right .uagb-cta__left-right-wrap .uagb-cta__link-wrapper{width:100% !important}}.uagb-cta__desc p:last-child{margin-bottom:0}.uagb-block-fada77a9.wp-block-uagb-call-to-action .uagb-cta__title{margin-bottom: 10px;}.uagb-block-fada77a9.wp-block-uagb-call-to-action .uagb-cta__desc{margin-bottom: 10px;}.uagb-block-fada77a9 .uagb-cta__align-button-after{margin-left: 10px;}.uagb-block-fada77a9 .uagb-cta__align-button-before{margin-right: 10px;}.uagb-block-fada77a9.wp-block-uagb-call-to-action a.uagb-cta__button-link-wrapper > svg{margin-left: 10px;}.uagb-block-fada77a9.wp-block-uagb-call-to-action a.uagb-cta-second__button > svg{margin-left: 10px;font-size: 14px;width: 14px;height: 14px;line-height: 14px;}.uagb-block-fada77a9 .uagb-cta__content-wrap{text-align: left;}.uagb-block-fada77a9 .uagb-cta__wrap{width: 70%;text-align: left;}.uagb-block-fada77a9.wp-block-uagb-call-to-action{text-align: left;}.uagb-block-fada77a9 .uagb-cta__left-right-wrap .uagb-cta__content{margin-left: 0px;}.uagb-block-fada77a9 .uagb-cta__buttons{column-gap: 15px;}.uagb-block-fada77a9.wp-block-uagb-call-to-action {display: flex;justify-content: space-between;}.uagb-block-fada77a9 .uagb-cta__content-right .uagb-cta__left-right-wrap .uagb-cta__content{width: 70%;}.uagb-block-fada77a9 .uagb-cta__content-right .uagb-cta__left-right-wrap .uagb-cta__link-wrapper{width: 30%;}.uagb-block-fada77a9.wp-block-uagb-call-to-action a.uagb-cta__button-link-wrapper {align-self: center;height: fit-content;margin-left: auto;}.uagb-block-fada77a9.wp-block-uagb-call-to-action  {flex-direction: row;align-items: center;}.uagb-block-fada77a9.wp-block-uagb-call-to-action.wp-block-button a.uagb-cta-second__button{align-self: center;height: fit-content;}.uagb-block-fada77a9.wp-block-uagb-call-to-action.wp-block-button a.uagb-cta-second__button:hover{background-color: !important;}.uagb-block-fada77a9.wp-block-uagb-call-to-action.wp-block-button a.uagb-cta-second__button:focus{background-color: !important;}.uagb-block-fada77a9 .uagb-cta__button-wrapper a.uagb-cta-typeof-button{color: #333;background-color: #ddbd6c;border-top-width: 1px;border-left-width: 1px;border-right-width: 1px;border-bottom-width: 1px;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;border-color: #333;border-style: solid;}.uagb-block-fada77a9.wp-block-uagb-call-to-action.wp-block-button .uagb-cta__buttons a.uagb-cta__button-link-wrapper.wp-block-button__link{background-color: #ddbd6c;border-top-width: 1px;border-left-width: 1px;border-right-width: 1px;border-bottom-width: 1px;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;border-color: #333;border-style: solid;}.uagb-block-fada77a9.wp-block-uagb-call-to-action a.uagb-cta-second__button{text-transform: normal;text-decoration: none;font-size: 14px;}@media only screen and (max-width: 976px) {.uagb-block-fada77a9.wp-block-uagb-call-to-action.uagb-cta__content-stacked-tablet {display: inherit;}.uagb-block-fada77a9.uagb-cta__content-stacked-tablet .uagb-cta__wrap{width: 100%;}.uagb-block-fada77a9 .uagb-cta__content-right .uagb-cta__left-right-wrap .uagb-cta__link-wrapper{width: 30%;}.uagb-block-fada77a9 .uagb-cta__wrap{text-align: center;}.uagb-block-fada77a9.wp-block-uagb-call-to-action {flex-direction: column;align-items: center;}.uagb-block-fada77a9.wp-block-uagb-call-to-action a.uagb-cta__button-link-wrapper{border-style: solid;border-color: #333;}.uagb-block-fada77a9.wp-block-uagb-call-to-action.wp-block-button .uagb-cta__buttons a.uagb-cta__button-link-wrapper.wp-block-button__link{border-style: solid;border-color: #333;}}@media only screen and (max-width: 767px) {.uagb-block-fada77a9.wp-block-uagb-call-to-action.uagb-cta__content-stacked-mobile {display: inherit;}.uagb-block-fada77a9.uagb-cta__content-stacked-mobile .uagb-cta__wrap{width: 100%;}.uagb-block-fada77a9 .uagb-cta__buttons{justify-content: center;}.uagb-block-fada77a9 .uagb-cta__content-right .uagb-cta__left-right-wrap .uagb-cta__link-wrapper{width: 30%;}.uagb-block-fada77a9 .uagb-cta__wrap{text-align: center;}.uagb-block-fada77a9.wp-block-uagb-call-to-action {flex-direction: column;align-items: center;}.uagb-block-fada77a9.wp-block-uagb-call-to-action a.uagb-cta__button-link-wrapper{border-style: solid;border-color: #333;}.uagb-block-fada77a9.wp-block-uagb-call-to-action.wp-block-button .uagb-cta__buttons a.uagb-cta__button-link-wrapper.wp-block-button__link{border-style: solid;border-color: #333;}}.wp-block-uagb-marketing-button{display:-webkit-box;display:-ms-flexbox;display:flex}.wp-block-uagb-marketing-button p:empty{display:none}.wp-block-uagb-marketing-button .uagb-marketing-btn__title,.wp-block-uagb-marketing-button p.uagb-marketing-btn__prefix{margin-bottom:0}.wp-block-uagb-marketing-button .uagb-marketing-btn__link{z-index:1;display:inline-block;position:relative;-webkit-transition:all .2s;-o-transition:all .2s;transition:all .2s}.wp-block-uagb-marketing-button .uagb-marketing-btn__link.wp-block-button__link{width:auto}.wp-block-uagb-marketing-button svg{fill:currentColor;width:20px;height:20px;z-index:1;vertical-align:middle}.wp-block-uagb-marketing-button .uagb-marketing-btn__title,.wp-block-uagb-marketing-button svg{display:inline;vertical-align:middle}.wp-block-uagb-marketing-button.uagb-marketing-btn__align-center,.wp-block-uagb-marketing-button.uagb-marketing-btn__align-text-center .uagb-marketing-btn__title-wrap,.wp-block-uagb-marketing-button.uagb-marketing-btn__align-text-center .uagb-marketing-btn__link{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.wp-block-uagb-marketing-button.uagb-marketing-btn__align-left,.wp-block-uagb-marketing-button.uagb-marketing-btn__align-text-left .uagb-marketing-btn__title-wrap,.wp-block-uagb-marketing-button.uagb-marketing-btn__align-text-left .uagb-marketing-btn__link{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left}.wp-block-uagb-marketing-button.uagb-marketing-btn__align-right,.wp-block-uagb-marketing-button.uagb-marketing-btn__align-text-right .uagb-marketing-btn__title-wrap,.wp-block-uagb-marketing-button.uagb-marketing-btn__align-text-right .uagb-marketing-btn__link{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:right}.wp-block-uagb-marketing-button.uagb-marketing-btn__align-full .uagb-marketing-btn__link{width:100%}.wp-block-uagb-marketing-button.uagb-marketing-btn__align-text-center .uagb-marketing-btn__prefix{text-align:center}.wp-block-uagb-marketing-button.uagb-marketing-btn__align-text-left .uagb-marketing-btn__prefix{text-align:left}.wp-block-uagb-marketing-button.uagb-marketing-btn__align-text-right .uagb-marketing-btn__prefix{text-align:right}.wp-block-uagb-marketing-button.uagb-marketing-btn__icon-after svg{order:2}.wp-block-uagb-marketing-button.uagb-marketing-btn__align-full .uagb-marketing-btn__wrap{width:100%}.wp-block-uagb-marketing-button.uagb-marketing-btn__align-center .uagb-marketing-btn__wrap,.wp-block-uagb-marketing-button.uagb-marketing-btn__align-text-center .uagb-marketing-btn__title-wrap{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wp-block-uagb-marketing-button .uagb-marketing-btn__title-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:self-end;-ms-flex-align:self-end;align-items:self-end}.wp-block-uagb-marketing-button.uagb-marketing-btn__icon-after .uagb-marketing-btn__icon-wrap{order:2}.entry-content .wp-block-uagb-marketing-button .uagb-marketing-btn__link{text-decoration:none;display:inline-block}.uagb-block-8d0d0969 .uagb-marketing-btn__prefix{font-size: 14px;line-height: 2em;margin-top: 0px;}.uagb-block-8d0d0969.uagb-marketing-btn__icon-after .uagb-marketing-btn__link svg{margin-left: 10px;}.uagb-block-8d0d0969.uagb-marketing-btn__icon-before .uagb-marketing-btn__link svg{margin-right: 10px;}.uagb-block-8d0d0969.uagb-marketing-btn__icon-after .uagb-marketing-btn__icon-wrap svg{margin-left: 10px;}.uagb-block-8d0d0969.uagb-marketing-btn__icon-before .uagb-marketing-btn__icon-wrap svg{margin-right: 10px;}.uagb-block-8d0d0969 .uagb-marketing-btn__title-wrap{align-items: center;}.uagb-block-8d0d0969 .uagb-marketing-btn__title-wrap .uagb-marketing-btn__icon-wrap svg{vertical-align: sub;}.uagb-block-8d0d0969 svg{width: 20px;height: 20px;}.uagb-block-8d0d0969.wp-block-uagb-marketing-button.wp-block-button .wp-block-button__link.uagb-marketing-btn__link{background: rgb(230,146,30);}.uagb-block-8d0d0969.wp-block-uagb-marketing-button.wp-block-button:not(.is-style-outline) a.wp-block-button__link:not(.has-background){background-color: rgb(230,146,30);}.uagb-block-8d0d0969 .uagb-marketing-btn__link{background: rgb(230,146,30);}.uagb-block-8d0d0969 .uagb-marketing-btn__link.wp-block-button__link{border-top-width: 1px;border-left-width: 1px;border-right-width: 1px;border-bottom-width: 1px;border-color: #333;border-style: solid;}.uagb-block-8d0d0969 .uagb-marketing-btn__wrap .uagb-marketing-btn__link{padding-left: 20px;padding-right: 20px;padding-top: 8px;padding-bottom: 8px;border-top-width: 1px;border-left-width: 1px;border-right-width: 1px;border-bottom-width: 1px;border-color: #333;border-style: solid;}.uagb-block-8d0d0969 .uagb-marketing-btn__title{font-size: 20px;}@media only screen and (max-width: 976px) {.uagb-block-8d0d0969 .uagb-marketing-btn__prefix{font-size: 14px;}.uagb-block-8d0d0969 .uagb-marketing-btn__link.wp-block-button__link{border-style: solid;border-color: #333;}.uagb-block-8d0d0969 .uagb-marketing-btn__wrap .uagb-marketing-btn__link{padding-left: 20px;padding-right: 20px;padding-top: 8px;padding-bottom: 8px;border-style: solid;border-color: #333;}.uagb-block-8d0d0969 .uagb-marketing-btn__title{font-size: 20px;}}@media only screen and (max-width: 767px) {.uagb-block-8d0d0969 .uagb-marketing-btn__prefix{font-size: 14px;}.uagb-block-8d0d0969.wp-block-uagb-marketing-button.wp-block-button .uagb-marketing-btn__link{border-style: solid;border-color: #333;}.uagb-block-8d0d0969 .uagb-marketing-btn__wrap .uagb-marketing-btn__link{padding-left: 20px;padding-right: 20px;padding-top: 8px;padding-bottom: 8px;border-style: solid;border-color: #333;}.uagb-block-8d0d0969 .uagb-marketing-btn__title{font-size: 20px;}}