/* ====================================================================
   CAPTIA EDITORIAL V3 — DIRECTION SÉLECTIONNÉE · 2026-07-27
   Couche visuelle partagée. Chargée en dernier pour porter le langage
   de index.html sur toutes les routes existantes.
   Aucun contrat de données, route ou comportement métier n'est modifié.
   ==================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@300;400;500;600;700&display=swap");

:root {
  --ink: #0a0a0a;
  --ink-1: #0d0d0d;
  --ink-2: #111111;
  --ink-3: #141414;
  --ink-4: #1a1a1a;
  --bone: #f5f5f5;
  --bone-2: #ffffff;
  --paper: #f5f5f5;
  --paper-2: #ffffff;
  --fog: rgba(245,245,245,.58);
  --fog-2: rgba(245,245,245,.36);
  --lime: #89aacc;
  --lime-2: #4e85bf;
  --lime-soft: rgba(137,170,204,.11);
  --lime-glow: rgba(78,133,191,.27);
  --accent: #89aacc;
  --accent-2: #4e85bf;
  --accent-ink: #0a0a0a;
  --cyan: #89aacc;
  --blue: #4e85bf;
  --violet: #8b6bd6;
  --line: rgba(255,255,255,.085);
  --line-strong: rgba(255,255,255,.17);
  --card: rgba(20,20,20,.72);
  --card-2: rgba(255,255,255,.055);
  --glass: rgba(255,255,255,.025);
  --glass-2: rgba(255,255,255,.06);
  --font-display: "Instrument Serif", "Fraunces", Georgia, serif;
  --font-body: "Inter", "Inter Tight", system-ui, sans-serif;
  --r-xs: 10px;
  --r: 16px;
  --r-lg: 24px;
  --r-xl: 28px;
  --shadow: 0 18px 55px -30px rgba(0,0,0,.85);
  --shadow-lg: 0 36px 100px -48px rgba(0,0,0,.95);
  --glow: 0 0 0 1px rgba(137,170,204,.22), 0 22px 65px -30px rgba(78,133,191,.52);
  --layout-max: 1200px;
  --layout-gutter: clamp(12px,3vw,24px);
  --motion-fast: 180ms;
  --motion-ui: 280ms;
  --motion-media: 800ms;
  --ease-ui: cubic-bezier(.2,.7,.2,1);
}

html[data-captia-design="editorial-v3-selected"] { background: var(--ink); }

body.captia-editorial-v3 {
  background-color: var(--ink);
  background-image:
    radial-gradient(900px 620px at 88% -8%, rgba(78,133,191,.105), transparent 68%),
    radial-gradient(720px 520px at -8% 92%, rgba(139,107,214,.055), transparent 70%);
  background-attachment: fixed;
  color: var(--bone);
}

body.captia-editorial-v3::after {
  opacity: .58;
  background: radial-gradient(circle, rgba(137,170,204,.095), rgba(78,133,191,.025) 44%, transparent 72%);
  animation-duration: 24s;
}

body.captia-editorial-v3 .captia-pointer-light {
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(137,170,204,.07), rgba(78,133,191,.018) 43%, transparent 70%);
}

body.captia-editorial-v3 ::selection { background: rgba(137,170,204,.34); color: #fff; }
body.captia-editorial-v3 :focus-visible { outline-color: var(--cyan) !important; }

/* Navigation en capsule, issue de la version éditoriale sélectionnée. */
body.captia-editorial-v3 .nav {
  top: 16px;
  width: min(1120px, calc(100% - 28px));
  min-height: 62px;
  padding: 8px 9px 8px 17px;
  border-color: rgba(255,255,255,.105);
  background: rgba(20,20,20,.78);
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 20px 65px -38px #000;
  backdrop-filter: blur(20px) saturate(120%);
  -webkit-backdrop-filter: blur(20px) saturate(120%);
}

body.captia-editorial-v3 .site-header { top: 16px; padding-inline: 14px; }
body.captia-editorial-v3 .site-header .nav-shell {
  width: min(var(--layout-max),100%);
  min-height: 62px;
  padding: 8px 9px 8px 17px;
  border: 1px solid rgba(255,255,255,.105);
  background: rgba(20,20,20,.78);
  box-shadow: inset 0 1px rgba(255,255,255,.08),0 20px 65px -38px #000;
  backdrop-filter: blur(20px) saturate(120%);
  -webkit-backdrop-filter: blur(20px) saturate(120%);
}

body.captia-editorial-v3 .brand,
body.captia-editorial-v3 .logo { font-family: var(--font-display) !important; }

body.captia-editorial-v3 .brand .mark,
body.captia-editorial-v3 .brand-mark,
body.captia-editorial-v3 .mark,
body.captia-editorial-v3 .captia-brand-mark {
  color: #0a0a0a !important;
  background: linear-gradient(135deg, var(--cyan), var(--blue) 62%, var(--violet)) !important;
  box-shadow: 0 10px 30px -12px rgba(78,133,191,.72), inset 0 1px rgba(255,255,255,.48) !important;
  border-radius: 50% !important;
}

body.captia-editorial-v3 .nav-links > a:not(.btn),
body.captia-editorial-v3 .nav-links > button {
  color: rgba(245,245,245,.56);
  font-size: 12px;
}

body.captia-editorial-v3 .nav-links > a:not(.btn):hover,
body.captia-editorial-v3 .nav-links > a.active {
  color: var(--bone) !important;
  background: rgba(255,255,255,.055);
}

body.captia-editorial-v3 .captia-secondary-nav { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
body.captia-editorial-v3 .captia-secondary-nav .brand { display: inline-flex; align-items: center; gap: 9px; color: var(--bone); font-size: 19px; }
body.captia-editorial-v3 .captia-secondary-mark { width: 38px; height: 38px; object-fit: contain; filter: drop-shadow(0 0 14px rgba(78,133,191,.3)); transition: transform var(--motion-ui) var(--ease-ui),filter var(--motion-ui) ease; }
body.captia-editorial-v3 .captia-secondary-nav .brand:is(:hover,:focus-visible) .captia-secondary-mark { transform: rotate(-5deg) scale(1.08); filter: drop-shadow(0 0 20px rgba(137,170,204,.48)); }
body.captia-editorial-v3 .captia-secondary-nav .nav-links { display: flex; align-items: center; justify-content: flex-end; gap: 3px; }
body.captia-editorial-v3 .captia-secondary-nav .nav-login { border-left: 1px solid rgba(255,255,255,.08); border-radius: 0 999px 999px 0; margin-left: 4px; padding-left: 16px; }
body.captia-editorial-v3 .captia-secondary-language { min-width: 38px; min-height: 36px; padding: 0 10px; border-radius: 999px; }

/* Typographie éditoriale : grands titres expressifs, interface sobre. */
body.captia-editorial-v3 h1,
body.captia-editorial-v3 h2 { letter-spacing: -.045em; }

body.captia-editorial-v3 .hero h1,
body.captia-editorial-v3 .page-hero h1,
body.captia-editorial-v3 .service-hero h1 {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  line-height: .9 !important;
}
body.captia-editorial-v3 .hero h1 { line-height: .76 !important; }

body.captia-editorial-v3 h1 em,
body.captia-editorial-v3 h2 em,
body.captia-editorial-v3 .serif-i {
  color: var(--bone) !important;
  background: none;
  -webkit-text-fill-color: currentColor;
  font-family: var(--font-display);
  font-style: italic;
  animation: none;
}

body.captia-editorial-v3 .kicker,
body.captia-editorial-v3 .service-eyebrow,
body.captia-editorial-v3 .section-kicker {
  color: rgba(245,245,245,.48);
  letter-spacing: .24em;
}

body.captia-editorial-v3 .kicker::before,
body.captia-editorial-v3 .service-eyebrow::before { background: var(--cyan); box-shadow: none; }

/* Contrôles simples et vendeurs : action primaire blanche, secondaire verre. */
body.captia-editorial-v3 .btn {
  min-height: 48px;
  border-radius: 999px;
  transition: transform .25s ease, color .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

body.captia-editorial-v3 .btn:is(:hover,:focus-visible) { transform: scale(1.035); }

body.captia-editorial-v3 .btn-lime {
  color: #0a0a0a;
  border-color: #f5f5f5;
  background: #f5f5f5;
  box-shadow: 0 18px 45px -27px rgba(255,255,255,.62);
}

body.captia-editorial-v3 .btn-lime:is(:hover,:focus-visible) {
  color: #f5f5f5;
  border-color: rgba(137,170,204,.45);
  background: #141414;
  box-shadow: 0 20px 60px -30px rgba(78,133,191,.58);
}

body.captia-editorial-v3 .btn-ghost {
  color: var(--bone);
  border-color: rgba(255,255,255,.11);
  background: rgba(20,20,20,.6);
  backdrop-filter: blur(12px);
}

body.captia-editorial-v3 .btn-ghost:is(:hover,:focus-visible) { border-color: rgba(137,170,204,.34); background: rgba(255,255,255,.055); }

body.captia-editorial-v3 .button {
  min-height: 48px;
  border-radius: 999px;
  transition: transform var(--motion-ui) ease,color var(--motion-ui) ease,background var(--motion-ui) ease,border-color var(--motion-ui) ease,box-shadow var(--motion-ui) ease;
}

body.captia-editorial-v3 .button:is(:hover,:focus-visible) { transform: scale(1.035); }
body.captia-editorial-v3 .button-primary {
  color: #0a0a0a;
  border-color: #f5f5f5;
  background: #f5f5f5;
  box-shadow: 0 18px 45px -27px rgba(255,255,255,.62);
}
body.captia-editorial-v3 .button-primary::after { display: none; }
body.captia-editorial-v3 .button-primary:is(:hover,:focus-visible) {
  color: #f5f5f5;
  border-color: rgba(137,170,204,.45);
  background: #141414;
  box-shadow: 0 20px 60px -30px rgba(78,133,191,.58);
}
body.captia-editorial-v3 .button-ghost { color: var(--bone); border-color: rgba(255,255,255,.11); background: rgba(20,20,20,.6); backdrop-filter: blur(12px); }
body.captia-editorial-v3 .button-ghost:is(:hover,:focus-visible) { border-color: rgba(137,170,204,.34); background: rgba(255,255,255,.055); }

/* Cartes et panneaux : volumes amples, contour fin et révélation cinématique. */
body.captia-editorial-v3 .card,
body.captia-editorial-v3 .panel,
body.captia-editorial-v3 .kpi,
body.captia-editorial-v3 .service-panel,
body.captia-editorial-v3 .service-step,
body.captia-editorial-v3 .service-signal,
body.captia-editorial-v3 .service-cta {
  border-color: rgba(255,255,255,.09);
  background: linear-gradient(145deg, rgba(255,255,255,.038), rgba(255,255,255,.012)), rgba(20,20,20,.58);
  box-shadow: inset 0 1px rgba(255,255,255,.045), var(--shadow);
}

body.captia-editorial-v3 .card,
body.captia-editorial-v3 .panel,
body.captia-editorial-v3 .kpi { border-radius: 24px; }

body.captia-editorial-v3 .service-panel { border-radius: 24px; }
body.captia-editorial-v3 .service-signal,
body.captia-editorial-v3 .service-cta,
body.captia-editorial-v3 .service-flow { border-radius: 28px; }

body.captia-editorial-v3 .card-hover,
body.captia-editorial-v3 .service-panel,
body.captia-editorial-v3 .service-step,
body.captia-editorial-v3 .kpi,
body.captia-editorial-v3 .panel {
  transition: transform .45s cubic-bezier(.2,.75,.2,1), border-color .35s ease, background .35s ease, box-shadow .35s ease;
}

body.captia-editorial-v3 .card-hover:hover {
  transform: translateY(-4px);
  border-color: rgba(137,170,204,.27);
  box-shadow: inset 0 1px rgba(255,255,255,.07), 0 34px 80px -48px rgba(78,133,191,.5);
}

body.captia-editorial-v3 .service-panel:hover,
body.captia-editorial-v3 .kpi:hover,
body.captia-editorial-v3 .panel:hover,
body.captia-editorial-v3 .service-panel:focus-within,
body.captia-editorial-v3 .kpi:focus-within,
body.captia-editorial-v3 .panel:focus-within {
  border-color: rgba(137,170,204,.23);
  box-shadow: inset 0 1px rgba(255,255,255,.07),0 28px 72px -50px rgba(78,133,191,.35);
}

body.captia-editorial-v3 .service-panel .panel-tag,
body.captia-editorial-v3 .service-step .step-num,
body.captia-editorial-v3 .form-sec,
body.captia-editorial-v3 .stat .num { color: var(--cyan); }

body.captia-editorial-v3 .service-directory a,
body.captia-editorial-v3 .badge,
body.captia-editorial-v3 .lang-toggle,
body.captia-editorial-v3 .select,
body.captia-editorial-v3 .mode-toggle {
  border-color: rgba(255,255,255,.1) !important;
  background: rgba(20,20,20,.54) !important;
  backdrop-filter: blur(10px);
}

body.captia-editorial-v3 .service-directory a:hover,
body.captia-editorial-v3 .service-directory a[aria-current="page"] {
  color: var(--bone);
  border-color: rgba(137,170,204,.32);
  background: rgba(137,170,204,.075);
}

body.captia-editorial-v3 .service-cta {
  border-color: rgba(137,170,204,.18);
  background: radial-gradient(circle at 50% 0, rgba(78,133,191,.12), transparent 55%), rgba(20,20,20,.56);
}

/* Budget de mouvement : médias et HUD au repos, activation locale au pointeur. */
body.captia-editorial-v3 .service-signal .signal-orb,
body.captia-editorial-v3 .service-signal .signal-ring,
body.captia-editorial-v3 .hub-neural .hub-orbit { animation-play-state: running; }

body.captia-editorial-v3 .service-signal .signal-orb {
  background: radial-gradient(circle at 34% 28%,#fff 0 2%,var(--cyan) 6%,var(--blue) 34%,var(--violet) 60%,transparent 72%);
  box-shadow: 0 0 70px rgba(78,133,191,.3);
}
body.captia-editorial-v3 .service-signal .signal-ring { border-color: rgba(137,170,204,.18); }

body.captia-editorial-v3 .hub-neural .hub-orbit { animation-name: captia-hub-ring; }
body.captia-editorial-v3 .hub-neural img {
  transform: scale(1.015);
  filter: saturate(.82) brightness(.92);
  transition: transform var(--motion-media) var(--ease-ui),filter var(--motion-media) ease;
  animation: captia-hub-breathe 14s ease-in-out infinite;
}
body.captia-editorial-v3 .hub-card { border-radius: 24px; }
body.captia-editorial-v3 .hub-card > i { transition: transform var(--motion-ui) var(--ease-ui),color var(--motion-ui) ease; }
body.captia-editorial-v3 .hub-card:is(:hover,:focus-visible) > i { transform: rotate(45deg); color: var(--bone); }

@media (hover:hover) and (pointer:fine) {
  body.captia-editorial-v3 .service-signal:hover .signal-orb,
  body.captia-editorial-v3 .service-signal:hover .signal-ring { animation-duration: 5s; }
  body.captia-editorial-v3 .hub-neural:hover .hub-orbit { animation-duration: 7s; }
  body.captia-editorial-v3 .hub-neural:hover img { transform: scale(1.065) rotate(.6deg); filter: saturate(1.12) brightness(1.03); }
}

@keyframes captia-hub-ring { to { transform: rotate(360deg); } }
@keyframes captia-hub-breathe { 0%,100% { transform: scale(1.015) rotate(-.25deg); } 50% { transform: scale(1.055) rotate(.55deg); } }

/* Animation commerciale partagée : le mouvement explique la valeur.
   Chaque séquence raconte Comprendre → Agir → Prouver, sans métrique inventée. */
.commercial-proof {
  --commercial-accent: var(--cyan);
  position: relative;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  color: rgba(245,245,245,.4);
  font: 500 8px/1.35 var(--font-mono,monospace);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.commercial-proof > span { position: relative; display: grid; grid-template-columns: 9px 1fr; align-items: center; gap: 7px; min-width: 0; padding-right: 12px; transition: color var(--motion-ui) var(--ease-ui); }
.commercial-proof > span:not(:last-child)::after { content: ""; position: absolute; z-index: 0; left: 5px; right: -3px; top: 4px; height: 1px; background: linear-gradient(90deg,rgba(137,170,204,.34),rgba(137,170,204,.08)); transform: scaleX(.18); transform-origin: left; transition: transform 650ms var(--ease-ui),opacity 300ms ease; }
.commercial-proof i { position: relative; z-index: 1; width: 9px; height: 9px; border: 1px solid rgba(137,170,204,.5); border-radius: 50%; background: #0a0a0a; box-shadow: 0 0 0 0 rgba(137,170,204,0); transition: background var(--motion-ui) ease,box-shadow var(--motion-ui) ease,transform var(--motion-ui) var(--ease-ui); }
.commercial-proof.is-commercial-active > span,
[data-commercial-trigger]:is(:hover,:focus-visible,:focus-within) .commercial-proof > span,
.product-card.is-media-active .commercial-proof > span { color: rgba(245,245,245,.82); }
.commercial-proof.is-commercial-active > span:not(:last-child)::after,
[data-commercial-trigger]:is(:hover,:focus-visible,:focus-within) .commercial-proof > span:not(:last-child)::after,
.product-card.is-media-active .commercial-proof > span:not(:last-child)::after { transform: scaleX(1); }
.commercial-proof.is-commercial-active i,
[data-commercial-trigger]:is(:hover,:focus-visible,:focus-within) .commercial-proof i,
.product-card.is-media-active .commercial-proof i { background: var(--commercial-accent); box-shadow: 0 0 14px rgba(137,170,204,.72); transform: scale(1.08); }
.commercial-proof.is-commercial-active > span:nth-child(2),
.commercial-proof.is-commercial-active > span:nth-child(2) i { transition-delay: 420ms; }
.commercial-proof.is-commercial-active > span:nth-child(3),
.commercial-proof.is-commercial-active > span:nth-child(3) i { transition-delay: 840ms; }
.commercial-proof.is-commercial-active > span:nth-child(2)::after { transition-delay: 420ms; }
.commercial-proof.is-commercial-active > span:nth-child(3)::after { transition-delay: 840ms; }

body.captia-editorial-v3 .commercial-proof-signal { position: absolute; z-index: 4; left: 22px; right: 22px; bottom: 78px; padding: 13px 14px; border: 1px solid rgba(255,255,255,.075); border-radius: 13px; background: rgba(3,3,5,.58); backdrop-filter: blur(14px); }
body.captia-editorial-v3 .outbound-commercial-proof { position: absolute; z-index: 12; left: 22px; right: 22px; bottom: 78px; padding: 13px 14px; border: 1px solid rgba(255,255,255,.075); border-radius: 13px; background: rgba(3,3,5,.66); backdrop-filter: blur(14px); }
body.captia-editorial-v3 .commercial-proof-hub { margin-top: 18px; }
body.captia-editorial-v3 .product-availability,
body.captia-editorial-v3 .service-availability { display: inline-flex; align-items: center; gap: 7px; width: max-content; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; color: rgba(245,245,245,.62); background: rgba(10,10,10,.55); font: 500 8px/1 var(--font-mono,monospace); letter-spacing: .12em; text-transform: uppercase; }
body.captia-editorial-v3 .product-availability::before,
body.captia-editorial-v3 .service-availability::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 10px rgba(137,170,204,.72); }
body.captia-editorial-v3 .service-availability { margin-top: 13px; padding: 8px 11px; }
body.captia-editorial-v3 .product-availability { position: absolute; z-index: 7; top: 24px; right: 24px; padding: 7px 10px; }
body.captia-editorial-v3 .product-availability-soon::before,
body.captia-editorial-v3 .service-availability-soon::before { background: var(--violet); box-shadow: 0 0 10px rgba(139,107,214,.7); }

body.captia-editorial-public .captia-proof-rail { width: min(var(--layout-max),calc(100% - 32px)); margin: clamp(-52px,-5vw,-28px) auto clamp(70px,8vw,105px); padding: 21px clamp(18px,3vw,30px); border: 1px solid rgba(255,255,255,.09); border-radius: 22px; background: linear-gradient(120deg,rgba(137,170,204,.055),rgba(20,20,20,.72) 44%,rgba(139,107,214,.035)); box-shadow: inset 0 1px rgba(255,255,255,.045),var(--shadow); }
body.captia-editorial-public .captia-proof-rail::before { content: "Ce que Captia remet"; display: block; margin-bottom: 13px; color: rgba(245,245,245,.35); font: 500 8px/1 var(--font-mono,monospace); letter-spacing: .2em; text-transform: uppercase; }

@media (max-width: 720px) {
  .commercial-proof { grid-template-columns: 1fr; gap: 9px; }
  .commercial-proof > span:not(:last-child)::after { left: 4px; right: auto; top: 8px; width: 1px; height: 18px; background: linear-gradient(rgba(137,170,204,.34),rgba(137,170,204,.08)); transform: scaleY(.18); transform-origin: top; }
  .commercial-proof.is-commercial-active > span:not(:last-child)::after,
  [data-commercial-trigger]:is(:hover,:focus-visible,:focus-within) .commercial-proof > span:not(:last-child)::after,
  .product-card.is-media-active .commercial-proof > span:not(:last-child)::after { transform: scaleY(1); }
  body.captia-editorial-v3 .commercial-proof-signal { left: 12px; right: 12px; bottom: 74px; }
  body.captia-editorial-v3 .outbound-commercial-proof { left: 9px; right: 9px; bottom: 68px; }
  body.captia-editorial-v3 .product-availability { top: 16px; right: 16px; }
  body.captia-editorial-public .captia-proof-rail { margin-top: -28px; }
}

/* Révélation partagée, ajoutée par captia-editorial-v3.js. */
.captia-editorial-reveal {
  opacity: 0;
  transform: translateY(24px);
  filter: blur(7px);
  transition: opacity .8s ease, transform .8s cubic-bezier(.2,.75,.2,1), filter .8s ease;
  transition-delay: var(--captia-reveal-delay, 0ms);
}

.captia-editorial-reveal.is-visible { opacity: 1; transform: none; filter: none; }


/* Gabarit de services : mêmes repères de navigation et de typographie que l’accueil. */
body.captia-editorial-v3 .site-nav { position: fixed; z-index: 100; top: 0; left: 0; right: 0; display: flex; justify-content: center; padding: 22px 16px 0; pointer-events: none; }
body.captia-editorial-v3 .nav-pill { pointer-events: auto; display: inline-flex; align-items: center; gap: 3px; padding: 7px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(20,20,20,.78); box-shadow: inset 0 1px rgba(255,255,255,.08),0 20px 65px -38px #000; backdrop-filter: blur(20px) saturate(120%); -webkit-backdrop-filter: blur(20px) saturate(120%); }
body.captia-editorial-v3 .mini-logo { position: relative; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px 3px 11px 3px; padding: 3px; clip-path: polygon(10% 0,100% 0,100% 76%,82% 100%,0 100%,0 18%); }
body.captia-editorial-v3 .mini-logo::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(120deg,var(--cyan),var(--blue),var(--violet)); }
body.captia-editorial-v3 .mini-logo span { position: relative; z-index: 1; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--bone); font: italic 400 17px/1 var(--font-display); }
body.captia-editorial-v3 .nav-divider { width: 1px; height: 22px; margin: 0 4px; background: rgba(255,255,255,.085); }
body.captia-editorial-v3 .nav-link,body.captia-editorial-v3 .nav-login,body.captia-editorial-v3 .nav-hello { position: relative; min-height: 36px; display: inline-flex; align-items: center; gap: 6px; padding: 0 14px; border-radius: 999px; color: rgba(245,245,245,.56); font-size: 12px; white-space: nowrap; transition: color .25s,background .25s,transform .25s; }
body.captia-editorial-v3 .nav-link:is(:hover,:focus-visible),body.captia-editorial-v3 .nav-link.active,body.captia-editorial-v3 .nav-login:is(:hover,:focus-visible) { color: var(--bone); background: rgba(255,255,255,.055); }
body.captia-editorial-v3 .nav-hello { color: var(--bone); padding-inline: 17px; background: #f5f5f5; color: #0a0a0a; }
body.captia-editorial-v3 .nav-hello:is(:hover,:focus-visible) { background: var(--bone); transform: scale(1.035); }
body.captia-editorial-v3 main [id] { scroll-margin-top: 104px; }
body.captia-editorial-v3 .service-hero h1 { max-width: 11.5ch; margin: 24px 0 22px; font-size: clamp(58px,6.8vw,98px) !important; line-height: .9 !important; }
body.captia-editorial-v3 .service-section h2,body.captia-editorial-v3 .service-cta h2 { font-family: var(--font-body) !important; font-weight: 700; line-height: .94; letter-spacing: -.055em; }
body.captia-editorial-v3 .service-section h2 em,body.captia-editorial-v3 .service-cta h2 em { font-family: var(--font-display) !important; font-style: italic; font-weight: 400; }
@media (max-width: 820px) {
  body.captia-editorial-v3 .site-nav { padding-top: 12px; }
  body.captia-editorial-v3 .nav-pill { width: calc(100% - 8px); justify-content: space-between; }
  body.captia-editorial-v3 .nav-divider,body.captia-editorial-v3 .nav-link[data-desktop],body.captia-editorial-v3 .nav-link[href="index.html"] { display: none; }
  body.captia-editorial-v3 .nav-link,body.captia-editorial-v3 .nav-login,body.captia-editorial-v3 .nav-hello { min-height: 44px; padding-inline: 11px; }
  body.captia-editorial-v3 .captia-secondary-nav { gap: 8px; padding-left: 10px; }
  body.captia-editorial-v3 .captia-secondary-nav .brand > span { display: none; }
  body.captia-editorial-v3 .captia-secondary-nav [data-desktop] { display: none; }
  body.captia-editorial-v3 .captia-secondary-nav .nav-links { min-width: 0; }
  body.captia-editorial-v3 .captia-secondary-nav .nav-links > a:not(.btn) { min-height: 44px; padding-inline: 10px; }
}
@media (max-width: 420px) {
  body.captia-editorial-v3 .nav-link[href="solution.html"] { display: none; }
}
@media (max-width: 760px) {
  body.captia-editorial-v3 .nav { top: 8px; width: calc(100% - 16px); border-radius: 24px; }
  body.captia-editorial-v3 .card,
  body.captia-editorial-v3 .panel,
  body.captia-editorial-v3 .kpi { border-radius: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .captia-editorial-reveal { opacity: 1; transform: none; filter: none; transition: none; }
  body.captia-editorial-v3 .card-hover,
  body.captia-editorial-v3 .service-panel,
  body.captia-editorial-v3 .service-step,
  body.captia-editorial-v3 .kpi,
  body.captia-editorial-v3 .panel { transition: none; }
  body.captia-editorial-v3 .hub-neural img,
  body.captia-editorial-v3 .hub-neural .hub-orbit { animation: none !important; }
}

/* ====================================================================
   PAGES PUBLIQUES — composition éditoriale complète
   ==================================================================== */

body.captia-editorial-public .page-hero {
  min-height: min(68svh, 720px);
  display: grid;
  place-content: center;
  padding: clamp(120px,15vw,190px) 0 clamp(70px,9vw,120px);
  text-align: center;
  isolation: isolate;
}

body.captia-editorial-public .page-hero::before {
  content: "CAPTIA · QUÉBEC";
  display: block;
  margin: 0 auto 24px;
  color: rgba(245,245,245,.34);
  font: 500 9px/1 var(--font-mono);
  letter-spacing: .24em;
}

body.captia-editorial-public .page-hero h1 {
  max-width: 940px;
  margin-inline: auto;
  font-size: clamp(56px,8vw,104px) !important;
}

body.captia-editorial-public .page-hero .lede {
  max-width: 660px;
  margin: 22px auto 0;
  color: rgba(245,245,245,.54);
  font-size: clamp(16px,2vw,20px);
  line-height: 1.65;
}

body.captia-editorial-public .section { border-top-color: rgba(255,255,255,.07); }

body.captia-editorial-public .section-head h2 {
  font: 700 clamp(44px,6.4vw,78px)/.94 var(--font-body);
  letter-spacing: -.055em;
}
body.captia-editorial-public .section-head h2 em { font-family: var(--font-display); font-style: italic; font-weight: 400; }

body.captia-editorial-public .svc-card .ic,
body.captia-editorial-public .proc .num,
body.captia-editorial-public .step .num {
  border-radius: 50%;
  color: var(--cyan);
  border-color: rgba(137,170,204,.23);
  background: rgba(137,170,204,.065);
}

body.captia-editorial-public .cta-final,
body.captia-editorial-public .pilot-band {
  border-color: rgba(137,170,204,.18) !important;
  border-radius: 28px !important;
  background: radial-gradient(circle at 50% 0,rgba(78,133,191,.13),transparent 58%),rgba(20,20,20,.64) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.055),0 35px 90px -58px #000;
}

body.captia-editorial-public .cta-final h2 {
  font: 400 clamp(42px,6vw,74px)/.96 var(--font-display);
  letter-spacing: -.04em;
}

body.captia-editorial-public input:not([type="checkbox"]):not([type="radio"]),
body.captia-editorial-public textarea,
body.captia-editorial-public select,
body.captia-editorial-login input {
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 14px !important;
  color: #f5f5f5 !important;
  background: rgba(20,20,20,.72) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.035);
}

body.captia-editorial-public input:focus,
body.captia-editorial-public textarea:focus,
body.captia-editorial-public select:focus,
body.captia-editorial-login input:focus {
  outline: none;
  border-color: rgba(137,170,204,.48) !important;
  box-shadow: 0 0 0 4px rgba(137,170,204,.09) !important;
}

body.captia-editorial-public .modal {
  border-color: rgba(255,255,255,.11);
  border-radius: 26px;
  background: rgba(20,20,20,.92);
  backdrop-filter: blur(24px);
}

body.captia-editorial-public .toast { color: #0a0a0a; background: #f5f5f5; }

body.captia-editorial-public footer,
body.captia-editorial-public .site-footer {
  border-top-color: rgba(255,255,255,.07);
  background: #0a0a0a;
}

/* ====================================================================
   DÉMONSTRATION VOCALE — même direction, interactions intactes
   ==================================================================== */

body.captia-editorial-demo {
  --paper: #f5f5f5;
  --accent: #89aacc;
  --accent-2: #4e85bf;
  --accent-ink: #0a0a0a;
  background:
    radial-gradient(800px 560px at 82% -10%,rgba(78,133,191,.13),transparent 70%),
    radial-gradient(620px 520px at -10% 75%,rgba(139,107,214,.06),transparent 70%),
    #0a0a0a;
}

body.captia-editorial-demo .aurora { opacity: .28; filter: blur(145px); }
body.captia-editorial-demo .aurora .b1 { background: radial-gradient(circle,rgba(137,170,204,.34),transparent 70%); }
body.captia-editorial-demo .aurora .b2 { background: radial-gradient(circle,rgba(78,133,191,.22),transparent 70%); }
body.captia-editorial-demo .aurora .b3 { background: radial-gradient(circle,rgba(139,107,214,.15),transparent 70%); }

body.captia-editorial-demo .topbar {
  position: sticky;
  z-index: 50;
  top: 14px;
  width: min(960px,calc(100% - 28px));
  min-height: 62px;
  margin: 14px auto 0;
  padding: 9px 11px 9px 17px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  background: rgba(20,20,20,.76);
  box-shadow: inset 0 1px rgba(255,255,255,.07),0 20px 65px -38px #000;
  backdrop-filter: blur(20px) saturate(120%);
}

body.captia-editorial-demo .logo { display: inline-flex; align-items: center; gap: 8px; font: 400 21px/1 var(--font-display); }
body.captia-editorial-demo .logo em { color: rgba(245,245,245,.35); font-size: 15px; }
body.captia-editorial-demo .back { min-height: 36px; padding: 0 12px; border-radius: 999px; }
body.captia-editorial-demo .back:is(:hover,:focus-visible) { background: rgba(255,255,255,.05); }

body.captia-editorial-demo .status,
body.captia-editorial-demo .lang-toggle,
body.captia-editorial-demo .badge {
  border-color: rgba(255,255,255,.1) !important;
  background: rgba(255,255,255,.025) !important;
  backdrop-filter: blur(10px);
}

body.captia-editorial-demo .hero { max-width: 940px; padding: clamp(65px,9vw,110px) 24px 30px; overflow: visible; }

body.captia-editorial-demo .title {
  margin: 18px 0 17px;
  font: italic 400 clamp(60px,8.5vw,102px)/.88 var(--font-display);
  letter-spacing: -.045em;
}

body.captia-editorial-demo .title em { color: #f5f5f5; }
body.captia-editorial-demo .sub { max-width: 620px; color: rgba(245,245,245,.54); font-size: 16px; line-height: 1.65; }
body.captia-editorial-demo .kicker { color: rgba(245,245,245,.4); letter-spacing: .24em; }
body.captia-editorial-demo .kicker::before { width: 24px; height: 1px; border-radius: 0; box-shadow: none; animation: none; }

body.captia-editorial-demo .console { max-width: 960px; gap: 26px; padding-bottom: 45px; }

body.captia-editorial-demo .glass {
  border-color: rgba(255,255,255,.09);
  border-radius: 28px;
  background: linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.009)),rgba(20,20,20,.64);
  box-shadow: inset 0 1px rgba(255,255,255,.05),0 30px 80px -55px #000;
  backdrop-filter: blur(20px);
}

body.captia-editorial-demo .config { padding: clamp(22px,4vw,34px); }

body.captia-editorial-demo .scenario-btn,
body.captia-editorial-demo .voice-option,
body.captia-editorial-demo .role-chip {
  border-color: rgba(255,255,255,.09);
  border-radius: 16px;
  background: rgba(255,255,255,.025);
  transition: transform .3s cubic-bezier(.2,.75,.2,1),border-color .25s ease,background .25s ease,color .25s ease;
}

body.captia-editorial-demo .scenario-btn:is(:hover,:focus-visible),
body.captia-editorial-demo .voice-option:is(:hover,:focus-visible),
body.captia-editorial-demo .role-chip:is(:hover,:focus-visible) { transform: translateY(-3px); border-color: rgba(137,170,204,.3); }

body.captia-editorial-demo .scenario-btn.active,
body.captia-editorial-demo .voice-option.selected,
body.captia-editorial-demo .role-chip.selected {
  color: #0a0a0a;
  border-color: #f5f5f5;
  background: #f5f5f5;
  box-shadow: 0 16px 40px -25px rgba(255,255,255,.55);
}

body.captia-editorial-demo .biz-input {
  border-color: rgba(255,255,255,.1);
  border-radius: 14px;
  background: rgba(10,10,10,.66);
}

body.captia-editorial-demo .biz-input:focus { border-color: rgba(137,170,204,.48); box-shadow: 0 0 0 4px rgba(137,170,204,.09); }

body.captia-editorial-demo #siteGo,
body.captia-editorial-demo #sortantGo {
  min-height: 46px;
  padding-inline: 19px !important;
  border: 1px solid #f5f5f5 !important;
  border-radius: 999px !important;
  color: #0a0a0a !important;
  background: #f5f5f5 !important;
  transition: transform .25s ease,background .25s ease,color .25s ease !important;
}

body.captia-editorial-demo #siteGo:is(:hover,:focus-visible),
body.captia-editorial-demo #sortantGo:is(:hover,:focus-visible) { transform: scale(1.035); color: #f5f5f5 !important; background: #141414 !important; }

body.captia-editorial-demo .stage {
  min-height: 410px;
  justify-content: center;
  margin-block: 2px;
  border-block: 1px solid rgba(255,255,255,.07);
}

body.captia-editorial-demo .orb-wrap .halo { background: conic-gradient(from 0deg,var(--cyan),var(--blue),var(--violet),var(--cyan)); opacity: .32; }
body.captia-editorial-demo .orb-wrap .ring { border-color: rgba(137,170,204,.2); }

body.captia-editorial-demo .mic-btn {
  color: #0a0a0a;
  background: radial-gradient(circle at 34% 28%,#fff,#f5f5f5 65%,#b8c9da);
  box-shadow: inset 0 1px rgba(255,255,255,.7),0 22px 65px -24px rgba(137,170,204,.65);
}

body.captia-editorial-demo .orb-wrap .halo,
body.captia-editorial-demo .orb-wrap .ring,
body.captia-editorial-demo .orb-wrap .mic-btn,
body.captia-editorial-demo #sortant .ob-orb::after,
body.captia-editorial-demo #sortant .ob-line,
body.captia-editorial-demo #sortant .ob-phone .ph { animation-play-state: paused; }

@media (hover:hover) and (pointer:fine) {
  body.captia-editorial-demo .orb-wrap:is(:hover,:focus-within) .halo,
  body.captia-editorial-demo .orb-wrap:is(:hover,:focus-within) .ring,
  body.captia-editorial-demo .orb-wrap:is(:hover,:focus-within) .mic-btn,
  body.captia-editorial-demo #sortant:hover .ob-orb::after,
  body.captia-editorial-demo #sortant:hover .ob-line,
  body.captia-editorial-demo #sortant:hover .ob-phone .ph { animation-play-state: running; }
}

body.captia-editorial-demo .mic-btn.connecting,
body.captia-editorial-demo .mic-btn.live,
body.captia-editorial-demo .mic-btn.assistant-speaking { animation-play-state: running; }

body.captia-editorial-demo .mic-btn.live,
body.captia-editorial-demo .mic-btn.assistant-speaking { background: radial-gradient(circle at 35% 30%,#dbe8f4,var(--cyan) 58%,var(--blue)); }

body.captia-editorial-demo .transcript-wrap { padding: clamp(20px,3vw,28px); }
body.captia-editorial-demo .msg { border-radius: 20px; }
body.captia-editorial-demo .msg.user { background: rgba(255,255,255,.045); }
body.captia-editorial-demo .msg.assistant { border-color: rgba(137,170,204,.2); background: rgba(137,170,204,.07); }

body.captia-editorial-demo #sortant {
  border-color: rgba(137,170,204,.2);
  background: radial-gradient(circle at 82% 20%,rgba(78,133,191,.13),transparent 48%),rgba(20,20,20,.64);
}

body.captia-editorial-demo #sortant::before { opacity: .22; }
body.captia-editorial-demo .sortant-tag { color: #0a0a0a; background: #f5f5f5; }
body.captia-editorial-demo .foot { color: rgba(245,245,245,.26); }

/* ====================================================================
   CONNEXION — même accueil premium, sans toucher à l'authentification
   ==================================================================== */

body.captia-editorial-login .login-screen {
  padding: 34px 18px;
  background:
    linear-gradient(90deg,rgba(10,10,10,.95),rgba(10,10,10,.64)),
    url("og-captia-cinematic.png") center/cover no-repeat;
}

body.captia-editorial-login .login-screen .aurora { opacity: .2; }

body.captia-editorial-login .login-box {
  width: min(100%,500px);
  padding: clamp(30px,5vw,48px);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 28px;
  background: rgba(20,20,20,.78);
  box-shadow: inset 0 1px rgba(255,255,255,.06),0 40px 110px -48px #000;
  backdrop-filter: blur(24px) saturate(115%);
}

body.captia-editorial-login .login-box .brand {
  justify-content: center;
  font: 400 34px/1 var(--font-display) !important;
}

body.captia-editorial-login .login-box .sub { margin: 14px 0 30px; color: rgba(245,245,245,.48); text-align: center; }
body.captia-editorial-login .field-text label { color: rgba(245,245,245,.46); font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }

body.captia-editorial-login .login-demo-link {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  color: rgba(245,245,245,.72);
  background: rgba(255,255,255,.025);
  transition: transform .25s ease,border-color .25s ease,background .25s ease;
}

body.captia-editorial-login .login-demo-link:is(:hover,:focus-visible) { transform: scale(1.025); border-color: rgba(137,170,204,.3); background: rgba(255,255,255,.05); }

@media (max-width: 720px) {
  body.captia-editorial-demo .topbar { position: relative; top: 0; align-items: flex-start; border-radius: 24px; }
  body.captia-editorial-demo .topbar-right { flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
  body.captia-editorial-demo .back { display: none; }
  body.captia-editorial-demo .hero { padding-top: 54px; }
  body.captia-editorial-demo .title { font-size: clamp(52px,16vw,76px); }
  body.captia-editorial-demo .stage { min-height: 350px; }
  body.captia-editorial-public .page-hero { min-height: auto; padding-top: 130px; }
}

@media (prefers-reduced-motion: reduce) {
  body.captia-editorial-demo .aurora i,
  body.captia-editorial-demo .orb-wrap .halo,
  body.captia-editorial-demo .orb-wrap .ring,
  body.captia-editorial-demo .mic-btn,
  body.captia-editorial-demo .scenario-btn,
  body.captia-editorial-demo .voice-option,
  body.captia-editorial-demo .role-chip,
  body.captia-editorial-demo #sortant .ob-orb::after,
  body.captia-editorial-demo #sortant .ob-line,
  body.captia-editorial-demo #sortant .ob-phone .ph,
  body.captia-editorial-v3 .service-signal .signal-orb,
  body.captia-editorial-v3 .service-signal .signal-ring,
  body.captia-editorial-v3 .hub-neural .hub-orbit { animation: none !important; transition: none !important; }
  body.captia-editorial-v3 .hub-neural img { transform: none !important; transition: none !important; }
  .commercial-proof > span,
  .commercial-proof > span::after,
  .commercial-proof i { transition: none !important; animation: none !important; }
}

/* Black-hole monogram: shared mark for every public Captia surface. */
body.captia-editorial-v3 .brand .mark,body.captia-editorial-v3 .brand-mark,body.captia-editorial-v3 .mark,body.captia-editorial-v3 .captia-brand-mark { color:var(--bone) !important; border:1px solid rgba(137,170,204,.5) !important; background:radial-gradient(circle at 38% 29%,rgba(137,170,204,.34),transparent 22%),radial-gradient(circle at 50% 50%,#020204 0 52%,rgba(6,24,38,.96) 70%,#020204 100%) !important; box-shadow:inset 0 0 15px #000,0 0 18px rgba(78,133,191,.38) !important; border-radius:50% !important; }
body.captia-editorial-v3 .mini-logo::before { background:conic-gradient(from 205deg,transparent 0 10%,var(--cyan) 23%,var(--blue) 37%,transparent 51%,transparent 68%,var(--violet) 86%,transparent 100%); filter:drop-shadow(0 0 6px rgba(78,133,191,.7)); }
body.captia-editorial-v3 .mini-logo span { border:1px solid rgba(137,170,204,.46); background:radial-gradient(circle at 39% 31%,rgba(137,170,204,.2),transparent 28%),#050505; box-shadow:inset 0 0 14px #000; }
/* ── Monogramme Horizon (revision 13) ──────────────────────────────
   Le C en texte est remplace par assets/captia-mark.svg : un disque
   d'accretion vectoriel, sans dependance a une police. Quand un <img>
   est present, l'ancien anneau conique et le fond du C sont neutralises. */
body.captia-editorial-v3 .mini-logo:has(img) { padding: 0; }
body.captia-editorial-v3 .mini-logo:has(img)::before { display: none; }
body.captia-editorial-v3 .mini-logo img { position: relative; z-index: 1; width: 38px; height: 38px; display: block; }
body.captia-editorial-v3 .brand { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; }
body.captia-editorial-v3 .brand-mark-img { width: 30px; height: 30px; display: block; flex: 0 0 auto; }

/* Signature particulaire Captia (revision 21)
   Un halo tres lent accompagne les monogrammes sans concurrencer le contenu.
   Le survol/focus intensifie le signal; mouvement reduit garde le logo fixe. */
body.captia-editorial-v3 .mini-logo:has(img)::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -7px;
  border-radius: 50%;
  pointer-events: none;
  opacity: .34;
  background-image:
    radial-gradient(circle at 50% 4%,rgba(245,245,245,.92) 0 1px,transparent 1.5px),
    radial-gradient(circle at 88% 28%,rgba(137,170,204,.86) 0 1px,transparent 1.6px),
    radial-gradient(circle at 96% 62%,rgba(78,133,191,.86) 0 1px,transparent 1.7px),
    radial-gradient(circle at 69% 94%,rgba(139,107,214,.88) 0 1px,transparent 1.6px),
    radial-gradient(circle at 22% 88%,rgba(137,170,204,.76) 0 1px,transparent 1.7px),
    radial-gradient(circle at 2% 47%,rgba(78,133,191,.8) 0 1px,transparent 1.6px),
    radial-gradient(circle at 22% 13%,rgba(139,107,214,.82) 0 1px,transparent 1.6px);
  filter: drop-shadow(0 0 5px rgba(78,133,191,.55));
  animation: captia-mark-particle-orbit 14s linear infinite;
  transition: opacity 260ms ease,filter 260ms ease;
}
body.captia-editorial-v3 .mini-logo:has(img):is(:hover,:focus-visible)::after {
  opacity: .92;
  filter: drop-shadow(0 0 8px rgba(137,170,204,.82));
  animation-duration: 5.5s;
}
body.captia-editorial-v3 .brand:has(.brand-mark-img) { position: relative; }
body.captia-editorial-v3 .brand:has(.brand-mark-img)::before {
  content: "";
  position: absolute;
  left: -5px;
  top: 50%;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  pointer-events: none;
  opacity: .28;
  background:
    radial-gradient(circle at 50% 3%,var(--cyan) 0 1px,transparent 1.6px),
    radial-gradient(circle at 94% 48%,var(--blue) 0 1px,transparent 1.6px),
    radial-gradient(circle at 54% 96%,var(--violet) 0 1px,transparent 1.6px),
    radial-gradient(circle at 7% 55%,var(--cyan) 0 1px,transparent 1.6px);
  transform: translateY(-50%) rotate(0);
  animation: captia-footer-mark-particle-orbit 18s linear infinite reverse;
}
@keyframes captia-mark-particle-orbit { to { transform: rotate(1turn); } }
@keyframes captia-footer-mark-particle-orbit {
  to { transform: translateY(-50%) rotate(1turn); }
}

@media (prefers-reduced-motion: reduce) {
  body.captia-editorial-v3 .mini-logo:has(img)::after,
  body.captia-editorial-v3 .brand:has(.brand-mark-img)::before { animation: none !important; }
}
