/* =====================================================================
   pm-v3.css — thème des pages formation (style « PM Corp IA », noir + orange)

   Tout le contenu des pages formation est enveloppé dans <main id="v3">.
   Le sélecteur d'id l'emporte sur les styles de classe historiques de chaque
   page : on repeint ici tous les composants sans toucher à leur contenu
   (Qualiopi compris). Header, méga-menus et footer restent hors de #v3.
   ===================================================================== */

body.pm-v3 { background: #060607; }

#v3 {
  --v3-bg: #060607;
  --v3-bg-2: #0B0B0D;
  --v3-surface: #121215;
  --v3-surface-2: #18181C;
  --v3-line: rgba(255, 255, 255, .08);
  --v3-line-2: rgba(255, 255, 255, .16);
  --v3-text: #F4F4F6;
  --v3-muted: #A0A0AB;
  --v3-dim: #6B6B76;
  --v3-orange: #FF6833;
  --v3-orange-2: #FFB088;
  --v3-display: "Bricolage Grotesque", "Geist", system-ui, sans-serif;

  /* Les anciens jetons « encre » des pages claires, inversés pour le fond sombre */
  --ink-950: #F4F4F6;
  --ink-900: #E7E7EA;
  --ink-700: #C9C9D0;
  --ink-500: #A0A0AB;
  --ink-300: rgba(255, 255, 255, .22);
  --ink-200: rgba(255, 255, 255, .12);
  --ink-100: rgba(255, 255, 255, .06);
  --ink-50: rgba(255, 255, 255, .03);
  --bone: #060607;
  --orange-50: rgba(255, 104, 51, .12);

  display: block;
  background: var(--v3-bg);
  color: var(--v3-text);
  counter-reset: v3sec;
  overflow-x: clip;
}

/* ---------- Sections ---------- */
#v3 > section {
  position: relative;
  background: var(--v3-bg);
  color: var(--v3-text);
  padding: 130px 0;
  border-top: 1px solid var(--v3-line);
}
#v3 > section.hero { border-top: 0; }
#v3 > section:nth-of-type(2n) { background: var(--v3-bg-2); }
#v3 .container { position: relative; z-index: 1; }

/* ---------- Typographie ---------- */
#v3 :is(h1, h2, h3, h4) { color: var(--v3-text); }
#v3 :is(.section-title, .photos-section-title, .photos-section-title-dark, .photos-problem-title, .photos-cta-title, .rn-cta h2, .v3-title) {
  font-family: var(--v3-display);
  font-weight: 800;
  font-size: clamp(40px, 5.4vw, 74px);
  line-height: 1.02;
  letter-spacing: -.035em;
  color: var(--v3-text);
  max-width: 18ch;
}
#v3 .section-head.is-centered .section-title,
#v3 .rn-cta h2 { margin-left: auto; margin-right: auto; }
#v3 :is(.section-title, .photos-section-title, .photos-section-title-dark, .photos-problem-title, .photos-cta-title, .rn-cta h2, .v3-title, .hero-formation-title, .photos-h1) em {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
  color: var(--v3-orange);
}
#v3 :is(.section-intro, .photos-section-intro, .photos-section-intro-dark) {
  color: var(--v3-muted);
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.6;
  max-width: 680px;
}
#v3 :is(.section-intro, .photos-section-intro) strong { color: var(--v3-text); }

/* Surtitres numérotés « 01 · LE PROGRAMME » */
#v3 :is(.section-eyebrow, .photos-eyebrow) {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  border: 0;
  background: none;
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--v3-orange);
}
#v3 :is(.section-eyebrow, .photos-eyebrow)::before {
  counter-increment: v3sec;
  content: counter(v3sec, decimal-leading-zero);
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: var(--v3-orange);
  color: #0B0B0D;
  font-size: 11px;
  letter-spacing: 0;
  font-weight: 700;
}
#v3 .photos-eyebrow-line { display: none; }

/* ---------- Boutons ---------- */
#v3 .btn-primary,
.pm-v3 .pm-sticky-cta a {
  background: var(--v3-orange, #FF6833);
  color: #fff;
  border: 0;
  border-radius: 14px;
  padding: 17px 28px;
  font-weight: 700;
  box-shadow: 0 14px 40px -12px rgba(255, 104, 51, .75);
  transition: transform .2s ease, box-shadow .2s ease;
}
#v3 .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 20px 50px -12px rgba(255, 104, 51, .95); }
#v3 :is(.btn-secondary, .btn-secondary-light) {
  background: rgba(255, 255, 255, .03);
  color: var(--v3-text);
  border: 1px solid var(--v3-line-2);
  border-radius: 14px;
  padding: 17px 28px;
}
#v3 :is(.btn-secondary, .btn-secondary-light):hover { background: rgba(255, 255, 255, .07); }

/* ---------- Cartes : une seule matière pour tout ---------- */
#v3 :is(.atretenir-cell, .indicateur-card, .objectif-card, .module-item, .programme-sidebar, .howit-card, .fin3-card,
        .rcard, .faq-item-v2, .faq-side-card, .cross-sell-item, .rn-step, .rn-eq-card, .reviews-trust-item,
        .ia-drain, .ia-fear, .ia-ba-col, .ia-figure, .ia-offer-main, .ia-offer-list, .ia-tool, .ia-calc-side, .pm-journey-cta,
        .photos-friction-card, .photos-bonus-card, .photos-pricing-card, .howit-inscription, .fin3-cta, .indicateurs-footer, .rn-path-note) {
  background: linear-gradient(180deg, var(--v3-surface), var(--v3-bg-2));
  border: 1px solid var(--v3-line);
  border-radius: 20px;
  box-shadow: none;
  color: var(--v3-text);
}
#v3 :is(.howit-card, .fin3-card, .objectif-card, .indicateur-card, .cross-sell-item, .rcard, .ia-fear, .ia-figure, .photos-friction-card, .photos-bonus-card):hover {
  border-color: rgba(255, 104, 51, .35);
}
#v3 :is(.howit-card-text, .howit-card-list li, .fin3-card-tagline, .fin3-card-list li, .indicateur-sub, .indicateur-label, .module-tagline,
        .module-body, .module-body li, .faq-content-v2, .cross-sell-desc, .rcard-quote, .rcard-meta, .atretenir-cell-sub, .fa-fact-s, .rn-fact-s,
        .rn-step p, .pm-step-text, .ia-fear .howit-card-text, .ia-figure p, .ia-ba li, .ia-offer-list li, .rn-eq-row) {
  color: var(--v3-muted);
}
#v3 :is(.howit-card-title, .fin3-card-title, .objectif-title, .module-title, .cross-sell-title, .rcard-title, .rcard-name,
        .faq-q-text, .atretenir-cell-value, .fa-fact-v, .rn-fact-v, .pm-step-title, .programme-sidebar-title) {
  color: var(--v3-text);
}
#v3 :is(.howit-card-eyebrow, .fin3-card-tag, .objectif-num, .module-num, .faq-q-num, .atretenir-cell-label, .fa-fact-k, .rn-fact-k, .indicateurs-block-label, .module-body-section-title) {
  color: var(--v3-orange);
}
#v3 :is(.howit-card-icon, .fin3-card-icon, .atretenir-cell-icon, .cross-sell-icon) {
  background: rgba(255, 104, 51, .12);
  border: 1px solid rgba(255, 104, 51, .3);
  color: var(--v3-orange);
}
#v3 :is(.module-num, .faq-q-num, .objectif-num) { background: rgba(255, 104, 51, .12); border-color: rgba(255, 104, 51, .3); }
#v3 :is(.module-duration, .module-chevron, .faq-chevron) { background: rgba(255, 255, 255, .05); border-color: var(--v3-line); color: var(--v3-muted); }
#v3 .module-item[open] { border-color: rgba(255, 104, 51, .4); }

/* Grands numéros en filigrane dans les cartes, comme sur ia.pmcorp.fr */
#v3 :is(.howit-grid, .objectifs-grid, .fin3-grid) { counter-reset: v3card; }
#v3 :is(.howit-card, .fin3-card) { position: relative; overflow: hidden; }
#v3 :is(.howit-card, .fin3-card)::after {
  counter-increment: v3card;
  content: counter(v3card);
  position: absolute;
  right: 22px;
  top: 14px;
  font-family: var(--v3-display);
  font-size: 92px;
  font-weight: 800;
  line-height: .9;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, .12);
  pointer-events: none;
}
#v3 .fin3-card-num { display: none; }

/* Tableaux de faits (certification, infos pratiques) */
#v3 :is(.fa-facts, .rn-facts) {
  background: linear-gradient(180deg, var(--v3-surface), var(--v3-bg-2));
  border: 1px solid var(--v3-line);
  border-radius: 20px;
  overflow: hidden;
}
#v3 :is(.fa-fact, .rn-fact) { background: transparent; border-color: var(--v3-line); }
#v3 :is(.fa-fact-v, .rn-fact-v) a { color: var(--v3-orange); }

/* Programme : colonne « en un coup d'œil » */
#v3 .programme-sidebar-stats, #v3 .pss-cell { border-color: var(--v3-line); background: transparent; }
#v3 .pss-cell-value { color: var(--v3-text); font-family: var(--v3-display); }
#v3 .pss-cell-label, #v3 .programme-sidebar-eyebrow { color: var(--v3-muted); }

/* ---------- Hero ---------- */
#v3 .hero {
  background: var(--v3-bg);
  padding-top: 150px;
  padding-bottom: 90px;
  overflow: hidden;
}
#v3 .hero .hero-grid-bg {
  background-image: radial-gradient(rgba(255, 255, 255, .16) 1px, transparent 1px);
  background-size: 28px 28px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 40% 40%, #000 20%, transparent 75%);
  mask-image: radial-gradient(ellipse 70% 60% at 40% 40%, #000 20%, transparent 75%);
  opacity: 1;
}
#v3 .hero .hero-formation-glow {
  width: 140%;
  height: 560px;
  left: -20%;
  right: auto;
  top: -160px;
  border-radius: 0;
  /* Faisceau en dégradés purs : un flou CSS aussi large fait apparaître des carrés sur Safari */
  background:
    radial-gradient(28% 70% at 50% 0%, rgba(255, 176, 136, .22), transparent 70%),
    radial-gradient(45% 85% at 50% 0%, rgba(255, 104, 51, .30), transparent 72%),
    radial-gradient(70% 100% at 50% 0%, rgba(255, 104, 51, .10), transparent 75%);
  filter: none;
  opacity: 1;
}
#v3 :is(.hero-formation-title, .photos-h1) {
  font-family: var(--v3-display);
  font-weight: 800;
  font-size: clamp(50px, 6.6vw, 104px);
  line-height: .98;
  letter-spacing: -.045em;
  color: var(--v3-text);
}
#v3 .h1-kw { font-family: var(--font-mono); letter-spacing: .16em; font-weight: 600; }
#v3 :is(.hero-subtitle, .photos-subtitle) { color: var(--v3-muted); font-size: clamp(17px, 1.4vw, 20px); }
#v3 :is(.hero-subtitle, .photos-subtitle) strong { color: var(--v3-text); }
#v3 :is(.hero-step-chip, .rn-hero-level) {
  background: rgba(18, 18, 21, .7);
  border: 1px solid var(--v3-line-2);
  color: var(--v3-muted);
  backdrop-filter: blur(8px);
}
#v3 .breadcrumb { background: rgba(18, 18, 21, .6); border-color: var(--v3-line); }
#v3 :is(.bc-link, .bc-static) { color: var(--v3-muted); }

/* La fiche officielle reste la pièce maîtresse du hero (RS et RNCP : DA Qualiopi conservée) */
#v3 .hero-spec-card {
  background: linear-gradient(180deg, #17171B, #0D0D10);
  border: 1px solid var(--v3-line-2);
  box-shadow: 0 40px 100px -40px rgba(255, 104, 51, .45), inset 0 1px 0 rgba(255, 255, 255, .06);
  color: var(--v3-text);
}
#v3 .hero-spec-card :is(.hsc-cell-value, .rn-hero-code, .hsc-certif) { color: var(--v3-text); }
#v3 .hero-spec-card :is(.hsc-cell-label, .hsc-official-label) { color: var(--v3-dim); }
#v3 .hero-spec-card .hsc-official-text { color: var(--v3-muted); }
#v3 .hero-spec-card .hsc-divider { background: var(--v3-line); }
#v3 :is(.fa-hero-dates > div, .rn-hero-dates > div) { background: rgba(255, 255, 255, .03); border-color: var(--v3-line); color: var(--v3-muted); }
#v3 :is(.fa-hero-dates, .rn-hero-dates) b { color: var(--v3-text); }

/* Bande de chiffres du hero → pastilles */
#v3 .hero-trust-band {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  background: none;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin-top: 64px;
}
#v3 .htb-divider { display: none; }
#v3 .htb-item {
  flex: 1 1 180px;
  align-items: flex-start;
  text-align: left;
  padding: 18px 22px;
  border-radius: 16px;
  background: linear-gradient(180deg, var(--v3-surface), var(--v3-bg-2));
  border: 1px solid var(--v3-line);
}
#v3 .htb-num { font-family: var(--v3-display); font-size: 30px; letter-spacing: -.03em; color: var(--v3-text); }
#v3 .htb-num small { color: var(--v3-orange); }
#v3 .htb-label { color: var(--v3-muted); text-transform: none; letter-spacing: 0; font-family: var(--font-sans); font-size: 13px; }

/* ---------- Bandeau des logos (outils, certifications, avis) ---------- */
.v3-strip { padding: 0 !important; border-top: 1px solid var(--v3-line); }
.v3-strip-head {
  max-width: var(--container, 1240px);
  margin: 0 auto;
  padding: 34px 32px 0;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 20px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--v3-dim);
}
.v3-strip-head b { color: var(--v3-orange); font-weight: 500; }
.v3-logos { overflow: hidden; padding: 26px 0 34px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.v3-logos-track { display: flex; gap: 14px; width: max-content; animation: v3Marq 40s linear infinite; }
.v3-logos:hover .v3-logos-track { animation-play-state: paused; }
.v3-tool {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 18px 10px 10px;
  border-radius: 16px;
  background: linear-gradient(180deg, var(--v3-surface), var(--v3-bg-2));
  border: 1px solid var(--v3-line);
  white-space: nowrap;
}
.v3-tool i {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #fff;
  flex: none;
  font-style: normal;
  font-weight: 800;
  color: #0B0B0D;
  font-size: 15px;
}
.v3-tool i.is-dark { background: #1C1C21; color: var(--v3-orange); border: 1px solid var(--v3-line-2); }
.v3-tool i img { width: 24px; height: 24px; object-fit: contain; }
.v3-tool i svg { width: 22px; height: 22px; }
.v3-tool b { display: block; font-size: 15px; color: var(--v3-text); font-weight: 700; }
.v3-tool small { display: block; font-size: 12px; color: var(--v3-dim); }
@keyframes v3Marq { to { transform: translateX(-50%); } }

/* Preuves : certifications + notes */
.v3-proof { padding: 56px 0 !important; }
.v3-proof-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 16px; }
.v3-proof-certs, .v3-proof-reviews {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 20px;
  border-radius: 20px;
  border: 1px solid var(--v3-line);
  background: linear-gradient(180deg, var(--v3-surface), var(--v3-bg-2));
}
.v3-cert {
  display: grid;
  place-items: center;
  height: 64px;
  padding: 0 18px;
  border-radius: 14px;
  background: #fff;
  color: #0B0B0D;
}
.v3-cert img { max-height: 40px; max-width: 120px; object-fit: contain; }
.v3-cert.is-text { font-family: var(--font-mono); font-size: 11.5px; line-height: 1.25; text-align: center; letter-spacing: .04em; }
.v3-cert.is-text b { display: block; font-family: var(--v3-display); font-size: 17px; letter-spacing: -.01em; }
.v3-proof-note { flex-basis: 100%; margin: 4px 0 0; font-family: var(--font-mono); font-size: 11px; color: var(--v3-dim); line-height: 1.5; }
.v3-rating { flex: 1 1 160px; display: flex; align-items: center; gap: 14px; padding: 8px 6px; }
.v3-rating i { width: 48px; height: 48px; border-radius: 14px; background: #fff; display: grid; place-items: center; flex: none; }
.v3-rating i img { width: 26px; height: 26px; }
.v3-rating strong { display: block; font-family: var(--v3-display); font-size: 28px; letter-spacing: -.03em; line-height: 1; color: var(--v3-text); }
.v3-rating strong small { font-size: 15px; color: var(--v3-muted); }
.v3-rating span { display: block; margin-top: 4px; font-size: 13px; color: var(--v3-muted); }
.v3-rating .v3-stars { color: var(--v3-orange); letter-spacing: 2px; font-size: 13px; }

/* Bandeau de mots-clés « ✦ » */
.v3-marquee { padding: 22px 0 !important; overflow: hidden; background: var(--v3-bg-2) !important; }
.v3-marquee-track { display: flex; gap: 56px; width: max-content; animation: v3Marq 38s linear infinite; font-family: var(--v3-display); font-weight: 700; font-size: 24px; letter-spacing: -.01em; color: var(--v3-dim); }
.v3-marquee-track span { display: flex; align-items: center; gap: 56px; white-space: nowrap; }
.v3-marquee-track span::after { content: "✦"; color: var(--v3-orange); }

/* Grande phrase « … c'est fini. » */
.v3-statement { text-align: center; padding: 150px 0 !important; }
.v3-statement-logos { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-bottom: 36px; }
.v3-statement-logos i {
  position: relative;
  width: 52px; height: 52px; border-radius: 14px;
  display: grid; place-items: center;
  background: #2A2A30; filter: grayscale(1); opacity: .7;
}
.v3-statement-logos i img { width: 26px; height: 26px; }
.v3-statement-logos i::after {
  content: ""; position: absolute; left: 8px; right: 8px; top: 50%; height: 3px; border-radius: 3px;
  background: var(--v3-orange); transform: rotate(-35deg);
}
.v3-statement h2 {
  font-family: var(--v3-display);
  font-weight: 800;
  font-size: clamp(60px, 11vw, 168px);
  line-height: .9;
  letter-spacing: -.055em;
  color: var(--v3-text);
  margin: 0;
}
.v3-statement h2 em { font-style: normal; color: var(--v3-orange); }
.v3-statement p { max-width: 720px; margin: 34px auto 0; font-size: clamp(19px, 2vw, 26px); line-height: 1.4; font-weight: 600; color: var(--v3-text); }
.v3-statement p em { font-style: normal; color: var(--v3-orange); }
.v3-statement .v3-statement-sub { margin-top: 14px; font-size: 16px; font-weight: 400; color: var(--v3-muted); }

/* ---------- Composants existants à repeindre ---------- */
/* Logos Qualiopi / certificateurs (ancienne bande) : tuiles blanches */
#v3 .partenaires-section { padding: 70px 0; }
#v3 .partenaire-item img { background: #fff; padding: 12px 16px; border-radius: 14px; }
#v3 .partenaire-mention { color: var(--v3-dim); }
#v3 .partenaire-separator { background: var(--v3-line); }

/* Indicateurs Qualiopi */
#v3 .indicateur-value { color: var(--v3-text); font-family: var(--v3-display); }
#v3 .indicateur-unit { color: var(--v3-orange); }
#v3 .indicateurs-footer-text, #v3 .indicateurs-note { color: var(--v3-dim); }

/* Avis */
#v3 .rcard-source, #v3 .rti-count { color: var(--v3-dim); }
#v3 .reviews-marquee { -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }

/* FAQ */
#v3 .faq-summary-v2 { color: var(--v3-text); }
#v3 :is(.faq-tabs, .faq-tab) { background: var(--v3-surface); color: var(--v3-text); border-color: var(--v3-line); }

/* Parcours, galerie, CTA final */
#v3 .pm-journey-section { background: var(--v3-bg); }
#v3 .pm-gallery-section { background: var(--v3-bg-2); }
#v3 .pm-gallery figure { border: 1px solid var(--v3-line); }
#v3 .pm-gallery-note { color: var(--v3-dim); }
#v3 .rn-cta {
  background: radial-gradient(60% 80% at 50% 0%, rgba(255, 104, 51, .28), transparent 70%), var(--v3-bg);
  color: var(--v3-text);
}
#v3 .rn-cta > .container { background: none; box-shadow: none; }
#v3 .rn-cta p { color: var(--v3-muted); }
#v3 .rn-legal-line { color: var(--v3-dim); }

/* Pages RNCP : parcours des 4 blocs, débouchés, équivalences */
#v3 .rn-step.is-final { border-color: rgba(255, 104, 51, .55); background: linear-gradient(180deg, rgba(255, 104, 51, .14), var(--v3-bg-2)); }
#v3 .rn-step-dot { background: rgba(255, 104, 51, .12); color: var(--v3-orange); border-color: rgba(255, 104, 51, .3); }
#v3 .rn-chip { background: var(--v3-surface); border-color: var(--v3-line); color: var(--v3-muted); }

/* Page IA */
#v3 .ia-drain-bar { background: rgba(255, 255, 255, .06); }
#v3 .ia-drain-total { border-top-color: var(--v3-line-2); }
#v3 .ia-punch { color: var(--v3-text); font-family: var(--v3-display); }
#v3 .ia-punch em { font-family: inherit; font-style: normal; }
#v3 .ia-ba-col.is-after { background: linear-gradient(180deg, rgba(255, 104, 51, .16), var(--v3-bg-2)); border-color: rgba(255, 104, 51, .45); }
#v3 .ia-offer-list { border-left: 1px solid var(--v3-line); }
#v3 .ia-offer-main h3, #v3 .ia-ba-head, #v3 .ia-figure-num { font-family: var(--v3-display); }
#v3 .ia-calc-claim em { font-family: inherit; font-style: normal; }

/* Page photos (ancienne palette crème) */
#v3 :is(.photos-problem, .photos-beforeafter, .photos-programme, .photos-method, .photos-pourqui, .photos-bonus, .photos-pricing, .photos-cta-final, .partners) {
  background: var(--v3-bg);
}
#v3 .hero-photos { background: var(--v3-bg); }

@media (max-width: 960px) {
  #v3 > section { padding: 92px 0; }
  .v3-proof-grid { grid-template-columns: 1fr; }
  .v3-statement { padding: 100px 0 !important; }
  #v3 .hero { padding-top: 120px; }
  #v3 :is(.howit-card, .fin3-card)::after { font-size: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  .v3-logos-track, .v3-marquee-track { animation: none; }
}

/* ---------- Correctifs : blocs dont le fond clair est écrit en dur ---------- */
#v3 :is([style*="background: white"], [style*="background:white"], [style*="background: #fff"], [style*="background:#fff"], [style*="background: var(--white)"]) {
  background: linear-gradient(180deg, var(--v3-surface), var(--v3-bg-2)) !important;
  border-color: var(--v3-line) !important;
}
#v3 .fin3-cta-bar {
  background: radial-gradient(80% 140% at 0% 0%, rgba(255, 104, 51, .22), transparent 60%), linear-gradient(180deg, var(--v3-surface), var(--v3-bg-2));
  border: 1px solid rgba(255, 104, 51, .35);
  color: var(--v3-text);
}
#v3 .fin3-cta-eyebrow { color: var(--v3-orange); }
#v3 .fin3-cta-label, #v3 .fin3-cta-text { color: var(--v3-text); }
#v3 .tp-cta-button { background: var(--v3-surface); border-color: var(--v3-line-2); }
#v3 :is(.tp-cta-rating, .tp-cta-label) { color: var(--v3-text); }
#v3 :is(.tp-cta-rating-max, .tp-cta-rating-count, .tp-cta-eyebrow) { color: var(--v3-muted); }
#v3 .tp-cta-right { border-color: var(--v3-line); }

/* Italique serif : remplacé partout par l'orange plein du style IA */
#v3 :is(.v3-statement, .faq-side-card, .ia-calc-section, .pm-journey-cta, .photos-cta-final, .photos-problem) em,
#v3 .v3-statement h2 em .pm-w > span {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
  color: var(--v3-orange);
}
#v3 .faq-side-title em { font-family: var(--v3-display); font-weight: 800; }

/* ---------- Page photos ---------- */
/* Illustrations claires (magazine, annonces avant/après, maquettes) : on leur rend les jetons d'origine */
#v3 :is(.photos-cover, .photos-hero-right [class^="psf"], .photos-hero-right [class*=" psf"], .photos-listing, .photos-ba-split > *, .photos-pillar-visual) {
  --ink-950: #0E0E0F;
  --ink-900: #18181B;
  --ink-700: #3F3F46;
  --ink-500: #71717A;
  --ink-300: #D4D4D8;
  --ink-200: #E4E4E7;
  --ink-100: #F4F4F5;
  --ink-50: #FAFAFA;
  --bone: #F4EFE6;
  color: #0E0E0F;
}
/* Chiffres clés du hero → pastilles comme sur les autres pages */
#v3 .photos-keyfacts {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  background: none;
  border: 0;
  box-shadow: none;
  padding: 0;
}
#v3 .pkf-sep { display: none; }
#v3 .pkf-item {
  flex: 1 1 150px;
  padding: 18px 22px;
  border-radius: 16px;
  background: linear-gradient(180deg, var(--v3-surface), var(--v3-bg-2));
  border: 1px solid var(--v3-line);
  text-align: left;
  align-items: flex-start;
}
#v3 .pkf-num { font-family: var(--v3-display); font-size: 30px; letter-spacing: -.03em; color: var(--v3-text); }
#v3 .pkf-num small { color: var(--v3-orange); }
#v3 .pkf-label { color: var(--v3-muted); }
#v3 .partners { padding: 56px 0; }
#v3 .photos-midconv {
  background: radial-gradient(80% 140% at 0% 0%, rgba(255, 104, 51, .22), transparent 60%), linear-gradient(180deg, var(--v3-surface), var(--v3-bg-2));
  border: 1px solid rgba(255, 104, 51, .35);
  color: var(--v3-text);
}
#v3 .photos-midconv :is(p, span, strong, div) { color: var(--v3-text); }
#v3 .photos-midconv em { font-family: inherit; font-style: normal; color: var(--v3-orange); }
#v3 .pbc-tag { background: rgba(255, 255, 255, .05); border-color: var(--v3-line); color: var(--v3-muted); }
#v3 .photos-garantie em, #v3 .photos-pricing em { font-family: inherit; font-style: normal; font-weight: inherit; color: var(--v3-orange); }

/* ---------- Page publicité en ligne (thème clair d'origine) ---------- */
#v3 .rn-step-dot { background: var(--v3-surface); border-color: var(--v3-line-2); box-shadow: 0 0 0 8px var(--v3-bg); }
#v3 .rn-step.is-final .rn-step-dot { background: var(--v3-orange); color: #fff; box-shadow: 0 0 0 8px var(--v3-bg), 0 10px 40px rgba(255, 104, 51, .45); }
#v3 .rn-path-note { background: linear-gradient(180deg, var(--v3-surface), var(--v3-bg-2)); border-color: var(--v3-line); color: var(--v3-muted); }
#v3 .rn-path-note strong { color: var(--v3-text); }
#v3 .rn-light-ind.indicateurs-section { background: var(--v3-bg); color: var(--v3-text); border-color: var(--v3-line); }
#v3 .rn-jobs-meta > div { background: linear-gradient(180deg, var(--v3-surface), var(--v3-bg-2)); border-color: var(--v3-line); }
#v3 .rn-jobs-meta p { color: var(--v3-muted); }
#v3 :is(.rn-table-scroll, .rn-stats-table) { background: linear-gradient(180deg, var(--v3-surface), var(--v3-bg-2)) !important; border-color: var(--v3-line) !important; color: var(--v3-text); }
#v3 .rn-stats-table :is(th, td) { background: transparent !important; border-color: var(--v3-line) !important; color: var(--v3-muted); }
#v3 .rn-stats-table td:first-child, #v3 .rn-stats-table td strong { color: var(--v3-text); }
#v3 .ia-tool b { display: flex; align-items: center; gap: 10px; }
#v3 .ia-tool-logo { width: 30px; height: 30px; border-radius: 9px; background: #fff; display: grid; place-items: center; flex: none; }
#v3 .ia-tool-logo img { width: 18px; height: 18px; object-fit: contain; }
#v3 .ia-tool:not(.is-on) .ia-tool-logo { filter: grayscale(1); opacity: .6; }
#v3 .v3-statement-logos i { background: #3A3A42; opacity: .9; }
/* Le halo animé (.pm-aurora) laisse des carrés vides sous Safari/WebKit : remplacé par des dégradés fixes */
#v3 .pm-aurora { display: none; }
#v3 :is(.pm-journey-section, .ia-calc-section, .ia-figures-section) {
  background: radial-gradient(50% 60% at 15% 0%, rgba(255, 104, 51, .16), transparent 70%), var(--v3-bg);
}

/* =====================================================================
   VARIANTES PAR PAGE — même identité, compositions différentes
   body.v3-agent  · « dossier officiel »  (hero en 2 colonnes, phrase en gris + orange)
   body.v3-pub    · « tableau de bord »   (hero centré, grille des régies, bande orange)
   body.v3-photos · « magazine »          (palette chaude, titres surlignés, bande crème)
   body.v3-ia     · « PM Corp IA »        (hero centré géant, points, avis en premier)
   ===================================================================== */

/* ---------- AGENT : grande phrase alignée à gauche, première partie en gris ---------- */
.v3-agent #v3 .v3-statement { text-align: left; }
.v3-agent #v3 .v3-statement h2 {
  font-size: clamp(56px, 9.5vw, 150px);
  color: #34343C;
  max-width: 11ch;
}
.v3-agent #v3 .v3-statement h2 em,
.v3-agent #v3 .v3-statement h2 em * { color: var(--v3-orange); }
.v3-agent #v3 .v3-statement p { margin-left: 0; text-align: left; }

/* ---------- PUB : hero centré, fiche RNCP en largeur ---------- */
.v3-pub #v3 .hero-grid-formation { grid-template-columns: 1fr; gap: 64px; text-align: center; }
.v3-pub #v3 .hero-left { max-width: 980px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; }
.v3-pub #v3 .hero-formation-title { max-width: 14ch; margin-left: auto; margin-right: auto; }
.v3-pub #v3 .hero-subtitle { max-width: 760px; margin-left: auto; margin-right: auto; }
.v3-pub #v3 .hero-ctas { justify-content: center; }
.v3-pub #v3 .hero-right { width: 100%; max-width: 1080px; margin: 0 auto; text-align: left; }
.v3-pub #v3 .hsc-grid { grid-template-columns: repeat(4, 1fr); }
.v3-pub #v3 .hero-trust-band { justify-content: center; }
.v3-pub #v3 .breadcrumb { margin-left: auto; margin-right: auto; }
/* Régies en grille fixe plutôt qu'en défilement */
.v3-pub .v3-logos { -webkit-mask-image: none; mask-image: none; padding: 26px 32px 40px; }
.v3-pub .v3-logos-track { animation: none; width: auto; max-width: 1176px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.v3-pub .v3-logos-track > [aria-hidden] { display: none !important; }
.v3-pub .v3-tool { padding: 14px 18px 14px 14px; }
/* Titres centrés, fond quadrillé, cartes soulignées d'orange */
.v3-pub #v3 .section-head { text-align: center; }
.v3-pub #v3 .section-head :is(.section-title, .section-intro) { margin-left: auto; margin-right: auto; }
.v3-pub #v3 > section:not(.hero):not(.v3-marquee):not(.v3-strip):not(.v3-statement) {
  background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 64px 64px;
}
.v3-pub #v3 :is(.howit-card, .objectif-card, .indicateur-card, .rn-eq-card, .module-item) { border-top: 2px solid var(--v3-orange); }
.v3-pub #v3 :is(.howit-card, .fin3-card)::after { display: none; }
/* Preuves sur une seule ligne, sans cadre */
.v3-pub .v3-proof-grid { grid-template-columns: 1fr; }
.v3-pub .v3-proof-certs, .v3-pub .v3-proof-reviews { background: none; border: 0; padding: 0; justify-content: center; }
.v3-pub .v3-proof-note { text-align: center; }
.v3-pub .v3-rating { flex: 0 1 auto; }
/* Grande phrase sur une bande orange, en deux colonnes */
.v3-pub #v3 .v3-statement {
  text-align: left;
  background: linear-gradient(120deg, #FF6833, #FF8A50 60%, #FFB088);
  border-top: 0;
  padding: 120px 0 !important;
}
.v3-pub #v3 .v3-statement .container { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: end; }
.v3-pub #v3 .v3-statement h2 { color: #0B0B0D; font-size: clamp(56px, 8vw, 128px); }
.v3-pub #v3 .v3-statement h2 em,
.v3-pub #v3 .v3-statement h2 em .pm-w > span { color: #fff; }
.v3-pub #v3 .v3-statement p { margin: 0; text-align: left; color: #0B0B0D; }
.v3-pub #v3 .v3-statement p em { color: #fff; }

/* ---------- PHOTOS : palette chaude « magazine » ---------- */
.v3-photos #v3 {
  --v3-bg: #0D0A08;
  --v3-bg-2: #14100C;
  --v3-surface: #1C1713;
  --v3-line: rgba(255, 220, 190, .09);
  --v3-line-2: rgba(255, 220, 190, .18);
  --v3-muted: #B3A79C;
  --v3-dim: #7D7168;
}
body.v3-photos { background: #0D0A08; }
.v3-photos #v3 :is(.section-title, .photos-section-title, .photos-section-title-dark, .photos-problem-title, .photos-cta-title) em,
.v3-photos #v3 :is(.section-title, .photos-section-title, .photos-section-title-dark, .photos-problem-title, .photos-cta-title) em .pm-w > span {
  color: var(--v3-text);
}
.v3-photos #v3 :is(.section-title, .photos-section-title, .photos-section-title-dark, .photos-problem-title, .photos-cta-title) em {
  background: linear-gradient(transparent 58%, rgba(255, 104, 51, .55) 58%, rgba(255, 104, 51, .55) 92%, transparent 92%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.v3-photos #v3 :is(.photos-friction-card, .photos-bonus-card, .photos-pricing-card, .v3-tool, .v3-proof-certs, .v3-proof-reviews) { border-radius: 28px; }
/* Logiciels : pastilles rondes, centrées, fixes */
.v3-photos .v3-logos { -webkit-mask-image: none; mask-image: none; padding: 30px 32px 44px; }
.v3-photos .v3-logos-track { animation: none; width: auto; max-width: 1100px; margin: 0 auto; flex-wrap: wrap; justify-content: center; }
.v3-photos .v3-logos-track > [aria-hidden] { display: none !important; }
.v3-photos .v3-tool { flex-direction: column; text-align: center; padding: 20px 22px; min-width: 150px; }
.v3-photos .v3-tool i { width: 60px; height: 60px; border-radius: 50%; }
.v3-photos .v3-tool i img, .v3-photos .v3-tool i svg { width: 30px; height: 30px; }
.v3-photos .v3-strip-head { justify-content: center; gap: 14px; }
/* Avis en avant, certifications en dessous */
.v3-photos .v3-proof-grid { grid-template-columns: 1fr; max-width: 820px; margin: 0 auto; }
.v3-photos .v3-proof-reviews { order: -1; justify-content: center; }
.v3-photos .v3-proof-certs { justify-content: center; }
/* Grande phrase sur papier crème, comme une couverture */
.v3-photos #v3 .v3-statement { background: #F4EFE6; border-top: 0; }
.v3-photos #v3 .v3-statement h2 { color: #0E0E0F; }
.v3-photos #v3 .v3-statement h2 em,
.v3-photos #v3 .v3-statement h2 em .pm-w > span { color: var(--v3-orange); }
.v3-photos #v3 .v3-statement p { color: #0E0E0F; }
.v3-photos #v3 .v3-statement p em { color: #C44A21; }

/* ---------- IA : hero centré géant, mots-clés juste dessous ---------- */
.v3-ia #v3 { display: flex; flex-direction: column; }
.v3-ia #v3 > .hero { order: -2; }
.v3-ia #v3 > .v3-marquee { order: -1; }
.v3-ia #v3 .hero-grid-formation { grid-template-columns: 1fr; text-align: center; }
.v3-ia #v3 .hero-left { max-width: 1120px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; }
.v3-ia #v3 .hero-right { display: none; }
.v3-ia #v3 .hero-formation-title { font-size: clamp(54px, 8.6vw, 132px); max-width: 12ch; margin-left: auto; margin-right: auto; }
.v3-ia #v3 .hero-subtitle { max-width: 720px; margin-left: auto; margin-right: auto; }
.v3-ia #v3 .hero-ctas, .v3-ia #v3 .hero-trust-band { justify-content: center; }
.v3-ia #v3 .breadcrumb { margin-left: auto; margin-right: auto; }
.v3-ia #v3 > section:not(.hero):not(.v3-marquee):not(.v3-strip):not(.v3-statement) {
  background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px);
  background-size: 28px 28px;
}
.v3-ia .v3-logos-track { animation-direction: reverse; }
.v3-ia .v3-proof-grid { grid-template-columns: 1fr 1.2fr; }
.v3-ia .v3-proof-reviews { order: -1; }

@media (max-width: 960px) {
  .v3-pub #v3 .hsc-grid { grid-template-columns: repeat(2, 1fr); }
  .v3-pub .v3-logos-track { grid-template-columns: repeat(2, 1fr); }
  .v3-pub #v3 .v3-statement .container { grid-template-columns: 1fr; gap: 24px; }
  .v3-ia .v3-proof-grid { grid-template-columns: 1fr; }
  .v3-photos .v3-tool { min-width: 130px; }
}
.v3-pub #v3 .breadcrumb, .v3-ia #v3 .breadcrumb { display: flex; width: fit-content; margin-left: auto; margin-right: auto; }

/* ---------- IA : hero repris de ia.pmcorp.fr ---------- */
.v3-ia #v3 .hero { min-height: 100vh; display: flex; align-items: center; padding-top: 110px; padding-bottom: 70px; }
.v3-ia #v3 .hero > .container { width: 100%; }
.v3-ia #v3 .breadcrumb { display: none; }
.v3-ia #v3 .ia-badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 8px 18px 8px 8px;
  border-radius: 999px;
  border: 1px solid var(--v3-line-2);
  background: rgba(18, 18, 21, .7);
  backdrop-filter: blur(8px);
  font-size: 14px;
  color: var(--v3-muted);
  margin-bottom: 26px;
}
.v3-ia #v3 .ia-badge b {
  background: var(--v3-orange);
  color: #fff;
  font-family: var(--font-mono);
  font-size: 11.5px;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 5px 11px;
  border-radius: 999px;
}
.v3-ia #v3 .ia-badge strong { color: var(--v3-text); font-weight: 600; }
.v3-ia #v3 .hero-formation-title.ia-h1 { font-size: clamp(44px, 6.2vw, 96px); max-width: 1100px; line-height: 1; margin-bottom: 26px; }
.v3-ia #v3 .ia-h1 .h1-kw { font-size: 13px; margin-bottom: 22px; }
.v3-ia #v3 .ia-row { display: block; }
.v3-ia #v3 .ia-h1-sub { font-size: .62em; margin-top: .25em; color: var(--v3-muted); }
.v3-ia #v3 .ia-swap { display: inline-block; min-width: 4.2ch; text-align: left; color: var(--v3-orange); }
.v3-ia #v3 .ia-swap > span { display: inline-block; animation: iaSwapIn .6s cubic-bezier(.2, .7, .2, 1); }
@keyframes iaSwapIn { from { opacity: 0; transform: translateY(.4em) rotateX(-60deg); } }
.v3-ia #v3 .hero-subtitle { max-width: 700px; text-align: center; }
.v3-ia #v3 .ia-chips { margin-top: 48px; }
.v3-ia #v3 .ia-chips .htb-item { flex: 0 1 auto; flex-direction: row; align-items: center; gap: 14px; padding: 16px 22px; }
.v3-ia #v3 .ia-chips .htb-item > span { display: flex; flex-direction: column; }
.v3-ia #v3 .ia-chips .htb-num { font-size: 22px; line-height: 1.1; }
.v3-ia #v3 .ia-chip-ic { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; flex: none; background: rgba(255, 104, 51, .12); color: var(--v3-orange); }
.v3-ia #v3 .ia-chip-ic svg { width: 20px; height: 20px; }
@media (prefers-reduced-motion: reduce) { .v3-ia #v3 .ia-swap > span { animation: none; } }
@media (max-width: 760px) {
  .v3-ia #v3 .hero { min-height: 0; }
  .v3-ia #v3 .ia-badge { font-size: 12.5px; text-align: left; }
  .v3-ia #v3 .ia-chips .htb-item { flex: 1 1 100%; }
}
