/* Humirai — feuille de style de production
   Recréation fidèle du handoff design_handoff_site_humirai_v3/Site Humirai V3 - Hero Briefing.dc.html */

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; overflow-x: hidden; }
/* « clip » évite tout défilement horizontal SANS créer de conteneur de défilement : indispensable pour que le header reste « sticky » (avec « hidden », il ne collait plus). */
@supports (overflow: clip) { html, body { overflow-x: clip; } }
body {
  font-family: var(--font-body);
  background: var(--sillage-paper);
  color: var(--sillage-text);
  min-height: 100vh;
}
h1, h2, h3, p, figure { margin: 0; }
a { color: var(--sillage-ink); text-decoration: none; transition: color 150ms ease; }
a:hover { color: var(--sillage-gold); }
button { font: inherit; }
img, svg { display: block; max-width: 100%; }
ul { margin: 0; padding: 0; list-style: none; }
input, select, textarea { font: inherit; }

/* ---------- Layout ---------- */
.wrap {
  max-width: var(--site-max);
  margin: 0 auto;
  padding-left: var(--site-gutter);
  padding-right: var(--site-gutter);
}
.section-ink { background: var(--sillage-ink); }
.section-ink h1, .section-ink h2, .section-ink h3 { color: var(--sillage-on-ink); }
.section-alt { background: var(--sillage-paper-alt); }

/* ---------- Animations ---------- */
@keyframes scrollCue {
  0%, 100% { opacity: .35; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(3px); }
}
@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.hero-fade { opacity: 0; animation: heroFadeUp 600ms ease forwards; }
@media (prefers-reduced-motion: reduce) {
  .hero-fade { animation: none; opacity: 1; }
  [data-reveal] { opacity: 1 !important; transform: none !important; }
}
.scroll-cue {
  display: flex;
  justify-content: center;
  padding-bottom: 8px;
}
.scroll-cue span {
  font-size: 18px;
  color: var(--sillage-gold);
  animation: scrollCue 2.2s ease-in-out infinite;
}

/* ---------- Header ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--sillage-paper);
  border-bottom: 1px solid var(--sillage-rule);
}
.site-header__inner {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: 14px var(--site-gutter);
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.brand { display: flex; align-items: center; gap: 11px; }
.brand-logo { display: block; height: 38px; width: auto; }
.brand-logo--sm { height: 30px; }
.nav {
  display: flex;
  align-items: center;
  gap: clamp(12px, 3vw, 36px);
  flex-wrap: wrap;
}
.nav a { font-size: 15px; font-weight: 600; color: var(--sillage-text); }
.nav a.is-active { color: var(--sillage-ink); }
.nav a:hover { color: var(--sillage-gold); }

.menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  flex-shrink: 0;
}
.menu-toggle__bar {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--sillage-ink);
  border-radius: 2px;
  transition: transform 200ms ease, opacity 200ms ease;
}
.menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Buttons ---------- */
.btn {
  font-family: var(--font-body);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 150ms ease, background 150ms ease, transform 120ms ease;
}
.btn:active { transform: scale(.97); }
.btn--sm { font-size: 14px; padding: 10px 20px; font-weight: 700; }
.btn--md { font-size: 15px; padding: 12px 24px; font-weight: 600; }
.btn--lg { font-size: 16px; padding: 16px 30px; font-weight: 600; }
.btn--ink { background: var(--sillage-ink); color: var(--sillage-on-ink); }
.btn--cream { background: var(--sillage-cream); color: var(--sillage-ink); }
a.btn.btn--ink:hover, a.btn.btn--cream:hover { color: inherit; opacity: .9; }
.btn--sm.btn--ink { color: #FFFFFF; }

.text-link {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  color: var(--sillage-ink);
  width: fit-content;
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
  transition: border-color 200ms ease;
}
.text-link:hover { color: var(--sillage-ink); border-bottom-color: var(--sillage-gold); }
.text-link__arrow { color: var(--sillage-gold); }

/* ---------- Typography helpers ---------- */
.eyebrow {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: var(--track-label-wide);
  text-transform: uppercase;
  color: var(--sillage-gold-text);
}
.eyebrow--faint { color: var(--sillage-text-muted); }
.eyebrow--on-ink { color: var(--sillage-on-ink-faint); }

.lede {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: var(--leading-body);
  color: var(--sillage-text);
  max-width: 480px;
  text-wrap: pretty;
}
.lede--on-ink { color: var(--sillage-on-ink-faint); }

.signature {
  font-family: var(--font-signature);
  font-style: italic;
  font-weight: 400;
}

h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--sillage-ink);
  text-wrap: pretty;
}

/* ---------- Hero (Accueil) ---------- */
.hero {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: clamp(64px, 12vw, 132px) var(--site-gutter) clamp(32px, 6vw, 56px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 64px;
  align-items: center;
}
.hero__copy { display: flex; flex-direction: column; gap: 26px; }
.hero__title {
  font-size: clamp(36px, 6.4vw, 74px);
  line-height: var(--leading-display);
  letter-spacing: var(--track-display-tight);
}
.hero__title .signature { font-size: 1.13em; }
.hero__lede { max-width: 480px; }
.hero__ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.hero__signoff {
  border-top: 1px solid var(--sillage-rule);
  padding-top: 20px;
  font-size: 15px;
  color: var(--sillage-text-muted);
}

/* Hero photo (V2 — humain + agent) */
.hero__photo {
  border-radius: var(--radius-panel);
  overflow: hidden;
  box-shadow: var(--shadow-float);
  line-height: 0;
}
.hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1672 / 941;
}

/* ---------- Section: Learning aujourd'hui ---------- */
.learning {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: clamp(24px, 4vw, 40px) var(--site-gutter) clamp(56px, 9vw, 96px);
  display: flex;
  flex-direction: column;
  gap: 44px;
}
.learning__head { display: flex; flex-direction: column; gap: 16px; }
.learning__title {
  font-size: clamp(24px, 3.6vw, 38px);
  line-height: var(--leading-title);
  letter-spacing: var(--track-display);
  max-width: 820px;
}
.learning__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 20px;
}
.insight-card {
  background: var(--sillage-paper-alt);
  border-radius: 16px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 34px;
  min-height: 220px;
  transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease;
}
.insight-card:hover {
  background: var(--sillage-cream);
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(14, 59, 52, .10);
}
.insight-card--accent {
  background: var(--sillage-cream);
  border-radius: 12px 60px 12px 12px;
}
.insight-card--accent:hover { background: var(--sillage-cream); }
.insight-card__body { display: flex; flex-direction: column; gap: 8px; }
.insight-card__num { font-family: var(--font-mono); font-size: 11px; color: var(--sillage-text-muted); }
.insight-card--accent .insight-card__num { color: var(--sillage-on-cream-muted); }
.insight-card__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 19px;
  line-height: 1.28;
  letter-spacing: var(--track-display);
  color: var(--sillage-ink);
}
.insight-card__desc { font-size: 14px; line-height: var(--leading-body-tight); color: var(--sillage-text-muted); }
.insight-card--accent .insight-card__desc { color: var(--sillage-on-cream-muted); }

.learning__transition {
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-top: 1px solid var(--sillage-rule);
  padding-top: 32px;
  margin-top: 8px;
}
.learning__transition-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(20px, 3vw, 28px);
  line-height: 1.35;
  letter-spacing: var(--track-display);
  color: var(--sillage-ink);
  max-width: 760px;
}

/* ---------- Section: Solutions (accueil, fond ink) ---------- */
.solutions-preview {
  padding: clamp(56px, 10vw, 112px) var(--site-gutter) clamp(56px, 9vw, 96px);
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.solutions-preview__head { display: flex; flex-direction: column; gap: 20px; }
.solutions-preview__title {
  font-size: clamp(28px, 5vw, 56px);
  line-height: var(--leading-title);
  letter-spacing: var(--track-display);
  max-width: 1000px;
}
.solutions-preview__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}
.solution-card {
  background: var(--sillage-cream);
  border-radius: var(--radius-panel-sm);
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: transform 200ms ease, box-shadow 200ms ease;
}
.solution-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(14, 59, 52, .14); }
.solution-card--lg { padding: 40px; }
.solution-card--sm { padding: 32px; gap: 16px; }
.solution-card__eyebrow {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 21px;
  letter-spacing: -.02em;
  color: var(--sillage-ink);
}
.solution-card h3 { color: var(--sillage-ink); }
.solution-card--lg h3 { font-size: clamp(22px, 3.5vw, 34px); line-height: var(--leading-title); letter-spacing: var(--track-display); }
.solution-card--sm h3 { font-size: clamp(18px, 2.8vw, 27px); line-height: var(--leading-title); letter-spacing: var(--track-display); }
.solution-card__desc { font-size: 16px; line-height: var(--leading-body); color: var(--sillage-on-cream); }
.solution-card--sm .solution-card__desc { font-size: 15px; line-height: var(--leading-body-tight); }
.solution-card__tags {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--sillage-on-cream-muted);
  line-height: 1.6;
}
.solution-card__foot { margin-top: auto; display: flex; flex-direction: column; gap: 16px; }
.solution-card--sm .solution-card__foot { gap: 18px; }

/* ---------- Dojo en action (V2 — humain + agent) ---------- */
.dojo-spotlight {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: clamp(56px, 9vw, 96px) var(--site-gutter);
}
.dojo-spotlight__inner {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(380px, 1.2fr);
  gap: 56px;
  align-items: center;
}
.dojo-spotlight__copy { display: flex; flex-direction: column; gap: 20px; }
.dojo-spotlight__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(26px, 4vw, 40px);
  line-height: var(--leading-title);
  letter-spacing: var(--track-display);
  color: var(--sillage-ink);
  text-wrap: pretty;
}
.dojo-spotlight__range {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--sillage-gold);
}
.dojo-spotlight__desc { font-size: 16px; line-height: var(--leading-body); color: var(--sillage-text); max-width: 480px; }
.dojo-spotlight__points { display: flex; flex-direction: column; gap: 16px; padding-top: 6px; }
.dojo-spotlight__photo { max-width: 100%; }
@media (max-width: 900px) {
  .dojo-spotlight__inner { grid-template-columns: 1fr; }
}

/* ---------- Nori en action ---------- */
.nori-spotlight {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: clamp(56px, 9vw, 96px) var(--site-gutter);
}
.nori-spotlight__inner {
  display: grid;
  grid-template-columns: minmax(320px, 1.1fr) minmax(320px, 1fr);
  gap: 56px;
  align-items: start;
}
.nori-spotlight__copy { display: flex; flex-direction: column; gap: 20px; }
.nori-spotlight__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(26px, 4vw, 40px);
  line-height: var(--leading-title);
  letter-spacing: var(--track-display);
  color: var(--sillage-ink);
  text-wrap: pretty;
}
.nori-spotlight__desc { font-size: 16px; line-height: var(--leading-body); color: var(--sillage-text); max-width: 480px; }
.nori-spotlight__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 18px 24px;
  padding-top: 6px;
}
.nori-spotlight__demo { align-self: start; }
.nori-spotlight__thread-2 { margin-top: 16px; border-top: 1px solid var(--app-rule-soft); padding-top: 16px; }
@media (max-width: 900px) {
  .nori-spotlight__inner { grid-template-columns: 1fr; }
}

/* ---------- Notre socle de confiance (trust bar) ---------- */
.trust-bar { background: var(--sillage-paper-alt); border-top: 1px solid var(--sillage-rule); border-bottom: 1px solid var(--sillage-rule); }
.trust-bar__inner {
  padding: clamp(40px, 6vw, 64px) var(--site-gutter) clamp(32px, 5vw, 48px);
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.trust-bar__label { text-align: center; }
.trust-bar__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
}
@media (min-width: 640px) {
  .trust-bar__grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 960px) {
  .trust-bar__grid { grid-template-columns: repeat(4, 1fr); }
}
.trust-bar__item { display: flex; flex-direction: column; gap: 6px; text-align: center; }
.trust-bar__item-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  letter-spacing: var(--track-display);
  color: var(--sillage-ink);
}
.trust-bar__item-desc { font-size: 14px; line-height: var(--leading-body-tight); color: var(--sillage-text); }
/* ---------- Programme Partenaire (compact banner) ---------- */
.partner-program { border-top: 1px solid var(--sillage-rule); }
.partner-program__inner {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: clamp(28px, 5vw, 40px) var(--site-gutter);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  text-align: center;
}
.partner-program__text { margin: 0; font-size: 15px; color: var(--sillage-text); max-width: 560px; }

/* ---------- Le Learning change de modèle (ex "Notre différence") ---------- */
.difference {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: clamp(56px, 10vw, 112px) var(--site-gutter);
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.difference__head { display: flex; flex-direction: column; gap: 20px; max-width: 820px; }
.difference__title { font-size: clamp(28px, 5vw, 56px); line-height: var(--leading-title); letter-spacing: var(--track-display); }
.difference__intro { font-size: 17px; line-height: var(--leading-body); color: var(--sillage-text); max-width: 720px; }
.difference__highlight {
  margin-top: 4px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(20px, 3vw, 28px);
  line-height: 1.4;
  letter-spacing: var(--track-display);
  color: var(--sillage-gold);
  max-width: 760px;
}
.difference__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
}
.difference__item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-top: 1px solid var(--sillage-rule);
  padding-top: 18px;
}
.difference__item-label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--sillage-gold);
}
.difference__item-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 19px;
  letter-spacing: var(--track-display);
  color: var(--sillage-ink);
}
.difference__item-desc { font-size: 15px; line-height: var(--leading-body-tight); color: var(--sillage-text-muted); }
.difference__item-tags {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--sillage-text-muted);
}
.difference__conclusion {
  border-top: 1px solid var(--sillage-rule);
  padding-top: 24px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 19px;
  letter-spacing: var(--track-display);
  color: var(--sillage-gold);
  max-width: 760px;
}

/* ---------- Écosystème ---------- */
.ecosystem {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: clamp(24px, 4vw, 40px) var(--site-gutter) clamp(56px, 10vw, 104px);
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.ecosystem__head {
  display: flex;
  flex-direction: column;
  gap: 20px;
  text-align: center;
  align-items: center;
}
.ecosystem__title {
  font-size: clamp(28px, 5vw, 52px);
  line-height: var(--leading-title);
  letter-spacing: var(--track-display);
  max-width: 880px;
}
.ecosystem__lede { font-size: 17px; line-height: var(--leading-body); color: var(--sillage-text); max-width: 640px; }

.ecosystem__diagram {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) auto minmax(160px, 1.1fr) auto minmax(200px, 1fr);
  gap: 20px;
  align-items: center;
}
.ecosystem__zone { display: flex; flex-direction: column; gap: 14px; }
.ecosystem__zone-label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--sillage-gold-text);
  border-bottom: 1px solid var(--sillage-rule);
  padding-bottom: 10px;
}
.ecosystem__zone-label--on-ink { color: var(--sillage-on-ink-faint); border-bottom-color: var(--sillage-on-ink-rule); }
.ecosystem__flat-list { display: flex; flex-direction: column; gap: 10px; }
.ecosystem__flat-list li { font-size: 13px; color: var(--sillage-text); }
.ecosystem__flat-list--results li { color: var(--sillage-ink); font-weight: 600; }
.ecosystem__arrow { font-size: 20px; color: var(--sillage-text-muted); text-align: center; }
.ecosystem__hub {
  background: var(--sillage-ink);
  border-radius: var(--radius-panel);
  padding: 28px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  text-align: center;
}
.ecosystem__hub-agents { display: flex; flex-direction: column; gap: 8px; width: 100%; }
.ecosystem__hub-agent {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  color: var(--sillage-gold);
  border: 1px solid rgba(245, 241, 232, .24);
  border-radius: var(--radius-pill);
  padding: 6px 10px;
}
.ecosystem__hub-flow {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  border-top: 1px solid var(--sillage-on-ink-rule);
  padding-top: 14px;
}
.ecosystem__hub-flow span {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--sillage-on-ink-soft);
}

.ecosystem__footer { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.ecosystem__footer-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(19px, 2.4vw, 24px);
  letter-spacing: var(--track-display);
  color: var(--sillage-ink);
}
.ecosystem__footer-note {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--sillage-text-muted);
}

@keyframes agentGlow {
  0%, 16%, 100% { opacity: .38; }
  4%, 12% { opacity: 1; }
}
.agent-pulse-1 { animation: agentGlow 9s ease-in-out infinite; }
.agent-pulse-2 { animation: agentGlow 9s ease-in-out infinite; animation-delay: 1.6s; }
.agent-pulse-3 { animation: agentGlow 9s ease-in-out infinite; animation-delay: 3.2s; }
.agent-pulse-4 { animation: agentGlow 9s ease-in-out infinite; animation-delay: 4.8s; }
@media (prefers-reduced-motion: reduce) {
  .agent-pulse-1, .agent-pulse-2, .agent-pulse-3, .agent-pulse-4 { animation: none; opacity: 1; }
}

/* ---------- Bande cibles ---------- */
.targets {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: 0 var(--site-gutter) clamp(56px, 10vw, 112px);
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.targets__title { font-size: clamp(24px, 4vw, 40px); line-height: var(--leading-title); letter-spacing: var(--track-display); max-width: 880px; }
.targets__list {
  border-top: 1px solid var(--sillage-rule);
  border-bottom: 1px solid var(--sillage-rule);
  padding: 28px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}
.targets__list span {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 600;
  color: var(--sillage-text-muted);
}

/* ---------- Conviction / CTA final ---------- */
.conviction {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: clamp(80px, 14vw, 140px) var(--site-gutter);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 32px;
}
.conviction__title {
  font-size: clamp(32px, 5.6vw, 64px);
  line-height: var(--leading-title);
  letter-spacing: var(--track-display);
  max-width: 980px;
}
.conviction__title-accent { display: block; margin-top: .2em; color: var(--sillage-gold); }

/* ---------- Page hero (Solutions / Vision) ---------- */
.page-hero {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: clamp(56px, 10vw, 112px) var(--site-gutter) 48px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 72px;
  align-items: end;
}
.page-hero__head { display: flex; flex-direction: column; gap: 24px; }
.page-hero__title {
  font-size: clamp(36px, 7vw, 82px);
  line-height: var(--leading-display);
  letter-spacing: var(--track-display-tight);
}
.page-hero__lede { max-width: 520px; }

/* ---------- Agent blocks (Solutions) ---------- */
.agent-block {
  padding: clamp(56px, 9vw, 88px) 0;
}
.agent-block__inner {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: 0 var(--site-gutter);
  display: grid;
  gap: 56px;
  align-items: start;
}
.agent-block__inner.agent-block--text-demo { grid-template-columns: minmax(320px, 1fr) minmax(380px, 1.2fr); }
.agent-block__inner.agent-block--demo-text { grid-template-columns: minmax(380px, 1.2fr) minmax(320px, 1fr); }
@media (max-width: 900px) {
  .agent-block__inner.agent-block--text-demo,
  .agent-block__inner.agent-block--demo-text { grid-template-columns: 1fr; }
}
.agent-block__copy { display: flex; flex-direction: column; gap: 24px; }
.agent-block__kicker { display: flex; align-items: center; gap: 14px; }
.agent-block__num { font-family: var(--font-mono); font-size: 12px; color: var(--sillage-gold-text); }
.agent-block__name { font-family: var(--font-display); font-weight: 800; font-size: 24px; letter-spacing: -.02em; color: var(--sillage-ink); }
.agent-block__title { font-size: clamp(28px, 4.4vw, 42px); line-height: var(--leading-title); letter-spacing: var(--track-display); }
.agent-block--compact .agent-block__title { font-size: clamp(24px, 3.6vw, 32px); }
.agent-block--compact .agent-block__name { font-size: 21px; }
.agent-block__problem {
  font-family: var(--font-body);
  font-style: italic;
  font-size: 16px;
  line-height: var(--leading-body-tight);
  color: var(--sillage-text-muted);
  max-width: 460px;
}
.agent-block__actions {
  list-style: none;
  margin: 0;
  padding: 4px 0 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 460px;
}
.agent-block__actions li {
  position: relative;
  padding-left: 22px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--sillage-text);
}
.agent-block__actions li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--sillage-gold);
}
.agent-block__benefit-label {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--sillage-gold-text);
  margin-bottom: 4px;
}
.agent-block__benefit {
  padding-top: 4px;
  max-width: 460px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 17px;
  line-height: 1.4;
  color: var(--sillage-ink);
}
.capability { display: flex; flex-direction: column; gap: 4px; }
.capability__label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--sillage-gold);
}
.capability__desc { font-size: 14px; line-height: var(--leading-body-tight); color: var(--sillage-text); }
.agent-block__for { font-size: 13px; color: var(--sillage-text-muted); }
.agent-block__note { font-size: 13px; color: var(--sillage-text-muted); }
.agent-block__integration {
  font-size: 13px;
  color: var(--sillage-text-muted);
  padding-top: 8px;
  border-top: 1px solid var(--sillage-rule);
}

/* App demo panels (Mosaïque) */
.app-demo {
  background: var(--app-bg);
  border: 1px solid var(--app-rule);
  border-radius: var(--radius-panel);
  padding: 32px;
  min-height: 460px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: var(--shadow-panel);
}
.app-demo--compact { padding: 26px; min-height: 360px; gap: 14px; }
.app-demo__label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--app-teal);
}
.app-demo__meta { font-size: 12px; color: var(--app-text-muted); }
.app-demo__row {
  background: var(--app-surface);
  border: 1px solid var(--app-rule);
  border-radius: 14px;
  padding: 14px 18px;
}
.app-demo__row span { font-size: 12px; color: var(--app-text-muted); }
.badge {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  border-radius: var(--radius-pill);
  padding: 4px 10px;
  border: 1px solid;
}
.badge--watch { background: var(--state-watch-bg); color: var(--state-watch); border-color: var(--state-watch-rule); }
.app-panel {
  background: var(--app-surface);
  border: 1px solid var(--app-rule);
  border-radius: 16px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.app-panel--tight { border-radius: 12px; padding: 14px 16px; }
.app-panel__label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--app-teal);
}
.app-panel__label--sm { font-size: 10px; }
.app-counter { display: flex; align-items: baseline; gap: 12px; }
.app-counter__value { font-family: var(--font-display); font-weight: 800; font-size: 44px; color: var(--app-ink); letter-spacing: -.02em; }
.app-counter__caption { font-size: 13px; color: var(--app-text); }
.app-demo__footnote { font-family: var(--font-mono); font-size: 11px; color: var(--app-text-muted); }
.app-demo__block {
  border-top: 1px solid var(--app-rule-soft);
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.app-demo__block--tight { padding-top: 12px; gap: 6px; }
.app-demo__block-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 19px;
  line-height: 1.3;
  color: var(--app-ink);
}
.app-demo__block-note { font-size: 13px; color: var(--app-text); }
.app-demo__tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--app-text-muted);
  margin-top: 4px;
}

/* Dojo — coach conversationnel (chatbot) */
.chat-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.chat-meta__status {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--app-text-muted);
}
.chat-meta__status-dot { color: var(--state-success); }
.chat-badge {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--app-teal);
  background: var(--app-surface);
  border: 1px solid var(--app-rule);
  border-radius: var(--radius-pill);
  padding: 4px 10px;
}
.chat-thread { display: flex; flex-direction: column; gap: 10px; }
.chat-bubble {
  max-width: 90%;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 13px;
  line-height: 1.5;
}
.chat-bubble--agent {
  align-self: flex-start;
  background: var(--app-surface);
  border: 1px solid var(--app-rule);
  border-bottom-left-radius: 4px;
  color: var(--app-text);
}
.chat-bubble--user {
  align-self: flex-end;
  background: var(--app-ink);
  border-bottom-right-radius: 4px;
  color: var(--app-bg);
}
.chat-bubble--feedback {
  background: var(--state-success-bg);
  border-color: var(--state-success-rule);
  color: var(--app-ink);
}
.chat-bubble__eyebrow, .chat-bubble__tag {
  display: block;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  margin-bottom: 6px;
}
.chat-bubble__eyebrow { color: var(--app-teal); }
.chat-bubble__tag { color: var(--state-success); }
.chat-input-mock {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--app-surface);
  border: 1px solid var(--app-rule);
  border-radius: var(--radius-pill);
  padding: 8px 8px 8px 16px;
}
.chat-input-mock__placeholder { flex: 1; font-size: 13px; color: var(--app-text-muted); }
.chat-input-mock__send {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: var(--radius-pill);
  background: var(--app-ink);
  color: var(--app-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
.mastery-figure { font-family: var(--font-display); font-weight: 800; font-size: 30px; color: var(--app-ink); letter-spacing: -.02em; }
.progress-track { height: 6px; border-radius: var(--radius-pill); background: var(--app-rule-soft); overflow: hidden; }
.progress-bar { height: 100%; width: 0%; background: var(--app-teal); border-radius: var(--radius-pill); transition: width 900ms ease; }
.app-demo__meta-row { font-size: 13px; font-weight: 600; color: var(--app-ink); }
.app-demo__meta-sub { display: flex; flex-direction: column; gap: 2px; }
.app-demo__meta-sub-label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--app-text-muted);
}
.app-demo__meta-sub-value { font-size: 12px; color: var(--app-text); }

/* Nori donut + lists */
.skills-row { display: flex; align-items: center; gap: 18px; }
.donut {
  position: relative;
  width: 88px; height: 88px;
  flex-shrink: 0;
  border-radius: var(--radius-pill);
  background: conic-gradient(var(--state-success) 0% 55%, var(--state-watch) 55% 82%, var(--state-alert) 82% 100%);
}
.donut__center {
  position: absolute;
  inset: 13px;
  border-radius: var(--radius-pill);
  background: var(--app-bg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.donut__value { font-family: var(--font-display); font-weight: 800; font-size: 21px; color: var(--app-ink); letter-spacing: -.02em; }
.donut__label { font-family: var(--font-mono); font-size: 9px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--state-alert); }
.skills-legend { display: flex; flex-direction: column; gap: 6px; }
.skills-legend li { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--app-text); }
.skills-legend .dot--success { color: var(--state-success); }
.skills-legend .dot--watch { color: var(--state-watch); }
.skills-legend .dot--alert { color: var(--state-alert); }
.query-bubble { background: var(--app-surface); border: 1px solid var(--app-rule); border-radius: 12px; padding: 13px 16px; font-size: 14px; color: var(--app-ink); }
.result-row {
  background: var(--app-surface);
  border: 1px solid var(--app-rule);
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.result-row span:first-child { font-size: 13px; color: var(--app-ink); }
.result-row span:last-child { font-family: var(--font-mono); font-size: 11px; color: var(--app-text-muted); }
.alert-block {
  background: var(--state-alert-bg);
  border: 1px solid var(--state-alert-rule);
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.alert-block__label { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--state-alert); }
.alert-block__title { font-size: 13px; font-weight: 600; color: var(--app-ink); }
.alert-block__note { font-family: var(--font-mono); font-size: 11px; color: var(--app-text-muted); }
.sourced-tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--app-teal); font-weight: 400; margin-left: 8px; }

/* Didalia LQS scale */
.lqs-scale { display: flex; gap: 6px; }
.lqs-pill {
  width: 26px; height: 26px;
  border-radius: var(--radius-pill);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 700; font-size: 13px;
}
.lqs-pill--a { background: #2E7D32; color: #FFFFFF; }
.lqs-pill--b {
  width: 30px; height: 30px; font-size: 14px;
  background: #85BB2F; color: #FFFFFF;
  border: 3px solid var(--app-ink);
  box-shadow: 0 0 0 3px var(--app-bg), 0 0 0 4px var(--app-ink);
  margin: 0 3px;
}
.lqs-pill--c { background: #FECB02; color: #4A3200; }
.lqs-pill--d { background: #EE8100; color: #FFFFFF; }
.lqs-pill--e { background: #E63E11; color: #FFFFFF; }
.lqs-transition { display: flex; align-items: baseline; gap: 10px; }
.lqs-scores { display: flex; align-items: baseline; gap: 8px; }
.lqs-scores__from { font-family: var(--font-display); font-weight: 700; font-size: 19px; color: var(--app-text); }
.lqs-scores__arrow { font-size: 14px; color: var(--app-text-muted); }
.lqs-scores__to { font-family: var(--font-display); font-weight: 800; font-size: 19px; color: var(--state-success); }
.dimension-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.dimension-row span:first-child { font-size: 12px; color: var(--app-text); }
.dimension-row span:last-child { font-size: 12px; font-weight: 600; }
.dimension-row--focus span:first-child { color: var(--app-ink); font-weight: 600; }
.tone-success { color: var(--state-success); }
.tone-watch { color: var(--state-watch); }

/* ---------- Vision page — Pourquoi Humirai ? ---------- */
.why-hero {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: clamp(56px, 10vw, 112px) var(--site-gutter) clamp(40px, 6vw, 64px);
}
.why-hero__inner { display: flex; flex-direction: column; gap: 22px; max-width: 760px; }
.why-hero__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(32px, 5.6vw, 60px);
  line-height: var(--leading-display);
  letter-spacing: var(--track-display-tight);
  color: var(--sillage-ink);
  text-wrap: pretty;
}
.why-hero__lede { max-width: 560px; }
.why-flow {
  max-width: var(--site-max);
  margin: clamp(40px, 6vw, 64px) auto 0;
  padding: 0 var(--site-gutter) clamp(48px, 8vw, 80px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--sillage-ink);
}
.why-flow__arrow { color: var(--sillage-gold); }

/* Notre histoire — reuses .legitimacy (below) */
.legitimacy {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: clamp(56px, 10vw, 112px) var(--site-gutter);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 72px;
  align-items: start;
}
.legitimacy__head { display: flex; flex-direction: column; gap: 20px; }
.legitimacy__title { font-size: clamp(24px, 4vw, 40px); line-height: var(--leading-title); letter-spacing: var(--track-display); }
.legitimacy__desc { font-size: 16px; line-height: var(--leading-body); color: var(--sillage-text-muted); max-width: 560px; }
.legitimacy__domains { display: flex; flex-direction: column; gap: 20px; padding-top: 6px; }
.legitimacy__domain {
  border-top: 1px solid var(--sillage-rule);
  padding-top: 16px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  color: var(--sillage-ink);
}
.legitimacy__domain--last { border-bottom: 1px solid var(--sillage-rule); padding-bottom: 16px; }

/* Nos convictions Learning */
.convictions {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: clamp(56px, 10vw, 112px) var(--site-gutter);
}
.convictions__head { display: flex; flex-direction: column; gap: 20px; margin-bottom: 40px; }
.convictions__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(28px, 4.6vw, 48px);
  line-height: var(--leading-title);
  letter-spacing: var(--track-display);
  color: var(--sillage-ink);
}
.convictions__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
}
.conviction-card {
  background: var(--sillage-cream);
  border-radius: var(--radius-card-lg);
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 200px;
}
.conviction-card__num {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  color: var(--sillage-on-cream-muted);
}
.conviction-card__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: var(--track-display);
  color: var(--sillage-ink);
}
.conviction-card__desc { font-size: 15px; line-height: var(--leading-body-tight); color: var(--sillage-on-cream-muted); margin-top: auto; }
.convictions__closing {
  margin: 48px 0 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(20px, 3vw, 26px);
  line-height: 1.4;
  letter-spacing: var(--track-display);
  color: var(--sillage-gold);
  max-width: 680px;
}

/* Ce qui change aujourd'hui */
.changer { padding: clamp(64px, 10vw, 120px) 0; }
.changer__inner {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: 0 var(--site-gutter);
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.changer__head { display: flex; flex-direction: column; gap: 20px; max-width: 760px; }
.changer__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(30px, 5vw, 52px);
  line-height: var(--leading-title);
  letter-spacing: var(--track-display);
  color: var(--sillage-on-ink);
}
.changer__lede { max-width: 620px; }
.changer__equation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--sillage-on-ink);
  padding: 24px 0;
  border-top: 1px solid var(--sillage-on-ink-rule);
  border-bottom: 1px solid var(--sillage-on-ink-rule);
}
.changer__op { color: var(--sillage-gold); font-size: 16px; }
.changer__dimensions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 32px;
}
.changer__dimension { display: flex; flex-direction: column; gap: 10px; }
.changer__dimension-label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--sillage-gold);
}
.changer__dimension-flow {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 17px;
  color: var(--sillage-on-ink);
  line-height: 1.5;
}

/* Votre écosystème */
.why-ecosystem__inner {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: clamp(56px, 10vw, 112px) var(--site-gutter);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 56px;
  align-items: center;
}
.why-ecosystem__copy { display: flex; flex-direction: column; gap: 18px; }
.why-ecosystem__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(26px, 4.4vw, 42px);
  line-height: var(--leading-title);
  letter-spacing: var(--track-display);
  color: var(--sillage-ink);
}
.why-ecosystem__diagram { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.why-ecosystem__layer {
  width: 100%;
  text-align: center;
  background: var(--sillage-paper);
  border: 1px solid var(--sillage-rule);
  border-radius: var(--radius-card);
  padding: 18px 20px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  color: var(--sillage-ink);
}
.why-ecosystem__layer--hub {
  background: var(--sillage-ink);
  border-color: var(--sillage-ink);
  color: var(--sillage-on-ink);
  font-weight: 700;
}
.why-ecosystem__layer--actions {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--sillage-gold);
  background: transparent;
  border: none;
  padding: 8px 0 0;
}
.why-ecosystem__connector { color: var(--sillage-text-muted); font-size: 16px; }

/* Notre ambition (vision page) */
.ambition2__inner {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: clamp(64px, 10vw, 120px) var(--site-gutter);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 32px;
}
.ambition2__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(30px, 5vw, 52px);
  line-height: var(--leading-title);
  letter-spacing: var(--track-display);
  color: var(--sillage-on-ink);
}
.ambition2__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 28px;
  max-width: 760px;
  width: 100%;
}
.ambition2__item { display: flex; flex-direction: column; gap: 8px; }
.ambition2__item-title { font-family: var(--font-display); font-weight: 700; font-size: 19px; color: var(--sillage-on-ink); }
.ambition2__item-desc { font-size: 14px; line-height: var(--leading-body-tight); color: var(--sillage-on-ink-soft); }
.ambition2__closing { font-size: 17px; line-height: var(--leading-body); color: var(--sillage-on-ink-soft); max-width: 620px; }
.ambition2__ctas { display: flex; flex-direction: column; align-items: center; gap: 14px; }

/* Signature de marque */
.why-signature {
  max-width: 640px;
  margin: 0 auto;
  padding: clamp(64px, 10vw, 112px) var(--site-gutter);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.why-signature__mark {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 22px;
  letter-spacing: -.02em;
  color: var(--sillage-ink);
}
.why-signature__tagline {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(20px, 3vw, 26px);
  letter-spacing: var(--track-display);
  color: var(--sillage-ink);
}
.why-signature__text { font-size: 15px; line-height: var(--leading-body); color: var(--sillage-text-muted); margin-top: 8px; }

/* ---------- Reassurance band ---------- */
.reassurance { background: var(--sillage-paper-alt); border-top: 1px solid var(--sillage-rule); }
.reassurance__inner {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: 28px var(--site-gutter);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
.reassurance-item { display: flex; align-items: flex-start; gap: 12px; max-width: 260px; }
.reassurance-item svg { flex-shrink: 0; margin-top: 2px; }
.reassurance-item__title { font-family: var(--font-display); font-weight: 600; font-size: 14px; color: var(--sillage-ink); }
.reassurance-item__desc { font-size: 13px; color: var(--sillage-text-muted); }

/* ---------- Footer ---------- */
.site-footer { background: var(--sillage-paper-alt); }
.site-footer__inner {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: 32px var(--site-gutter);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
.site-footer__brand { display: flex; align-items: center; gap: 11px; }
.site-footer__brand span {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 19px;
  letter-spacing: -.02em;
  color: var(--sillage-ink);
}
.site-footer__nav { display: flex; gap: 32px; font-size: 15px; flex-wrap: wrap; }
.site-footer__signoff { font-size: 14px; color: var(--sillage-text-muted); }
.site-footer__legal { max-width: var(--site-max); margin: 0 auto; padding: 18px var(--site-gutter) 28px; border-top: 1px solid var(--sillage-rule); display: flex; align-items: center; justify-content: space-between; gap: 12px 32px; flex-wrap: wrap; font-size: 13.5px; color: var(--sillage-text-muted); }
.site-footer__copy { margin: 0; }
.site-footer__legal-nav { display: flex; flex-wrap: wrap; gap: 6px 24px; }
.site-footer__legal-nav a { display: inline-flex; align-items: center; min-height: 24px; color: var(--sillage-text); text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; }
.site-footer__legal-nav a:hover, .site-footer__legal-nav a:focus-visible { color: var(--sillage-ink); text-decoration-color: var(--sillage-gold); }

/* ---------- Demo modal ---------- */
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: rgba(31, 61, 51, .55);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.modal-overlay.is-open { display: flex; }
.modal-panel {
  background: var(--sillage-paper);
  border-radius: var(--radius-panel);
  max-width: min(560px, 92vw);
  width: 100%;
  max-height: 88vh;
  overflow: auto;
  padding: clamp(24px, 6vw, 48px);
  display: flex;
  flex-direction: column;
  gap: 24px;
  box-shadow: var(--shadow-float);
}
.modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.modal-head__copy { display: flex; flex-direction: column; gap: 8px; }
.modal-head__title { font-size: clamp(18px, 2.8vw, 27px); letter-spacing: var(--track-display); }
.modal-head__desc { font-size: 15px; line-height: var(--leading-body); color: var(--sillage-text-muted); }
.modal-close {
  border: none;
  background: none;
  cursor: pointer;
  font-size: 20px;
  color: var(--sillage-text-muted);
  line-height: 1;
  padding: 4px;
}
.demo-form { display: flex; flex-direction: column; gap: 14px; }
.demo-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 14px; }
.demo-form input,
.demo-form select,
.demo-form textarea {
  border: 1px solid var(--sillage-rule);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 15px;
  color: var(--sillage-ink);
  background: var(--sillage-paper);
}
.demo-form textarea { resize: vertical; }
.demo-form__field { display: flex; flex-direction: column; gap: 6px; }
.demo-form__field[hidden] { display: none; }
.demo-form__field--invalid input,
.demo-form__field--invalid select { border-color: var(--state-alert); }
.demo-form__field-error { font-size: 12px; color: var(--state-alert); }
.demo-form__error {
  font-size: 14px;
  color: var(--state-alert);
  background: var(--state-alert-bg);
  border: 1px solid var(--state-alert-rule);
  border-radius: 8px;
  padding: 12px 14px;
}
.demo-form__submit {
  margin-top: 6px;
  background: var(--sillage-ink);
  color: var(--sillage-paper);
  font-weight: 600;
  font-size: 15px;
  padding: 15px 28px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  width: fit-content;
}
.demo-form__submit:disabled { opacity: .6; cursor: not-allowed; }
.modal-confirm { display: flex; flex-direction: column; gap: 20px; }
.modal-confirm[hidden] { display: none; }
.modal-confirm__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.modal-confirm__tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--sillage-gold);
}
.modal-confirm__msg {
  font-size: clamp(18px, 2.8vw, 27px);
  line-height: var(--leading-title);
  letter-spacing: var(--track-display);
  color: var(--sillage-ink);
}

/* ---------- Partner modal (Programme Partenaire) ---------- */
.partner-modal__highlight {
  background: var(--sillage-cream);
  border-radius: var(--radius-card-lg);
  padding: 20px 24px;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 16px;
  color: var(--sillage-ink);
}
.partner-modal__highlight-figure {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(28px, 5vw, 36px);
  letter-spacing: -.02em;
  color: var(--sillage-gold);
}
.partner-modal__intro { margin: 0; font-size: 15px; color: var(--sillage-text); }
.partner-modal__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.partner-modal__list li {
  position: relative;
  padding-left: 20px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--sillage-text);
}
.partner-modal__list li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--sillage-gold);
}
.partner-modal__cta { align-self: flex-start; }

/* ---------- data-reveal (JS-driven) ---------- */
[data-reveal] {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 600ms ease, transform 600ms ease;
}
[data-reveal].is-revealed {
  opacity: 1;
  transform: translateY(0);
}

/* ---------- Responsive ---------- */
@media (max-width: 640px) {
  .agent-block__inner { gap: 32px; }
}
@media (max-width: 767px) {
  .ecosystem__diagram { grid-template-columns: 1fr; }
  .ecosystem__arrow { transform: rotate(90deg); }
}

/* ---------- Mobile (<768px) ---------- */
@media (max-width: 767px) {
  /* Header / navigation */
  .menu-toggle { display: flex; }
  .nav {
    position: fixed;
    top: 66px;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--sillage-paper);
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 2px;
    padding: 8px 20px 28px;
    overflow-y: auto;
    box-shadow: 0 16px 40px rgba(14, 59, 52, .14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 200ms ease, transform 200ms ease, visibility 200ms;
    z-index: 30;
  }
  .nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .nav a { padding: 16px 4px; border-bottom: 1px solid var(--sillage-rule); font-size: 17px; }
  .nav a.btn { margin-top: 16px; border-bottom: none; width: 100%; }

  /* CTA — hauteur, paddings et taille de texte uniformes */
  .btn, .btn--sm, .btn--md, .btn--lg {
    min-height: 48px;
    padding: 13px 26px;
    font-size: 15px;
    font-weight: 600;
  }

  /* Hero */
  .hero {
    grid-template-columns: 1fr;
    padding: 32px var(--site-gutter) 40px;
    gap: 40px;
  }
  .hero__ctas { flex-direction: column; align-items: center; gap: 12px; }
  .hero__ctas .btn:first-child { width: 100%; }

  /* Page hero (Solutions / Vision) */
  .page-hero, .why-hero { padding-top: 32px; }

  /* Grilles à risque de débordement en dessous de leur min-width */
  .legitimacy { grid-template-columns: 1fr; }
}

/* =========================================================
   V3 — Hero visuel + Le Lab Humirai
   ========================================================= */
[hidden] { display: none !important; }
.visually-hidden {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- Cartes Décryptages ---------- */
.lab-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--sillage-paper-alt);
  border: 1px solid var(--sillage-rule);
  border-radius: var(--radius-panel);
  overflow: hidden;
  transition: transform 260ms ease, box-shadow 260ms ease;
}
.lab-card:hover, .lab-card:focus-visible { transform: translateY(-4px); box-shadow: var(--shadow-panel); }
.lab-card:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 3px; }
.lab-card__visual { display: block; overflow: hidden; aspect-ratio: 16 / 9; background: var(--sillage-ink); }
.lab-card__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms ease; }
.lab-card:hover .lab-card__visual img, .lab-card:focus-visible .lab-card__visual img { transform: scale(1.04); }
.lab-card__body { display: flex; flex-direction: column; gap: 10px; padding: 22px 24px 26px; }
.lab-card__meta {
  display: flex; flex-wrap: wrap; gap: 4px 14px;
  font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-label);
  text-transform: uppercase; color: var(--sillage-gold-text);
}
.lab-card__title {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(19px, 2vw, 24px); line-height: 1.2; letter-spacing: var(--track-display);
  color: var(--sillage-ink);
}
.lab-card__reveal { display: flex; flex-direction: column; gap: 12px; }
.lab-card__question { font-size: 14.5px; line-height: 1.55; color: var(--sillage-text); }
.lab-card__cta { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: var(--sillage-ink); }
.lab-card__arrow { color: var(--sillage-gold); transition: transform 200ms ease; }
.lab-card:hover .lab-card__arrow, .lab-card:focus-visible .lab-card__arrow,
.lab-feature:hover .lab-card__arrow { transform: translateX(4px); }

/* Survol desktop : le résumé et l'invitation apparaissent sur le visuel.
   Sur mobile / tactile, ils restent visibles sous le titre. */
@media (hover: hover) and (min-width: 768px) {
  .lab-card__reveal {
    position: absolute; top: 0; left: 0; right: 0;
    aspect-ratio: 16 / 9;
    justify-content: flex-end;
    padding: 22px 24px;
    background: linear-gradient(to top, rgba(18, 39, 33, .94) 0%, rgba(18, 39, 33, .72) 55%, rgba(18, 39, 33, .15) 100%);
    opacity: 0; transition: opacity 260ms ease; pointer-events: none;
  }
  .lab-card:hover .lab-card__reveal, .lab-card:focus-visible .lab-card__reveal { opacity: 1; }
  .lab-card__reveal .lab-card__question { color: var(--sillage-on-ink); font-size: 15px; }
  .lab-card__reveal .lab-card__cta { color: var(--sillage-on-ink); }
}
@media (prefers-reduced-motion: reduce) {
  .lab-card, .lab-card__visual img, .lab-card__reveal, .lab-card__arrow { transition: none; }
  .lab-card:hover, .lab-card:focus-visible { transform: none; }
  .lab-card:hover .lab-card__visual img { transform: none; }
}

/* ---------- Section d'accueil ---------- */
.lab-teaser { background: var(--sillage-paper-alt); border-top: 1px solid var(--sillage-rule); border-bottom: 1px solid var(--sillage-rule); }
.lab-teaser__inner {
  max-width: var(--site-max); margin: 0 auto;
  padding: clamp(56px, 10vw, 104px) var(--site-gutter);
  display: flex; flex-direction: column; gap: 40px;
}
.lab-teaser__head { display: flex; flex-direction: column; gap: 16px; max-width: 860px; }
.lab-teaser__title { font-size: clamp(28px, 5vw, 52px); line-height: var(--leading-title); letter-spacing: var(--track-display); }
.lab-teaser__title .signature { font-size: 1.1em; }
.lab-teaser__lede { max-width: 640px; }
.lab-teaser__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.lab-teaser .lab-card { background: var(--sillage-paper); }

/* ---------- Renvoi depuis "Pourquoi Humirai ?" ---------- */
.lab-bridge {
  margin-top: clamp(40px, 6vw, 64px); padding-top: 32px;
  border-top: 1px solid var(--sillage-rule);
  display: flex; flex-direction: column; align-items: flex-start; gap: 18px; max-width: 680px;
}
.lab-bridge__text {
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(18px, 2.2vw, 22px); line-height: 1.45; letter-spacing: var(--track-display); color: var(--sillage-ink);
}

/* ---------- Page Le Lab ---------- */
.lab-hero {
  max-width: var(--site-max); margin: 0 auto;
  padding: clamp(56px, 10vw, 112px) var(--site-gutter) clamp(32px, 5vw, 48px);
}
.lab-hero__inner { display: flex; flex-direction: column; gap: 22px; max-width: 920px; }
.lab-hero__title { font-size: clamp(34px, 6vw, 68px); line-height: var(--leading-display); letter-spacing: var(--track-display-tight); }
.lab-hero__title .signature { font-size: 1.1em; }
.lab-hero__lede { font-size: 20px; max-width: 560px; }
.lab-hero__note {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--track-label);
  text-transform: uppercase; color: var(--sillage-text-muted);
}

.lab-feature-wrap__inner {
  max-width: var(--site-max); margin: 0 auto;
  padding: 0 var(--site-gutter) clamp(48px, 7vw, 72px);
  display: flex; flex-direction: column; gap: 16px;
}
.lab-section-label { margin: 0; }
.lab-feature {
  display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  background: var(--sillage-ink); border-radius: var(--radius-panel); overflow: hidden;
  box-shadow: var(--shadow-panel);
  transition: transform 260ms ease, box-shadow 260ms ease;
}
.lab-feature:hover { transform: translateY(-3px); box-shadow: var(--shadow-float); }
.lab-feature:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 3px; }
.lab-feature__body { display: flex; flex-direction: column; justify-content: center; gap: 18px; padding: clamp(28px, 4vw, 56px); }
.lab-feature .lab-card__meta { color: var(--sillage-on-ink-faint); }
.lab-feature__title {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(26px, 3.4vw, 44px); line-height: 1.1; letter-spacing: var(--track-display-tight); color: var(--sillage-on-ink);
}
.lab-feature__question { font-size: 17px; line-height: 1.55; color: var(--sillage-on-ink-soft); }
.lab-feature .lab-card__cta { color: var(--sillage-on-ink); }
.lab-feature__visual { display: block; overflow: hidden; }
.lab-feature__visual img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 16 / 9; transition: transform 700ms ease; }
.lab-feature:hover .lab-feature__visual img { transform: scale(1.03); }
@media (max-width: 899px) {
  .lab-feature { grid-template-columns: 1fr; }
  .lab-feature__visual { order: -1; }
}

.lab-library__inner { max-width: var(--site-max); margin: 0 auto; padding: 0 var(--site-gutter) clamp(56px, 9vw, 96px); }
.lab-library__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; margin-bottom: 12px; }
.lab-library__title { font-size: clamp(24px, 3.4vw, 36px); letter-spacing: var(--track-display); }
.lab-library__count { min-height: 20px; margin-bottom: 20px; font-size: 13px; color: var(--sillage-text-muted); }
.lab-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.lab-filter {
  min-height: 44px; padding: 10px 18px;
  font-family: var(--font-body); font-size: 14px; font-weight: 600; color: var(--sillage-text);
  background: transparent; border: 1px solid var(--sillage-rule); border-radius: var(--radius-pill); cursor: pointer;
  transition: background 150ms ease, color 150ms ease, border-color 150ms ease;
}
.lab-filter:hover { border-color: var(--sillage-ink); color: var(--sillage-ink); }
.lab-filter:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.lab-filter.is-active { background: var(--sillage-ink); border-color: var(--sillage-ink); color: var(--sillage-paper); }
.lab-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; }
.lab-grid .lab-card { grid-column: span 2; }
.lab-grid .lab-card--wide { grid-column: span 3; }
.lab-empty { padding: 32px 0; color: var(--sillage-text-muted); }
@media (max-width: 1023px) {
  .lab-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lab-grid .lab-card, .lab-grid .lab-card--wide { grid-column: span 1; }
}
@media (max-width: 767px) {
  .lab-grid { grid-template-columns: 1fr; }
  .lab-filters { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(-1 * var(--site-gutter)); padding: 0 var(--site-gutter) 4px; scrollbar-width: none; }
  .lab-filters::-webkit-scrollbar { display: none; }
  .lab-filter { flex-shrink: 0; }
}


/* ---------- Page Décryptage ---------- */
.lab-article__hero { background: var(--sillage-ink); padding: clamp(32px, 5vw, 56px) var(--site-gutter) clamp(110px, 14vw, 180px); }
.lab-article__hero-inner { max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: 22px; }
.lab-back { align-self: flex-start; font-size: 14px; font-weight: 600; color: var(--sillage-on-ink-soft); }
.lab-back:hover { color: var(--sillage-gold); }
.lab-article__meta {
  display: flex; flex-wrap: wrap; gap: 6px 16px;
  font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--sillage-on-ink-faint);
}
.lab-article__meta .eyebrow { font-size: 11px; letter-spacing: var(--track-label); color: var(--sillage-gold-on-ink); }
.lab-article__title {
  font-size: clamp(32px, 5vw, 58px); line-height: 1.08; letter-spacing: var(--track-display-tight); color: var(--sillage-on-ink);
}
.lab-article__question {
  font-family: var(--font-signature); font-style: italic; font-weight: 400;
  font-size: clamp(22px, 2.6vw, 30px); line-height: 1.3; color: var(--sillage-on-ink-soft); max-width: 720px;
}
.lab-article__visual {
  max-width: calc(900px + 2 * var(--site-gutter)); margin: calc(-1 * clamp(80px, 11vw, 140px)) auto 0;
  padding: 0 var(--site-gutter); position: relative;
}
.lab-article__visual img {
  width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover;
  border-radius: var(--radius-panel); box-shadow: var(--shadow-float);
}
.lab-article__body {
  max-width: calc(740px + 2 * var(--site-gutter)); margin: 0 auto;
  padding: clamp(48px, 7vw, 80px) var(--site-gutter) clamp(40px, 6vw, 64px);
  display: flex; flex-direction: column; gap: clamp(36px, 5vw, 56px);
}
.lab-section { display: flex; flex-direction: column; gap: 14px; }
.lab-section__head { display: flex; align-items: baseline; gap: 14px; }
.lab-section__num { font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--track-label); color: var(--sillage-gold-text); }
.lab-section h2 { font-size: clamp(20px, 2.4vw, 24px); letter-spacing: var(--track-display); }
.lab-section p { font-size: 17px; line-height: 1.75; color: var(--sillage-text); }
.lab-section .lab-lead {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(22px, 3vw, 28px); line-height: 1.3; letter-spacing: var(--track-display); color: var(--sillage-ink);
}
.lab-actions { display: flex; flex-direction: column; gap: 22px; }
.lab-actions__item { display: grid; grid-template-columns: 36px 1fr; gap: 16px; align-items: start; }
.lab-actions__num {
  width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--sillage-ink);
  border: 1px solid var(--sillage-gold); border-radius: var(--radius-pill);
}
.lab-actions__item strong { display: block; font-family: var(--font-display); font-size: 17px; line-height: 1.35; color: var(--sillage-ink); margin-bottom: 4px; }
.lab-actions__item p { font-size: 17px; line-height: 1.7; }
.lab-response {
  background: var(--sillage-cream); border-radius: var(--radius-card-lg); padding: 24px 28px;
  display: flex; flex-direction: column; gap: 14px;
}
.lab-response p { color: var(--sillage-on-cream); font-size: 17px; line-height: 1.7; }

/* Réactions */
.lab-reaction { margin: 0; padding: 32px 0 0; border: 0; border-top: 1px solid var(--sillage-rule); min-width: 0; }
.lab-reaction__legend { float: left; width: 100%; padding: 0; margin-bottom: 18px; font-family: var(--font-display); font-weight: 700; font-size: 20px; letter-spacing: var(--track-display); color: var(--sillage-ink); }
.lab-reaction__options { clear: both; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.lab-reaction__option {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 18px 10px; text-align: center; cursor: pointer;
  background: var(--sillage-paper); border: 1px solid var(--sillage-rule); border-radius: var(--radius-card-lg);
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}
.lab-reaction__option:hover { border-color: var(--sillage-ink); }
.lab-reaction__option input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.lab-reaction__icon { color: var(--sillage-text-muted); transition: color 160ms ease, transform 160ms ease; }
.lab-reaction__label { font-size: 14px; font-weight: 600; color: var(--sillage-text); }
.lab-reaction__option:has(input:checked) { background: var(--sillage-cream); border-color: var(--sillage-gold); }
.lab-reaction__option:has(input:checked) .lab-reaction__icon { color: var(--sillage-gold); transform: scale(1.12); }
.lab-reaction__option:has(input:checked) .lab-reaction__label { color: var(--sillage-ink); }
.lab-reaction__option:has(input:focus-visible) { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.lab-reaction__status { min-height: 22px; margin-top: 14px; font-size: 14px; color: var(--sillage-text); }

/* Décryptage suivant */
.lab-next { max-width: var(--site-max); margin: 0 auto; padding: 0 var(--site-gutter) clamp(56px, 9vw, 96px); display: flex; flex-direction: column; gap: 18px; }
.lab-next__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.lab-next .lab-card { max-width: 560px; }
@media (max-width: 767px) {
  .lab-reaction__options { gap: 8px; }
  .lab-reaction__option { padding: 16px 6px; }
  .lab-reaction__label { font-size: 13px; }
}

/* ---------- Gabarit de lecture : recommandations illustrées et encart QUALIA + NORI ---------- */
.lab-actions__icon {
  width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
  color: var(--sillage-gold); border: 1px solid var(--sillage-gold); border-radius: var(--radius-pill);
}
.lab-actions__label {
  display: block; margin-bottom: 4px;
  font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--sillage-gold-text);
}
.lab-actions__item:has(.lab-actions__icon) { grid-template-columns: 44px 1fr; }
.lab-actions__item:has(.lab-actions__icon) strong { font-size: 18px; }

.lab-response--duo { gap: 18px; padding: clamp(20px, 3vw, 28px); }
.lab-response--duo .lab-duo__intro { font-family: var(--font-display); font-weight: 700; font-size: 18px; line-height: 1.35; color: var(--sillage-ink); }
.lab-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.lab-duo__item { display: flex; flex-direction: column; gap: 8px; padding: 20px; background: var(--sillage-paper); border-radius: var(--radius-card); }
.lab-duo__tag { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--sillage-gold-text); }
.lab-duo__name { font-family: var(--font-display); font-weight: 800; font-size: 24px; letter-spacing: -.02em; color: var(--sillage-ink); }
.lab-response--duo .lab-duo__item p { font-size: 15px; line-height: 1.6; color: var(--sillage-text); }
.lab-duo__item .text-link { margin-top: auto; padding-top: 4px; }
.lab-response--duo .lab-duo__note { font-size: 13px; line-height: 1.5; color: var(--sillage-on-cream-muted); }
@media (max-width: 767px) {
  .lab-section p, .lab-actions__item p { font-size: 16px; line-height: 1.7; }
  .lab-response p { font-size: 16px; }
  .lab-duo { grid-template-columns: 1fr; }
  .lab-actions__item:has(.lab-actions__icon) { grid-template-columns: 40px 1fr; gap: 14px; }
  .lab-actions__icon { width: 40px; height: 40px; }
}

/* =========================================================
   Découvrez QUALIA en action — carte (Solutions) + découverte plein écran
   Intégration Sillage ; écrans de l'agent en Mosaïque.
   ========================================================= */

/* ----- Carte de présentation (page Solutions) ----- */
.qd-preview { gap: 20px; }
.qd-preview__banner {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 16px; border-radius: var(--radius-pill);
  background: var(--sillage-ink); color: var(--sillage-cream);
  font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase;
}
.qd-preview__banner::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--sillage-gold); }
.qd-preview__title { font-size: clamp(26px, 3.2vw, 36px); line-height: 1.1; letter-spacing: var(--track-display); color: var(--app-ink); }
.qd-preview__hook { font-size: 17px; line-height: 1.5; color: var(--app-text); }
.qd-preview__visual {
  display: flex; align-items: center; gap: 22px; flex-wrap: wrap;
  padding: 22px 24px; border-radius: var(--radius-card-lg);
  background: var(--app-surface); border: 1px solid var(--app-rule);
}
.qd-preview__score { display: flex; align-items: baseline; font-family: var(--font-display); font-weight: 800; font-size: clamp(56px, 7vw, 76px); line-height: .9; letter-spacing: -.04em; color: var(--app-ink); }
.qd-preview__score small { font-size: .38em; font-weight: 700; color: var(--app-text-muted); letter-spacing: 0; margin-left: 4px; }
.qd-preview__label { display: flex; flex-direction: column; gap: 6px; }
.qd-preview__label strong { font-family: var(--font-display); font-size: 17px; color: var(--app-ink); }
.qd-preview__label em { font-family: var(--font-signature); font-style: italic; font-size: 21px; line-height: 1.2; color: var(--sillage-gold-text); }
.qd-preview__promise { font-size: 15px; line-height: 1.6; color: var(--app-text); }
.qd-preview__foot { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: auto; }
.qd-cta-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 60px; padding: 18px 34px; border: 0; border-radius: var(--radius-pill); cursor: pointer;
  font-family: var(--font-body); font-size: 17px; font-weight: 700; letter-spacing: -.01em;
  background: var(--sillage-ink); color: #FFFFFF;
  box-shadow: 0 14px 30px rgba(31, 61, 51, .28);
  transition: transform 150ms ease, box-shadow 150ms ease, background 150ms ease;
}
.qd-cta-btn:hover { background: var(--sillage-ink-deep); transform: translateY(-2px); box-shadow: 0 18px 34px rgba(31, 61, 51, .34); }
.qd-cta-btn:focus-visible { outline: 3px solid var(--sillage-gold); outline-offset: 3px; }
.qd-preview__note { font-size: 12.5px; line-height: 1.5; color: var(--app-text-muted); }
@media (max-width: 767px) {
  .qd-cta-btn { width: 100%; padding: 16px 14px; font-size: 16px; gap: 8px; white-space: nowrap; }
  .qd-preview__banner { font-size: 10px; letter-spacing: .1em; padding: 8px 14px; }
}

/* ----- Découverte plein écran ----- */
.qd-overlay { position: fixed; inset: 0; z-index: 50; display: none; background: var(--app-bg); }
.qd-overlay.is-open { display: block; }
.qd-shell { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; grid-template-columns: minmax(0, 1fr); width: 100%; height: 100%; }
.qd-head { display: flex; align-items: center; gap: 16px; padding: 14px var(--site-gutter); background: var(--sillage-paper); border-bottom: 1px solid var(--sillage-rule); }
.qd-brand { display: flex; align-items: baseline; gap: 14px; margin-right: auto; min-width: 0; flex-wrap: wrap; }
.qd-brand__mark { font-family: var(--font-display); font-weight: 800; font-size: 22px; letter-spacing: -.02em; color: var(--sillage-ink); }
.qd-brand__title { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--app-teal); }
.qd-badge {
  flex-shrink: 0; font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase;
  color: var(--sillage-gold); border: 1px solid var(--sillage-gold); border-radius: var(--radius-pill); padding: 5px 12px;
}

/* Progression permanente */
.qd-steps { background: var(--sillage-paper); border-bottom: 1px solid var(--sillage-rule); padding: 12px var(--site-gutter); }
.qd-steps ol { display: flex; align-items: center; justify-content: center; gap: 0; max-width: 760px; margin: 0 auto; }
.qd-steps li { display: flex; align-items: center; flex: 1; }
.qd-steps li:not(:last-child)::after { content: ""; flex: 1; height: 1px; background: var(--sillage-rule); margin: 0 10px; min-width: 14px; }
.qd-steps button {
  display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px 8px 8px; border-radius: var(--radius-pill);
  background: transparent; border: 1px solid transparent; cursor: pointer;
  font-family: var(--font-body); font-size: 14px; font-weight: 600; color: var(--sillage-text-muted);
}
.qd-steps__num {
  width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%;
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .05em; border: 1px solid var(--sillage-rule); background: var(--sillage-paper); color: var(--sillage-text-muted);
}
.qd-steps button:disabled { cursor: default; opacity: .6; }
.qd-steps button.is-done { color: var(--sillage-ink); }
.qd-steps button.is-done .qd-steps__num { background: var(--app-teal); border-color: var(--app-teal); color: #fff; }
.qd-steps button.is-active { background: var(--sillage-ink); color: var(--sillage-cream); border-color: var(--sillage-ink); box-shadow: 0 6px 16px rgba(31, 61, 51, .22); }
.qd-steps button.is-active .qd-steps__num { background: var(--sillage-gold); border-color: var(--sillage-gold); color: var(--sillage-ink-deep); }
.qd-steps button:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }

/* Zone principale unique */
.qd-stage { min-height: 0; overflow-y: auto; padding: clamp(24px, 4vw, 48px) var(--site-gutter) clamp(32px, 5vw, 56px); }
.qd-wrap { max-width: 920px; margin: 0 auto; display: flex; flex-direction: column; gap: 28px; }
.qd-kicker { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--app-teal); }
.qd-h2 { font-size: clamp(26px, 3.6vw, 40px); line-height: 1.12; letter-spacing: var(--track-display); color: var(--sillage-ink); }
.qd-h2:focus, .qd-sheet h3:focus { outline: none; }
.qd-sub { font-size: 17px; line-height: 1.6; color: var(--app-text); max-width: 680px; }
.qd-kicker + .qd-h2 { margin-top: -14px; }
.qd-h2 + .qd-sub { margin-top: -14px; }
.qd-note { font-size: 12.5px; line-height: 1.55; color: var(--app-text-muted); }
.qd-note--lock { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: var(--app-surface); border: 1px dashed var(--app-rule); border-radius: 10px; color: var(--app-text); }
.qd-card { background: #FFFFFF; border: 1px solid var(--app-rule); border-radius: var(--radius-panel); padding: clamp(18px, 3vw, 26px); box-shadow: var(--shadow-panel); }
.qd-section { display: flex; flex-direction: column; gap: 22px; }
.qd-appear { animation: qdFade 420ms ease both; }
@keyframes qdFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes qdReveal { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
.qd-metric--reveal { animation: qdReveal 520ms 180ms ease both; }
@media (prefers-reduced-motion: reduce) { .qd-appear, .qd-metric--reveal, .qd-block { animation: none; } }

/* Étape 1 */
.qd-fiche__label { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--app-teal); margin-bottom: 6px; }
.qd-fiche h3 { font-size: clamp(18px, 2.2vw, 22px); line-height: 1.25; letter-spacing: var(--track-display); color: var(--app-ink); }
.qd-fiche__facts { display: flex; flex-wrap: wrap; gap: 8px 10px; margin-top: 14px; }
.qd-fiche__facts li { font-size: 13px; font-weight: 600; color: var(--app-ink); background: var(--app-bg); border: 1px solid var(--app-rule); border-radius: var(--radius-pill); padding: 5px 13px; }
.qd-fiche__facts small { font-weight: 400; color: var(--app-text-muted); margin-left: 4px; }
.qd-docs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.qd-doc-card {
  display: flex; flex-direction: column; align-items: flex-start; gap: 8px; text-align: left; padding: 20px;
  background: #FFFFFF; border: 1px solid var(--app-rule); border-radius: var(--radius-panel); cursor: pointer;
  font-family: var(--font-body); color: var(--app-text); transition: border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}
.qd-doc-card:hover { border-color: var(--app-teal); transform: translateY(-2px); box-shadow: var(--shadow-panel); }
.qd-doc-card:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.qd-doc-card strong { font-family: var(--font-display); font-size: 17px; color: var(--app-ink); }
.qd-doc-card__icon { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--app-bg); color: var(--app-teal); }
.qd-doc-card__desc { font-size: 13.5px; line-height: 1.55; }
.qd-doc-card__status { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 6px; font-size: 12.5px; font-weight: 600; color: var(--app-teal); }
.qd-doc-card.is-pending .qd-doc-card__status { color: var(--app-text-muted); }

/* Encarts bénéfice métier */
.qd-value { background: var(--sillage-ink); color: var(--sillage-on-ink); border-radius: var(--radius-panel); padding: clamp(22px, 3.4vw, 34px); display: flex; flex-direction: column; gap: 14px; }
.qd-value__tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--sillage-gold-text); }
.qd-value h3 { font-size: clamp(21px, 2.8vw, 28px); line-height: 1.18; letter-spacing: var(--track-display); color: var(--sillage-on-ink); }
.qd-value > p { font-size: 15.5px; line-height: 1.65; color: var(--sillage-on-ink-soft); }
.qd-value__feature { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--sillage-gold); border-radius: 14px; background: rgba(197, 138, 46, .1); }
.qd-value__feature > span { width: 42px; height: 42px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--sillage-gold); color: var(--sillage-ink-deep); }
.qd-value__feature strong { display: block; font-family: var(--font-display); font-size: 16px; color: var(--sillage-on-ink); }
.qd-value__feature small { display: block; font-size: 13px; line-height: 1.5; color: var(--sillage-on-ink-soft); margin-top: 2px; }
.qd-value__list { display: grid; gap: 8px; padding-top: 2px; }
.qd-value__list li { display: flex; align-items: flex-start; gap: 10px; font-size: 14.5px; line-height: 1.5; color: var(--sillage-on-ink); }
.qd-value__list svg { flex-shrink: 0; margin-top: 3px; color: var(--sillage-gold); }

/* Étape 2 */
.qd-score { display: flex; align-items: center; gap: clamp(16px, 3vw, 30px); flex-wrap: wrap; }
.qd-score__value { display: flex; align-items: baseline; font-family: var(--font-display); font-weight: 800; font-size: clamp(60px, 9vw, 92px); line-height: .9; letter-spacing: -.04em; color: var(--app-ink); }
.qd-score__value small { font-size: .36em; font-weight: 700; color: var(--app-text-muted); letter-spacing: 0; margin-left: 4px; }
.qd-score__label { font-family: var(--font-display); font-weight: 700; font-size: 19px; color: var(--app-ink); margin-bottom: 4px; }
.qd-score p { font-size: 15.5px; line-height: 1.6; color: var(--app-text); max-width: 420px; }
.qd-lead { font-family: var(--font-display); font-weight: 700; font-size: clamp(20px, 2.6vw, 26px); line-height: 1.25; letter-spacing: var(--track-display); color: var(--sillage-ink); }
.qd-lead--turn { font-family: var(--font-signature); font-style: italic; font-weight: 400; font-size: clamp(26px, 3.4vw, 34px); color: var(--sillage-gold-text); letter-spacing: 0; }
.qd-signals { display: grid; gap: 14px; }
.qd-signal { margin: 0; padding: 18px 20px; background: #FFFFFF; border: 1px solid var(--app-rule); border-left: 3px solid var(--sillage-gold); border-radius: 0 var(--radius-card-lg) var(--radius-card-lg) 0; display: flex; flex-direction: column; gap: 10px; }
.qd-signal blockquote { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--app-ink); font-style: italic; }
.qd-signal figcaption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; font-size: 12.5px; color: var(--app-text-muted); }
.qd-compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.qd-metric { display: flex; flex-direction: column; gap: 10px; background: #FFFFFF; border: 1px solid var(--app-rule); border-radius: var(--radius-panel); padding: 22px; }
.qd-metric__label { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--app-teal); }
.qd-metric__value { display: flex; align-items: baseline; font-family: var(--font-display); font-weight: 800; font-size: clamp(40px, 6vw, 56px); line-height: 1; letter-spacing: -.03em; color: var(--app-ink); }
.qd-metric__value small { font-size: .38em; font-weight: 700; color: var(--app-text-muted); letter-spacing: 0; margin-left: 4px; }
.qd-metric__bar { height: 8px; border-radius: var(--radius-pill); background: var(--app-rule-soft); overflow: hidden; }
.qd-metric__bar span { display: block; height: 100%; background: var(--app-teal); border-radius: var(--radius-pill); }
.qd-metric--cold { border-color: var(--state-watch-rule); background: #FFFDF8; }
.qd-metric--cold .qd-metric__label { color: var(--state-watch); }
.qd-metric__bar--cold span { background: var(--state-watch); }
.qd-reading { background: #FFFFFF; border: 1px solid var(--app-rule); border-radius: var(--radius-panel); padding: clamp(18px, 3vw, 26px); display: flex; flex-direction: column; gap: 16px; }
.qd-reading h3 { font-size: 19px; letter-spacing: var(--track-display); color: var(--app-ink); }
.qd-reading__row { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 14px; align-items: start; }
.qd-reading__row p { font-size: 15px; line-height: 1.6; color: var(--app-ink); }
.qd-tag { align-self: start; text-align: center; font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--app-teal); background: var(--app-bg); border: 1px solid var(--app-rule); border-radius: var(--radius-pill); padding: 5px 10px; }
.qd-tag--hyp { color: var(--state-watch); background: var(--state-watch-bg); border-color: var(--state-watch-rule); }
.qd-questions { display: flex; flex-direction: column; gap: 14px; }
.qd-questions h3 { font-size: 19px; letter-spacing: var(--track-display); color: var(--sillage-ink); }
.qd-qchips { display: flex; flex-wrap: wrap; gap: 10px; }
.qd-chip {
  font-family: var(--font-body); font-size: 14px; line-height: 1.35; text-align: left; color: var(--app-ink);
  background: #FFFFFF; border: 1px solid var(--app-rule); border-radius: 16px; padding: 11px 16px; cursor: pointer;
  transition: border-color 150ms ease, background 150ms ease;
}
.qd-chip:hover { border-color: var(--app-teal); }
.qd-chip.is-active { background: var(--sillage-ink); color: var(--sillage-cream); border-color: var(--sillage-ink); }
.qd-chip:focus-visible, .qd-source:focus-visible, .qd-link-btn:focus-visible, .qd-row:focus-visible, .qd-prev:focus-visible, .qd-next:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.qd-answer-area:empty { display: none; }
.qd-answer { background: #FFFFFF; border: 1px solid var(--app-rule); border-radius: var(--radius-panel); padding: clamp(18px, 3vw, 26px); display: flex; flex-direction: column; gap: 12px; animation: qdFade 360ms ease both; }
.qd-answer__q { font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; color: var(--app-teal); }
.qd-answer__headline { font-family: var(--font-display); font-weight: 700; font-size: 18px; line-height: 1.35; letter-spacing: var(--track-display); color: var(--app-ink); }
.qd-answer__points { display: flex; flex-direction: column; gap: 8px; padding-left: 18px; list-style: disc; font-size: 15px; line-height: 1.6; color: var(--app-text); }
.qd-link-btn { align-self: flex-start; padding: 6px 0; background: none; border: 0; border-bottom: 1px solid var(--sillage-gold); cursor: pointer; font-family: var(--font-body); font-size: 14px; font-weight: 600; color: var(--sillage-ink); }
.qd-deep { display: flex; flex-direction: column; gap: 6px; padding-top: 8px; border-top: 1px solid var(--app-rule-soft); }
.qd-block { display: flex; flex-direction: column; gap: 6px; padding: 10px 0 10px 14px; border-left: 3px solid var(--app-teal); animation: qdFade 320ms ease both; }
.qd-block--hypothese { border-left-color: var(--sillage-gold); }
.qd-block--recommandation { border-left-color: var(--app-ink); }
.qd-block--limite { border-left: 3px dashed var(--app-text-faint); }
.qd-block__tag { align-self: flex-start; font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--app-teal); }
.qd-block--hypothese .qd-block__tag { color: var(--state-watch); }
.qd-block--recommandation .qd-block__tag { color: var(--app-ink); }
.qd-block--limite .qd-block__tag { color: var(--app-text-muted); }
.qd-block p { font-size: 14.5px; line-height: 1.6; color: var(--app-ink); }
.qd-block ul { margin: 2px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 1.55; color: var(--app-ink); list-style: disc; }
.qd-sources { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 2px; }
.qd-sources > span { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--app-text-muted); margin-right: 2px; }
.qd-source { font-family: var(--font-body); font-size: 12px; font-weight: 600; color: var(--app-teal); background: var(--app-bg); border: 1px solid var(--app-rule); border-radius: var(--radius-pill); padding: 4px 11px; cursor: pointer; }
.qd-source:hover { border-color: var(--app-teal); }

/* Étape 3 */
.qd-actions { display: flex; flex-direction: column; gap: 16px; }
.qd-action { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; background: #FFFFFF; border: 1px solid var(--app-rule); border-radius: var(--radius-panel); padding: clamp(18px, 3vw, 24px); }
.qd-action__prio { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--sillage-ink); color: var(--sillage-cream); font-family: var(--font-display); font-weight: 800; font-size: 18px; }
.qd-action:first-child .qd-action__prio { background: var(--sillage-gold); color: var(--sillage-ink-deep); }
.qd-action > div { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.qd-action__label { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--app-teal); }
.qd-action h3 { font-size: 20px; letter-spacing: var(--track-display); color: var(--app-ink); }
.qd-action p { font-size: 15px; line-height: 1.6; color: var(--app-text); }
.qd-action__why { padding: 10px 12px; background: var(--app-bg); border-radius: 10px; font-size: 14px; }
.qd-action__why b { color: var(--app-ink); }
.qd-message { display: flex; flex-direction: column; gap: 18px; background: var(--sillage-cream); border-color: var(--sillage-on-cream-rule); box-shadow: none; }
.qd-message__top { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; }
.qd-message__top > div { flex: 1 1 280px; display: flex; flex-direction: column; gap: 4px; }
.qd-message h3 { font-size: 20px; letter-spacing: var(--track-display); color: var(--sillage-ink); }
.qd-message p { font-size: 14.5px; line-height: 1.55; color: var(--sillage-on-cream); }
.qd-msgbox { background: #FFFFFF; border: 1px solid var(--app-rule); border-radius: var(--radius-card-lg); padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; animation: qdFade 360ms ease both; }
.qd-msgbox__origin { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--app-teal); }
.qd-msgbox__text { margin: 0; white-space: pre-wrap; font-family: var(--font-body); font-size: 14.5px; line-height: 1.65; color: var(--app-ink); }
.qd-msgbox__actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.qd-msgbox__ok, .qd-msgerr { font-size: 13px; color: var(--state-success); }
.qd-msgerr { color: var(--state-alert); }
.qd-loading { font-style: italic; color: var(--app-text-muted); }

/* Synthèse finale */
.qd-final { display: flex; flex-direction: column; gap: 26px; }
.qd-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.qd-benefit { display: flex; flex-direction: column; gap: 10px; background: #FFFFFF; border: 1px solid var(--app-rule); border-radius: var(--radius-panel); padding: 24px; }
.qd-benefit > span { width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; background: var(--sillage-ink); color: var(--sillage-gold); }
.qd-benefit h3 { font-size: 19px; line-height: 1.25; letter-spacing: var(--track-display); color: var(--app-ink); }
.qd-benefit p { font-size: 14.5px; line-height: 1.6; color: var(--app-text); }
.qd-concl { background: var(--sillage-ink); border-radius: var(--radius-panel); padding: clamp(24px, 4vw, 40px); display: flex; flex-direction: column; gap: 14px; }
.qd-concl__lead { font-family: var(--font-display); font-weight: 700; font-size: clamp(20px, 2.6vw, 26px); line-height: 1.25; letter-spacing: var(--track-display); color: var(--sillage-on-ink); }
.qd-concl p { font-size: 15.5px; line-height: 1.65; color: var(--sillage-on-ink-soft); max-width: 640px; }
.qd-concl__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; padding-top: 8px; }
.qd-concl .btn--ink { background: var(--sillage-cream); color: var(--sillage-ink); }
.qd-concl .qd-link-btn { color: var(--sillage-on-ink); border-bottom-color: var(--sillage-gold); }

/* Documents et listes */
.qd-rows { display: flex; flex-direction: column; gap: 10px; }
.qd-row { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 16px; align-items: center; text-align: left; padding: 14px 18px; background: #FFFFFF; border: 1px solid var(--app-rule); border-radius: var(--radius-card-lg); cursor: pointer; font-family: var(--font-body); }
.qd-row strong { grid-column: 1; font-size: 15px; color: var(--app-ink); }
.qd-row span { grid-column: 1; font-size: 13px; color: var(--app-text-muted); }
.qd-row em { grid-column: 2; grid-row: 1 / span 2; display: inline-flex; align-items: center; gap: 6px; font-style: normal; font-size: 13px; font-weight: 600; color: var(--app-teal); }
.qd-row:not(.is-locked):hover { border-color: var(--app-teal); }
.qd-row.is-locked { cursor: default; opacity: .75; border-style: dashed; }
.qd-row.is-locked em { color: var(--app-text-muted); }
.qd-sheet { background: #FFFFFF; border: 1px solid var(--app-rule); border-radius: var(--radius-panel); padding: clamp(20px, 3vw, 30px); box-shadow: var(--shadow-panel); display: flex; flex-direction: column; gap: 12px; font-size: 14.5px; line-height: 1.6; color: var(--app-text); }
.qd-sheet__brand { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--app-teal); }
.qd-sheet__fiction { font-family: var(--font-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--state-watch); background: var(--state-watch-bg); border-radius: 6px; padding: 7px 12px; }
.qd-sheet h3 { font-size: 20px; line-height: 1.25; letter-spacing: var(--track-display); color: var(--app-ink); }
.qd-sheet h4 { font-size: 14px; font-weight: 700; margin-top: 8px; color: var(--app-ink); }
.qd-sheet h5 { font-family: var(--font-mono); font-size: 10px; font-weight: 400; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--app-text-muted); margin-top: 6px; }
.qd-sheet__role { font-size: 14px; color: var(--app-text); }
.qd-sheet__meta { font-size: 13px; color: var(--app-text-muted); }
.qd-sheet__facts { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; }
.qd-sheet__facts dt { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--app-text-muted); }
.qd-sheet__facts dd { margin: 0; color: var(--app-ink); font-weight: 600; }
.qd-sheet__obj summary { cursor: pointer; font-size: 13.5px; font-weight: 600; color: var(--app-teal); }
.qd-sheet__obj ol { margin: 8px 0 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; }
.qd-sheet__table { width: 100%; border-collapse: collapse; }
.qd-sheet__table th, .qd-sheet__table td { padding: 9px 0; border-bottom: 1px solid var(--app-rule-soft); text-align: left; font-weight: 400; }
.qd-sheet__table th { color: var(--app-ink); padding-right: 12px; }
.qd-sheet__table td:last-child { text-align: right; }
.qd-sheet__score { font-family: var(--font-mono); width: 28px; color: var(--app-ink); font-weight: 600; }
.qd-dots { display: inline-flex; gap: 4px; }
.qd-dots i { width: 10px; height: 10px; border-radius: 50%; background: var(--app-rule); }
.qd-dots i.is-on { background: var(--app-teal); }
.qd-sheet blockquote { margin: 0; padding: 12px 14px; background: var(--app-bg); border-left: 3px solid var(--app-teal); border-radius: 0 8px 8px 0; color: var(--app-ink); font-style: italic; }
.qd-sheet__warn { font-size: 12.5px; line-height: 1.5; color: var(--app-text-muted); }

/* Barre de navigation basse */
.qd-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px var(--site-gutter); background: var(--sillage-paper); border-top: 1px solid var(--sillage-rule); }
.qd-foot.is-empty { display: none; }
.qd-foot__fiction { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--sillage-text-muted); }
.qd-foot.is-single { justify-content: flex-end; }
.qd-foot.is-single .qd-foot__fiction { margin-right: auto; }
.qd-prev { padding: 10px 4px; background: none; border: 0; cursor: pointer; font-family: var(--font-body); font-size: 15px; font-weight: 600; color: var(--sillage-ink); }
.qd-prev[hidden], .qd-next[hidden] { display: none; }
.qd-next { white-space: normal; text-align: center; }

@media (max-width: 599px) {
  .qd-compare, .qd-sheet__facts { grid-template-columns: 1fr; }
}
@media (max-width: 719px) {
  .qd-docs, .qd-benefits { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .qd-head { padding: 12px 16px; gap: 10px; }
  .qd-brand { gap: 2px 10px; }
  .qd-brand__title { display: none; }
  .qd-steps { padding: 10px 16px; }
  .qd-steps button { padding: 6px 12px 6px 6px; gap: 8px; font-size: 13px; }
  .qd-steps li:not(:last-child)::after { margin: 0 6px; min-width: 8px; }
  .qd-stage { padding: 20px 16px 28px; }
  .qd-wrap { gap: 22px; }
  .qd-reading__row { grid-template-columns: 1fr; gap: 8px; }
  .qd-foot { padding: 12px 16px; flex-wrap: wrap; }
  .qd-foot__fiction { display: none; }
  .qd-foot .qd-next { flex: 1 1 100%; order: -1; }
  .qd-foot .qd-prev { margin: 0 auto; }
  .qd-action { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; }
  .qd-action__prio { width: 36px; height: 36px; font-size: 16px; }
  .qd-concl__ctas .btn { width: 100%; }
}


/* ---------- Lab : accueil, citation, encart réponse avec titre, duo prioritaire ---------- */
.lab-teaser__head { max-width: 1100px; }
.lab-teaser__title { font-size: clamp(28px, 4.4vw, 50px); line-height: 1.12; }
.lab-teaser__title-accent { color: var(--sillage-gold); }
.lab-teaser__lede { max-width: 760px; }

.lab-pull {
  margin: 6px 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--sillage-gold);
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(20px, 2.6vw, 24px); line-height: 1.35; letter-spacing: var(--track-display); color: var(--sillage-ink);
}
.lab-response__title { font-size: clamp(19px, 2.2vw, 22px); line-height: 1.3; letter-spacing: var(--track-display); color: var(--sillage-ink); }

.lab-duo--priority { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
.lab-duo__item--primary { background: var(--sillage-ink); }
.lab-duo__item--primary .lab-duo__tag { color: var(--sillage-gold-on-ink); }
.lab-duo__item--primary .lab-duo__name { color: var(--sillage-on-ink); font-size: 30px; }
.lab-response--duo .lab-duo__item--primary p { color: var(--sillage-on-ink-soft); font-size: 16px; }
.lab-duo__item--primary .text-link, .lab-duo__item--primary .text-link:hover { color: var(--sillage-on-ink); }
.lab-duo__domains-label { margin-top: 4px; font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--sillage-on-ink-faint); }
.lab-duo__domains { display: flex; flex-wrap: wrap; gap: 8px; }
.lab-duo__domains i {
  font-style: normal; font-size: 12.5px; font-weight: 600; color: var(--sillage-on-ink);
  border: 1px solid var(--sillage-on-ink-rule); border-radius: var(--radius-pill); padding: 4px 12px;
}
@media (max-width: 767px) {
  .lab-duo--priority { grid-template-columns: 1fr; }
  .lab-duo__item--primary .lab-duo__name { font-size: 26px; }
}

@media (max-width: 420px) {
  .qd-steps { padding-left: 12px; padding-right: 12px; }
  .qd-steps button { padding: 4px 10px 4px 4px; gap: 6px; font-size: 12.5px; }
  .qd-steps__num { width: 26px; height: 26px; font-size: 10px; }
  .qd-steps li:not(:last-child)::after { margin: 0 4px; min-width: 6px; }
}

/* =========================================================
   Homepage — refonte (hero vidéo, posture, agents, écosystème, confiance)
   ========================================================= */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h, 70px) + 14px); }       /* les cibles d'ancres restent visibles sous le header collant (hauteur mesurée par js/main.js) */
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
section[id], .agent-block { scroll-margin-top: 0; }

/* ----- Hero ----- */
.hero__sub { font-size: 19px; line-height: 1.55; font-weight: 500; color: var(--sillage-ink); max-width: 520px; }
.hero__more { font-size: 15.5px; line-height: 1.65; color: var(--sillage-text); max-width: 500px; }
.hero__visual { display: flex; justify-content: center; align-items: center; }

/* ----- 2 — Défis ----- */
.learning--solo { padding-top: clamp(56px, 9vw, 104px); }
.learning__intro { font-size: 17px; line-height: 1.65; max-width: 660px; }

/* ----- 3 — Aujourd'hui / Avec Humirai ----- */
.shift__inner { max-width: var(--site-max); margin: 0 auto; padding: clamp(56px, 10vw, 112px) var(--site-gutter); display: flex; flex-direction: column; gap: 36px; }
.shift__head { display: flex; flex-direction: column; gap: 18px; max-width: 880px; }
.shift__title { font-size: clamp(28px, 4.6vw, 52px); line-height: 1.1; letter-spacing: var(--track-display); }
.shift__sub { font-size: 17px; max-width: 640px; }
.shift__cols, .shift__row { display: grid; grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr); }
.shift__cols { margin-bottom: -18px; font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase; }
.shift__cols span:first-child { color: var(--sillage-text-muted); padding-left: 4px; }
.shift__cols span:last-child { color: var(--sillage-gold-on-ink); padding-left: 4px; }
.shift__rows { display: flex; flex-direction: column; gap: 28px; }
.shift__row { align-items: stretch; row-gap: 10px; }
.shift__dim { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--sillage-ink); }
.shift__dim span { color: var(--sillage-gold); }
.shift__cell { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px; border-radius: var(--radius-card-lg); }
.shift__cell h3 { font-size: 19px; line-height: 1.25; letter-spacing: var(--track-display); }
.shift__cell p { font-size: 15px; line-height: 1.6; }
.shift__cell-label { display: none; font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; }
.shift__cell--before { border: 1px dashed var(--sillage-on-cream-rule); }
.shift__cell--before h3 { color: var(--sillage-text); }
.shift__cell--before p { color: var(--sillage-text-muted); }
.shift__cell--before .shift__cell-label { color: var(--sillage-text-muted); }
.shift__cell--after { background: var(--sillage-ink); box-shadow: var(--shadow-panel); }
.shift__cell--after h3 { color: var(--sillage-on-ink); }
.shift__cell--after p { color: var(--sillage-on-ink-soft); }
.shift__cell--after .shift__cell-label { color: var(--sillage-gold-on-ink); }
.shift__arrow { display: flex; align-items: center; justify-content: center; color: var(--sillage-gold); font-size: 22px; }
.shift__agent { margin-top: auto; padding-top: 6px; font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--sillage-on-ink-faint); }
.shift__sign { text-align: center; padding-top: clamp(24px, 4vw, 48px); display: flex; flex-direction: column; align-items: center; gap: 24px; }
.shift__sign-title { font-family: var(--font-display); font-weight: 800; font-size: clamp(36px, 6.4vw, 76px); line-height: 1.02; letter-spacing: -.035em; color: var(--sillage-ink); }
.shift__sign-title .signature { font-size: 1.12em; color: var(--sillage-gold); letter-spacing: 0; }
.shift__benefits { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.shift__benefits li { font-size: 14px; font-weight: 600; color: var(--sillage-ink); background: var(--sillage-paper); border: 1px solid var(--sillage-rule); border-radius: var(--radius-pill); padding: 8px 16px; }
@media (max-width: 767px) {
  .shift__cols { display: none; }
  .shift__row { grid-template-columns: minmax(0, 1fr); row-gap: 8px; }
  .shift__arrow { transform: rotate(90deg); padding: 2px 0; }
  .shift__cell { padding: 20px; }
  .shift__cell-label { display: block; }
}

/* ----- 4 — Agents ----- */
.agents__intro { max-width: 620px; font-size: 17px; }
.agents-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 767px) { .agents-grid { grid-template-columns: minmax(0, 1fr); } }

/* ----- 5 — Écosystème ----- */
.ecosystem__hub-logo { background: var(--sillage-paper); border-radius: 12px; padding: 10px 20px; display: flex; justify-content: center; }
.ecosystem__hub-logo img { height: 34px; width: auto; }
@keyframes ecoFocus { 0%, 4% { opacity: .62; } 10%, 30% { opacity: 1; } 38%, 100% { opacity: .62; } }
@keyframes ecoArrow { 0%, 3% { color: var(--sillage-text-muted); transform: none; } 9%, 14% { color: var(--sillage-gold); transform: translateX(4px); } 22%, 100% { color: var(--sillage-text-muted); transform: none; } }
@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
  .eco-seq .eco-step { animation: ecoFocus 9s ease-in-out infinite; }
  .eco-seq .eco-step--2 { animation-delay: 3s; }
  .eco-seq .eco-step--3 { animation-delay: 6s; }
  .eco-seq .eco-arrow { animation: ecoArrow 9s ease-in-out infinite; }
  .eco-seq .eco-arrow--1 { animation-delay: 1.5s; }
  .eco-seq .eco-arrow--2 { animation-delay: 4.5s; }
}

/* ----- 6 — Confiance et conversion ----- */
.trust__inner { max-width: var(--site-max); margin: 0 auto; padding: clamp(56px, 10vw, 104px) var(--site-gutter) clamp(32px, 5vw, 48px); display: flex; flex-direction: column; gap: 36px; }
.trust__head { display: flex; flex-direction: column; gap: 18px; }
.trust__title { font-size: clamp(28px, 4.4vw, 48px); line-height: 1.12; letter-spacing: var(--track-display); max-width: 1000px; }
.trust__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.trust__item { border-top: 2px solid var(--sillage-ink); padding-top: 18px; display: flex; flex-direction: column; gap: 8px; }
.trust__item h3 { font-size: 20px; letter-spacing: var(--track-display); }
.trust__item p { font-size: 15px; line-height: 1.6; color: var(--sillage-text); }
.reassurance__inner.trust__proofs { max-width: none; margin: 0; padding: 24px 0 0; border-top: 1px solid var(--sillage-rule); }
.conviction__lede { max-width: 640px; text-align: center; }
@media (max-width: 1023px) { .trust__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .trust__grid { grid-template-columns: minmax(0, 1fr); } }

.hero__title { font-size: clamp(34px, 4.7vw, 66px); }
@media (min-width: 900px) { .hero { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); } }

/* ---------- Solutions / Pourquoi Humirai ? — version resserrée ---------- */
/* Solutions : blocs agents plus compacts, textes secondaires plus lisibles */
.agent-block__inner { align-items: center; gap: clamp(32px, 5vw, 56px); }
.agent-block__copy { gap: 20px; }
.agent-block__problem { font-size: 17px; line-height: 1.5; color: var(--sillage-text); max-width: 480px; }
.agent-block__actions { gap: 12px; max-width: 480px; }
.agent-block__actions li { font-size: 16px; color: var(--sillage-ink); }
.agent-block__benefit { max-width: 480px; font-size: 18px; }
.agent-block__integration { font-size: 14px; line-height: 1.55; color: var(--sillage-text); max-width: 480px; }
.app-demo__fiction { margin: 4px 0 0; font-family: var(--font-mono); font-size: 11px; letter-spacing: .04em; color: var(--app-text-muted); }

/* Pourquoi Humirai ? */
.why-story { padding-bottom: clamp(48px, 7vw, 80px); }
.why-story .why-hero__inner { max-width: 720px; }
.why-story__text { display: flex; flex-direction: column; gap: 14px; max-width: 600px; }
.why-story__text p { margin: 0; font-size: 18px; line-height: 1.6; color: var(--sillage-text); }
.why-story__domains {
  list-style: none; margin: clamp(36px, 6vw, 56px) 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;
}
.why-story__domain {
  border-top: 1px solid var(--sillage-rule); padding-top: 16px;
  font-family: var(--font-display); font-weight: 700; font-size: 17px; line-height: 1.35; color: var(--sillage-ink);
  display: flex; flex-direction: column; gap: 8px;
}
.why-story__num { font-family: var(--font-mono); font-weight: 400; font-size: 12px; color: var(--sillage-gold-text); }
.convictions__grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.convictions__grid--three .conviction-card { min-height: 180px; }
@media (max-width: 899px) {
  .why-story__domains, .convictions__grid--three { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
.approach__inner {
  max-width: var(--site-max); margin: 0 auto;
  padding: clamp(72px, 11vw, 136px) var(--site-gutter) clamp(64px, 9vw, 112px);
  display: flex; flex-direction: column; gap: clamp(56px, 8vw, 96px);
}
.approach__body { display: flex; flex-direction: column; gap: 22px; max-width: 760px; }
.approach__title { font-size: clamp(30px, 5vw, 54px); line-height: var(--leading-title); letter-spacing: var(--track-display); }
.approach__text { display: flex; flex-direction: column; gap: 12px; max-width: 600px; }
.approach__text p { margin: 0; font-size: 18px; line-height: 1.6; color: var(--sillage-on-ink-soft); }
.approach__cta {
  border-top: 1px solid var(--sillage-on-ink-rule); padding-top: clamp(40px, 6vw, 64px);
  display: flex; flex-direction: column; align-items: flex-start; gap: 20px;
}
.approach__cta-title { font-size: clamp(24px, 3.6vw, 38px); line-height: 1.2; letter-spacing: var(--track-display); }
.approach__cta-lede { max-width: 520px; }
.page-hero__title--long { font-size: clamp(32px, 5vw, 64px); }
.page-hero__title--long .signature { display: block; }
.why-story .why-hero__inner { margin: 0; padding: 0; max-width: 720px; }
.convictions > .wrap { padding-left: 0; padding-right: 0; }

/* ---------- Fenêtres applicatives illustratives (DOJO, NORI, DIDALIA) ---------- */
.agent-block__dojos { margin: 0; font-size: 15px; color: var(--sillage-text); }
.agent-block__dojos strong { color: var(--sillage-ink); font-weight: 700; }
.agent-block__status {
  display: inline-block; margin-left: 2px; padding: 2px 8px; border-radius: 999px; vertical-align: 1px;
  font-family: var(--font-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--state-watch); background: var(--state-watch-bg); border: 1px solid var(--state-watch-rule);
}
.aw-wrap { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.aw-caption { margin: 0; font-size: 14px; line-height: 1.5; color: var(--sillage-text); font-style: italic; max-width: 520px; }
.aw {
  background: var(--app-surface); border: 1px solid var(--app-rule); border-radius: 14px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(18, 39, 33, .06), 0 18px 40px -18px rgba(18, 39, 33, .22);
  color: var(--app-text); font-size: 14px; line-height: 1.45;
}
.aw__bar { display: flex; align-items: center; gap: 12px; padding: 11px 16px; background: var(--app-surface-alt); border-bottom: 1px solid var(--app-rule); }
.aw__dots { display: inline-flex; gap: 6px; flex: none; }
.aw__dots i { width: 9px; height: 9px; border-radius: 50%; background: #D5DBD8; }
.aw__title { font-family: var(--font-display); font-weight: 800; font-size: 14px; letter-spacing: -.01em; color: var(--app-ink); }
.aw__tag { margin-left: auto; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .06em; color: var(--app-text-muted); text-align: right; }
.aw__body { padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.aw__label { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--app-text-muted); }
.aw__label--gold { color: var(--sillage-gold-text); }
.aw__label-row { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 12px; color: var(--app-text-muted); }
.aw__track { height: 8px; border-radius: 99px; background: var(--app-rule); overflow: hidden; }
.aw__track span { display: block; height: 100%; background: var(--app-teal); border-radius: 99px; }
.aw__fiction { margin: 0; padding: 9px 16px; border-top: 1px solid var(--app-rule-soft); font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .04em; color: var(--app-text-muted); }
.aw ul { list-style: none; margin: 0; padding: 0; }

/* DOJO */
.dj-top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 14px; }
.dj-belts, .dj-skill, .dj-count { background: var(--app-bg); border: 1px solid var(--app-rule-soft); border-radius: 10px; padding: 14px; }
.dj-belts ul { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.dj-belts li { display: flex; align-items: center; gap: 10px; padding: 5px 6px; border-radius: 8px; }
.dj-belts li.is-current { background: var(--state-watch-bg); }
.dj-belts strong { display: block; font-size: 13px; color: var(--app-ink); line-height: 1.2; }
.dj-belts em { display: block; font-style: normal; font-size: 11.5px; color: var(--app-text-muted); }
.dj-belts .is-done em { color: var(--state-success); }
.dj-belts .is-current em { color: var(--state-watch); }
.dj-dot { flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700; border: 2px solid var(--app-rule); color: #fff; }
.is-done .dj-dot { background: var(--state-success); border-color: var(--state-success); }
.is-current .dj-dot { border-color: var(--sillage-gold); background: radial-gradient(circle, var(--sillage-gold) 0 35%, transparent 38%); }
.dj-stats { display: flex; flex-direction: column; gap: 14px; }
.dj-skill { display: flex; flex-direction: column; gap: 6px; }
.dj-skill__value { font-family: var(--font-display); font-weight: 800; font-size: 30px; line-height: 1; color: var(--app-ink); letter-spacing: -.02em; }
.dj-count { font-size: 13px; color: var(--app-ink); display: flex; gap: 10px; align-items: center; flex: 1; }
.dj-count strong { font-family: var(--font-display); font-size: 24px; font-weight: 800; }
.dj-scenario { border: 1px solid var(--app-rule); border-radius: 10px; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.dj-q { margin: 0; font-size: 15px; font-weight: 600; color: var(--app-ink); line-height: 1.4; }
.dj-options { display: flex; flex-direction: column; gap: 8px; }
.dj-options li { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 9px 12px; border: 1px solid var(--app-rule); border-radius: 8px; font-size: 13.5px; color: var(--app-ink); }
.dj-radio { flex: none; width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid #B9C3BF; }
.dj-options .is-selected { border-color: var(--state-success-rule); background: var(--state-success-bg); }
.dj-options .is-selected .dj-radio { border-color: var(--state-success); background: radial-gradient(circle, var(--state-success) 0 45%, transparent 50%); }
.dj-ok { margin-left: auto; font-family: var(--font-mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--state-success); }
.dj-feedback { padding: 12px 14px; border-left: 3px solid var(--app-teal); background: var(--app-bg); border-radius: 0 8px 8px 0; font-size: 13px; line-height: 1.5; color: var(--app-text); }
.dj-feedback strong { color: var(--app-ink); }

/* NORI */
.nr-chat { background: var(--app-bg); gap: 14px; }
.nr-user { align-self: flex-end; max-width: 85%; padding: 10px 14px; border-radius: 14px 14px 4px 14px; background: var(--sillage-ink); color: var(--sillage-on-ink); font-size: 14px; font-weight: 500; }
.nr-agent { display: flex; gap: 10px; align-items: flex-start; }
.nr-avatar { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--app-ink); color: #fff; display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: 13px; }
.nr-agent__col { display: flex; flex-direction: column; gap: 10px; min-width: 0; flex: 1; }
.nr-msg, .nr-action { background: var(--app-surface); border: 1px solid var(--app-rule); border-radius: 4px 14px 14px 14px; padding: 14px 16px; }
.nr-msg__title { font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--app-ink); }
.nr-msg__scope { font-size: 12px; color: var(--app-text-muted); margin-bottom: 8px; }
.nr-rows { display: flex; flex-direction: column; gap: 10px; }
.nr-rows li { display: grid; grid-template-columns: minmax(0, 1fr) auto 44px; column-gap: 12px; row-gap: 5px; align-items: baseline; }
.nr-rows__name { font-weight: 600; color: var(--app-ink); font-size: 13.5px; }
.nr-rows__count { font-size: 12px; color: var(--app-text-muted); white-space: nowrap; }
.nr-rows__pct { font-family: var(--font-display); font-weight: 800; color: var(--app-ink); text-align: right; font-size: 14px; }
.nr-rows__bar { grid-column: 1 / -1; height: 6px; border-radius: 99px; background: var(--app-rule); overflow: hidden; }
.nr-rows__bar i { display: block; height: 100%; background: var(--app-teal); border-radius: 99px; }
.nr-rows .is-low .nr-rows__bar i { background: var(--sillage-gold); }
.nr-rows .is-low .nr-rows__pct { color: #8F5C10; }
.nr-msg__sum { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid var(--app-rule-soft); font-size: 13.5px; line-height: 1.5; color: var(--app-ink); }
.nr-action { border-radius: 14px; border-color: var(--state-watch-rule); background: #FFFCF5; display: flex; flex-direction: column; gap: 8px; }
.nr-action__text { margin: 0; font-size: 14px; font-weight: 600; color: var(--app-ink); }
.nr-action__btns { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; margin-top: 2px; }
.nr-btn { font: inherit; font-weight: 700; font-size: 13.5px; padding: 9px 16px; border-radius: 999px; border: 0; cursor: pointer; background: var(--sillage-ink); color: var(--sillage-on-ink); }
.nr-btn:hover { background: var(--sillage-ink-deep); }
.nr-btn:disabled { cursor: default; opacity: .75; }
.nr-link { font: inherit; font-size: 13px; padding: 4px 0; border: 0; background: none; cursor: pointer; color: var(--app-text); text-decoration: underline; text-underline-offset: 3px; }
.nr-link:hover { color: var(--app-ink); }
.nr-btn:focus-visible, .nr-link:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.nr-action__hint { font-size: 12px; color: var(--app-text-muted); }
.nr-sim { margin-top: 4px; padding: 10px 12px; border-radius: 8px; background: var(--app-bg); border: 1px dashed #B9C3BF; font-size: 12.5px; line-height: 1.5; color: var(--app-text); }
.nr-sim strong { display: inline-block; margin-right: 6px; padding: 1px 7px; border-radius: 99px; background: var(--state-watch-bg); color: var(--state-watch); font-family: var(--font-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; font-weight: 500; }
.nr-sim[hidden] { display: none; }

/* DIDALIA */
.dd-doc { font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--app-ink); }
.dd-score { display: flex; flex-direction: column; gap: 8px; padding: 16px; border: 1px solid var(--app-rule); border-radius: 10px; background: var(--app-bg); }
.dd-score__now { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.dd-score__num { font-family: var(--font-display); font-weight: 800; font-size: 44px; line-height: 1; letter-spacing: -.03em; color: var(--app-ink); }
.dd-score__max { font-size: 15px; color: var(--app-text-muted); }
.dd-level { margin-left: 4px; padding: 3px 10px; border-radius: 99px; font-size: 12px; font-weight: 700; color: var(--state-watch); background: var(--state-watch-bg); border: 1px solid var(--state-watch-rule); }
.dd-track { position: relative; height: 10px; border-radius: 99px; background: var(--app-rule); overflow: hidden; margin-top: 4px; }
.dd-track__now { position: absolute; inset: 0 auto 0 0; background: var(--app-teal); border-radius: 99px; }
.dd-track__gain { position: absolute; top: 0; bottom: 0; background: repeating-linear-gradient(135deg, var(--sillage-gold) 0 4px, #E3B867 4px 8px); }
.dd-score__target { display: flex; flex-direction: column; gap: 2px; font-size: 14px; color: var(--app-ink); }
.dd-score__target em { font-style: normal; font-size: 12px; color: var(--app-text-muted); }
.dd-issue { display: flex; flex-direction: column; gap: 4px; padding: 0 2px; }
.dd-issue strong { font-family: var(--font-display); font-size: 17px; color: var(--app-ink); }
.dd-issue p, .dd-reco p { margin: 0; font-size: 13.5px; line-height: 1.5; }
.dd-reco { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border: 1px solid var(--state-watch-rule); border-radius: 10px; background: #FFFCF5; }
.dd-reco p { color: var(--app-ink); font-weight: 600; font-size: 14px; }
.dd-impact { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; }
.dd-chip { padding: 4px 10px; border-radius: 99px; background: var(--state-success-bg); border: 1px solid var(--state-success-rule); color: var(--state-success); font-weight: 700; font-size: 12.5px; }
.dd-impact small { font-size: 11.5px; color: var(--app-text-muted); }

@media (max-width: 599px) {
  .aw__body { padding: 14px; }
  .aw__tag { display: none; }
  .dj-top { grid-template-columns: minmax(0, 1fr); }
  .dj-ok { margin-left: 24px; }
  .nr-user { max-width: 100%; }
  .nr-avatar { display: none; }
  .nr-rows li { grid-template-columns: minmax(0, 1fr) auto 40px; }
  .dd-score__num { font-size: 38px; }
}

/* ---------- QUALIA en 2 min — dashboard, agent conversationnel, conclusion ---------- */
.qd-app { background: var(--app-surface); border: 1px solid var(--app-rule); border-radius: 14px; overflow: hidden; box-shadow: 0 1px 2px rgba(18, 39, 33, .06), 0 18px 40px -22px rgba(18, 39, 33, .25); }
.qd-app ul, .qd-app ol { list-style: none; margin: 0; padding: 0; }

/* Séquence 1 — dashboard */
.qd-dash { padding: clamp(16px, 3vw, 26px); display: flex; flex-direction: column; gap: 20px; }
.qd-dash__formation h3 { margin: 4px 0 2px; font-size: clamp(17px, 2.2vw, 21px); line-height: 1.25; letter-spacing: var(--track-display); color: var(--app-ink); }
.qd-dash__formation p { margin: 0; font-size: 13px; color: var(--app-text-muted); }
.qd-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.qd-kpi { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; border-radius: 12px; border: 1px solid var(--state-success-rule); background: #F8FBF8; }
.qd-kpi--watch { border-color: var(--state-watch-rule); background: #FFFCF5; }
.qd-kpi__label { font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--app-ink); }
.qd-kpi__sub { font-size: 12px; color: var(--app-text-muted); }
.qd-kpi__value { margin-top: 6px; font-family: var(--font-display); font-weight: 800; font-size: clamp(44px, 6vw, 60px); line-height: 1; letter-spacing: -.03em; color: var(--app-ink); }
.qd-kpi__value small { font-size: .36em; font-weight: 700; color: var(--app-text-muted); letter-spacing: 0; margin-left: 2px; }
.qd-kpi__bar { height: 8px; border-radius: 99px; background: var(--app-rule); overflow: hidden; margin: 4px 0 6px; }
.qd-kpi__bar span { display: block; height: 100%; border-radius: 99px; background: var(--state-success); }
.qd-kpi--watch .qd-kpi__bar span { background: var(--state-watch); }
.qd-kpi p { margin: 0; display: flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 1.45; color: var(--app-ink); }
.qd-kpi__dot { flex: none; width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: var(--state-success); }
.qd-kpi--watch .qd-kpi__dot { background: var(--state-watch); }
.qd-insights h3 { margin: 0 0 10px; font-size: 17px; letter-spacing: var(--track-display); color: var(--app-ink); }
.qd-insights ul { display: flex; flex-direction: column; gap: 10px; }
.qd-insights li { display: flex; align-items: center; gap: 12px; font-size: 15px; line-height: 1.45; color: var(--app-ink); }
.qd-insights__icon { flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--app-bg); color: var(--app-teal); display: grid; place-items: center; }
.qd-signalbox { background: var(--sillage-ink); border-radius: 12px; padding: 20px 22px; display: flex; flex-direction: column; gap: 8px; }
.qd-signalbox__label { display: flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--sillage-gold-text); }
.qd-signalbox p { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: clamp(18px, 2.4vw, 23px); line-height: 1.35; letter-spacing: var(--track-display); color: var(--sillage-on-ink); }
.qd-dash__src { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }

/* Séquence 2 — agent conversationnel */
.qd-chat { overflow: clip; display: flex; flex-direction: column; }
.qd-ctx { padding: 10px 18px; font-size: 12px; color: var(--app-text-muted); border-bottom: 1px solid var(--app-rule-soft); }
.qd-thread { background: var(--app-bg); padding: 18px; display: flex; flex-direction: column; gap: 14px; min-height: 180px; }
.qd-msg { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.qd-msg--user { justify-content: flex-end; }
.qd-msg--user .qd-msg__body { max-width: 85%; padding: 10px 14px; border-radius: 14px 14px 4px 14px; background: var(--sillage-ink); color: var(--sillage-on-ink); font-size: 14.5px; font-weight: 500; line-height: 1.45; }
.qd-msg__who { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--app-ink); color: #fff; display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: 13px; }
.qd-msg--agent .qd-msg__body { flex: 0 1 640px; min-width: 0; display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; background: #fff; border: 1px solid var(--app-rule); border-radius: 4px 14px 14px 14px; font-size: 14.5px; line-height: 1.55; color: var(--app-ink); }
.qd-msg__body p { margin: 0; }
.qd-msg__body .qd-note { color: var(--app-text-muted); }
.qd-strong { font-weight: 700; }
.qd-in { animation: qdIn 320ms ease both; }
@keyframes qdIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.qd-typing .qd-msg__body { flex: none; padding: 13px 16px; }
.qd-dotsanim { display: inline-flex; gap: 5px; }
.qd-dotsanim i { width: 7px; height: 7px; border-radius: 50%; background: #B9C3BF; animation: qdDot 1s ease-in-out infinite; }
.qd-dotsanim i:nth-child(2) { animation-delay: .15s; }
.qd-dotsanim i:nth-child(3) { animation-delay: .3s; }
@keyframes qdDot { 0%, 80%, 100% { opacity: .35; transform: none; } 40% { opacity: 1; transform: translateY(-3px); } }
.qd-mini-row { display: flex; flex-wrap: wrap; gap: 10px; }
.qd-mini { flex: 1 1 150px; display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--state-success-rule); background: #F8FBF8; }
.qd-mini--watch { border-color: var(--state-watch-rule); background: #FFFCF5; }
.qd-mini span { font-size: 12px; color: var(--app-text-muted); }
.qd-mini strong { font-family: var(--font-display); font-weight: 800; font-size: 26px; line-height: 1.1; color: var(--app-ink); }
.qd-mini small { font-size: .5em; font-weight: 700; color: var(--app-text-muted); margin-left: 2px; }
.qd-skills, .qd-recos { display: flex; flex-direction: column; gap: 8px; counter-reset: qdn; }
.qd-skills li, .qd-recos li { counter-increment: qdn; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: start; gap: 10px; padding: 10px 12px; border: 1px solid var(--app-rule-soft); border-radius: 10px; background: var(--app-bg); }
.qd-recos li { grid-template-columns: 24px minmax(0, 1fr); }
.qd-skills li::before, .qd-recos li::before { content: counter(qdn); width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--sillage-ink); color: var(--sillage-on-ink); font-size: 12px; font-weight: 700; }
.qd-skills__score { white-space: nowrap; padding: 3px 9px; border-radius: 99px; background: var(--state-watch-bg); color: var(--state-watch); font-family: var(--font-mono); font-size: 11px; }
.qd-proposal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 12px 14px; border: 1px solid var(--state-watch-rule); background: #FFFCF5; border-radius: 12px; }
.qd-proposal .aw__label { flex: 1 1 100%; }
.qd-proposal strong { flex: 1 1 auto; font-family: var(--font-display); font-size: 15px; }
.qd-srcs summary { cursor: pointer; list-style: none; font-size: 12px; color: var(--app-text-muted); }
.qd-srcs summary::-webkit-details-marker { display: none; }
.qd-srcs summary::after { content: " ▾"; }
.qd-srcs[open] summary::after { content: " ▴"; }
.qd-srcs summary:hover { color: var(--app-ink); }
.qd-srcs summary:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.qd-srcs[open] summary { margin-bottom: 8px; }
.qd-draft { margin: 0; white-space: pre-wrap; font-family: var(--font-body); font-size: 13.5px; line-height: 1.6; background: var(--app-bg); border: 1px solid var(--app-rule); border-radius: 10px; padding: 14px; color: var(--app-ink); }
.qd-draft:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.qd-draft__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.qd-draft__ok { font-size: 13px; color: var(--state-success); }
.qd-composer { position: sticky; bottom: 0; z-index: 2; background: #fff; border-top: 1px solid var(--app-rule); padding: 12px 18px; display: flex; flex-direction: column; gap: 8px; }
.qd-composer__label { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--app-text-muted); }
.qd-composer .qd-note { margin: 0; }
.qd-chip:disabled { cursor: default; }
.qd-chip.is-done { background: var(--app-bg); color: var(--app-text-muted); border-color: var(--app-rule); }

/* Séquence 3 — conclusion */
.qd-wrap--end { padding-top: clamp(0px, 5vh, 48px); }
.qd-end { background: var(--sillage-ink); border-radius: var(--radius-panel); padding: clamp(28px, 6vw, 64px); display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.qd-end .qd-kicker { color: var(--sillage-gold-on-ink); }
.qd-end .qd-h2 { color: var(--sillage-on-ink); margin-top: -8px; max-width: 760px; }
.qd-end__text { margin: 0; max-width: 620px; font-size: clamp(16px, 2vw, 19px); line-height: 1.6; color: var(--sillage-on-ink-soft); }
.qd-end__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 8px; }
.qd-end__link { padding: 4px 0; border-bottom: 1px solid var(--sillage-gold); font-weight: 600; font-size: 15px; color: var(--sillage-on-ink); }
.qd-end__link:hover { color: var(--sillage-gold-on-ink); }

@media (max-width: 599px) {
  .qd-kpis { grid-template-columns: minmax(0, 1fr); }
  .qd-thread { padding: 14px 12px; }
  .qd-composer { padding: 10px 12px; }
  .qd-composer .qd-chip { font-size: 13px; padding: 9px 12px; }
  .qd-msg__who { display: none; }
  .qd-msg--agent .qd-msg__body { padding: 12px 14px; }
  .qd-skills li { grid-template-columns: 24px minmax(0, 1fr); }
  .qd-skills__score { grid-column: 2; justify-self: start; }
  .qd-steps button:not(.is-active) .qd-steps__label { display: none; }
  .qd-end__ctas .btn { width: 100%; }
}
.qd-composer.is-compact { position: static; padding: 10px 18px; }
@media (max-width: 599px) {
  .qd-composer .qd-qchips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -12px; padding: 2px 12px 4px; scrollbar-width: none; }
  .qd-composer .qd-chip { flex: none; white-space: nowrap; }
}

/* ---------- Hero — vignette vidéo et lecteur ---------- */
.hvid { width: 100%; max-width: 580px; display: flex; flex-direction: column; gap: 14px; }
.hvid__card {
  position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; overflow: hidden; cursor: pointer; text-align: left;
  border: 1px solid var(--sillage-rule); border-radius: 20px;
  background: radial-gradient(120% 120% at 15% 0%, #FFFFFF 0%, var(--sillage-paper) 45%, var(--sillage-paper-alt) 100%);
  box-shadow: 0 1px 2px rgba(18, 39, 33, .06), 0 28px 60px -30px rgba(18, 39, 33, .35);
  transition: transform 260ms ease, box-shadow 260ms ease;
}
.hvid__card:hover { transform: translateY(-3px); box-shadow: 0 1px 2px rgba(18, 39, 33, .06), 0 34px 70px -30px rgba(18, 39, 33, .42); }
.hvid__card:focus-visible { outline: 3px solid var(--sillage-gold); outline-offset: 4px; }
.hvid__stage, .hvid__copy { position: absolute; inset: 0; pointer-events: none; }
.hvid__shot { position: absolute; display: block; height: auto; border-radius: 10px; box-shadow: 0 10px 28px -10px rgba(18, 39, 33, .45), 0 0 0 1px rgba(18, 39, 33, .08); }
.hvid__shot--qualia { width: 50%; right: 4%; top: 8%; }
.hvid__shot--nori { width: 47%; right: 6%; bottom: 9%; }
.hvid__shot--dojo { width: 36%; left: 5%; bottom: 12%; }
.hvid__stage::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 50%, rgba(251, 250, 246, .8) 0, rgba(251, 250, 246, 0) 30%); }
.hvid__copy { inset: auto; left: 6%; top: 9%; width: 44%; display: flex; flex-direction: column; gap: 8px; }
.hvid__label { font-family: var(--font-mono); font-size: clamp(8px, 1.3vw, 10.5px); letter-spacing: .16em; color: var(--sillage-gold-on-ink); }
.hvid__title { font-family: var(--font-display); font-weight: 800; font-size: clamp(16px, 2.7vw, 29px); line-height: 1.08; letter-spacing: var(--track-display); color: var(--sillage-ink); }
.hvid__title .signature { font-size: 1.08em; color: var(--sillage-gold-on-ink); letter-spacing: 0; }
.hvid__play {
  position: absolute; left: 50%; top: 50%; width: clamp(48px, 11vw, 68px); height: clamp(48px, 11vw, 68px); margin: calc(clamp(48px, 11vw, 68px) / -2) 0 0 calc(clamp(48px, 11vw, 68px) / -2);
  border-radius: 50%; display: grid; place-items: center; background: var(--sillage-ink); color: var(--sillage-cream);
  box-shadow: 0 0 0 6px rgba(251, 250, 246, .85), 0 12px 30px -6px rgba(18, 39, 33, .55); transition: transform 220ms ease;
}
.hvid__play svg { margin-left: 3px; width: 40%; height: 40%; }
.hvid__card:hover .hvid__play { transform: scale(1.08); }
.hvid__duration {
  position: absolute; right: 12px; bottom: 10px; padding: 3px 9px; border-radius: 999px; background: rgba(18, 39, 33, .88); color: var(--sillage-on-ink);
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .06em;
}
.hvid__caption { margin: 0; text-align: center; font-size: 14px; color: var(--sillage-text); }
@media (prefers-reduced-motion: reduce) { .hvid__card, .hvid__play { transition: none; } .hvid__card:hover, .hvid__card:hover .hvid__play { transform: none; } }

.vmodal { position: fixed; inset: 0; z-index: 60; display: none; align-items: center; justify-content: center; padding: clamp(12px, 3vw, 40px); background: rgba(12, 26, 21, .86); }
.vmodal.is-open { display: flex; }
.vmodal__panel { position: relative; width: min(100%, 1120px); }
.vmodal__close {
  position: absolute; right: 0; top: -46px; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(245, 241, 232, .4);
  background: transparent; color: var(--sillage-on-ink); font-size: 16px; cursor: pointer;
}
.vmodal__close:hover { background: rgba(245, 241, 232, .14); }
.vmodal__close:focus-visible, .vmodal__replay:focus-visible, .vmodal__ghost:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.vmodal__player { position: relative; aspect-ratio: 16 / 9; background: #000; border-radius: 14px; overflow: hidden; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .6); }
.vmodal__player video { display: block; width: 100%; height: 100%; background: #000; }
.vmodal__end {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 24px; text-align: center;
  background: var(--sillage-ink);
}
.vmodal__end[hidden] { display: none; }
.vmodal__end-title { margin: 0; max-width: 640px; font-family: var(--font-display); font-weight: 800; font-size: clamp(20px, 3.4vw, 36px); line-height: 1.18; letter-spacing: var(--track-display); color: var(--sillage-on-ink); }
.vmodal__end-ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.vmodal__ghost { display: inline-flex; align-items: center; justify-content: center; padding: 14px 24px; border-radius: 999px; border: 1px solid rgba(245, 241, 232, .5); color: var(--sillage-on-ink); font-weight: 600; font-size: 15px; }
.vmodal__ghost:hover { border-color: var(--sillage-gold); color: var(--sillage-gold-on-ink); }
.vmodal__replay { padding: 6px 4px; background: none; border: 0; cursor: pointer; font: inherit; font-size: 14px; color: var(--sillage-on-ink-soft); text-decoration: underline; text-underline-offset: 3px; }
.vmodal__replay:hover { color: var(--sillage-on-ink); }
@media (max-width: 599px) {
  .vmodal { padding: 10px; align-items: center; }
  .vmodal__close { top: -44px; }
  .vmodal__end { gap: 12px; padding: 14px; }
  .vmodal__end .btn, .vmodal__ghost { padding: 11px 16px; font-size: 14px; }
  .hvid__duration { font-size: 10px; right: 8px; bottom: 7px; }
}

/* ---------- Cyber Dojo — interface illustrative (page Solutions) ---------- */
.cd {
  --cd-bg: #122721; --cd-panel: #173229; --cd-card: #1D3B31; --cd-line: rgba(245, 241, 232, .14); --cd-ok: #8FD0A8; --cd-heart: #D98378;
  background: var(--cd-bg); color: var(--sillage-on-ink); border-radius: 18px; padding: clamp(18px, 3vw, 30px); display: flex; flex-direction: column; gap: 18px;
  box-shadow: 0 1px 2px rgba(18, 39, 33, .12), 0 30px 60px -28px rgba(18, 39, 33, .55);
}
.cd__head { display: flex; flex-direction: column; gap: 4px; }
.cd__title { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: clamp(22px, 2.6vw, 28px); letter-spacing: var(--track-display); color: var(--sillage-on-ink); }
.cd__sub { margin: 0; font-size: 14px; color: var(--sillage-on-ink-soft); }
.cd__panel { background: var(--cd-panel); border: 1px solid var(--cd-line); border-radius: 14px; padding: clamp(14px, 2.4vw, 22px); display: flex; flex-direction: column; gap: 16px; }
.cd__progress { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13.5px; color: var(--sillage-on-ink-soft); }
.cd__hearts { display: inline-flex; gap: 4px; color: var(--cd-heart); }
.cd__next { white-space: nowrap; padding: 10px 18px; border: 0; border-radius: 999px; background: var(--sillage-cream); color: var(--sillage-ink); font: inherit; font-weight: 700; font-size: 14px; cursor: pointer; }
.cd__fiction { margin: 0; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .04em; color: rgba(245, 241, 232, .55); }
@media (max-width: 599px) {
  .cd__progress { flex-wrap: wrap; }
}

/* ---------- Cyber Dojo — carte d'aperçu (page Solutions) ---------- */
.cd:focus-visible, .cd__next:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.cd__panel--teaser { flex: 1; gap: 14px; justify-content: space-between; }
.cd__belt { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--sillage-on-ink); }
.cd__belt i { width: 22px; height: 8px; border-radius: 99px; background: #F5F1E8; box-shadow: 0 0 0 1px rgba(0, 0, 0, .25); }
.cd__scene { display: grid; place-items: center; padding: 6px 0; }
.cd__mail { position: relative; width: min(100%, 360px); background: #fff; color: #1B2B26; border-radius: 12px; overflow: visible; font-size: 13px; box-shadow: 0 18px 36px -18px rgba(0, 0, 0, .55); transform: rotate(-1.2deg); }
.cd__mail-bar { display: flex; justify-content: space-between; padding: 7px 14px; background: #EEF1EF; border-radius: 12px 12px 0 0; font-size: 11px; color: #55645E; }
.cd__mail-row { display: flex; gap: 10px; align-items: center; padding: 12px 14px 8px; }
.cd__mail-row b { display: block; font-size: 13px; }
.cd__mail-row small { display: block; font-size: 11.5px; color: #55645E; }
.cd__mail-av { flex: none; width: 30px; height: 30px; border-radius: 50%; background: #0F6CBD; color: #fff; display: grid; place-items: center; font-weight: 700; }
.cd__mail-line { height: 7px; margin: 7px 14px; border-radius: 4px; background: #E3E8E5; }
.cd__mail-line--s { width: 55%; }
.cd__mail-btn { display: inline-block; margin: 8px 14px 14px; padding: 8px 16px; border-radius: 5px; background: #0F6CBD; color: #fff; font-weight: 600; font-size: 12.5px; }
.cd__flag { position: absolute; width: 22px; height: 22px; border-radius: 50%; background: var(--sillage-gold); color: var(--sillage-ink-deep); display: grid; place-items: center; font-weight: 800; font-size: 13px; animation: cdFlag 2.4s ease-in-out infinite; }
.cd__flag--1 { right: -9px; top: 42px; }
.cd__flag--2 { right: 16px; bottom: -9px; animation-delay: 1.1s; }
@keyframes cdFlag { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.18); } }
.cd__pitch { text-align: center; display: flex; flex-direction: column; gap: 6px; }
.cd__hook { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: clamp(18px, 2.2vw, 22px); line-height: 1.25; color: var(--sillage-on-ink); }
.cd__ask { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--sillage-on-ink-soft); }
.cd__path { display: flex; gap: 5px; justify-content: center; }
.cd__path i { flex: 1; max-width: 34px; height: 7px; border-radius: 99px; background: var(--cd-ok); opacity: .55; }
.cd__path i.is-now { background: var(--sillage-gold); opacity: 1; }
.cd__cta { align-self: center; padding: 13px 26px; font-size: 15px; }
@media (prefers-reduced-motion: reduce) { .cd__flag { animation: none; } }

/* ---------- QUALIA en 2 min — fenêtre modale, collecte, actions, exploration ---------- */
.qd-overlay { background: rgba(12, 26, 21, .56); align-items: center; justify-content: center; padding: clamp(10px, 4vh, 40px) 7.5vw; }
.qd-overlay.is-open { display: flex; }
.qd-shell { width: min(100%, 1180px); height: min(88vh, 880px); border-radius: 20px; overflow: hidden; background: var(--app-bg); box-shadow: 0 40px 100px -30px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .06); }
.qd-stage { padding: clamp(18px, 2.6vw, 32px) clamp(16px, 3vw, 40px) clamp(24px, 3vw, 36px); }
.qd-wrap { gap: 20px; }
.qd-h2 { font-size: clamp(22px, 2.8vw, 32px); }
.qd-sub { font-size: 15.5px; line-height: 1.55; }
@media (max-width: 767px) {
  .qd-overlay { padding: 8px; }
  .qd-shell { width: 100%; height: 100%; border-radius: 16px; }
}

/* Collecte automatisée */
.qd-collect { background: #fff; border: 1px solid var(--app-rule); border-radius: 14px; padding: 14px 18px; display: flex; flex-direction: column; gap: 8px; }
.qd-collect__top { display: flex; align-items: center; justify-content: space-between; gap: 8px 12px; flex-wrap: wrap; }
.qd-collect__title { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--app-ink); }
.qd-collect__badge { width: 22px; height: 22px; border-radius: 50%; background: var(--state-success); color: #fff; display: grid; place-items: center; }
.qd-collect__ready { display: inline-flex; align-items: center; gap: 6px; padding: 3px 11px; border-radius: 99px; background: var(--state-success-bg); color: var(--state-success); font-size: 12.5px; font-weight: 600; transition: opacity .35s ease; }
.qd-collect__ready.is-pending { opacity: 0; }
.qd-collect__sub { margin: 0; font-size: 13px; line-height: 1.45; color: var(--app-text); }
.qd-collect__ops { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.qd-op { display: flex; align-items: flex-start; gap: 9px; padding: 9px 10px; border: 1px solid var(--app-rule-soft); border-radius: 10px; background: var(--app-bg); transition: opacity .3s ease; }
.qd-op strong { display: block; font-size: 12.5px; line-height: 1.3; color: var(--app-ink); }
.qd-op div > span { display: block; margin-top: 2px; font-size: 11.5px; line-height: 1.35; color: var(--app-text); }
.qd-op__check { flex: none; width: 18px; height: 18px; margin-top: 1px; border-radius: 50%; background: var(--state-success); color: #fff; display: grid; place-items: center; transition: background .25s ease; }
.qd-op__check svg { width: 12px; height: 12px; }
.qd-op.is-pending { opacity: .4; }
.qd-op.is-pending .qd-op__check { background: transparent; box-shadow: inset 0 0 0 1.5px var(--app-rule); color: transparent; }
.qd-collect__note { margin: 0; font-size: 11.5px; color: var(--app-text-muted); }
.qd-dashwrap { transition: opacity .5s ease, transform .5s ease; }
.qd-dashwrap.is-held { opacity: 0; transform: translateY(10px); pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .qd-dashwrap, .qd-op, .qd-op__check { transition: none; } }
@media (max-width: 699px) { .qd-collect__ops { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 419px) { .qd-collect__ops { grid-template-columns: minmax(0, 1fr); } }

/* Actions proposées */
.qd-msg--wide .qd-msg__body { flex: 1 1 100%; max-width: none; }
.qd-act { display: flex; flex-direction: column; gap: 12px; }
.qd-act__title { font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--app-ink); }
.qd-flow { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 11.5px; }
.qd-flow li { position: relative; padding: 4px 11px; border-radius: 99px; border: 1px solid var(--app-rule); background: #fff; color: var(--app-text-muted); }
.qd-flow li + li::before { content: "→"; position: absolute; left: -14px; top: 50%; transform: translateY(-52%); color: var(--app-text-muted); }
.qd-flow li.done { border-color: var(--state-success-rule); background: var(--state-success-bg); color: var(--state-success); font-weight: 600; }
.qd-flow li.current { border-color: var(--sillage-gold); background: #FFF6E4; color: #8A5B12; font-weight: 700; }
.qd-act__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.qd-acard { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; text-align: left; padding: 14px; border: 1px solid var(--app-rule); border-radius: 12px; background: #fff; color: var(--app-ink); font: inherit; cursor: pointer; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.qd-acard:hover:not(:disabled) { border-color: var(--app-teal); transform: translateY(-2px); box-shadow: var(--shadow-panel); }
.qd-acard:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.qd-acard:disabled { cursor: default; }
.qd-acard__icon { width: 34px; height: 34px; border-radius: 9px; background: var(--app-bg); color: var(--app-teal); display: grid; place-items: center; }
.qd-acard strong { font-family: var(--font-display); font-size: 14.5px; line-height: 1.3; }
.qd-acard__text { font-size: 12.5px; line-height: 1.45; color: var(--app-text); }
.qd-acard em { margin-top: auto; padding-top: 4px; font-style: normal; font-size: 11.5px; color: #8A5B12; }
.qd-acard.is-done { background: var(--app-bg); }
.qd-acard.is-done em { color: var(--state-success); }
.qd-plan { display: flex; flex-direction: column; gap: 12px; }
.qd-plan__title { font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--app-ink); }
.qd-plan__tag { margin-left: 6px; padding: 2px 8px; border-radius: 99px; background: var(--state-watch-bg); color: var(--state-watch); font-family: var(--font-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; font-weight: 400; }
.qd-plan__items { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.qd-plan__item { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border: 1px solid var(--app-rule); border-radius: 12px; background: #fff; }
.qd-plan__item header { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--sillage-gold-text); }
.qd-plan__item dl { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.qd-plan__item dt { font-family: var(--font-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--app-text-muted); }
.qd-plan__item dd { margin: 2px 0 0; font-size: 13px; line-height: 1.4; color: var(--app-ink); }
.qd-plan__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.qd-plan__hint { font-size: 12px; color: var(--app-text-muted); }
.qd-sim { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 10px; border: 1px dashed #B9C3BF; background: var(--app-bg); font-size: 13.5px; line-height: 1.5; color: var(--app-ink); }
.qd-sim[hidden] { display: none; }
.qd-sim strong { align-self: flex-start; padding: 1px 8px; border-radius: 99px; background: var(--state-watch-bg); color: var(--state-watch); font-family: var(--font-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; font-weight: 400; }
.qd-sim small { font-size: 12px; color: var(--app-text-muted); }
.qd-app .qd-followup { list-style: disc; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; }
.qd-msg__body .btn:disabled { opacity: .7; cursor: default; }
.qd-msg { scroll-margin-bottom: 110px; }

/* Étape 3 — explorer */
.qd-chain { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.qd-chain li { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; background: #fff; border: 1px solid var(--app-rule); border-radius: 14px; }
.qd-chain li:not(:last-child)::after { content: "→"; position: absolute; right: -17px; top: 50%; width: 16px; transform: translateY(-50%); text-align: center; font-size: 18px; color: var(--sillage-gold); z-index: 2; }
.qd-chain__num { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: var(--track-label); color: var(--sillage-gold-text); }
.qd-chain strong { font-family: var(--font-display); font-weight: 800; font-size: 19px; letter-spacing: .03em; text-transform: uppercase; color: var(--app-ink); }
.qd-chain p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--app-text); }
.qd-bricks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; }
.qd-brick { background: #fff; border: 1px solid var(--app-rule); border-radius: 14px; overflow: hidden; transition: border-color .2s ease; }
.qd-brick.is-open { border-color: var(--app-teal); }
.qd-brick__btn { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "icon title plus" "text text text"; gap: 8px 12px; align-items: center; width: 100%; padding: 14px 16px; text-align: left; background: none; border: 0; font: inherit; cursor: pointer; color: inherit; }
.qd-brick__btn:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: -2px; }
.qd-brick__icon { grid-area: icon; width: 38px; height: 38px; border-radius: 10px; background: var(--app-bg); color: var(--app-teal); display: grid; place-items: center; }
.qd-brick__title { grid-area: title; font-family: var(--font-display); font-weight: 700; font-size: 15px; line-height: 1.25; color: var(--app-ink); }
.qd-brick__plus { grid-area: plus; font-size: 20px; line-height: 1; color: var(--sillage-gold); }
.qd-brick__text { grid-area: text; font-size: 13px; line-height: 1.45; color: var(--app-text); }
.qd-brick__more { margin: 0; padding: 10px 16px 14px; border-top: 1px dashed var(--app-rule); font-size: 13px; line-height: 1.5; color: var(--app-ink); }
.qd-brick__more[hidden] { display: none; }
.qd-cta { background: var(--sillage-ink); border-radius: var(--radius-panel); padding: clamp(22px, 4vw, 34px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px; }
.qd-cta h3 { margin: 0; max-width: 480px; font-family: var(--font-display); font-weight: 800; font-size: clamp(18px, 2.4vw, 24px); line-height: 1.25; letter-spacing: var(--track-display); color: var(--sillage-on-ink); }
.qd-cta__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
.qd-cta .qd-end__link { background: none; border: 0; border-bottom: 1px solid var(--sillage-gold); cursor: pointer; font-family: inherit; }
.qd-cta .qd-end__link:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 3px; }
@media (max-width: 699px) {
  .qd-bricks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qd-chain { gap: 14px; }
  .qd-chain li { padding: 14px; }
  .qd-chain p { font-size: 12.5px; }
}
@media (max-width: 599px) {
  .qd-chain { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .qd-chain li:not(:last-child)::after { content: "↓"; right: auto; left: 50%; top: auto; bottom: -21px; transform: translateX(-50%); }
}
@media (max-width: 559px) {
  .qd-bricks { grid-template-columns: minmax(0, 1fr); }
  .qd-cta__btns .btn { width: 100%; }
  .qd-flow { gap: 6px 16px; }
}
@media (max-width: 999px) { .qd-bricks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px) { .qd-bricks { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Audit Express QUALIA ---------- */
.au-badge, .audit-promo__badge {
  display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 6px 14px; border-radius: 999px; background: var(--sillage-ink); color: var(--sillage-cream);
  font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase;
}
.au-badge::before, .audit-promo__badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--sillage-gold); }

/* Niveaux A–E (échelle propre à Humirai) */
.au-lv { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; font-family: var(--font-display); font-weight: 800; font-size: 18px; color: #fff; background: #9A9589; }
.au-lv--a { background: #1F3D33; } .au-lv--b { background: #2E8C7A; } .au-lv--c { background: #C58A2E; } .au-lv--d { background: #B0561C; } .au-lv--e { background: #A83A22; }
.au-scale { display: inline-flex; align-items: center; gap: 6px; }
.au-scale .au-lv { opacity: .32; width: 34px; height: 34px; font-size: 16px; transition: transform .2s ease; }
.au-scale .au-lv.is-active { opacity: 1; width: 46px; height: 46px; font-size: 22px; box-shadow: 0 0 0 3px #fff, 0 0 0 5px currentColor; color: inherit; }
.au-scale .au-lv--a.is-active { box-shadow: 0 0 0 3px #fff, 0 0 0 5px #1F3D33; } .au-scale .au-lv--b.is-active { box-shadow: 0 0 0 3px #fff, 0 0 0 5px #2E8C7A; }
.au-scale .au-lv--c.is-active { box-shadow: 0 0 0 3px #fff, 0 0 0 5px #C58A2E; } .au-scale .au-lv--d.is-active { box-shadow: 0 0 0 3px #fff, 0 0 0 5px #B0561C; }
.au-scale .au-lv--e.is-active { box-shadow: 0 0 0 3px #fff, 0 0 0 5px #A83A22; }

/* Encart sur la page Solutions */
.audit-promo { background: var(--sillage-paper); border-top: 1px solid var(--sillage-rule); padding: clamp(40px, 6vw, 64px) 0; }
.audit-promo__inner { max-width: var(--site-max); margin: 0 auto; padding: 0 var(--site-gutter); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(24px, 5vw, 56px); align-items: center; }
.audit-promo__copy { display: flex; flex-direction: column; gap: 16px; }
.audit-promo__title { font-size: clamp(24px, 3.2vw, 34px); line-height: 1.15; letter-spacing: var(--track-display); color: var(--sillage-ink); }
.audit-promo__sub { font-size: 16px; line-height: 1.6; color: var(--sillage-text); max-width: 560px; }
.audit-promo__benefits { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.audit-promo__benefits li { position: relative; padding-left: 22px; font-size: 15px; color: var(--sillage-ink); }
.audit-promo__benefits li::before { content: "→"; position: absolute; left: 0; color: var(--sillage-gold); }
.audit-promo__note { margin: 0; font-family: var(--font-mono); font-size: 12px; letter-spacing: .04em; color: var(--sillage-text); }
.audit-promo__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.audit-promo__visual { background: #fff; border: 1px solid var(--sillage-rule); border-radius: 18px; padding: 22px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 18px 40px -28px rgba(18, 39, 33, .3); }
.audit-promo__visual-title { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--app-text-muted); }
.audit-promo__rows { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; color: var(--sillage-ink); }
.audit-promo__rows li { padding: 9px 12px; border-radius: 10px; background: var(--sillage-paper-alt); }
.audit-promo__rows b { display: block; font-family: var(--font-mono); font-weight: 400; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--sillage-gold-text); }
.audit-promo__fiction { margin: 0; font-size: 11.5px; color: var(--app-text-muted); }
@media (max-width: 799px) { .audit-promo__inner { grid-template-columns: minmax(0, 1fr); } .audit-promo__cta .btn { width: 100%; } }

/* Page Audit Express */
.au-hero { max-width: var(--site-max); margin: 0 auto; padding: clamp(48px, 8vw, 96px) var(--site-gutter) clamp(28px, 4vw, 44px); }
.au-hero__inner { display: flex; flex-direction: column; gap: 20px; max-width: 800px; }
.au-hero__title { font-size: clamp(30px, 4.8vw, 54px); line-height: 1.08; letter-spacing: var(--track-display-tight); color: var(--sillage-ink); text-wrap: pretty; }
.au-hero__lede { font-size: 18px; line-height: 1.6; color: var(--sillage-text); max-width: 640px; }
.au-hero__benefits { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; }
.au-hero__benefits li { position: relative; padding-left: 20px; font-size: 15px; font-weight: 600; color: var(--sillage-ink); }
.au-hero__benefits li::before { content: "✓"; position: absolute; left: 0; color: var(--sillage-gold); }
.au-hero__note { margin: 0; font-family: var(--font-mono); font-size: 12px; letter-spacing: .04em; color: var(--sillage-text); }
.au-stage { background: var(--sillage-paper-alt); padding: clamp(28px, 5vw, 56px) 0 clamp(48px, 8vw, 96px); }
.au-stage__inner { max-width: 920px; margin: 0 auto; padding: 0 var(--site-gutter); display: flex; flex-direction: column; gap: 20px; }
.au-banner { padding: 12px 16px; border-radius: 12px; font-size: 14px; line-height: 1.5; background: #fff; border: 1px solid var(--sillage-rule); color: var(--sillage-ink); }
.au-banner--warn { background: var(--state-watch-bg); border-color: var(--state-watch-rule); }
.au-banner--test { background: #EEF2FA; border-color: #C9D3EA; color: #26365C; }
.au-banner a { text-decoration: underline; text-underline-offset: 3px; }
.au-steps ol { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; flex-wrap: wrap; }
.au-steps__btn { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px 8px 8px; border-radius: 999px; border: 1px solid var(--sillage-rule); background: #fff; font: inherit; font-size: 14px; font-weight: 600; color: var(--sillage-text); cursor: pointer; }
.au-steps__btn:disabled { cursor: default; opacity: .55; }
.au-steps__num { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--sillage-paper-alt); font-family: var(--font-mono); font-size: 11px; }
.au-steps__btn.is-done .au-steps__num { background: var(--app-teal); color: #fff; }
.au-steps__btn.is-active { background: var(--sillage-ink); border-color: var(--sillage-ink); color: var(--sillage-cream); }
.au-steps__btn.is-active .au-steps__num { background: var(--sillage-gold); color: var(--sillage-ink-deep); }
.au-steps__btn:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.au-card { background: #fff; border: 1px solid var(--sillage-rule); border-radius: var(--radius-panel); padding: clamp(22px, 4vw, 40px); display: flex; flex-direction: column; gap: 22px; box-shadow: 0 24px 50px -36px rgba(18, 39, 33, .35); }
.au-fieldset { border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.au-fieldset:disabled { opacity: .55; }
.au-h2 { font-size: clamp(24px, 3.2vw, 34px); line-height: 1.15; letter-spacing: var(--track-display); color: var(--sillage-ink); }
.au-h2:focus { outline: none; }
.au-lede { margin: 0; font-size: 16.5px; line-height: 1.6; color: var(--sillage-text); max-width: 680px; }
.au-tabs { display: inline-flex; padding: 4px; gap: 4px; border-radius: 999px; background: var(--sillage-paper-alt); align-self: flex-start; }
.au-tab { padding: 8px 18px; border: 0; border-radius: 999px; background: none; font: inherit; font-size: 14px; font-weight: 600; color: var(--sillage-text); cursor: pointer; }
.au-tab.is-active { background: var(--sillage-ink); color: var(--sillage-cream); }
.au-tab:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.au-source { display: flex; flex-direction: column; gap: 12px; }
.au-drop { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 32px 20px; text-align: center; border: 2px dashed #CFC9B8; border-radius: 16px; background: var(--sillage-paper); cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.au-drop:hover, .au-drop.is-over { border-color: var(--sillage-gold); background: #FFFCF5; }
.au-drop:focus-within { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.au-drop__icon { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--sillage-paper-alt); color: var(--sillage-ink); }
.au-drop__main { font-weight: 600; color: var(--sillage-ink); }
.au-drop__sub { font-size: 13px; color: var(--sillage-text); }
.au-file { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border: 1px solid var(--sillage-rule); border-radius: 12px; background: var(--sillage-paper); }
.au-file__name { font-size: 14.5px; color: var(--sillage-ink); overflow-wrap: anywhere; }
.au-link { padding: 4px 0; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 600; color: var(--sillage-ink); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.au-link:hover { color: var(--sillage-gold); }
.au-label { font-size: 14px; font-weight: 700; color: var(--sillage-ink); }
.au-label span { font-weight: 400; color: var(--sillage-text); }
.au-textarea, .au-input { width: 100%; padding: 12px 14px; border: 1px solid #CFC9B8; border-radius: 12px; background: #fff; font: inherit; font-size: 14.5px; line-height: 1.5; color: var(--sillage-ink); }
.au-textarea { resize: vertical; min-height: 120px; }
.au-textarea--sm { min-height: 76px; }
.au-textarea:focus, .au-input:focus { outline: 2px solid var(--sillage-gold); outline-offset: 1px; border-color: var(--sillage-gold); }
.au-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.au-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.au-radios { display: flex; flex-wrap: wrap; gap: 8px; }
.au-radio { position: relative; }
.au-radio input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.au-radio span { display: inline-block; padding: 9px 16px; border: 1px solid #CFC9B8; border-radius: 999px; font-size: 14px; color: var(--sillage-text); background: #fff; }
.au-radio input:checked + span { background: var(--sillage-ink); border-color: var(--sillage-ink); color: var(--sillage-cream); }
.au-radio input:focus-visible + span { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.au-help { margin: 0; font-size: 13px; line-height: 1.55; color: var(--sillage-text); }
.au-help a, .au-disclaimer a { text-decoration: underline; text-underline-offset: 3px; }
.au-privacy { margin: 0; padding: 12px 16px; border-radius: 12px; background: var(--sillage-paper-alt); font-size: 14px; color: var(--sillage-ink); }
.au-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.au-hint, .au-status { font-size: 13px; color: var(--sillage-text); }
.au-error { margin: 0; padding: 10px 14px; border-radius: 10px; background: var(--state-alert-bg); border: 1px solid var(--state-alert-rule); color: var(--state-alert); font-size: 14px; }
.au-phases { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.au-phase { display: flex; align-items: center; gap: 12px; font-size: 15px; color: var(--sillage-text); opacity: .55; }
.au-phase__dot { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; border: 2px solid #CFC9B8; font-size: 12px; color: #fff; }
.au-phase.is-done { opacity: 1; color: var(--sillage-ink); } .au-phase.is-done .au-phase__dot { background: var(--state-success); border-color: var(--state-success); }
.au-phase.is-current { opacity: 1; color: var(--sillage-ink); font-weight: 700; }
.au-phase.is-current .au-phase__dot { border-color: var(--sillage-gold); border-top-color: transparent; animation: auSpin 900ms linear infinite; }
@keyframes auSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .au-phase.is-current .au-phase__dot { animation: none; border-top-color: var(--sillage-gold); } }
.au-score { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 22px; border-radius: 16px; background: var(--sillage-paper); border: 1px solid var(--sillage-rule); }
.au-score__main { display: flex; align-items: center; gap: 16px; }
.au-score__letter { width: 72px; height: 72px; border-radius: 18px; font-size: 42px; }
.au-score__title { font-family: var(--font-display); font-weight: 800; font-size: clamp(20px, 2.6vw, 26px); letter-spacing: var(--track-display); color: var(--sillage-ink); }
.au-score__label { font-size: 15px; color: var(--sillage-text); }
.au-score__text { margin: 0; font-size: 15px; line-height: 1.6; color: var(--sillage-ink); max-width: 640px; }
.au-findings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.au-finding { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px; border: 1px solid var(--sillage-rule); border-radius: 14px; background: #fff; }
.au-finding:nth-child(2) { background: #FFFCF5; border-color: var(--state-watch-rule); }
.au-finding__label { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--sillage-gold-text); }
.au-finding p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--sillage-ink); }
.au-finding__empty { color: var(--sillage-text); font-style: italic; }
.au-refs { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.au-ref { padding: 6px 10px; border-radius: 8px; background: var(--sillage-paper-alt); font-size: 12.5px; line-height: 1.45; color: var(--sillage-text); overflow-wrap: anywhere; }
.au-ref b { font-family: var(--font-mono); font-weight: 400; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--sillage-ink); margin-right: 4px; }
.au-ref--absence { background: #FBEFEA; }
.au-disclaimer { margin: 0; font-size: 12.5px; line-height: 1.55; color: var(--sillage-text); }
.au-next { display: flex; flex-direction: column; gap: 14px; padding-top: 18px; border-top: 1px solid var(--sillage-rule); }
.au-next > p { margin: 0; font-size: 16px; font-weight: 600; color: var(--sillage-ink); max-width: 620px; }
.au-form { display: flex; flex-direction: column; gap: 18px; max-width: 560px; }
.au-check { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.5; color: var(--sillage-ink); cursor: pointer; }
.au-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--sillage-ink); flex: none; }
.au-more { display: flex; flex-direction: column; gap: 12px; padding-top: 22px; border-top: 1px solid var(--sillage-rule); }
.au-more h3 { font-size: 21px; letter-spacing: var(--track-display); color: var(--sillage-ink); }
.au-more p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--sillage-text); max-width: 620px; }
@media (max-width: 799px) {
  .au-grid, .au-findings { grid-template-columns: minmax(0, 1fr); }
  .au-actions .btn { width: 100%; }
  .au-steps__label { display: none; }
  .au-steps__btn.is-active .au-steps__label { display: inline; }
  .au-score__letter { width: 60px; height: 60px; font-size: 34px; }
}

/* Rapport détaillé */
body { overflow-wrap: break-word; }
.ar-top { background: var(--sillage-paper); border-bottom: 1px solid var(--sillage-rule); }
.ar-top__inner { max-width: 980px; margin: 0 auto; padding: 14px var(--site-gutter); display: flex; align-items: center; gap: 16px; }
.ar-top__tag { margin-right: auto; font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--sillage-gold-text); }
.ar { max-width: 980px; margin: 0 auto; padding: clamp(28px, 5vw, 56px) var(--site-gutter) clamp(48px, 8vw, 96px); display: flex; flex-direction: column; gap: clamp(28px, 4vw, 44px); }
.ar-loading { padding: 40px 0; text-align: center; color: var(--sillage-text); }
.ar-head { display: flex; flex-direction: column; gap: 10px; }
.ar-head h1 { font-size: clamp(30px, 4.6vw, 52px); line-height: 1.08; letter-spacing: var(--track-display-tight); color: var(--sillage-ink); }
.ar-meta { margin: 0; font-size: 14.5px; color: var(--sillage-text); }
.ar-block { display: flex; flex-direction: column; gap: 18px; }
.ar-block > h2 { font-size: clamp(22px, 3vw, 30px); letter-spacing: var(--track-display); color: var(--sillage-ink); }
.ar-lede { margin: 0; font-size: 16px; line-height: 1.6; color: var(--sillage-text); max-width: 680px; }
.ar-score { padding: clamp(20px, 4vw, 32px); border-radius: var(--radius-panel); background: #fff; border: 1px solid var(--sillage-rule); box-shadow: 0 24px 50px -36px rgba(18, 39, 33, .35); }
.ar-score__main { display: flex; align-items: center; gap: 18px; }
.ar-score__main h2 { font-size: clamp(22px, 3vw, 30px); letter-spacing: var(--track-display); color: var(--sillage-ink); }
.ar-score__label { margin: 4px 0 0; font-size: 15px; color: var(--sillage-text); }
.ar-dims, .ar-prios { display: grid; gap: 14px; }
.ar-dims { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.ar-dim { display: flex; flex-direction: column; gap: 12px; padding: 18px 20px; background: #fff; border: 1px solid var(--sillage-rule); border-radius: 16px; }
.ar-dim header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.ar-dim h3 { font-size: 16.5px; line-height: 1.3; letter-spacing: var(--track-display); color: var(--sillage-ink); }
.ar-pill { flex: none; padding: 3px 10px; border-radius: 99px; font-size: 12px; font-weight: 700; background: var(--sillage-paper-alt); color: var(--sillage-text); }
.ar-dim--forte .ar-pill { background: var(--state-success-bg); color: var(--state-success); }
.ar-dim--correcte .ar-pill { background: #E8F0EC; color: var(--app-teal); }
.ar-dim--a_renforcer .ar-pill { background: var(--state-watch-bg); color: var(--state-watch); }
.ar-dim--insuffisante .ar-pill { background: var(--state-alert-bg); color: var(--state-alert); }
.ar-bar { height: 8px; border-radius: 99px; background: var(--sillage-paper-alt); overflow: hidden; }
.ar-bar span { display: block; height: 100%; border-radius: 99px; background: var(--app-teal); }
.ar-dim--a_renforcer .ar-bar span { background: var(--sillage-gold); } .ar-dim--insuffisante .ar-bar span { background: var(--state-alert); }
.ar-dim__why { margin: 0; font-size: 14px; line-height: 1.55; color: var(--sillage-text); }
.ar-dim__list h4 { margin: 0 0 6px; font-family: var(--font-mono); font-weight: 400; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; }
.ar-dim__list.is-ok h4 { color: var(--state-success); } .ar-dim__list.is-ko h4 { color: var(--state-alert); }
.ar-dim__list ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ar-dim__list p { margin: 0 0 6px; font-size: 14px; line-height: 1.5; color: var(--sillage-ink); }
.ar-prio { display: flex; flex-direction: column; gap: 12px; padding: 22px; background: #fff; border: 1px solid var(--sillage-rule); border-left: 4px solid var(--sillage-gold); border-radius: 16px; }
.ar-prio__num { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--sillage-gold-text); }
.ar-prio h3 { font-size: 20px; letter-spacing: var(--track-display); color: var(--sillage-ink); }
.ar-prio dl { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ar-prio dt { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--sillage-text); margin-bottom: 4px; }
.ar-prio dd { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--sillage-ink); display: flex; flex-direction: column; gap: 8px; }
.ar-ex { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ar-ex > div { padding: 12px 14px; border-radius: 12px; background: var(--sillage-paper-alt); }
.ar-ex__new { background: var(--state-success-bg) !important; }
.ar-ex span { font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--sillage-text); }
.ar-ex p { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: var(--sillage-ink); }
.ar-imp { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ar-imp li { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; background: #fff; border: 1px solid var(--sillage-rule); border-radius: 14px; }
.ar-tag { align-self: flex-start; padding: 2px 9px; border-radius: 99px; background: var(--sillage-paper-alt); font-family: var(--font-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--sillage-text); }
.ar-imp p { margin: 0; font-size: 14.5px; line-height: 1.5; }
.ar-imp__old { color: var(--sillage-text); text-decoration: line-through; text-decoration-color: rgba(90, 98, 89, .4); }
.ar-imp__new { font-weight: 700; color: var(--sillage-ink); }
.ar-imp__why { font-size: 13px !important; color: var(--sillage-text); }
.ar-cta { padding: clamp(24px, 5vw, 44px); border-radius: var(--radius-panel); background: var(--sillage-ink); }
.ar-cta h2 { color: var(--sillage-on-ink); max-width: 640px; }
.ar-cta p { margin: 0; color: var(--sillage-on-ink-soft); font-size: 16px; line-height: 1.6; max-width: 620px; }
.ar-cta__link { color: var(--sillage-on-ink); border-bottom: 1px solid var(--sillage-gold); padding: 4px 0; font-weight: 600; }
.ar-end { text-align: center; }
.ar-problem { max-width: 560px; margin: 0 auto; padding: 32px 0; }
.ar-problem h1 { font-size: clamp(26px, 4vw, 38px); color: var(--sillage-ink); }
.ar-problem p { margin: 0; color: var(--sillage-text); line-height: 1.6; }
.ar-foot { background: var(--sillage-paper-alt); }
.ar-foot__inner { max-width: 980px; margin: 0 auto; padding: 24px var(--site-gutter); display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 14px; }
@media (max-width: 799px) {
  .ar-dims, .ar-prio dl, .ar-ex { grid-template-columns: minmax(0, 1fr); }
  .ar-top__demo { display: none; }
  .ar-cta .btn { width: 100%; }
}
@media print {
  .ar-top, .ar-foot, .ar-cta, .ar-print { display: none !important; }
  .ar { padding: 0; } .ar-dim, .ar-prio, .ar-imp li { break-inside: avoid; }
}
.au-scale .au-lv { opacity: .42; }
.au-scale .au-lv.is-active { opacity: 1; color: #fff; }

/* ---------- Ajustements : labels solutions, écosystème, pop-up démo ---------- */
.shift__agent { display: inline-flex; align-self: flex-start; padding: 3px 10px; border: 1px solid var(--sillage-gold); border-radius: var(--radius-pill); color: var(--sillage-gold); }
.ecosystem__flat-list--results li { position: relative; padding-left: 20px; }
.ecosystem__flat-list--results li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--sillage-gold); font-weight: 700; }

.modal-head__desc { color: var(--sillage-text); }
.modal-duration { display: flex; align-items: flex-start; gap: 10px; margin-top: 4px; padding: 10px 14px; border-radius: 10px; background: var(--sillage-paper-alt); border: 1px solid var(--sillage-rule); font-size: 14.5px; font-weight: 600; line-height: 1.45; color: var(--sillage-ink); }
.modal-duration svg { flex: none; margin-top: 2px; color: var(--sillage-gold); }
.demo-form input, .demo-form select, .demo-form textarea { border: 1.5px solid #8C978F; background: #fff; color: var(--sillage-ink); }
.demo-form input::placeholder, .demo-form textarea::placeholder { color: var(--sillage-text); opacity: 1; }
.demo-form input:hover, .demo-form select:hover, .demo-form textarea:hover { border-color: var(--sillage-ink); }
.demo-form input:focus, .demo-form select:focus, .demo-form textarea:focus { outline: 2px solid var(--sillage-gold); outline-offset: 1px; border-color: var(--sillage-ink); }
.demo-form__field--invalid input { border-color: var(--state-alert); }
.demo-solutions { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.demo-solutions legend { grid-column: 1 / -1; padding: 0; margin-bottom: 4px; font-size: 14px; font-weight: 700; color: var(--sillage-ink); float: left; width: 100%; }
.demo-solutions legend + * { clear: both; }
.demo-solutions .demo-form__field-error { grid-column: 1 / -1; }
.demo-check { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1.5px solid #8C978F; border-radius: 8px; background: #fff; font-size: 14.5px; color: var(--sillage-ink); cursor: pointer; }
.demo-check:hover { border-color: var(--sillage-ink); }
.demo-check:has(input:checked) { border-color: var(--sillage-ink); background: #EEF3EF; font-weight: 600; }
.demo-check:has(input:focus-visible) { outline: 2px solid var(--sillage-gold); outline-offset: 1px; }
.demo-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--sillage-ink); flex: none; }
.demo-solutions[aria-invalid="true"] .demo-check { border-color: var(--state-alert); }
.demo-form__submit { background: var(--sillage-ink); border: 2px solid var(--sillage-ink); transition: background .2s ease, border-color .2s ease; }
.demo-form__submit:hover:not(:disabled) { background: var(--sillage-ink-deep); border-color: var(--sillage-ink-deep); }
.demo-form__submit:disabled { opacity: 1; background: #E3EAE5; border-color: #B7C4BB; color: #4F6258; cursor: not-allowed; }
@media (max-width: 479px) { .demo-solutions { grid-template-columns: minmax(0, 1fr); } }
.modal-head { margin-bottom: 20px; }

/* ---------- QUALIA — collecte compacte, KPI de transfert, offres ---------- */
.qd-demo-note { margin: -6px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--app-text); }
.qd-collect { gap: 10px; }
.qd-collect__lines { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.qd-line { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; line-height: 1.45; color: var(--app-ink); transition: opacity .3s ease; }
.qd-line__tick { flex: none; width: 18px; height: 18px; margin-top: 1px; border-radius: 50%; background: var(--state-success); color: #fff; display: grid; place-items: center; transition: background .25s ease; }
.qd-line__tick svg { width: 12px; height: 12px; }
.qd-line.is-pending { opacity: .72; }
.qd-line.is-pending .qd-line__tick { background: transparent; box-shadow: inset 0 0 0 1.5px var(--app-rule); color: transparent; }
.qd-collect__saving { margin: 2px 0 0; padding: 10px 12px; border-radius: 10px; background: #FFF6E4; border: 1px solid var(--state-watch-rule); display: flex; flex-direction: column; gap: 2px; transition: opacity .35s ease; }
.qd-collect__saving strong { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: #6B4510; }
.qd-collect__saving small { font-size: 11.5px; color: var(--app-text); }
.qd-collect__saving.is-pending { opacity: 0; }
.qd-kpi__method { font-size: 11.5px; line-height: 1.4; color: var(--app-text); }
.qd-insights li.is-watch { padding: 8px 12px; margin: 0 -2px; border-radius: 10px; background: #FFF6E4; border-left: 3px solid var(--sillage-gold); }
.qd-insights li.is-watch .qd-insights__icon { background: var(--state-watch-bg); color: var(--state-watch); }
.qd-insights li.is-ok .qd-insights__icon { background: var(--state-success-bg); color: var(--state-success); }
@media (prefers-reduced-motion: reduce) { .qd-line, .qd-line__tick, .qd-collect__saving { transition: none; } }

.qd-offers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.qd-offer { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--app-rule); border-radius: 16px; overflow: hidden; }
.qd-offer__head { padding: 16px 20px 14px; border-bottom: 1px solid var(--app-rule-soft); display: flex; flex-direction: column; gap: 8px; }
.qd-offer__head h3 { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: 19px; letter-spacing: var(--track-display); color: var(--app-ink); }
.qd-offer__body { padding: 16px 20px 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.qd-offer__tag { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 15px; line-height: 1.35; color: var(--app-ink); }
.qd-offer__inc { margin: 0; min-height: 18px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .06em; color: var(--sillage-gold-text); }
.qd-offer__list { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.qd-offer__list li { display: flex; align-items: flex-start; gap: 9px; font-size: 13.5px; line-height: 1.45; color: var(--app-ink); }
.qd-offer__list svg { flex: none; width: 15px; height: 15px; margin-top: 2px; color: var(--state-success); }
.qd-offer.is-reco { border: 2px solid var(--sillage-ink); box-shadow: 0 22px 40px -28px rgba(18, 39, 33, .5); }
.qd-offer.is-reco .qd-offer__head { background: var(--sillage-ink); border-bottom: 0; }
.qd-offer.is-reco .qd-offer__head h3 { color: var(--sillage-on-ink); }
.qd-offer__label { align-self: flex-start; padding: 2px 10px; border-radius: 99px; background: var(--sillage-gold); color: var(--sillage-ink-deep); font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
@media (max-width: 799px) { .qd-offers { grid-template-columns: minmax(0, 1fr); } .qd-offer__inc--none { display: none; } }

/* ---------- Pourquoi Humirai ? — conteneurs plus larges, titres sans retours forcés ---------- */
.why-story .why-hero__inner { max-width: 960px; }
.why-story__text { max-width: 820px; }
.convictions__title { max-width: 920px; text-wrap: balance; }
.approach__body { max-width: 980px; }
.approach__title { text-wrap: balance; }
.approach__text { max-width: 820px; }
.approach__cta-lede { max-width: none; }
@media (min-width: 1000px) {
  .approach__cta-title, .approach__cta-lede { white-space: nowrap; }
}

/* ---------- Audit Express — fenêtre modale sur la page Solutions, grille IQE, import ---------- */
.au-sr { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.au-file__name em { font-style: normal; font-size: 13px; color: var(--sillage-text); margin-left: 6px; }
.au-iqe { padding: 18px 20px; border-radius: 14px; background: var(--sillage-paper); border: 1px solid var(--sillage-rule); display: flex; flex-direction: column; gap: 14px; }
.au-iqe__head { display: flex; align-items: center; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; }
.au-iqe__head strong { display: block; font-family: var(--font-display); font-size: 16px; color: var(--sillage-ink); }
.au-iqe__head span { font-size: 13px; color: var(--sillage-text); }
.au-iqe .au-scale .au-lv { opacity: 1; width: 30px; height: 30px; font-size: 14px; }
.au-iqe__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; }
.au-iqe__grid li { display: flex; flex-direction: column; gap: 2px; padding-left: 14px; border-left: 2px solid var(--sillage-gold); }
.au-iqe__grid b { font-size: 13.5px; color: var(--sillage-ink); }
.au-iqe__grid span { font-size: 12.5px; line-height: 1.45; color: var(--sillage-text); }
@media (max-width: 699px) { .au-iqe__grid { grid-template-columns: minmax(0, 1fr); } }

.au-overlay { position: fixed; inset: 0; z-index: 55; display: none; align-items: center; justify-content: center; padding: clamp(10px, 3vh, 36px) 10vw; background: rgba(12, 26, 21, .58); }
.au-overlay.is-open { display: flex; }
.au-shell { width: min(100%, 1040px); height: min(86vh, 900px); display: flex; flex-direction: column; background: var(--sillage-paper-alt); border-radius: 20px; overflow: hidden; box-shadow: 0 40px 100px -30px rgba(0, 0, 0, .55); }
.au-shell__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px clamp(16px, 3vw, 28px); background: var(--sillage-paper); border-bottom: 1px solid var(--sillage-rule); }
.au-shell__brand { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; min-width: 0; }
.au-shell__title { font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--sillage-ink); }
.au-shell__body { flex: 1; min-height: 0; overflow-y: auto; padding: clamp(16px, 3vw, 28px) 0 clamp(24px, 4vw, 40px); }
.au-shell .au-stage__inner { max-width: 900px; }
.au-shell .au-card { padding: clamp(18px, 3vw, 32px); }
@media (max-width: 767px) {
  .au-overlay { padding: 8px; }
  .au-shell { width: 100%; height: 100%; border-radius: 16px; }
  .au-shell__title { display: none; }
}

/* ---------- DOJO — défi final (simulation de phishing) ---------- */
.cd__next--challenge { background: var(--sillage-gold); color: var(--sillage-ink-deep); box-shadow: 0 0 0 0 rgba(197, 138, 46, .5); animation: dcPulse 2.6s ease-out infinite; }
.cd__next--challenge:hover { background: #D39A3C; }
@keyframes dcPulse { 0% { box-shadow: 0 0 0 0 rgba(197, 138, 46, .5); } 70%, 100% { box-shadow: 0 0 0 10px rgba(197, 138, 46, 0); } }
@media (prefers-reduced-motion: reduce) { .cd__next--challenge { animation: none; } }

.dc-overlay { position: fixed; inset: 0; z-index: 58; display: none; align-items: center; justify-content: center; padding: clamp(10px, 3vh, 32px) 5vw; background: rgba(8, 20, 15, .72); }
.dc-overlay.is-open { display: flex; }
.dc-shell { --dc-bg: #122721; --dc-panel: #173229; --dc-line: rgba(245, 241, 232, .16); width: min(100%, 960px); max-height: min(92vh, 940px); display: flex; flex-direction: column; background: var(--dc-bg); color: var(--sillage-on-ink); border-radius: 20px; overflow: hidden; box-shadow: 0 40px 100px -30px rgba(0, 0, 0, .6); }
.dc-head { display: flex; align-items: center; gap: 14px; padding: 16px clamp(16px, 3vw, 26px); border-bottom: 1px solid var(--dc-line); }
.dc-head > div { margin-right: auto; }
.dc-head h2 { margin: 0; font-size: 20px; color: var(--sillage-on-ink); }
.dc-head p { margin: 2px 0 0; font-size: 13px; color: var(--sillage-on-ink-soft); }
.dc-hearts { display: inline-flex; gap: 3px; color: #D98378; }
.dc-x { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--dc-line); background: none; color: var(--sillage-on-ink); font-size: 15px; cursor: pointer; }
.dc-x:hover { background: rgba(245, 241, 232, .1); }
.dc-body { flex: 1; min-height: 0; overflow-y: auto; padding: clamp(16px, 3vw, 26px); display: flex; flex-direction: column; gap: 16px; }
.dc-intro p { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: clamp(15px, 1.8vw, 17px); line-height: 1.45; }
.dc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
button.dc-primary, .dc-primary { font: inherit; font-weight: 700; font-size: 15px; padding: 13px 24px; border: 0; border-radius: 999px; background: var(--sillage-gold); color: var(--sillage-ink-deep); cursor: pointer; }
.dc-primary:hover:not(:disabled) { background: #D39A3C; }
.dc-primary:disabled { background: #3A5348; color: rgba(245, 241, 232, .6); cursor: not-allowed; }
.dc-primary--cream { background: var(--sillage-cream); }
.dc-primary--cream:hover:not(:disabled) { background: #F2EBD8; }
.dc-primary:focus-visible, .dc-link:focus-visible, .dc-x:focus-visible, .dc-mail__btn:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.dc-link { padding: 2px 0; border: 0; background: none; font: inherit; font-size: 12.5px; color: #1F6F5F; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.dc-link--light { color: var(--sillage-on-ink-soft); font-size: 14px; }
.dc-actions { display: flex; }

/* Messagerie reconstituée */
.dc-mail { background: #fff; color: #1B2B26; border-radius: 12px; overflow: hidden; font-size: 14px; line-height: 1.5; }
.dc-mail__bar { display: flex; justify-content: space-between; gap: 12px; padding: 8px 16px; background: #EEF1EF; font-size: 12px; color: #55645E; }
.dc-mail__head { display: flex; gap: 12px; padding: 14px 16px 6px; }
.dc-mail__avatar { flex: none; width: 36px; height: 36px; border-radius: 50%; background: #0F6CBD; color: #fff; display: grid; place-items: center; font-weight: 700; }
.dc-mail__meta { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.dc-mail__from strong { font-size: 14.5px; }
.dc-mail__addr { position: relative; font-size: 12.5px; color: #5A6862; overflow-wrap: anywhere; }
.dc-mail__addr.is-inspected { color: #8A5B12; font-weight: 600; }
.dc-mail__to { font-size: 12px; color: var(--app-text-muted); }
.dc-mail__subject { padding: 6px 16px 10px; font-family: var(--font-display); font-weight: 700; font-size: 16px; border-bottom: 1px solid #E3E8E5; }
.dc-mail__body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 10px; }
.dc-mail__body p { position: relative; margin: 0; }
.dc-mail__btn { position: relative; padding: 11px 22px; border: 0; border-radius: 6px; background: #0F6CBD; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.dc-mail__sign { color: #55645E; }
.dc-mail__status { padding: 8px 16px; background: #F3F5F4; border-top: 1px solid #E3E8E5; font-size: 12px; color: #55645E; overflow-wrap: anywhere; transition: background .2s ease; }
.dc-mail__status.is-active { background: #FFF6E4; color: #6B4510; }
.is-flagged { outline: 2px solid var(--sillage-gold); outline-offset: 3px; border-radius: 4px; background: rgba(197, 138, 46, .12); }
.dc-pin { position: absolute; left: -12px; top: -12px; width: 22px; height: 22px; border-radius: 50%; background: var(--sillage-gold); color: var(--sillage-ink-deep); display: grid; place-items: center; font-size: 12px; font-weight: 800; z-index: 1; }
.dc-clues .dc-pin { position: static; flex: none; }

/* Décision */
.dc-choices { margin: 0; padding: 0; border: 0; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.dc-choice { position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 13px 14px; border: 1px solid var(--dc-line); border-radius: 12px; background: var(--dc-panel); font-size: 14px; line-height: 1.5; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.dc-choice:hover { border-color: rgba(245, 241, 232, .4); }
.dc-choice input { position: absolute; opacity: 0; pointer-events: none; }
.dc-choice__radio { flex: none; width: 18px; height: 18px; margin-top: 2px; border-radius: 50%; border: 2px solid rgba(245, 241, 232, .5); }
.dc-choice:has(input:checked) { border-color: var(--sillage-gold); background: #20382E; }
.dc-choice:has(input:checked) .dc-choice__radio { border-color: var(--sillage-gold); background: radial-gradient(circle, var(--sillage-gold) 0 42%, transparent 46%); }
.dc-choice:has(input:focus-visible) { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }

/* Feedback */
.dc-result { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border-radius: 14px; background: var(--dc-panel); border: 1px solid var(--dc-line); animation: dcIn .45s ease both; }
.dc-result.is-ok { border-color: rgba(143, 208, 168, .55); }
.dc-result.is-ko { border-color: rgba(197, 138, 46, .65); }
.dc-result__icon { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 18px; color: var(--dc-bg); background: #8FD0A8; }
.dc-result.is-ko .dc-result__icon { background: var(--sillage-gold); }
.dc-result h3 { margin: 0 0 4px; font-size: 20px; color: var(--sillage-on-ink); }
.dc-result h3:focus { outline: none; }
.dc-result p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--sillage-on-ink-soft); }
.dc-clues { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.dc-clues li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 10px; background: var(--dc-panel); border: 1px solid var(--dc-line); font-size: 13px; line-height: 1.45; color: var(--sillage-on-ink-soft); }
.dc-clues b { color: var(--sillage-on-ink); }
.dc-belt { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; font-size: 13px; }
.dc-belt__from, .dc-belt__to { padding: 4px 12px; border-radius: 99px; font-weight: 700; background: #F5F1E8; color: var(--sillage-ink-deep); }
.dc-belt__to { background: #3A5348; color: rgba(245, 241, 232, .7); transition: background .6s ease .9s, color .6s ease .9s; }
.dc-belt.is-up .dc-belt__to { background: #D9862B; color: #1B1206; }
.dc-belt__to--locked { opacity: .6; }
.dc-belt__track { flex: 1 1 80px; max-width: 220px; height: 8px; border-radius: 99px; background: rgba(245, 241, 232, .18); overflow: hidden; }
.dc-belt__track i { display: block; height: 100%; width: 0; border-radius: 99px; background: var(--sillage-gold); }
.dc-belt.is-up .dc-belt__track i { animation: dcFill 1.2s ease .3s forwards; }
.dc-belt__note { font-size: 12.5px; color: var(--sillage-on-ink-soft); }
@keyframes dcFill { to { width: 100%; } }
@keyframes dcIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .dc-result { animation: none; } .dc-belt.is-up .dc-belt__track i { animation: none; width: 100%; } .dc-belt__to { transition: none; } }
.dc-final { display: flex; flex-direction: column; gap: 12px; padding: clamp(18px, 3vw, 26px); border-radius: 16px; background: var(--sillage-ink); border: 1px solid rgba(197, 138, 46, .45); }
.dc-final h3 { margin: 0; font-size: clamp(18px, 2.4vw, 23px); line-height: 1.25; color: var(--sillage-on-ink); }
.dc-final p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--sillage-on-ink-soft); }
.dc-final__ctas { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin-top: 4px; }
.dc-fine { margin: 0; font-size: 11.5px; line-height: 1.5; color: rgba(245, 241, 232, .55); }
@media (max-width: 599px) {
  .dc-overlay { padding: 8px; }
  .dc-shell { max-height: 100%; border-radius: 16px; }
  .dc-clues { grid-template-columns: minmax(0, 1fr); }
  .dc-final__ctas .dc-primary { width: 100%; }
}
.dc-body > * { flex-shrink: 0; }

/* défi en trois écrans */
.dc-head .dc-steps { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; margin: 0 6px 0 0; }
.dc-steps__dots { display: inline-flex; gap: 5px; }
.dc-steps__dots i { width: 22px; height: 5px; border-radius: 99px; background: rgba(245, 241, 232, .2); transition: background .25s ease; }
.dc-steps__dots i.is-on { background: var(--sillage-gold); }
.dc-steps__name { font-size: 11.5px; letter-spacing: .02em; color: var(--sillage-on-ink-soft); white-space: nowrap; }
.dc-split { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(16px, 2.4vw, 28px); align-items: start; }
.dc-col { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.dc-mail.is-annotated { overflow: visible; }
.dc-mail .is-flagged { box-shadow: inset 0 0 0 2px rgba(197, 138, 46, .85); border-radius: 6px; background: #FFF6E4; padding: 3px 6px; }
.dc-mail__btn.is-flagged { box-shadow: 0 0 0 3px rgba(197, 138, 46, .85); padding: 11px 22px; background: #0F6CBD; }
.dc-mail__addr.is-flagged { margin-left: -6px; }
.dc-rule { margin: 0; padding: 10px 14px; border-radius: 10px; border-left: 3px solid var(--sillage-gold); background: rgba(197, 138, 46, .12); font-size: 14px; line-height: 1.5; color: var(--sillage-on-ink); }
.dc-clues { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.dc-clues li { padding: 8px 12px; }
.dc-actions { justify-content: flex-start; }
.dc-end { display: flex; flex-direction: column; gap: 16px; max-width: 700px; width: 100%; margin: 0 auto; }
.dc-score { display: flex; align-items: center; gap: 18px; padding: 16px 18px; border-radius: 14px; background: var(--dc-panel); border: 1px solid var(--dc-line); animation: dcIn .45s ease both; }
.dc-score.is-ok { border-color: rgba(143, 208, 168, .55); }
.dc-score.is-ko { border-color: rgba(197, 138, 46, .65); }
.dc-score__num { flex: none; font-family: var(--font-display); font-weight: 800; font-size: 46px; line-height: 1; color: var(--sillage-on-ink); }
.dc-score__num:focus { outline: none; }
.dc-score__num small { font-size: 18px; font-weight: 600; color: var(--sillage-on-ink-soft); margin-left: 2px; }
.dc-score.is-ok strong { color: #A9E0BD; }
.dc-score.is-ko strong { color: #E7B15A; }
.dc-score strong { display: block; font-size: 15.5px; line-height: 1.4; }
.dc-score p { margin: 4px 0 0; font-size: 13px; color: var(--sillage-on-ink-soft); }
.dc-prog { display: flex; gap: 5px; }
.dc-prog i { flex: 1; height: 8px; border-radius: 99px; background: rgba(245, 241, 232, .18); }
.dc-prog i.is-done { background: rgba(143, 208, 168, .55); }
.dc-prog i.is-ok { background: #8FD0A8; }
.dc-prog i.is-ko { background: var(--sillage-gold); }
.dc-final { text-align: left; }
.dc-final__ctas .dc-primary { white-space: nowrap; }
@media (max-width: 899px) {
  .dc-split { grid-template-columns: minmax(0, 1fr); }
  .dc-mail__body p { font-size: 13.5px; }
  .dc-split--feedback > .dc-col:last-child { order: -1; }
}
@media (max-width: 599px) {
  .dc-head { gap: 8px; padding: 12px 14px; }
  .dc-head h2 { font-size: 17px; }
  .dc-head p { font-size: 11.5px; }
  .dc-steps__name { display: none; }
  .dc-body { padding: 14px; gap: 12px; }
  .dc-mail { font-size: 13px; }
  .dc-mail__bar, .dc-mail__sign, .dc-mail__to { display: none; }
  .dc-mail__head { padding: 10px 12px 4px; }
  .dc-mail__subject { padding: 4px 12px 8px; font-size: 14.5px; }
  .dc-mail__body { padding: 10px 12px 12px; gap: 8px; }
  .dc-mail__status { padding: 6px 12px; font-size: 11.5px; }
  .dc-choice { padding: 10px 12px; font-size: 13.5px; }
  .dc-result { padding: 12px 14px; }
  .dc-result h3 { font-size: 18px; }
  .dc-result p { font-size: 13.5px; }
  .dc-actions { position: sticky; bottom: -14px; margin: 0 -14px -14px; padding: 12px 14px; background: linear-gradient(to top, var(--dc-bg) 70%, transparent); }
  .dc-actions .dc-primary { width: 100%; }
  .dc-score { gap: 12px; padding: 12px 14px; }
  .dc-score__num { font-size: 38px; }
}

/* ---------- NORI — trois actions ; DIDALIA — avant / après ---------- */
.aw--nori .aw__body, .aw--didalia .aw__body { max-height: 580px; overflow-y: auto; scroll-behavior: smooth; }
.nr-act { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; background: #FFFCF5; border: 1px solid var(--state-watch-rule); border-radius: 14px; }
.nr-act__list { display: flex; flex-direction: column; gap: 8px; }
.nr-act__item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; text-align: left; font: inherit; color: var(--app-ink); background: #fff; border: 1px solid var(--app-rule); border-radius: 12px; cursor: pointer; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.nr-act__item:hover { border-color: var(--app-teal); transform: translateY(-1px); }
.nr-act__item:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.nr-act__item.is-active { border-color: var(--sillage-ink); background: #EEF3EF; }
.nr-act__num { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--sillage-ink); color: var(--sillage-on-ink); font-size: 12px; font-weight: 700; }
.nr-act__text b { font-size: 13.5px; line-height: 1.35; }
.nr-act__go { padding: 6px 12px; border-radius: 999px; background: var(--sillage-ink); color: var(--sillage-on-ink); font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.nr-act__item.is-active .nr-act__go { background: var(--sillage-gold); color: var(--sillage-ink-deep); }
.nr-res { display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: 12px; background: #fff; border: 1px solid var(--app-rule); }
.nr-res[hidden] { display: none; }
.nr-res.is-in { animation: qdIn .35s ease both; }
.nr-res__head { display: flex; flex-direction: column; gap: 1px; }
.nr-res__head b { font-family: var(--font-display); font-size: 14.5px; color: var(--app-ink); }
.nr-res__head span { font-size: 11.5px; color: var(--app-text-muted); }
.nr-res__note { margin: 0; font-size: 11.5px; line-height: 1.45; color: var(--app-text-muted); }
.nr-bars { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.nr-bars li { display: grid; grid-template-columns: 110px minmax(0, 1fr) 28px; align-items: center; gap: 10px; font-size: 12.5px; color: var(--app-ink); }
.nr-bars__track { height: 8px; border-radius: 99px; background: var(--app-rule); overflow: hidden; }
.nr-bars__track i { display: block; height: 100%; border-radius: 99px; background: var(--sillage-gold); }
.nr-bars b { text-align: right; }
.nr-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nr-cols h4 { margin: 0 0 4px; font-family: var(--font-mono); font-weight: 400; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--app-text-muted); }
.nr-cols ol { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; line-height: 1.45; color: var(--app-ink); }
.aw .nr-cols ol { list-style: decimal; }
.nr-slides { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.nr-slide { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px; min-height: 96px; border: 1px solid var(--app-rule); border-top: 3px solid var(--sillage-ink); border-radius: 8px; background: var(--app-bg); }
.nr-slide > span { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--sillage-gold); }
.nr-slide p { margin: 0; font-size: 12px; line-height: 1.4; color: var(--app-ink); }
.nr-mini { display: flex; flex-direction: column; gap: 5px; font-size: 11.5px; color: var(--app-ink); }
.nr-mini li { position: relative; display: grid; grid-template-columns: 78px minmax(0, 1fr) 30px; align-items: center; gap: 6px; }
.nr-mini i { display: block; height: 5px; border-radius: 99px; background: var(--app-teal); }
.nr-mini b { text-align: right; font-size: 11px; }
.nr-camp { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.nr-camp dt { font-family: var(--font-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--app-text-muted); }
.nr-camp dd { margin: 1px 0 0; font-size: 13px; line-height: 1.45; color: var(--app-ink); }
.nr-camp__foot { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.nr-camp__sim { font-size: 12.5px; color: var(--state-watch); font-weight: 600; }
.nr-camp__sim[hidden] { display: none; }

.dd-cta { align-self: flex-start; padding: 11px 20px; border: 0; border-radius: 999px; background: var(--sillage-ink); color: var(--sillage-on-ink); font: inherit; font-weight: 700; font-size: 14px; cursor: pointer; }
.dd-cta:hover { background: var(--sillage-ink-deep); }
.dd-cta:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.dd-cmp { display: flex; flex-direction: column; gap: 6px; }
.dd-cmp[hidden] { display: none; }
.dd-cmp.is-in { animation: qdIn .35s ease both; }
.dd-cmp__box { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--app-rule); background: var(--app-bg); }
.dd-cmp__box strong { font-family: var(--font-display); font-size: 17px; color: var(--app-ink); }
.dd-cmp__box p { margin: 0; font-size: 13px; line-height: 1.45; color: var(--app-ink); }
.dd-cmp__box small { font-size: 11.5px; color: var(--app-text-muted); }
.dd-cmp__box--before { border-color: var(--state-watch-rule); background: #FFFCF5; }
.dd-cmp__box--after { border-color: var(--state-success-rule); background: #F8FBF8; }
.dd-cmp__box--after strong { color: var(--state-success); }
.dd-cmp__box--fix { background: #fff; border-color: var(--sillage-gold); }
.aw .dd-cmp__box--fix ul { list-style: disc; padding-left: 18px; display: flex; flex-direction: column; gap: 3px; font-size: 13px; line-height: 1.45; color: var(--app-ink); }
.dd-cmp__arrow { align-self: center; color: var(--sillage-gold); font-size: 18px; line-height: 1; }
.dd-ex { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 4px; }
.dd-ex > div { padding: 10px 12px; border-radius: 10px; background: var(--app-bg); }
.dd-ex__new { background: var(--state-success-bg) !important; }
.dd-ex span { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--app-text-muted); }
.dd-ex p { margin: 3px 0 4px; font-size: 12.5px; line-height: 1.45; }
.dd-ex small { font-size: 11.5px; line-height: 1.4; color: var(--app-text); }
.dd-cmp__close { margin: 4px 0 0; font-family: var(--font-display); font-weight: 700; font-size: 14.5px; line-height: 1.4; color: var(--app-ink); }
@media (max-width: 599px) {
  .nr-act__item { grid-template-columns: auto minmax(0, 1fr); }
  .nr-act__go { grid-column: 1 / -1; justify-self: start; margin-left: 36px; }
  .nr-cols, .nr-slides, .dd-ex { grid-template-columns: minmax(0, 1fr); }
  .nr-bars li { grid-template-columns: 96px minmax(0, 1fr) 26px; }
}

/* ---------- Page Solutions — visuels de même hauteur sur ordinateur ---------- */
@media (min-width: 900px) {
  .cd { padding: 20px 22px; gap: 14px; }
  .cd__panel { padding: 16px; gap: 12px; }
  .cd { min-height: 700px; }
  .cd__panel { flex: 1; }
  .qd-preview { min-height: 700px; }
  .qd-preview__foot { margin-top: auto; }
  .aw--nori, .aw--didalia { height: 700px; display: flex; flex-direction: column; }
  .aw--nori .aw__body, .aw--didalia .aw__body { flex: 1; min-height: 0; max-height: none; }
  .aw--nori .aw__fiction, .aw--didalia .aw__fiction { flex: none; }
}

/* ---------- Formulaire de contact simplifié ---------- */
.demo-form { gap: 12px; }
.demo-form label { font-size: 13px; font-weight: 700; color: var(--sillage-ink); }
.demo-form abbr { text-decoration: none; color: var(--state-alert); border: 0; }
.demo-form__opt { font-weight: 400; color: var(--sillage-text); }
.demo-form__row { gap: 12px; }
.demo-form__row--wide { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.demo-form textarea { min-height: 64px; }
.demo-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.demo-form__required { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--sillage-text); }
.demo-form__privacy { margin: 0; font-size: 12px; line-height: 1.55; color: var(--sillage-text); }
.demo-form__privacy a { color: var(--sillage-ink); text-decoration: underline; text-decoration-color: var(--sillage-gold); text-underline-offset: 2px; }
.modal-panel { gap: 18px; padding: clamp(20px, 4vw, 36px); }
.modal-head { margin-bottom: 14px; }

/* ---------- QUALIA — panneau de valeur, jauge d'automatisation, suggestions, offres ---------- */
.qd-wrap--panel { max-width: 1160px; }
.qd-layout { display: flex; flex-direction: column; gap: 20px; }
.qd-main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.qd-panel { padding: 16px 18px; border-left: 3px solid var(--sillage-gold); background: rgba(255, 255, 255, .7); border-radius: 0 12px 12px 0; }
.qd-panel h3 { margin: 0 0 4px; font-family: var(--font-display); font-weight: 700; font-size: 17px; line-height: 1.25; letter-spacing: var(--track-display); color: var(--app-ink); }
.qd-panel p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--app-text); }
.qd-panel.is-in { animation: qdIn .4s ease both; }
@media (min-width: 1000px) {
  .qd-layout { display: grid; grid-template-columns: minmax(0, 1fr) 232px; gap: 28px; align-items: start; }
  .qd-panel { position: sticky; top: 4px; }
}
.qd-auto { margin: 2px 0 0; padding: 12px 14px; border-radius: 10px; background: var(--app-bg); border: 1px solid var(--app-rule-soft); display: flex; flex-direction: column; gap: 6px; transition: opacity .35s ease; }
.qd-auto__label { font-family: var(--font-display); font-weight: 700; font-size: 14px; color: var(--app-ink); }
.qd-auto__bar { height: 10px; border-radius: 99px; background: var(--app-rule); overflow: hidden; }
.qd-auto__bar i { display: block; height: 100%; width: 88%; border-radius: 99px; background: linear-gradient(90deg, var(--app-teal), var(--state-success)); transition: width 1.1s cubic-bezier(.22, .7, .2, 1); }
.qd-auto.is-pending .qd-auto__bar i { width: 0; }
.qd-auto__scale { display: flex; justify-content: space-between; font-family: var(--font-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--app-text-muted); }
.qd-auto small { font-size: 11.5px; color: var(--app-text-muted); }
@media (prefers-reduced-motion: reduce) { .qd-auto, .qd-auto__bar i { transition: none; } }

.qd-sugg { display: flex; flex-direction: column; gap: 8px; }
.qd-sugg__item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; text-align: left; font: inherit; color: var(--app-ink); background: #fff; border: 1px solid var(--app-rule); border-radius: 14px; cursor: pointer; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.qd-sugg__item:hover:not(:disabled) { border-color: var(--sillage-ink); box-shadow: 0 6px 16px -10px rgba(18, 39, 33, .35); }
.qd-sugg__item:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; }
.qd-sugg__item:disabled { cursor: default; }
.qd-sugg__item:disabled:not(.is-chosen) { opacity: .5; }
.qd-sugg__item.is-chosen { border-color: var(--sillage-ink); background: #EEF3EF; }
.qd-sugg__icon { width: 36px; height: 36px; border-radius: 10px; background: var(--app-bg); color: var(--app-teal); display: grid; place-items: center; }
.qd-sugg__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.qd-sugg__text strong { font-family: var(--font-display); font-size: 14.5px; line-height: 1.3; }
.qd-sugg__text span { font-size: 12.5px; line-height: 1.4; color: var(--app-text); }
.qd-sugg__go { font-size: 18px; color: var(--sillage-gold); }
.qd-working { height: 6px; border-radius: 99px; background: var(--app-rule); overflow: hidden; }
.qd-working i { display: block; height: 100%; width: 0; border-radius: 99px; background: var(--app-teal); animation: qdWork 1.4s ease-in-out forwards; }
@keyframes qdWork { to { width: 100%; } }
.qd-quote { margin: 0; padding: 10px 14px; border-left: 3px solid var(--app-teal); background: var(--app-bg); border-radius: 0 8px 8px 0; font-size: 14px; line-height: 1.55; color: var(--app-ink); }
@media (prefers-reduced-motion: reduce) { .qd-working i { animation: none; width: 100%; } }

/* Étape 3 : trois offres au même niveau */
.qd-offer.is-reco { border: 1px solid var(--app-rule); box-shadow: none; }
.qd-offer__head { background: var(--sillage-ink); border-bottom: 0; }
.qd-offer__head h3 { color: var(--sillage-on-ink); }

/* ---------- Audit Express — étape 1 simplifiée ---------- */
.au-file.is-error { border-color: var(--state-alert-rule); background: var(--state-alert-bg); }
.au-file__ok { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--state-success); color: #fff; font-size: 11px; vertical-align: 1px; }
.au-spin { display: inline-block; width: 14px; height: 14px; border: 2px solid var(--sillage-rule); border-top-color: var(--sillage-gold); border-radius: 50%; animation: auSpin .8s linear infinite; vertical-align: -2px; }
.au-card abbr { text-decoration: none; color: var(--state-alert); border: 0; }
.au-error[hidden] { display: none; }
.au-shell .au-card { gap: 16px; }
.au-shell .au-drop { padding: 22px 16px; }
@media (prefers-reduced-motion: reduce) { .au-spin { animation: none; } }

.audit-promo__vhead { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.audit-promo__fake { padding: 2px 10px; border-radius: 99px; border: 1px dashed var(--sillage-gold); font-family: var(--font-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: #8A5B12; }
.audit-promo__score { display: flex; align-items: center; gap: 14px; font-family: var(--font-display); font-weight: 700; font-size: 15px; line-height: 1.25; color: var(--sillage-ink); }
.audit-promo__score .au-lv { width: 56px; height: 56px; border-radius: 14px; font-size: 30px; }
.audit-promo__score small { font-weight: 400; font-size: 12.5px; color: var(--sillage-text); }
.au-shell .au-stage__inner { gap: 14px; }
.au-shell .au-h2 { font-size: clamp(22px, 2.4vw, 28px); }
.au-shell .au-card { padding: 20px 22px; gap: 14px; }
.au-shell .au-lede { font-size: 15px; }
.au-shell .au-source { gap: 8px; }
@media (max-width: 1099px) { .au-shell .au-steps__btn:not(.is-active) .au-steps__label { display: none; } .au-shell .au-steps__btn { padding-right: 12px; } }

/* Formulaire de contact — liste de solutions : le libellé complet doit rester lisible sur mobile */
.demo-form select { text-overflow: ellipsis; }
@media (max-width: 599px) {
  .demo-form select { font-size: 13.5px; padding-left: 10px; padding-right: 6px; }
}

/* QUALIA — deux publics : entreprises et organismes de formation */
.agent-block__audience { list-style: none; margin: -6px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.agent-block__audience li { padding: 4px 12px; border: 1px solid var(--sillage-rule); border-radius: 999px; background: rgba(31, 61, 51, .05); font-size: 12.5px; font-weight: 600; letter-spacing: .01em; color: var(--sillage-ink); }
.qd-preview__audience { margin: 0; font-size: 13px; line-height: 1.55; color: var(--sillage-text); }

/* =====================================================================
   Accueil V3 — « Révélez le stratège »
   Hero · Douleurs · Verdict · Transformation · Agents · Passez à l'action
   Syne (titres de l'accueil), Plus Jakarta Sans (texte), IBM Plex Mono (labels).
   ===================================================================== */
.home-v3 { --font-title: "Syne", "Plus Jakarta Sans", system-ui, sans-serif; --v3-gold-ink: #8A5A12; --v3-alert: #A04A39; }
.home-v3 h1, .home-v3 h2, .home-v3 .hero__title { font-family: var(--font-title); font-weight: 700; letter-spacing: -.02em; }
.v3-wrap { max-width: var(--site-max); margin: 0 auto; padding: 0 var(--site-gutter); }
.v3-title { font-size: clamp(28px, 4.6vw, 54px); line-height: 1.08; text-wrap: balance; }
.v3-title--on-ink { color: var(--sillage-on-ink); }
.v3-lede { font-size: 18px; line-height: 1.6; color: var(--sillage-text); max-width: 640px; margin: 0; text-wrap: pretty; }
.v3-lede--on-ink { color: var(--sillage-on-ink-soft); }

/* ----- Hero ----- */
.hero--v3 { padding-top: clamp(40px, 8vw, 96px); gap: clamp(36px, 5vw, 64px); }
.hero--v3 .hero__copy { gap: 22px; min-width: 0; }
.v3-capsule { margin: 0; align-self: flex-start; max-width: 100%; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 8px 16px; border-radius: 18px; background: var(--sillage-ink); color: var(--sillage-on-ink); font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; line-height: 1.5; }
.v3-capsule svg { flex: none; color: #8FD0A8; }
.v3-capsule span:not(:last-child)::after { content: "·"; margin-left: 8px; color: var(--sillage-gold); }
.hero--v3 .hero__title { font-size: clamp(32px, 4.2vw, 56px); line-height: 1.06; letter-spacing: -.03em; }
@media (min-width: 900px) { .hero--v3 { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } }
@media (max-width: 899px) { .hero--v3 .hero__title { font-size: clamp(32px, 8.4vw, 52px); } }
.v3-accent { color: var(--sillage-gold-large); white-space: nowrap; }
.hero__conviction { margin: 0; max-width: 520px; font-size: clamp(17px, 1.7vw, 20px); line-height: 1.55; font-weight: 500; color: var(--sillage-ink); text-wrap: pretty; }
.hero__punch { margin: 0; font-size: 16px; font-weight: 600; color: var(--v3-gold-ink); }
.hero--v3 .hero__ctas { margin-top: 4px; }
.v3-proof { list-style: none; margin: 6px 0 0; padding: 18px 0 0; border-top: 1px solid var(--sillage-rule); display: grid; grid-template-columns: repeat(4, auto); justify-content: start; gap: 12px 28px; }
.v3-proof li { white-space: nowrap; display: inline-flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 600; color: var(--sillage-ink); }
.v3-proof svg { flex: none; color: var(--sillage-gold); }
@media (max-width: 899px) { .hero--v3 .hero__visual { order: 2; } }
@media (min-width: 600px) { .hero--v3 .hero__ctas { flex-direction: row; align-items: center; } .hero--v3 .hero__ctas .btn:first-child { width: auto; } }
@media (max-width: 599px) {
  .hero--v3 .hero__ctas { flex-direction: column; align-items: stretch; gap: 10px; }
  .hero--v3 .hero__ctas .btn { width: 100%; }
  .v3-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
  .v3-proof li { font-size: 13.5px; white-space: normal; }
}

/* ----- Douleurs ----- */
.v3-pains { padding: clamp(48px, 8vw, 96px) 0 clamp(56px, 9vw, 104px); }
.v3-pains__head { display: flex; flex-direction: column; gap: 16px; margin-bottom: clamp(28px, 4vw, 48px); }
.v3-pains__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
.v3-pain { display: flex; flex-direction: column; gap: 14px; padding: clamp(22px, 3vw, 34px); background: #fff; border: 1px solid var(--sillage-rule); border-radius: var(--radius-card-lg); box-shadow: 0 1px 2px rgba(18, 39, 33, .04); }
.v3-pain__top { display: flex; align-items: center; gap: 12px; }
.v3-pain__ico { flex: none; width: 30px; height: 30px; }
.v3-pain__num { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--sillage-text-muted); }
.v3-pain__a { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: clamp(20px, 2.1vw, 26px); line-height: 1.2; letter-spacing: -.02em; color: var(--sillage-ink); text-wrap: balance; }
.v3-pain__b { margin: 0; font-style: italic; font-weight: 600; font-size: 16px; line-height: 1.45; color: var(--v3-alert); }
.v3-pain__c { margin: 0; font-size: 14px; line-height: 1.6; color: var(--sillage-text); }
@media (max-width: 767px) {
  .v3-pains__grid { grid-template-columns: minmax(0, 1fr); }
  .v3-pain { gap: 10px; padding: 20px; }
}

/* ----- Verdict ----- */
.v3-verdict { background: #F5ECD3; border-top: 1px solid #E8D9AE; border-bottom: 1px solid #E8D9AE; padding: clamp(64px, 11vw, 140px) var(--site-gutter); text-align: center; }
.v3-verdict__inner { max-width: 1040px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: clamp(20px, 3vw, 36px); }
.v3-verdict__rule { width: 56px; height: 3px; border-radius: 3px; background: var(--sillage-gold); }
.v3-verdict__main { margin: 0; font-family: var(--font-title); font-weight: 700; font-size: clamp(26px, 5vw, 62px); line-height: 1.1; letter-spacing: -.025em; text-wrap: balance; }
.v3-verdict__a { display: block; color: var(--sillage-ink); }
.v3-verdict__b { display: block; margin-top: .4em; color: var(--sillage-ink-deep); }
.v3-verdict__b mark { color: inherit; background: linear-gradient(transparent 64%, rgba(197, 138, 46, .55) 64%); padding: 0 .08em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.v3-verdict__sub { margin: 0; max-width: 640px; font-size: clamp(16px, 1.8vw, 20px); line-height: 1.6; color: #5A5444; text-wrap: balance; }

/* ----- Transformation ----- */
.v3-shift { background: var(--sillage-paper-alt); padding: clamp(56px, 9vw, 112px) 0; }
.v3-shift .v3-wrap { display: flex; flex-direction: column; gap: clamp(28px, 4vw, 44px); }
.v3-shift__head { display: flex; flex-direction: column; gap: 16px; max-width: 880px; }
.v3-conv { position: relative; max-width: 820px; padding: 24px 28px 24px 32px; background: #fff; border: 1px solid var(--sillage-rule); border-left: 4px solid var(--sillage-gold); border-radius: var(--radius-card); display: flex; flex-direction: column; gap: 10px; }
.v3-conv__label { font-family: var(--font-mono); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--v3-gold-ink); font-weight: 500; }
.v3-conv p { margin: 0; font-size: clamp(17px, 1.9vw, 21px); line-height: 1.55; font-weight: 500; color: var(--sillage-ink); text-wrap: pretty; }
.v3-cmp { display: flex; flex-direction: column; gap: 14px; }
.v3-cmp__head, .v3-cmp__row { display: grid; grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr); align-items: stretch; }
.v3-cmp__head { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: -2px; }
.v3-cmp__head span:first-child { color: var(--sillage-text-muted); padding-left: 4px; }
.v3-cmp__head span:last-child { color: var(--v3-gold-ink); padding-left: 4px; }
.v3-cell { display: flex; align-items: center; gap: 16px; padding: 20px 22px; border-radius: var(--radius-card); min-width: 0; }
.v3-cell p { margin: 0; font-size: clamp(16px, 1.5vw, 18px); line-height: 1.4; font-weight: 600; text-wrap: pretty; }
.v3-cell__ico { flex: none; width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; }
.v3-cell__label { display: none; margin-bottom: 4px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; }
.v3-cell--before { background: var(--sillage-paper); border: 1px solid var(--sillage-on-cream-rule); }
.v3-cell--before p { color: var(--sillage-text); font-weight: 500; }
.v3-cell--before .v3-cell__ico { background: rgba(31, 61, 51, .06); color: var(--sillage-text-muted); }
.v3-cell--before .v3-cell__label { color: var(--sillage-text-muted); }
.v3-cell--after { background: var(--sillage-ink); box-shadow: var(--shadow-panel); }
.v3-cell--after p { color: var(--sillage-on-ink); }
.v3-cell--after .v3-cell__ico { background: rgba(197, 138, 46, .18); color: #E2B25E; }
.v3-cell--after .v3-cell__label { color: #E2B25E; }
.v3-cmp__arrow { display: flex; align-items: center; justify-content: center; font-size: 0; }
.v3-cmp__arrow::before { content: "→"; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--sillage-gold); color: var(--sillage-ink-deep); font-weight: 800; font-size: 18px; line-height: 1; }
.v3-punch { margin: clamp(8px, 2vw, 24px) 0 0; text-align: center; font-family: var(--font-title); font-weight: 700; font-size: clamp(28px, 5.6vw, 68px); line-height: 1.1; letter-spacing: -.03em; color: var(--sillage-ink); text-wrap: balance; }
.v3-punch span { display: inline-block; }
.v3-punch__gold { color: var(--sillage-gold-large); }
@media (min-width: 1100px) { .v3-punch span:not(.v3-punch__gold) { margin-right: .15em; } }
@media (max-width: 767px) {
  .v3-cmp { gap: 18px; }
  .v3-cmp__head { display: none; }
  .v3-cmp__row { grid-template-columns: minmax(0, 1fr); row-gap: 6px; }
  .v3-cmp__arrow { height: 30px; }
  .v3-cmp__arrow::before { transform: rotate(90deg); width: 30px; height: 30px; font-size: 16px; }
  .v3-cell { padding: 16px; gap: 14px; }
  .v3-cell__label { display: block; }
  .v3-cell__ico { width: 36px; height: 36px; }
}

/* ----- Agents ----- */
.home-v3 #agents { padding: clamp(56px, 9vw, 112px) 0; }
.v3-agents { display: flex; flex-direction: column; gap: clamp(32px, 5vw, 56px); }
.v3-agents__head { display: flex; flex-direction: column; gap: 18px; }
.v3-agents__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.v3-agent { --ac: #2E8C7A; --acd: #1F6F5F; --acbg: #E0EEEA; display: flex; flex-direction: column; gap: 14px; padding: clamp(24px, 3vw, 36px); background: var(--sillage-paper); border-radius: var(--radius-card-lg); border-top: 4px solid var(--ac); }
.v3-agent--dojo { --ac: #7A66B8; --acd: #5B4B9A; --acbg: #EBE7F5; }
.v3-agent--didalia { --ac: #C58A2E; --acd: #8A5A12; --acbg: #F5EAD3; }
.v3-agent--nori { --ac: #3F78B5; --acd: #2F5F99; --acbg: #E1EAF4; }
.v3-agent__strat { margin: 0; font-family: var(--font-signature); font-style: italic; font-size: clamp(19px, 1.9vw, 23px); line-height: 1.3; color: var(--acd); text-wrap: balance; }
.v3-agent h3 { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: clamp(21px, 2.2vw, 28px); line-height: 1.18; letter-spacing: -.02em; color: var(--sillage-ink); text-wrap: balance; }
.v3-agent__badge { align-self: flex-start; padding: 4px 12px; border-radius: 999px; background: var(--acbg); color: var(--acd); font-family: var(--font-mono); font-size: 11.5px; font-weight: 500; letter-spacing: .16em; }
.v3-agent__desc { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--sillage-text); }
.v3-agent__feats { list-style: none; margin: auto 0 0; padding: 14px 0 0; border-top: 1px solid var(--sillage-rule); display: flex; flex-direction: column; gap: 9px; }
.v3-agent__feats li { position: relative; padding-left: 24px; font-size: 14.5px; font-weight: 600; line-height: 1.45; color: var(--sillage-ink); }
.v3-agent__feats li::before { content: ""; position: absolute; left: 0; top: .3em; width: 14px; height: 14px; border-radius: 50%; background: var(--acbg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M4 7.2l2 2L10 5' fill='none' stroke='%23122721' stroke-opacity='.65' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; box-shadow: inset 0 0 0 1px var(--ac); }
.v3-agent__link { padding-top: 6px; display: inline-flex; align-items: center; gap: 8px; width: fit-content; font-size: 14.5px; font-weight: 700; color: var(--acd); border-bottom: 1px solid transparent; }
.v3-agent__link:hover { color: var(--acd); border-bottom-color: var(--ac); }
.v3-agent__link span { color: var(--ac); }
@media (max-width: 767px) { .v3-agents__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; } }

/* ----- Passez à l'action ----- */
.v3-action { padding: clamp(48px, 8vw, 96px) 0 clamp(56px, 9vw, 112px); }
.v3-action__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.v3-action__main, .v3-action__partner { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; border-radius: var(--radius-panel); padding: clamp(28px, 4vw, 52px); }
.v3-action__main { background: var(--sillage-ink); color: var(--sillage-on-ink); }
.v3-action__partner { background: var(--sillage-paper-alt); border: 1px solid var(--sillage-on-cream-rule); }
.v3-action__label { font-family: var(--font-mono); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: #E2B25E; }
.v3-action__label--soft { color: var(--v3-gold-ink); }
.v3-action__title { margin: 0; font-size: clamp(28px, 3.9vw, 48px); line-height: 1.08; color: var(--sillage-on-ink); text-wrap: balance; }
.v3-action__title--sm { font-size: clamp(24px, 2.7vw, 34px); color: var(--sillage-ink); }
.v3-action__sub { margin: 0; max-width: 520px; font-size: 17px; line-height: 1.6; color: var(--sillage-on-ink-soft); }
.v3-action__partner .v3-action__sub { font-size: 16px; color: var(--sillage-text); }
.v3-btn { margin-top: auto; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 30px; border-radius: 999px; font-family: var(--font-body); font-size: 16px; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .12s ease, background .15s ease, color .15s ease; }
.v3-btn:active { transform: scale(.98); }
.v3-btn--gold { background: var(--sillage-gold); color: var(--sillage-ink-deep); border: 1px solid var(--sillage-gold); }
.v3-btn--gold:hover { background: #D39A3C; color: var(--sillage-ink-deep); }
.v3-btn--outline { background: transparent; color: var(--sillage-ink); border: 1.5px solid var(--sillage-ink); }
.v3-btn--outline:hover { background: var(--sillage-ink); color: var(--sillage-on-ink); }
.v3-btn:focus-visible, .v3-agent__link:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 3px; }
@media (max-width: 899px) {
  .v3-action__grid { grid-template-columns: minmax(0, 1fr); }
  .v3-btn { width: 100%; margin-top: 8px; }
}
@media (prefers-reduced-motion: reduce) { .v3-btn { transition: none; } }

/* Décryptages — référence de source, discrète */
.lab-source { margin: 14px 0 0; font-size: 13px; line-height: 1.5; color: var(--sillage-text); }
.lab-source a { color: var(--sillage-ink); text-decoration: underline; text-decoration-color: var(--sillage-gold); text-underline-offset: 3px; }
.lab-source a:hover { text-decoration-thickness: 2px; }
.lab-source__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Accessibilité — couleurs de texte d'état sur fonds teintés (≥ 4,5:1) */
.dd-level { color: #80540F; }
.dd-chip { color: #256548; }
.qd-kicker { color: #236B5B; }
.qd-brand__title { color: #236B5B; }

/* Accessibilité — zones cliquables d'au moins 24 px de haut (WCAG 2.2, critère 2.5.8) */
.site-footer__nav a, .lab-back { display: inline-flex; align-items: center; min-height: 24px; }
.text-link { min-height: 24px; }
@media (min-width: 768px) { .nav a:not(.btn) { display: inline-flex; align-items: center; min-height: 24px; } }

/* ---------- Pages légales (mentions légales, confidentialité) ---------- */
.legal { padding: clamp(40px, 7vw, 88px) var(--site-gutter) clamp(56px, 9vw, 104px); }
.legal__inner { max-width: 780px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; color: var(--sillage-text); font-size: 16px; line-height: 1.7; }
.legal__eyebrow { margin: 0; font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--track-label-wide); text-transform: uppercase; color: var(--sillage-gold-text); }
.legal__title { margin: 0; font-size: clamp(30px, 4.6vw, 48px); line-height: 1.1; letter-spacing: var(--track-display); color: var(--sillage-ink); }
.legal__updated { margin: 0; font-size: 14px; color: var(--sillage-text-muted); }
.legal__lede { margin: 4px 0 0; font-size: 18px; line-height: 1.6; color: var(--sillage-ink); }
.legal h2 { margin: clamp(22px, 3vw, 34px) 0 0; font-size: clamp(21px, 2.4vw, 26px); line-height: 1.25; letter-spacing: var(--track-display); color: var(--sillage-ink); scroll-margin-top: 90px; }
.legal h3 { margin: 10px 0 0; font-family: var(--font-display); font-weight: 700; font-size: 17px; color: var(--sillage-ink); }
.legal p { margin: 0; }
.legal a { color: var(--sillage-ink); text-decoration: underline; text-decoration-color: var(--sillage-gold); text-underline-offset: 3px; }
.legal a:hover { text-decoration-thickness: 2px; }
.legal__list { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 6px; }
.legal__toc { margin: 8px 0 0; padding: 18px 22px; background: var(--sillage-paper-alt); border-radius: var(--radius-card); }
.legal__toc ol { margin: 0; padding-left: 22px; columns: 2; column-gap: 32px; font-size: 15px; line-height: 1.8; }
.legal__table-wrap { overflow-x: auto; border: 1px solid var(--sillage-rule); border-radius: var(--radius-card); background: #fff; }
.legal__table { width: 100%; border-collapse: collapse; font-size: 14.5px; line-height: 1.55; min-width: 560px; }
.legal__table th, .legal__table td { padding: 12px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--sillage-rule); }
.legal__table thead th { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; color: var(--sillage-text-muted); background: var(--sillage-paper-alt); }
.legal__table tbody th { font-weight: 600; color: var(--sillage-ink); width: 30%; }
.legal__table tr:last-child th, .legal__table tr:last-child td { border-bottom: 0; }
.legal code { font-family: var(--font-mono); font-size: 13px; background: var(--sillage-paper-alt); padding: 1px 6px; border-radius: 4px; }
.legal__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.legal__optout { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 18px 22px; border: 1px solid var(--sillage-rule); border-radius: var(--radius-card); background: #fff; }
.legal__optout-status { font-weight: 500; color: var(--sillage-ink); }
.legal-todo { background: #FFF1C9; color: #5E3B00; border: 1px dashed #C58A2E; border-radius: 4px; padding: 0 5px; font-weight: 600; }
@media (max-width: 599px) { .legal__toc ol { columns: 1; } .legal__table { min-width: 480px; } }

/* Rapport d'audit : mentions en pied de page */
.ar-foot__legal { display: flex; gap: 6px 18px; flex-wrap: wrap; font-size: 13.5px; }

/* ---------- Audit Express — restitution : note expliquée, regard de QUALIA, cartes, Qualiopi, rapport détaillé ---------- */
.au-express h3, .ar-block h3 { font-family: var(--font-display); font-weight: 700; font-size: 17px; letter-spacing: var(--track-display); color: var(--sillage-ink); margin: 6px 0 0; }
.au-warnings ul { margin: 6px 0 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; }
.au-levels { width: 100%; border-top: 1px solid var(--sillage-rule); padding-top: 10px; }
.au-levels summary { cursor: pointer; font-weight: 600; font-size: 14.5px; color: var(--sillage-ink); padding: 4px 0; }
.au-levels summary:focus-visible { outline: 2px solid var(--sillage-gold); outline-offset: 2px; border-radius: 4px; }
.au-levels ul { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.au-levels li { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.5; color: var(--sillage-ink); }
.au-levels li .au-lv { flex: none; width: 30px; height: 30px; font-size: 15px; border-radius: 8px; }
.au-levels li.is-mine { background: var(--sillage-paper-alt); border-radius: 10px; padding: 8px 10px; margin: 0 -10px; }
.au-mine { font-style: normal; font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; padding: 1px 8px; border-radius: 99px; background: var(--sillage-ink); color: var(--sillage-on-ink); }
.au-levels__note { margin: 10px 0 0; font-size: 13px; color: var(--sillage-text); }

.au-qualia { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px; border-radius: 16px; background: var(--sillage-paper-alt); border: 1px solid var(--sillage-rule); }
.au-qualia > p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--sillage-ink); }
.au-qualia__sig { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--sillage-ink); padding-bottom: 8px; border-bottom: 1px solid var(--sillage-rule); }
.au-qualia__mark { flex: none; width: 28px; height: 28px; border-radius: 8px; background: var(--sillage-ink); color: var(--sillage-gold-on-ink); display: grid; place-items: center; font-weight: 800; font-size: 15px; }
.au-limits { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 15px; line-height: 1.55; color: var(--sillage-ink); }
.au-cov { list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.au-cov li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; background: #fff; border: 1px solid var(--sillage-rule); border-radius: 12px; font-size: 13.5px; line-height: 1.45; color: var(--sillage-ink); }
.au-cov__st { flex: none; min-width: 92px; padding: 2px 8px; border-radius: 99px; font-size: 12px; font-weight: 700; white-space: nowrap; border: 1px solid currentColor; }
.au-cov__st--covered { color: var(--state-success); background: var(--state-success-bg); }
.au-cov__st--partial { color: #8F5C10; background: var(--state-watch-bg); }
.au-cov__st--absent { color: var(--state-alert); background: var(--state-alert-bg); }
.au-cov__st--unclear { color: var(--sillage-text-muted); background: var(--sillage-paper); }
.au-cov__txt { min-width: 0; }
.au-note { margin: 0; padding: 12px 16px; border-left: 4px solid var(--sillage-gold); background: #FFFCF5; border-radius: 0 12px 12px 0; font-size: 14.5px; line-height: 1.55; color: var(--sillage-ink); }

.au-cards3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.au-card3 { display: flex; flex-direction: column; gap: 10px; padding: 18px 18px 20px; border: 1px solid var(--sillage-rule); border-top-width: 4px; border-radius: 14px; background: #fff; }
.au-card3 h3 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 17px; }
.au-card3 p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--sillage-ink); }
.au-card3__main { font-weight: 600; }
.au-card3--keep { border-top-color: #2F7D5B; background: #F6FBF8; }
.au-card3--improve { border-top-color: #C58A2E; background: #FFFCF5; }
.au-card3--advice { border-top-color: #1F3D33; background: var(--sillage-paper-alt); }
.au-tag { display: inline-block; padding: 1px 9px; border-radius: 99px; background: var(--sillage-paper-alt); border: 1px solid var(--sillage-rule); font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--sillage-text-muted); }
.au-tag--prop { background: var(--sillage-ink); border-color: var(--sillage-ink); color: var(--sillage-on-ink); }
.au-quote { margin: 0; padding: 10px 12px; border-left: 3px solid var(--sillage-rule); background: rgba(255, 255, 255, .7); border-radius: 0 10px 10px 0; font-size: 14px; line-height: 1.5; font-style: italic; color: var(--sillage-ink); display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.au-quote .au-tag { font-style: normal; }
.au-prop { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; padding: 10px 12px; border: 1px dashed var(--sillage-ink); border-radius: 10px; background: #fff; }
.au-prop p { font-weight: 600; }

.au-qualiopi { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px; border: 1px solid var(--sillage-rule); border-radius: 14px; background: #fff; }
.au-qualiopi h3 { margin: 0; }
.au-qualiopi__lead { margin: 0; font-size: 15px; line-height: 1.6; color: var(--sillage-ink); }
.au-qualiopi__list { margin: 0; padding-left: 20px; font-size: 14px; color: var(--sillage-text); display: flex; flex-direction: column; gap: 4px; }
.au-deliver { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 6px; font-size: 15px; line-height: 1.5; color: var(--sillage-ink); }
.au-deliver li::marker { color: var(--sillage-gold-text); }
.au-next h3 { margin: 0; }

.ar-print { margin: 6px 0 0; }
.ar-qs { display: flex; flex-direction: column; gap: 12px; }
.ar-q { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; background: #fff; border: 1px solid var(--sillage-rule); border-left: 4px solid var(--sillage-rule); border-radius: 14px; }
.ar-q--reformuler { border-left-color: #C58A2E; } .ar-q--fusionner { border-left-color: #3F78B5; } .ar-q--supprimer { border-left-color: #A83A22; } .ar-q--conserver { border-left-color: #2F7D5B; }
.ar-q header { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.ar-q__n { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--sillage-text-muted); }
.ar-q__act { padding: 2px 10px; border-radius: 99px; border: 1px solid var(--sillage-ink); font-size: 12.5px; font-weight: 700; color: var(--sillage-ink); }
.ar-q__text { margin: 0; font-size: 15.5px; font-weight: 600; line-height: 1.45; color: var(--sillage-ink); }
.ar-q__fmt { display: block; margin-top: 4px; font-size: 12.5px; font-weight: 400; color: var(--sillage-text); }
.ar-q dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
.ar-q dt, .ar-qpoint dt { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--sillage-text-muted); margin-bottom: 3px; }
.ar-q dd, .ar-qpoint dd { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--sillage-ink); display: flex; flex-direction: column; gap: 6px; }
.ar-imps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ar-imps li { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; background: #fff; border: 1px solid var(--sillage-rule); border-radius: 14px; }
.ar-imps p { margin: 0; font-size: 14.5px; line-height: 1.5; }
.ar-opt { margin: 0; padding-left: 24px; display: flex; flex-direction: column; gap: 10px; }
.ar-opt li { padding: 8px 0 10px; border-bottom: 1px solid var(--sillage-rule); font-size: 15px; line-height: 1.5; color: var(--sillage-ink); }
.ar-opt li p { margin: 4px 0 0; font-weight: 600; }
.ar-opt .ar-opt__fmt { font-weight: 400; font-size: 13px; color: var(--sillage-text); }
.ar-time { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ar-time > div { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 12px; background: var(--sillage-paper-alt); }
.ar-time span { font-size: 12.5px; color: var(--sillage-text); }
.ar-time b { font-family: var(--font-display); font-size: 24px; color: var(--sillage-ink); }
.ar-qpoints { display: flex; flex-direction: column; gap: 14px; }
.ar-qpoint { display: flex; flex-direction: column; gap: 12px; padding: 18px 20px; background: #fff; border: 1px solid var(--sillage-rule); border-left: 4px solid #3F78B5; border-radius: 14px; }
.ar-qpoint h3 { margin: 0; font-size: 17px; }
.ar-qpoint dl { margin: 0; display: flex; flex-direction: column; gap: 12px; }
.ar-qref { font-size: 14px; }
.ar-qmeta { font-size: 12.5px; color: var(--sillage-text); }
.ar-qmeta a, .ar-block a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 899px) { .au-cards3 { grid-template-columns: minmax(0, 1fr); } .au-cov { grid-template-columns: minmax(0, 1fr); } .ar-q dl { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 599px) { .ar-time { grid-template-columns: minmax(0, 1fr); } .au-qualia { padding: 16px; } }
.au-limits, .au-qualiopi__list { list-style: disc; }
.au-deliver { list-style: disc; }
.au-steps__btn.is-done .au-steps__num, .au-steps__btn.is-done .au-steps__num { background: #236B5B; }
.au-cov__st--covered { color: #256548; }
.ar-dim--correcte .ar-pill { color: #236B5B; }
.ar-dim--a_renforcer .ar-pill { color: #80540F; }
.v3-proof__sub { font-weight: 500; color: var(--sillage-text); }
