@charset "UTF-8";
/*
================================================================
   Seeds.re - Feuille de style partagée
================================================================
*/
@import url("https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&family=Mukta:wght@300;400;500;600;700&family=Roboto:wght@400;500;700&display=swap");
/* ────────────────────────────────────────
   1. TOKENS DA SEEDS
──────────────────────────────────────── */
:root {
  /* Couleurs principales */
  --lpink: #f92c8b;
  --pink: #d80165;
  --pg: rgba(249,44,139,.28);
  --ps: rgba(249,44,139,.08);
  --pd: #3b004f;
  --pm: #1f005a;
  --mauve: #5c1a7a;
  --deep: #2d0042;
  /* Arc-en-ciel */
  --blue: #01b7ff;
  --teal: #40dda6;
  --yellow: #ffd946;
  --orange: #ffa350;
  --hot: #ff0060;
  /* Fonds - jamais de noir pur */
  --bg1: #ffffff;
  --bg2: #f8f7ff;
  --bg3: #f0f4ff;
  --mu: #5a5a72;
  --bo: #e4e4f0;
  /* Typographies */
  --fh: 'Quicksand', Helvetica, sans-serif;
  --fn: 'Mukta', Helvetica, sans-serif;
  --fb: 'Roboto', Helvetica, sans-serif;
  /* Ombres */
  --sp: 0 12px 32px -6px rgba(249,44,139,.35);
  --shl: 0 20px 60px rgba(59,0,79,.1);
  /* Gradients */
  --gr: linear-gradient(113deg,#430069 21%,#01b7ff 53%,#40dda6 66%,#ffd946 77%,#ffa350 88%,#ff0060 100%);
  --gt: linear-gradient(120deg,#430069 0%,#01b7ff 35%,#40dda6 55%,#f92c8b 78%,#ffa350 100%);
  --gf: linear-gradient(120deg, #291d62 0%,#01b7ff 35%,#40dda6 55%,#f92c8b 78%,#ffa350 100%);
  --gl: linear-gradient(120deg,#fff 0%,#40dda6 28%,#01b7ff 50%,#f92c8b 72%,#ffd946 100%);
  /* Hero fond dark */
  --hero-bg: linear-gradient(160deg,#5c1a7a 0%,#3b004f 28%,#2d0042 100%);
}

/* ────────────────────────────────────────
   2. RESET & BASE
──────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--fn), serif;
  font-size: 16px;
  color: #2a2a3d;
  background: #fff;
  line-height: 1.7;
  overflow-x: hidden;
}

h1, h2, h3, h4 {
  font-family: var(--fh), serif;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 1rem;
}

img {
  max-width: 100%;
  display: block;
}

a {
  text-decoration: none;
}

section {
  position: relative;
}

.container {
  padding: 0 15px;
  margin: auto;
}

.container h1 {
  margin-top: 0;
}

@media screen and (min-width: 1200px) {
  .container {
    padding: 0 30px;
    max-width: 1280px;
  }
}
.hidden {
  display: none;
}

.flex {
  display: flex;
}

.justify-right {
  justify-content: flex-end;
}

.justify-left {
  justify-content: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.align-center {
  align-items: center;
}

#hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(160deg, #5c1a7a 0%, #3b004f 28%, #2d0042 100%);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 80px), 0 100%);
}

.hero-color {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(113deg, rgba(67, 0, 105, 0.85) 0%, rgba(1, 183, 255, 0.12) 45%, rgba(64, 221, 166, 0.06) 60%, transparent 75%);
}

.hero-glow {
  position: absolute;
  top: -180px;
  right: -180px;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(1, 183, 255, 0.14) 0%, transparent 65%);
  pointer-events: none;
}

.hero-layout {
  position: relative;
  z-index: 1;
  max-width: 1160px;
  width: 100%;
  margin: 0 auto;
  padding: 80px 0 160px;
  display: grid;
  grid-template-columns: 1fr 460px;
  gap: 72px;
  align-items: center;
}

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--fb), sans-serif;
  font-size: 0.68em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 1.75rem;
}

.hero-eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--pink);
  display: block;
}

.hero-sub {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.82;
  max-width: 480px;
  margin-bottom: 2.25rem;
}

.hero-ctas {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 2.25rem;
}

.hero-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.hchip {
  font-family: var(--fn), sans-serif;
  font-size: 0.77rem;
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 0.5px;
}

.hchip::after {
  content: "·";
  margin-left: 0.5rem;
  color: rgba(255, 255, 255, 0.15);
}

.hchip:last-child::after {
  display: none;
}

.hero-right {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.hero-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 3/2;
  position: relative;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
}

.hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.85);
}

.hero-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(59, 0, 79, 0.55) 0%, transparent 50%);
}

.hero-photo-tag {
  position: absolute;
  bottom: 1.25rem;
  left: 1.25rem;
  background: var(--pink);
  color: #fff;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.68em;
  text-transform: uppercase;
  letter-spacing: 3px;
  padding: 0.3rem 0.8rem;
  border-radius: 99px;
  box-shadow: var(--sp);
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.hstat {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 1.1rem;
  text-align: center;
}

.hstat-n {
  font-family: var(--fh), sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hstat-l {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.38);
  margin-top: 0.3rem;
}

/* Barre gradient diagonal - identique accueil */
.hero-grad-bar {
  position: relative;
  height: 5px;
  background: var(--gr);
  margin-top: -5px;
  z-index: 10;
  transform: skewY(-2.3deg);
  transform-origin: left;
}

/* ────────────────────────────────────────
   16. CTA FINAL
──────────────────────────────────────── */
#ctaf .ctaf-container {
  position: relative;
  padding: 140px 0 100px;
  text-align: center;
  overflow: hidden;
  background: linear-gradient(200deg, #5c1a7a 0%, #3b004f 28%, #2d0042 60%, #2d0042 100%);
  clip-path: polygon(0 0, 100% 80px, 100% 100%, 0 100%);
  margin-top: -80px;
}

.ctaf-color {
  position: absolute;
  inset: 0;
  background: var(--gr);
  opacity: 0.1;
  pointer-events: none;
}

.ctaf-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 700px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(1, 183, 255, 0.1) 0%, transparent 60%);
  pointer-events: none;
}

.ctaf-ring {
  position: absolute;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.ctaf-r1 {
  width: 500px;
  height: 500px;
  border: 1px solid rgba(249, 44, 139, 0.1);
}

.ctaf-r2 {
  width: 300px;
  height: 300px;
  border: 1px solid rgba(249, 44, 139, 0.18);
}

.ctaf .wrap {
  position: relative;
  z-index: 1;
}

.ctaf-lbl {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--fb), sans-serif;
  font-size: 0.68em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: rgba(255, 255, 255, 0.3);
  margin-bottom: 1.75rem;
}

.ctaf-lbl::before, .ctaf-lbl::after {
  content: "";
  width: 24px;
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
  display: block;
}

#ctaf h2 {
  font-size: clamp(28px, 4vw, 50px);
  letter-spacing: -1px;
  margin-bottom: 1rem;
  line-height: 1.06;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ctaf p {
  font-size: 17px;
  color: white;
  margin: 2rem auto 2.5rem;
  line-height: 1.8;
}

.ctaf-btns {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

p.ctaf-note {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.25);
  margin-top: 1.25rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-family: var(--fb), sans-serif;
}

/* Barre top CTA final */
.ctaf-top-bar {
  position: absolute;
  top: -2px;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #430069, #01b7ff, #40dda6, #ffd946, #ffa350, #ff0060);
  transform: skewY(2.4deg);
  transform-origin: left;
  z-index: 10;
}

@media (max-width: 768px) {
  #ctaf {
    clip-path: none;
    margin-top: 0;
  }
  #ctaf .ctaf-top-bar {
    display: none;
  }
}
/* ────────────────────────────────────────
   4. BOUTONS
──────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.82em;
  text-transform: uppercase;
  letter-spacing: 5px;
  background: var(--pink);
  color: #fff;
  border: none;
  border-radius: 3px;
  padding: 16px 32px;
  cursor: pointer;
  box-shadow: var(--sp);
  transition: letter-spacing 300ms ease, transform 0.2s;
}

.btn:hover {
  letter-spacing: 5.5px;
  transform: translateY(-1px);
}

.btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.78em;
  text-transform: uppercase;
  letter-spacing: 4px;
  background: transparent;
  color: rgba(255, 255, 255, 0.65);
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  border-radius: 3px;
  padding: 14px 28px;
  cursor: pointer;
  transition: all 0.25s;
}

.btn-ghost:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
  color: #fff;
}

.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.78em;
  text-transform: uppercase;
  letter-spacing: 4px;
  background: transparent;
  color: var(--pd);
  border: 1.5px solid var(--pd);
  border-radius: 3px;
  padding: 14px 28px;
  cursor: pointer;
  transition: all 0.25s;
}

.btn-outline:hover {
  background: var(--pd);
  color: #fff;
}

/* ────────────────────────────────────────
   3. LAYOUT
──────────────────────────────────────── */
.wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 5%;
}

/* Séparateur de section supérieur gradient */
.section-top-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
  z-index: 1;
}

/* ────────────────────────────────────────
   5. LABELS / EYEBROWS
──────────────────────────────────────── */
.lbl-sec {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--fb), sans-serif;
  font-size: 0.68em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: var(--pink);
  margin-bottom: 1.25rem;
}

.lbl-sec::before {
  content: "";
  width: 24px;
  height: 1.5px;
  background: var(--pink);
  display: block;
}

.lbl-sec.center {
  justify-content: center;
}

.lbl-sec.center::after {
  content: "";
  width: 24px;
  height: 1.5px;
  background: var(--pink);
  display: block;
}

.lbl {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--fb), sans-serif;
  font-size: 0.68em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: var(--pink);
  margin-bottom: 1.25rem;
}

.lbl::before {
  content: "";
  width: 24px;
  height: 1.5px;
  background: var(--pink);
  display: block;
}

.lbl-w {
  color: rgba(255, 255, 255, 0.42);
}

.lbl-w::before {
  background: var(--pink);
}

.gt {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.gl {
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.h2a {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline;
}

/* ────────────────────────────────────────
     MODAL
  ──────────────────────────────────────── */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(42, 42, 61, 0.85);
  backdrop-filter: blur(4px);
  cursor: pointer;
}

.modal-content {
  position: relative;
  background: #fff;
  border-radius: 16px;
  max-width: 600px;
  width: 90%;
  max-height: 85vh;
  box-shadow: 0 20px 60px rgba(59, 0, 79, 0.3);
  z-index: 1;
  margin: 5vh auto;
}

.modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: transparent;
  border: none;
  font-size: 32px;
  line-height: 1;
  color: var(--mu);
  cursor: pointer;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s ease;
}

.modal-close:hover {
  background: var(--bg2);
  color: var(--pink);
}

.modal-header {
  padding: 32px 32px 24px;
  border-bottom: 1px solid var(--bo);
}

.modal-header h3 {
  font-size: clamp(22px, 2.5vw, 28px);
  color: #2a2a3d;
  margin-bottom: 8px;
  font-family: var(--fh);
  font-weight: 700;
  line-height: 1.2;
}

.modal-meta {
  font-size: 14px;
  color: var(--mu);
  font-weight: 500;
}

.modal-body {
  padding: 32px;
}

.modal-body > p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--mu);
  margin-bottom: 24px;
}

.modal-includes {
  margin-bottom: 32px;
}

.modal-includes h4 {
  font-size: 16px;
  font-weight: 600;
  color: #2a2a3d;
  margin-bottom: 12px;
  font-family: var(--fh), sans-serif;
}

.modal-includes ul {
  list-style: none;
  padding: 0;
  max-height: 200px;
  overflow-y: auto;
}

.modal-includes li {
  font-size: 15px;
  color: var(--mu);
  padding-left: 24px;
  position: relative;
  margin-bottom: 10px;
  line-height: 1.6;
}

.modal-includes li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  background: var(--pink);
  border-radius: 50%;
}

.modal-stripe {
  padding-top: 24px;
  border-top: 1px solid var(--bo);
  display: flex;
  justify-content: center;
}

.modal-stripe stripe-buy-button {
  width: 100%;
  max-width: 300px;
}

@media (max-width: 768px) {
  .modal-content {
    width: 95%;
    max-height: 90vh;
  }
  .modal-header {
    padding: 24px 20px 20px;
  }
  .modal-body {
    padding: 24px 20px;
  }
  .modal-close {
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    font-size: 28px;
  }
}
/* ────────────────────────────────────────
   6. NAVIGATION
──────────────────────────────────────── */
nav {
  position: sticky;
  top: 0;
  z-index: 300;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--bo);
  height: 68px;
  display: flex;
  align-items: center;
}

.ni {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 5%;
  width: 100%;
}

.nl {
  display: flex;
  gap: 1.8rem;
  list-style: none;
}

.nl a {
  font-family: var(--fn);
  font-weight: 500;
  font-size: 15px;
  color: var(--mu);
  transition: color 0.2s;
}

.nl a:hover {
  color: #2a2a3d;
}

.nl a.active {
  color: var(--pink);
  font-weight: 700;
}

.nc {
  font-family: var(--fb);
  font-weight: 700;
  font-size: 0.72em;
  text-transform: uppercase;
  letter-spacing: 4px;
  background: var(--pink);
  color: #fff;
  padding: 10px 22px;
  border: 1px solid var(--pink);
  border-radius: 3px;
  box-shadow: 0 4px 14px var(--pg);
  transition: letter-spacing 300ms;
  cursor: pointer;
}

.nc:hover {
  letter-spacing: 4.5px;
}

#promesse {
  background: var(--bg1);
  padding: 100px 0;
}

.promesse-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.promesse-photo-wrap {
  position: relative;
}

.promesse-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: var(--shl);
  position: relative;
}

.promesse-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.promesse-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(59, 0, 79, 0.7));
}

.promesse-float {
  position: absolute;
  bottom: -20px;
  right: -20px;
  background: var(--pd);
  border-radius: 12px;
  padding: 1.3rem 1.6rem;
  box-shadow: var(--sp);
  min-width: 152px;
  text-align: center;
}

.pf-n {
  font-family: var(--fh), sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  background: var(--gf);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.pf-l {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.65);
  margin-top: 0.28rem;
  line-height: 1.4;
}

.promesse-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 1.25rem;
  line-height: 1.08;
}

.story-p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.85;
  margin-bottom: 1.25rem;
}

.story-p strong {
  color: #2a2a3d;
  font-weight: 600;
}

.story-accent {
  font-family: var(--fh), sans-serif;
  font-size: 17px;
  font-weight: 700;
  border-left: 3px solid var(--pink);
  padding-left: 1.25rem;
  line-height: 1.7;
  margin: 1.75rem 0;
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.promesse-checklist {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-top: 1.75rem;
}

.pcheck {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  font-size: 15px;
  color: #2a2a3d;
}

.pcheck::before {
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 50%;
  background: var(--gr);
  display: flex;
  align-items: center;
  justify-content: center;
}

.pcheck-dot {
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 50%;
  background: var(--gr);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pcheck-dot::after {
  content: "✓";
  font-size: 0.65rem;
  font-weight: 700;
  color: #fff;
  font-family: var(--fb), sans-serif;
}

.checks {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-top: 1.75rem;
}

.chk {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  font-size: 15px;
  color: #2a2a3d;
}

.chk-dot {
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 50%;
  background: var(--gr);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.chk-dot::after {
  content: "✓";
  font-size: 0.65rem;
  font-weight: 700;
  color: #fff;
  font-family: var(--fb), sans-serif;
}

/* ────────────────────────────────────────
   17. FOOTER
──────────────────────────────────────── */
footer {
  position: relative;
  color: rgba(255, 255, 255, 0.42);
  padding: 40px 0 15px;
  background: linear-gradient(200deg, #3b004f 0%, #2d0042 100%);
  margin-top: 0;
}

footer::before {
  display: none;
}

.fg {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem;
  margin-bottom: 3rem;
}

.f-logo {
  height: 36px;
  width: auto;
  opacity: 0.88;
  margin-bottom: 0.5rem;
}

.fbr p {
  font-size: 0.83rem;
  line-height: 1.75;
  margin: 0 0 0.65rem;
  color: rgba(255, 255, 255, 0.85);
}

.fbr address {
  font-style: normal;
  font-size: 0.88rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
}

.fc h3 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.78rem;
  margin-bottom: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 3px;
}

.fc ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.48rem;
}

.fc a {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.82rem;
  transition: color 0.2s;
}

.fc a:hover {
  color: var(--pink);
}

.socs {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.9rem;
}

.soc {
  width: 40px;
  height: 40px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f92c8b !important;
  font-size: 1.25rem;
  text-decoration: none;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  transition: all 0.2s;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.soc:hover {
  background: var(--pink);
  color: #fff !important;
  border-color: var(--pink);
}

.fbot {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 1rem;
}

.fbot-gr {
  font-family: var(--fb), sans-serif;
  font-size: 1em;
  text-transform: uppercase;
  letter-spacing: 3px;
  background: var(--gf);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700;
  text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.25);
}

#page-accueil #hero {
  min-height: auto;
}
#page-accueil .hero-sub {
  max-width: 100%;
}

#page-paiement-annuler #hero {
  min-height: 10vh;
}
#page-paiement-annuler main {
  padding: 5rem;
}
#page-paiement-annuler .actions {
  display: flex;
  gap: 1rem;
}
#page-paiement-annuler .rt {
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.72em;
  letter-spacing: 4px;
  padding: 10px 22px;
  border-radius: 3px;
  transition: letter-spacing 300ms;
  cursor: pointer;
  background: #fff;
  color: var(--pd);
  text-transform: uppercase;
}
#page-paiement-annuler .rt:hover {
  letter-spacing: 4.5px;
  background: var(--pd);
  color: #fff;
  border: 1px solid var(--pd);
}

#page-coaching .btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.78em;
  text-transform: uppercase;
  letter-spacing: 4px;
  background: transparent;
  color: var(--pd);
  border: 1.5px solid var(--pd);
  border-radius: 3px;
  padding: 14px 28px;
  cursor: pointer;
  transition: all 0.25s;
}
#page-coaching .btn-outline:hover {
  background: var(--pd);
  color: #fff;
}
#page-coaching {
  /* ══ HERO ══ */
}
#page-coaching #hero h1 {
  font-size: clamp(32px, 4.5vw, 58px);
  letter-spacing: -0.5px;
  line-height: 1.06;
  margin-bottom: 1.25rem;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-coaching .hero-ctas {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 2.25rem;
}
#page-coaching .hero-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
#page-coaching {
  /* ══ PROMESSE ══ */
}
#page-coaching #promesse {
  background: var(--bg1);
  padding: 100px 0;
}
#page-coaching {
  /* ══ PACKS - section centrale ══ */
}
#page-coaching #packs {
  background: var(--bg2);
  padding: 100px 0;
  position: relative;
}
#page-coaching #packs::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-coaching #packs h2 {
  font-size: clamp(28px, 3.2vw, 40px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-coaching .packs-sub {
  font-size: 16px;
  color: var(--mu);
  margin-bottom: 3.5rem;
  max-width: 580px;
}
#page-coaching .packs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
}
#page-coaching {
  /* Carte pack */
}
#page-coaching .pack {
  background: #fff;
  border: 2px solid var(--bo);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.28s;
  position: relative;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}
#page-coaching .pack:hover {
  box-shadow: var(--shl);
  transform: translateY(-5px);
  border-color: transparent;
}
#page-coaching .pack.phare {
  border-color: var(--pink);
  box-shadow: 0 8px 32px rgba(249, 44, 139, 0.18);
}
#page-coaching .pack.phare::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-coaching .pack-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: var(--pink);
  color: #fff;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.62em;
  text-transform: uppercase;
  letter-spacing: 3px;
  padding: 0.22rem 0.7rem;
  border-radius: 99px;
  box-shadow: var(--sp);
}
#page-coaching .pack-promo {
  position: absolute;
  top: 1rem;
  left: 1rem;
  background: rgba(64, 221, 166, 0.15);
  color: #0f6e56;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.62em;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 0.22rem 0.65rem;
  border-radius: 99px;
  border: 1px solid rgba(64, 221, 166, 0.35);
}
#page-coaching .pack-img {
  width: 100%;
  height: 160px;
  overflow: hidden;
  position: relative;
}
#page-coaching .pack-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.78);
  transition: transform 0.4s;
}
#page-coaching .pack:hover .pack-img img {
  transform: scale(1.04);
}
#page-coaching .pack-img-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 20%, rgba(42, 42, 61, 0.72));
}
#page-coaching .pack-img-num {
  position: absolute;
  bottom: 1.1rem;
  left: 1.5rem;
  font-family: var(--fh), sans-serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -2px;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-coaching .pack-body {
  padding: 1.75rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
#page-coaching .pack-label {
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--mu);
  margin-bottom: 0.6rem;
}
#page-coaching .pack h3 {
  font-size: 20px;
  color: #2a2a3d;
  margin-bottom: 0.5rem;
  letter-spacing: 0.5px;
}
#page-coaching .pack-tagline {
  font-family: var(--fh), sans-serif;
  font-weight: 600;
  font-size: 0.88rem;
  color: var(--pink);
  margin-bottom: 1.1rem;
  letter-spacing: 0.3px;
}
#page-coaching .pack p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.78;
  flex: 1;
  margin-bottom: 1.5rem;
}
#page-coaching .pack-details {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
#page-coaching .pack-det {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 14px;
  color: #2a2a3d;
}
#page-coaching .pack-det-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--pink);
  flex-shrink: 0;
  margin-top: 0.55rem;
}
#page-coaching .pack-cta {
  display: block;
  text-align: center;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.78em;
  text-transform: uppercase;
  letter-spacing: 4px;
  padding: 14px;
  border-radius: 3px;
  color: var(--pink);
  border: 1.5px solid var(--pink);
  transition: all 0.25s;
  margin-top: auto;
}
#page-coaching .pack-cta:hover, #page-coaching .pack.phare .pack-cta {
  background: var(--pink);
  color: #fff;
}
#page-coaching .pack-note {
  text-align: center;
  font-size: 0.72rem;
  color: var(--mu);
  margin-top: 0.65rem;
}
#page-coaching {
  /* CTA inter-section */
}
#page-coaching .packs-cta-wrap {
  text-align: center;
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--bo);
}
#page-coaching .packs-cta-wrap p {
  font-size: 15px;
  color: var(--mu);
  margin-bottom: 1.25rem;
}
#page-coaching {
  /* ══ POUR QUI ══ */
}
#page-coaching #pourqui {
  background: var(--bg1);
  padding: 100px 0;
}
#page-coaching .pourqui-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
#page-coaching .pourqui-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-coaching .pourqui-sub {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
  margin-bottom: 2.25rem;
}
#page-coaching .profils {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
#page-coaching .profil {
  display: flex;
  align-items: flex-start;
  gap: 1.1rem;
  padding: 1.25rem;
  background: var(--bg2);
  border-radius: 12px;
  border: 1px solid var(--bo);
  transition: all 0.22s;
  cursor: default;
}
#page-coaching .profil:hover {
  background: #fff;
  box-shadow: var(--shl);
  border-color: transparent;
  transform: translateX(5px);
}
#page-coaching .profil-num {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.85rem;
  color: #fff;
  flex-shrink: 0;
}
#page-coaching .profil:nth-child(1) .profil-num {
  background: linear-gradient(135deg, #430069, #01b7ff);
}
#page-coaching .profil:nth-child(2) .profil-num {
  background: linear-gradient(135deg, #01b7ff, #40dda6);
}
#page-coaching .profil:nth-child(3) .profil-num {
  background: linear-gradient(135deg, #40dda6, #ffd946);
  color: #1f005a;
}
#page-coaching .profil:nth-child(4) .profil-num {
  background: linear-gradient(135deg, #ffa350, #ff0060);
}
#page-coaching .profil-txt h4 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  color: #2a2a3d;
  margin-bottom: 0.3rem;
  letter-spacing: 0.5px;
}
#page-coaching .profil-txt p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.7;
}
#page-coaching .pourqui-visual {
  position: relative;
}
#page-coaching .pourqui-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/5;
  box-shadow: var(--shl);
}
#page-coaching .pourqui-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page-coaching .pourqui-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 55%, rgba(59, 0, 79, 0.75));
}
#page-coaching .pourqui-stades {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
  display: flex;
  gap: 0.5rem;
}
#page-coaching .ps {
  flex: 1;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 8px;
  padding: 0.7rem 0.5rem;
  text-align: center;
  backdrop-filter: blur(8px);
}
#page-coaching .ps-num {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  background: var(--gr);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-coaching .ps-lbl {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 0.15rem;
}
#page-coaching {
  /* ══ COMMENT SE DÉROULE UNE SÉANCE ══ */
}
#page-coaching #seance {
  background: var(--bg2);
  padding: 100px 0;
  position: relative;
}
#page-coaching #seance::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-coaching .seance-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
#page-coaching .seance-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 1rem;
  line-height: 1.08;
}
#page-coaching .seance-intro {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
  margin-bottom: 2rem;
}
#page-coaching .seance-encart {
  background: #fff;
  border-left: 4px solid var(--pink);
  border-radius: 4px;
  padding: 1.25rem 1.5rem;
  font-family: var(--fh), sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #2a2a3d;
  line-height: 1.7;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}
#page-coaching .seance-encart span {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-coaching .steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}
#page-coaching .step {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 1.2rem;
  position: relative;
  padding-bottom: 2rem;
}
#page-coaching .step:last-child {
  padding-bottom: 0;
}
#page-coaching .step::after {
  content: "";
  position: absolute;
  left: 25px;
  top: 52px;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, transparent, var(--bo), transparent);
}
#page-coaching .step:last-child::after {
  display: none;
}
#page-coaching .step-nw {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--bo);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 10px rgba(59, 0, 79, 0.08);
}
#page-coaching .step-n {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  background: var(--gr);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-coaching .step-body {
  padding-top: 0.85rem;
}
#page-coaching .step-body h4 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.96rem;
  color: #2a2a3d;
  margin-bottom: 0.4rem;
  letter-spacing: 0.5px;
}
#page-coaching .step-body p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.75;
}
#page-coaching {
  /* ══ TÉMOIGNAGES ══ */
}
#page-coaching #temo {
  background: var(--bg3);
  padding: 100px 0;
}
#page-coaching .temo-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 60px;
}
#page-coaching #temo h2 {
  font-size: clamp(28px, 3.2vw, 40px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 0.75rem;
}
#page-coaching .temo-sub {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.8;
}
#page-coaching .temo-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  position: relative;
  box-shadow: var(--shl);
}
#page-coaching .temo-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page-coaching .temo-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 35%, rgba(42, 10, 66, 0.88));
}
#page-coaching .temo-quote {
  position: absolute;
  bottom: 1.75rem;
  left: 1.75rem;
  right: 1.75rem;
}
#page-coaching .temo-q {
  font-family: var(--fh), sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.5;
  margin-bottom: 0.75rem;
}
#page-coaching .temo-auth {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
#page-coaching .temo-av {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--pink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  color: #fff;
  flex-shrink: 0;
}
#page-coaching .temo-nm {
  font-family: var(--fh), sans-serif;
  font-weight: 600;
  font-size: 0.8rem;
  color: #fff;
}
#page-coaching .temo-rl {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.55);
}
#page-coaching .temo-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-bottom: 3rem;
}
#page-coaching .tc {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--bo);
  transition: all 0.22s;
  box-shadow: 0 2px 8px rgba(59, 0, 79, 0.04);
}
#page-coaching .tc:hover {
  box-shadow: var(--shl);
  transform: translateY(-3px);
  border-color: transparent;
}
#page-coaching .tc-img {
  width: 100%;
  height: 140px;
  overflow: hidden;
  position: relative;
}
#page-coaching .tc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.82);
  transition: transform 0.35s;
}
#page-coaching .tc:hover .tc-img img {
  transform: scale(1.04);
}
#page-coaching .tc-img-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-coaching .tc-dots {
  display: flex;
  gap: 3px;
  padding: 1.25rem 1.75rem 0.5rem;
}
#page-coaching .tc-dot {
  width: 7px;
  height: 7px;
  background: var(--pink);
  border-radius: 50%;
}
#page-coaching .tc-body {
  padding: 0 1.75rem 1.75rem;
}
#page-coaching .tc-txt {
  font-size: 14px;
  font-style: italic;
  color: #444;
  line-height: 1.82;
  margin-bottom: 1.2rem;
}
#page-coaching .tc-auth {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
#page-coaching .tc-av {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--pd), var(--pink));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  color: #fff;
}
#page-coaching .tc-nm {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.84rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
}
#page-coaching .tc-rl {
  font-size: 0.72rem;
  color: var(--mu);
  margin-top: 0.1rem;
}
#page-coaching .logos-lbl {
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.68em;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--mu);
  margin-bottom: 1.25rem;
}
#page-coaching .logos {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: center;
  padding: 2rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--bo);
}
#page-coaching .logos img {
  max-height: 22px;
  width: auto;
  object-fit: contain;
  filter: grayscale(1) opacity(0.38);
  transition: filter 0.2s;
}
#page-coaching .logos img:hover {
  filter: grayscale(0) opacity(0.85);
}
#page-coaching {
  /* ══ AUTRES OFFRES ══ */
}
#page-coaching #autres {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-coaching #autres::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-coaching #autres h2 {
  font-size: clamp(26px, 3vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-coaching .autres-sub {
  font-size: 16px;
  color: var(--mu);
  margin-bottom: 3rem;
  max-width: 560px;
}
#page-coaching .autres-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
#page-coaching .autre {
  background: #fff;
  border: 1.5px solid var(--bo);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.28s;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
  display: flex;
  flex-direction: column;
}
#page-coaching .autre:hover {
  box-shadow: var(--shl);
  transform: translateY(-4px);
  border-color: var(--pink);
}
#page-coaching .autre-img {
  width: 100%;
  height: 150px;
  overflow: hidden;
  position: relative;
}
#page-coaching .autre-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.78);
  transition: transform 0.4s;
}
#page-coaching .autre:hover .autre-img img {
  transform: scale(1.04);
}
#page-coaching .autre-img-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-coaching .autre-body {
  padding: 1.6rem 1.75rem 2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
#page-coaching .autre-type {
  display: block;
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--mu);
  margin-bottom: 0.5rem;
}
#page-coaching .autre h3 {
  font-size: 17px;
  color: #2a2a3d;
  margin-bottom: 0.65rem;
  letter-spacing: 0.5px;
}
#page-coaching .autre p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.78;
  flex: 1;
  margin-bottom: 1.4rem;
}
#page-coaching .autre-cta {
  display: block;
  text-align: center;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.72em;
  text-transform: uppercase;
  letter-spacing: 4px;
  padding: 12px;
  border-radius: 3px;
  color: var(--pink);
  border: 1.5px solid var(--pink);
  transition: all 0.25s;
}
#page-coaching .autre-cta:hover {
  background: var(--pink);
  color: #fff;
}
#page-coaching {
  /* ══ FAQ ══ */
}
#page-coaching #faq {
  background: var(--bg2);
  padding: 100px 0;
}
#page-coaching .faq-lay {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start;
}
#page-coaching .faq-left h2 {
  font-size: clamp(26px, 2.8vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 1.25rem;
}
#page-coaching .faq-left p {
  font-size: 15px;
  color: var(--mu);
  line-height: 1.8;
  margin-bottom: 2rem;
}
#page-coaching .fi {
  border-bottom: 1px solid var(--bo);
}
#page-coaching .fq {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem 0;
  cursor: pointer;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
  user-select: none;
  transition: color 0.2s;
}
#page-coaching .fq:hover {
  color: var(--pink);
}
#page-coaching .fq-ico {
  color: var(--pink);
  font-size: 1.2rem;
  flex-shrink: 0;
  transition: transform 0.25s;
}
#page-coaching .fi.open .fq-ico {
  transform: rotate(45deg);
}
#page-coaching .fa {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.8;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.38s ease, padding 0.38s;
}
#page-coaching .fi.open .fa {
  max-height: 300px;
  padding-bottom: 1.15rem;
}
#page-coaching .fu {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
#page-coaching .fu.v {
  opacity: 1;
  transform: none;
}
@media (max-width: 960px) {
  #page-coaching .hero-layout, #page-coaching .promesse-grid, #page-coaching .pourqui-grid, #page-coaching .seance-layout, #page-coaching .temo-head, #page-coaching .faq-lay {
    grid-template-columns: 1fr;
  }
  #page-coaching .hero-right, #page-coaching .packs-grid, #page-coaching .temo-cards, #page-coaching .autres-grid {
    grid-template-columns: 1fr;
  }
  #page-coaching .fg {
    grid-template-columns: 1fr 1fr;
  }
  #page-coaching .promesse-float {
    display: none;
  }
}

body#page-coaching #promesse .promesse-grid > .fu:nth-child(2) {
  transition-delay: 0.1s;
}

body#page-coaching #packs h2.fu {
  transition-delay: 0.05s;
}

body#page-coaching #packs p.packs-sub.fu {
  transition-delay: 0.1s;
}

body#page-coaching #packs .packs-grid > .pack.phare.fu {
  transition-delay: 0.1s;
}

body#page-coaching #packs .packs-grid > .pack.fu:last-child {
  transition-delay: 0.2s;
}

body#page-coaching #pourqui .pourqui-visual.fu {
  transition-delay: 0.15s;
}

body#page-coaching #seance .steps.fu {
  transition-delay: 0.1s;
}

body#page-coaching #temo .temo-photo.fu {
  transition-delay: 0.1s;
}

body#page-coaching #temo .temo-cards > .tc:nth-child(2).fu {
  transition-delay: 0.1s;
}

body#page-coaching #temo .temo-cards > .tc:nth-child(3).fu {
  transition-delay: 0.2s;
}

body#page-coaching #autres > .wrap > h2.fu {
  transition-delay: 0.05s;
}

body#page-coaching #autres > .wrap > p.autres-sub.fu {
  transition-delay: 0.1s;
}

body#page-coaching #autres .autres-grid > .autre.fu:first-child {
  transition-delay: 0.1s;
}

body#page-coaching #autres .autres-grid > .autre.fu:last-child {
  transition-delay: 0.1s;
}

body#page-coaching #ctaf .ctaf-note {
  margin-top: 1rem;
}

body#page-coaching .hero-color {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(113deg, rgba(67, 0, 105, 0.85) 0%, rgba(1, 183, 255, 0.12) 45%, rgba(64, 221, 166, 0.06) 60%, transparent 75%);
}

body#page-coaching .hero-glow {
  position: absolute;
  top: -180px;
  right: -180px;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(1, 183, 255, 0.14) 0%, transparent 65%);
  pointer-events: none;
}

body#page-coaching .hero-eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--pink);
  display: block;
}

body#page-coaching #hero h1 {
  font-size: clamp(32px, 4.5vw, 58px);
  letter-spacing: -0.5px;
  line-height: 1.06;
  margin-bottom: 1.25rem;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-coaching .hero-sub {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.82;
  max-width: 480px;
  margin-bottom: 2.25rem;
}

body#page-coaching .hero-ctas {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 2.25rem;
}

body#page-coaching .hero-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

body#page-coaching .hchip {
  font-family: var(--fn), sans-serif;
  font-size: 0.77rem;
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 0.5px;
}

body#page-coaching .hchip::after {
  content: "·";
  margin-left: 0.5rem;
  color: rgba(255, 255, 255, 0.15);
}

body#page-coaching .hchip:last-child::after {
  display: none;
}

body#page-coaching .hero-right {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

body#page-coaching .hero-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 3/2;
  position: relative;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
}

body#page-coaching .hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.85);
}

body#page-coaching .hero-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(59, 0, 79, 0.55) 0%, transparent 50%);
}

body#page-coaching .hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

body#page-coaching .hstat {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 1.1rem;
  text-align: center;
}

body#page-coaching .hstat-n {
  font-family: var(--fh), sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-coaching .hstat-l {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.38);
  margin-top: 0.3rem;
}

body#page-coaching #promesse {
  background: var(--bg1);
  padding: 100px 0;
}

#page-confirmation-paiement #hero {
  min-height: 20vh;
}
#page-confirmation-paiement main {
  padding: 5rem;
}
#page-confirmation-paiement .conf-p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.85;
  margin-bottom: 1.25rem;
}
#page-confirmation-paiement .rt {
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.72em;
  letter-spacing: 4px;
  padding: 10px 22px;
  border-radius: 3px;
  transition: letter-spacing 300ms;
  cursor: pointer;
  background: #fff;
  color: var(--pd);
  text-transform: uppercase;
}

#page-contact {
  /* ══ HERO — même DA exacte ══ */
}
#page-contact #hero {
  min-height: 60vh;
}
#page-contact .hero-layout {
  grid-template-columns: 1fr 420px;
}
#page-contact .hero-eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--pink);
  display: block;
}
#page-contact #hero h1 {
  font-size: clamp(32px, 4.5vw, 56px);
  letter-spacing: -0.5px;
  line-height: 1.06;
  margin-bottom: 1.25rem;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-contact .hero-ctas {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
#page-contact {
  /* Info cards hero droite */
}
#page-contact .hero-infos {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
#page-contact .hinfo {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: background 0.22s;
}
#page-contact .hinfo:hover {
  background: rgba(255, 255, 255, 0.12);
}
#page-contact .hinfo-ico {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: var(--gr);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.9rem;
  color: #fff;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
}
#page-contact .hinfo-txt strong {
  display: block;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.88rem;
  color: #fff;
  margin-bottom: 0.15rem;
}
#page-contact .hinfo-txt span {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.55);
}
#page-contact .hinfo-txt a {
  color: rgba(255, 255, 255, 0.75);
  transition: color 0.2s;
}
#page-contact .hinfo-txt a:hover {
  color: var(--pink);
}
#page-contact {
  /* ══ SECTION PRINCIPALE : Formulaire + Infos ══ */
}
#page-contact #contact-main {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-contact .contact-layout {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 30px;
  align-items: start;
}
#page-contact {
  /* ── FORMULAIRE ── */
}
#page-contact #form-container {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
  padding: 1.1rem 1.5rem;
}
#page-contact .form-wrap h2 {
  font-size: clamp(26px, 3vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-contact .form-intro {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
  margin-bottom: 2.5rem;
}
#page-contact {
  /* Choix de sujet — boutons pill */
}
#page-contact .form-subjects {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: 2rem;
}
#page-contact .subj-btn {
  font-family: var(--fb), sans-serif;
  font-size: 0.68em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 0.42rem 1rem;
  border-radius: 99px;
  border: 1.5px solid var(--bo);
  background: #fff;
  color: var(--mu);
  cursor: pointer;
  transition: all 0.2s;
}
#page-contact .subj-btn:hover, #page-contact .subj-btn.active {
  background: var(--pink);
  color: #fff;
  border-color: var(--pink);
  box-shadow: 0 4px 12px var(--pg);
}
#page-contact {
  /* Champs */
}
#page-contact .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
#page-contact .form-field {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
#page-contact .form-field.full {
  grid-column: 1/-1;
}
#page-contact .form-field label {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
}
#page-contact .form-field label span {
  color: var(--pink);
  margin-left: 0.2rem;
}
#page-contact .form-field input, #page-contact .form-field select, #page-contact .form-field textarea {
  font-family: var(--fn), sans-serif;
  font-size: 15px;
  color: #2a2a3d;
  background: #fff;
  border: 1.5px solid var(--bo);
  border-radius: 8px;
  padding: 0.85rem 1.1rem;
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
  resize: vertical;
}
#page-contact .form-field input:focus, #page-contact .form-field select:focus, #page-contact .form-field textarea:focus {
  border-color: var(--pink);
  box-shadow: 0 0 0 3px var(--ps);
}
#page-contact .form-field input::placeholder, #page-contact .form-field textarea::placeholder {
  color: rgba(90, 90, 114, 0.45);
}
#page-contact .form-field textarea {
  min-height: 140px;
  line-height: 1.7;
}
#page-contact .form-field select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235a5a72' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}
#page-contact {
  /* RGPD */
}
#page-contact .form-rgpd {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1.75rem;
  padding: 1rem 1.25rem;
  background: var(--bg2);
  border-radius: 8px;
  border: 1px solid var(--bo);
}
#page-contact .form-rgpd input[type=checkbox] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  accent-color: var(--pink);
  margin-top: 0.2rem;
  cursor: pointer;
}
#page-contact .form-rgpd label {
  font-size: 0.8rem;
  color: var(--mu);
  line-height: 1.6;
  cursor: pointer;
}
#page-contact .form-rgpd a {
  color: var(--pink);
  text-decoration: underline;
}
#page-contact {
  /* Bouton submit */
}
#page-contact .form-submit {
  width: 100%;
  padding: 18px;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.82em;
  text-transform: uppercase;
  letter-spacing: 5px;
  background: var(--pink);
  color: #fff;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  box-shadow: var(--sp);
  transition: letter-spacing 300ms ease, transform 0.2s;
}
#page-contact .form-submit:hover {
  letter-spacing: 5.5px;
  transform: translateY(-1px);
}
#page-contact .form-note {
  text-align: center;
  font-size: 0.72rem;
  color: var(--mu);
  margin-top: 0.85rem;
}
#page-contact {
  /* Message de succès */
}
#page-contact .form-success {
  display: none;
  text-align: center;
  padding: 3rem 2rem;
  background: rgba(64, 221, 166, 0.08);
  border: 1px solid rgba(64, 221, 166, 0.25);
  border-radius: 12px;
}
#page-contact .form-success h3 {
  font-family: var(--fh), sans-serif;
  font-size: 1.25rem;
  color: #2a2a3d;
  margin-bottom: 0.75rem;
}
#page-contact .form-success p {
  font-size: 15px;
  color: var(--mu);
  line-height: 1.8;
}
#page-contact .form-success-ico {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}
#page-contact {
  /* ── INFOS LATÉRALES ── */
}
#page-contact .contact-infos {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
#page-contact {
  /* Carte diagnostic */
}
#page-contact .diag-card {
  background: var(--pd);
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}
#page-contact .diag-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--gr);
}
#page-contact .diag-card-glow {
  position: absolute;
  top: -60px;
  right: -60px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(1, 183, 255, 0.15) 0%, transparent 65%);
  pointer-events: none;
}
#page-contact .diag-body {
  padding: 1.75rem;
  position: relative;
  z-index: 1;
}
#page-contact .diag-body h3 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: #fff;
  margin-bottom: 0.5rem;
  letter-spacing: 0.5px;
}
#page-contact .diag-body p {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.7;
  margin-bottom: 1.25rem;
}
#page-contact .diag-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1.4rem;
}
#page-contact .diag-chip {
  font-size: 0.68rem;
  padding: 0.2rem 0.6rem;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.15);
  font-family: var(--fn), sans-serif;
}
#page-contact .diag-cta {
  display: block;
  text-align: center;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.78em;
  text-transform: uppercase;
  letter-spacing: 4px;
  padding: 14px;
  border-radius: 3px;
  background: var(--pink);
  color: #fff;
  box-shadow: var(--sp);
  transition: letter-spacing 300ms ease, transform 0.2s;
}
#page-contact .diag-cta:hover {
  letter-spacing: 4.5px;
  transform: translateY(-1px);
}
#page-contact {
  /* Coordonnées */
}
#page-contact .coords-card {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}
#page-contact .coords-head {
  padding: 1.25rem 1.5rem;
  background: var(--bg2);
  border-bottom: 1px solid var(--bo);
}
#page-contact .coords-head h3 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
}
#page-contact .coords-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
#page-contact .coord {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1.1rem 1.5rem;
  border-bottom: 1px solid var(--bo);
  transition: background 0.2s;
}
#page-contact .coord:last-child {
  border-bottom: none;
}
#page-contact .coord:hover {
  background: var(--bg2);
}
#page-contact .coord-ico {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.8rem;
  font-weight: 700;
  color: #fff;
  font-family: var(--fh), sans-serif;
}
#page-contact .coord-txt strong {
  display: block;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  color: #2a2a3d;
  margin-bottom: 0.15rem;
}
#page-contact .coord-txt span, #page-contact .coord-txt a {
  font-size: 0.8rem;
  color: var(--mu);
  transition: color 0.2s;
  display: block;
  line-height: 1.5;
}
#page-contact .coord-txt a:hover {
  color: var(--pink);
}
#page-contact {
  /* Réseaux sociaux */
}
#page-contact .socs-card {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 16px;
  padding: 1.5rem;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}
#page-contact .socs-card h3 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.88rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
  margin-bottom: 1rem;
}
#page-contact .socs-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.65rem;
}
#page-contact .soc-link {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0.9rem;
  border-radius: 8px;
  background: var(--bg2);
  border: 1px solid var(--bo);
  transition: all 0.22s;
}
#page-contact .soc-link:hover {
  background: #fff;
  box-shadow: var(--shl);
  border-color: transparent;
  transform: translateY(-2px);
}
#page-contact .soc-ico {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.78rem;
  color: #fff;
  flex-shrink: 0;
}
#page-contact .soc-ico.li {
  background: linear-gradient(135deg, #0077B5, #004471);
}
#page-contact .soc-ico.fb {
  background: linear-gradient(135deg, #1877F2, #0c4a99);
}
#page-contact .soc-ico.ig {
  background: linear-gradient(135deg, #C13584, #833AB4, #FD1D1D);
}
#page-contact .soc-ico.yt {
  background: linear-gradient(135deg, #FF0000, #cc0000);
}
#page-contact .soc-txt strong {
  display: block;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.78rem;
  color: #2a2a3d;
}
#page-contact .soc-txt span {
  font-size: 0.7rem;
  color: var(--mu);
}
#page-contact {
  /* Horaires */
}
#page-contact .horaires-card {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}
#page-contact .horaires-head {
  padding: 1.1rem 1.5rem;
  background: var(--bg2);
  border-bottom: 1px solid var(--bo);
}
#page-contact .horaires-head h3 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.88rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
}
#page-contact .horaires-body {
  padding: 1.1rem 1.5rem;
}
#page-contact .horaire-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--bo);
  font-size: 0.82rem;
}
#page-contact .horaire-row:last-child {
  border-bottom: none;
}
#page-contact .horaire-row .jour {
  color: #2a2a3d;
  font-weight: 500;
}
#page-contact .horaire-row .heure {
  color: var(--mu);
}
#page-contact .horaire-row .closed {
  color: #c8c8d8;
}
#page-contact .dispo-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 1rem;
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #0b6e4f;
  background: rgba(64, 221, 166, 0.12);
  border: 1px solid rgba(64, 221, 166, 0.3);
  padding: 0.3rem 0.75rem;
  border-radius: 99px;
}
#page-contact .dispo-badge .dispo-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #40dda6;
}
#page-contact .dispo-badge.closed {
  background: #ffc9c9;
  color: rgb(213, 0, 14);
  border-color: rgb(213, 0, 14);
}
#page-contact .dispo-badge.closed .dispo-dot {
  background: #e50000;
}
#page-contact {
  /* ══ CARTE GOOGLE MAPS ══ */
}
#page-contact #map-section {
  background: var(--bg2);
  padding: 0;
  position: relative;
}
#page-contact #map-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
  z-index: 1;
}
#page-contact .map-layout {
  display: grid;
  grid-template-columns: 380px 1fr;
}
#page-contact .map-info {
  padding: 35px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#page-contact .map-info h2 {
  font-size: clamp(22px, 2.5vw, 30px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 1rem;
  line-height: 1.1;
}
#page-contact .map-info p {
  font-size: 15px;
  color: var(--mu);
  line-height: 1.82;
  margin-bottom: 1.5rem;
}
#page-contact .map-addr {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 10px;
  padding: 1.1rem 1.25rem;
  margin-bottom: 1.75rem;
}
#page-contact .map-addr strong {
  display: block;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.88rem;
  color: #2a2a3d;
  margin-bottom: 0.3rem;
}
#page-contact .map-addr span {
  font-size: 0.82rem;
  color: var(--mu);
  line-height: 1.6;
}
#page-contact .map-transport {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
#page-contact .tsp {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.82rem;
  color: var(--mu);
}
#page-contact .tsp-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--pink);
  flex-shrink: 0;
}
#page-contact .map-iframe {
  width: 100%;
  height: 500px;
  position: relative;
  overflow: hidden;
}
#page-contact .map-iframe iframe {
  width: 100%;
  height: 100%;
  border: none;
  filter: grayscale(0.15) contrast(1.05);
}
#page-contact {
  /* Overlay adresse sur la map */
}
#page-contact .map-pin {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  background: #fff;
  border-radius: 10px;
  padding: 0.85rem 1.1rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  gap: 0.7rem;
}
#page-contact .map-pin-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--pink);
  flex-shrink: 0;
  box-shadow: 0 0 0 4px rgba(249, 44, 139, 0.2);
}
#page-contact .map-pin-txt strong {
  display: block;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  color: #2a2a3d;
}
#page-contact .map-pin-txt span {
  font-size: 0.72rem;
  color: var(--mu);
}
#page-contact {
  /* ══ FAQ RAPIDE ══ */
}
#page-contact #faq {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-contact #faq::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-contact .faq-layout {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start;
}
#page-contact .faq-left h2 {
  font-size: clamp(24px, 2.5vw, 34px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 1.25rem;
}
#page-contact .faq-left p {
  font-size: 15px;
  color: var(--mu);
  line-height: 1.8;
  margin-bottom: 2rem;
}
#page-contact .fi {
  border-bottom: 1px solid var(--bo);
}
#page-contact .fq {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem 0;
  cursor: pointer;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
  user-select: none;
  transition: color 0.2s;
}
#page-contact .fq:hover {
  color: var(--pink);
}
#page-contact .fq-ico {
  color: var(--pink);
  font-size: 1.2rem;
  flex-shrink: 0;
  transition: transform 0.25s;
}
#page-contact .fi.open .fq-ico {
  transform: rotate(45deg);
}
#page-contact .fa {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.8;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.38s ease, padding 0.38s;
}
#page-contact .fi.open .fa {
  max-height: 300px;
  padding-bottom: 1.15rem;
}
#page-contact .fu {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
#page-contact .fu.v {
  opacity: 1;
  transform: none;
}
@media (max-width: 960px) {
  #page-contact .hero-layout, #page-contact .contact-layout, #page-contact .map-layout, #page-contact .faq-layout {
    grid-template-columns: 1fr;
  }
  #page-contact .form-grid {
    grid-template-columns: 1fr;
  }
  #page-contact .fg {
    grid-template-columns: 1fr 1fr;
  }
  #page-contact .socs-grid {
    grid-template-columns: 1fr 1fr;
  }
  #page-contact .map-iframe {
    height: 300px;
  }
}

#page-diagnostic .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.82em;
  text-transform: uppercase;
  letter-spacing: 5px;
  background: var(--pink);
  color: #fff;
  border: none;
  border-radius: 3px;
  padding: 16px 32px;
  cursor: pointer;
  box-shadow: var(--sp);
  transition: letter-spacing 300ms ease, transform 0.2s;
}
#page-diagnostic .btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.78em;
  text-transform: uppercase;
  letter-spacing: 4px;
  background: transparent;
  color: rgba(255, 255, 255, 0.65);
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  border-radius: 3px;
  padding: 14px 28px;
  cursor: pointer;
  transition: all 0.25s;
}
#page-diagnostic .lbl {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--fb), sans-serif;
  font-size: 0.68em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: var(--pink);
  margin-bottom: 1.25rem;
}
#page-diagnostic {
  /* ══ HERO ══ */
  /* Cercles décoratifs légers */
}
#page-diagnostic .hero-ring {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  border: 1px solid rgba(249, 44, 139, 0.08);
}
#page-diagnostic .hero-r1 {
  width: 700px;
  height: 700px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#page-diagnostic .hero-r2 {
  width: 400px;
  height: 400px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-color: rgba(1, 183, 255, 0.08);
}
#page-diagnostic .hero-layout {
  grid-template-columns: 1fr 520px;
}
#page-diagnostic .hero-eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--pink);
  display: block;
}
#page-diagnostic #hero h1 {
  font-size: clamp(32px, 4.5vw, 56px);
  letter-spacing: -0.5px;
  line-height: 1.06;
  margin-bottom: 1.25rem;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-diagnostic .hero-reassurances {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin-bottom: 2.25rem;
}
#page-diagnostic .hr-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.7);
}
#page-diagnostic .hr-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--teal);
  flex-shrink: 0;
}
#page-diagnostic {
  /* Carte de réservation hero droite */
}
#page-diagnostic .hero-booking-card {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  overflow: hidden;
  backdrop-filter: blur(12px);
}
#page-diagnostic .hbc-head {
  padding: 1.75rem 2rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
#page-diagnostic .hbc-head-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}
#page-diagnostic .hbc-title {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: #fff;
}
#page-diagnostic .hbc-badge {
  background: var(--pink);
  color: #fff;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.62em;
  text-transform: uppercase;
  letter-spacing: 3px;
  padding: 0.22rem 0.7rem;
  border-radius: 99px;
  box-shadow: var(--sp);
}
#page-diagnostic .hbc-sub {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.55;
}
#page-diagnostic .hbc-body {
  padding: 1.5rem 2rem 2rem;
}
#page-diagnostic {
  /* Sélecteur de format */
}
#page-diagnostic .hbc-formats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
#page-diagnostic .hbf {
  padding: 1rem;
  border-radius: 10px;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  cursor: pointer;
  transition: all 0.22s;
  text-align: center;
}
#page-diagnostic .hbf:hover, #page-diagnostic .hbf.active {
  border-color: var(--pink);
  background: rgba(249, 44, 139, 0.12);
}
#page-diagnostic .hbf-ico {
  font-size: 1.2rem;
  margin-bottom: 0.35rem;
}
#page-diagnostic .hbf-label {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  color: #fff;
  display: block;
  margin-bottom: 0.15rem;
}
#page-diagnostic .hbf-sub {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.45);
}
#page-diagnostic {
  /* Champs rapides */
}
#page-diagnostic .hbc-fields {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-bottom: 1.5rem;
}
#page-diagnostic .hbc-field label {
  display: block;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 0.35rem;
  letter-spacing: 0.5px;
}
#page-diagnostic .hbc-field input, #page-diagnostic .hbc-field select {
  width: 100%;
  font-family: var(--fn), sans-serif;
  font-size: 14px;
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  border: 1.5px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  outline: none;
  transition: border-color 0.2s;
}
#page-diagnostic .hbc-field input:focus, #page-diagnostic .hbc-field select:focus {
  border-color: var(--pink);
}
#page-diagnostic .hbc-field input::placeholder {
  color: rgba(255, 255, 255, 0.3);
}
#page-diagnostic .hbc-field select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.4)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-color: rgba(255, 255, 255, 0.08);
  padding-right: 2.5rem;
  color: rgba(255, 255, 255, 0.75);
}
#page-diagnostic .hbc-field select option {
  background: #2d0042;
  color: #fff;
}
#page-diagnostic .hbc-btn {
  width: 100%;
  padding: 16px;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.82em;
  text-transform: uppercase;
  letter-spacing: 5px;
  background: var(--pink);
  color: #fff;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  box-shadow: var(--sp);
  transition: letter-spacing 300ms ease, transform 0.2s;
}
#page-diagnostic .hbc-btn:hover {
  letter-spacing: 5.5px;
  transform: translateY(-1px);
}
#page-diagnostic .hbc-note {
  text-align: center;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.3);
  margin-top: 0.75rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-family: var(--fb), sans-serif;
}
#page-diagnostic {
  /* Confirmation */
}
#page-diagnostic .hbc-confirm {
  display: none;
  text-align: center;
  padding: 2.5rem 1rem;
}
#page-diagnostic .hbc-confirm-ico {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  color: #fff;
}
#page-diagnostic .hbc-confirm h3 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: #fff;
  margin-bottom: 0.65rem;
}
#page-diagnostic .hbc-confirm p {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.7;
}
#page-diagnostic {
  /* ══ CE QUE VOUS OBTENEZ ══ */
}
#page-diagnostic #obtient {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-diagnostic #obtient::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
}
#page-diagnostic .obtient-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
#page-diagnostic .obtient-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 1rem;
  line-height: 1.08;
}
#page-diagnostic .obtient-intro {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
  margin-bottom: 2.25rem;
}
#page-diagnostic .obtient-list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-bottom: 2.5rem;
}
#page-diagnostic .ob-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  background: var(--bg2);
  border-radius: 12px;
  border: 1px solid var(--bo);
  transition: all 0.22s;
}
#page-diagnostic .ob-item:hover {
  background: #fff;
  box-shadow: var(--shl);
  border-color: transparent;
  transform: translateX(5px);
}
#page-diagnostic .ob-num {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 50%;
  background: var(--gr);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.78rem;
  color: #fff;
  flex-shrink: 0;
}
#page-diagnostic .ob-txt h4 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  color: #2a2a3d;
  margin-bottom: 0.25rem;
}
#page-diagnostic .ob-txt p {
  font-size: 0.82rem;
  color: var(--mu);
  line-height: 1.65;
}
#page-diagnostic {
  /* Photo + citation */
}
#page-diagnostic .obtient-visual {
  position: relative;
}
#page-diagnostic .obtient-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: var(--shl);
}
#page-diagnostic .obtient-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page-diagnostic .obtient-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 35%, rgba(42, 10, 66, 0.9));
}
#page-diagnostic .obtient-quote {
  position: absolute;
  bottom: 1.75rem;
  left: 1.75rem;
  right: 1.75rem;
}
#page-diagnostic .oq-txt {
  font-family: var(--fh), sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.55;
  margin-bottom: 0.65rem;
  font-style: italic;
}
#page-diagnostic .oq-auth {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
#page-diagnostic .oq-av {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--pink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  color: #fff;
  flex-shrink: 0;
}
#page-diagnostic .oq-nm {
  font-family: var(--fh), sans-serif;
  font-weight: 600;
  font-size: 0.82rem;
  color: #fff;
}
#page-diagnostic .oq-rl {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
}
#page-diagnostic {
  /* Float badge */
}
#page-diagnostic .obtient-float {
  position: absolute;
  top: -18px;
  right: -18px;
  background: var(--pd);
  border-radius: 12px;
  padding: 1.1rem 1.4rem;
  text-align: center;
  box-shadow: var(--sp);
  min-width: 116px;
}
#page-diagnostic .of-n {
  font-family: var(--fh), sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  background: var(--gr);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-diagnostic .of-l {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.8);
  margin-top: 0.25rem;
  line-height: 1.35;
}
#page-diagnostic {
  /* ══ DÉROULEMENT ══ */
}
#page-diagnostic #deroulement {
  background: var(--bg2);
  padding: 100px 0;
  position: relative;
}
#page-diagnostic #deroulement::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-diagnostic .derou-header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 3.5rem;
}
#page-diagnostic .derou-header h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-diagnostic .derou-header p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.8;
}
#page-diagnostic {
  /* Timeline horizontale */
}
#page-diagnostic .derou-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
}
#page-diagnostic .derou-steps::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background: linear-gradient(90deg, #430069, #01b7ff, #40dda6, #f92c8b);
  z-index: 0;
}
#page-diagnostic .derou-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 1.25rem;
  position: relative;
  z-index: 1;
}
#page-diagnostic .ds-num {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid var(--bo);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 4px 16px rgba(59, 0, 79, 0.1);
  transition: border-color 0.25s;
  flex-shrink: 0;
}
#page-diagnostic .derou-step:hover .ds-num {
  border-color: var(--pink);
}
#page-diagnostic .ds-num-inner {
  background: var(--gr);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-diagnostic .ds-time {
  font-family: var(--fb), sans-serif;
  font-size: 0.62em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--pink);
  margin-bottom: 0.4rem;
}
#page-diagnostic .ds-title {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  color: #2a2a3d;
  margin-bottom: 0.4rem;
  letter-spacing: 0.5px;
}
#page-diagnostic .ds-txt {
  font-size: 0.78rem;
  color: var(--mu);
  line-height: 1.65;
}
#page-diagnostic {
  /* Encart "après" */
}
#page-diagnostic .derou-after {
  background: #fff;
  border-left: 4px solid var(--teal);
  border-radius: 4px;
  padding: 1.25rem 1.5rem;
  margin-top: 3rem;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}
#page-diagnostic .da-ico {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #40dda6, #01b7ff);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.1rem;
  color: #fff;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
}
#page-diagnostic .da-txt h4 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  color: #2a2a3d;
  margin-bottom: 0.2rem;
}
#page-diagnostic .da-txt p {
  font-size: 0.82rem;
  color: var(--mu);
  line-height: 1.65;
}
#page-diagnostic {
  /* ══ POUR QUI ══ */
}
#page-diagnostic #pourqui {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-diagnostic #pourqui::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-diagnostic .pourqui-header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 3.5rem;
}
#page-diagnostic .pourqui-header h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-diagnostic .pourqui-header p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.8;
}
#page-diagnostic .profils-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.4rem;
  margin-bottom: 2.5rem;
}
#page-diagnostic .profil {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 14px;
  overflow: hidden;
  transition: all 0.25s;
  box-shadow: 0 2px 8px rgba(59, 0, 79, 0.04);
  position: relative;
}
#page-diagnostic .profil:hover {
  box-shadow: var(--shl);
  transform: translateY(-4px);
  border-color: transparent;
}
#page-diagnostic .profil-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
}
#page-diagnostic .profil:nth-child(1) .profil-bar {
  background: linear-gradient(90deg, #430069, #01b7ff);
}
#page-diagnostic .profil:nth-child(2) .profil-bar {
  background: linear-gradient(90deg, #01b7ff, #40dda6);
}
#page-diagnostic .profil:nth-child(3) .profil-bar {
  background: linear-gradient(90deg, #40dda6, #f92c8b);
}
#page-diagnostic .profil-img {
  width: 100%;
  height: 150px;
  overflow: hidden;
  position: relative;
}
#page-diagnostic .profil-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.78);
  transition: transform 0.4s;
}
#page-diagnostic .profil:hover .profil-img img {
  transform: scale(1.04);
}
#page-diagnostic .profil-body {
  padding: 1.5rem;
}
#page-diagnostic .profil-stade {
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--pink);
  margin-bottom: 0.5rem;
}
#page-diagnostic .profil h3 {
  font-size: 16px;
  color: #2a2a3d;
  margin-bottom: 0.5rem;
  letter-spacing: 0.5px;
}
#page-diagnostic .profil p {
  font-size: 13px;
  color: var(--mu);
  line-height: 1.72;
  margin-bottom: 1.1rem;
}
#page-diagnostic .profil-resultat {
  background: rgba(64, 221, 166, 0.08);
  border: 1px solid rgba(64, 221, 166, 0.25);
  border-radius: 6px;
  padding: 0.6rem 0.85rem;
  font-size: 0.75rem;
  color: #0b6e4f;
  font-weight: 500;
  line-height: 1.4;
}
#page-diagnostic {
  /* Encart "je ne sais pas" */
}
#page-diagnostic .profil-unknown {
  background: var(--bg2);
  border: 1.5px dashed var(--pink);
  border-radius: 14px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  justify-content: center;
  transition: all 0.25s;
  min-height: 320px;
}
#page-diagnostic .profil-unknown:hover {
  background: #fff;
  box-shadow: var(--shl);
}
#page-diagnostic .pu-ico {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--gr);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  font-size: 1.3rem;
  color: #fff;
}
#page-diagnostic .pu-title {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  color: #2a2a3d;
  margin-bottom: 0.5rem;
}
#page-diagnostic .pu-txt {
  font-size: 0.8rem;
  color: var(--mu);
  line-height: 1.65;
  margin-bottom: 1.25rem;
}
#page-diagnostic {
  /* ══ TÉMOIGNAGES ══ */
}
#page-diagnostic #temo {
  background: var(--bg3);
  padding: 100px 0;
  position: relative;
}
#page-diagnostic #temo::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-diagnostic .temo-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
#page-diagnostic .tc {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--bo);
  transition: all 0.22s;
  box-shadow: 0 2px 8px rgba(59, 0, 79, 0.04);
}
#page-diagnostic .tc:hover {
  box-shadow: var(--shl);
  transform: translateY(-3px);
  border-color: transparent;
}
#page-diagnostic .tc-img {
  width: 100%;
  height: 130px;
  overflow: hidden;
  position: relative;
}
#page-diagnostic .tc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.82);
  transition: transform 0.35s;
}
#page-diagnostic .tc:hover .tc-img img {
  transform: scale(1.04);
}
#page-diagnostic .tc-img-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-diagnostic .tc-dots {
  display: flex;
  gap: 3px;
  padding: 1.25rem 1.75rem 0.5rem;
}
#page-diagnostic .tc-dot {
  width: 7px;
  height: 7px;
  background: var(--pink);
  border-radius: 50%;
}
#page-diagnostic .tc-body {
  padding: 0 1.75rem 1.75rem;
}
#page-diagnostic .tc-txt {
  font-size: 14px;
  font-style: italic;
  color: #444;
  line-height: 1.82;
  margin-bottom: 1.2rem;
}
#page-diagnostic .tc-auth {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
#page-diagnostic .tc-av {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--pd), var(--pink));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  color: #fff;
}
#page-diagnostic .tc-nm {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.84rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
}
#page-diagnostic .tc-rl {
  font-size: 0.72rem;
  color: var(--mu);
  margin-top: 0.1rem;
}
#page-diagnostic {
  /* ══ FAQ ══ */
}
#page-diagnostic #faq {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-diagnostic #faq::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-diagnostic .faq-lay {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start;
}
#page-diagnostic .faq-left h2 {
  font-size: clamp(26px, 2.8vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 1.25rem;
}
#page-diagnostic .faq-left p {
  font-size: 15px;
  color: var(--mu);
  line-height: 1.8;
  margin-bottom: 2rem;
}
#page-diagnostic .fi {
  border-bottom: 1px solid var(--bo);
}
#page-diagnostic .fq {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem 0;
  cursor: pointer;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
  user-select: none;
  transition: color 0.2s;
}
#page-diagnostic .fq:hover {
  color: var(--pink);
}
#page-diagnostic .fq-ico {
  color: var(--pink);
  font-size: 1.2rem;
  flex-shrink: 0;
  transition: transform 0.25s;
}
#page-diagnostic .fi.open .fq-ico {
  transform: rotate(45deg);
}
#page-diagnostic .fa {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.8;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.38s ease, padding 0.38s;
}
#page-diagnostic .fi.open .fa {
  max-height: 300px;
  padding-bottom: 1.15rem;
}
#page-diagnostic .fu {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
#page-diagnostic .fu.v {
  opacity: 1;
  transform: none;
}
@media (max-width: 960px) {
  #page-diagnostic .hero-layout, #page-diagnostic .obtient-layout, #page-diagnostic .faq-lay {
    grid-template-columns: 1fr;
  }
  #page-diagnostic .derou-steps {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
  #page-diagnostic .derou-steps::before {
    display: none;
  }
  #page-diagnostic .profils-grid {
    grid-template-columns: 1fr;
  }
  #page-diagnostic .temo-cards {
    grid-template-columns: 1fr;
  }
  #page-diagnostic .hbc-formats {
    grid-template-columns: 1fr;
  }
  #page-diagnostic .fg {
    grid-template-columns: 1fr 1fr;
  }
  #page-diagnostic .obtient-float {
    display: none;
  }
}

#page-dirigeant {
  /* FAQ */
}
#page-dirigeant #faq {
  background: var(--bg2);
  padding: 100px 0;
}
#page-dirigeant .faq-lay {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start;
}
#page-dirigeant .faq-left h2 {
  font-size: clamp(26px, 2.8vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 1.25rem;
}
#page-dirigeant .faq-left p {
  font-size: 15px;
  color: var(--mu);
  line-height: 1.8;
  margin-bottom: 2rem;
}
#page-dirigeant .fi {
  border-bottom: 1px solid var(--bo);
}
#page-dirigeant .fq {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem 0;
  cursor: pointer;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
  user-select: none;
  transition: color 0.2s;
}
#page-dirigeant .fq:hover {
  color: var(--pink);
}
#page-dirigeant .fq-ico {
  color: var(--pink);
  font-size: 1.2rem;
  flex-shrink: 0;
  transition: transform 0.25s;
}
#page-dirigeant .fi.open .fq-ico {
  transform: rotate(45deg);
}
#page-dirigeant .fa {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.8;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.38s ease, padding 0.38s;
}
#page-dirigeant .fi.open .fa {
  max-height: 300px;
  padding-bottom: 1.15rem;
}
#page-dirigeant .fu {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
#page-dirigeant .fu.v {
  opacity: 1;
  transform: none;
}
@media (max-width: 960px) {
  #page-dirigeant .hero-layout, #page-dirigeant .promesse-grid, #page-dirigeant .acces-layout, #page-dirigeant .temo-head, #page-dirigeant .faq-lay {
    grid-template-columns: 1fr;
  }
  #page-dirigeant .hero-right, #page-dirigeant .options-grid, #page-dirigeant .coll-grid, #page-dirigeant .temo-cards, #page-dirigeant .autres-grid {
    grid-template-columns: 1fr;
  }
  #page-dirigeant .coll-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  #page-dirigeant .chiffres-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  #page-dirigeant .fg {
    grid-template-columns: 1fr 1fr;
  }
  #page-dirigeant .hero-badge-float {
    display: none;
  }
  #page-dirigeant .comp-head, #page-dirigeant .comp-row {
    grid-template-columns: 1.5fr 1fr 1fr;
  }
}

#page-ebooks .lbl::before {
  content: "";
  width: 24px;
  height: 1.5px;
  background: var(--pink);
  display: block;
}
#page-ebooks {
  /* HERO */
}
#page-ebooks .hero-visual {
  position: relative;
}
#page-ebooks .hero-bookstack {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  position: relative;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
}
#page-ebooks .hero-bookstack img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.82);
}
#page-ebooks .hero-bookstack-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(59, 0, 79, 0.65) 0%, transparent 55%);
}
#page-ebooks .hero-bookstack-tag {
  position: absolute;
  bottom: 1.25rem;
  left: 1.25rem;
  background: var(--pink);
  color: #fff;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.68em;
  text-transform: uppercase;
  letter-spacing: 3px;
  padding: 0.3rem 0.8rem;
  border-radius: 99px;
  box-shadow: var(--sp);
}
#page-ebooks {
  /* Badges flottants */
}
#page-ebooks .hero-badge-float {
  position: absolute;
  top: -16px;
  right: -16px;
  background: linear-gradient(135deg, #430069, #01b7ff);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  text-align: center;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.25);
  min-width: 108px;
}
#page-ebooks .hbf-n {
  font-family: var(--fh), sans-serif;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-ebooks .hbf-l {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.65);
  margin-top: 0.25rem;
}
#page-ebooks .hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
#page-ebooks .hstat {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 1.1rem;
  text-align: center;
}
#page-ebooks .hstat-n {
  font-family: var(--fh), sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-ebooks .hstat-l {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.38);
  margin-top: 0.3rem;
}
#page-ebooks {
  /* CHIFFRES CLÉS */
}
#page-ebooks #chiffres {
  background: var(--bg1);
  padding: 72px 0;
}
#page-ebooks .chiffres-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--bo);
  border: 1px solid var(--bo);
  border-radius: 16px;
  overflow: hidden;
}
#page-ebooks .chiffre {
  background: #fff;
  padding: 2.25rem 1.75rem;
  text-align: center;
  position: relative;
  transition: background 0.22s;
}
#page-ebooks .chiffre:hover {
  background: var(--bg2);
}
#page-ebooks .chiffre::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  opacity: 0;
  transition: opacity 0.25s;
}
#page-ebooks .chiffre:hover::before {
  opacity: 1;
}
#page-ebooks .chiffre:nth-child(1)::before {
  background: linear-gradient(90deg, #430069, #01b7ff);
}
#page-ebooks .chiffre:nth-child(2)::before {
  background: linear-gradient(90deg, #01b7ff, #40dda6);
}
#page-ebooks .chiffre:nth-child(3)::before {
  background: linear-gradient(90deg, #40dda6, #ffd946);
}
#page-ebooks .chiffre:nth-child(4)::before {
  background: linear-gradient(90deg, #ffa350, #ff0060);
}
#page-ebooks .chiffre-n {
  font-family: var(--fh), sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -1px;
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.5rem;
}
#page-ebooks .chiffre-l {
  font-family: var(--fh), sans-serif;
  font-weight: 600;
  font-size: 0.92rem;
  color: #2a2a3d;
  margin-bottom: 0.3rem;
}
#page-ebooks .chiffre-sub {
  font-size: 0.78rem;
  color: var(--mu);
}
#page-ebooks {
  /* PROMESSE */
}
#page-ebooks #promesse {
  background: var(--bg2);
  padding: 100px 0;
  position: relative;
}
#page-ebooks #promesse::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-ebooks .checks {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-top: 1.75rem;
}
#page-ebooks .chk {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  font-size: 15px;
  color: #2a2a3d;
}
#page-ebooks .chk-dot {
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 50%;
  background: var(--gr);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
#page-ebooks .chk-dot::after {
  content: "✓";
  font-size: 0.65rem;
  font-weight: 700;
  color: #fff;
  font-family: var(--fb), sans-serif;
}
#page-ebooks {
  /* OPTIONS D'ACCÈS */
}
#page-ebooks #options {
  background: var(--bg1);
  padding: 100px 0;
}
#page-ebooks .options-header {
  text-align: center;
  max-width: 660px;
  margin: 0 auto 3.5rem;
}
#page-ebooks .options-header h2 {
  font-size: clamp(28px, 3.2vw, 40px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-ebooks .options-header p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.8;
}
#page-ebooks .options-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-bottom: 2rem;
}
#page-ebooks .option {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  transition: all 0.28s;
}
#page-ebooks .option-collection {
  background: #fff;
  border: 2px solid var(--bo);
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}
#page-ebooks .option-collection:hover {
  box-shadow: var(--shl);
  transform: translateY(-4px);
  border-color: var(--pink);
}
#page-ebooks .option-complet {
  background: var(--pd);
  border: 2px solid var(--pd);
}
#page-ebooks .option-complet:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(59, 0, 79, 0.4);
}
#page-ebooks .option-complet::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--gr);
}
#page-ebooks .option-badge {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.62em;
  text-transform: uppercase;
  letter-spacing: 3px;
  padding: 0.22rem 0.7rem;
  border-radius: 99px;
}
#page-ebooks .option-collection .option-badge {
  background: var(--ps);
  color: var(--pink);
  border: 1px solid rgba(249, 44, 139, 0.25);
}
#page-ebooks .option-complet .option-badge {
  background: var(--gr);
  color: #fff;
  box-shadow: var(--sp);
}
#page-ebooks .option-img {
  width: 100%;
  height: 200px;
  overflow: hidden;
  position: relative;
}
#page-ebooks .option-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.78);
  transition: transform 0.4s;
}
#page-ebooks .option:hover .option-img img {
  transform: scale(1.03);
}
#page-ebooks .option-img-ov {
  position: absolute;
  inset: 0;
}
#page-ebooks .option-collection .option-img-ov {
  background: linear-gradient(to bottom, transparent 25%, rgba(255, 255, 255, 0.08));
}
#page-ebooks .option-complet .option-img-ov {
  background: linear-gradient(to bottom, transparent 25%, rgba(59, 0, 79, 0.6));
}
#page-ebooks .option-body {
  padding: 2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
#page-ebooks .option-prix {
  font-family: var(--fh), sans-serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -2px;
  margin-bottom: 0.35rem;
}
#page-ebooks .option-collection .option-prix {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-ebooks .option-complet .option-prix {
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-ebooks .option-prix-sub {
  font-size: 0.82rem;
  color: var(--mu);
  margin-bottom: 1.25rem;
}
#page-ebooks .option-complet .option-prix-sub {
  color: rgba(255, 255, 255, 0.5);
}
#page-ebooks .option h3 {
  font-size: 19px;
  margin-bottom: 0.65rem;
  letter-spacing: 0.5px;
}
#page-ebooks .option-collection h3 {
  color: #2a2a3d;
}
#page-ebooks .option-complet h3 {
  color: #fff;
}
#page-ebooks .option p {
  font-size: 14px;
  line-height: 1.78;
  flex: 1;
  margin-bottom: 1.5rem;
}
#page-ebooks .option-collection p {
  color: var(--mu);
}
#page-ebooks .option-complet p {
  color: rgba(255, 255, 255, 0.55);
}
#page-ebooks .option-inclus {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1.75rem;
}
#page-ebooks .option-inc {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  font-size: 14px;
}
#page-ebooks .option-collection .option-inc {
  color: #2a2a3d;
}
#page-ebooks .option-complet .option-inc {
  color: rgba(255, 255, 255, 0.75);
}
#page-ebooks .option-inc-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
#page-ebooks .option-collection .option-inc-dot {
  background: var(--pink);
}
#page-ebooks .option-complet .option-inc-dot {
  background: var(--teal);
}
#page-ebooks .option-cta {
  display: block;
  text-align: center;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.78em;
  text-transform: uppercase;
  letter-spacing: 4px;
  padding: 16px;
  border-radius: 3px;
  transition: all 0.25s;
  margin-top: auto;
}
#page-ebooks button.option-cta {
  cursor: pointer;
}
#page-ebooks .option-collection .option-cta {
  background: var(--pink);
  color: #fff;
  box-shadow: var(--sp);
}
#page-ebooks .option-collection .option-cta:hover {
  letter-spacing: 4.5px;
  transform: translateY(-1px);
}
#page-ebooks .option-complet .option-cta {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  width: 100%;
}
#page-ebooks .option-complet .option-cta:hover {
  background: #fff;
  color: var(--pd);
}
#page-ebooks .option-note {
  text-align: center;
  font-size: 0.75rem;
  color: var(--mu);
  margin-top: 1rem;
  line-height: 1.5;
}
#page-ebooks {
  /* COMPARATIF */
}
#page-ebooks .comparatif {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}
#page-ebooks .comp-head {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 0;
  background: var(--bg2);
  border-bottom: 1px solid var(--bo);
}
#page-ebooks .comp-h {
  padding: 0.85rem 1.25rem;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  color: #2a2a3d;
}
#page-ebooks .comp-h:nth-child(2), #page-ebooks .comp-h:nth-child(3) {
  text-align: center;
}
#page-ebooks .comp-h:nth-child(3) {
  background: var(--ps);
  color: var(--pink);
}
#page-ebooks .comp-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  border-bottom: 1px solid var(--bo);
}
#page-ebooks .comp-row:last-child {
  border-bottom: none;
}
#page-ebooks .comp-row:hover {
  background: var(--bg2);
}
#page-ebooks .comp-lbl {
  padding: 0.75rem 1.25rem;
  font-size: 0.85rem;
  color: #2a2a3d;
}
#page-ebooks .comp-val {
  padding: 0.75rem 1.25rem;
  text-align: center;
  font-size: 0.85rem;
  font-weight: 600;
}
#page-ebooks .comp-val.yes {
  color: #0b6e4f;
}
#page-ebooks .comp-val.no {
  color: #c8c8d8;
}
#page-ebooks .comp-val.txt {
  color: var(--mu);
}
#page-ebooks .comp-val.pink {
  color: var(--pink);
}
#page-ebooks {
  /* 16 COLLECTIONS */
}
#page-ebooks #collections {
  background: var(--bg2);
  padding: 100px 0;
  position: relative;
}
#page-ebooks #collections::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-ebooks #collections h2 {
  font-size: clamp(28px, 3.2vw, 40px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-ebooks #collections h3.coll-cat {
  font-family: var(--fb), sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: #2a2a3d;
  margin: 3rem 0 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
#page-ebooks #collections h3.coll-cat::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--bo);
}
#page-ebooks #collections .coll-sub {
  font-size: 16px;
  color: var(--mu);
  margin-bottom: 3.5rem;
  max-width: 580px;
}
#page-ebooks #collections .coll-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.6rem;
}
#page-ebooks #collections .coll-footer {
  padding: 1.25rem 1.5rem 1.5rem;
  margin-top: auto;
}
#page-ebooks #collections .btn-acheter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.7rem 1.25rem;
  background: var(--pink);
  color: #fff;
  font-family: var(--fb), sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background 0.18s, box-shadow 0.18s;
  box-shadow: 0 6px 18px -4px rgba(216, 1, 101, 0.35);
}
#page-ebooks #collections .coll-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.1rem;
  margin-bottom: 3rem;
}
@media (max-width: 1200px) {
  #page-ebooks #collections .coll-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  #page-ebooks #collections .coll-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
#page-ebooks #collections .coll-ebooks {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}
#page-ebooks #collections .coll-ebooks li {
  font-size: 0.78rem;
  color: var(--mu);
  padding: 0.1rem 0;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  line-height: 1.4;
}
#page-ebooks #collections .coll-ebooks li::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--lpink);
  flex-shrink: 0;
  margin-top: 0.35rem;
}
#page-ebooks #collections .coll {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.25s;
  box-shadow: 0 2px 8px rgba(59, 0, 79, 0.04);
  position: relative;
}
#page-ebooks #collections .coll:hover {
  box-shadow: var(--shl);
  transform: translateY(-3px);
  border-color: transparent;
}
#page-ebooks #collections .coll-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
}
#page-ebooks #collections .coll:nth-child(1) .coll-bar {
  background: linear-gradient(90deg, #430069, #01b7ff);
}
#page-ebooks #collections .coll:nth-child(2) .coll-bar {
  background: linear-gradient(90deg, #01b7ff, #40dda6);
}
#page-ebooks #collections .coll:nth-child(3) .coll-bar {
  background: linear-gradient(90deg, #40dda6, #ffd946);
}
#page-ebooks #collections .coll:nth-child(4) .coll-bar {
  background: linear-gradient(90deg, #ffd946, #ffa350);
}
#page-ebooks #collections .coll:nth-child(5) .coll-bar {
  background: linear-gradient(90deg, #ffa350, #ff0060);
}
#page-ebooks #collections .coll:nth-child(6) .coll-bar {
  background: linear-gradient(90deg, #ff0060, #f92c8b);
}
#page-ebooks #collections .coll:nth-child(7) .coll-bar {
  background: linear-gradient(90deg, #f92c8b, #430069);
}
#page-ebooks #collections .coll:nth-child(8) .coll-bar {
  background: linear-gradient(90deg, #430069, #01b7ff);
}
#page-ebooks #collections .coll:nth-child(9) .coll-bar {
  background: linear-gradient(90deg, #01b7ff, #40dda6);
}
#page-ebooks #collections .coll:nth-child(10) .coll-bar {
  background: linear-gradient(90deg, #40dda6, #ffd946);
}
#page-ebooks #collections .coll:nth-child(11) .coll-bar {
  background: linear-gradient(90deg, #ffd946, #ffa350);
}
#page-ebooks #collections .coll:nth-child(12) .coll-bar {
  background: linear-gradient(90deg, #ffa350, #ff0060);
}
#page-ebooks #collections .coll:nth-child(13) .coll-bar {
  background: linear-gradient(90deg, #ff0060, #f92c8b);
}
#page-ebooks #collections .coll:nth-child(14) .coll-bar {
  background: linear-gradient(90deg, #f92c8b, #430069);
}
#page-ebooks #collections .coll:nth-child(15) .coll-bar {
  background: linear-gradient(90deg, #430069, #40dda6);
}
#page-ebooks #collections .coll:nth-child(16) .coll-bar {
  background: linear-gradient(90deg, #40dda6, #ff0060);
}
#page-ebooks #collections .coll-body {
  padding: 1.25rem 1.25rem 1.4rem;
}
#page-ebooks #collections .coll-count {
  font-family: var(--fb), sans-serif;
  font-size: 0.62em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--pink);
  margin-bottom: 0.4rem;
}
#page-ebooks #collections .coll h3 {
  font-size: 0.92rem;
  color: #2a2a3d;
  margin-bottom: 0.35rem;
  letter-spacing: 0.3px;
}
#page-ebooks #collections .coll p {
  font-size: 0.75rem;
  color: var(--mu);
  line-height: 1.6;
}
#page-ebooks {
  /* COMMENT ACCÉDER */
}
#page-ebooks #acces {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-ebooks #acces::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-ebooks .acces-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
#page-ebooks .acces-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 1rem;
  line-height: 1.08;
}
#page-ebooks .acces-sub {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
  margin-bottom: 2rem;
}
#page-ebooks .acces-steps {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
#page-ebooks .acces-step {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.2rem 1.25rem;
  background: var(--bg2);
  border-radius: 12px;
  border: 1px solid var(--bo);
  transition: all 0.22s;
}
#page-ebooks .acces-step:hover {
  background: #fff;
  box-shadow: var(--shl);
  border-color: transparent;
}
#page-ebooks .acces-step-num {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.85rem;
  color: #fff;
  flex-shrink: 0;
}
#page-ebooks .acces-step:nth-child(1) .acces-step-num {
  background: linear-gradient(135deg, #430069, #01b7ff);
}
#page-ebooks .acces-step:nth-child(2) .acces-step-num {
  background: linear-gradient(135deg, #01b7ff, #40dda6);
}
#page-ebooks .acces-step:nth-child(3) .acces-step-num {
  background: linear-gradient(135deg, #40dda6, #ffd946);
  color: #1f005a;
}
#page-ebooks .acces-step:nth-child(4) .acces-step-num {
  background: linear-gradient(135deg, #ffa350, #ff0060);
}
#page-ebooks .acces-step-txt h3 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  color: #2a2a3d;
  margin-bottom: 0.25rem;
}
#page-ebooks .acces-step-txt p {
  font-size: 13px;
  color: var(--mu);
  line-height: 1.65;
}
#page-ebooks .acces-visual {
  position: relative;
}
#page-ebooks .acces-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: var(--shl);
}
#page-ebooks .acces-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page-ebooks .acces-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 45%, rgba(59, 0, 79, 0.72));
}
#page-ebooks .acces-photo-badges {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
#page-ebooks .apb {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  padding: 0.65rem 1rem;
  backdrop-filter: blur(8px);
}
#page-ebooks .apb-label {
  font-family: var(--fh), sans-serif;
  font-weight: 600;
  font-size: 0.82rem;
  color: #fff;
}
#page-ebooks .apb-val {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.88rem;
  background: var(--gr);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-ebooks {
  /* TÉMOIGNAGES */
}
#page-ebooks #temo {
  background: var(--bg3);
  padding: 100px 0;
}
#page-ebooks .temo-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 60px;
}
#page-ebooks #temo h2 {
  font-size: clamp(28px, 3.2vw, 40px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 0.75rem;
}
#page-ebooks .temo-sub {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.8;
}
#page-ebooks .temo-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  position: relative;
  box-shadow: var(--shl);
}
#page-ebooks .temo-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page-ebooks .temo-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 35%, rgba(42, 10, 66, 0.88));
}
#page-ebooks .temo-quote {
  position: absolute;
  bottom: 1.75rem;
  left: 1.75rem;
  right: 1.75rem;
}
#page-ebooks .temo-q {
  font-family: var(--fh), sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.5;
  margin-bottom: 0.75rem;
}
#page-ebooks .temo-auth {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
#page-ebooks .temo-av {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--pink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  color: #fff;
  flex-shrink: 0;
}
#page-ebooks .temo-nm {
  font-family: var(--fh), sans-serif;
  font-weight: 600;
  font-size: 0.8rem;
  color: #fff;
}
#page-ebooks .temo-rl {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.55);
}
#page-ebooks .temo-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
#page-ebooks .tc {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--bo);
  transition: all 0.22s;
  box-shadow: 0 2px 8px rgba(59, 0, 79, 0.04);
}
#page-ebooks .tc:hover {
  box-shadow: var(--shl);
  transform: translateY(-3px);
  border-color: transparent;
}
#page-ebooks .tc-img {
  width: 100%;
  height: 140px;
  overflow: hidden;
  position: relative;
}
#page-ebooks .tc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.82);
  transition: transform 0.35s;
}
#page-ebooks .tc:hover .tc-img img {
  transform: scale(1.04);
}
#page-ebooks .tc-img-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-ebooks .tc-dots {
  display: flex;
  gap: 3px;
  padding: 1.25rem 1.75rem 0.5rem;
}
#page-ebooks .tc-dot {
  width: 7px;
  height: 7px;
  background: var(--pink);
  border-radius: 50%;
}
#page-ebooks .tc-body {
  padding: 0 1.75rem 1.75rem;
}
#page-ebooks .tc-txt {
  font-size: 14px;
  font-style: italic;
  color: #444;
  line-height: 1.82;
  margin-bottom: 1.2rem;
}
#page-ebooks .tc-auth {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
#page-ebooks .tc-av {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--pd), var(--pink));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  color: #fff;
}
#page-ebooks .tc-nm {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.84rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
}
#page-ebooks .tc-rl {
  font-size: 0.72rem;
  color: var(--mu);
  margin-top: 0.1rem;
}
#page-ebooks {
  /* AUTRES OFFRES */
}
#page-ebooks #autres {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-ebooks #autres::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-ebooks #autres h2 {
  font-size: clamp(26px, 3vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-ebooks .autres-sub {
  font-size: 16px;
  color: var(--mu);
  margin-bottom: 3rem;
  max-width: 560px;
}
#page-ebooks .autres-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
#page-ebooks .autre {
  background: #fff;
  border: 1.5px solid var(--bo);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.28s;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
  display: flex;
  flex-direction: column;
}
#page-ebooks .autre:hover {
  box-shadow: var(--shl);
  transform: translateY(-4px);
  border-color: var(--pink);
}
#page-ebooks .autre-img {
  width: 100%;
  height: 150px;
  overflow: hidden;
  position: relative;
}
#page-ebooks .autre-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.78);
  transition: transform 0.4s;
}
#page-ebooks .autre:hover .autre-img img {
  transform: scale(1.04);
}
#page-ebooks .autre-img-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-ebooks .autre-body {
  padding: 1.6rem 1.75rem 2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
#page-ebooks .autre-type {
  display: block;
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--mu);
  margin-bottom: 0.5rem;
}
#page-ebooks .autre h3 {
  font-size: 17px;
  color: #2a2a3d;
  margin-bottom: 0.65rem;
  letter-spacing: 0.5px;
}
#page-ebooks .autre p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.78;
  flex: 1;
  margin-bottom: 1.4rem;
}
#page-ebooks .autre-cta {
  display: block;
  text-align: center;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.72em;
  text-transform: uppercase;
  letter-spacing: 4px;
  padding: 12px;
  border-radius: 3px;
  color: var(--pink);
  border: 1.5px solid var(--pink);
  transition: all 0.25s;
}
#page-ebooks .autre-cta:hover {
  background: var(--pink);
  color: #fff;
}
#page-ebooks {
  /* FAQ */
}
#page-ebooks #faq {
  background: var(--bg2);
  padding: 100px 0;
}
#page-ebooks .faq-lay {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start;
}
#page-ebooks .faq-left h2 {
  font-size: clamp(26px, 2.8vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 1.25rem;
}
#page-ebooks .faq-left p {
  font-size: 15px;
  color: var(--mu);
  line-height: 1.8;
  margin-bottom: 2rem;
}
#page-ebooks .fi {
  border-bottom: 1px solid var(--bo);
}
#page-ebooks .fq {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem 0;
  cursor: pointer;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
  user-select: none;
  transition: color 0.2s;
}
#page-ebooks .fq:hover {
  color: var(--pink);
}
#page-ebooks .fq-ico {
  color: var(--pink);
  font-size: 1.2rem;
  flex-shrink: 0;
  transition: transform 0.25s;
}
#page-ebooks .fi.open .fq-ico {
  transform: rotate(45deg);
}
#page-ebooks .fa {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.8;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.38s ease, padding 0.38s;
}
#page-ebooks .fi.open .fa {
  max-height: 300px;
  padding-bottom: 1.15rem;
}
#page-ebooks .fu {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
#page-ebooks .fu.v {
  opacity: 1;
  transform: none;
}
@media (max-width: 960px) {
  #page-ebooks .hero-layout, #page-ebooks .promesse-grid, #page-ebooks .acces-layout, #page-ebooks .temo-head, #page-ebooks .faq-lay {
    grid-template-columns: 1fr;
  }
  #page-ebooks .hero-right, #page-ebooks .options-grid, #page-ebooks .coll-grid, #page-ebooks .temo-cards, #page-ebooks .autres-grid {
    grid-template-columns: 1fr;
  }
  #page-ebooks .coll-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  #page-ebooks .chiffres-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  #page-ebooks .fg {
    grid-template-columns: 1fr 1fr;
  }
  #page-ebooks .hero-badge-float {
    display: none;
  }
  #page-ebooks .comp-head, #page-ebooks .comp-row {
    grid-template-columns: 1.5fr 1fr 1fr;
  }
}

#page-errors #hero {
  height: 30vh;
  padding-top: 60px;
  min-height: 20vh;
}
#page-errors main {
  padding: 5rem 5%;
}

#page-404 #hero {
  clip-path: none;
}

/* /organisation — styles migrés depuis les attributs inline */
body#page-organisation #pourqui .wrap > div:nth-child(2) {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

body#page-organisation #pourqui .wrap > div:nth-child(2) > div.fu:nth-child(2) {
  transition-delay: 0.12s;
}

body#page-organisation #pourqui .cibles-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

body#page-organisation #pourqui .cibles-grid .cible-card:nth-child(1) .cible-img-bar {
  background: linear-gradient(90deg, #430069, #01b7ff);
}

body#page-organisation #pourqui .cibles-grid .cible-card:nth-child(2) .cible-img-bar {
  background: linear-gradient(90deg, #01b7ff, #40dda6);
}

body#page-organisation #pourqui .cibles-grid .cible-card:nth-child(3) .cible-img-bar {
  background: linear-gradient(90deg, #40dda6, #f92c8b);
}

body#page-organisation #formats .formats-grid > .format-card:nth-child(2) {
  transition-delay: 0.08s;
}

body#page-organisation #formats .formats-grid > .format-card:nth-child(3) {
  transition-delay: 0.16s;
}

body#page-organisation #formats .formats-grid > .format-card:nth-child(4) {
  transition-delay: 0.24s;
}

body#page-organisation #formats .formats-grid > .format-card:nth-child(5) {
  transition-delay: 0.32s;
}

body#page-organisation #formats .formats-grid > .format-card:nth-child(6) {
  transition-delay: 0.4s;
}

body#page-organisation #formats .contact-rapide .cr-content {
  flex: 1;
}

body#page-organisation #process .process-lay > .fu:first-child > div:last-child {
  margin-top: 2rem;
}

body#page-organisation #process .process-steps.fu {
  transition-delay: 0.12s;
}

body#page-organisation #process .process-steps .pstep:nth-child(1) .pstep-num {
  background: linear-gradient(120deg, #430069, #01b7ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-organisation #process .process-steps .pstep:nth-child(2) .pstep-num {
  background: linear-gradient(120deg, #01b7ff, #40dda6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-organisation #process .process-steps .pstep:nth-child(3) .pstep-num {
  background: linear-gradient(120deg, #40dda6, #ffd946);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-organisation #process .process-steps .pstep:nth-child(4) .pstep-num {
  background: linear-gradient(120deg, #ffd946, #f92c8b);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-organisation #process .process-steps .pstep:nth-child(5) .pstep-num {
  background: linear-gradient(120deg, #f92c8b, #430069);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-organisation #references .temo-header .fu > div:last-child {
  margin-top: 1.5rem;
}

body#page-organisation #references .temo-photo.fu {
  transition-delay: 0.12s;
}

body#page-organisation #references .temo-cards > .tc:nth-child(2) {
  transition-delay: 0.1s;
}

body#page-organisation #references .temo-cards > .tc:nth-child(3) {
  transition-delay: 0.2s;
}

/* /organisation — ex-bloc <style> dans le HTML */
body#page-organisation #hero {
  min-height: 88vh;
}

body#page-organisation .hero-inner {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 72px;
  align-items: center;
}

body#page-organisation #hero h1 {
  font-size: clamp(32px, 4.8vw, 58px);
  letter-spacing: -1px;
}

body#page-organisation #hero .hero-sub {
  font-size: clamp(15px, 1.5vw, 18px);
  max-width: 520px;
}

body#page-organisation #pourqui {
  background: var(--bg1);
  padding: 100px 0;
}

body#page-organisation #formats {
  background: var(--bg2);
  padding: 100px 0;
}

body#page-organisation #offres {
  background: var(--bg1);
  padding: 100px 0;
}

body#page-organisation #references {
  background: var(--bg3);
  padding: 100px 0;
}

body#page-organisation #process {
  background: var(--bg2);
  padding: 100px 0;
}

body#page-organisation .cibles-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-bottom: 3rem;
}

body#page-organisation .cible-card {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 14px;
  overflow: hidden;
  transition: all 0.25s;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}

body#page-organisation .cible-card:hover {
  box-shadow: var(--shl);
  transform: translateY(-4px);
  border-color: transparent;
}

body#page-organisation .cible-img {
  width: 100%;
  height: 170px;
  overflow: hidden;
  position: relative;
}

body#page-organisation .cible-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.75);
  transition: transform 0.4s;
}

body#page-organisation .cible-card:hover .cible-img img {
  transform: scale(1.04);
}

body#page-organisation .cible-img-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
}

body#page-organisation .cible-body {
  padding: 1.75rem;
}

body#page-organisation .cible-pill {
  display: inline-block;
  font-family: var(--fb), sans-serif;
  font-size: 0.6em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  padding: 0.22rem 0.7rem;
  border-radius: 99px;
  background: var(--ps);
  color: var(--pink);
  border: 1px solid rgba(249, 44, 139, 0.2);
  margin-bottom: 0.85rem;
}

body#page-organisation .cible-card h3 {
  font-size: 1.02rem;
  color: #2a2a3d;
  margin-bottom: 0.65rem;
  letter-spacing: 0.3px;
}

body#page-organisation .cible-card p {
  font-size: 0.82rem;
  color: var(--mu);
  line-height: 1.75;
  margin-bottom: 1rem;
}

body#page-organisation .cible-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

body#page-organisation .ctag {
  font-size: 0.68rem;
  padding: 0.18rem 0.58rem;
  border-radius: 99px;
  background: var(--bg2);
  color: var(--mu);
  border: 1px solid var(--bo);
  font-family: var(--fn), sans-serif;
}

body#page-organisation .formats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 3rem;
}

body#page-organisation .format-card {
  background: #fff;
  border: 1.5px solid var(--bo);
  border-radius: 14px;
  padding: 2rem 1.75rem;
  transition: all 0.25s;
  box-shadow: 0 2px 10px rgba(59, 0, 79, 0.05);
  position: relative;
  overflow: hidden;
}

body#page-organisation .format-card:hover {
  box-shadow: var(--shl);
  border-color: var(--pink);
  transform: translateY(-4px);
}

body#page-organisation .format-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
}

body#page-organisation .format-card:nth-child(1)::before {
  background: linear-gradient(90deg, #430069, #01b7ff);
}

body#page-organisation .format-card:nth-child(2)::before {
  background: linear-gradient(90deg, #01b7ff, #40dda6);
}

body#page-organisation .format-card:nth-child(3)::before {
  background: linear-gradient(90deg, #40dda6, #f92c8b);
}

body#page-organisation .format-num {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 2.2rem;
  letter-spacing: -1px;
  line-height: 1;
  background: var(--gr);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.75rem;
}

body#page-organisation .format-card h3 {
  font-size: 1rem;
  color: #2a2a3d;
  margin-bottom: 0.65rem;
  letter-spacing: 0.3px;
}

body#page-organisation .format-card p {
  font-size: 0.82rem;
  color: var(--mu);
  line-height: 1.75;
}

body#page-organisation .process-lay {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

body#page-organisation .process-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}

body#page-organisation .pstep {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 1.25rem;
  padding-bottom: 2.25rem;
  position: relative;
}

body#page-organisation .pstep:last-child {
  padding-bottom: 0;
}

body#page-organisation .pstep::after {
  content: "";
  position: absolute;
  left: 25px;
  top: 52px;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, var(--bo), transparent);
}

body#page-organisation .pstep:last-child::after {
  display: none;
}

body#page-organisation .pstep-n {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--bo);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 10px rgba(59, 0, 79, 0.08);
}

body#page-organisation .pstep-num {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1rem;
  background: var(--gr);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-organisation .pstep-body {
  padding-top: 0.85rem;
}

body#page-organisation .pstep-body h4 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.96rem;
  color: #2a2a3d;
  margin-bottom: 0.4rem;
  letter-spacing: 0.5px;
}

body#page-organisation .pstep-body p {
  font-size: 0.82rem;
  color: var(--mu);
  line-height: 1.72;
}

body#page-organisation .oi-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

body#page-organisation .oi-stat {
  background: var(--bg2);
  border: 1px solid var(--bo);
  border-radius: 12px;
  padding: 1.5rem 1.25rem;
  text-align: center;
}

body#page-organisation .oi-stat-n {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 2.2rem;
  letter-spacing: -1px;
  line-height: 1;
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.4rem;
}

body#page-organisation .oi-stat-l {
  font-size: 0.75rem;
  color: var(--mu);
  line-height: 1.45;
}

body#page-organisation .contact-rapide {
  background: #fff;
  border: 1.5px solid var(--bo);
  border-radius: 16px;
  padding: 2rem 2.25rem;
  display: flex;
  align-items: center;
  gap: 2rem;
  box-shadow: 0 4px 20px rgba(59, 0, 79, 0.06);
}

body#page-organisation .cr-content h3 {
  font-size: 1.1rem;
  color: #2a2a3d;
  margin-bottom: 0.4rem;
  letter-spacing: 0.3px;
}

body#page-organisation .cr-content p {
  font-size: 0.85rem;
  color: var(--mu);
  line-height: 1.65;
}

body#page-organisation .cr-cta {
  flex-shrink: 0;
}

@media (max-width: 960px) {
  body#page-organisation .hero-inner {
    grid-template-columns: 1fr;
  }
  body#page-organisation .hero-visual {
    display: none;
  }
  body#page-organisation .cibles-grid {
    grid-template-columns: 1fr;
  }
  body#page-organisation .formats-grid {
    grid-template-columns: 1fr;
  }
  body#page-organisation .process-lay {
    grid-template-columns: 1fr;
  }
  body#page-organisation .temo-header {
    grid-template-columns: 1fr;
  }
  body#page-organisation .temo-cards {
    grid-template-columns: 1fr;
  }
  body#page-organisation .oi-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  body#page-organisation .contact-rapide {
    flex-direction: column;
    text-align: center;
  }
  body#page-organisation .fg {
    grid-template-columns: 1fr 1fr;
  }
}
#page-strategies .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.82em;
  text-transform: uppercase;
  letter-spacing: 5px;
  background: var(--pink);
  color: #fff;
  border: none;
  border-radius: 3px;
  padding: 16px 32px;
  cursor: pointer;
  box-shadow: var(--sp);
  transition: letter-spacing 300ms ease, transform 0.2s;
}
#page-strategies .btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.78em;
  text-transform: uppercase;
  letter-spacing: 4px;
  background: transparent;
  color: rgba(255, 255, 255, 0.65);
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  border-radius: 3px;
  padding: 14px 28px;
  cursor: pointer;
  transition: all 0.25s;
}
#page-strategies .btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.78em;
  text-transform: uppercase;
  letter-spacing: 4px;
  background: transparent;
  color: var(--pd);
  border: 1.5px solid var(--pd);
  border-radius: 3px;
  padding: 14px 28px;
  cursor: pointer;
  transition: all 0.25s;
}
#page-strategies .btn-outline:hover {
  background: var(--pd);
  color: #fff;
}
#page-strategies {
  /* HERO */
}
#page-strategies .hero-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 3/2;
  position: relative;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
}
#page-strategies .hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.85);
}
#page-strategies .hero-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(59, 0, 79, 0.55) 0%, transparent 50%);
}
#page-strategies .hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
#page-strategies .hstat {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 1.1rem;
  text-align: center;
}
#page-strategies .hstat-n {
  font-family: var(--fh), sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-strategies .hstat-l {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.38);
  margin-top: 0.3rem;
}
#page-strategies {
  /* PROMESSE */
}
#page-strategies #promesse {
  background: var(--bg1);
  padding: 100px 0;
}
#page-strategies .promesse-photo {
  margin-top: 3rem;
  position: relative;
}
#page-strategies .promesse-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(59, 0, 79, 0.7));
}
#page-strategies .promesse-float {
  position: absolute;
  bottom: -20px;
  right: -20px;
  background: var(--pd);
  border-radius: 12px;
  padding: 1.3rem 1.6rem;
  box-shadow: var(--sp);
  min-width: 158px;
  text-align: center;
}
#page-strategies .checks {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-top: 1.75rem;
}
#page-strategies .chk {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  font-size: 15px;
  color: #2a2a3d;
}
#page-strategies .chk-dot {
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 50%;
  background: var(--gr);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
#page-strategies .chk-dot::after {
  content: "✓";
  font-size: 0.65rem;
  font-weight: 700;
  color: #fff;
  font-family: var(--fb), sans-serif;
}
#page-strategies {
  /* 4 STRATÉGIES */
}
#page-strategies #strategies {
  background: var(--bg2);
  padding: 100px 0;
  position: relative;
}
#page-strategies #strategies::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-strategies #strategies h2 {
  font-size: clamp(28px, 3.2vw, 40px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-strategies .strat-sub {
  font-size: 16px;
  color: var(--mu);
  margin-bottom: 3.5rem;
  max-width: 600px;
}
#page-strategies .strat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.75rem;
}
#page-strategies .strat {
  background: #fff;
  border: 2px solid var(--bo);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.28s;
  position: relative;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}
#page-strategies .strat:hover {
  box-shadow: var(--shl);
  transform: translateY(-5px);
  border-color: transparent;
}
#page-strategies .strat.phare {
  border-color: var(--pink);
  box-shadow: 0 8px 32px rgba(249, 44, 139, 0.18);
}
#page-strategies .strat.phare::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-strategies .strat-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: var(--pink);
  color: #fff;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.62em;
  text-transform: uppercase;
  letter-spacing: 3px;
  padding: 0.22rem 0.7rem;
  border-radius: 99px;
  box-shadow: var(--sp);
}
#page-strategies .strat-img {
  width: 100%;
  height: 180px;
  overflow: hidden;
  position: relative;
}
#page-strategies .strat-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.75);
  transition: transform 0.4s;
}
#page-strategies .strat:hover .strat-img img {
  transform: scale(1.04);
}
#page-strategies .strat-img-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 15%, rgba(42, 42, 61, 0.78));
}
#page-strategies .strat-img-tag {
  position: absolute;
  bottom: 1rem;
  left: 1.25rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.68em;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
#page-strategies .strat-img-tag::before {
  content: "";
  width: 16px;
  height: 1.5px;
  background: var(--pink);
  display: block;
}
#page-strategies .strat-body {
  padding: 1.75rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
#page-strategies .strat h3 {
  font-size: 19px;
  color: #2a2a3d;
  margin-bottom: 0.6rem;
  letter-spacing: 0.5px;
}
#page-strategies .strat p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.78;
  flex: 1;
  margin-bottom: 1.4rem;
}
#page-strategies .strat-inclus {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1.5rem;
}
#page-strategies .inc {
  font-size: 0.74rem;
  padding: 0.22rem 0.65rem;
  border-radius: 99px;
  background: var(--bg2);
  color: var(--pd);
  border: 1px solid var(--bo);
  font-family: var(--fn), sans-serif;
}
#page-strategies .strat-cta {
  display: block;
  text-align: center;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.72em;
  text-transform: uppercase;
  letter-spacing: 4px;
  padding: 13px;
  border-radius: 3px;
  color: var(--pink);
  border: 1.5px solid var(--pink);
  transition: all 0.25s;
  margin-top: auto;
}
#page-strategies .strat-cta:hover, #page-strategies .strat.phare .strat-cta {
  background: var(--pink);
  color: #fff;
}
#page-strategies .strat-cta-wrap {
  text-align: center;
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--bo);
}
#page-strategies .strat-cta-wrap p {
  font-size: 15px;
  color: var(--mu);
  margin-bottom: 1.25rem;
}
#page-strategies {
  /* PROCESS */
}
#page-strategies #process {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-strategies #process::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-strategies .process-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
#page-strategies .process-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 1rem;
  line-height: 1.08;
}
#page-strategies .process-intro {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
  margin-bottom: 2rem;
}
#page-strategies .process-encart {
  background: var(--bg2);
  border-left: 4px solid var(--pink);
  border-radius: 4px;
  padding: 1.25rem 1.5rem;
  font-family: var(--fh), sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #2a2a3d;
  line-height: 1.7;
}
#page-strategies .process-encart span {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-strategies .steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}
#page-strategies .step {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 1.2rem;
  position: relative;
  padding-bottom: 2rem;
}
#page-strategies .step:last-child {
  padding-bottom: 0;
}
#page-strategies .step::after {
  content: "";
  position: absolute;
  left: 25px;
  top: 52px;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, transparent, var(--bo), transparent);
}
#page-strategies .step:last-child::after {
  display: none;
}
#page-strategies .step-nw {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--bo);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 10px rgba(59, 0, 79, 0.08);
}
#page-strategies .step-n {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
}
#page-strategies .step-body {
  padding-top: 0.85rem;
}
#page-strategies .step-body h4 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.96rem;
  color: #2a2a3d;
  margin-bottom: 0.4rem;
  letter-spacing: 0.5px;
}
#page-strategies .step-body p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.75;
}
#page-strategies .step-livrable {
  display: inline-block;
  margin-top: 0.65rem;
  font-family: var(--fb), sans-serif;
  font-size: 0.68em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--pink);
  background: var(--ps);
  border: 1px solid rgba(249, 44, 139, 0.2);
  padding: 0.2rem 0.65rem;
  border-radius: 99px;
}
#page-strategies {
  /* POUR QUI */
}
#page-strategies #pourqui {
  background: var(--bg2);
  padding: 100px 0;
}
#page-strategies .pourqui-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
#page-strategies .pourqui-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-strategies .pourqui-sub {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
  margin-bottom: 2.25rem;
}
#page-strategies .cas-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
#page-strategies .cas {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--bo);
  transition: all 0.22s;
}
#page-strategies .cas:hover {
  box-shadow: var(--shl);
  border-color: transparent;
  transform: translateX(5px);
}
#page-strategies .cas-ico {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 10px;
  background: var(--gr);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
#page-strategies .cas-ico-txt {
  font-size: 0.85rem;
  font-weight: 700;
  color: #fff;
  font-family: var(--fh), sans-serif;
}
#page-strategies .cas-txt h4 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  color: #2a2a3d;
  margin-bottom: 0.3rem;
}
#page-strategies .cas-txt p {
  font-size: 13px;
  color: var(--mu);
  line-height: 1.7;
}
#page-strategies .pourqui-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 3/4;
  box-shadow: var(--shl);
  position: relative;
}
#page-strategies .pourqui-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page-strategies .pourqui-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 50%, rgba(59, 0, 79, 0.75));
}
#page-strategies .pourqui-photo-quote {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
}
#page-strategies .pq-txt {
  font-family: var(--fh), sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.5;
  margin-bottom: 0.65rem;
}
#page-strategies .pq-auth {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.6);
  font-style: italic;
}
#page-strategies {
  /* TÉMOIGNAGES */
}
#page-strategies #temo {
  background: var(--bg3);
  padding: 100px 0;
}
#page-strategies .temo-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 60px;
}
#page-strategies #temo h2 {
  font-size: clamp(28px, 3.2vw, 40px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 0.75rem;
}
#page-strategies .temo-sub {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.8;
}
#page-strategies .temo-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  position: relative;
  box-shadow: var(--shl);
}
#page-strategies .temo-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page-strategies .temo-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 35%, rgba(42, 10, 66, 0.88));
}
#page-strategies .temo-quote {
  position: absolute;
  bottom: 1.75rem;
  left: 1.75rem;
  right: 1.75rem;
}
#page-strategies .temo-q {
  font-family: var(--fh), sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.5;
  margin-bottom: 0.75rem;
}
#page-strategies .temo-auth {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
#page-strategies .temo-av {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--pink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  color: #fff;
  flex-shrink: 0;
}
#page-strategies .temo-nm {
  font-family: var(--fh), sans-serif;
  font-weight: 600;
  font-size: 0.8rem;
  color: #fff;
}
#page-strategies .temo-rl {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.55);
}
#page-strategies .temo-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-bottom: 3rem;
}
#page-strategies .tc {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--bo);
  transition: all 0.22s;
  box-shadow: 0 2px 8px rgba(59, 0, 79, 0.04);
}
#page-strategies .tc:hover {
  box-shadow: var(--shl);
  transform: translateY(-3px);
  border-color: transparent;
}
#page-strategies .tc-img {
  width: 100%;
  height: 140px;
  overflow: hidden;
  position: relative;
}
#page-strategies .tc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.82);
  transition: transform 0.35s;
}
#page-strategies .tc:hover .tc-img img {
  transform: scale(1.04);
}
#page-strategies .tc-img-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-strategies .tc-dots {
  display: flex;
  gap: 3px;
  padding: 1.25rem 1.75rem 0.5rem;
}
#page-strategies .tc-dot {
  width: 7px;
  height: 7px;
  background: var(--pink);
  border-radius: 50%;
}
#page-strategies .tc-body {
  padding: 0 1.75rem 1.75rem;
}
#page-strategies .tc-txt {
  font-size: 14px;
  font-style: italic;
  color: #444;
  line-height: 1.82;
  margin-bottom: 1.2rem;
}
#page-strategies .tc-auth {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
#page-strategies .tc-av {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--pd), var(--pink));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  color: #fff;
}
#page-strategies .tc-nm {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.84rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
}
#page-strategies .tc-rl {
  font-size: 0.72rem;
  color: var(--mu);
  margin-top: 0.1rem;
}
#page-strategies .logos-lbl {
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.68em;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--mu);
  margin-bottom: 1.25rem;
}
#page-strategies .logos {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: center;
  padding: 2rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--bo);
}
#page-strategies .logos img {
  max-height: 22px;
  width: auto;
  object-fit: contain;
  filter: grayscale(1) opacity(0.38);
  transition: filter 0.2s;
}
#page-strategies .logos img:hover {
  filter: grayscale(0) opacity(0.85);
}
#page-strategies {
  /* AUTRES OFFRES */
}
#page-strategies #autres {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-strategies #autres::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-strategies #autres h2 {
  font-size: clamp(26px, 3vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-strategies .autres-sub {
  font-size: 16px;
  color: var(--mu);
  margin-bottom: 3rem;
  max-width: 560px;
}
#page-strategies .autres-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
#page-strategies .autre {
  background: #fff;
  border: 1.5px solid var(--bo);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.28s;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
  display: flex;
  flex-direction: column;
}
#page-strategies .autre:hover {
  box-shadow: var(--shl);
  transform: translateY(-4px);
  border-color: var(--pink);
}
#page-strategies .autre-img {
  width: 100%;
  height: 150px;
  overflow: hidden;
  position: relative;
}
#page-strategies .autre-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.78);
  transition: transform 0.4s;
}
#page-strategies .autre:hover .autre-img img {
  transform: scale(1.04);
}
#page-strategies .autre-img-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-strategies .autre-body {
  padding: 1.6rem 1.75rem 2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
#page-strategies .autre-type {
  display: block;
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--mu);
  margin-bottom: 0.5rem;
}
#page-strategies .autre h3 {
  font-size: 17px;
  color: #2a2a3d;
  margin-bottom: 0.65rem;
  letter-spacing: 0.5px;
}
#page-strategies .autre p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.78;
  flex: 1;
  margin-bottom: 1.4rem;
}
#page-strategies .autre-cta {
  display: block;
  text-align: center;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.72em;
  text-transform: uppercase;
  letter-spacing: 4px;
  padding: 12px;
  border-radius: 3px;
  color: var(--pink);
  border: 1.5px solid var(--pink);
  transition: all 0.25s;
}
#page-strategies .autre-cta:hover {
  background: var(--pink);
  color: #fff;
}
#page-strategies {
  /* FAQ */
}
#page-strategies #faq {
  background: var(--bg2);
  padding: 100px 0;
}
#page-strategies .faq-lay {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start;
}
#page-strategies .faq-left h2 {
  font-size: clamp(26px, 2.8vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 1.25rem;
}
#page-strategies .faq-left p {
  font-size: 15px;
  color: var(--mu);
  line-height: 1.8;
  margin-bottom: 2rem;
}
#page-strategies .fi {
  border-bottom: 1px solid var(--bo);
}
#page-strategies .fq {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem 0;
  cursor: pointer;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
  user-select: none;
  transition: color 0.2s;
}
#page-strategies .fq:hover {
  color: var(--pink);
}
#page-strategies .fq-ico {
  color: var(--pink);
  font-size: 1.2rem;
  flex-shrink: 0;
  transition: transform 0.25s;
}
#page-strategies .fi.open .fq-ico {
  transform: rotate(45deg);
}
#page-strategies .fa {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.8;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.38s ease, padding 0.38s;
}
#page-strategies .fi.open .fa {
  max-height: 300px;
  padding-bottom: 1.15rem;
}
#page-strategies .fu {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
#page-strategies .fu.v {
  opacity: 1;
  transform: none;
}
@media (max-width: 960px) {
  #page-strategies .hero-layout, #page-strategies .promesse-grid, #page-strategies .process-layout, #page-strategies .pourqui-grid, #page-strategies .temo-head, #page-strategies .faq-lay {
    grid-template-columns: 1fr;
  }
  #page-strategies .hero-right, #page-strategies .strat-grid, #page-strategies .temo-cards, #page-strategies .autres-grid {
    grid-template-columns: 1fr;
  }
  #page-strategies .fg {
    grid-template-columns: 1fr 1fr;
  }
  #page-strategies .promesse-float {
    display: none;
  }
}

body#page-qui-sommes-nous #mission .mission-grid > .fu:last-child {
  transition-delay: 0.1s;
}

body#page-qui-sommes-nous #timeline .wrap > p.fu {
  transition-delay: 0.1s;
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
}

body#page-qui-sommes-nous #remi .remi-content.fu {
  transition-delay: 0.1s;
}

body#page-qui-sommes-nous #valeurs .valeurs-grid > .valeur:nth-child(2) {
  transition-delay: 0.08s;
}

body#page-qui-sommes-nous #valeurs .valeurs-grid > .valeur:nth-child(3) {
  transition-delay: 0.16s;
}

body#page-qui-sommes-nous #valeurs .valeurs-grid > .valeur:nth-child(4) {
  transition-delay: 0.08s;
}

body#page-qui-sommes-nous #valeurs .valeurs-grid > .valeur:nth-child(5) {
  transition-delay: 0.16s;
}

body#page-qui-sommes-nous #valeurs .valeurs-grid > .valeur:nth-child(6) {
  transition-delay: 0.24s;
}

body#page-qui-sommes-nous #equipe .equipe-header > p.fu {
  transition-delay: 0.1s;
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
}

body#page-qui-sommes-nous #equipe .equipe-grid > .membre:nth-child(2) {
  transition-delay: 0.1s;
}

body#page-qui-sommes-nous #equipe .equipe-grid > .membre:nth-child(3) {
  transition-delay: 0.2s;
}

body#page-qui-sommes-nous #equipe .equipe-grid > .membre-join {
  transition-delay: 0.3s;
}

body#page-qui-sommes-nous #partenaires .part-grid > .part:nth-child(2) {
  transition-delay: 0.1s;
}

body#page-qui-sommes-nous #partenaires .part-grid > .part:nth-child(3) {
  transition-delay: 0.2s;
}

body#page-qui-sommes-nous #partenaires .logos.fu {
  transition-delay: 0.1s;
}

body#page-qui-sommes-nous #ctaf .ctaf-note {
  margin-top: 1rem;
}

/* /qui-sommes-nous — ex-bloc <style> */
#page-qui-sommes-nous #hero {
  min-height: 82vh;
}
#page-qui-sommes-nous .hero-color {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(113deg, rgba(67, 0, 105, 0.85) 0%, rgba(1, 183, 255, 0.12) 45%, rgba(64, 221, 166, 0.06) 60%, transparent 75%);
}
#page-qui-sommes-nous .hero-glow {
  position: absolute;
  top: -180px;
  right: -180px;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(1, 183, 255, 0.14) 0%, transparent 65%);
  pointer-events: none;
}
#page-qui-sommes-nous .hero-layout {
  grid-template-columns: 1fr 420px;
}
#page-qui-sommes-nous #hero h1 {
  font-size: clamp(32px, 4.5vw, 56px);
  letter-spacing: -0.5px;
  line-height: 1.06;
  margin-bottom: 1.25rem;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-qui-sommes-nous .hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
#page-qui-sommes-nous .hstat {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 1.1rem;
  text-align: center;
}
#page-qui-sommes-nous .hstat-n {
  font-family: var(--fh), serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-qui-sommes-nous .hstat-l {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.38);
  margin-top: 0.3rem;
}
#page-qui-sommes-nous {
  /* ══ MISSION ══ */
}
#page-qui-sommes-nous #mission {
  background: var(--bg1);
  padding: 100px 0;
}
#page-qui-sommes-nous .mission-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
#page-qui-sommes-nous .mission-photo-wrap {
  position: relative;
}
#page-qui-sommes-nous .mission-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: var(--shl);
}
#page-qui-sommes-nous .mission-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page-qui-sommes-nous .mission-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 45%, rgba(59, 0, 79, 0.72));
}
#page-qui-sommes-nous {
  /* Citation Rémi en overlay */
}
#page-qui-sommes-nous .mission-cite-wrap {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
}
#page-qui-sommes-nous .mission-cite {
  font-family: var(--fh), sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.55;
  margin-bottom: 0.65rem;
  font-style: italic;
}
#page-qui-sommes-nous .mission-cite-auth {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
#page-qui-sommes-nous .mc-av {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--pink);
  flex-shrink: 0;
}
#page-qui-sommes-nous .mc-av img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page-qui-sommes-nous .mc-nm {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  color: #fff;
}
#page-qui-sommes-nous .mc-rl {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
}
#page-qui-sommes-nous {
  /* Float chiffre */
}
#page-qui-sommes-nous .mission-float {
  position: absolute;
  top: -20px;
  right: -20px;
  background: var(--pd);
  border-radius: 12px;
  padding: 1.2rem 1.5rem;
  text-align: center;
  box-shadow: var(--sp);
  min-width: 120px;
}
#page-qui-sommes-nous .mf-n {
  font-family: var(--fh), sans-serif;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1;
  background: var(--gr);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-qui-sommes-nous .mf-l {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.62);
  margin-top: 0.25rem;
  line-height: 1.35;
}
#page-qui-sommes-nous .mission-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 1.25rem;
  line-height: 1.08;
}
#page-qui-sommes-nous {
  /* ══ CHIFFRES ══ */
}
#page-qui-sommes-nous #chiffres {
  background: var(--bg2);
  padding: 80px 0;
  position: relative;
}
#page-qui-sommes-nous #chiffres::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-qui-sommes-nous .chiffres-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--bo);
  border: 1px solid var(--bo);
  border-radius: 16px;
  overflow: hidden;
}
#page-qui-sommes-nous .chiffre {
  background: #fff;
  padding: 2.25rem 1.75rem;
  text-align: center;
  position: relative;
  transition: background 0.22s;
}
#page-qui-sommes-nous .chiffre:hover {
  background: var(--bg3);
}
#page-qui-sommes-nous .chiffre-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  opacity: 0;
  transition: opacity 0.25s;
}
#page-qui-sommes-nous .chiffre:hover .chiffre-top {
  opacity: 1;
}
#page-qui-sommes-nous .chiffre:nth-child(1) .chiffre-top {
  background: linear-gradient(90deg, #430069, #01b7ff);
}
#page-qui-sommes-nous .chiffre:nth-child(2) .chiffre-top {
  background: linear-gradient(90deg, #01b7ff, #40dda6);
}
#page-qui-sommes-nous .chiffre:nth-child(3) .chiffre-top {
  background: linear-gradient(90deg, #40dda6, #ffd946);
}
#page-qui-sommes-nous .chiffre:nth-child(4) .chiffre-top {
  background: linear-gradient(90deg, #ffa350, #ff0060);
}
#page-qui-sommes-nous .chiffre-n {
  font-family: var(--fh), sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -1px;
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.5rem;
}
#page-qui-sommes-nous .chiffre-l {
  font-family: var(--fh), sans-serif;
  font-weight: 600;
  font-size: 0.92rem;
  color: #2a2a3d;
  margin-bottom: 0.3rem;
}
#page-qui-sommes-nous .chiffre-sub {
  font-size: 0.78rem;
  color: var(--mu);
}
#page-qui-sommes-nous {
  /* ══ HISTOIRE / TIMELINE ══ */
}
#page-qui-sommes-nous #histoire {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-qui-sommes-nous #histoire::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-qui-sommes-nous .histoire-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin-bottom: 72px;
  align-items: end;
}
#page-qui-sommes-nous .histoire-header h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
}
#page-qui-sommes-nous .histoire-header p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
}
#page-qui-sommes-nous {
  /* Timeline verticale centrée */
}
#page-qui-sommes-nous .timeline {
  position: relative;
  max-width: 880px;
  margin: 0 auto;
}
#page-qui-sommes-nous .timeline::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, var(--bo), var(--pink) 50%, var(--bo));
  transform: translateX(-50%);
}
#page-qui-sommes-nous .tl-item {
  display: grid;
  grid-template-columns: 1fr 40px 1fr;
  gap: 0;
  margin-bottom: 3.5rem;
  align-items: start;
}
#page-qui-sommes-nous .tl-item:last-child {
  margin-bottom: 0;
}
#page-qui-sommes-nous {
  /* Contenu gauche */
}
#page-qui-sommes-nous .tl-left {
  padding-right: 2.5rem;
  text-align: right;
}
#page-qui-sommes-nous .tl-right {
  padding-left: 2.5rem;
}
#page-qui-sommes-nous {
  /* Nœud central */
}
#page-qui-sommes-nous .tl-node {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
#page-qui-sommes-nous .tl-dot {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid var(--bo);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.25s;
  box-shadow: 0 2px 10px rgba(59, 0, 79, 0.08);
}
#page-qui-sommes-nous .tl-item:hover .tl-dot {
  border-color: var(--pink);
}
#page-qui-sommes-nous .tl-dot-inner {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--gr);
}
#page-qui-sommes-nous .tl-year {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: -1px;
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.35rem;
}
#page-qui-sommes-nous .tl-title {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.96rem;
  color: #2a2a3d;
  margin-bottom: 0.4rem;
  letter-spacing: 0.5px;
}
#page-qui-sommes-nous .tl-txt {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.75;
}
#page-qui-sommes-nous {
  /* Alternance gauche/droite */
}
#page-qui-sommes-nous .tl-item.left .tl-left {
  order: 1;
}
#page-qui-sommes-nous .tl-item.left .tl-node {
  order: 2;
}
#page-qui-sommes-nous .tl-item.left .tl-right {
  order: 3;
  visibility: hidden;
}
#page-qui-sommes-nous .tl-item.right .tl-left {
  order: 1;
  visibility: hidden;
}
#page-qui-sommes-nous .tl-item.right .tl-node {
  order: 2;
}
#page-qui-sommes-nous .tl-item.right .tl-right {
  order: 3;
}
#page-qui-sommes-nous {
  /* ══ RÉMI VOLUER ══ */
}
#page-qui-sommes-nous #remi {
  background: var(--bg2);
  padding: 100px 0;
  position: relative;
}
#page-qui-sommes-nous #remi::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-qui-sommes-nous .remi-layout {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 80px;
  align-items: start;
}
#page-qui-sommes-nous .remi-photo-wrap {
  position: relative;
}
#page-qui-sommes-nous .remi-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 3/4;
  box-shadow: var(--shl);
}
#page-qui-sommes-nous .remi-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
#page-qui-sommes-nous .remi-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 55%, rgba(59, 0, 79, 0.7));
}
#page-qui-sommes-nous {
  /* Badge rôle */
}
#page-qui-sommes-nous .remi-role {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 10px;
  padding: 1rem 1.25rem;
  backdrop-filter: blur(10px);
}
#page-qui-sommes-nous .remi-role-name {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #fff;
  margin-bottom: 0.2rem;
}
#page-qui-sommes-nous .remi-role-title {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.65);
}
#page-qui-sommes-nous .remi-socs {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
#page-qui-sommes-nous .remi-soc {
  width: 28px;
  height: 28px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.72rem;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s;
}
#page-qui-sommes-nous .remi-soc:hover {
  background: var(--pink);
  border-color: var(--pink);
}
#page-qui-sommes-nous .remi-content {
  padding-top: 0.5rem;
}
#page-qui-sommes-nous .remi-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 1.25rem;
  line-height: 1.08;
}
#page-qui-sommes-nous .remi-p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.85;
  margin-bottom: 1.25rem;
}
#page-qui-sommes-nous .remi-p strong {
  color: #2a2a3d;
  font-weight: 600;
}
#page-qui-sommes-nous .remi-quote {
  background: #fff;
  border-left: 4px solid var(--pink);
  border-radius: 0 8px 8px 0;
  padding: 1.25rem 1.5rem;
  margin: 1.75rem 0;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}
#page-qui-sommes-nous .remi-quote p {
  font-family: var(--fh), sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: #2a2a3d;
  line-height: 1.65;
  font-style: italic;
}
#page-qui-sommes-nous .remi-quote cite {
  display: block;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.78rem;
  color: var(--pink);
  font-style: normal;
  margin-top: 0.6rem;
  letter-spacing: 1px;
}
#page-qui-sommes-nous {
  /* Jalons parcours Rémi */
}
#page-qui-sommes-nous .remi-parcours {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
  margin-top: 1.75rem;
}
#page-qui-sommes-nous .remi-jalon {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 10px;
  padding: 1rem 1.25rem;
  transition: all 0.22s;
}
#page-qui-sommes-nous .remi-jalon:hover {
  box-shadow: var(--shl);
  border-color: transparent;
  transform: translateY(-2px);
}
#page-qui-sommes-nous .rj-year {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.78rem;
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.25rem;
}
#page-qui-sommes-nous .rj-txt {
  font-size: 0.82rem;
  color: #2a2a3d;
  font-weight: 500;
  line-height: 1.5;
}
#page-qui-sommes-nous {
  /* ══ VALEURS ══ */
}
#page-qui-sommes-nous #valeurs {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-qui-sommes-nous #valeurs::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-qui-sommes-nous .valeurs-header {
  text-align: center;
  max-width: 620px;
  margin: 0 auto 3.5rem;
}
#page-qui-sommes-nous .valeurs-header h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-qui-sommes-nous .valeurs-header p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.8;
}
#page-qui-sommes-nous .valeurs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.4rem;
}
#page-qui-sommes-nous .valeur {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 14px;
  overflow: hidden;
  transition: all 0.25s;
  box-shadow: 0 2px 8px rgba(59, 0, 79, 0.04);
  position: relative;
}
#page-qui-sommes-nous .valeur:hover {
  box-shadow: var(--shl);
  transform: translateY(-4px);
  border-color: transparent;
}
#page-qui-sommes-nous .valeur-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
}
#page-qui-sommes-nous .valeur:nth-child(1) .valeur-bar {
  background: linear-gradient(90deg, #430069, #01b7ff);
}
#page-qui-sommes-nous .valeur:nth-child(2) .valeur-bar {
  background: linear-gradient(90deg, #01b7ff, #40dda6);
}
#page-qui-sommes-nous .valeur:nth-child(3) .valeur-bar {
  background: linear-gradient(90deg, #40dda6, #ffd946);
}
#page-qui-sommes-nous .valeur:nth-child(4) .valeur-bar {
  background: linear-gradient(90deg, #ffd946, #ffa350);
}
#page-qui-sommes-nous .valeur:nth-child(5) .valeur-bar {
  background: linear-gradient(90deg, #ffa350, #ff0060);
}
#page-qui-sommes-nous .valeur:nth-child(6) .valeur-bar {
  background: linear-gradient(90deg, #ff0060, #430069);
}
#page-qui-sommes-nous .valeur-body {
  padding: 2rem 1.75rem;
}
#page-qui-sommes-nous .valeur-ico {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--gr);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  flex-shrink: 0;
}
#page-qui-sommes-nous .valeur-ico-txt {
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  font-family: var(--fh), sans-serif;
}
#page-qui-sommes-nous .valeur h3 {
  font-size: 17px;
  color: #2a2a3d;
  margin-bottom: 0.5rem;
  letter-spacing: 0.5px;
}
#page-qui-sommes-nous .valeur p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.75;
}
#page-qui-sommes-nous {
  /* ══ ÉQUIPE ══ */
}
#page-qui-sommes-nous #equipe {
  background: var(--bg2);
  padding: 100px 0;
  position: relative;
}
#page-qui-sommes-nous #equipe::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-qui-sommes-nous .equipe-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin-bottom: 3.5rem;
  align-items: end;
}
#page-qui-sommes-nous .equipe-header h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
}
#page-qui-sommes-nous .equipe-header p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
}
#page-qui-sommes-nous .equipe-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
#page-qui-sommes-nous .membre {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 14px;
  overflow: hidden;
  transition: all 0.25s;
  box-shadow: 0 2px 8px rgba(59, 0, 79, 0.04);
}
#page-qui-sommes-nous .membre:hover {
  box-shadow: var(--shl);
  transform: translateY(-3px);
  border-color: transparent;
}
#page-qui-sommes-nous .membre-photo {
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  position: relative;
}
#page-qui-sommes-nous .membre-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  filter: brightness(0.88);
  transition: all 0.35s;
}
#page-qui-sommes-nous .membre:hover .membre-photo img {
  filter: brightness(0.92);
  transform: scale(1.04);
}
#page-qui-sommes-nous .membre-photo-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
}
#page-qui-sommes-nous .membre:nth-child(1) .membre-photo-bar {
  background: linear-gradient(90deg, #430069, #01b7ff);
}
#page-qui-sommes-nous .membre:nth-child(2) .membre-photo-bar {
  background: linear-gradient(90deg, #01b7ff, #40dda6);
}
#page-qui-sommes-nous .membre:nth-child(3) .membre-photo-bar {
  background: linear-gradient(90deg, #40dda6, #ffd946);
}
#page-qui-sommes-nous .membre:nth-child(4) .membre-photo-bar {
  background: linear-gradient(90deg, #ffa350, #ff0060);
}
#page-qui-sommes-nous .membre-body {
  padding: 1.25rem 1.25rem 1.4rem;
}
#page-qui-sommes-nous .membre-name {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.96rem;
  color: #2a2a3d;
  margin-bottom: 0.2rem;
}
#page-qui-sommes-nous .membre-role {
  font-size: 0.78rem;
  color: var(--pink);
  font-weight: 600;
  font-family: var(--fb), sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 0.55rem;
}
#page-qui-sommes-nous .membre-bio {
  font-size: 0.78rem;
  color: var(--mu);
  line-height: 1.65;
}
#page-qui-sommes-nous {
  /* Carte "rejoindre" */
}
#page-qui-sommes-nous .membre-join {
  background: var(--bg2);
  border: 1.5px dashed var(--bo);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  min-height: 280px;
  transition: all 0.25s;
}
#page-qui-sommes-nous .membre-join:hover {
  background: #fff;
  box-shadow: var(--shl);
  border-color: var(--pink);
}
#page-qui-sommes-nous .join-ico {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--gr);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  color: #fff;
  margin-bottom: 1rem;
}
#page-qui-sommes-nous .join-txt {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.88rem;
  color: #2a2a3d;
  margin-bottom: 0.4rem;
}
#page-qui-sommes-nous .join-sub {
  font-size: 0.75rem;
  color: var(--mu);
  line-height: 1.6;
  margin-bottom: 1rem;
}
#page-qui-sommes-nous .join-cta {
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.68em;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--pink);
  transition: gap 0.18s;
}
#page-qui-sommes-nous {
  /* ══ PARTENAIRES ══ */
}
#page-qui-sommes-nous #partenaires {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-qui-sommes-nous #partenaires::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-qui-sommes-nous .part-header {
  text-align: center;
  max-width: 580px;
  margin: 0 auto 3.5rem;
}
#page-qui-sommes-nous .part-header h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-qui-sommes-nous .part-header p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.8;
}
#page-qui-sommes-nous .part-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.4rem;
  margin-bottom: 2.5rem;
}
#page-qui-sommes-nous .part {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.22s;
  box-shadow: 0 2px 8px rgba(59, 0, 79, 0.04);
  position: relative;
}
#page-qui-sommes-nous .part:hover {
  box-shadow: var(--shl);
  transform: translateY(-3px);
  border-color: transparent;
}
#page-qui-sommes-nous .part-img {
  width: 100%;
  height: 140px;
  overflow: hidden;
  position: relative;
}
#page-qui-sommes-nous .part-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.78);
  transition: transform 0.35s;
}
#page-qui-sommes-nous .part:hover .part-img img {
  transform: scale(1.04);
}
#page-qui-sommes-nous .part-img-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-qui-sommes-nous .part-body {
  padding: 1.4rem 1.5rem;
}
#page-qui-sommes-nous .part-tag {
  display: inline-block;
  font-family: var(--fb), sans-serif;
  font-size: 0.6em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  padding: 0.15rem 0.55rem;
  border-radius: 99px;
  background: var(--ps);
  color: var(--pink);
  margin-bottom: 0.65rem;
}
#page-qui-sommes-nous .part h3 {
  font-size: 15px;
  color: #2a2a3d;
  margin-bottom: 0.4rem;
  letter-spacing: 0.5px;
}
#page-qui-sommes-nous .part p {
  font-size: 13px;
  color: var(--mu);
  line-height: 1.72;
}
#page-qui-sommes-nous .logos-lbl {
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.68em;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--mu);
  margin-bottom: 1.25rem;
}
#page-qui-sommes-nous .logos {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: center;
  padding: 2rem;
  background: var(--bg2);
  border-radius: 12px;
  border: 1px solid var(--bo);
}
#page-qui-sommes-nous .logos img {
  max-height: 24px;
  width: auto;
  object-fit: contain;
  filter: grayscale(1) opacity(0.38);
  transition: filter 0.2s;
}
#page-qui-sommes-nous .logos img:hover {
  filter: grayscale(0) opacity(0.85);
}
#page-qui-sommes-nous .fu {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
#page-qui-sommes-nous .fu.v {
  opacity: 1;
  transform: none;
}
@media (max-width: 960px) {
  #page-qui-sommes-nous .hero-layout, #page-qui-sommes-nous .mission-grid, #page-qui-sommes-nous .histoire-header, #page-qui-sommes-nous .remi-layout, #page-qui-sommes-nous .equipe-header, #page-qui-sommes-nous .valeurs-grid {
    grid-template-columns: 1fr;
  }
  #page-qui-sommes-nous .remi-layout {
    grid-template-columns: 1fr;
  }
  #page-qui-sommes-nous .equipe-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  #page-qui-sommes-nous .part-grid, #page-qui-sommes-nous .valeurs-grid {
    grid-template-columns: 1fr 1fr;
  }
  #page-qui-sommes-nous .chiffres-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  #page-qui-sommes-nous .fg {
    grid-template-columns: 1fr 1fr;
  }
  #page-qui-sommes-nous .tl-item {
    grid-template-columns: 1fr 32px 1fr;
  }
  #page-qui-sommes-nous .hero-right, #page-qui-sommes-nous .remi-parcours {
    grid-template-columns: 1fr;
  }
  #page-qui-sommes-nous .mission-float {
    display: none;
  }
}

#page-mentions-legales #hero {
  min-height: 10vh;
}
#page-mentions-legales .valeurs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  justify-items: center;
  padding: 5rem 0;
  gap: 4rem;
}
#page-mentions-legales .valeur-body {
  font-size: 1.4rem;
}
#page-mentions-legales .valeur-body .valeur-ico {
  width: 50px;
  height: 50px;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--hero-bg);
  color: #fff;
  font-size: 1.2rem;
}
#page-mentions-legales .valeur-body h3 {
  display: inline-block;
  background: var(--gr);
  background-clip: text;
  color: rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  #page-mentions-legales #hero {
    clip-path: none;
  }
  #page-mentions-legales #hero h1 {
    line-height: 1.2;
  }
  #page-mentions-legales .valeurs-grid {
    grid-template-columns: 1fr;
  }
  #page-mentions-legales .hero-grad-bar {
    transform: none;
  }
  #page-mentions-legales .hero-layout {
    padding: 80px 50px 160px;
  }
}

#page-politique-de-confidentialite #hero {
  min-height: 10vh;
}
#page-politique-de-confidentialite .hero-layout {
  grid-template-columns: 1fr 250px;
}
#page-politique-de-confidentialite h2 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}
#page-politique-de-confidentialite h3, #page-politique-de-confidentialite h4 {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
#page-politique-de-confidentialite p {
  margin-bottom: 0.8rem;
}
#page-politique-de-confidentialite .valeurs-header ul {
  margin-left: 1.5rem;
  margin-bottom: 0.8rem;
}
#page-politique-de-confidentialite table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1rem;
  border: 1px solid var(--bo);
}
#page-politique-de-confidentialite table th, #page-politique-de-confidentialite table td {
  border: 1px solid var(--bo);
  padding: 0.5rem 1rem;
}
#page-politique-de-confidentialite .valeurs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  justify-items: center;
  padding: 5rem 0;
  gap: 4rem;
}
#page-politique-de-confidentialite .valeur-body {
  font-size: 1.4rem;
}
#page-politique-de-confidentialite .valeur-body .valeur-ico {
  width: 50px;
  height: 50px;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--hero-bg);
  color: #fff;
  font-size: 1.2rem;
}
#page-politique-de-confidentialite .valeur-body h3 {
  display: inline-block;
  background: var(--gr);
  background-clip: text;
  color: rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  #page-politique-de-confidentialite #hero {
    clip-path: none;
  }
  #page-politique-de-confidentialite #hero h1 {
    line-height: 1.2;
  }
  #page-politique-de-confidentialite .valeurs-grid {
    grid-template-columns: 1fr;
  }
  #page-politique-de-confidentialite .hero-grad-bar {
    transform: none;
  }
  #page-politique-de-confidentialite .hero-layout {
    padding: 80px 50px 160px;
  }
}

#page-realisations {
  /* HERO */
}
#page-realisations #hero {
  min-height: 78vh;
}
#page-realisations .hero-color {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(113deg, rgba(67, 0, 105, 0.85) 0%, rgba(1, 183, 255, 0.12) 45%, rgba(64, 221, 166, 0.06) 60%, transparent 75%);
}
#page-realisations .hero-glow {
  position: absolute;
  top: -180px;
  right: -180px;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(1, 183, 255, 0.14) 0%, transparent 65%);
  pointer-events: none;
}
#page-realisations .hero-eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--pink);
  display: block;
}
#page-realisations #hero h1 {
  font-size: clamp(32px, 4.5vw, 56px);
  letter-spacing: -0.5px;
  line-height: 1.06;
  margin-bottom: 1.25rem;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-realisations .hchip {
  font-family: var(--fn), sans-serif;
  font-size: 0.77rem;
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 0.5px;
}
#page-realisations .hchip::after {
  content: "·";
  margin-left: 0.5rem;
  color: rgba(255, 255, 255, 0.15);
}
#page-realisations .hchip:last-child::after {
  display: none;
}
#page-realisations .hero-right {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
#page-realisations {
  /* ══ CHIFFRES BANDE ══ */
}
#page-realisations #chiffres {
  background: var(--bg1);
  padding: 72px 0;
}
#page-realisations .chiffres-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--bo);
  border: 1px solid var(--bo);
  border-radius: 16px;
  overflow: hidden;
}
#page-realisations .chiffre {
  background: #fff;
  padding: 2.25rem 1.75rem;
  text-align: center;
  position: relative;
  transition: background 0.22s;
}
#page-realisations .chiffre:hover {
  background: var(--bg2);
}
#page-realisations .chiffre-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  opacity: 0;
  transition: opacity 0.25s;
}
#page-realisations .chiffre:hover .chiffre-top {
  opacity: 1;
}
#page-realisations .chiffre:nth-child(1) .chiffre-top {
  background: linear-gradient(90deg, #430069, #01b7ff);
}
#page-realisations .chiffre:nth-child(2) .chiffre-top {
  background: linear-gradient(90deg, #01b7ff, #40dda6);
}
#page-realisations .chiffre:nth-child(3) .chiffre-top {
  background: linear-gradient(90deg, #40dda6, #ffd946);
}
#page-realisations .chiffre:nth-child(4) .chiffre-top {
  background: linear-gradient(90deg, #ffa350, #ff0060);
}
#page-realisations .chiffre-n {
  font-family: var(--fh), sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -1px;
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.5rem;
}
#page-realisations .chiffre-l {
  font-family: var(--fh), sans-serif;
  font-weight: 600;
  font-size: 0.92rem;
  color: #2a2a3d;
  margin-bottom: 0.3rem;
}
#page-realisations .chiffre-sub {
  font-size: 0.78rem;
  color: var(--mu);
}
#page-realisations {
  /* ══ FILTRES ══ */
}
#page-realisations #projets {
  background: var(--bg2);
  padding: 100px 0;
  position: relative;
}
#page-realisations #projets::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-realisations .projets-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 3rem;
}
#page-realisations .projets-header h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
}
#page-realisations .projets-header p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
}
#page-realisations {
  /* Barre de filtres */
}
#page-realisations .filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-bottom: 2.5rem;
}
#page-realisations .filter-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-right: 1.25rem;
  border-right: 1px solid var(--bo);
}
#page-realisations .filter-group:last-child {
  border-right: none;
  padding-right: 0;
}
#page-realisations .filter-label {
  font-family: var(--fb), sans-serif;
  font-size: 0.62em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--mu);
  align-self: center;
  white-space: nowrap;
  margin-right: 0.2rem;
}
#page-realisations .filter-btn {
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.68em;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 0.35rem 0.85rem 0.2rem;
  border-radius: 99px;
  border: 1.5px solid var(--bo);
  background: #fff;
  color: var(--mu);
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}
#page-realisations .filter-btn:hover, #page-realisations .filter-btn.active {
  background: var(--pink);
  color: #fff;
  border-color: var(--pink);
  box-shadow: 0 4px 12px rgba(249, 44, 139, 0.3);
}
#page-realisations {
  /* Compteur résultats */
}
#page-realisations .results-count {
  font-family: var(--fh), sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--mu);
  margin-bottom: 1.75rem;
}
#page-realisations .results-count span {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: 1.1rem;
}
#page-realisations {
  /* ══ GRILLE PROJETS ══ */
}
#page-realisations .projets-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
#page-realisations .projet {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 14px;
  overflow: hidden;
  transition: all 0.28s;
  box-shadow: 0 2px 10px rgba(59, 0, 79, 0.05);
  position: relative;
  display: flex;
  flex-direction: column;
}
#page-realisations .projet:hover {
  box-shadow: var(--shl);
  transform: translateY(-5px);
  border-color: transparent;
}
#page-realisations .projet-img {
  width: 100%;
  height: 180px;
  overflow: hidden;
  position: relative;
}
#page-realisations .projet-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.78);
  transition: transform 0.4s;
}
#page-realisations .projet:hover .projet-img img {
  transform: scale(1.05);
}
#page-realisations .projet-img-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 20%, rgba(42, 42, 61, 0.75));
}
#page-realisations {
  /* Tags sur l'image */
}
#page-realisations .projet-tags {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
  z-index: 1;
}
#page-realisations .ptag {
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.6em;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 0.4rem 0.55rem 0.2rem;
  border-radius: 99px;
  line-height: 1.2;
}
#page-realisations .ptag-stade {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(4px);
}
#page-realisations .ptag-format {
  background: var(--pink);
  color: #fff;
}
#page-realisations {
  /* Résultat sur l'image */
}
#page-realisations .projet-result {
  position: absolute;
  bottom: 0.85rem;
  left: 0.85rem;
  right: 0.85rem;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 6px;
  padding: 0.55rem 0.85rem;
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  gap: 0.55rem;
}
#page-realisations .pr-ico {
  font-size: 0.9rem;
}
#page-realisations .pr-txt {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  color: #fff;
  line-height: 1.3;
}
#page-realisations {
  /* Corps projet */
}
#page-realisations .projet-body {
  padding: 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
#page-realisations .projet-secteur {
  font-family: var(--fb), sans-serif;
  font-size: 0.62em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--pink);
  margin-bottom: 0.5rem;
}
#page-realisations .projet h3 {
  font-size: 16px;
  color: #2a2a3d;
  margin-bottom: 0.55rem;
  letter-spacing: 0.5px;
  line-height: 1.3;
}
#page-realisations .projet-contexte {
  font-size: 13px;
  color: var(--mu);
  line-height: 1.72;
  flex: 1;
  margin-bottom: 1.1rem;
}
#page-realisations {
  /* Avant / Après */
}
#page-realisations .avant-apres {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-bottom: 1.1rem;
}
#page-realisations .aa-bloc {
  padding: 0.65rem 0.75rem;
  border-radius: 8px;
}
#page-realisations .aa-before {
  background: rgba(90, 90, 114, 0.08);
  border: 1px solid var(--bo);
}
#page-realisations .aa-after {
  background: rgba(64, 221, 166, 0.08);
  border: 1px solid rgba(64, 221, 166, 0.25);
}
#page-realisations .aa-label {
  font-family: var(--fb), sans-serif;
  font-size: 0.58em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 0.25rem;
}
#page-realisations .aa-before .aa-label {
  color: var(--mu);
}
#page-realisations .aa-after .aa-label {
  color: #0f6e56;
}
#page-realisations .aa-txt {
  font-size: 0.75rem;
  color: #2a2a3d;
  line-height: 1.5;
  font-weight: 500;
}
#page-realisations {
  /* Formats utilisés */
}
#page-realisations .projet-formats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 1.1rem;
}
#page-realisations .pfmt {
  font-size: 0.68rem;
  padding: 0.18rem 0.55rem;
  border-radius: 99px;
  background: var(--bg2);
  color: var(--pd);
  border: 1px solid var(--bo);
  font-family: var(--fn);
}
#page-realisations .projet-cta {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.7em;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--pink);
  transition: gap 0.18s;
  margin-top: auto;
}
#page-realisations .projet-cta:hover {
  gap: 0.65rem;
}
#page-realisations {
  /* Carte "plus de projets" */
}
#page-realisations .projet-more {
  background: var(--bg2);
  border: 1.5px dashed var(--bo);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2.5rem 2rem;
  min-height: 320px;
  transition: all 0.25s;
}
#page-realisations .projet-more:hover {
  background: #fff;
  box-shadow: var(--shl);
  border-color: var(--pink);
}
#page-realisations .pm-n {
  font-family: var(--fh), sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.35rem;
}
#page-realisations .pm-l {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  color: #2a2a3d;
  margin-bottom: 0.5rem;
}
#page-realisations .pm-sub {
  font-size: 0.78rem;
  color: var(--mu);
  line-height: 1.6;
  margin-bottom: 1.5rem;
  max-width: 180px;
}
#page-realisations {
  /* ══ TEMOIGNAGE FORT ══ */
}
#page-realisations #temo-fort {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-realisations #temo-fort::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-realisations .temofort-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
#page-realisations .temofort-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  position: relative;
  box-shadow: var(--shl);
}
#page-realisations .temofort-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page-realisations .temofort-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 35%, rgba(42, 10, 66, 0.9));
}
#page-realisations .temofort-quote {
  position: absolute;
  bottom: 1.75rem;
  left: 1.75rem;
  right: 1.75rem;
}
#page-realisations .tfq {
  font-family: var(--fh), sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.55;
  margin-bottom: 0.85rem;
  font-style: italic;
}
#page-realisations .tfa {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}
#page-realisations .tfa-av {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--pink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  color: #fff;
  flex-shrink: 0;
}
#page-realisations .tfa-nm {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.85rem;
  color: #fff;
}
#page-realisations .tfa-rl {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.6);
}
#page-realisations .temofort-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 1.25rem;
  line-height: 1.08;
}
#page-realisations .tf-p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.85;
  margin-bottom: 1.25rem;
}
#page-realisations .tf-p strong {
  color: #2a2a3d;
  font-weight: 600;
}
#page-realisations .tf-results {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 1.75rem 0;
}
#page-realisations .tf-result {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1.1rem;
  background: var(--bg2);
  border-radius: 10px;
  border: 1px solid var(--bo);
  transition: all 0.22s;
}
#page-realisations .tf-result:hover {
  background: #fff;
  box-shadow: var(--shl);
  border-color: transparent;
  transform: translateX(4px);
}
#page-realisations .tfr-bar {
  width: 4px;
  min-width: 4px;
  height: 32px;
  border-radius: 2px;
  flex-shrink: 0;
}
#page-realisations .tfr-txt {
  font-size: 14px;
  color: #2a2a3d;
  font-weight: 500;
  line-height: 1.4;
}
#page-realisations {
  /* ══ SECTEURS ══ */
}
#page-realisations #secteurs {
  background: var(--bg2);
  padding: 100px 0;
  position: relative;
}
#page-realisations #secteurs::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-realisations .secteurs-header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 3.5rem;
}
#page-realisations .secteurs-header h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-realisations .secteurs-header p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.8;
}
#page-realisations .secteurs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.1rem;
  margin-bottom: 3rem;
}
#page-realisations .secteur {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.22s;
  box-shadow: 0 2px 8px rgba(59, 0, 79, 0.04);
  position: relative;
}
#page-realisations .secteur:hover {
  box-shadow: var(--shl);
  transform: translateY(-3px);
  border-color: transparent;
}
#page-realisations .secteur-img {
  width: 100%;
  height: 130px;
  overflow: hidden;
  position: relative;
}
#page-realisations .secteur-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.78);
  transition: transform 0.35s;
}
#page-realisations .secteur:hover .secteur-img img {
  transform: scale(1.04);
}
#page-realisations .secteur-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
}
#page-realisations .secteur:nth-child(1) .secteur-bar {
  background: linear-gradient(90deg, #430069, #01b7ff);
}
#page-realisations .secteur:nth-child(2) .secteur-bar {
  background: linear-gradient(90deg, #01b7ff, #40dda6);
}
#page-realisations .secteur:nth-child(3) .secteur-bar {
  background: linear-gradient(90deg, #40dda6, #ffd946);
}
#page-realisations .secteur:nth-child(4) .secteur-bar {
  background: linear-gradient(90deg, #ffd946, #ffa350);
}
#page-realisations .secteur:nth-child(5) .secteur-bar {
  background: linear-gradient(90deg, #ffa350, #ff0060);
}
#page-realisations .secteur:nth-child(6) .secteur-bar {
  background: linear-gradient(90deg, #ff0060, #430069);
}
#page-realisations .secteur-body {
  padding: 1.1rem 1.25rem;
}
#page-realisations .secteur-n {
  font-family: var(--fh), sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.2rem;
}
#page-realisations .secteur h3 {
  font-size: 0.9rem;
  color: #2a2a3d;
  margin-bottom: 0.25rem;
  letter-spacing: 0.3px;
}
#page-realisations .secteur p {
  font-size: 0.74rem;
  color: var(--mu);
  line-height: 1.6;
}
#page-realisations {
  /* Bandeau logos */
}
#page-realisations .logos-lbl {
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.68em;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--mu);
  margin-bottom: 1.25rem;
}
#page-realisations .logos {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: center;
  padding: 2rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--bo);
}
#page-realisations .logos img {
  max-height: 22px;
  width: auto;
  object-fit: contain;
  filter: grayscale(1) opacity(0.38);
  transition: filter 0.2s;
}
#page-realisations .logos img:hover {
  filter: grayscale(0) opacity(0.85);
}
#page-realisations {
  /* ══ CTA BANDE ══ */
}
#page-realisations #ctab {
  background: var(--gr);
  padding: 80px 0;
  min-height: 315px;
}
#page-realisations .ctab-lay {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}
#page-realisations .ctab-lay h2 {
  font-size: clamp(1.4rem, 2.2vw, 2rem);
  color: #fff;
  margin-bottom: 0.35rem;
  letter-spacing: -0.3px;
  line-height: 1.15;
}
#page-realisations .ctab-lay p {
  color: rgba(255, 255, 255, 0.72);
  font-size: 16px;
}
#page-realisations .ctab-btn {
  background: #fff;
  color: var(--pd);
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.76em;
  text-transform: uppercase;
  letter-spacing: 4px;
  padding: 16px 32px;
  border-radius: 3px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
  transition: all 0.22s;
  white-space: nowrap;
}
#page-realisations .ctab-btn:hover {
  transform: translateY(-2px);
}
#page-realisations .fu {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
#page-realisations .fu.v {
  opacity: 1;
  transform: none;
}
#page-realisations .hidden {
  display: none !important;
}
@media (max-width: 960px) {
  #page-realisations .hero-layout, #page-realisations .projets-header, #page-realisations .temofort-layout {
    grid-template-columns: 1fr;
  }
  #page-realisations .hero-right, #page-realisations .projets-grid, #page-realisations .secteurs-grid {
    grid-template-columns: 1fr;
  }
  #page-realisations .chiffres-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  #page-realisations .fg {
    grid-template-columns: 1fr 1fr;
  }
  #page-realisations .filter-group {
    border-right: none;
    padding-right: 0;
  }
}
#page-realisations .rg-wrap {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 32px;
}
#page-realisations {
  /* ── En-tête section ── */
}
#page-realisations .rg-header {
  margin-bottom: 48px;
}
#page-realisations .rg-lbl {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--fn);
  font-size: 0.68rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: var(--pink);
  margin-bottom: 1rem;
}
#page-realisations .rg-lbl::before {
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  background: var(--pink);
}
#page-realisations .rg-header h2 {
  font-family: var(--fh);
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 700;
  color: var(--pd);
  line-height: 1.2;
  letter-spacing: -1px;
  margin: 0 0 0.3em;
}
#page-realisations .rg-header h2 span {
  background: var(--gr);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-realisations .rg-header p {
  font-size: 1rem;
  color: var(--mu);
  margin: 0;
}
#page-realisations {
  /* ══════════════════════════════════════════
     FILTRES
  ══════════════════════════════════════════ */
}
#page-realisations .rg-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 40px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--bo);
}
#page-realisations .rg-filter-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#page-realisations .rg-filter-label {
  font-family: var(--fn);
  font-size: 0.68rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--mu);
}
#page-realisations .rg-filter-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
#page-realisations .pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px 4px;
  border-radius: 99px;
  border: 1.5px solid var(--bo);
  background: var(--bg1);
  font-family: var(--fn), sans-serif;
  font-size: 0.8rem;
  color: var(--mu);
  cursor: pointer;
  transition: all 0.18s;
  user-select: none;
}
#page-realisations .pill:hover {
  border-color: var(--pink);
  color: var(--pink);
}
#page-realisations .pill.active {
  background: var(--pink);
  border-color: var(--pink);
  color: #fff;
  font-weight: 500;
}
#page-realisations .pill-count {
  font-size: 0.7rem;
  opacity: 0.7;
  margin-bottom: 2px;
}
#page-realisations {
  /* Reset filtre */
}
#page-realisations .rg-reset {
  align-self: flex-end;
  margin-left: auto;
  background: none;
  border: none;
  font-family: var(--fn);
  font-size: 0.8rem;
  color: var(--mu);
  cursor: pointer;
  padding: 6px 0;
  transition: color 0.15s;
}
#page-realisations .rg-reset:hover {
  color: var(--pink);
}
#page-realisations {
  /* ── Compteur résultats ── */
}
#page-realisations .rg-count {
  font-size: 0.82rem;
  color: var(--mu);
  margin-bottom: 24px;
}
#page-realisations .rg-count strong {
  color: var(--pd);
}
#page-realisations {
  /* ══════════════════════════════════════════
     GRILLE MASONRY-LIKE
  ══════════════════════════════════════════ */
}
#page-realisations .rg-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  align-items: start;
}
#page-realisations {
  /* ── GRANDE TUILE — 3 colonnes ── */
}
#page-realisations .tile-large {
  grid-column: span 2;
  background: var(--bg1);
  border: 1px solid var(--bo);
  border-radius: var(--radius);
  overflow: hidden;
  transition: box-shadow 0.22s, transform 0.22s, border-color 0.22s;
  display: flex;
  flex-direction: column;
}
#page-realisations .tile-large:hover {
  box-shadow: var(--shl);
  transform: translateY(-3px);
  border-color: transparent;
}
#page-realisations .tile-large .t-header {
  display: flex;
  align-items: center;
  padding: 18px 18px 0;
  gap: 0;
}
#page-realisations .tile-large .t-logo {
  width: 50%;
  height: 44px;
  object-fit: contain;
  object-position: center;
  flex-shrink: 0;
  border-left: 1px solid var(--bo);
  box-sizing: border-box;
}
#page-realisations .tile-large .t-logo-placeholder {
  width: 50%;
  height: 44px;
  background: var(--bg2);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 10px 0 14px;
  font-family: var(--fh);
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--mu);
  letter-spacing: 1px;
  flex-shrink: 0;
  border-left: 1px solid var(--bo);
  box-sizing: border-box;
}
#page-realisations .tile-large .t-meta {
  width: 50%;
  text-align: left;
  padding-right: 14px;
  flex-shrink: 0;
  box-sizing: border-box;
}
#page-realisations .tile-large .t-name {
  font-family: var(--fh);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--pd);
  line-height: 1.3;
  margin-bottom: 2px;
}
#page-realisations .tile-large .t-year {
  font-size: 0.75rem;
  color: var(--mu);
}
#page-realisations .tile-large .t-body {
  padding: 14px 18px 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#page-realisations .tile-large .t-desc {
  font-size: 0.83rem;
  color: var(--mu);
  line-height: 1.65;
  flex: 1;
}
#page-realisations .tile-large .t-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: auto;
}
#page-realisations {
  /* ── PETITE TUILE — 1 colonne ── */
}
#page-realisations .tile-small {
  grid-column: span 1;
  background: var(--bg1);
  border: 1px solid var(--bo);
  border-radius: 10px;
  padding: 14px;
  transition: box-shadow 0.22s, transform 0.22s, border-color 0.22s;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#page-realisations .tile-small:hover {
  box-shadow: 0 8px 24px rgba(59, 0, 79, 0.08);
  transform: translateY(-2px);
  border-color: var(--bo);
}
#page-realisations .tile-small .t-logo {
  width: 100%;
  height: 32px;
  object-fit: contain;
  object-position: left center;
}
#page-realisations .tile-small .t-logo-placeholder {
  width: 100%;
  height: 32px;
  background: var(--bg2);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh);
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--mu);
  letter-spacing: 0.5px;
}
#page-realisations .tile-small .t-name {
  font-family: var(--fh);
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--pd);
  line-height: 1.3;
}
#page-realisations .tile-small .t-year {
  font-size: 0.68rem;
  color: var(--mu);
}
#page-realisations .tile-small .t-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: auto;
}
#page-realisations {
  /* ── TAGS communs ── */
}
#page-realisations .tag {
  display: inline-block;
  font-size: 0.65rem;
  font-family: var(--fn);
  font-weight: 500;
  padding: 3px 8px;
  border-radius: 99px;
  white-space: nowrap;
}
#page-realisations .tag-service {
  background: rgba(249, 44, 139, 0.08);
  color: #b8236a;
  border: 1px solid rgba(249, 44, 139, 0.18);
}
#page-realisations .tag-type {
  background: rgba(59, 0, 79, 0.06);
  color: var(--mauve);
  border: 1px solid rgba(92, 26, 122, 0.15);
}
#page-realisations {
  /* ── Barre gradient bas de grande tuile ── */
}
#page-realisations .tile-large .t-bar {
  height: 3px;
  background: var(--gr);
  margin-top: auto;
}
#page-realisations {
  /* ── Vide / no results ── */
}
#page-realisations .rg-empty {
  grid-column: 1/-1;
  text-align: center;
  padding: 60px 0;
  color: var(--mu);
  font-size: 0.9rem;
}
#page-realisations .rg-empty strong {
  display: block;
  font-family: var(--fh);
  font-size: 1.1rem;
  color: var(--pd);
  margin-bottom: 0.5rem;
}
#page-realisations {
  /* ── Animation entrée ── */
}
#page-realisations .tile-large, #page-realisations .tile-small {
  animation: tileIn 0.3s ease both;
}
@keyframes tileIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#page-realisations {
  /* ── Responsive ── */
}
@media (max-width: 900px) {
  #page-realisations .rg-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  #page-realisations .tile-large {
    grid-column: span 3;
  }
  #page-realisations .tile-small {
    grid-column: span 1;
  }
}
@media (max-width: 560px) {
  #page-realisations .rg-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  #page-realisations .tile-large {
    grid-column: span 2;
  }
  #page-realisations .tile-small {
    grid-column: span 1;
  }
  #page-realisations .rg-filters {
    gap: 16px;
  }
}

#page-incubation .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.82em;
  text-transform: uppercase;
  letter-spacing: 5px;
  background: var(--pink);
  color: #fff;
  border: none;
  border-radius: 3px;
  padding: 16px 32px;
  cursor: pointer;
  box-shadow: var(--sp);
  transition: letter-spacing 300ms ease, transform 0.2s;
}
#page-incubation .btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.78em;
  text-transform: uppercase;
  letter-spacing: 4px;
  background: transparent;
  color: rgba(255, 255, 255, 0.65);
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  border-radius: 3px;
  padding: 14px 28px;
  cursor: pointer;
  transition: all 0.25s;
}
#page-incubation .btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.78em;
  text-transform: uppercase;
  letter-spacing: 4px;
  background: transparent;
  color: var(--pd);
  border: 1.5px solid var(--pd);
  border-radius: 3px;
  padding: 14px 28px;
  cursor: pointer;
  transition: all 0.25s;
}
#page-incubation .btn-outline:hover {
  background: var(--pd);
  color: #fff;
}
#page-incubation {
  /* --- STRUCTURES PRINCIPALES DES SECTIONS INTERNES --- */
}
#page-incubation #services, #page-incubation #programmes, #page-incubation #strategies {
  background: var(--bg2);
  padding: 100px 0;
  position: relative;
  margin-bottom: 0;
}
#page-incubation #services::before, #page-incubation #programmes::before, #page-incubation #strategies::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-incubation #preincubation, #page-incubation #process {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-incubation #preincubation::before, #page-incubation #process::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-incubation #pourqui {
  background: var(--bg2);
  padding: 100px 0;
}
#page-incubation #temo {
  background: var(--bg3);
  padding: 100px 0;
}
#page-incubation #autres {
  background: var(--bg1);
  padding: 100px 0;
  position: relative;
}
#page-incubation #autres::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-incubation #faq {
  background: var(--bg2);
  padding: 100px 0;
}
#page-incubation #services h2, #page-incubation #programmes h2, #page-incubation #strategies h2 {
  font-size: clamp(28px, 3.2vw, 40px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-incubation {
  /* --- GRILLES DE CARTES (SERVICES / PROGRAMMES) --- */
}
#page-incubation .strat-sub {
  font-size: 16px;
  color: var(--mu);
  margin-bottom: 3.5rem;
  max-width: 600px;
}
#page-incubation .strat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.75rem;
  margin-bottom: 3.5rem;
}
#page-incubation .strat {
  background: #fff;
  border: 2px solid var(--bo);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.28s;
  position: relative;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}
#page-incubation .strat:hover {
  box-shadow: var(--shl);
  transform: translateY(-5px);
  border-color: transparent;
}
#page-incubation .strat.phare {
  border-color: var(--pink);
  box-shadow: 0 8px 32px rgba(249, 44, 139, 0.18);
}
#page-incubation .strat.phare::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-incubation .strat-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: var(--pink);
  color: #fff;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.62em;
  text-transform: uppercase;
  letter-spacing: 3px;
  padding: 0.22rem 0.7rem;
  border-radius: 99px;
  box-shadow: var(--sp);
}
#page-incubation .strat-img {
  width: 100%;
  height: 180px;
  overflow: hidden;
  position: relative;
}
#page-incubation .strat-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.75);
  transition: transform 0.4s;
}
#page-incubation .strat:hover .strat-img img {
  transform: scale(1.04);
}
#page-incubation .strat-img-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 15%, rgba(42, 42, 61, 0.78));
}
#page-incubation .strat-img-tag {
  position: absolute;
  bottom: 1rem;
  left: 1.25rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.68em;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
#page-incubation .strat-img-tag::before {
  content: "";
  width: 16px;
  height: 1.5px;
  background: var(--pink);
  display: block;
}
#page-incubation .strat-body {
  padding: 2.25rem 2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
#page-incubation .strat h3 {
  font-size: 19px;
  color: #2a2a3d;
  margin-bottom: 1rem;
  letter-spacing: 0.5px;
}
#page-incubation .strat p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.8;
  flex: 1;
  margin-bottom: 2rem;
}
#page-incubation .strat-det {
  font-size: 13px;
  color: var(--mu);
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px dashed var(--bo);
}
#page-incubation .strat-inclus {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: auto;
  margin-bottom: 1.5rem; /* Crée l'espace nécessaire au-dessus du bouton */
}
#page-incubation .inc {
  font-size: 0.74rem;
  padding: 0.22rem 0.65rem;
  border-radius: 99px;
  background: var(--bg2);
  color: var(--pd);
  border: 1px solid var(--bo);
  font-family: var(--fn), sans-serif;
}
#page-incubation .strat-cta {
  display: block;
  text-align: center;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.72em;
  text-transform: uppercase;
  letter-spacing: 4px;
  padding: 13px;
  border-radius: 3px;
  color: var(--pink);
  border: 1.5px solid var(--pink);
  transition: all 0.25s;
  margin-top: auto;
}
#page-incubation .strat-cta:hover, #page-incubation .strat.phare .strat-cta {
  background: var(--pink);
  color: #fff;
}
#page-incubation .strat-cta-wrap {
  text-align: center;
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--bo);
}
#page-incubation .strat-cta-wrap p {
  font-size: 15px;
  color: var(--mu);
  margin-bottom: 1.25rem;
}
#page-incubation {
  /* --- STRUCTURE DES CARTES PROFIL --- */
}
#page-incubation .profil {
  background: #fff;
  border: 2px solid var(--bo);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.28s;
  position: relative;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}
#page-incubation .profil:hover {
  box-shadow: var(--shl);
  transform: translateY(-5px);
  border-color: transparent;
}
#page-incubation .profil-img {
  width: 100%;
  height: 180px;
  overflow: hidden;
  position: relative;
}
#page-incubation .profil-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.75);
  transition: transform 0.4s;
}
#page-incubation .profil:hover .profil-img img {
  transform: scale(1.04);
}
#page-incubation .profil-img-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 15%, rgba(42, 42, 61, 0.78));
}
#page-incubation .profil-body {
  padding: 1.75rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
#page-incubation .profil h3 {
  font-size: 19px;
  color: #2a2a3d;
  margin-bottom: 0.6rem;
  letter-spacing: 0.5px;
}
#page-incubation .profil p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.78;
  flex: 1;
  margin-bottom: 1.4rem;
}
#page-incubation .profil-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1.5rem; /* Crée l'espace nécessaire sous les tags du profil */
}
#page-incubation .ptag {
  font-size: 0.74rem;
  padding: 0.22rem 0.65rem;
  border-radius: 99px;
  background: var(--bg2);
  color: var(--pd);
  border: 1px solid var(--bo);
  font-family: var(--fn), sans-serif;
}
#page-incubation {
  /* --- SECTION : PROCESS --- */
}
#page-incubation .process-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
#page-incubation .process-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 1rem;
  line-height: 1.08;
}
#page-incubation .process-intro {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
  margin-bottom: 2rem;
}
#page-incubation .process-encart {
  background: var(--bg2);
  border-left: 4px solid var(--pink);
  border-radius: 4px;
  padding: 1.25rem 1.5rem;
  font-family: var(--fh), sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #2a2a3d;
  line-height: 1.7;
}
#page-incubation .process-encart span {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#page-incubation .steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}
#page-incubation .step {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 1.2rem;
  position: relative;
  padding-bottom: 2rem;
}
#page-incubation .step:last-child {
  padding-bottom: 0;
}
#page-incubation .step::after {
  content: "";
  position: absolute;
  left: 25px;
  top: 52px;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, transparent, var(--bo), transparent);
}
#page-incubation .step:last-child::after {
  display: none;
}
#page-incubation .step-nw {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--bo);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 10px rgba(59, 0, 79, 0.08);
}
#page-incubation .step-n {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
}
#page-incubation .step-body {
  padding-top: 0.85rem;
}
#page-incubation .step-body h4 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.96rem;
  color: #2a2a3d;
  margin-bottom: 0.4rem;
  letter-spacing: 0.5px;
}
#page-incubation .step-body p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.75;
}
#page-incubation .step-livrable {
  display: inline-block;
  margin-top: 0.65rem;
  font-family: var(--fb), sans-serif;
  font-size: 0.68em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--pink);
  background: var(--ps);
  border: 1px solid rgba(249, 44, 139, 0.2);
  padding: 0.2rem 0.65rem;
  border-radius: 99px;
}
#page-incubation {
  /* --- SECTION : POUR QUI --- */
}
#page-incubation .pourqui-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
#page-incubation .pourqui-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-incubation .pourqui-sub {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
  margin-bottom: 2.25rem;
}
#page-incubation .cas-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
#page-incubation .cas {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--bo);
  transition: all 0.22s;
}
#page-incubation .cas:hover {
  box-shadow: var(--shl);
  border-color: transparent;
  transform: translateX(5px);
}
#page-incubation .cas-ico {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 10px;
  background: var(--gr);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
#page-incubation .cas-ico-txt {
  font-size: 0.85rem;
  font-weight: 700;
  color: #fff;
  font-family: var(--fh), sans-serif;
}
#page-incubation .cas-txt h4 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  color: #2a2a3d;
  margin-bottom: 0.3rem;
}
#page-incubation .cas-txt p {
  font-size: 13px;
  color: var(--mu);
  line-height: 1.7;
}
#page-incubation .pourqui-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 3/4;
  box-shadow: var(--shl);
  position: relative;
}
#page-incubation .pourqui-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page-incubation .pourqui-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 50%, rgba(59, 0, 79, 0.75));
}
#page-incubation .pourqui-photo-quote {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
}
#page-incubation .pq-txt {
  font-family: var(--fh), sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.5;
  margin-bottom: 0.65rem;
}
#page-incubation .pq-auth {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.6);
  font-style: italic;
}
#page-incubation {
  /* --- SECTION : TÉMOIGNAGES --- */
}
#page-incubation .temo-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 60px;
}
#page-incubation #temo h2 {
  font-size: clamp(28px, 3.2vw, 40px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 0.75rem;
}
#page-incubation .temo-sub {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.8;
}
#page-incubation .temo-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-bottom: 3rem;
}
#page-incubation .tc {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--bo);
  transition: all 0.22s;
  box-shadow: 0 2px 8px rgba(59, 0, 79, 0.04);
}
#page-incubation .tc:hover {
  box-shadow: var(--shl);
  transform: translateY(-3px);
  border-color: transparent;
}
#page-incubation .tc-img {
  width: 100%;
  height: 140px;
  overflow: hidden;
  position: relative;
}
#page-incubation .tc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.82);
  transition: transform 0.35s;
}
#page-incubation .tc:hover .tc-img img {
  transform: scale(1.04);
}
#page-incubation .tc-img-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-incubation .tc-dots {
  display: flex;
  gap: 3px;
  padding: 1.25rem 1.75rem 0.5rem;
}
#page-incubation .tc-dot {
  width: 7px;
  height: 7px;
  background: var(--pink);
  border-radius: 50%;
}
#page-incubation .tc-body {
  padding: 0 1.75rem 1.75rem;
}
#page-incubation .tc-txt {
  font-size: 14px;
  font-style: italic;
  color: #444;
  line-height: 1.82;
  margin-bottom: 1.2rem;
}
#page-incubation .tc-auth {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
#page-incubation .tc-av {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--pd), var(--pink));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  color: #fff;
}
#page-incubation .tc-nm {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.84rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
}
#page-incubation .tc-rl {
  font-size: 0.72rem;
  color: var(--mu);
  margin-top: 0.1rem;
}
#page-incubation .logos-lbl {
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.68em;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--mu);
  margin-bottom: 1.25rem;
}
#page-incubation .logos {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: center;
  padding: 2rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--bo);
}
#page-incubation .logos img {
  max-height: 22px;
  width: auto;
  object-fit: contain;
  filter: grayscale(1) opacity(0.38);
  transition: filter 0.2s;
}
#page-incubation .logos img:hover {
  filter: grayscale(0) opacity(0.85);
}
#page-incubation {
  /* --- SECTION : AUTRES OFFRES --- */
}
#page-incubation #autres h2 {
  font-size: clamp(26px, 3vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}
#page-incubation .autres-sub {
  font-size: 16px;
  color: var(--mu);
  margin-bottom: 3rem;
  max-width: 560px;
}
#page-incubation .autres-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
#page-incubation .autre {
  background: #fff;
  border: 1.5px solid var(--bo);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.28s;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
  display: flex;
  flex-direction: column;
}
#page-incubation .autre:hover {
  box-shadow: var(--shl);
  transform: translateY(-4px);
  border-color: var(--pink);
}
#page-incubation .autre-img {
  width: 100%;
  height: 150px;
  overflow: hidden;
  position: relative;
}
#page-incubation .autre-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.78);
  transition: transform 0.4s;
}
#page-incubation .autre:hover .autre-img img {
  transform: scale(1.04);
}
#page-incubation .autre-img-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}
#page-incubation .autre-body {
  padding: 1.6rem 1.75rem 2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
#page-incubation .autre-type {
  display: block;
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--mu);
  margin-bottom: 0.5rem;
}
#page-incubation .autre h3 {
  font-size: 17px;
  color: #2a2a3d;
  margin-bottom: 0.65rem;
  letter-spacing: 0.5px;
}
#page-incubation .autre p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.78;
  flex: 1;
  margin-bottom: 1.4rem;
}
#page-incubation .autre-cta {
  display: block;
  text-align: center;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.72em;
  text-transform: uppercase;
  letter-spacing: 4px;
  padding: 12px;
  border-radius: 3px;
  color: var(--pink);
  border: 1.5px solid var(--pink);
  transition: all 0.25s;
}
#page-incubation .autre-cta:hover {
  background: var(--pink);
  color: #fff;
}
#page-incubation {
  /* --- SECTION : FAQ --- */
}
#page-incubation .faq-lay {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start;
}
#page-incubation .faq-left h2 {
  font-size: clamp(26px, 2.8vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 1.25rem;
}
#page-incubation .faq-left p {
  font-size: 15px;
  color: var(--mu);
  line-height: 1.8;
  margin-bottom: 2rem;
}
#page-incubation .fi {
  border-bottom: 1px solid var(--bo);
}
#page-incubation .fq {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem 0;
  cursor: pointer;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
  user-select: none;
  transition: color 0.2s;
}
#page-incubation .fq:hover {
  color: var(--pink);
}
#page-incubation .fq-ico {
  color: var(--pink);
  font-size: 1.2rem;
  flex-shrink: 0;
  transition: transform 0.25s;
}
#page-incubation .fi.open .fq-ico {
  transform: rotate(45deg);
}
#page-incubation .fa {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.8;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.38s ease, padding 0.38s;
}
#page-incubation .fi.open .fa {
  max-height: 300px;
  padding-bottom: 1.15rem;
}
#page-incubation {
  /* --- ANIMATIONS & SCROLL --- */
}
#page-incubation .fu {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
#page-incubation .fu.v {
  opacity: 1;
  transform: none;
}
#page-incubation {
  /* --- TRAVAIL RESPONSIVE --- */
}
@media (max-width: 960px) {
  #page-incubation .hero-layout, #page-incubation .promesse-grid, #page-incubation .process-layout, #page-incubation .pourqui-grid, #page-incubation .temo-head, #page-incubation .faq-lay {
    grid-template-columns: 1fr;
  }
  #page-incubation .hero-right, #page-incubation .strat-grid, #page-incubation .temo-cards, #page-incubation .autres-grid {
    grid-template-columns: 1fr;
  }
  #page-incubation .fg {
    grid-template-columns: 1fr 1fr;
  }
  #page-incubation .promesse-float {
    display: none;
  }
}

.gt {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.gl {
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.h2a {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline;
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.82em;
  text-transform: uppercase;
  letter-spacing: 5px;
  background: var(--pink);
  color: #fff;
  border: none;
  border-radius: 3px;
  padding: 16px 32px;
  cursor: pointer;
  box-shadow: var(--sp);
  transition: letter-spacing 300ms ease, transform 0.2s;
}

.btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.78em;
  text-transform: uppercase;
  letter-spacing: 4px;
  background: transparent;
  color: rgba(255, 255, 255, 0.65);
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  border-radius: 3px;
  padding: 14px 28px;
  cursor: pointer;
  transition: all 0.25s;
}

.lbl {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--fb), sans-serif;
  font-size: 0.68em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: var(--pink);
  margin-bottom: 1.25rem;
}

.lbl::before {
  content: "";
  width: 24px;
  height: 1.5px;
  background: var(--pink);
  display: block;
}

.lbl-w {
  color: rgba(255, 255, 255, 0.42);
}

.lbl-w::before {
  background: var(--pink);
}

/* Séparateur entre personas et contenu */
.nl li:nth-child(3) {
  margin-right: 0.75rem;
  padding-right: 0.75rem;
  border-right: 1px solid var(--bo);
}

/* Persona actif */
.nl a.current {
  color: var(--pink);
  font-weight: 600;
}

/* Bouton CTA nav */
.nc:hover {
  letter-spacing: 4.5px;
}

.ni > a:not(.nc) {
  display: flex;
  align-items: center;
}

.ni > a:not(.nc) img {
  height: 38px;
  width: auto;
}

.ni > a:not(.nc) span {
  display: none;
  font-family: "Quicksand", sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #3b004f;
  letter-spacing: 1.5px;
}

/* ────────────────────────────────────────
   7. HERO - base commune
──────────────────────────────────────── */
#hero {
  position: relative;
  overflow: hidden;
  background: var(--hero-bg);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 80px), 0 100%);
  display: flex;
  align-items: center;
}

.hero-color {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(113deg, rgba(67, 0, 105, 0.82) 0%, rgba(1, 183, 255, 0.08) 50%, transparent 70%);
}

.hero-glow {
  position: absolute;
  top: -200px;
  right: -200px;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(1, 183, 255, 0.12) 0%, transparent 62%);
  pointer-events: none;
}

.hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1160px;
  margin: 0 auto;
  padding: 80px 0 180px;
  width: 100%;
}

/* H1 hero gradient */
#hero h1 {
  letter-spacing: -3px;
  line-height: 1;
  margin-bottom: 1.35rem;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: 4em;
}

.hero-sub {
  color: rgb(255, 255, 255);
  line-height: 1.82;
  font-weight: 300;
  margin-bottom: 3rem;
}

.hero-sub strong {
  color: rgba(255, 255, 255, 0.82);
  font-weight: 700;
  text-decoration: underline;
}

/* Eyebrow héro */
.hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: rgba(255, 255, 255, 0.35);
  margin-bottom: 2.5rem;
}

.hero-eyebrow span {
  color: rgba(255, 255, 255, 0.15);
}

.hero-eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--pink);
  display: block;
}

/* Image flottante (accueil) */
.hero-img-float {
  position: absolute;
  right: 4%;
  top: 50%;
  transform: translateY(-50%);
  width: min(380px, 34vw);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.45);
  opacity: 0.45;
  z-index: 0;
}

.hero-img-float img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.7) saturate(0.8);
}

/* ────────────────────────────────────────
   8. HERO ACCUEIL - mission + stats
──────────────────────────────────────── */
.hero-mission {
  max-width: 680px;
}

#mission {
  padding: 72px 5%;
  text-align: center;
  max-width: 1160px;
  margin: 0 auto;
}

.mission-bar {
  width: 64px;
  height: 3px;
  background: var(--gr);
  border-radius: 2px;
  margin-bottom: 2rem;
}

.mission-text {
  font-size: clamp(15px, 1.4vw, 18px);
  color: var(--mu);
  line-height: 1.9;
  font-weight: 300;
  margin-bottom: 2.25rem;
}

.mission-text strong {
  color: var(--mu);
  font-weight: 500;
}

.mission-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.25rem;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}

.ms {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
}

.ms-n {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: -1px;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ms-l {
  font-size: 0.7rem;
  color: var(--mu);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-family: var(--fb), sans-serif;
}

.ms-sep {
  width: 1px;
  height: 38px;
  background: black;
}

@media (max-width: 768px) {
  .mission-stats {
    flex-direction: column;
    gap: 1.5rem;
  }
  .ms-sep {
    display: none;
  }
  .ms {
    text-align: center;
  }
}
/* ────────────────────────────────────────
   9. HERO PERSONA - badge, breadcrumb, situations, photo
──────────────────────────────────────── */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: rgba(255, 255, 255, 0.35);
  margin-bottom: 2rem;
}

.breadcrumb a {
  color: rgba(255, 255, 255, 0.35);
  transition: color 0.2s;
}

.breadcrumb a:hover {
  color: rgba(255, 255, 255, 0.65);
}

.breadcrumb-sep {
  color: rgba(255, 255, 255, 0.2);
}

.breadcrumb-current {
  color: var(--pink);
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  background: rgba(64, 221, 166, 0.12);
  border: 1px solid rgba(64, 221, 166, 0.28);
  border-radius: 99px;
  padding: 0.55rem 1.1rem;
  margin-bottom: 1.75rem;
}

.badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--teal);
  flex-shrink: 0;
}

.badge-txt {
  font-family: var(--fb), sans-serif;
  font-size: 0.68em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--teal);
}

.hero-situations {
  margin-bottom: 2.5rem;
}

.hero-sit-label {
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: rgba(255, 255, 255, 0.35);
  margin-bottom: 0.85rem;
}

.hero-sit-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.hero-sit {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.45;
}

.hero-sit::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--teal);
  flex-shrink: 0;
}

.hero-ctas {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.hero-visual {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.hero-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  position: relative;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
}

.hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.82);
}

.hero-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(59, 0, 79, 0.65) 0%, transparent 55%);
}

.hero-photo-tag {
  position: absolute;
  bottom: 1.25rem;
  left: 1.25rem;
  background: var(--pink);
  color: #fff;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.65em;
  text-transform: uppercase;
  letter-spacing: 3px;
  padding: 0.28rem 0.78rem;
  border-radius: 99px;
  box-shadow: var(--sp);
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.85rem;
}

.hstat {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 1rem;
  text-align: center;
}

.hstat-n {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.65rem;
  letter-spacing: -1px;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hstat-l {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.38);
  margin-top: 0.25rem;
  line-height: 1.35;
}

/* ────────────────────────────────────────
   10. BLOCS PERSONA - accueil (3 blocs alternés)
──────────────────────────────────────── */
#personas {
  background: var(--bg1);
  padding: 0;
}

#personas::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
  z-index: 1;
}

.personas-intro {
  padding: 72px 5%;
  text-align: center;
  max-width: 1160px;
  margin: 0 auto;
}

.personas-intro p {
  font-size: clamp(14px, 1.3vw, 17px);
  color: var(--mu);
  line-height: 1.8;
  max-width: 540px;
  margin: 0 auto;
}

.pq {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  justify-content: center;
  margin-bottom: 1.25rem;
}

.pq-line {
  flex: 1;
  max-width: 160px;
  height: 1px;
  background: var(--bo);
}

.pq-text {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: #2a2a3d;
  letter-spacing: 0.5px;
  white-space: nowrap;
  margin-bottom: unset;
}

.persona-bloc {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--bo);
}

.persona-bloc:last-child {
  border-bottom: 1px solid var(--bo);
}

.pb-visual {
  position: relative;
  overflow: hidden;
  min-height: 540px;
}

.pb-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.82);
  transition: transform 0.6s ease;
  display: block;
}

.persona-bloc:hover .pb-visual img {
  transform: scale(1.03);
}

.pb-visual-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(59, 0, 79, 0.62));
}

.pb-stade {
  position: absolute;
  top: 2rem;
  left: 2rem;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 3.5rem;
  letter-spacing: -2px;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.pb-tag {
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: rgba(255, 255, 255, 0.62);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.pb-tag::before {
  content: "";
  width: 18px;
  height: 1.5px;
  background: var(--pink);
  display: block;
}

.pb-content {
  padding: 64px 72px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
}

.persona-bloc:nth-child(even) .pb-content {
  background: var(--bg2);
}

.persona-bloc:nth-child(even) .pb-visual {
  order: 2;
}

.persona-bloc:nth-child(even) .pb-content {
  order: 1;
}

.pb-content h3 {
  font-size: clamp(22px, 2.4vw, 32px);
  color: #2a2a3d;
  letter-spacing: -0.3px;
  margin-bottom: 1.5rem;
  line-height: 1.1;
}

.pb-content h3 span {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.pb-para {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.9;
  margin-bottom: 1.25rem;
}

.pb-para strong {
  color: #2a2a3d;
  font-weight: 600;
}

.pb-accent {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1rem;
  border-left: 3px solid var(--pink);
  padding-left: 1.25rem;
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.65;
  margin: 1.75rem 0;
  font-style: italic;
}

.pb-link {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-top: 0.75rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.75em;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: var(--pink);
  border-bottom: 1.5px solid var(--pink);
  padding-bottom: 0.15rem;
  transition: gap 0.2s, letter-spacing 0.2s;
}

.pb-link:hover {
  gap: 0.9rem;
  letter-spacing: 4.5px;
}

/* ────────────────────────────────────────
   11. SECTION VALIDATION IDENTITÉ (pages persona)
──────────────────────────────────────── */
.val-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.val-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 1.5rem;
}

.val-content h2 span {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.v-para {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.9;
  margin-bottom: 1.25rem;
}

.v-para strong {
  color: #2a2a3d;
  font-weight: 600;
}

.v-accent {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.02rem;
  border-left: 3px solid var(--pink);
  padding-left: 1.25rem;
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.65;
  margin: 1.75rem 0;
}

.val-wrong {
  background: var(--bg2);
  border: 1.5px dashed var(--bo);
  border-radius: 10px;
  padding: 1.25rem 1.5rem;
  margin-top: 1.75rem;
  font-size: 0.85rem;
  color: var(--mu);
  line-height: 1.65;
}

.val-wrong strong {
  color: #2a2a3d;
  font-weight: 600;
  display: block;
  margin-bottom: 0.5rem;
}

.val-wrong-links {
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
  margin-top: 0.75rem;
}

.vwl {
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 0.3rem 0.8rem;
  border-radius: 99px;
  border: 1.5px solid var(--bo);
  color: var(--mu);
  transition: all 0.2s;
}

.vwl:hover {
  border-color: var(--pink);
  color: var(--pink);
}

.val-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  position: relative;
  box-shadow: var(--shl);
}

.val-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.val-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 45%, rgba(59, 0, 79, 0.75));
}

.val-photo-quote {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
}

.vpq {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  color: #fff;
  line-height: 1.5;
  margin-bottom: 0.55rem;
  font-style: italic;
}

.vpq-auth {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.6);
}

/* ────────────────────────────────────────
   12. SECTION MÉTHODE M1/M2/M3
──────────────────────────────────────── */
.methode-intro {
  max-width: 640px;
  margin: 0 auto 72px;
  text-align: center;
}

.methode-intro h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 0.85rem;
}

.methode-intro h2 span {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.methode-intro p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
}

.stades-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  position: relative;
  margin-bottom: 3rem;
}

.stades-grid::before {
  content: "";
  position: absolute;
  top: 36px;
  left: 16%;
  right: 16%;
  height: 2px;
  background: var(--gr);
  z-index: 0;
}

.stade-col {
  position: relative;
  z-index: 1;
}

.stade-num-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
}

.stade-num {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--bo);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(59, 0, 79, 0.1);
  transition: border-color 0.25s;
}

.stade-col:hover .stade-num {
  border-color: var(--pink);
}

.stade-num-inner {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
}

.stade-col-content {
  background: #fff;
  border-radius: 14px;
  padding: 1.75rem;
  border: 1px solid var(--bo);
  box-shadow: 0 2px 10px rgba(59, 0, 79, 0.05);
  transition: all 0.25s;
}

.stade-col:hover .stade-col-content {
  box-shadow: var(--shl);
  border-color: transparent;
  transform: translateY(-3px);
}

.stade-tag {
  font-family: var(--fb), sans-serif;
  font-size: 0.62em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--pink);
  margin-bottom: 0.55rem;
}

.stade-col h3 {
  font-size: 1.05rem;
  color: #2a2a3d;
  margin-bottom: 0.65rem;
  letter-spacing: 0.3px;
}

.stade-col p {
  font-size: 0.85rem;
  color: var(--mu);
  line-height: 1.78;
}

.seeds-promesse {
  background: #fff;
  border-left: 4px solid var(--pink);
  border-radius: 0;
  padding: 1.5rem 1.75rem;
  font-family: var(--fh), sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: #2a2a3d;
  line-height: 1.78;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}

.seeds-promesse span {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ────────────────────────────────────────
   13. SECTION OFFRES - items horizontaux
──────────────────────────────────────── */
#offres {
  padding: 100px 0 100px 0;
}

.offres-intro {
  margin-bottom: 56px;
}

.offres-intro h2 {
  font-size: clamp(26px, 3.2vw, 42px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 0.75rem;
}

.offres-intro h2 span {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.offres-intro p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
  max-width: 600px;
}

/* Bannière diagnostic */
.diag-banner {
  background: var(--hero-bg);
  border-radius: 16px;
  padding: 2rem 2.5rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
  margin-bottom: 2.5rem;
  position: relative;
  overflow: hidden;
}

.diag-banner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--gr);
}

.db-glow {
  position: absolute;
  right: -80px;
  top: -80px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(1, 183, 255, 0.1) 0%, transparent 65%);
  pointer-events: none;
}

.db-content {
  position: relative;
  z-index: 1;
}

.db-prix-row {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 0.5rem;
}

.db-prix {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: -1px;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.db-ptag {
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.68em;
  text-transform: uppercase;
  letter-spacing: 3px;
  background: rgba(64, 221, 166, 0.15);
  color: var(--teal);
  border: 1px solid rgba(64, 221, 166, 0.3);
  padding: 0.22rem 0.7rem;
  border-radius: 99px;
}

.db-title {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #fff;
  margin-bottom: 0.35rem;
  letter-spacing: 0.3px;
}

.db-sub {
  font-size: 0.85rem;
  color: rgb(255, 255, 255);
  line-height: 1.7;
}

.db-cta {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

/* Item offre */
.offre-item {
  display: grid;
  grid-template-columns: 300px 1fr;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 3.75rem;
  box-shadow: 0 4px 24px rgba(59, 0, 79, 0.06);
  border: 1px solid var(--bo);
  transition: all 0.28s;
}

.offre-item:hover {
  box-shadow: var(--shl);
  border-color: transparent;
  transform: translateY(-3px);
}

.offre-item:last-child {
  margin-bottom: 0;
}

.oi-visual {
  position: relative;
  overflow: hidden;
  min-height: 240px;
}

.oi-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.75);
  transition: transform 0.5s;
  display: block;
}

.offre-item:hover .oi-visual img {
  transform: scale(1.04);
}

.oi-visual-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(59, 0, 79, 0.55) 0%, transparent 60%);
}

.oi-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--gr);
}

.oi-prix-block {
  position: absolute;
  bottom: 1.25rem;
  left: 1.25rem;
}

.oi-prix {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: -1px;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.oi-prix-sub {
  font-family: var(--fb), sans-serif;
  font-size: 0.62em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: rgba(255, 255, 255, 0.55);
  margin-top: 0.15rem;
}

.oi-content {
  padding: 2rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.oi-type {
  font-family: var(--fb), sans-serif;
  font-size: 0.62em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--mu);
  margin-bottom: 0.4rem;
}

.oi-content h3 {
  font-size: clamp(17px, 1.8vw, 21px);
  color: #f92c8b;
  margin-bottom: 0.75rem;
  letter-spacing: -0.2px;
}

.oi-para {
  font-size: 15px;
  color: var(--mu);
  line-height: 1.87;
  margin-bottom: 1.25rem;
}

.oi-para strong {
  color: #2a2a3d;
  font-weight: 600;
}

.oi-tarifs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.oi-tarif {
  font-size: 0.78rem;
  padding: 0.28rem 0.82rem;
  border-radius: 99px;
  background: var(--bg2);
  color: #2a2a3d;
  border: 1px solid var(--bo);
  font-family: var(--fn), sans-serif;
  transition: all 0.2s;
}

.oi-tarif strong {
  font-weight: 700;
  color: var(--pd);
}

.oi-tarif:hover {
  background: var(--ps);
  border-color: rgba(249, 44, 139, 0.25);
}

.oi-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  align-self: flex-start;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.73em;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: var(--pink);
  border-bottom: 1.5px solid var(--pink);
  padding-bottom: 0.18rem;
  transition: gap 0.2s, letter-spacing 0.2s;
}

.oi-cta:hover {
  gap: 0.85rem;
  letter-spacing: 4.5px;
}

/* ────────────────────────────────────────
   14. SECTION DIAGNOSTIC - fond sombre
──────────────────────────────────────── */
#diagnostic {
  background: var(--bg3);
  position: relative;
  overflow: hidden;
  padding: 80px 0 150px 0;
}

.dg {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.dg1 {
  top: -120px;
  right: -120px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(1, 183, 255, 0.1) 0%, transparent 65%);
}

.dg2 {
  bottom: -80px;
  left: -80px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(249, 44, 139, 0.08) 0%, transparent 65%);
}

.diag-inner {
  position: relative;
  z-index: 1;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 5%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.diag-lbl {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--fb), sans-serif;
  font-size: 0.68em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: #5c1a7a;
  margin-bottom: 1.75rem;
}

.diag-lbl::before {
  content: "";
  width: 24px;
  height: 1.5px;
  background: var(--pink);
  display: block;
}

.diag-prix {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 5.5rem;
  letter-spacing: -4px;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.5rem;
}

.diag-title {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: clamp(20px, 2.5vw, 32px);
  color: var(--mu);
  letter-spacing: -0.3px;
  line-height: 1.12;
  margin-bottom: 1.5rem;
}

.diag-para {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.88;
  margin-bottom: 0.8rem;
}

.diag-para strong {
  color: var(--mu);
  font-weight: 500;
}

.diag-livrables {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}

.dl {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.35rem 1.5rem;
  background: rgba(255, 255, 255, 0.37);
  border: 1px solid #e4e4f0;
  border-radius: 12px;
  transition: background 0.2s;
}

.dl:hover {
  background: rgba(255, 255, 255, 0.72);
}

.dl-num {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: -1px;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  flex-shrink: 0;
  width: 28px;
}

.dl-txt h3 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--mu);
  margin-bottom: 0.28rem;
  letter-spacing: 0.3px;
}

.dl-txt p {
  font-size: 0.8rem;
  color: var(--mu);
  line-height: 1.65;
}

/* ────────────────────────────────────────
   15. TÉMOIGNAGES
──────────────────────────────────────── */
.temo-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 56px;
}

.temo-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  position: relative;
  box-shadow: var(--shl);
}

.temo-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.temo-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 35%, rgba(42, 10, 66, 0.88));
}

.temo-quote {
  position: absolute;
  bottom: 1.75rem;
  left: 1.75rem;
  right: 1.75rem;
}

.tq-txt {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  color: #fff;
  line-height: 1.55;
  margin-bottom: 0.65rem;
  font-style: italic;
}

.tq-auth {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.tq-av {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--pink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  color: #fff;
  flex-shrink: 0;
}

.tq-nm {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  color: #fff;
}

.tq-rl {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.58);
}

.temo-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-bottom: 3rem;
}

.tc {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--bo);
  transition: all 0.22s;
  box-shadow: 0 2px 8px rgba(59, 0, 79, 0.04);
}

.tc:hover {
  box-shadow: var(--shl);
  transform: translateY(-3px);
  border-color: transparent;
}

.tc-img {
  width: 100%;
  height: 130px;
  overflow: hidden;
  position: relative;
}

.tc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.82);
  transition: transform 0.35s;
}

.tc:hover .tc-img img {
  transform: scale(1.04);
}

.tc-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}

.tc-dots {
  display: flex;
  gap: 3px;
  padding: 1.25rem 1.5rem 0.5rem;
}

.tc-dot {
  width: 7px;
  height: 7px;
  background: var(--pink);
  border-radius: 50%;
}

.tc-body {
  padding: 0 1.5rem 1.5rem;
}

.tc-stade {
  font-family: var(--fb), sans-serif;
  font-size: 0.6em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--pink);
  margin-bottom: 0.35rem;
}

.tc-txt {
  font-size: 14px;
  font-style: italic;
  color: #444;
  line-height: 1.82;
  margin-bottom: 1rem;
}

.tc-auth {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.tc-av {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pd), var(--pink));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.78rem;
  color: #fff;
  flex-shrink: 0;
}

.tc-nm {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.84rem;
  color: #2a2a3d;
}

.tc-rl {
  font-size: 0.7rem;
  color: var(--mu);
  margin-top: 0.1rem;
}

.logos-lbl {
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.65em;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--mu);
  margin-bottom: 1.25rem;
}

.logos {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: center;
  padding: 1.75rem 2rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--bo);
}

.logos img {
  max-height: 50px !important;
  max-width: 100px !important;
  object-fit: contain;
  filter: grayscale(1) opacity(0.35);
  transition: filter 0.2s;
}

.logos img:hover {
  filter: grayscale(0) opacity(0.85);
}

.faq-lay > .fu:first-child h2 {
  font-size: clamp(26px, 2.8vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 1.25rem;
}

.faq-lay > .fu:first-child p {
  font-size: 15px;
  color: var(--mu);
  line-height: 1.8;
  margin-bottom: 2rem;
}

.faq-lay > .fu:first-child a.btn {
  margin-top: 0.5rem;
}

.faq-lay > .fu:last-child {
  transition-delay: 0.1s;
}

.methode-intro .lbl-sec,
.valeurs-header .lbl,
.part-header .lbl,
.derou-header .lbl,
.pourqui-header .lbl,
.options-header .lbl {
  justify-content: center;
}

/* ────────────────────────────────────────
   18. ANIMATION SCROLL
──────────────────────────────────────── */
.fu {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fu.v {
  opacity: 1;
  transform: none;
}

/* ────────────────────────────────────────
   19. RESPONSIVE
──────────────────────────────────────── */
@media (max-width: 960px) {
  .hero-img-float {
    display: none;
  }
  .hero-inner {
    grid-template-columns: 1fr !important;
  }
  .hero-visual {
    display: none;
  }
  .persona-bloc,
  .val-layout,
  .temo-header,
  .diag-inner,
  .offres-intro {
    grid-template-columns: 1fr;
  }
  .persona-bloc:nth-child(even) .pb-visual {
    order: unset;
  }
  .persona-bloc:nth-child(even) .pb-content {
    order: unset;
  }
  .pb-visual {
    min-height: 320px;
  }
  .pb-content {
    padding: 48px 5%;
  }
  .offre-item {
    grid-template-columns: 1fr;
  }
  .oi-visual {
    min-height: 200px;
  }
  .diag-banner {
    grid-template-columns: 1fr;
  }
  .stades-grid {
    grid-template-columns: 1fr;
  }
  .stades-grid::before {
    display: none;
  }
  .temo-cards {
    grid-template-columns: 1fr;
  }
  .fg {
    grid-template-columns: 1fr 1fr;
  }
}
/* ============================================================
   25 · COMPOSANTS PARTAGÉS - pages produits
   ============================================================ */
/* Section "promesse" layout photo+contenu (coaching, strategies, ebooks) */
/* Cartes "autres offres" (coaching, strategies, ebooks) */
.autres-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.autres-sub {
  font-size: 16px;
  color: var(--mu);
  margin-bottom: 3rem;
  max-width: 560px;
}

.autre {
  background: #fff;
  border: 1.5px solid var(--bo);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.28s;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
  display: flex;
  flex-direction: column;
}

.autre:hover {
  box-shadow: var(--shl);
  transform: translateY(-4px);
  border-color: var(--pink);
}

.autre-img {
  width: 100%;
  height: 150px;
  overflow: hidden;
  position: relative;
}

.autre-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.78);
  transition: transform 0.4s;
}

.autre:hover .autre-img img {
  transform: scale(1.04);
}

.autre-img-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}

.autre-body {
  padding: 1.6rem 1.75rem 2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.autre-type {
  display: block;
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--mu);
  margin-bottom: 0.5rem;
}

.autre h3 {
  font-size: 17px;
  color: #2a2a3d;
  margin-bottom: 0.65rem;
  letter-spacing: 0.5px;
}

.autre p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.78;
  flex: 1;
  margin-bottom: 1.4rem;
}

.autre-cta {
  display: block;
  text-align: center;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.72em;
  text-transform: uppercase;
  letter-spacing: 4px;
  padding: 12px;
  border-radius: 3px;
  color: var(--pink);
  border: 1.5px solid var(--pink);
  transition: all 0.25s;
}

.autre-cta:hover {
  background: var(--pink);
  color: #fff;
}

/* Packs (coaching) */
.pack {
  background: #fff;
  border: 1.5px solid var(--bo);
  border-radius: 14px;
  overflow: hidden;
  transition: all 0.28s;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
  display: flex;
  flex-direction: column;
}

.pack:hover {
  box-shadow: var(--shl);
  transform: translateY(-4px);
  border-color: var(--pink);
}

.pack h3 {
  font-size: 20px;
  color: #2a2a3d;
  margin-bottom: 0.5rem;
  letter-spacing: 0.5px;
}

.pack p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.78;
  flex: 1;
  margin-bottom: 1.5rem;
}

.packs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

/* Cas d'usage (strategies) */
.cas {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--bo);
  transition: all 0.22s;
}

.cas:hover {
  box-shadow: var(--shl);
  border-color: transparent;
  transform: translateX(5px);
}

.cas-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cas-ico {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 10px;
  background: var(--gr);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.cas-ico-txt {
  font-size: 0.85rem;
  font-weight: 700;
  color: #fff;
  font-family: var(--fh), sans-serif;
}

.cas-txt h4 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  color: #2a2a3d;
  margin-bottom: 0.3rem;
}

.cas-txt p {
  font-size: 13px;
  color: var(--mu);
  line-height: 1.7;
}

/* Étapes accès ebooks */
.acces-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.acces-visual {
  position: relative;
}

.acces-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: var(--shl);
}

.acces-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.acces-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 45%, rgba(59, 0, 79, 0.72));
}

.acces-photo-badges {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.apb {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  padding: 0.65rem 1rem;
  backdrop-filter: blur(8px);
}

.apb-label {
  font-family: var(--fh), sans-serif;
  font-weight: 600;
  font-size: 0.82rem;
  color: #fff;
}

.apb-val {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.88rem;
  background: var(--gr);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.acces-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 1rem;
  line-height: 1.08;
}

.acces-sub {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
  margin-bottom: 2rem;
}

/* Projets réalisations */
.projets-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.projet {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 14px;
  overflow: hidden;
  transition: all 0.28s;
  box-shadow: 0 2px 10px rgba(59, 0, 79, 0.05);
  position: relative;
  display: flex;
  flex-direction: column;
}

.projet:hover {
  box-shadow: var(--shl);
  transform: translateY(-5px);
  border-color: transparent;
}

.projet-img {
  width: 100%;
  height: 180px;
  overflow: hidden;
  position: relative;
}

.projet-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.82);
  transition: transform 0.4s;
  display: block;
}

.projet:hover .projet-img img {
  transform: scale(1.05);
}

.projet-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gr);
}

.projet-body {
  padding: 1.4rem 1.5rem 1.75rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.projet-type {
  font-family: var(--fb), sans-serif;
  font-size: 0.6em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--pink);
  margin-bottom: 0.4rem;
}

.projet h3 {
  font-size: 0.95rem;
  color: #2a2a3d;
  margin-bottom: 0.6rem;
  letter-spacing: 0.3px;
  flex: 1;
}

.projet-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 1rem;
}

.projet-tag {
  font-size: 0.65rem;
  padding: 0.18rem 0.58rem;
  border-radius: 99px;
  background: var(--bg2);
  color: var(--mu);
  border: 1px solid var(--bo);
  font-family: var(--fn), sans-serif;
}

.avant-apres {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-bottom: 1.1rem;
}

.aa-bloc {
  padding: 0.65rem 0.75rem;
  border-radius: 8px;
}

.aa-before {
  background: rgba(90, 90, 114, 0.08);
  border: 1px solid var(--bo);
}

.aa-after {
  background: rgba(64, 221, 166, 0.08);
  border: 1px solid rgba(64, 221, 166, 0.25);
}

.aa-label {
  font-family: var(--fb), sans-serif;
  font-size: 0.58em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 0.25rem;
}

.aa-before .aa-label {
  color: var(--mu);
}

.aa-after .aa-label {
  color: #0f6e56;
}

.aa-txt {
  font-size: 0.75rem;
  color: #2a2a3d;
  line-height: 1.5;
  font-weight: 500;
}

.results-count {
  font-family: var(--fh), sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--mu);
  margin-bottom: 1.75rem;
}

.results-count span {
  background: var(--gt);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: 1.1rem;
}

/* Déroulement diagnostic (étapes visuelles) */
.derou-header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 3.5rem;
}

.derou-header h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}

.derou-header p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.8;
}

.derou-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
}

.derou-steps::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background: linear-gradient(90deg, #430069, #01b7ff, #40dda6, #f92c8b);
  z-index: 0;
}

.derou-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 1.25rem;
  position: relative;
  z-index: 1;
}

.ds-num {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid var(--bo);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 4px 16px rgba(59, 0, 79, 0.1);
  transition: border-color 0.25s;
  flex-shrink: 0;
}

.derou-step:hover .ds-num {
  border-color: var(--pink);
}

.ds-num-inner {
  background: var(--gr);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ds-time {
  font-family: var(--fb), sans-serif;
  font-size: 0.62em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--pink);
  margin-bottom: 0.4rem;
}

.ds-title {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  color: #2a2a3d;
  margin-bottom: 0.4rem;
  letter-spacing: 0.5px;
}

.ds-txt {
  font-size: 0.78rem;
  color: var(--mu);
  line-height: 1.65;
}

.derou-after {
  background: #fff;
  border-left: 4px solid var(--teal);
  border-radius: 4px;
  padding: 1.25rem 1.5rem;
  margin-top: 3rem;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}

.da-ico {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #40dda6, #01b7ff);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.1rem;
  color: #fff;
  font-family: var(--fh), sans-serif;
  font-weight: 700;
}

.da-txt h4 {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  color: #2a2a3d;
  margin-bottom: 0.2rem;
}

.da-txt p {
  font-size: 0.82rem;
  color: var(--mu);
  line-height: 1.65;
}

/* Qui sommes-nous - équipe & timeline */
.equipe-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin-bottom: 3.5rem;
  align-items: end;
}

.equipe-header h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
}

.equipe-header p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
}

.equipe-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}

.histoire-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin-bottom: 72px;
  align-items: end;
}

.histoire-header h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
}

.histoire-header p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.82;
}

.mc-av {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--pink);
  flex-shrink: 0;
}

.mc-av img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mc-nm {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  color: #fff;
}

.mc-rl {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
}

/* Partenaires - cibles & engagements */
.cibles-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}

.cible {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 14px;
  overflow: hidden;
  transition: all 0.25s;
  box-shadow: 0 2px 12px rgba(59, 0, 79, 0.05);
}

.cible:hover {
  box-shadow: var(--shl);
  transform: translateY(-4px);
  border-color: transparent;
}

.cible-img {
  width: 100%;
  height: 180px;
  overflow: hidden;
  position: relative;
}

.cible-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.78);
  transition: transform 0.35s;
}

.cible:hover .cible-img img {
  transform: scale(1.04);
}

.cible-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
}

.cible:nth-child(1) .cible-bar {
  background: linear-gradient(90deg, #430069, #01b7ff);
}

.cible:nth-child(2) .cible-bar {
  background: linear-gradient(90deg, #01b7ff, #40dda6);
}

.cible:nth-child(3) .cible-bar {
  background: linear-gradient(90deg, #40dda6, #ffd946);
}

.cible:nth-child(4) .cible-bar {
  background: linear-gradient(90deg, #ffa350, #ff0060);
}

.cible-body {
  padding: 1.75rem;
}

.cible-tag {
  display: inline-block;
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  padding: 0.2rem 0.7rem;
  border-radius: 99px;
  background: var(--ps);
  color: var(--pink);
  margin-bottom: 0.85rem;
}

.cible h3 {
  font-size: 18px;
  color: #2a2a3d;
  margin-bottom: 0.55rem;
  letter-spacing: 0.5px;
}

.cible p {
  font-size: 14px;
  color: var(--mu);
  line-height: 1.78;
  margin-bottom: 1.1rem;
}

.cible-exemples {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.cible-ex {
  font-size: 0.72rem;
  padding: 0.2rem 0.6rem;
  border-radius: 99px;
  background: var(--bg2);
  color: var(--mu);
  border: 1px solid var(--bo);
  font-family: var(--fn), sans-serif;
}

.eng-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.eng-photo {
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  position: relative;
  box-shadow: var(--shl);
}

.eng-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.eng-photo-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(59, 0, 79, 0.7));
}

.eng-photo-txt {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
}

.eng-photo-q {
  font-family: var(--fh), sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.5;
  margin-bottom: 0.65rem;
}

.eng-photo-sig {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.65);
  font-style: italic;
}

.eng-content h2 {
  font-size: clamp(26px, 3vw, 38px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 1rem;
  line-height: 1.08;
}

.eng-content p {
  font-size: 16px;
  color: var(--mu);
  line-height: 1.85;
  margin-bottom: 1.5rem;
}

.eng-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.eng {
  padding: 1.25rem;
  background: var(--bg2);
  border-radius: 12px;
  border: 1px solid var(--bo);
}

.eng-num {
  font-family: var(--fh), sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  background: var(--gr);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  margin-bottom: 0.4rem;
}

.eng h4 {
  font-size: 14px;
  color: #2a2a3d;
  font-weight: 700;
  margin-bottom: 0.3rem;
  letter-spacing: 0.5px;
}

.eng p {
  font-size: 13px;
  color: var(--mu);
  line-height: 1.7;
}

/* Diagnostic - widget sélection format */
.hbc-head {
  padding: 1.75rem 2rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.hbc-head-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

.hbc-title {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: #fff;
}

.hbc-badge {
  background: var(--pink);
  color: #fff;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.62em;
  text-transform: uppercase;
  letter-spacing: 3px;
  padding: 0.22rem 0.7rem;
  border-radius: 99px;
  box-shadow: var(--sp);
}

.hbc-sub {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.55;
}

.hbc-body {
  padding: 1.5rem 2rem 2rem;
}

.hbc-formats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.hbf {
  padding: 1rem;
  border-radius: 10px;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  cursor: pointer;
  transition: all 0.22s;
  text-align: center;
}

.hbf:hover, .hbf.active {
  border-color: var(--pink);
  background: rgba(249, 44, 139, 0.12);
}

.hbf-n {
  font-family: var(--fh), sans-serif;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hbf-l {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.65);
  margin-top: 0.25rem;
}

.hr-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.7);
}

.hr-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--teal);
  flex-shrink: 0;
}

/* story-accent - alias cohérent cross-pages */
/* / — styles migrés depuis les attributs inline */
body#page-accueil #hero .hero-inner > div:last-child {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

body#page-accueil #offres .offres-intro > p.fu {
  transition-delay: 0.08s;
}

body#page-accueil #offres .wrap > div:nth-child(3) {
  transition-delay: 0.08s;
}

body#page-accueil #offres .wrap > div:nth-child(4) {
  transition-delay: 0.16s;
}

body#page-accueil #diagnostic .diag-lbl {
  width: 100%;
}

body#page-accueil #diagnostic .diag-inner .fu > p.diag-para + p.diag-para {
  text-decoration: underline;
  margin-bottom: 2rem;
}

body#page-accueil #diagnostic .diag-livrables.fu {
  transition-delay: 0.12s;
}

body#page-accueil footer .f-logo {
  margin-bottom: 1rem;
}

/* /dirigeant — styles migrés depuis les attributs inline */
body#page-dirigeant #validation .val-layout > div.fu:nth-child(2) {
  transition-delay: 0.12s;
}

body#page-dirigeant #leviers .leviers-grid > .levier:nth-child(1) {
  transition-delay: 0.04s;
}

body#page-dirigeant #leviers .leviers-grid > .levier:nth-child(1) .levier-bar {
  background: linear-gradient(90deg, #430069, #01b7ff);
}

body#page-dirigeant #leviers .leviers-grid > .levier:nth-child(2) {
  transition-delay: 0.08s;
}

body#page-dirigeant #leviers .leviers-grid > .levier:nth-child(2) .levier-bar {
  background: linear-gradient(90deg, #01b7ff, #40dda6);
}

body#page-dirigeant #leviers .leviers-grid > .levier:nth-child(3) {
  transition-delay: 0.12s;
}

body#page-dirigeant #leviers .leviers-grid > .levier:nth-child(3) .levier-bar {
  background: linear-gradient(90deg, #40dda6, #ffd946);
}

body#page-dirigeant #leviers .leviers-grid > .levier:nth-child(4) {
  transition-delay: 0.16s;
}

body#page-dirigeant #leviers .leviers-grid > .levier:nth-child(4) .levier-bar {
  background: linear-gradient(90deg, #ffd946, #ffa350);
}

body#page-dirigeant #leviers .leviers-grid > .levier:nth-child(5) {
  transition-delay: 0.2s;
}

body#page-dirigeant #leviers .leviers-grid > .levier:nth-child(5) .levier-bar {
  background: linear-gradient(90deg, #ffa350, #ff0060);
}

body#page-dirigeant #leviers .leviers-grid > .levier:nth-child(6) {
  transition-delay: 0.24s;
}

body#page-dirigeant #leviers .leviers-grid > .levier:nth-child(6) .levier-bar {
  background: linear-gradient(90deg, #ff0060, #f92c8b);
}

body#page-dirigeant #leviers .cycle-wrap > div:nth-child(2) {
  position: relative;
  z-index: 1;
}

body#page-dirigeant #leviers .cycle-wrap > div:nth-child(2) > div:nth-child(1) {
  font-family: var(--fb), sans-serif;
  font-size: 0.65em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: rgba(255, 255, 255, 0.38);
  margin-bottom: 0.75rem;
}

body#page-dirigeant #leviers .cycle-wrap > div:nth-child(2) > div:nth-child(2) {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  color: #fff;
  line-height: 1.45;
  margin-bottom: 0.5rem;
}

body#page-dirigeant #leviers .cycle-wrap > div:nth-child(2) > div:nth-child(3) {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.45);
  line-height: 1.65;
}

body#page-dirigeant #leviers .cycle-wrap > div:nth-child(3) {
  position: relative;
  z-index: 1;
}

body#page-dirigeant #leviers .cycle-wrap .cycle-items {
  position: relative;
  z-index: 1;
}

body#page-dirigeant #offres .wrap > div:nth-child(4) {
  transition-delay: 0.08s;
}

body#page-dirigeant #offres .wrap > div:nth-child(5) {
  transition-delay: 0.16s;
}

body#page-dirigeant #temo .temo-sub + div {
  margin-top: 1.5rem;
}

body#page-dirigeant #temo .temo-photo.fu {
  transition-delay: 0.12s;
}

body#page-dirigeant #temo .temo-cards > .tc:nth-child(2) {
  transition-delay: 0.1s;
}

body#page-dirigeant #temo .temo-cards > .tc:nth-child(3) {
  transition-delay: 0.2s;
}

/* /entrepreneur — styles migrés depuis les attributs inline */
body#page-entrepreneur #validation .val-layout > div.fu:nth-child(2) {
  transition-delay: 0.12s;
}

body#page-entrepreneur #methode .stades-grid > .stade-col:nth-child(1) {
  transition-delay: 0.05s;
}

body#page-entrepreneur #methode .stades-grid > .stade-col:nth-child(1) .stade-num-inner {
  background: linear-gradient(120deg, #430069, #01b7ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-entrepreneur #methode .stades-grid > .stade-col:nth-child(2) {
  transition-delay: 0.12s;
}

body#page-entrepreneur #methode .stades-grid > .stade-col:nth-child(2) .stade-num-inner {
  background: linear-gradient(120deg, #01b7ff, #40dda6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-entrepreneur #methode .stades-grid > .stade-col:nth-child(3) {
  transition-delay: 0.2s;
}

body#page-entrepreneur #methode .stades-grid > .stade-col:nth-child(3) .stade-num-inner {
  background: linear-gradient(120deg, #40dda6, #f92c8b);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-entrepreneur #offres .wrap > div:nth-child(4) {
  transition-delay: 0.08s;
}

body#page-entrepreneur #offres .wrap > div:nth-child(5) {
  transition-delay: 0.16s;
}

body#page-entrepreneur #temo .temo-sub + div {
  margin-top: 1.5rem;
}

body#page-entrepreneur #temo .temo-header .fu > div > a[href="/realisations"] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--fb), sans-serif;
  font-weight: 700;
  font-size: 0.72em;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: var(--pink);
  border-bottom: 1.5px solid var(--pink);
  padding-bottom: 0.15rem;
  transition: gap 0.2s;
}

body#page-entrepreneur #temo .temo-photo.fu {
  transition-delay: 0.12s;
}

body#page-entrepreneur #temo .temo-cards > .tc:nth-child(2) {
  transition-delay: 0.1s;
}

body#page-entrepreneur #temo .temo-cards > .tc:nth-child(3) {
  transition-delay: 0.2s;
}

/* /entrepreneur — ex-bloc <style> dans le HTML */
body#page-entrepreneur #hero {
  min-height: 92vh;
}

body#page-entrepreneur .hero-inner {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 72px;
  align-items: center;
}

body#page-entrepreneur .hero-eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--pink);
  display: block;
}

body#page-entrepreneur #hero h1 {
  font-size: clamp(34px, 5vw, 62px);
  letter-spacing: -1px;
}

body#page-entrepreneur #hero .hero-sub {
  font-size: clamp(15px, 1.5vw, 18px);
  max-width: 520px;
}

body#page-entrepreneur #validation {
  background: var(--bg1);
  padding: 100px 0;
}

body#page-entrepreneur #methode {
  background: var(--bg2);
  padding: 100px 0;
}

body#page-entrepreneur #offres {
  background: var(--bg1);
  padding: 100px 0;
}

body#page-entrepreneur #temo {
  background: var(--bg3);
  padding: 100px 0 200px 0;
}

/* /dirigeant — ex-bloc <style> dans le HTML */
body#page-dirigeant #hero {
  min-height: 92vh;
}

body#page-dirigeant .hero-inner {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 72px;
  align-items: center;
}

body#page-dirigeant #hero h1 {
  font-size: clamp(34px, 5vw, 62px);
  letter-spacing: -1px;
}

body#page-dirigeant #hero .hero-sub {
  font-size: clamp(15px, 1.5vw, 18px);
  max-width: 520px;
}

body#page-dirigeant #validation {
  background: var(--bg1);
  padding: 100px 0;
}

body#page-dirigeant #leviers {
  background: var(--bg2);
  padding: 100px 0;
}

body#page-dirigeant #offres {
  background: var(--bg1);
  padding: 100px 0;
}

body#page-dirigeant #temo {
  background: var(--bg3);
  padding: 100px 0;
}

body#page-dirigeant #faq {
  background: var(--bg2);
  padding: 100px 0 200px 0;
}

body#page-dirigeant .leviers-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 3rem;
}

body#page-dirigeant .levier {
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 14px;
  padding: 1.75rem;
  position: relative;
  overflow: hidden;
  transition: all 0.25s;
  box-shadow: 0 2px 10px rgba(59, 0, 79, 0.05);
}

body#page-dirigeant .levier:hover {
  box-shadow: var(--shl);
  transform: translateY(-4px);
  border-color: transparent;
}

body#page-dirigeant .levier-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
}

body#page-dirigeant .levier-ico {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--gr);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: #fff;
  margin-bottom: 1rem;
  flex-shrink: 0;
}

body#page-dirigeant .levier h3 {
  font-size: 0.95rem;
  color: #2a2a3d;
  margin-bottom: 0.5rem;
  letter-spacing: 0.3px;
}

body#page-dirigeant .levier p {
  font-size: 0.82rem;
  color: var(--mu);
  line-height: 1.72;
}

body#page-dirigeant .cycle-wrap {
  background: linear-gradient(160deg, #5c1a7a 0%, #3b004f 28%, #2d0042 100%);
  border-radius: 20px;
  padding: 2.5rem 3rem;
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
  position: relative;
  overflow: hidden;
}

body#page-dirigeant .cycle-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--gr);
}

body#page-dirigeant .cycle-glow {
  position: absolute;
  right: -60px;
  top: -60px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(1, 183, 255, 0.12) 0%, transparent 65%);
  pointer-events: none;
}

body#page-dirigeant .cycle-items {
  display: flex;
  align-items: center;
  gap: 0;
  flex: 1;
  flex-wrap: wrap;
}

body#page-dirigeant .cycle-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 1.5rem;
  position: relative;
  z-index: 1;
}

body#page-dirigeant .cycle-num {
  font-family: var(--fh), sans-serif;
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: -1px;
  line-height: 1;
  background: var(--gl);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.4rem;
}

body#page-dirigeant .cycle-lbl {
  font-family: var(--fb), sans-serif;
  font-size: 0.6em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: rgba(255, 255, 255, 0.5);
}

body#page-dirigeant .cycle-arrow {
  font-size: 1.4rem;
  color: rgba(255, 255, 255, 0.2);
  padding: 0 0.5rem;
}

body#page-dirigeant .cycle-cta {
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}

@media (max-width: 960px) {
  body#page-dirigeant .hero-inner {
    grid-template-columns: 1fr;
  }
  body#page-dirigeant .hero-visual {
    display: none;
  }
  body#page-dirigeant .leviers-grid {
    grid-template-columns: 1fr;
  }
  body#page-dirigeant .temo-header {
    grid-template-columns: 1fr;
  }
  body#page-dirigeant .val-layout {
    grid-template-columns: 1fr;
  }
  body#page-dirigeant .faq-lay {
    grid-template-columns: 1fr;
  }
  body#page-dirigeant .offre-item {
    grid-template-columns: 1fr;
  }
  body#page-dirigeant .diag-banner {
    grid-template-columns: 1fr;
  }
  body#page-dirigeant .temo-cards {
    grid-template-columns: 1fr;
  }
  body#page-dirigeant .cycle-wrap {
    flex-direction: column;
    text-align: center;
  }
  body#page-dirigeant .fg {
    grid-template-columns: 1fr 1fr;
  }
}
/* /coaching — styles migrés depuis les attributs inline */
body#page-coaching #seance .step:nth-child(1) .step-n {
  background: linear-gradient(120deg, #430069, #01b7ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-coaching #seance .step:nth-child(2) .step-n {
  background: linear-gradient(120deg, #01b7ff, #40dda6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-coaching #seance .step:nth-child(3) .step-n {
  background: linear-gradient(120deg, #40dda6, #ffd946);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-coaching #seance .step:nth-child(4) .step-n {
  background: linear-gradient(120deg, #ffd946, #f92c8b);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-coaching #seance .step:nth-child(5) .step-n {
  background: linear-gradient(120deg, #f92c8b, #430069);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Le reste des styles spécifiques coaching est déjà présent dans style.css (sections packs/pourqui/seance/temo/autres/faq/ctaf/footer) */
body#page-coaching .fu {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

body#page-coaching .fu.v {
  opacity: 1;
  transform: none;
}

@media (max-width: 960px) {
  body#page-coaching .hero-layout {
    grid-template-columns: 1fr;
  }
  body#page-coaching .promesse-grid {
    grid-template-columns: 1fr;
  }
}
/* /strategies — styles migrés depuis les attributs inline */
body#page-strategies #promesse .promesse-grid > .fu:first-child {
  transition-delay: 0.1s;
}

body#page-strategies #strategies .wrap > h2.fu {
  transition-delay: 0.05s;
  font-size: clamp(28px, 3.2vw, 40px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}

body#page-strategies #strategies .strat-sub.fu {
  transition-delay: 0.1s;
}

body#page-strategies #strategies .strat-grid > .strat:nth-child(2) {
  transition-delay: 0.1s;
}

body#page-strategies #strategies .strat-grid > .strat:nth-child(3) {
  transition-delay: 0.15s;
}

body#page-strategies #strategies .strat-grid > .strat:nth-child(4) {
  transition-delay: 0.2s;
}

body#page-strategies #process .steps.fu {
  transition-delay: 0.1s;
}

body#page-strategies #process .step:nth-child(1) .step-n {
  background: linear-gradient(120deg, #430069, #01b7ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-strategies #process .step:nth-child(2) .step-n {
  background: linear-gradient(120deg, #01b7ff, #40dda6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-strategies #process .step:nth-child(3) .step-n {
  background: linear-gradient(120deg, #40dda6, #ffd946);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-strategies #process .step:nth-child(4) .step-n {
  background: linear-gradient(120deg, #ffd946, #f92c8b);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body#page-strategies #pourqui .pourqui-grid > .fu:last-child {
  transition-delay: 0.15s;
}

body#page-strategies #temo .temo-photo.fu {
  transition-delay: 0.1s;
}

body#page-strategies #temo .temo-cards > .tc:nth-child(2) {
  transition-delay: 0.1s;
}

body#page-strategies #temo .temo-cards > .tc:nth-child(3) {
  transition-delay: 0.2s;
}

body#page-strategies #autres .wrap > h2.fu {
  transition-delay: 0.05s;
  font-size: clamp(26px, 3vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
}

body#page-strategies #autres .autres-sub.fu {
  transition-delay: 0.1s;
}

body#page-strategies #autres .autres-grid > .autre:last-child {
  transition-delay: 0.1s;
}

/* /contact — styles migrés depuis les attributs inline */
body#page-contact #contact-main .diag-card .lbl.lbl-w {
  margin-bottom: 0.85rem;
}

body#page-contact #contact-main .form-success .btn {
  margin-top: 1.5rem;
}

body#page-contact #contact-main .contact-infos.fu {
  transition-delay: 0.12s;
}

body#page-contact #contact-main .coords-list .coord:nth-child(1) .coord-ico {
  background: linear-gradient(135deg, #430069, #01b7ff);
}

body#page-contact #contact-main .coords-list .coord:nth-child(2) .coord-ico {
  background: linear-gradient(135deg, #01b7ff, #40dda6);
}

body#page-contact #contact-main .coords-list .coord:nth-child(3) .coord-ico {
  background: linear-gradient(135deg, #40dda6, #ffd946);
}

body#page-contact #contact-main .coords-list .coord:nth-child(4) .coord-ico {
  background: linear-gradient(135deg, #ffa350, #ff0060);
}

body#page-contact #map-section .map-iframe.fu {
  transition-delay: 0.1s;
  position: relative;
}

body#page-contact #faq .faq-layout > .fu:first-child h2 {
  font-size: clamp(24px, 2.5vw, 34px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
  margin-bottom: 1.25rem;
}

body#page-contact #faq .faq-layout > .fu:first-child p {
  font-size: 15px;
  color: var(--mu);
  line-height: 1.8;
  margin-bottom: 2rem;
}

body#page-contact #faq .faq-layout > .fu:first-child a.btn {
  margin-top: 0.5rem;
}

body#page-contact #faq .faq-layout > .fu:last-child {
  transition-delay: 0.1s;
}

body#page-contact #ctaf .ctaf-note {
  margin-top: 1rem;
}

/* /diagnostic — styles migrés depuis les attributs inline */
body#page-diagnostic #obtient .obtient-visual.fu {
  transition-delay: 0.15s;
}

body#page-diagnostic #pourqui .profils-grid > .profil:nth-child(2) {
  transition-delay: 0.1s;
}

body#page-diagnostic #pourqui .profils-grid > .profil:nth-child(3) {
  transition-delay: 0.2s;
}

body#page-diagnostic #pourqui .profil-unknown {
  transition-delay: 0.3s;
  max-width: 100%;
}

body#page-diagnostic #temo .wrap > div:first-child {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 3rem;
  flex-wrap: wrap;
  gap: 1.5rem;
}

body#page-diagnostic #temo .wrap > div:first-child .fu h2 {
  font-size: clamp(26px, 3vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  line-height: 1.08;
}

body#page-diagnostic #temo .wrap > div:first-child > a.btn.fu {
  transition-delay: 0.1s;
}

body#page-diagnostic #temo .temo-cards > .tc:nth-child(2) {
  transition-delay: 0.1s;
}

body#page-diagnostic #temo .temo-cards > .tc:nth-child(3) {
  transition-delay: 0.2s;
}

/* /ebooks — styles migrés depuis les attributs inline */
body#page-ebooks #promesse .promesse-grid > .fu:last-child {
  transition-delay: 0.1s;
}

body#page-ebooks #options .options-grid > .option.option-complet {
  transition-delay: 0.1s;
}

body#page-ebooks #options .option.option-complet .option-note {
  color: rgba(255, 255, 255, 0.4);
}

body#page-ebooks #options .comparatif.fu {
  transition-delay: 0.1s;
}

body#page-ebooks #collections .wrap > h2.fu {
  font-size: clamp(28px, 3.2vw, 40px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
  transition-delay: 0.05s;
}

body#page-ebooks #collections .coll-sub.fu {
  transition-delay: 0.1s;
}

body#page-ebooks #collections .coll-grid .coll:nth-child(1) {
  transition-delay: 0.25s;
}

body#page-ebooks #collections .coll-grid .coll:nth-child(3),
body#page-ebooks #collections .coll-grid .coll:nth-child(4),
body#page-ebooks #collections .coll-grid .coll:nth-child(6),
body#page-ebooks #collections .coll-grid .coll:nth-child(10),
body#page-ebooks #collections .coll-grid .coll:nth-child(11) {
  transition-delay: 0.1s;
}

body#page-ebooks #collections .coll-grid .coll:nth-child(5),
body#page-ebooks #collections .coll-grid .coll:nth-child(14),
body#page-ebooks #collections .coll-grid .coll:nth-child(15) {
  transition-delay: 0.15s;
}

body#page-ebooks #collections .coll-grid .coll:nth-child(7),
body#page-ebooks #collections .coll-grid .coll:nth-child(9),
body#page-ebooks #collections .coll-grid .coll:nth-child(12) {
  transition-delay: 0.2s;
}

body#page-ebooks #collections .coll-grid .coll:nth-child(8),
body#page-ebooks #collections .coll-grid .coll:nth-child(13),
body#page-ebooks #collections .coll-grid .coll:nth-child(16) {
  transition-delay: 0.25s;
}

body#page-ebooks #acces .acces-visual.fu {
  transition-delay: 0.15s;
}

body#page-ebooks #temo .temo-photo.fu,
body#page-ebooks #temo .temo-cards > .tc:nth-child(2) {
  transition-delay: 0.1s;
}

body#page-ebooks #temo .temo-cards > .tc:nth-child(3) {
  transition-delay: 0.2s;
}

body#page-ebooks #autres .wrap > h2.fu {
  font-size: clamp(26px, 3vw, 36px);
  color: #2a2a3d;
  letter-spacing: -0.5px;
  margin-bottom: 0.75rem;
  line-height: 1.08;
  transition-delay: 0.05s;
}

body#page-ebooks #autres .autres-sub.fu,
body#page-ebooks #autres .autres-grid > .autre,
.nl li.has-drop {
  position: relative;
}

.nl li.has-drop > a::after {
  content: "▾";
  font-size: 0.65em;
  margin-left: 0.35rem;
  vertical-align: middle;
  opacity: 0.6;
}

.drop {
  display: none;
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border: 1px solid var(--bo);
  border-radius: 10px;
  box-shadow: 0 12px 32px -6px rgba(59, 0, 79, 0.13);
  min-width: 180px;
  padding: 0.5rem 0;
  z-index: 200;
  text-align: center;
}

.nl li.has-drop:hover .drop,
.nl li.has-drop:focus-within .drop {
  display: block;
}

.drop a {
  display: block;
  padding: 0.55rem 1.25rem;
  font-family: var(--fn), sans-serif;
  font-size: 0.88rem;
  color: var(--pd);
  white-space: nowrap;
  transition: background 0.15s, color 0.15s;
}

.drop a:hover {
  background: var(--bg2);
  color: var(--pink);
}

.drop::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 50%;
  width: 10px;
  height: 10px;
  background: #fff;
  border-left: 1px solid var(--bo);
  border-top: 1px solid var(--bo);
  transform: translateX(-50%) rotate(45deg);
}

/*# sourceMappingURL=styles.css.map */
