/* cernio · feuille partagee du site public · v01 · 10 septembre 2026
   Sortie des documents index.html. Elle vit a la racine, a cote de /fonts/ :
   les chemins de polices se resolvent par rapport a cette feuille, jamais
   par rapport a la page qui l'appelle. La version est dans le nom. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/inter-400-italic.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-500.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-600.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/inter-700.woff2') format('woff2');}

/* ================================================================
   CERNIO — Landing one-page phase 1 — Chantier 2 (piliers réécrits)
   Direction "split assumé" — fluide à toutes les résolutions
   Stylesheet · Charte v2 stricte
   ================================================================ */

:root {
  --terracotta: #C4513A;
  --terracotta-deep: #B0442F;
  --anthracite: #1A1A1A;
  --ink-900: #0F1419;
  --ink-700: #1F2937;
  --ink-500: #4B5563;
  --ink-300: #9CA3AF;
  --ink-100: #E5E7EB;
  --cream: #FBFAF7;
  --cream-warm: #FBF4F1;
  --paper: #FFFFFF;
  --error: #8A2F22;
  --success: #4A7A5C;
  --success-soft: #E8F0EB;

  --s-1: 4px;   --s-2: 8px;   --s-3: 12px;  --s-4: 16px;
  --s-5: 24px;  --s-6: 32px;  --s-7: 48px;  --s-8: 64px;
  --s-9: 96px;  --s-10: 128px;

  --r-1: 3px;   --r-2: 6px;   --r-3: 12px;
  --z-header: 100;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  font-feature-settings: 'cv11', 'ss01', 'ss03';
  color: var(--ink-900);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
}
body { font-size: 16px; line-height: 1.6; }
a { color: var(--ink-900); text-decoration: none; }
a:hover { color: var(--terracotta); }

.container {
  width: 100%;
  max-width: 1440px;
  padding: 0 clamp(24px, 5vw, 96px);
  margin: 0 auto;
}

.visually-hidden {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* HEADER */
.site-header {
  position: sticky; top: 0; z-index: var(--z-header);
  background: var(--cream);
  border-top: 3px solid var(--terracotta);
  border-bottom: 1px solid var(--ink-100);
}
.site-header .container {
  display: flex; align-items: center; justify-content: space-between;
  height: 72px;
}
.brand { display: inline-flex; align-items: center; }
.brand svg { display: block; }
.header-right { display: flex; align-items: center; gap: var(--s-5); }

/* BOUTONS */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  height: 44px; padding: 0 var(--s-5);
  border-radius: var(--r-2); border: 1px solid transparent;
  font-family: inherit; font-size: 14px; font-weight: 500;
  letter-spacing: -0.005em; cursor: pointer; text-decoration: none;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
  white-space: nowrap;
}
.btn-primary {
  background: var(--terracotta); color: var(--paper); border-color: var(--terracotta);
}
.btn-primary:hover {
  background: var(--terracotta-deep); border-color: var(--terracotta-deep); color: var(--paper);
}
.cta-header {
  display: inline-flex; align-items: center; justify-content: center;
  height: 36px; padding: 0 var(--s-4);
  background: var(--terracotta); color: var(--paper);
  border-radius: var(--r-2); font-size: 13px; font-weight: 500;
  transition: background 120ms ease; white-space: nowrap;
}
.cta-header:hover { background: var(--terracotta-deep); color: var(--paper); }
.header-link {
  font-size: 13px;
  color: var(--ink-500);
  font-weight: 500;
  text-decoration: none;
  transition: color 120ms ease;
  white-space: nowrap;
}
.header-link:hover { color: var(--terracotta); }

/* NAV STATIQUE — toujours visible dans le header */
.section-nav {
  display: flex;
  align-items: center;
  gap: var(--s-5);
  font-size: 13px;
}
.section-nav a {
  color: var(--ink-700);
  text-decoration: none;
  font-weight: 500;
  white-space: nowrap;
  transition: color 120ms ease;
}
.section-nav a:hover { color: var(--terracotta); }

/* HERO */
.hero {
  padding: var(--s-8) 0 var(--s-7);
  background: var(--cream);
  position: relative; overflow: hidden;
}
.hero-content {
  display: flex; flex-direction: column; gap: var(--s-6);
  max-width: 1100px;
}
.claim {
  font-size: clamp(38px, 3.5vw, 64px);
  line-height: 1.02; letter-spacing: -0.035em; font-weight: 600;
  color: var(--ink-900);
  text-wrap: balance;
}
.extension {
  font-size: clamp(17px, 1.4vw, 24px);
  line-height: 1.45; color: var(--ink-500);
  font-weight: 400; font-style: italic;
}
.hero-pitch {
  font-size: clamp(16px, 1.3vw, 20px);
  line-height: 1.6; color: var(--ink-700);
  font-weight: 400;
  max-width: 720px;
}
.hero--entreprise .hero-content { gap: var(--s-4); }
.hero-eyebrow-ent { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 600; color: var(--terracotta); }
.hero-title-ent { font-size: clamp(26px, 2.6vw, 42px); line-height: 1.05; letter-spacing: -0.03em; font-weight: 600; color: var(--ink-900); text-wrap: balance; }
.hero-signature { font-size: 14px; font-style: italic; color: var(--ink-300); margin-top: var(--s-3); }
.hero-proofs {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: var(--s-3) var(--s-4);
  font-size: 13px; font-weight: 500; color: var(--ink-700);
  padding-top: var(--s-5); border-top: 1px solid var(--ink-100);
}
.hero-proofs .dot {
  display: inline-block; width: 4px; height: 4px; border-radius: 50%;
  background: var(--terracotta);
}

/* 4 PILIERS */
.pillars {
  padding: var(--s-7) 0;
  background: var(--cream);
  border-top: 1px solid var(--ink-100);
}
.pillars-head { margin-bottom: var(--s-7); }
.pillars-head .kicker {
  display: inline-block; font-size: 11px;
  text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--terracotta); font-weight: 600; margin-bottom: var(--s-3);
}
.pillars-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--s-7);
  position: relative; padding-top: var(--s-6);
}
.pillars-grid::before {
  content: ""; position: absolute;
  top: calc(var(--s-6) + 36px);
  left: 36px; right: 36px; height: 1px;
  background: var(--terracotta);
}
.pillar {
  display: flex; flex-direction: column; gap: var(--s-2);
  position: relative; background: var(--cream); padding-right: var(--s-4);
  min-width: 0;
}
.pillar-tag { font-size: 12px; font-weight: 600; letter-spacing: 1px; color: var(--ink-300); font-variant-numeric: tabular-nums; }
.pillar-num {
  font-size: clamp(40px, 3vw, 48px);
  line-height: 1; font-weight: 600; color: var(--terracotta);
  letter-spacing: -0.04em;
  background: var(--cream); padding: 0 var(--s-3) 0 0;
  position: relative; z-index: 1; width: fit-content;
}
.pillar h3 {
  font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.2; letter-spacing: -0.015em; font-weight: 600;
  color: var(--ink-900); margin-top: 0;
}
.pillar p {
  font-size: clamp(14px, 1vw, 15px);
  line-height: 1.6; color: var(--ink-500);
}

/* MÉTHODE */
.method {
  padding: var(--s-7) 0;
  background: var(--cream);
  border-top: 1px solid var(--ink-100);
}
.section-head { margin-bottom: var(--s-7); max-width: 880px; }
.kicker {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--terracotta); font-weight: 600;
  margin-bottom: var(--s-3); display: block;
}
.section-head h2 {
  font-size: clamp(26px, 2.6vw, 42px);
  line-height: 1.05; letter-spacing: -0.03em; font-weight: 600;
  color: var(--ink-900); text-wrap: balance;
}
.section-head .lede {
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.6; color: var(--ink-700);
  margin-top: var(--s-4); max-width: 720px;
}
.steps {
  list-style: none;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--s-7);
  position: relative; padding-top: var(--s-7);
}
.steps::before {
  content: ""; position: absolute;
  top: calc(var(--s-7) + 36px);
  left: 36px; right: 36px; height: 1px;
  background: var(--terracotta);
}
.steps li {
  display: flex; flex-direction: column; gap: var(--s-4);
  position: relative; background: var(--cream);
  padding-right: var(--s-4); min-width: 0;
}
.step-num {
  font-size: clamp(40px, 3vw, 48px);
  line-height: 1; font-weight: 600; color: var(--ink-300);
  letter-spacing: -0.04em;
  background: var(--cream); padding: 0 var(--s-3) 0 0;
  position: relative; z-index: 1; width: fit-content;
}
.steps h3 {
  font-size: clamp(20px, 1.7vw, 26px);
  line-height: 1.2; letter-spacing: -0.015em; font-weight: 600;
  color: var(--ink-900); margin-top: var(--s-2);
}
.steps p {
  font-size: clamp(14px, 1vw, 16px);
  line-height: 1.6; color: var(--ink-500);
}
.method-link {
  margin-top: var(--s-7);
  padding-top: var(--s-5);
  border-top: 1px solid var(--ink-100);
  font-size: 14.5px;
  color: var(--ink-500);
  line-height: 1.6;
  max-width: 720px;
}
.method-link a {
  color: var(--terracotta);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(196, 81, 58, 0.4);
  font-weight: 500;
}
.method-link a:hover { text-decoration-color: var(--terracotta); }

/* CONTACT */
.contact {
  padding: var(--s-7) 0;
  background: var(--cream);
  border-top: 1px solid var(--ink-100);
}
.contact-head { margin-bottom: var(--s-8); max-width: 760px; }
.contact-head h2 {
  font-size: clamp(26px, 2.6vw, 42px);
  line-height: 1.05; letter-spacing: -0.03em; font-weight: 600;
  color: var(--ink-900);
}
.contact-head .lede {
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.6; color: var(--ink-700);
  margin-top: var(--s-4);
}
.contact-channels {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 32px);
  margin-bottom: var(--s-7);
}
.channel-card {
  padding: var(--s-6);
  background: var(--paper);
  border: 1px solid var(--ink-100);
  border-radius: var(--r-2);
  display: flex; flex-direction: column; gap: var(--s-3);
  transition: border-color 120ms ease, transform 120ms ease;
  min-width: 0;
}
.channel-card.is-primary { border-left: 3px solid var(--terracotta); }
.channel-card:hover { border-color: var(--ink-300); }
.channel-kicker {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--terracotta); font-weight: 600;
}
.channel-card h3 {
  font-size: 20px; line-height: 1.2; letter-spacing: -0.015em;
  font-weight: 600; color: var(--ink-900);
}
.channel-card p {
  font-size: 14px; line-height: 1.55; color: var(--ink-500);
  flex-grow: 1;
}
.channel-card .channel-action { margin-top: var(--s-3); }
.channel-card .channel-action a {
  display: inline-flex; align-items: center; gap: var(--s-2);
  font-size: 14px; font-weight: 500;
  color: var(--terracotta);
  text-decoration: underline; text-underline-offset: 3px;
  text-decoration-color: rgba(196, 81, 58, 0.4);
}
.channel-card .channel-action a:hover { text-decoration-color: var(--terracotta); }
.channel-card.is-primary .channel-action a {
  padding: 0 var(--s-5); height: 44px;
  background: var(--terracotta); color: var(--paper);
  border-radius: var(--r-2); text-decoration: none; white-space: nowrap;
  transition: background 120ms ease;
}
.channel-card.is-primary .channel-action a:hover {
  background: var(--terracotta-deep); color: var(--paper);
}
.contact-footer {
  display: flex; align-items: flex-start; gap: var(--s-7);
  padding-top: var(--s-7); border-top: 1px solid var(--ink-100);
  flex-wrap: wrap;
}
.contact-address {
  font-style: normal; font-size: 14px; line-height: 1.7; color: var(--ink-700);
}
.contact-address strong {
  display: block; font-size: 11px;
  text-transform: uppercase; letter-spacing: 0.14em;
  font-weight: 600; color: var(--ink-900);
  margin-bottom: var(--s-2);
}

/* BRIDGE candidat */
.candidate-bridge {
  padding: var(--s-8) 0;
  background: var(--cream);
  border-top: 1px solid var(--ink-100);
}
.candidate-bridge-inner {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(24px, 4vw, 80px); align-items: center;
}
.candidate-bridge-text {
  display: flex; flex-direction: column; gap: var(--s-2); min-width: 0;
}
.candidate-bridge h3 {
  font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1.2; letter-spacing: -0.02em; font-weight: 600;
  color: var(--ink-900);
}
.candidate-bridge p {
  font-size: clamp(15px, 1.1vw, 17px);
  line-height: 1.6; color: var(--ink-500);
}

/* AUDIENCE */
.audience {
  padding: var(--s-8) 0;
  background: var(--cream);
  border-top: 1px solid var(--ink-100);
}
.audience-intro {
  font-size: 13px; text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--ink-500); font-weight: 500;
  margin: var(--s-6) 0 var(--s-5);
}
.audience-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-5);
}
.audience-card {
  padding: var(--s-5);
  background: var(--paper);
  border: 1px solid var(--ink-100);
  border-radius: var(--r-2);
  border-left: 3px solid var(--terracotta);
}
.audience-card h3 {
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.25; font-weight: 600;
  color: var(--ink-900); margin-bottom: var(--s-3);
}
.audience-card p {
  font-size: 14px; line-height: 1.6; color: var(--ink-500);
}
.audience-note {
  margin-top: var(--s-6);
  font-size: 14px; color: var(--ink-500); line-height: 1.6;
}
.audience-note a {
  color: var(--terracotta);
  text-decoration: underline; text-underline-offset: 3px;
  text-decoration-color: rgba(196, 81, 58, 0.4);
  font-weight: 500;
}
.audience-note a:hover { text-decoration-color: var(--terracotta); }

/* =====================================================================
   COST-CONTEXT — Le coût d'un mauvais recrutement (NOUVELLE SECTION)
   Insérée entre .audience et .pricing — structure paire ent/candidat
   ===================================================================== */
.cost-context {
  padding: var(--s-8) 0;
  background: var(--cream-warm);
  border-top: 1px solid var(--ink-100);
}
.cost-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin-top: var(--s-5);
  border: 1px solid var(--ink-100);
  background: var(--paper);
}
.cost-side {
  padding: var(--s-6);
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}
.cost-side + .cost-side {
  border-left: 1px solid var(--ink-100);
}
.cost-tag {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--terracotta);
  font-weight: 600;
}
.cost-number {
  font-size: clamp(30px, 2.6vw, 40px);
  line-height: 1;
  letter-spacing: -0.035em;
  font-weight: 600;
  color: var(--ink-900);
  margin-top: var(--s-2);
}
.cost-unit {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ink-500);
  font-weight: 500;
  margin-top: var(--s-1);
  margin-bottom: var(--s-3);
}
.cost-side p {
  font-size: clamp(14px, 1vw, 16px);
  line-height: 1.7;
  color: var(--ink-700);
  margin: 0;
}
.cost-source {
  font-size: 12px;
  color: var(--ink-500);
  margin-top: var(--s-4);
  font-style: italic;
}
.cost-condensed { margin-top: var(--s-5); max-width: 760px; }
.cost-condensed > p:first-child { font-size: clamp(16px,1.4vw,20px); line-height: 1.6; color: var(--ink-700); }
.cost-condensed strong { font-weight: 600; color: var(--ink-900); white-space: nowrap; }
.cost-pivot {
  margin-top: var(--s-6);
  padding-top: var(--s-5);
  border-top: 1px solid var(--ink-100);
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.6;
  color: var(--ink-900);
  font-weight: 500;
  max-width: 760px;
}

/* PRICING */
.pricing {
  padding: var(--s-8) 0;
  background: var(--cream);
  border-top: 1px solid var(--ink-100);
}
.pricing-body {
  max-width: 760px;
  margin-top: var(--s-5);
}
.pricing-body p {
  font-size: clamp(15px, 1.1vw, 18px);
  line-height: 1.7;
  color: var(--ink-700);
  margin-bottom: var(--s-4);
}
.pricing-body p:last-child { margin-bottom: 0; }
.pricing-body .pricing-condition {
  color: var(--ink-900);
  font-weight: 500;
  padding-top: var(--s-4);
  margin-top: var(--s-4);
  border-top: 1px solid var(--ink-100);
}

/* BRAND-NAME — étymologie, bandeau court entre FAQ et À propos */
.brand-name {
  padding: var(--s-7) 0;
  background: var(--cream);
  border-top: 1px solid var(--ink-100);
  border-bottom: 1px solid var(--ink-100);
}
.brand-name .kicker { margin-bottom: var(--s-3); }
.brand-name-text {
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.4;
  letter-spacing: -0.015em;
  color: var(--ink-900);
  font-weight: 500;
  max-width: 720px;
  margin: 0;
}
.brand-name-text em {
  font-style: italic;
  color: var(--terracotta);
}

/* ABOUT */
.about {
  padding: var(--s-8) 0;
  background: var(--cream);
  border-top: 1px solid var(--ink-100);
}
.about-body { max-width: 760px; margin-top: var(--s-5); }
.about-body p {
  font-size: clamp(15px, 1.1vw, 18px);
  line-height: 1.75; color: var(--ink-700);
  margin-bottom: var(--s-4);
}
.about-body em { font-style: italic; color: var(--terracotta); }
.about-link { margin-top: var(--s-5); font-size: 14px !important; }
.about-link a {
  color: var(--terracotta);
  text-decoration: underline; text-underline-offset: 3px;
  text-decoration-color: rgba(196, 81, 58, 0.4);
  font-weight: 500;
}
.about-link a:hover { text-decoration-color: var(--terracotta); }

/* FOOTER */
.site-footer {
  background: var(--cream); border-top: 1px solid var(--ink-100);
  padding: var(--s-9) 0 var(--s-6);
  font-size: 13px; color: var(--ink-500);
}
.footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.9fr) minmax(0, 0.9fr) minmax(0, 0.9fr) minmax(0, 1.4fr);
  gap: clamp(24px, 3.5vw, 56px);
  padding-bottom: var(--s-7);
  border-bottom: 1px solid var(--ink-100);
}
.footer-identity svg { margin-bottom: var(--s-5); }
.manifesto { font-size: 14px; line-height: 1.6; color: var(--ink-500); }
.manifesto strong {
  color: var(--ink-900); font-weight: 600;
  display: block; margin-bottom: var(--s-2);
}
.manifesto em { font-style: italic; color: var(--ink-500); }
.footer-news h4 {
  font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--ink-900); margin-bottom: var(--s-3);
}
.news-sub { font-size: 13px; color: var(--ink-500); margin-bottom: var(--s-4); line-height: 1.6; }
.news-seg { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-4); margin-bottom: var(--s-3); }
.news-seg label {
  display: inline-flex; align-items: center; gap: var(--s-2);
  font-size: 13px; color: var(--ink-700); cursor: pointer;
}
.news-seg input {
  accent-color: var(--terracotta);
  width: 16px; height: 16px; margin: 0; cursor: pointer;
}
.news-row { display: flex; flex-direction: column; gap: var(--s-2); }
.news-row input {
  height: 44px; padding: 0 var(--s-4);
  border: 1px solid var(--ink-100); border-radius: var(--r-2);
  font-family: inherit; font-size: 14px;
  background: var(--paper); color: var(--ink-900);
}
.news-row input::placeholder { color: var(--ink-300); }
.news-row input:focus {
  outline: none; border-color: var(--terracotta);
  box-shadow: 0 0 0 3px rgba(196, 81, 58, 0.12);
}
.news-row .btn { width: 100%; }
.form-rgpd { font-size: 11px; color: var(--ink-500); margin-top: var(--s-3); line-height: 1.55; }
.news-hp { position:absolute; left:-9999px; top:auto; height:1px; overflow:hidden; }
.form-status:not(:empty) { font-size:13px; line-height:1.5; margin-top:var(--s-3); color:var(--ink-700); }
.form-status.is-error { color:var(--error); }
.form-status.is-success { color:var(--success); }
.footer-col h4 { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; color: var(--ink-900); margin-bottom: var(--s-4); }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: var(--s-3); }
.footer-col a { color: var(--ink-500); text-decoration: none; font-size: 14px; transition: color 120ms ease; }
.footer-col a:hover { color: var(--terracotta); }
.footer-addr { font-size: 13px; color: var(--ink-300); line-height: 1.6; }
.footer-coords { margin-top: var(--s-4); display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.footer-coords-line { font-size:14px; font-weight:600; color:var(--ink-900); letter-spacing:-0.01em; }
.footer-coords-sub { font-size:13px; line-height:1.5; color:var(--ink-500); }
.data-badge { font-size:13px; line-height:1.5; color:var(--ink-500); }
.footer-brand { display: inline-block; }
.footer-bottom {
  margin-top: var(--s-5);
  display: flex; justify-content: space-between; align-items: center;
  font-size: 12px; color: var(--ink-500); flex-wrap: wrap; gap: var(--s-3);
}

/* =====================================================================
   FAQ — Questions fréquentes (accordéon natif <details>/<summary>)
   ===================================================================== */
.faq {
  padding: var(--s-8) 0;
  background: var(--cream);
  border-top: 1px solid var(--ink-100);
}
.faq-list {
  display: flex;
  flex-direction: column;
  margin-top: var(--s-5);
  max-width: 880px;
  border-top: 1px solid var(--ink-100);
}
.faq-item {
  border-bottom: 1px solid var(--ink-100);
}
.faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-4);
  padding: var(--s-5) 0;
  font-size: clamp(16px, 1.3vw, 19px);
  font-weight: 600;
  color: var(--ink-900);
  line-height: 1.3;
  letter-spacing: -0.015em;
  cursor: pointer;
  list-style: none;
  transition: color 120ms ease;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+";
  font-size: 28px;
  font-weight: 400;
  color: var(--terracotta);
  line-height: 1;
  flex-shrink: 0;
  transition: transform 200ms ease;
}
.faq-item[open] summary::after { content: "−"; }
.faq-item summary:hover { color: var(--terracotta); }
.faq-answer {
  padding: 0 0 var(--s-6);
  font-size: clamp(15px, 1.1vw, 17px);
  line-height: 1.75;
  color: var(--ink-700);
  max-width: 760px;
}
.faq-answer p { margin-bottom: var(--s-3); }
.faq-answer p:last-child { margin-bottom: 0; }

/* ===== FAQ v2 — deux espaces (bloc 1, 28/07/2026) ===== */
.faq-hero { padding-bottom: var(--s-6); }
.faq-hero .section-head { margin-bottom: 0; }
.faq-toc { padding:14px 0; background:var(--cream); border-top:1px solid var(--ink-100); border-bottom:1px solid var(--ink-100); }
.faq-toc-list { list-style:none; margin:0; padding:0; display:flex; gap:var(--s-6); flex-wrap:wrap; }
.faq-toc-list a { display:inline-flex; align-items:baseline; font-size:13.5px; font-weight:500; color:var(--ink-700); text-decoration:none; }
.faq-toc-list a:hover { color:var(--terracotta); }
#faq-entreprise, #faq-candidat { scroll-margin-top:88px; }
.faq-cta { margin-top: var(--s-6); }
.faq-src { font-size:11px; line-height:1.5; color:var(--ink-300); margin-top:var(--s-6); max-width:720px; }

/* RESPONSIVE */
@media (max-width: 1024px) {
  .section-nav { display: none; }
  .audience-grid { grid-template-columns: 1fr; gap: var(--s-4); }
  .pillars-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-6); }
  .pillars-grid::before { display: none; }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-6); }
  .steps::before { display: none; }
  .contact-channels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .site-header .container { height: 60px; }
  .lang-dd-btn { height:28px; padding:0 var(--s-2); font-size:12px; }

  .header-right { gap: var(--s-3); }
  .brand svg { width: 110px; height: auto; }
  .cta-header { height: 32px; padding: 0 var(--s-3); font-size: 11px; }

  .hero { padding: var(--s-7) 0 var(--s-8); }
  .hero-content { gap: var(--s-5); }
  .hero-proofs { flex-direction: column; align-items: flex-start; gap: var(--s-2); }
  .hero-proofs .dot { display: none; }

  .pillars { padding: var(--s-8) 0; }
  .pillars-head { margin-bottom: var(--s-6); }
  .pillars-grid { grid-template-columns: 1fr; gap: var(--s-6); padding-top: var(--s-5); }
  .pillars-grid::before { display: none; }
  .pillar { padding-right: 0; }
  .pillar-num { font-size: 56px; }


  .method { padding: var(--s-8) 0; }
  .steps { grid-template-columns: 1fr; gap: var(--s-6); padding-top: var(--s-5); }
  .steps::before { display: none; }
  .step-num { font-size: 56px; }

  .contact { padding: var(--s-8) 0; }
  .contact-channels { grid-template-columns: 1fr; }
  .contact-footer { flex-direction: column; gap: var(--s-4); }

  .audience { padding: var(--s-7) 0; }
  .pricing { padding: var(--s-7) 0; }
  .about { padding: var(--s-7) 0; }
  .faq { padding: var(--s-7) 0; }
  .faq-item summary { padding: var(--s-4) 0; }

  .cost-context { padding: var(--s-7) 0; }
  .cost-pair { grid-template-columns: 1fr; }
  .cost-side + .cost-side {
    border-left: none;
    border-top: 1px solid var(--ink-100);
  }
  .cost-number { font-size: 40px; }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: var(--s-6) var(--s-5); }
  .footer-identity, .footer-news { grid-column: 1 / -1; }
  .site-footer { padding: var(--s-7) 0 var(--s-5); }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: var(--s-2); }
}

/* ============ STYLES VITRINE CANDIDATS (app scopée) ============ */
.vitrine-app, .overlay, .modal, .fiche-static, .mini-fiche, .ent-mesure {
  --g04:rgba(26,26,26,0.04); --g06:rgba(26,26,26,0.06); --g08:rgba(26,26,26,0.08); --g40:rgba(26,26,26,0.40);
  --exc:#7C3AED; --exc-soft:#F3EDFB; --forte:#15803D; --forte-soft:#E8F0EB;
  --appr:#CA8A04; --appr-soft:#FBF3E4; --faible:#991B1B; --faible-soft:#F8ECEC;
  --terracotta-hover:#A8442F; --terracotta-soft:#FAECE7; --graphite:#1A1A1A;
  --r-sm:3px; --r-md:6px; --r-lg:12px; --r-pill:9999px;
}
.vitrine-app { background:var(--paper); border:1px solid var(--ink-100); border-radius:12px; overflow:hidden; margin-top:var(--s-5); }
.vitrine-cta { display:flex; align-items:center; justify-content:space-between; gap:var(--s-6); flex-wrap:wrap; padding:var(--s-5) var(--s-6); background:var(--graphite); border-radius:12px; margin-bottom:var(--s-4); }
.vitrine-cta-text h3 { font-size:clamp(19px,1.8vw,24px); line-height:1.2; letter-spacing:-0.015em; font-weight:600; color:var(--paper); margin-bottom:6px; }
.vitrine-cta-text p { font-size:14px; line-height:1.55; color:rgba(255,255,255,0.72); max-width:440px; }
.vitrine-cta-form { display:flex; gap:var(--s-2); flex-shrink:0; align-items:stretch; }
.vitrine-cta-input { height:46px; padding:0 var(--s-4); min-width:240px; border:1px solid rgba(255,255,255,0.2); border-radius:var(--r-2); background:rgba(255,255,255,0.06); color:var(--paper); font-family:inherit; font-size:14px; }
.vitrine-cta-input::placeholder { color:rgba(255,255,255,0.4); }
.vitrine-cta-input:focus { outline:none; border-color:var(--terracotta); background:rgba(255,255,255,0.1); }
.vitrine-cta-btn { height:46px; white-space:nowrap; }
@media (max-width:767px){ .vitrine-cta { flex-direction:column; align-items:flex-start; } .vitrine-cta-form { width:100%; flex-direction:column; } .vitrine-cta-input { min-width:0; width:100%; box-sizing:border-box; } .vitrine-cta-btn { width:100%; } }
.vitrine-app .app { padding:24px 32px 40px; max-width:100%; }
@media (max-width:767px){ .vitrine-app .app { padding:16px; } .vitrine-app .res-row { flex-wrap:wrap; gap:10px; } .vitrine-app .row-main { flex-wrap:wrap; } .vitrine-app .col-dims{ order:5; width:100%; flex-basis:100%; } .vitrine-app .subdims{ flex-wrap:wrap; row-gap:6px; } .vitrine-app .col-right{ order:6; width:100%; justify-content:space-between; } .vitrine-app .col-badges{ width:auto; } }
.vitrine-app .filet { height:3px; background:var(--terracotta); }
.vitrine-app .header-bar { display:flex; align-items:center; height:64px; padding:0 32px; border-bottom:1px solid var(--g08); background:var(--paper); position:sticky; top:0; z-index:100; }
.vitrine-app .logo { display:flex; align-items:center; margin-right:48px; }
.vitrine-app .logo svg { height:30px; width:auto; display:block; }
.vitrine-app nav.nav-main { display:flex; gap:36px; align-items:center; flex:1; height:100%; }
.vitrine-app .nav-item { font-size:12px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; color:var(--ink-500); position:relative; height:100%; display:flex; align-items:center; cursor:pointer; }
.vitrine-app .nav-item.is-active { color:var(--ink-900); font-weight:600; }
.vitrine-app .nav-item.is-active::after { content:""; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:var(--terracotta); }
.vitrine-app .avatar { width:32px; height:32px; border-radius:50%; background:var(--g08); color:var(--ink-700); font-size:12px; font-weight:600; display:flex; align-items:center; justify-content:center; }
.vitrine-app .app { max-width:1280px; margin:0 auto; padding:32px; }
.vitrine-app .demo-band { display:flex; align-items:flex-start; gap:12px; padding:14px 18px; background:var(--cream-warm); border:1px solid var(--g08); border-left:3px solid var(--terracotta); border-radius:var(--r-md); margin:0 0 24px; }
.vitrine-app .demo-band .db-txt { font-size:13px; color:var(--ink-700); line-height:1.5; }
.vitrine-app .demo-band .db-txt strong { color:var(--terracotta); font-weight:600; }
.vitrine-app .breadcrumb { font-size:13px; color:var(--ink-500); margin-bottom:8px; }
.vitrine-app .page-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:8px; }
.vitrine-app .page-title { font-size:24px; font-weight:600; color:var(--ink-900); letter-spacing:-0.3px; }
.vitrine-app .page-meta { font-size:13px; color:var(--ink-500); }
.vitrine-app .page-meta strong { color:var(--ink-900); font-weight:600; }
.sub-note { font-size:12px; color:var(--ink-300); margin-top:3px; }
.vitrine-app .legend { display:flex; gap:32px; flex-wrap:wrap; padding:14px 18px; background:var(--cream); border:1px solid var(--g08); border-radius:var(--r-md); margin:18px 0 22px; }
.vitrine-app .legend-col { display:flex; flex-direction:column; gap:6px; }
.vitrine-app .legend-ttl { font-size:10px; font-weight:600; letter-spacing:1.2px; text-transform:uppercase; color:var(--ink-300); }
.vitrine-app .legend-items { display:flex; gap:14px; flex-wrap:wrap; }
.vitrine-app .legend-it { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--ink-500); }
.vitrine-app .legend-sw { width:12px; height:12px; border-radius:9999px; box-sizing:border-box; display:inline-block; flex-shrink:0; }
.vitrine-app .sw-exc { background:var(--exc); }
.vitrine-app .sw-forte { background:transparent; border:4px solid var(--forte); }
.vitrine-app .sw-appr { background:linear-gradient(90deg, var(--appr) 50%, transparent 50%); border:1.5px solid var(--appr); }
.vitrine-app .sw-faible { background:transparent; border:2px solid var(--faible); }
.vitrine-app .results-list { display:flex; flex-direction:column; gap:12px; }
.vitrine-app .res-row { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 22px; background:var(--paper); border:1px solid var(--g08); border-radius:var(--r-lg); cursor:pointer; width:100%; text-align:left; transition:border-color 0.15s; }
.vitrine-app .res-row:hover { border-color:var(--g40); }
.vitrine-app .row-main { display:flex; align-items:center; gap:24px; flex:1 1 auto; min-width:0; }
.vitrine-app .row-id { display:flex; flex-direction:column; gap:3px; width:150px; flex-shrink:0; }
.vitrine-app .cid { font-size:12px; font-weight:600; color:var(--ink-300); font-variant-numeric:tabular-nums; }
.vitrine-app .fn { font-size:14px; font-weight:600; color:var(--ink-900); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vitrine-app .row-money { display:flex; flex-direction:column; gap:2px; width:110px; flex-shrink:0; }
.vitrine-app .money-tarif { font-size:16px; font-weight:600; color:var(--ink-900); }
.vitrine-app .money-sal { font-size:12px; color:var(--ink-300); }
.vitrine-app .col-dims { display:flex; flex-direction:column; align-items:flex-start; gap:8px; flex:1 1 auto; min-width:0; }
.glob { display:inline-flex; flex-direction:row; gap:8px; align-items:center; }
.glob .glbl { font-size:9px; letter-spacing:0.8px; text-transform:uppercase; color:var(--ink-300); }
.glob .gval { display:inline-flex; align-items:center; gap:7px; height:26px; padding:0 12px; border-radius:var(--r-pill); font-size:12px; font-weight:600; white-space:nowrap; }
.glob .gdot { width:12px; height:12px; border-radius:9999px; box-sizing:border-box; display:inline-block; flex-shrink:0; }
.gv-exc { background:var(--exc-soft); color:var(--exc); }
.gv-exc .gdot { background:var(--exc); }
.gv-forte { background:var(--forte-soft); color:var(--forte); }
.gv-forte .gdot { background:transparent; border:4px solid var(--forte); }
.gv-appr { background:var(--appr-soft); color:var(--appr); }
.gv-appr .gdot { background:linear-gradient(90deg, var(--appr) 50%, transparent 50%); border:1.5px solid var(--appr); }
/* Pastille de niveau — recopie du socle cernio_socle_compatibilite v1.4, bloc 01.
   Forme + couleur, WCAG 1.4.1 : jamais la couleur seule. Ne se reecrit pas localement. */
.dot { width:12px; height:12px; border-radius:50%; box-sizing:border-box; flex-shrink:0; display:inline-block; }
.d-exc    { background:#7C3AED; }
.d-forte  { background:transparent; border:4px solid #15803D; }
.d-appr   { background:linear-gradient(90deg,#CA8A04 50%,transparent 50%); border:1.5px solid #CA8A04; }
.d-faible { background:transparent; border:2px solid #991B1B; }
.dot.sm { width:11px; height:11px; }
.dot.sm.d-forte { border-width:3.5px; }
.dot.xs { width:9px; height:9px; }
.dot.xs.d-forte { border-width:3px; }
.dot.xs.d-appr { border-width:1.2px; }
.dot.xs.d-faible { border-width:1.5px; }
.lcap { width:9px; text-align:center; font-size:8.5px; color:#A0A0A0; font-weight:600; line-height:1; }
/* Signature des trois mesures du Potentiel — §14.9 rang 3 */
.sig { display:inline-flex; flex-direction:column; align-items:center; gap:3px; margin-left:7px; position:relative; top:-6px; }
.sig-caps { display:flex; align-items:center; gap:4px; }
.trip { display:flex; align-items:center; gap:4px; }
.mdot { position:relative; display:inline-flex; align-items:center; }
.mdot .tip { display:none; position:absolute; top:16px; left:50%; transform:translateX(-50%); white-space:nowrap; background:#1A1A1A; color:#fff; font-size:11px; font-weight:400; padding:5px 9px; border-radius:6px; z-index:10; pointer-events:none; }
.mdot:hover .tip { display:block; }
.subdims { display:flex; gap:18px; align-items:flex-start; }
.sub { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--ink-500); white-space:nowrap; }
.sub .sdot { width:12px; height:12px; border-radius:9999px; box-sizing:border-box; display:inline-block; flex-shrink:0; }
.sd-exc { background:var(--exc); }
.sd-forte { background:transparent; border:4px solid var(--forte); }
.sd-appr { background:linear-gradient(90deg, var(--appr) 50%, transparent 50%); border:1.5px solid var(--appr); }
.vitrine-app .row-side { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.vitrine-app .col-badges { display:flex; flex-direction:column; gap:6px; align-items:flex-end; flex-shrink:0; }
.vitrine-app .row-cta { flex-shrink:0; white-space:nowrap; }
.vitrine-app .badge-row { display:flex; gap:5px; flex-wrap:nowrap; justify-content:flex-end; }
.vitrine-app .badge { display:inline-flex; align-items:center; height:22px; padding:0 9px; border-radius:var(--r-sm); font-size:11px; font-weight:500; white-space:nowrap; }
.vitrine-app .b-sen { background:var(--g06); color:var(--ink-700); }
.vitrine-app .b-rare { background:var(--terracotta-soft); color:#8E3826; }
.vitrine-app .b-qual { background:var(--exc-soft); color:var(--exc); }
.vitrine-app .vitrine-app .col-actions { display:flex; flex-direction:column; gap:8px; width:128px; }
.vitrine-app .btn { display:inline-flex; align-items:center; justify-content:center; height:36px; padding:0 16px; border-radius:var(--r-md); font-size:13px; font-weight:500; cursor:pointer; border:1px solid transparent; white-space:nowrap; }
.vitrine-app .btn-primary { background:var(--terracotta); border-color:var(--terracotta); color:#fff; }
.vitrine-app .btn-primary:hover { background:var(--terracotta-hover); }
.vitrine-app .btn-secondary { background:transparent; border-color:var(--g40); color:var(--ink-700); }
/* Modale xl 1200 — systeme_global §14.6 v3.13. Le volet lateral est sorti du systeme le 13 aout. */
.overlay { position:fixed; inset:0; z-index:1200; background:rgba(26,26,26,0.4); display:none; align-items:center; justify-content:center; padding:var(--s-4); }
.overlay.is-open { display:flex; }
.modal { width:100%; max-width:1200px; max-height:92vh; background:var(--paper); border-radius:var(--r-lg); display:flex; flex-direction:column; overflow:hidden; box-shadow:0 24px 64px rgba(26,26,26,0.18); animation:ficheIn 180ms ease-out; }
@keyframes ficheIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .modal { animation:none; } }
@media (max-width:768px) { .overlay { padding:0; } .modal { max-width:100%; max-height:100vh; height:100vh; border-radius:0; } }
.modal__header { flex-shrink:0; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:20px 24px; border-bottom:1px solid var(--g08); }
.modal__heading { display:flex; flex-direction:column; gap:4px; min-width:0; flex:1; }
.modal__overline { font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--ink-300); }
.modal__title { font-size:18px; font-weight:600; letter-spacing:-0.2px; color:var(--ink-900); }
.modal__close { flex-shrink:0; width:36px; height:36px; border-radius:var(--r-md); background:transparent; border:none; color:var(--ink-500); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:22px; line-height:1; }
.modal__close:hover { background:var(--g04); color:var(--ink-900); }
.modal__body { flex:1; overflow-y:auto; padding:24px 32px 32px; }
.modal .fiche-sec { margin-bottom:26px; }
.modal .fiche-sec:last-child { margin-bottom:0; }
.modal .fiche-sec > .ttl { font-size:11px; font-weight:600; letter-spacing:1.2px; text-transform:uppercase; color:var(--ink-300); margin-bottom:12px; }
.modal .fiche-sec p { font-size:14px; line-height:1.6; color:var(--ink-700); }
.modal .compat-head { background:var(--cream); border-radius:var(--r-lg); padding:20px; margin-bottom:24px; }
.modal .compat-head .ttl { font-size:11px; font-weight:600; letter-spacing:1.2px; text-transform:uppercase; color:var(--ink-300); margin-bottom:10px; }
.modal .compat-head .gval { display:inline-flex; align-items:center; gap:8px; height:30px; padding:0 14px; border-radius:var(--r-pill); font-size:14px; font-weight:600; }
.modal .compat-dims { display:flex; flex-direction:column; gap:10px; margin-top:16px; }
.modal .compat-dim { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink-700); }
.modal .compat-dim .dim-name { flex:0 0 auto; }
.modal .kv { display:grid; grid-template-columns:130px 1fr; gap:8px 16px; }
.modal .kv .k { font-size:12px; color:var(--ink-300); text-transform:uppercase; letter-spacing:0.4px; font-weight:600; padding-top:1px; }
.modal .kv .v { font-size:14px; color:var(--ink-700); }
.modal .traits { display:flex; flex-direction:column; gap:10px; }
.modal .trait { padding:12px 14px; background:var(--cream); border-radius:var(--r-md); border-left:3px solid var(--terracotta); }
.modal .trait .t-name { font-size:13px; font-weight:600; color:var(--ink-900); margin-bottom:2px; }
.modal .trait .t-desc { font-size:13px; color:var(--ink-500); line-height:1.5; }
.modal .fn-list { display:flex; flex-direction:column; gap:10px; }
.modal .fn-item { display:flex; align-items:center; gap:12px; }
.modal .fn-item.is-current { }
.modal .fn-name { flex:1; font-size:13px; color:var(--ink-700); display:flex; align-items:center; gap:8px; }
.modal .fn-tag { font-size:9px; font-weight:600; letter-spacing:0.6px; text-transform:uppercase; color:var(--ink-300); border:1px solid var(--g08); border-radius:var(--r-sm); padding:1px 5px; }
.modal .gauge { display:flex; gap:3px; flex-shrink:0; }
.modal .gauge .ball { width:11px; height:11px; border-radius:9999px; box-sizing:border-box; }
.modal .gauge .ball.on { background:var(--terracotta); }
.modal .gauge .ball.off { background:transparent; border:1.5px solid var(--g08); }
.modal .info-badges { display:flex; gap:6px; flex-wrap:wrap; }
.modal .info-badge { display:inline-flex; align-items:center; height:24px; padding:0 10px; border-radius:var(--r-sm); font-size:12px; font-weight:500; background:var(--g06); color:var(--ink-700); }
.modal__footer { flex-shrink:0; padding:16px 24px; border-top:1px solid var(--g08); display:flex; gap:12px; }
.modal__footer .btn { flex:1; }

/* Gate — aperçu verrouillé */
.fiche-gate { text-align:center; padding:28px 20px; background:var(--cream); border:1px solid var(--ink-100); border-radius:var(--r-lg); }
.gate-lock { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:var(--paper); border:1px solid var(--ink-100); color:var(--terracotta); margin-bottom:14px; }
.gate-head { font-size:15px; font-weight:600; color:var(--ink-900); margin-bottom:6px; line-height:1.3; }
.gate-sub { font-size:13px; line-height:1.55; color:var(--ink-500); max-width:340px; margin:0 auto 18px; }
.gate-btn { width:100%; }

/* Formulaire de qualification */
.qualif-head { font-size:15px; font-weight:600; color:var(--ink-900); margin-bottom:6px; }
.qualif-sub { font-size:13px; line-height:1.55; color:var(--ink-500); margin-bottom:18px; }
.qualif-field { display:block; margin-bottom:14px; }
.qualif-field > span { display:block; font-size:12px; font-weight:600; letter-spacing:0.02em; color:var(--ink-700); margin-bottom:6px; }
.qualif-field > span em { font-weight:400; font-style:normal; color:var(--ink-300); }
.qualif-field input { width:100%; height:42px; padding:0 14px; box-sizing:border-box; border:1px solid var(--ink-100); border-radius:var(--r-md); background:var(--paper); font-family:inherit; font-size:14px; color:var(--ink-900); }
.qualif-field input:focus { outline:none; border-color:var(--terracotta); }
.qualif-submit { width:100%; margin-top:4px; }
.qualif-legal { font-size:11px; color:var(--ink-300); margin-top:12px; line-height:1.5; }
.qualif-done { text-align:center; padding:32px 20px; }
.qualif-done-ic { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:50%; background:var(--forte-soft); color:var(--forte); font-size:24px; margin-bottom:14px; }
.qualif-done-head { font-size:16px; font-weight:600; color:var(--ink-900); margin-bottom:6px; }
.qualif-done p { font-size:13px; line-height:1.6; color:var(--ink-500); max-width:320px; margin:0 auto; }
.modal .masked-note { font-size:12px; color:var(--ink-300); line-height:1.5; margin-top:16px; padding-top:16px; border-top:1px solid var(--g08); }

/* ===== SECTION CANDIDATS-INFO (ex page candidat) ===== */
/* ===== ONGLET CANDIDAT·E — grammaire de l'Accueil ===== */
.hero--candidat { padding: var(--s-8) 0 var(--s-7); background: var(--cream); }
.hero--candidat .hero-content { gap: var(--s-4); }
.hero-aside { font-size:13.5px; color:var(--ink-500); margin-top:var(--s-2); }
.hero-aside a { color:var(--terracotta); text-decoration:underline; text-underline-offset:3px; }
.hero-title-cand { font-size:clamp(26px,2.6vw,42px); line-height:1.05; letter-spacing:-0.03em; font-weight:600; color:var(--ink-900); text-wrap:balance; }

.cand-toc { padding: 14px 0; background:var(--cream); border-top:1px solid var(--ink-100); border-bottom:1px solid var(--ink-100); }
.cand-toc-list { list-style:none; margin:0; padding:0; display:flex; gap:var(--s-6); flex-wrap:wrap; }
.cand-toc-list a { display:inline-flex; align-items:baseline; gap:8px; font-size:13.5px; font-weight:500; color:var(--ink-700); text-decoration:none; }
.cand-toc-list a .n { font-size:11px; font-weight:600; color:var(--ink-300); letter-spacing:0.5px; }
.cand-toc-list a:hover { color:var(--ink-900); }
.cand-toc-list a:hover .n { color:var(--terracotta); }

.cand-sec { padding: var(--s-7) 0; background:var(--cream); border-top:1px solid var(--ink-100); }
.cand-sec, .cand-demo, .cand-cta, .parrainage-sec { scroll-margin-top:88px; }
.cand-sec .kicker, .cand-demo .kicker { margin-bottom:var(--s-4); }
.cand-line { font-size:clamp(26px,2.6vw,42px); line-height:1.05; letter-spacing:-0.03em; font-weight:600; color:var(--ink-900); max-width:820px; text-wrap:balance; margin:0 0 var(--s-5); }
.cand-dev { font-size:15px; line-height:1.6; color:var(--ink-700); max-width:680px; margin:0 0 var(--s-5); }
.ast, .cand-ast { color:var(--terracotta); font-weight:600; }
sup.ast { font-size:0.55em; }
sup.cand-ast { font-size:0.7em; }
.cand-list { list-style:none; margin:0 0 var(--s-6); padding:0; max-width:680px; display:flex; flex-direction:column; gap:var(--s-4); }
.cand-dev + .cand-list, .cand-lede + .cand-list { margin-top:calc(-1 * var(--s-4)); }
.cand-list li { position:relative; padding-left:22px; font-size:15px; line-height:1.6; color:var(--ink-700); }
.cand-list li::before { content:""; position:absolute; left:0; top:9px; width:7px; height:7px; border-radius:50%; background:var(--terracotta); }
.cand-lede { font-size:clamp(16px,1.4vw,19px); line-height:1.6; color:var(--ink-700); max-width:680px; margin:0 0 var(--s-5); }
.cand-close { font-size:14.5px; line-height:1.6; color:var(--ink-500); max-width:680px; margin:0; padding-top:var(--s-4); border-top:1px solid var(--ink-100); }
.cand-sec .method-link { margin-top:0; padding-top:0; border-top:none; margin-bottom:var(--s-5); }
.cand-ess { font-size:14.5px; line-height:1.6; color:var(--ink-500); max-width:680px; margin:0; padding-top:var(--s-4); border-top:1px solid var(--ink-100); }
.cand-steps-line { list-style:none; padding:0; margin:0 0 var(--s-5); display:grid; grid-template-columns:1fr 1fr; gap:var(--s-4) var(--s-6); max-width:820px; }
.cand-steps-line li { font-size:14.5px; font-weight:600; color:var(--ink-900); line-height:1.4; padding-top:10px; border-top:1px solid var(--ink-100); }
.cand-steps-line .sl-num { display:block; font-size:11px; font-weight:600; letter-spacing:1px; color:var(--ink-300); margin-bottom:6px; }
@media (max-width:767px){ .cand-steps-line { grid-template-columns:1fr; } }

.cand-demo { padding: var(--s-7) 0; background:var(--cream); border-top:1px solid var(--ink-100); }
.cdemo-head-row { display:flex; align-items:center; justify-content:space-between; gap:var(--s-5); flex-wrap:wrap; margin-bottom:var(--s-4); }
.cdemo-hint { font-size:14.5px; color:var(--ink-500); }
.cdemo-nav { display:flex; gap:var(--s-2); flex-wrap:wrap; margin-bottom:var(--s-4); border-bottom:1px solid var(--ink-100); }
.cdemo-btn { appearance:none; background:none; border:none; border-bottom:2px solid transparent; margin-bottom:-1px; padding:10px 2px; margin-right:var(--s-5); font-family:inherit; font-size:14px; font-weight:500; color:var(--ink-500); cursor:pointer; transition:color 160ms ease, border-color 160ms ease; }
.cdemo-btn:hover { color:var(--ink-900); }
.cdemo-btn.is-on { color:var(--ink-900); border-bottom-color:var(--terracotta); }
.cdemo-pane { display:none; }
.cdemo-pane.is-on { display:block; }
.cdemo-frame { width:100%; height:680px; border:1px solid var(--ink-100); border-radius:var(--r-2); background:var(--paper); display:block; }
.cdemo-note { font-size:12.5px; color:var(--ink-300); margin-top:var(--s-3); }
.cdemo-todo { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--s-2); min-height:280px; padding:var(--s-7); border:1px dashed var(--ink-300); border-radius:var(--r-2); background:var(--paper); }
.cdemo-todo strong { font-size:16px; font-weight:600; color:var(--ink-900); }
.cdemo-todo span { font-size:14px; color:var(--ink-500); max-width:520px; line-height:1.6; }
.cdemo-rdv-mobile { display:none; margin-top:var(--s-4); }
@media (max-width:767px){
  .cdemo-head-row .btn { display:none; }
  .cdemo-rdv-mobile { display:block; }
  .cdemo-rdv-mobile .btn { width:100%; }
  .cdemo-frame { height:560px; }
  .cdemo-btn { margin-right:var(--s-4); font-size:13px; }
}

.cand-cta { padding: var(--s-7) 0 var(--s-8); background:var(--cream); border-top:1px solid var(--ink-100); }
.cand-cta h2 { font-size:clamp(26px,2.6vw,42px); line-height:1.05; letter-spacing:-0.03em; font-weight:600; color:var(--ink-900); margin-bottom:var(--s-4); }
.cand-cta .cta-lede { font-size:clamp(16px,1.4vw,19px); line-height:1.6; color:var(--ink-700); max-width:680px; margin:0 0 var(--s-6); }
.cand-cta .cta-helper { margin-top:var(--s-4); font-size:13px; color:var(--ink-500); }
.cand-cta .cta-helper a { color:var(--terracotta); text-decoration:underline; text-underline-offset:3px; }
.btn-large { height:52px; padding:0 var(--s-6); font-size:15px; }
@media (max-width:480px){ .btn-large { white-space:normal; height:auto; min-height:52px; max-width:100%; padding:14px var(--s-5); text-align:center; } }
/* section vitrine wrapper marketing */
.candidats-liste-sec { padding: var(--s-8) 0; background:var(--cream); border-top:1px solid var(--ink-100); }

.qualif-err { margin: var(--s-2) 0 0; font-size:13px; color:#991B1B; line-height:1.5; }
.qualif-submit[disabled] { opacity:.6; cursor:default; }
/* ===== PAGE RENDEZ-VOUS ===== */
.rdv-hero { padding: var(--s-8) 0 var(--s-6); }
.rdv-hero h2 { font-size:clamp(28px,3vw,46px); line-height:1.04; letter-spacing:-0.03em; font-weight:600; color:var(--ink-900); margin:var(--s-3) 0 var(--s-4); }
.rdv-hero .lede { font-size:clamp(16px,1.4vw,19px); line-height:1.6; color:var(--ink-700); max-width:640px; margin:0; }
.rdv-book { padding: 0 0 var(--s-7); }
.rdv-frame-wrap { border:1px solid var(--ink-100); border-radius:12px; overflow:hidden; background:var(--paper); }
.rdv-slot { border:1px solid var(--ink-100); border-radius:12px; background:var(--paper); padding: var(--s-8) var(--s-6); text-align:center; }
.rdv-slot .rdv-cta { margin:0 0 var(--s-4); }
.rdv-slot .rdv-note { margin:0; font-size:13px; color:var(--ink-500); }
.rdv-frame { display:block; width:100%; height:940px; border:0; }
.rdv-pending { padding: var(--s-8) var(--s-6); text-align:center; background:var(--cream); }
.rdv-pending strong { display:block; font-size:15px; font-weight:600; color:var(--ink-900); margin-bottom:var(--s-2); }
.rdv-pending span { font-size:14px; color:var(--ink-500); }
.rdv-fallback { padding: var(--s-6) 0 var(--s-9); border-top:1px solid var(--ink-100); }
.rdv-fallback p { font-size:14px; color:var(--ink-500); line-height:1.7; margin:0; }
.rdv-fallback a { color:var(--terracotta); text-decoration:underline; text-underline-offset:3px; }

/* ===== PAGES LÉGALES (conteneur Éditorial 720 px — §14.4) ===== */
.legal-page { padding: var(--s-8) 0 var(--s-9); }
.legal-wrap { max-width: 720px; }
.legal-wrap .section-head { margin-bottom: var(--s-6); }
.legal-body h3 { font-size: 15px; font-weight: 600; color: var(--ink-900); margin: var(--s-6) 0 var(--s-3); }
.legal-body p { font-size: 15px; line-height: 1.7; color: var(--ink-700); margin: 0 0 var(--s-3); }
.legal-body ul { margin: 0 0 var(--s-3); padding-left: 20px; }
.legal-body li { font-size: 15px; line-height: 1.7; color: var(--ink-700); margin-bottom: var(--s-2); }
.legal-body a { color: var(--terracotta); text-decoration: underline; text-underline-offset: 3px; }
.legal-updated { font-size: 12px; color: var(--ink-300); margin-top: var(--s-7); }
.legal-body h3.volet {
  font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--terracotta);
  margin: var(--s-8) 0 var(--s-5); padding-top: var(--s-6);
  border-top: 1px solid var(--ink-100);
}
.legal-body h3.volet:first-child { margin-top: var(--s-6); }
@media (max-width:767px){
  .rdv-frame { height:760px; }
  .rdv-hero { padding: var(--s-6) 0 var(--s-5); }
}
/* ===== NAVIGATION PAR ONGLETS ===== */
.tab-nav { display:flex; align-items:center; gap:var(--s-5); }
.tab-link { font-size:14px; color:var(--ink-700); font-weight:500; text-decoration:none; padding:var(--s-2) 0; position:relative; white-space:nowrap; transition:color 120ms ease; }
.tab-link:hover { color:var(--terracotta); }
.tab-link.is-active { color:var(--ink-900); font-weight:600; }
.tab-link.is-active::after { content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--terracotta); }

/* Dropdown langue discret à droite */

/* Pages onglets */
.page { display:none; }
.page.is-active { display:block; }

@media (max-width:900px){
  .tab-nav { gap:var(--s-4); }
  .tab-link { font-size:13px; }
  .cta-header { display:none; }
}
@media (max-width:640px){
  .site-header .container { flex-wrap:wrap; height:auto; padding-top:var(--s-3); padding-bottom:var(--s-3); gap:var(--s-3); }
  .tab-nav { order:3; width:100%; justify-content:space-between; gap:var(--s-2); border-top:1px solid var(--ink-100); padding-top:var(--s-3); }
  .tab-link { font-size:12px; }
}
.vitrine-contact { display:flex; align-items:center; justify-content:space-between; gap:var(--s-6); flex-wrap:wrap; margin-top:var(--s-6); padding:var(--s-6); background:var(--cream-warm); border:1px solid var(--ink-100); border-left:3px solid var(--terracotta); border-radius:var(--r-2); }
.vitrine-contact-text h3 { font-size:clamp(18px,1.6vw,22px); line-height:1.25; letter-spacing:-0.015em; font-weight:600; color:var(--ink-900); margin-bottom:var(--s-2); }
.vitrine-contact-text p { font-size:clamp(14px,1vw,16px); line-height:1.6; color:var(--ink-500); max-width:520px; }
.vitrine-contact-actions { display:flex; gap:var(--s-3); flex-shrink:0; }
.btn-secondary { background:transparent; color:var(--ink-700); border-color:var(--ink-300); }
.btn-secondary:hover { border-color:var(--ink-900); color:var(--ink-900); }
@media (max-width:767px){ .vitrine-contact { flex-direction:column; align-items:flex-start; } .vitrine-contact-actions { width:100%; } .vitrine-contact-actions .btn { flex:1; } }
@media (max-width:767px){ .cand-steps-list { grid-template-columns:1fr; gap:var(--s-6); } .cand-steps-list::before { display:none; } .cand-step-num{ font-size:56px; } }

/* ===== PAGE ACCUEIL ===== */
.home-hero { padding: var(--s-8) 0 var(--s-7); background:var(--cream); }
.home-eyebrow { display:block; font-size:13px; letter-spacing:0.5px; font-style:italic; color:var(--terracotta); font-weight:500; margin-bottom:var(--s-4); }
.home-claim { margin-bottom:var(--s-5); }
.home-hero .hero-cta { margin-top:var(--s-6); }
.home-claim-main { display:block; font-size:clamp(20px,2vw,28px); line-height:1.15; letter-spacing:-0.025em; font-weight:600; color:var(--ink-900); }
.home-claim-ext { display:block; margin-top:var(--s-2); font-size:clamp(14px,1.3vw,17px); line-height:1.45; color:var(--ink-500); font-weight:400; font-style:italic; }
.home-title { font-size:clamp(26px,2.6vw,42px); line-height:1.05; letter-spacing:-0.03em; font-weight:600; color:var(--ink-900); max-width:900px; text-wrap:balance; margin-bottom:var(--s-4); }
.home-sub { font-size:clamp(16px,1.3vw,20px); line-height:1.6; color:var(--ink-700); font-weight:400; max-width:720px; }
.home-lede { font-size:clamp(20px,2.2vw,30px); line-height:1.35; letter-spacing:-0.015em; color:var(--ink-900); font-weight:400; max-width:760px; margin-top:var(--s-4); text-wrap:balance; }
.home-lede strong { font-weight:600; }

.home-market { padding: var(--s-7) 0; background:var(--cream); border-top:1px solid var(--ink-100); }
.home-market-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--s-5); margin-top:var(--s-5); }
.market-card.is-cernio { grid-column:1 / -1; }
.cernio-duo { display:grid; grid-template-columns:1fr 1fr; gap:var(--s-6); margin-top:var(--s-3); align-items:start; }
.cernio-duo p { margin:0; }
.cernio-duo p + p { margin-top:0; }
.cernio-side { display:flex; flex-direction:column; gap:var(--s-2); }
.cernio-side-lbl { font-size:11px; letter-spacing:1px; text-transform:uppercase; font-weight:600; color:var(--ink-300); }
.cernio-chute { margin-top:var(--s-5); padding-top:var(--s-4); border-top:1px solid var(--ink-100); }
.cernio-chute p { font-size:15px; line-height:1.65; color:var(--ink-700); margin:0; }
.cernio-chute strong { font-weight:600; color:var(--ink-900); }
@media (max-width:767px){ .cernio-duo { grid-template-columns:1fr; gap:var(--s-3); } }
.market-card { padding:var(--s-5); background:var(--paper); border:1px solid var(--ink-100); border-radius:var(--r-2); }
.market-card.is-cernio { border-left:3px solid var(--terracotta); }
.market-card h3 { font-size:clamp(16px,1.4vw,19px); line-height:1.25; font-weight:600; color:var(--ink-900); margin-bottom:var(--s-2); }
.market-card p { font-size:14px; line-height:1.6; color:var(--ink-500); }
.market-card p + p { margin-top:var(--s-3); }
.market-card .who { display:inline-block; font-size:11px; letter-spacing:1px; text-transform:uppercase; font-weight:600; color:var(--ink-300); margin-bottom:var(--s-3); }
.market-card.is-cernio .who { color:var(--terracotta); }
.home-market-line { font-size:clamp(26px,2.6vw,42px); line-height:1.4; letter-spacing:-0.01em; font-weight:600; color:var(--ink-900); max-width:680px; }

.home-proof { padding: var(--s-7) 0; background:var(--paper); border-top:1px solid var(--ink-100); }
.home-proof-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--s-5); margin-top:var(--s-5); }
.home-proof-fused { display:grid; grid-template-columns:1fr auto 1fr; gap:clamp(24px,4vw,56px); align-items:stretch; margin-top:var(--s-5); padding:var(--s-6); background:var(--cream); border:1px solid var(--ink-100); border-radius:var(--r-2); }
.home-proof-statement { margin-top:0; max-width:820px; }
.proof-lead { font-size:clamp(26px,2.6vw,42px); line-height:1.25; letter-spacing:-0.02em; font-weight:400; color:var(--ink-900); }
.proof-fig { font-weight:600; color:var(--ink-900); white-space:nowrap; }
.proof-follow { font-size:clamp(15px,1.3vw,17px); line-height:1.6; color:var(--ink-500); margin-top:var(--s-4); max-width:680px; }
.proof-costs { margin-top:var(--s-5); max-width:760px; }
.costs-lead { font-size:clamp(16px,1.4vw,19px); line-height:1.4; font-weight:600; color:var(--ink-900); margin:0 0 var(--s-4); }
.cost-item { display:grid; grid-template-columns:130px 1fr; gap:var(--s-4); padding:var(--s-4) 0; border-top:1px solid var(--ink-100); align-items:baseline; }
.cost-item:last-child { border-bottom:1px solid var(--ink-100); }
.cost-nature { font-size:12px; letter-spacing:1px; text-transform:uppercase; font-weight:600; color:var(--terracotta); }
.cost-item p { font-size:15px; line-height:1.6; color:var(--ink-700); margin:0; }
@media (max-width:640px){ .cost-item { grid-template-columns:1fr; gap:var(--s-2); } }
.proof-side { display:flex; flex-direction:column; }
.proof-divider { width:1px; background:var(--ink-100); }
.proof-who { font-size:11px; letter-spacing:1px; text-transform:uppercase; font-weight:600; color:var(--ink-300); margin-bottom:var(--s-3); }
.proof-num { font-size:clamp(30px,3.6vw,46px); line-height:1.05; letter-spacing:-0.03em; font-weight:600; color:var(--ink-900); display:block; }
.proof-sep { font-size:0.55em; font-weight:400; color:var(--ink-300); margin:0 0.3em; letter-spacing:0; }
.proof-unit { font-size:13px; color:var(--ink-500); margin-top:var(--s-2); margin-bottom:var(--s-3); }
.proof-side p { font-size:14px; line-height:1.6; color:var(--ink-500); margin-top:auto; }
@media (max-width:767px){ .home-proof-fused { grid-template-columns:1fr; gap:var(--s-5); } .proof-divider { width:auto; height:1px; } }
.home-proof-line { font-size:clamp(16px,1.4vw,19px); line-height:1.45; font-weight:600; color:var(--ink-900); margin-top:var(--s-5); max-width:680px; }
.home-proof-src { font-size:11px; line-height:1.5; color:var(--ink-300); margin-top:var(--s-4); max-width:720px; }
.home-gain { padding: var(--s-7) 0; background:var(--cream); border-top:1px solid var(--ink-100); }
.gain-lead { font-size:clamp(26px,2.6vw,42px); line-height:1.3; letter-spacing:-0.015em; font-weight:600; color:var(--ink-900); max-width:800px; margin:0 0 var(--s-4); text-wrap:balance; }
.gain-dev { font-size:clamp(15px,1.2vw,17px); line-height:1.65; color:var(--ink-500); max-width:720px; margin:0; }
.home-proof-dev { font-size:clamp(15px,1.2vw,17px); line-height:1.65; color:var(--ink-700); margin-top:var(--s-3); max-width:760px; }
@media (max-width:767px){ .home-proof-grid { grid-template-columns:1fr; } }

.home-doors { padding: var(--s-8) 0; background:var(--cream); border-top:1px solid var(--ink-100); }
.home-doors-grid { display:grid; grid-template-columns:1.15fr 0.85fr; gap:var(--s-5); margin-top:var(--s-5); align-items:stretch; }
.door--primary { background:var(--paper); border-color:var(--ink-300); box-shadow:0 2px 16px rgba(26,26,26,0.06); }
.door--primary:hover { border-color:var(--terracotta); }
.door--secondary { background:var(--cream); }
.door { display:flex; flex-direction:column; padding:clamp(28px,3vw,44px); background:var(--paper); border:1px solid var(--ink-100); border-radius:var(--r-lg); transition:border-color 160ms ease, transform 160ms ease; }
.door:hover { border-color:var(--terracotta); transform:translateY(-2px); }
.door-kicker { font-size:12px; letter-spacing:1px; text-transform:uppercase; font-weight:600; color:var(--terracotta); margin-bottom:var(--s-3); }
.door h2 { font-size:clamp(22px,2.2vw,30px); line-height:1.15; letter-spacing:-0.02em; font-weight:600; color:var(--ink-900); margin-bottom:var(--s-3); }
.door p { font-size:15px; line-height:1.6; color:var(--ink-500); margin-bottom:var(--s-5); flex:1; }
.door .btn { margin-top:auto; align-self:flex-start; }
.door .btn { align-self:flex-start; }
@media (max-width:767px){ .home-market-grid { grid-template-columns:1fr; } .home-doors-grid { grid-template-columns:1fr; } }
.home-partners { padding: var(--s-7) 0 var(--s-8); background:var(--cream); border-top:1px solid var(--ink-100); }
.partners-kicker { display:block; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; font-weight:600; color:var(--ink-300); margin-bottom:var(--s-5); }
.partners-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--s-5); }
.partner { padding:var(--s-5); background:var(--paper); border:1px solid var(--ink-100); border-radius:var(--r-2); }
.partner-name { font-size:clamp(18px,1.6vw,22px); font-weight:600; color:var(--ink-900); margin-bottom:var(--s-2); letter-spacing:-0.01em; }
.partner p { font-size:14px; line-height:1.6; color:var(--ink-500); }
@media (max-width:767px){ .partners-grid { grid-template-columns:1fr; } }

/* ===== Voir nos profils (Entreprise) ===== */
.voir-candidats-sec { padding: var(--s-6) 0; background:var(--cream); }
.voir-candidats { display:flex; align-items:center; justify-content:space-between; gap:var(--s-5); flex-wrap:wrap; padding:var(--s-5) var(--s-6); background:var(--paper); border:1px solid var(--ink-100); border-left:3px solid var(--terracotta); border-radius:var(--r-2); }
.voir-candidats-text h3 { font-size:clamp(18px,1.6vw,22px); font-weight:600; color:var(--ink-900); margin-bottom:6px; line-height:1.25; }
.voir-candidats-text p { font-size:14px; line-height:1.55; color:var(--ink-500); max-width:520px; }
.voir-candidats .btn { flex-shrink:0; }

/* ===== Modale vitrine ===== */
.vitrine-modal { position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:var(--s-4); }
.vitrine-modal[hidden] { display:none; }
.vitrine-modal-overlay { position:absolute; inset:0; background:rgba(26,26,26,0.55); }
.vitrine-modal-panel { position:relative; width:100%; max-width:1240px; max-height:92vh; background:var(--cream); border-radius:var(--r-lg); overflow:hidden; display:flex; flex-direction:column; box-shadow:0 20px 60px rgba(0,0,0,0.3); }
.vitrine-modal-close { position:absolute; top:14px; right:16px; z-index:2; width:36px; height:36px; border:none; background:var(--paper); border:1px solid var(--ink-100); border-radius:50%; font-size:20px; line-height:1; color:var(--ink-500); cursor:pointer; }
.vitrine-modal-close:hover { color:var(--ink-900); border-color:var(--ink-300); }
.vitrine-modal-scroll { overflow-y:auto; padding:var(--s-6); }
.vitrine-modal-scroll .section-head { margin-bottom:var(--s-5); }

/* ===== Parrainage (Candidat) ===== */
.parrainage-sec { padding: var(--s-7) 0; background:var(--cream); border-top:1px solid var(--ink-100); }
.parrainage-card { max-width:820px; }
.parrainage-card h2 { font-size:clamp(22px,2.2vw,32px); line-height:1.1; letter-spacing:-0.025em; font-weight:600; color:var(--ink-900); margin:0 0 var(--s-4); text-wrap:balance; }
.parrainage-card p { font-size:15px; line-height:1.65; color:var(--ink-700); max-width:680px; margin-bottom:var(--s-3); }
.parrainage-note { font-size:13px !important; color:var(--ink-500) !important; }
.parrainage-card .btn { margin-top:var(--s-4); }
.parrainage-card .parr-row .btn { margin-top:0; }
.parr-form { margin-top:var(--s-5); max-width:460px; }
.parr-row { display:flex; flex-wrap:wrap; gap:var(--s-2); }
.parr-row input {
  flex:1 1 240px; height:44px; padding:0 var(--s-4);
  border:1px solid var(--ink-100); border-radius:var(--r-2);
  font-family:inherit; font-size:14px;
  background:var(--paper); color:var(--ink-900);
}
.parr-row input::placeholder { color:var(--ink-300); }
.parr-row input:focus {
  outline:none; border-color:var(--terracotta);
  box-shadow:0 0 0 3px rgba(196, 81, 58, 0.12);
}
.parr-hp { position:absolute; left:-9999px; top:auto; height:1px; overflow:hidden; }
@media (max-width:767px){ .voir-candidats { flex-direction:column; align-items:flex-start; } .vitrine-modal-scroll { padding:var(--s-4); } }

/* ===== Entreprise — pic double intérêt ===== */
.pic-sec { padding: clamp(88px,11vw,150px) 0; background: var(--anthracite); }
.pic-statement { font-size: clamp(34px,4.3vw,62px); line-height:1.06; letter-spacing:-0.035em; font-weight:600; color:var(--paper); max-width:1060px; text-wrap:balance; }
.pic-dev { margin-top: var(--s-5); font-size: clamp(16px,1.5vw,19px); line-height:1.6; color: rgba(255,255,255,0.78); max-width:660px; }

/* ===== Entreprise — aperçus statiques ===== */
.screens-sec { padding: clamp(56px,7vw,96px) 0; background: var(--cream); }
.screens-sec .vitrine-app { margin-top: 0; }
.vitrine-app.is-static .res-row { cursor: default; }
.vitrine-app.is-static .res-row:hover { border-color: rgba(26,26,26,0.08); }
.screen-block { margin-top: var(--s-6); }
.screen-clip { position: relative; overflow: hidden; padding-bottom: 8px; }
.screen-clip .screen-fade { position:absolute; left:0; right:0; bottom:0; height:120px; background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, var(--paper) 88%); pointer-events:none; }
.screen-caption { font-size:13px; line-height:1.55; color:var(--ink-500); margin-top:var(--s-3); max-width:680px; }
.fiche-static { background:var(--paper); border:1px solid var(--ink-100); border-radius:var(--r-3); padding:clamp(20px,2.5vw,36px); max-width:720px; }
.fiche-static-head { display:flex; justify-content:space-between; align-items:center; gap:var(--s-4); padding-bottom:var(--s-4); border-bottom:1px solid var(--ink-100); flex-wrap:wrap; }
.fs-cid { font-weight:600; color:var(--terracotta); margin-right:10px; font-size:15px; }
.fs-fn { font-weight:600; color:var(--ink-900); font-size:16px; }
.fs-sec { margin-top: var(--s-5); }
.fs-ttl { font-size:11px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--ink-300); margin-bottom:var(--s-3); }
.fs-trait { margin-bottom: var(--s-3); }
.fs-trait strong { display:block; font-size:14px; font-weight:600; color:var(--ink-900); }
.fs-trait span { display:block; font-size:13px; color:var(--ink-500); line-height:1.5; }
.fs-kv { display:grid; grid-template-columns:auto 1fr; gap:6px 18px; font-size:13px; color:var(--ink-500); }
.fs-kv strong { color:var(--ink-900); font-weight:500; }
.fs-masked { margin-top: var(--s-5); padding-top: var(--s-4); border-top:1px dashed var(--ink-100); font-size:12px; color:var(--ink-300); }
.screens-cta { margin-top: var(--s-6); }
.vitrine-duo { display:grid; grid-template-columns:1.45fr 1fr; gap:var(--s-6); align-items:start; margin-top:var(--s-7); }
.vitrine-duo .vitrine-app { margin-top:0; }
.demo-panel .res-row { padding:16px 20px; }
.demo-panel .row-main { flex-wrap:wrap; gap:16px; }
.demo-panel .row-id { width:170px; }
.demo-panel .row-money { width:120px; }
.demo-panel .money-sal { white-space:nowrap; }
.demo-panel .col-dims { flex:1 1 auto; order:0; flex-direction:column; align-items:flex-start; gap:6px; min-width:260px; }
.demo-panel .subdims { flex-wrap:wrap; row-gap:6px; }
.row-lvl-k { font-size:9px; letter-spacing:1px; text-transform:uppercase; color:var(--ink-300); font-weight:600; }
.dims-line { display:flex; align-items:center; gap:14px; flex-wrap:wrap; row-gap:6px; }
.demo-panel .row-side { display:flex; gap:12px; align-items:flex-start; }
.row-actions { display:flex; flex-direction:column; gap:6px; }
.btn-mini { display:inline-flex; align-items:center; justify-content:center; height:30px; padding:0 12px; font-size:12px; font-weight:500; border-radius:6px; border:1px solid var(--ink-100); background:var(--paper); color:var(--ink-900); white-space:nowrap; }
.btn-mini.primary { background:var(--terracotta); border-color:var(--terracotta); color:#fff; }
.zs-title { font-size:17px; font-weight:600; color:var(--ink-900); }
.zs-sub { font-size:11px; letter-spacing:0.6px; text-transform:uppercase; color:var(--terracotta); font-weight:600; margin-top:3px; }
.zs-lede { font-size:13.5px; color:var(--ink-700); line-height:1.6; margin-top:10px; }
.fitm { margin-top:10px; }
.fitm-hd { font-size:11px; letter-spacing:0.8px; text-transform:uppercase; font-weight:600; margin-bottom:8px; }
.fitm ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; }
.fitm li { font-size:13px; color:var(--ink-700); line-height:1.45; padding-left:14px; position:relative; }
.fitm-yes .fitm-hd { color:var(--forte); }
.fitm-yes li::before { content:"+"; position:absolute; left:0; color:var(--forte); font-weight:700; }
.fitm-no { background:var(--cream-warm); border-left:3px solid var(--terracotta); border-radius:0 8px 8px 0; padding:10px 12px 12px; margin-top:14px; }
.fitm-no .fitm-hd { color:var(--terracotta); }
.fitm-no li::before { content:"–"; position:absolute; left:0; color:var(--terracotta); font-weight:700; }
.ess-line-sec { padding: var(--s-5) 0; background: var(--paper); border-bottom:1px solid var(--ink-100); }
.ess-line { font-size:clamp(15px,1.3vw,17px); color:var(--ink-700); margin:0; max-width:880px; }
.proof-sec { padding: clamp(48px,6vw,80px) 0; }
@media (max-width:900px){ .proof-duo { grid-template-columns:1fr; } }
.conditions-sec { padding: clamp(48px,6vw,80px) 0; background:var(--paper); border-top:1px solid var(--ink-100); border-bottom:1px solid var(--ink-100); }
.cond-title { font-size:clamp(24px,2.4vw,38px); line-height:1.1; letter-spacing:-0.025em; font-weight:600; color:var(--ink-900); margin:var(--s-3) 0 var(--s-3); }
.cond-sub { font-size:clamp(15px,1.2vw,17px); color:var(--ink-700); max-width:760px; margin:0 0 var(--s-6); }
.steps-line { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s-5); }
@media (max-width:900px){ .steps-line { grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .steps-line { grid-template-columns:1fr; } }
.steps-line li { font-size:14.5px; font-weight:600; color:var(--ink-900); line-height:1.4; padding-top:10px; border-top:2px solid var(--ink-100); }
.sl-num { display:block; font-size:12px; font-weight:600; color:var(--ink-300); margin-bottom:6px; letter-spacing:0.5px; }
.steps-note { margin-top:var(--s-6); font-size:14px; color:var(--ink-500); }
.contact-solo { display:flex; flex-direction:column; gap:var(--s-4); max-width:560px; }
.contact-solo .channel-card { width:100%; }
.contact-alt { font-size:14px; color:var(--ink-500); margin:0; }
.contact-alt a { color:var(--ink-700); }
.contact-alt a:hover { color:var(--terracotta); }
/* ===== ENTONNOIR ===== */
/* Funnel entreprise — grammaire Accueil : un container, phrases pleines, fonds alternés cream/paper */
.ent-toc { padding: 14px 0; background:var(--cream); border-top:1px solid var(--ink-100); border-bottom:1px solid var(--ink-100); }
.ent-toc-list { list-style:none; margin:0; padding:0; display:flex; gap:var(--s-6); flex-wrap:wrap; }
.ent-toc-list a { display:inline-flex; align-items:baseline; gap:8px; font-size:13.5px; font-weight:500; color:var(--ink-700); text-decoration:none; }
.ent-toc-list a .n { font-size:11px; font-weight:600; color:var(--ink-300); letter-spacing:0.5px; }
.ent-toc-list a:hover { color:var(--ink-900); }
.ent-toc-list a:hover .n { color:var(--terracotta); }
@media (max-width:640px){ .ent-toc-list { gap:var(--s-4) var(--s-5); } .ent-toc-list a { font-size:13px; } }
.ent-pic, .ent-mesure, .ent-cond, .apercu-sec, #page-entreprise .contact { scroll-margin-top:88px; }
.ent-pic { padding: var(--s-7) 0; background:var(--cream); border-top:none; }
.ent-pic .kicker, .ent-mesure .kicker, .ent-cond .kicker { margin-bottom:var(--s-4); }
.ent-pic-line { font-size:clamp(26px,2.6vw,42px); line-height:1.05; letter-spacing:-0.03em; font-weight:600; color:var(--ink-900); max-width:820px; text-wrap:balance; margin:0 0 var(--s-5); }
.ent-pic-dev { font-size:clamp(16px,1.5vw,19px); line-height:1.6; color:var(--ink-700); max-width:680px; margin:0 0 var(--s-5); }
.ent-ess { font-size:14.5px; line-height:1.6; color:var(--ink-500); max-width:680px; margin:0; padding-top:var(--s-4); border-top:1px solid var(--ink-100); }
.ent-sec-line { font-size:clamp(18px,1.8vw,24px); line-height:1.4; letter-spacing:-0.01em; font-weight:600; color:var(--ink-900); max-width:680px; margin:0 0 var(--s-6); }
.ent-mesure { padding: var(--s-7) 0; background:var(--cream); border-top:1px solid var(--ink-100); }
.ent-mesure-title { font-size:clamp(26px,2.6vw,42px); line-height:1.05; letter-spacing:-0.03em; font-weight:600; color:var(--ink-900); margin:0 0 var(--s-4); }
.ent-mesure-lede { font-size:clamp(16px,1.5vw,19px); line-height:1.6; color:var(--ink-700); max-width:680px; margin:0 0 var(--s-4); }
.ent-mesure-dev { font-size:15px; line-height:1.6; color:var(--ink-700); max-width:680px; margin:0 0 var(--s-5); }

/* ===== Composant compatibilité — socle v1.0 (27/07/2026), scopé vitrine ===== */
.mesure-demo { --exc:#7C3AED; --exc-soft:#F3EDFB; --forte:#15803D; --forte-soft:#E8F0EB;
  --appr:#CA8A04; --appr-soft:#FBF3E4; --faible:#991B1B; --faible-soft:#F8ECEC; }
.mesure-demo .dot { width:12px; height:12px; border-radius:50%; box-sizing:border-box; flex-shrink:0; display:inline-block; background:none; }
.mesure-demo .d-exc { background:var(--exc); }
.mesure-demo .d-forte { background:transparent; border:4px solid var(--forte); }
.mesure-demo .d-appr { background:linear-gradient(90deg,var(--appr) 50%,transparent 50%); border:1.5px solid var(--appr); }
.mesure-demo .d-faible { background:transparent; border:2px solid var(--faible); }
.mesure-demo .dot.xs { width:9px; height:9px; }
.mesure-demo .dot.xs.d-forte { border-width:3px; }
.mesure-demo .dot.sm { width:11px; height:11px; }
.mesure-demo .dot.sm.d-forte { border-width:3.5px; }
.mesure-demo .pill { display:inline-flex; align-items:center; gap:9px; height:34px; padding:0 17px;
  border-radius:9999px; font-size:15px; font-weight:600; white-space:nowrap; }
.mesure-demo .p-forte { background:var(--forte-soft); color:var(--forte); }
.cx-row { display:flex; align-items:center; gap:0; flex-wrap:wrap; }
.cx-global { padding-right:22px; }
.cx-cap { display:block; font-size:9px; letter-spacing:0.6px; text-transform:uppercase; color:var(--ink-500); font-weight:600; margin-bottom:7px; }
.cx-bar { width:2px; align-self:stretch; background:var(--ink-500); border-radius:1px; flex-shrink:0; }
.cx-cell { display:flex; flex-direction:column; align-items:center; gap:7px; padding:0 20px; border-left:1px solid var(--ink-100); }
.cx-cell:first-of-type { border-left:none; }
.cx-fam { display:flex; align-items:flex-start; gap:16px; padding-left:20px; border-left:1px solid var(--ink-100); }
.cx-lab { font-size:9px; letter-spacing:0.6px; text-transform:uppercase; color:var(--ink-500); font-weight:600; white-space:nowrap; }
.cx-trip { display:flex; align-items:flex-start; gap:7px; }
.cx-tri { display:flex; flex-direction:column; align-items:center; gap:7px; }
.cx-ini { font-size:8.5px; font-weight:600; color:var(--ink-300); line-height:1; letter-spacing:0.3px; }
.cx-legend { margin-top:16px; padding-top:14px; border-top:1px solid var(--ink-100); }
.cx-legend-ttl { font-size:9px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--ink-300); }
.cx-legend-items { display:flex; gap:14px; flex-wrap:wrap; margin-top:7px; }
.cx-legend-it { display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--ink-500); }
.cx-legend-it b { color:var(--ink-700); font-weight:600; }
.cx-legend-sub { margin-top:10px; padding-top:9px; border-top:1px solid var(--ink-100); }
@media (max-width:767px){
  .cx-row { flex-direction:column; align-items:flex-start; gap:var(--s-4); }
  .cx-bar { width:100%; height:2px; align-self:auto; }
  .cx-cell, .cx-fam { flex-direction:row; align-items:center; gap:10px; padding:0; border-left:none; }
  .cx-tri { flex-direction:row; align-items:center; gap:4px; }
  .mesure-demo { display:block; }
}

.mesure-demo { background:var(--paper); border:1px solid var(--ink-100); border-radius:var(--r-2); padding:16px var(--s-5); margin:0 0 var(--s-5); display:inline-block; max-width:100%; }
.mesure-demo .md-dims { display:flex; align-items:center; gap:20px; flex-wrap:wrap; padding-bottom:12px; margin-bottom:12px; border-bottom:1px solid var(--ink-100); }
.mesure-demo .md-sub { display:inline-flex; align-items:center; gap:7px; font-size:13.5px; color:var(--ink-700); }
.mesure-demo .md-sub:first-child { font-weight:600; color:var(--ink-900); }
.mesure-demo .sdot { width:13px; height:13px; border-radius:50%; box-sizing:border-box; display:inline-block; flex-shrink:0; }
.mesure-levels { display:flex; gap:20px; flex-wrap:wrap; align-items:center; margin:0; }
.mlevel { display:inline-flex; align-items:center; gap:7px; font-size:12.5px; color:var(--ink-500); }
.mdot { width:13px; height:13px; border-radius:50%; box-sizing:border-box; display:inline-block; flex-shrink:0; }
.md-exc { background:#7C3AED; }
.md-forte { background:transparent; border:4px solid #15803D; }
.md-appr { background:linear-gradient(90deg,#CA8A04 50%,transparent 50%); border:1.5px solid #CA8A04; }
.md-faible { background:transparent; border:2px solid #991B1B; }
.ent-mesure-close { font-size:14.5px; line-height:1.6; color:var(--ink-500); max-width:680px; margin:0; padding-top:var(--s-4); border-top:1px solid var(--ink-100); }
.ent-cond { padding: var(--s-7) 0; background:var(--cream); border-top:1px solid var(--ink-100); }
.ent-cond .cond-title { margin:0 0 var(--s-3); font-size:clamp(26px,2.6vw,42px); line-height:1.05; letter-spacing:-0.03em; }
.ent-cond .cond-sub { font-size:clamp(16px,1.4vw,19px); line-height:1.6; color:var(--ink-700); max-width:680px; margin:0 0 var(--s-5); }
.ent-cond .cond-dev { font-size:15px; line-height:1.6; color:var(--ink-700); max-width:680px; margin:0; }
.ent-pic .steps-line { max-width:820px; grid-template-columns:1fr 1fr; gap:var(--s-4) var(--s-6); margin-bottom:var(--s-5); }
.ent-pic .steps-line li { border-top-width:1px; }
.ent-pic .method-link { margin-top:0; padding-top:0; border-top:none; }
.ent-rdv .ent-sec-line { margin-bottom: var(--s-2); }
@media (max-width:900px){
  .ent-cond .steps-line { grid-template-columns:1fr; }
}
.ent-subnav { display:flex; gap:10px; align-items:center; margin-top:var(--s-5); flex-wrap:wrap; scroll-margin-top:84px; }
.subnav-btn { height:54px; padding:0 28px; border:1px solid var(--ink-100); border-bottom:none; border-radius:10px 10px 0 0; background:var(--paper); font-family:inherit; font-size:15px; font-weight:600; color:var(--ink-500); cursor:pointer; transition:all .15s; position:relative; }
.subnav-btn:hover { color:var(--ink-900); background:var(--cream-warm); }
.subnav-btn.is-on { background:var(--anthracite); border-color:var(--anthracite); color:#fff; }
@media (max-width:640px){ .demo-nav { flex-wrap:wrap; overflow-x:auto; } .subnav-btn { flex:0 0 auto; padding:0 18px; height:48px; font-size:14px; } }
.subnav-rdv { margin-left:auto; height:42px; }
.demo-rdv-mobile { display:none; margin:var(--s-4) 0 0; }
@media (max-width:640px){ .subnav-rdv{ display:none; } .demo-rdv-mobile{ display:block; } .demo-rdv-mobile .btn{ width:100%; } }
.ent-sub { display:none; }
.ent-sub.is-on { display:block; }
.ess-lead-sec { padding: var(--s-6) 0 clamp(40px,5vw,64px); }
.ess-lead { display:grid; grid-template-columns:1.2fr 1fr; gap:var(--s-7); align-items:center; }
@media (max-width:860px){ .ess-lead{ grid-template-columns:1fr; gap:var(--s-5);} }
.ess-cta > p:first-child { font-size:clamp(16px,1.5vw,19px); color:var(--ink-700); line-height:1.6; max-width:560px; margin:0 0 var(--s-5); }
.mini-fiche { text-align:left; background:var(--paper); border:1px solid var(--ink-100); border-top:3px solid var(--terracotta); border-radius:var(--r-3); padding:var(--s-5); cursor:pointer; font-family:inherit; box-shadow:0 14px 36px rgba(15,20,25,0.08); display:flex; flex-direction:column; gap:10px; transition:box-shadow .15s, transform .15s; }
.mini-fiche:hover { box-shadow:0 20px 48px rgba(15,20,25,0.14); transform:translateY(-2px); }
.mini-fiche-head { display:flex; align-items:center; gap:10px; font-size:15px; font-weight:600; color:var(--ink-900); flex-wrap:wrap; }
.mini-fiche-line { font-size:13.5px; color:var(--ink-500); line-height:1.5; }
.mini-fiche-more { font-size:13px; font-weight:600; color:var(--terracotta); }
.apercu-sec { padding: var(--s-7) 0 clamp(48px,6vw,80px); border-top:1px solid var(--ink-100); }
.unlock-note { background:var(--cream-warm); border-left:3px solid var(--terracotta); border-radius:0 8px 8px 0; padding:14px 18px; font-size:14px; line-height:1.6; color:var(--ink-700); margin:0 0 var(--s-4); }
.demo-nav-hint { font-size:14px; font-weight:600; color:var(--ink-700); margin:0; }
.demo-head-row { display:flex; align-items:flex-end; justify-content:space-between; gap:var(--s-4); flex-wrap:wrap; margin-top:var(--s-6); }
.apercu-sec { scroll-margin-top:96px; }
.pack-frame { width:100%; height:min(900px,85vh); border:1px solid var(--ink-100); border-radius:12px; background:#fff; display:block; }
.demo-nav { display:flex; gap:6px; align-items:flex-end; margin:var(--s-3) 0 0; border-bottom:3px solid var(--anthracite); }
.demo-panel { display:none; padding-top:var(--s-5); }
.demo-panel.is-on { display:block; }
.fiche-wrap { max-width:780px; }
.fiche-solo { max-width:none; box-shadow:0 20px 52px rgba(15,20,25,0.10); border-top:3px solid var(--terracotta); }
.info-badges { display:flex; gap:8px; flex-wrap:wrap; }
.info-badge { display:inline-flex; align-items:center; height:24px; padding:0 11px; border-radius:4px; font-size:12px; font-weight:500; background:rgba(26,26,26,0.06); color:var(--ink-700); }
.res-row.is-focus { border-color:var(--terracotta); box-shadow:0 0 0 3px var(--terracotta-soft); position:relative; }
.zoom-card { position:sticky; top:96px; box-shadow:0 26px 64px rgba(15,20,25,0.16); border-top:3px solid var(--terracotta); max-width:none; }
.zoom-slides { position:relative; min-height:330px; }
.zoom-slide { position:absolute; inset:0; opacity:0; transition:opacity .45s ease; pointer-events:none; }
.zoom-slide.is-on { opacity:1; pointer-events:auto; }
.zoom-dots { display:flex; gap:8px; margin-top:var(--s-4); }
.zoom-dot { width:8px; height:8px; border-radius:99px; border:0; padding:0; background:var(--ink-100); cursor:pointer; transition:background .2s; }
.zoom-dot.is-on { background:var(--terracotta); }
@media (max-width:960px){ .vitrine-duo { grid-template-columns:1fr; } .zoom-card { position:static; } .zoom-slides{ min-height:280px; } }
.recap-sec { padding: clamp(40px,5vw,64px) 0; background: var(--paper); border-top:1px solid var(--ink-100); border-bottom:1px solid var(--ink-100); }
.recap-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-6); margin-top:var(--s-4); }
.recap-grid p { font-size:15px; line-height:1.6; color:var(--ink-700); margin:0; }
.recap-grid strong { color:var(--ink-900); }
@media (max-width:860px){ .recap-grid { grid-template-columns:1fr; gap:var(--s-4); } }
.contact-data { font-size:13px; color:var(--ink-500); margin-top:var(--s-3); max-width:360px; }
.fs-dimrow { display:flex; align-items:center; justify-content:space-between; gap:var(--s-4); flex-wrap:wrap; margin-top:var(--s-3); }
.fs-price { font-size:13px; color:var(--ink-500); }
.fs-price strong { font-size:15px; color:var(--ink-900); font-weight:600; }
.fs-truth { margin-top:var(--s-5); background:var(--cream-warm); border-left:3px solid var(--terracotta); border-radius:0 var(--r-2) var(--r-2) 0; padding:var(--s-4); }
.fs-truth .fs-ttl { color:var(--terracotta); margin-bottom:var(--s-2); }
.fs-truth p { font-size:14px; line-height:1.55; color:var(--ink-700); margin:0; }
.screens-lead { font-size:clamp(16px,1.4vw,18px); line-height:1.6; color:var(--ink-700); max-width:720px; margin:0 0 var(--s-4); }
.hero-cta { margin-top: var(--s-5); }

/* ===== Entreprise — mesure ===== */
.mesure-sec { padding: clamp(56px,7vw,96px) 0; background: var(--cream-warm); border-top:1px solid var(--ink-100); border-bottom:1px solid var(--ink-100); }
.mesure-body p { font-size:clamp(16px,1.5vw,19px); line-height:1.65; color:var(--ink-700); max-width:740px; margin-bottom:var(--s-4); }
.mesure-body p:last-child { margin-bottom:0; }
/* ===== FICHE RÉELLE EMBARQUÉE ===== */
.fiche-embed {
    --paper:#FFFFFF; --cream:#FBFAF7; --cream-warm:#FBF4F1;
    --graphite:#1A1A1A; --ink-900:#0F1419; --ink-700:#1F2937; --ink-500:#4B5563; --ink-300:#9CA3AF;
    --g04:rgba(26,26,26,0.04); --g06:rgba(26,26,26,0.06); --g08:rgba(26,26,26,0.08); --g40:rgba(26,26,26,0.40); --g60:rgba(26,26,26,0.60);
    --terracotta:#C4513A; --terracotta-hover:#A8442F; --terracotta-08:rgba(196,81,58,0.08); --terracotta-soft:#FAECE7;
    --exc:#7C3AED; --exc-soft:#F3EDFB; --forte:#15803D; --forte-soft:#E8F0EB;
    --appr:#CA8A04; --appr-soft:#FBF3E4; --faible:#991B1B; --faible-soft:#F8ECEC;
    --r-sm:3px; --r-md:6px; --r-lg:12px; --r-pill:9999px;
  }
.fiche-embed * { box-sizing:border-box; margin:0; padding:0; }
.fiche-embed { font-family:'Inter',system-ui,sans-serif; font-feature-settings:'cv11','ss01'; background:var(--cream); color:var(--graphite); font-size:14px; line-height:1.55; -webkit-font-smoothing:antialiased; }
.fiche-embed button { font-family:inherit; color:inherit; }
.fiche-embed /* Bascule de langue */
  
  

  .filet { height:3px; background:var(--terracotta); }
.fiche-embed .sheet { width:100%; max-width:1880px; margin:0 auto; padding:0 clamp(20px,4vw,72px) 72px; }
.fiche-embed .header-bar { display:flex; align-items:center; height:72px; margin-bottom:8px; }
.fiche-embed .logo svg { height:30px; width:auto; display:block; }
.fiche-embed .header-right { margin-left:auto; display:flex; align-items:center; gap:22px; }
.fiche-embed .header-meta { text-align:right; }
.fiche-embed .header-meta .k { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--ink-300); font-weight:600; }
.fiche-embed .header-meta .v { font-size:13px; color:var(--ink-700); font-weight:500; margin-top:2px; }
.fiche-embed .hero { border-top:1px solid var(--g08); padding-top:28px; margin-bottom:26px; }
.fiche-embed .hero-mode { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--terracotta); font-weight:600; margin-bottom:10px; }
.fiche-embed .hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,0.85fr); gap:36px clamp(28px,4vw,64px); align-items:start; }
@media (max-width:1080px){
.fiche-embed .hero-grid { grid-template-columns:1fr; }
}
.fiche-embed .hero-title { font-size:clamp(28px,3vw,42px); font-weight:600; letter-spacing:-0.5px; color:var(--ink-900); line-height:1.05; }
.fiche-embed .hero-sub { font-size:14px; color:var(--terracotta); font-weight:600; letter-spacing:0.3px; margin-top:6px; text-transform:uppercase; }
.fiche-embed .hero-id { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:14px; color:var(--ink-500); margin-top:16px; }
.fiche-embed .hero-id .dot { width:3px; height:3px; border-radius:50%; background:var(--ink-300); }
.fiche-embed .hero-lede { font-size:15px; color:var(--ink-700); line-height:1.65; margin-top:18px; max-width:760px; }
.fiche-embed .compat-card { background:var(--paper); border:1px solid var(--g08); border-radius:var(--r-lg); padding:22px 24px; }
.fiche-embed .compat-k { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--ink-300); font-weight:600; margin-bottom:14px; }
.fiche-embed .compat-glob { display:inline-flex; align-items:center; gap:10px; height:38px; padding:0 18px; border-radius:var(--r-pill); font-size:16px; font-weight:600; white-space:nowrap; }
.fiche-embed .compat-glob .gdot { width:11px; height:11px; border-radius:50%; box-sizing:border-box; flex-shrink:0; }
.fiche-embed .gv-forte { background:var(--forte-soft); color:var(--forte); }
.fiche-embed .gv-forte .gdot { background:transparent; border:4px solid var(--forte); }
.fiche-embed .subdims-vert { display:flex; flex-wrap:wrap; gap:14px 26px; margin-top:18px; }
.fiche-embed .sub-v { display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--ink-700); }
.fiche-embed .sub-v .sdot { width:12px; height:12px; border-radius:9999px; box-sizing:border-box; flex-shrink:0; }
.fiche-embed .sd-exc { background:var(--exc); }
.fiche-embed .sd-forte { background:transparent; border:4px solid var(--forte); }
.fiche-embed .sd-appr { background:linear-gradient(90deg,var(--appr) 50%,transparent 50%); border:1.5px solid var(--appr); }
.fiche-embed .sd-faible { background:transparent; border:2px solid var(--faible); }
.fiche-embed .sub-v .sub-lvl { color:var(--ink-300); font-weight:500; }
.fiche-embed .compat-sep { border:none; border-top:1px solid var(--g08); margin:16px 0 12px; }
.fiche-embed .compat-leg { display:flex; flex-wrap:wrap; gap:8px 16px; list-style:none; padding:0; margin:0; }
.fiche-embed .compat-leg li { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--ink-500); }
.fiche-embed .compat-leg li .sdot { width:12px; height:12px; flex:0 0 12px; border-radius:9999px; box-sizing:border-box; }
.fiche-embed .compat-src { font-size:12px; color:var(--ink-300); margin-top:12px; line-height:1.5; }
.fiche-embed .grid { display:grid; gap:22px; }
.fiche-embed .cols-2 { grid-template-columns:1fr 1fr; }
@media (max-width:900px){
.fiche-embed .cols-2 { grid-template-columns:1fr; }
}
.fiche-embed .panel { background:var(--paper); border:1px solid var(--g08); border-radius:var(--r-lg); padding:24px 26px; }
.fiche-embed .sttl { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--ink-300); font-weight:600; margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid var(--g08); }
.fiche-embed .block-title { font-size:17px; font-weight:600; color:var(--ink-900); margin-bottom:12px; }
.fiche-embed .prose p { font-size:14.5px; line-height:1.7; color:var(--ink-700); }
.fiche-embed .prose p + p { margin-top:12px; }
.fiche-embed .perso-traits { display:flex; flex-direction:column; gap:16px; }
.fiche-embed .perso-trait-name { font-size:14.5px; font-weight:600; color:var(--ink-900); }
.fiche-embed .perso-trait-desc { font-size:13.5px; color:var(--ink-500); line-height:1.55; margin-top:3px; }
.fiche-embed /* Matrice comparative par intitulé */
  .tmx-scroll { width:100%; overflow-x:auto; }
.fiche-embed .tmx { min-width:640px; }
.fiche-embed .tmx-head, .fiche-embed .tmx-row { display:grid; grid-template-columns:minmax(220px,1.7fr) 1fr 1fr 1fr; gap:16px; align-items:center; }
.fiche-embed .tmx-head { padding:0 14px 12px; border-bottom:1px solid var(--g08); }
.fiche-embed .tmx-head span { font-size:10px; letter-spacing:1px; text-transform:uppercase; color:var(--ink-300); font-weight:600; }
.fiche-embed .tmx-row { padding:15px 14px; border-bottom:1px solid var(--g06); }
.fiche-embed .tmx-row:last-child { border-bottom:none; }
.fiche-embed .tmx-row.is-pick { background:var(--terracotta-08); border-radius:var(--r-md); border-bottom:none; margin:2px 0; }
.fiche-embed .tmx-role { font-size:14.5px; font-weight:600; color:var(--ink-900); }
.fiche-embed .tmx-role .tag { display:block; font-size:10px; letter-spacing:0.6px; text-transform:uppercase; color:var(--terracotta); font-weight:600; margin-top:3px; }
.fiche-embed .tmx-role-desc { display:block; font-size:12px; font-weight:400; color:var(--ink-500); margin-top:5px; line-height:1.45; }
.fiche-embed .cell { display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--ink-700); }
.fiche-embed .cell .sdot { width:12px; height:12px; border-radius:9999px; box-sizing:border-box; flex-shrink:0; }
.fiche-embed .cell .lvl-appr-t { color:var(--appr); }
.fiche-embed .title-hint { font-size:12px; color:var(--ink-300); margin-top:16px; line-height:1.5; }
.fiche-embed .fit-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:900px){
.fiche-embed .fit-grid { grid-template-columns:1fr; }
}
.fiche-embed .fit-col { border:1px solid var(--g08); border-radius:var(--r-lg); padding:18px 20px; }
.fiche-embed .fit-yes { background:var(--forte-soft); border-color:rgba(21,128,61,0.18); }
.fiche-embed .fit-no { background:var(--cream); }
.fiche-embed .fit-hd { font-size:11px; letter-spacing:0.8px; text-transform:uppercase; font-weight:600; margin-bottom:14px; }
.fiche-embed .fit-yes .fit-hd { color:var(--forte); }
.fiche-embed .fit-no .fit-hd { color:var(--ink-500); }
.fiche-embed .fit-col ul { list-style:none; display:flex; flex-direction:column; gap:11px; }
.fiche-embed .fit-col li { font-size:13.5px; line-height:1.5; color:var(--ink-700); padding-left:18px; position:relative; }
.fiche-embed .fit-yes li::before { content:"+"; position:absolute; left:0; color:var(--forte); font-weight:700; }
.fiche-embed .fit-no li::before { content:"–"; position:absolute; left:0; color:var(--ink-300); font-weight:700; }
.fiche-embed .field-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px 28px; }
@media (max-width:1200px){
.fiche-embed .field-grid { grid-template-columns:repeat(3,1fr); }
}

@media (max-width:760px){
.fiche-embed .field-grid { grid-template-columns:repeat(2,1fr); }
}
.fiche-embed .field { display:flex; flex-direction:column; gap:4px; }
.fiche-embed .field-lbl { font-size:11px; letter-spacing:0.6px; text-transform:uppercase; color:var(--ink-300); font-weight:600; }
.fiche-embed .field-val { font-size:14px; color:var(--ink-900); line-height:1.5; }
.fiche-embed .field-val.todo { color:var(--terracotta); font-weight:500; }
.fiche-embed .field.wide { grid-column:span 2; }
.fiche-embed .field.full { grid-column:1 / -1; }
.fiche-embed .field-note { font-size:12px; color:var(--ink-500); margin-top:2px; line-height:1.5; }
.fiche-embed .field-em { color:var(--terracotta); font-weight:600; }
.fiche-embed .info-badges { display:flex; gap:8px; flex-wrap:wrap; margin-top:2px; }
.fiche-embed .info-badge { display:inline-flex; align-items:center; height:24px; padding:0 11px; border-radius:var(--r-sm); font-size:12px; font-weight:500; background:var(--g06); color:var(--ink-700); }
.fiche-embed .cta-band { display:flex; flex-wrap:wrap; align-items:center; gap:20px; background:var(--graphite); color:#fff; border-radius:var(--r-lg); padding:24px 28px; }
.fiche-embed .cta-txt { flex:1; min-width:240px; }
.fiche-embed .cta-txt .t { font-size:16px; font-weight:600; }
.fiche-embed .cta-txt .s { font-size:13px; color:rgba(255,255,255,0.62); margin-top:4px; }
.fiche-embed .btn-cta { display:inline-flex; align-items:center; justify-content:center; height:46px; padding:0 26px; border-radius:var(--r-md); font-size:14px; font-weight:600; background:var(--terracotta); color:#fff; border:none; cursor:pointer; text-decoration:none; }
.fiche-embed .btn-cta:hover { background:var(--terracotta-hover); }
.fiche-embed /* Signature / contact */
  .sig { margin-top:32px; padding-top:28px; border-top:1px solid var(--g08); display:flex; flex-wrap:wrap; gap:32px 56px; align-items:flex-start; justify-content:space-between; }
.fiche-embed .sig-brand { max-width:360px; }
.fiche-embed .sig-logo svg { height:26px; width:auto; display:block; }
.fiche-embed .sig-claim { font-size:14px; font-weight:600; color:var(--ink-900); letter-spacing:-0.2px; margin-top:14px; }
.fiche-embed .sig-claim span { color:var(--terracotta); }
.fiche-embed .sig-ext { font-size:12.5px; color:var(--ink-500); margin-top:6px; line-height:1.5; }
.fiche-embed .sig-contact { min-width:260px; }
.fiche-embed .sig-k { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--ink-300); font-weight:600; margin-bottom:10px; }
.fiche-embed .sig-name { font-size:15px; font-weight:600; color:var(--ink-900); }
.fiche-embed .sig-role { font-size:13px; color:var(--ink-500); margin-top:1px; }
.fiche-embed .sig-lines { margin-top:12px; display:flex; flex-direction:column; gap:5px; font-size:13px; }
.fiche-embed .sig-lines a, .fiche-embed .sig-lines span.li { color:var(--ink-700); text-decoration:none; }
.fiche-embed .sig-lines a:hover { color:var(--terracotta); }
.fiche-embed .sig-lines .todo-inline { color:var(--terracotta); }
.fiche-embed .foot-note { margin-top:26px; padding-top:18px; border-top:1px solid var(--g06); font-size:11.5px; color:var(--ink-300); line-height:1.6; max-width:820px; }
.fiche-embed .stack-lg { display:flex; flex-direction:column; gap:22px; }
.fiche-embed { border:1px solid rgba(26,26,26,0.08); border-radius:12px; overflow:hidden; background:var(--cream); }
.fiche-embed .sheet { padding:0 clamp(16px,3vw,40px) 40px; max-width:none; }


/* ===== SELECTEUR DE LANGUE =====
   Dropdown repris du lot v130, ou il existait sans jamais naviguer.
   Ici il navigue, et il porte autant de langues qu'on lui en donne :
   ajouter le neerlandais est une entree de plus dans la liste LANGS.
   Aucune memorisation du choix, la page cookies engage le site a n'ecrire
   ni cookie ni stockage local. */
.lang-dd { position:relative; }
.lang-dd-btn { display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 var(--s-3); background:transparent; border:1px solid var(--ink-100); border-radius:var(--r-2); font-family:inherit; font-size:13px; font-weight:500; color:var(--ink-700); cursor:pointer; text-transform:uppercase; letter-spacing:0.04em; transition:border-color 120ms ease, color 120ms ease; }
.lang-dd-btn:hover { border-color:var(--ink-300); color:var(--ink-900); }
.lang-caret { font-size:10px; transition:transform 160ms ease; }
.lang-dd.is-open .lang-caret { transform:rotate(180deg); }
.lang-dd-menu { position:absolute; top:calc(100% + 6px); right:0; min-width:80px; background:var(--paper); border:1px solid var(--ink-100); border-radius:var(--r-2); box-shadow:0 6px 20px rgba(26,26,26,0.08); list-style:none; padding:var(--s-1); margin:0; display:none; z-index:200; }
.lang-dd.is-open .lang-dd-menu { display:block; }
.lang-dd-menu a { display:block; padding:var(--s-2) var(--s-3); font-size:13px; color:var(--ink-700); text-decoration:none; border-radius:var(--r-1); text-transform:uppercase; letter-spacing:0.04em; }
.lang-dd-menu a:hover { background:var(--cream); color:var(--ink-900); }
.lang-dd-menu a.is-active { color:var(--terracotta); font-weight:600; }


/* --- Maquettes de demonstration, lot v153, 23 septembre 2026 ---------------
   Le cadre porte la copie d'un ecran de l'application, dessine pour une
   largeur fixe : 1237 px la liste, 867 la fiche en francais, 1037 en anglais. Enferme dans la
   colonne de lecture, il etait coupe des que la fenetre descendait sous
   1372 px. Le bloc sort donc de cette colonne et va jusqu'a 16 px des bords.
   Sous le seuil, un script reduit la maquette a l'echelle, comme une capture,
   sans jamais redessiner sa grille. */
.apercu-sec .demo-head-row,
.apercu-sec .demo-nav,
.apercu-sec .demo-rdv-mobile,
.apercu-sec .demo-panel,
.apercu-sec .screens-cta,
.cand-demo .cdemo-head-row,
.cand-demo .cdemo-nav,
.cand-demo .cdemo-pane,
.cand-demo .cdemo-note,
.cand-demo .cdemo-rdv-mobile { margin-inline: calc(16px - clamp(24px, 5vw, 96px)); }
.apercu-sec .pack-frame,
.cand-demo .cdemo-frame { transform-origin: top left; }
