img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
.adomi-btn{display:flex;align-items:center;gap:.5rem;background:#ff3131;color:#fff;border:none;border-radius:999px;padding:.55rem 1rem .55rem .8rem;cursor:pointer;font-size:13px;font-weight:600;box-shadow:0 4px 16px rgba(255,49,49,.32);transition:transform .15s,box-shadow .15s}
.adomi-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,49,49,.44)}
.adomi-btn svg{width:20px;height:20px;flex-shrink:0}
.adomi-panel{display:none;position:absolute;bottom:calc(100% + .75rem);right:0;width:300px;background:#fff;border-radius:14px;box-shadow:0 8px 40px rgba(0,0,0,.16);overflow:hidden}
.adomi-panel.open{display:block;animation:adomiIn .2s ease}
@keyframes adomiIn{from{opacity:0;transform:scale(.95) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}
.adomi-head{background:#ff3131;color:#fff;padding:.85rem 1.1rem;font-weight:700;font-size:14px;display:flex;align-items:center;gap:.5rem}
.adomi-head span{font-size:10px;font-weight:500;background:rgba(255,255,255,.25);padding:2px 7px;border-radius:999px}
.adomi-body{padding:1.1rem;color:#444;font-size:13px;line-height:1.6}
/* Scroll reveal */
.anim-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.anim-reveal.visible{opacity:1;transform:translateY(0)}
.anim-reveal.d1{transition-delay:.12s}
.anim-reveal.d2{transition-delay:.24s}
.anim-reveal.d3{transition-delay:.36s}
/* Card hover lift */
.bl-art{transition:transform .22s ease,box-shadow .22s ease;cursor:pointer}
.bl-art:hover{transform:translateY(-5px);box-shadow:0 14px 36px rgba(0,0,0,.13)}
.uc-card{transition:transform .22s ease,box-shadow .22s ease}
.uc-card:hover{transform:translateY(-5px);box-shadow:0 14px 36px rgba(0,0,0,.11)}
/* CTA button pulse ring */
@keyframes ctaPulse{0%,100%{box-shadow:0 2px 12px rgba(255,49,49,.28)}50%{box-shadow:0 2px 22px rgba(255,49,49,.52)}}
.hdr-cta{animation:ctaPulse 2.8s ease-in-out infinite}
/* Number/stat highlight */
@keyframes countUp{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
.lp-arg-v{transition:transform .2s ease}
.lp-arg-v:hover{transform:scale(1.04)}
/* ── Title size reduction ── */
.lp-h1{font-size:clamp(1.85rem,3.1vw,2.85rem)!important;line-height:1.12!important;letter-spacing:-0.03em!important}
.lp-h1 .thin{font-weight:300;font-style:italic;color:rgba(255,255,255,.5)}
.lp-sub{font-size:15.5px!important;line-height:1.7!important}
.lp-preview-in h3,.lp-preview-in h2{font-size:clamp(1.3rem,2vw,2rem)!important;line-height:1.2!important}
.form-sec h2,.form-h{font-size:clamp(1.25rem,1.9vw,1.85rem)!important;line-height:1.2!important}
h2.anim-reveal{font-size:clamp(1.3rem,2vw,2rem)!important;line-height:1.2!important}
/* Blog & cas-clients section titles */
.bl-hero h1,.cc-hero h1,.bl-h1{font-size:clamp(1.7rem,2.8vw,2.6rem)!important}

/* ── Typewriter cursor ── */
.tw-cursor{display:inline-block;width:2px;height:.9em;background:#ff3131;margin-left:2px;vertical-align:middle;animation:twBlink .75s step-end infinite}
@keyframes twBlink{0%,100%{opacity:1}50%{opacity:0}}
/* Fix image hero (override Elementor) */
#hero{position:relative!important;overflow:hidden!important;min-height:0}
#hero .hero-img{
	  position:absolute!important;
	  right:0!important;left:auto!important;top:0!important;bottom:0!important;
	  width:48%!important;height:100%!important;max-width:none!important;
	  object-fit:cover!important;opacity:.18!important;
	  -webkit-mask-image:linear-gradient(to left,rgba(0,0,0,.6),transparent)!important;
	  mask-image:linear-gradient(to left,rgba(0,0,0,.6),transparent)!important;
	pointer-events:none;z-index:0}
#hero>*{position:relative;z-index:1}
#hero .lines-bg{z-index:0!important}

/* Fix opacity reveal (au cas o les animations seraient bloques) */
.r,.label-anim,.st,.pq-item,.cm-step,.ql-item,.ip,.rl-img,.cm-img,.wire,.cf-item{opacity:1!important;transform:none!important}

/* Bouton CTA rouge (pas violet) */
.cta-btn.rouge,.hdr-cta,.input-row button,.input-row-l button{background:#FF3131!important;color:#fff!important}
.input-row button,.input-row-l button{background:transparent!important;color:#FF3131!important}
}

/* ── FORMULAIRE COMPLET (grid) ── */
.form-block{max-width:620px!important}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;margin-bottom:1rem}
.f-row{display:flex;flex-direction:column}
.f-row.f-full{grid-column:1 / -1}
.form-grid input,.form-grid textarea{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.14);
  border-radius:3px;
  padding:.8rem 1rem;
  font-family:inherit;font-size:14px;
  color:#fff;outline:none;width:100%;
  transition:border-color .2s,background .2s;
  resize:vertical
}
.form-grid textarea{min-height:90px}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:rgba(255,255,255,.38)}
.form-grid input:focus,.form-grid textarea:focus{border-color:#FF3131;background:rgba(255,255,255,.07)}
/* Variante fond clair (si un jour on met la form sur section light) */
.s-light .form-grid input,.s-light .form-grid textarea,
.s-white .form-grid input,.s-white .form-grid textarea{
  background:rgba(26,26,26,.03)!important;
  border-color:rgba(26,26,26,.14)!important;
  color:#1A1A1A!important
}
.s-light .form-grid input::placeholder,.s-light .form-grid textarea::placeholder{color:rgba(26,26,26,.4)!important}
/* Bouton submit */
.f-submit{
  background:#FF3131!important;color:#fff!important;
  border:none!important;border-radius:3px!important;
  padding:.95rem 1.75rem!important;
  font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;
  display:inline-flex!important;align-items:center;gap:8px;
  margin-top:1.1rem;width:auto!important;
  transition:opacity .2s,transform .2s
}
.f-submit:hover{opacity:.88;transform:translateY(-1px)}
.f-submit svg{width:14px;height:14px;transition:transform .2s}
.f-submit:hover svg{transform:translateX(3px)}
/* Checkbox opt-in plus visible */
.cr{margin-top:.9rem!important;margin-bottom:.25rem}
.cl,.cl-l{font-size:11.5px!important;line-height:1.7!important}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}}


/* ============================================================
   ADOMOS PRO · CORRECTIFS CSS — Growthappiness · 22/04/2026
   Appended by cowork session
   ============================================================ */

/* ---- A3.1 · Social proof ticker (#spTicker) — déplacé bas-gauche, 280px max ---- */
#spTicker.sp-ticker {
  position: fixed;
  bottom: 16px;
  left: 16px;
  right: auto;
  max-width: 280px;
  font-size: 12px;
  padding: 10px 14px;
  line-height: 1.35;
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
  border-radius: 12px;
  z-index: 40;
  opacity: .92;
}
#spTicker.sp-ticker:hover { opacity: 1; }
@media (max-width: 640px) {
  #spTicker.sp-ticker {
    left: 8px;
    right: 8px;
    bottom: 8px;
    max-width: none;
    font-size: 11.5px;
  }
}

/* ---- A3.2 · Offset WP admin bar en front ---- */
html.admin-bar .site-header,
html.admin-bar header[class*="header"] {
  top: 32px;
}
@media screen and (max-width: 782px) {
  html.admin-bar .site-header,
  html.admin-bar header[class*="header"] {
    top: 46px;
  }
}

/* ---- A3.3 · Typing effect accéléré ---- */
.lp-hero h1 .typed,
.lp-hero h1 .type-target,
[data-typed] {
  animation-duration: 900ms !important;
  animation-timing-function: steps(60, end) !important;
}

/* ---- A3.8 · Contraste .lp-sub WCAG AA ---- */
.lp-sub,
.lp-sub.anim-reveal,
.lp-sub.visible {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* ---- A3.9 · KPI band eyebrow ---- */
.kpi-band {
  padding: 96px 0 64px;
}
.kpi-band .eyebrow {
  font-size: 11px;
  letter-spacing: 0.25em;
  color: #FF3131;
  text-transform: uppercase;
  margin-bottom: 32px;
}

/* ---- A3.4 / A3.5 · Grid hero + visuel ---- */
.hero-with-visual {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
  align-items: center;
}
.hero-with-visual .hero-visual {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(255,49,49,.08), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.07);
}
.hero-with-visual .hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 960px) {
  .hero-with-visual {
    grid-template-columns: 1fr;
  }
  .hero-with-visual .hero-visual {
    aspect-ratio: 16/9;
    margin-top: 32px;
  }
}

/* ---- A3.7 · Fallback cartes blog sans featured image ---- */
.blog-card .post-thumb,
.post-card .thumb-empty {
  background:
    radial-gradient(circle at 30% 20%, rgba(255,49,49,.18) 0, transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(74,222,128,.10) 0, transparent 45%),
    #121212;
  position: relative;
  min-height: 200px;
  display: flex;
  align-items: flex-end;
  padding: 20px;
}
.blog-card .post-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
}

/* ---- Image placeholder slot ---- */
.img-slot {
  position: relative;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255,49,49,.06), rgba(255,255,255,.02)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.02) 0 12px, transparent 12px 24px);
  border: 1px dashed rgba(255,255,255,.12);
  aspect-ratio: 4/3;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.4);
  font-size: 12px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}
.img-slot::before {
  content: attr(data-label);
}

/* ---- Polish ---- */
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

html { scroll-padding-top: 96px; }
html.admin-bar { scroll-padding-top: 128px; }

/* Fin des correctifs Growthappiness */


/* ==== PATCH V2 — Alignement & Harmonisation (22/04/2026) ==== */

/* 1. Centrage des wrappers section */
.pq-wrap,
.tl-wrap,
.cm-wrap,
.ql-wrap,
.idee-in,
.lp-args-in,
.lp-preview-in,
.cs-wrap,
.xi-wrap {
  margin-inline: auto !important;
}

/* 2. Conteneur universel — section-level padding cohérent */
section > .pq-wrap,
section > .tl-wrap,
section > .cm-wrap,
section > .ql-wrap {
  width: 100%;
}

/* 3. Harmonisation titres sections — même taille / weight partout */
.pq-wrap .r.d1,
.pq-wrap .r.d2,
.tl-title,
.cm-wrap h2,
.ql-wrap h2,
.idee-in h2,
.cs-wrap h2 {
  font-size: clamp(2rem, 4vw, 3.5rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.05 !important;
  font-style: normal !important;
}

/* 4. Ligne secondaire grisée (effet "mot en second plan") */
.pq-wrap .r.d2,
.tl-title-sub {
  color: rgba(26, 26, 26, 0.2) !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

.cm-wrap h2 .thin,
.lp-h1 .thin,
.hero-line .thin,
.idee-claim .thin {
  color: rgba(255, 255, 255, 0.22) !important;
  font-style: normal !important;
  font-weight: 800 !important;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.38);
}

/* 5. Timeline title "Du particulier qualifié à votre rendez-vous honoré"
   — ajouter un vrai retour à la ligne + espacement */
.tl-title {
  padding-top: 0 !important;
  margin-bottom: 1.5rem !important;
  overflow: visible !important;
}

/* 6. Scroll padding ajustement admin-bar */
html.admin-bar { scroll-padding-top: 128px; }
html { scroll-padding-top: 96px; }

/* 7. Empêcher le header de chevaucher les titres en haut de section */
section { scroll-margin-top: 96px; }
html.admin-bar section { scroll-margin-top: 128px; }

/* ==== Fin PATCH V2 ==== */


/* HERO H1 SIZE OVERRIDE (22/04/2026) */
.hero-line, .hero-line-2, .hero-line-3, .hero-line-4 {
  font-size: clamp(2rem, 4.5vw, 4.8rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;
}
@media (max-width: 768px) {
  .hero-line, .hero-line-2, .hero-line-3, .hero-line-4 {
    font-size: clamp(1.8rem, 7.5vw, 2.8rem) !important;
  }
}


/* HEADER DROPDOWN — sous-menu Pour qui (22/04/2026) */
.primary-menu { position: relative; }
.primary-menu .has-sub { position: relative; }
.primary-menu .has-sub > a { display: inline-flex; align-items: center; gap: 4px; }
.primary-menu .has-sub .caret { font-size: 10px; opacity: 0.7; transition: transform .25s; }
.primary-menu .has-sub:hover .caret { transform: rotate(180deg); }
.primary-menu .sub-menu {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  min-width: 260px;
  background: #fff;
  border: 1px solid rgba(26, 26, 26, 0.08);
  border-radius: 8px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.1);
  padding: 12px 0;
  list-style: none;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
  z-index: 1000;
}
.primary-menu .has-sub:hover .sub-menu,
.primary-menu .has-sub:focus-within .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.primary-menu .sub-menu li { margin: 0; }
.primary-menu .sub-menu a {
  display: block;
  padding: 10px 22px;
  color: var(--encre, #1a1a1a);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background .15s, color .15s;
  white-space: nowrap;
}
.primary-menu .sub-menu a:hover {
  background: var(--creme, #f5f1ea);
  color: var(--rouge, #ff3a31);
}
/* Bridge to prevent flicker when moving mouse to submenu */
.primary-menu .has-sub::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 14px;
}
@media (max-width: 900px) {
  .primary-menu .sub-menu { display: none; }
}


/* VISUAL ENHANCEMENTS (22/04/2026) */
/* 1) Rendre les thumbs des cards POUR QUI beaucoup plus visibles */
.pq-it .pq-it-thumb {
  opacity: 0.18 !important;
  background-size: 60% auto !important;
  background-position: right -40px bottom -40px !important;
  background-repeat: no-repeat !important;
  transition: opacity .4s, transform .4s !important;
}
.pq-it:hover .pq-it-thumb {
  opacity: 0.32 !important;
  transform: scale(1.04);
}

/* 2) Hero avec un visuel à droite (clip décoratif sur desktop) */
@media (min-width: 1100px) {
  .hero {
    position: relative;
    overflow: hidden;
  }
  .hero::after {
    content: '';
    position: absolute;
    right: -80px;
    top: 50%;
    transform: translateY(-50%);
    width: 520px;
    height: 520px;
    background-image: url(assets/adomos-hero-1.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center right;
    opacity: 0.22;
    pointer-events: none;
    filter: saturate(1.1);
  }
}

/* 3) Visuel décoratif dans la section Comment ça marche */
.cm {
  position: relative;
}
.cm::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 320px;
  height: 100%;
  background-image: url(assets/fond-cta-adomos.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.1;
  pointer-events: none;
  mix-blend-mode: lighten;
}
@media (max-width: 900px) {
  .cm::after { display: none; }
}

/* 4) Banner visual plus grande */
.vb { padding: 5rem 3.5rem !important; }
.vb img { max-height: 480px !important; }

/* FOOTER FIX — applies .ftr styles globally (22/04/2026) */
/* Previously only inline on blog-listing.php; now applied on single article pages too */
.ftr{background:#0d0d0d !important;color:#e8e8e8;padding:3.5rem 2rem 0}
.ftr .ft-main{display:grid;grid-template-columns:220px 1fr 1fr 1fr;gap:2rem;max-width:1280px;margin:0 auto;padding-bottom:2.5rem}
.ftr .ft-col-brand{display:flex;flex-direction:column;gap:1rem}
.ftr .ft-brand{font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:.05em;text-decoration:none;display:block;margin-bottom:1rem}
.ftr .ft-brand sup{color:#e63329;font-size:.6em;vertical-align:super}
.ftr .ft-desc{font-size:.82rem;color:#999;line-height:1.6;max-width:260px;margin-bottom:1.25rem}
.ftr .ft-ct{font-size:.78rem;color:#999;margin-top:.25rem;display:flex;flex-direction:column;gap:.35rem}
.ftr .ft-ct a{color:#bbb;text-decoration:none}
.ftr .ft-ct a:hover{color:#fff}
.ftr .ft-ht{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:1rem;display:block}
.ftr .ft-lks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}
.ftr .ft-lks a{font-size:.82rem;color:#999;text-decoration:none;transition:color .2s;display:block}
.ftr .ft-lks a:hover{color:#fff}
.ftr .ft-bot{border-top:1px solid #222;max-width:1280px;margin:0 auto;padding:1.25rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.ftr .ft-copy{font-size:.75rem;color:#666}
.ftr .ft-leg{display:flex;gap:1.5rem;list-style:none;padding:0;margin:0;flex-wrap:wrap}
.ftr .ft-leg a{font-size:.75rem;color:#666;text-decoration:none}
.ftr .ft-leg a:hover{color:#fff}
@media (max-width:900px){.ftr .ft-main{grid-template-columns:1fr 1fr;gap:2.5rem;padding:0 1rem 2rem}.ftr .ft-bot{flex-direction:column;text-align:center;padding:1.25rem 1rem}}
@media (max-width:560px){.ftr .ft-main{grid-template-columns:1fr}}


/* ===== MOBILE FIXES v1 — Growthappiness ===== */
@media (max-width: 760px) {

  /* FIX 1 — SVG icons visibles dans les cercles .tl-ic */
  .tl-ic {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }
  .tl-ic svg {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    stroke: #FF3131 !important;
    fill: none !important;
    stroke-width: 2 !important;
    overflow: visible !important;
    display: block !important;
    flex-shrink: 0 !important;
  }
  .tl-ic svg path,
  .tl-ic svg circle,
  .tl-ic svg line,
  .tl-ic svg polyline,
  .tl-ic svg rect,
  .tl-ic svg ellipse {
    stroke: #FF3131 !important;
    fill: none !important;
  }

  /* FIX 2 — Stepper cinq étapes: scrollable horizontalement */
  .cm-stepper-bar { overflow: hidden !important; }
  .cm-stepper-dots {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 0.75rem !important;
    justify-content: flex-start !important;
    padding-bottom: 0.5rem !important;
  }
  .cm-stepper-dots::-webkit-scrollbar { display: none !important; }
  .cm-stepper-dot {
    flex: 0 0 auto !important;
    min-width: 52px !important;
    text-align: center !important;
  }
  .cm-stepper-dot .cs-bignum {
    width: 44px !important;
    height: 44px !important;
    font-size: 13px !important;
    margin: 0 auto !important;
  }
  .cm-stepper-dot .cs-bigl {
    font-size: 7.5px !important;
    max-width: 52px !important;
    margin: 0 auto !important;
  }

  /* FIX 3 — Formulaire: apparence uniforme des champs */
  .cro-row {
    padding: 0 !important;
    gap: 1rem !important;
  }

  /* FIX 4 — Blog: pills catégories plus visibles */
  .bl-filters,
  .blog-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    padding: 0 !important;
    margin: 0 0 1.5rem !important;
    overflow: visible !important;
  }
  .bl-filters > *,
  .blog-filters > *,
  .bl-filters .fpill,
  .blog-filters .fpill,
  .fpill {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    padding: 0.5rem 1.1rem !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.1) !important;
    color: rgba(255,255,255,.85) !important;
    border: 1px solid rgba(255,255,255,.2) !important;
    cursor: pointer !important;
  }
  .bl-filters > *.active,
  .blog-filters > *.active,
  .bl-filters .fpill.active,
  .blog-filters .fpill.active,
  .fpill.active {
    background: #FF3131 !important;
    border-color: #FF3131 !important;
    color: #fff !important;
  }
}
/* ===== END MOBILE FIXES v1 ===== */

/* ===== MOBILE FIXES v2 — corrections selectors ===== */
@media (max-width: 760px) {

  /* FIX 2 CORRIGÉ — Stepper: match specificity body.home */
  body.home .cm-stepper-dots {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding-bottom: 0.75rem !important;
    gap: 0.75rem !important;
  }
  body.home .cm-stepper-dots::-webkit-scrollbar { display: none !important; }

  /* FIX 4 CORRIGÉ — Blog pills: sélecteur .bl-cat correct */
  .bl-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 0 1.25rem !important;
  }
  .bl-cat {
    background: rgba(255,255,255,.1) !important;
    color: rgba(255,255,255,.88) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    padding: .5rem 1.05rem !important;
    font-size: .8rem !important;
    font-weight: 600 !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
  }
  .bl-cat.active,
  .bl-cat[aria-current],
  .bl-cat.is-active {
    background: #FF3131 !important;
    border-color: #FF3131 !important;
    color: #fff !important;
  }
}
/* ===== END MOBILE FIXES v2 ===== */
/* ─── DESIGN SYSTEM GLOBAL (10-components) ─── */
:root{--rouge:#FF3131;--noir:#0D0D0D;--blanc:#FFFFFF;--creme:#F8F5F0;--encre:#1A1A1A;--vert:#35474B;--t2:rgba(255,255,255,.65);--t3:rgba(255,255,255,.52);--t4:rgba(255,255,255,.3);--t3l:rgba(26,26,26,.58);--t4l:rgba(26,26,26,.38);--rule:rgba(255,255,255,.07);--rule-l:rgba(26,26,26,.1)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;background:var(--noir);color:var(--blanc);overflow-x:hidden;line-height:1.5}
.lines-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.line{position:absolute;bottom:0;width:1px;background:linear-gradient(to top,rgba(255,49,49,.18),transparent);transform-origin:bottom center;animation:rise 6s ease-out infinite}
.line:nth-child(1){left:18%;height:55vh;animation-delay:0s}.line:nth-child(2){left:35%;height:40vh;animation-delay:1.2s}.line:nth-child(3){left:52%;height:65vh;animation-delay:.6s}.line:nth-child(4){left:68%;height:45vh;animation-delay:2s}.line:nth-child(5){left:82%;height:35vh;animation-delay:1.6s}
@keyframes rise{0%{opacity:0;transform:scaleY(0)}20%{opacity:1}80%{opacity:.4}100%{opacity:0;transform:scaleY(1)}}
section{position:relative;overflow:hidden}
section>*:not(.lines-bg){position:relative;z-index:1}
.label-anim{font-size:11px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--rouge);margin-bottom:2rem;display:flex;align-items:center;gap:12px;opacity:0;transform:translateX(-12px);transition:opacity .6s,transform .6s}
.label-anim.v{opacity:1;transform:none}
.label-anim::after{content:'';display:block;width:0;height:1px;background:var(--rouge);opacity:.5;transition:width .6s ease .3s}
.label-anim.v::after{width:32px}
/* HEADER */
header.hdr{position:fixed;top:0;left:0;right:0;z-index:200;transition:background .3s,backdrop-filter .3s}
header.hdr.scrolled{background:rgba(13,13,13,.97);backdrop-filter:blur(20px)}
.hdr-top{padding:.6rem 3.5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:border-color .3s}
header.hdr.scrolled .hdr-top{border-color:var(--rule)}
.hdr-status{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.25)}
.hdr-status-dot{width:5px;height:5px;border-radius:50%;background:var(--rouge);animation:blink 2.4s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.hdr-top-right{display:flex;align-items:center;gap:1.5rem}
.hdr-contact{font-size:10px;color:rgba(255,255,255,.2);letter-spacing:.04em;text-decoration:none;transition:color .2s}
.hdr-contact:hover{color:var(--blanc)}
.hdr-main{padding:.9rem 3.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid transparent;transition:border-color .3s;z-index:201;position:relative}
header.hdr.scrolled .hdr-main{border-color:var(--rule)}
.wordmark{font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--blanc);text-decoration:none;flex-shrink:0}
.wordmark sup{font-size:9px;font-weight:500;letter-spacing:.1em;color:var(--rouge);vertical-align:super;margin-left:3px}
.nav{display:flex;align-items:center;gap:0;flex:1;justify-content:center}
.nav-item{position:relative}
.nav-item::after{content:'';position:absolute;top:100%;left:0;right:0;height:14px}
.nav-link{display:flex;flex-direction:column;align-items:center;padding:.6rem 1.1rem;text-decoration:none;cursor:pointer;transition:all .2s}
.nav-link-main{font-size:12px;color:rgba(255,255,255,.45);letter-spacing:.06em;text-transform:uppercase;font-weight:600;pointer-events:none;transition:color .2s}
.nav-item:hover .nav-link-main{color:var(--blanc)}
.nav-link-bar{display:block;width:0;height:1px;background:var(--rouge);margin-top:3px;transition:width .25s ease;pointer-events:none}
.nav-item:hover .nav-link-bar{width:100%}
.nav-drop{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-6px);width:280px;background:rgba(12,12,12,.99);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:1rem 1.25rem 1.25rem;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;backdrop-filter:blur(20px);z-index:300}
.nav-item:hover .nav-drop{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}
.nav-drop::before{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:10px;height:6px;background:rgba(12,12,12,.99);clip-path:polygon(50% 0%,0% 100%,100% 100%)}
.nd-title{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,49,49,.5);font-weight:700;margin-bottom:.75rem}
.nd-link{display:block;font-size:12px;color:rgba(255,255,255,.45);text-decoration:none;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.04);transition:color .15s;line-height:1.4}
.nd-link:last-child{border-bottom:none}
.nd-link:hover{color:var(--blanc)}
.nd-link span{display:block;font-size:10px;color:rgba(255,255,255,.2);margin-top:1px;font-weight:400}
.nav-right{display:flex;align-items:center;gap:1.5rem;flex-shrink:0}
.hdr-cta{display:inline-flex;align-items:center;gap:6px;padding:.6rem 1.25rem;background:var(--rouge);color:#fff;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:3px;transition:opacity .2s}
.hdr-cta:hover{opacity:.85}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.burger span{display:block;width:22px;height:1px;background:var(--blanc);transition:all .3s}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
.mnav{display:none;position:fixed;inset:0;z-index:190;background:rgba(13,13,13,.98);backdrop-filter:blur(20px);flex-direction:column;align-items:flex-start;justify-content:center;padding:3rem 3.5rem}
.mnav.open{display:flex}
.mn-item{border-bottom:1px solid var(--rule);width:100%;padding:1.25rem 0}
.mn-link{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;color:var(--blanc);text-decoration:none;display:block}
.mn-link:hover{color:var(--rouge)}
@media(max-width:960px){.hdr-top{display:none}.nav,.hdr-cta{display:none}.burger{display:flex}}
@media(max-width:640px){.hdr-main{padding:.75rem 1.25rem}}
/* FOOTER */
footer.ftr{border-top:1px solid var(--rule);background:var(--noir);position:relative;z-index:5}
.ft-main{padding:4rem 3.5rem;display:grid;grid-template-columns:240px 1fr 1fr 1fr;gap:4rem}
.ft-brand{font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin-bottom:1rem;display:block;color:#fff;text-decoration:none}
.ft-brand sup{font-size:9px;color:var(--rouge);vertical-align:super;margin-left:3px}
.ft-desc{font-size:13px;color:var(--t3);line-height:1.7;margin-bottom:1.5rem}
.ft-ct{display:flex;flex-direction:column;gap:.35rem}
.ft-ct a{font-size:11px;color:var(--t4);text-decoration:none;transition:color .2s}
.ft-ct a:hover{color:var(--blanc)}
.ft-ht{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--t4);font-weight:700;margin-bottom:1.25rem;display:flex;align-items:center;gap:8px}
.ft-ht::after{content:'';display:block;width:12px;height:1px;background:rgba(255,255,255,.1)}
.ft-lks{display:flex;flex-direction:column;gap:.75rem}
.ft-lks a{font-size:13px;color:var(--t3);text-decoration:none;transition:color .2s}
.ft-lks a:hover{color:var(--blanc)}
.ft-bot{padding:1.25rem 3.5rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem}
.ft-copy{font-size:10px;color:var(--t4);letter-spacing:.04em}
.ft-leg{display:flex;gap:1.5rem}
.ft-leg a{font-size:10px;color:var(--t4);text-decoration:none;letter-spacing:.04em}
.ft-leg a:hover{color:rgba(255,255,255,.4)}
@media(max-width:960px){.ft-main{grid-template-columns:1fr 1fr;gap:2.5rem}}
@media(max-width:640px){.ft-main,.ft-bot{padding-left:1.75rem;padding-right:1.75rem}.ft-main{grid-template-columns:1fr}.ft-bot{flex-direction:column;align-items:flex-start}}
/* FORMS */
.step-label{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,49,49,.6);margin-bottom:1rem}
.step-title{font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:1.75rem;line-height:1.3}
.sector-grid{display:flex;flex-direction:column;gap:.75rem}
.sector-btn{padding:1.1rem 1.5rem;background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.1);border-radius:6px;color:rgba(255,255,255,.65);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;text-align:left;transition:all .15s;display:flex;justify-content:space-between;align-items:center}
.sector-btn span{font-size:12px;color:rgba(255,255,255,.25);font-weight:400}
.sector-btn:hover,.sector-btn.selected{background:rgba(255,49,49,.08);border-color:rgba(255,49,49,.4);color:#fff}
.zone-btn{padding:.85rem 1rem;background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.1);border-radius:6px;color:rgba(255,255,255,.6);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}
.zone-btn:hover,.zone-btn.selected{background:rgba(255,49,49,.08);border-color:rgba(255,49,49,.4);color:#fff}
.field-block{margin-bottom:.75rem}
.field-block label,.form-step label.fl{font-size:10px;font-weight:700;color:rgba(255,255,255,.45);display:block;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.06em}
.form-step input[type="text"],.form-step input[type="email"],.form-step input[type="tel"]{width:100%;background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.12);border-radius:6px;padding:.75rem 1rem;font-size:14px;color:#fff;font-family:inherit;outline:none;transition:border-color .2s}
.form-step input:focus{border-color:rgba(255,49,49,.5)}
.rgpd-row{display:flex;align-items:flex-start;gap:.75rem;margin:1rem 0 1.5rem;cursor:pointer}
.rgpd-row input{width:14px;height:14px;margin-top:2px;accent-color:#FF3131}
.rgpd-row span{font-size:10.5px;color:rgba(255,255,255,.28);line-height:1.6}
.rgpd-row a{color:rgba(255,255,255,.4);text-decoration:underline}
.step-nav{display:flex;gap:1rem;margin-top:1.75rem}
.btn-back{padding:.75rem 1.25rem;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:rgba(255,255,255,.4);font-family:inherit;font-size:12px;cursor:pointer;text-transform:uppercase;letter-spacing:.06em}
.btn-next{flex:1;padding:.9rem;background:#FF3131;border:none;border-radius:4px;color:#fff;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.form-step{animation:fadeUp .35s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
/* SOCIAL PROOF TICKER */
.sp-ticker{position:fixed;bottom:24px;left:24px;z-index:150;background:rgba(13,13,13,.97);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.85rem 1.1rem;max-width:320px;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .4s;backdrop-filter:blur(12px);display:flex;align-items:center;gap:.75rem}
.sp-ticker.v{opacity:1;transform:none}
.sp-pulse{width:8px;height:8px;border-radius:50%;background:#4ade80;flex-shrink:0;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.5)}50%{box-shadow:0 0 0 6px rgba(74,222,128,0)}}
.sp-txt{font-size:12px;color:rgba(255,255,255,.75);line-height:1.4}
.sp-txt strong{color:#fff;font-weight:600}
.sp-close{background:none;border:none;color:rgba(255,255,255,.3);cursor:pointer;font-size:14px;padding:0;margin-left:.25rem}
@media(max-width:640px){.sp-ticker{left:12px;right:12px;max-width:none;bottom:12px}}
/* ADOMIA BUBBLE */
.adomi-bubble{position:fixed;bottom:24px;right:24px;z-index:150;background:var(--rouge);border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(255,49,49,.3);transition:transform .2s}
.adomi-bubble:hover{transform:scale(1.08)}
.adomi-bubble svg{width:24px;height:24px}
.adomi-badge{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:#fff;color:var(--rouge);border-radius:50%;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center}
.adomi-panel{position:fixed;bottom:96px;right:24px;z-index:150;width:360px;max-width:calc(100vw - 48px);background:rgba(13,13,13,.98);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.25rem;display:none;backdrop-filter:blur(20px);box-shadow:0 20px 40px rgba(0,0,0,.5)}
.adomi-panel.open{display:block;animation:fadeUp .25s ease}
.adomi-head{display:flex;align-items:center;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--rule);margin-bottom:1rem}
.adomi-dot{width:10px;height:10px;border-radius:50%;background:#4ade80;animation:pulse 2s infinite}
.adomi-name{font-size:13px;font-weight:700;color:#fff}
.adomi-status{font-size:10px;color:rgba(255,255,255,.4);margin-top:1px}
.adomi-close{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.4);cursor:pointer;font-size:18px;line-height:1}
.adomi-msg{background:rgba(255,255,255,.05);border:1px solid var(--rule);border-radius:8px;padding:.85rem;font-size:12px;color:rgba(255,255,255,.75);line-height:1.6;margin-bottom:.75rem}
.adomi-input{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--rule);border-radius:6px;padding:.6rem .85rem;font-size:12px;color:#fff;font-family:inherit;outline:none}
.adomi-input::placeholder{color:rgba(255,255,255,.25)}
@media(max-width:640px){.adomi-panel{right:12px;left:12px;width:auto}.adomi-bubble{right:12px;bottom:12px}}
/* EXIT INTENT */
.xi-overlay{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;padding:1.5rem;backdrop-filter:blur(8px)}
.xi-overlay.open{display:flex;animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.xi-modal{background:var(--noir);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2.5rem;max-width:440px;width:100%;text-align:center;position:relative}
.xi-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:rgba(255,255,255,.4);cursor:pointer;font-size:22px}
.xi-title{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:#fff;margin-bottom:.5rem;line-height:1.2}
.xi-sub{font-size:14px;color:rgba(255,255,255,.5);line-height:1.65;margin-bottom:2rem}
.xi-form{display:flex;gap:.5rem;margin-bottom:1rem}
.xi-form input{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:.75rem 1rem;font-size:13px;color:#fff;font-family:inherit;outline:none}
.xi-form button{padding:.75rem 1.25rem;background:var(--rouge);border:none;border-radius:4px;color:#fff;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.06em}
.xi-note{font-size:10.5px;color:rgba(255,255,255,.25);line-height:1.55}
/* REVEAL */
.r{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}
.r.v{opacity:1;transform:none}
.r.d1{transition-delay:.1s}.r.d2{transition-delay:.2s}.r.d3{transition-delay:.3s}.r.d4{transition-delay:.4s}
/* ─── HOME-SPECIFIC CSS ─── */
.hero{min-height:0;display:flex;flex-direction:column;justify-content:center;padding:7.5rem 3.5rem 2.5rem;background:var(--noir)}
.hero-title{margin-bottom:2.5rem}
.hero-line{font-size:clamp(2.1rem,4.2vw,3.9rem);font-weight:800;line-height:1.05;letter-spacing:-.04em;color:var(--blanc);white-space:nowrap;opacity:0;transform:translateY(40px);animation:heroLineUp 1s cubic-bezier(.22,1,.36,1) forwards;will-change:transform,opacity}
.hero-line.hero-line-merged{white-space:normal;display:block}
.hero-line .thin{display:inline-block;position:relative}
.hero-line .thin::after{content:"";position:absolute;left:0;right:0;bottom:.12em;height:.12em;background:linear-gradient(90deg,#FF3131 0%,rgba(255,49,49,.4) 100%);transform:scaleX(0);transform-origin:left;animation:thinHighlight 1.1s cubic-bezier(.22,1,.36,1) 1.4s forwards;z-index:-1;opacity:.85;border-radius:2px}
.hero-line em{font-style:normal;font-weight:300;color:rgba(255,255,255,.5);position:relative;display:inline-block;animation:emFade 1s cubic-bezier(.22,1,.36,1) 1.6s both}
@keyframes thinHighlight{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes emFade{0%{opacity:0;color:rgba(255,255,255,.05)}100%{opacity:1;color:rgba(255,255,255,.5)}}
.hero-line .thin{font-weight:300;font-style:italic;color:rgba(255,255,255,.6)}
.hero-line em{font-style:normal;-webkit-text-stroke:1.5px rgba(255,255,255,.5);color:transparent}
.hero-line-2{animation-delay:.16s}.hero-line-3{animation-delay:.3s;font-size:clamp(2.4rem,4.9vw,4.5rem)}.hero-line-4{animation-delay:.46s;margin-top:.2rem}
@keyframes heroLineUp{to{opacity:1;transform:translateY(0)}}
@media(max-width:960px){.hero-line{font-size:clamp(2rem,6vw,3.8rem)}.hero-line-3{font-size:clamp(2.4rem,7vw,4.4rem)}}
@media(max-width:640px){.hero-line{font-size:clamp(1.8rem,8.5vw,2.8rem);white-space:normal}.hero-line-3{font-size:clamp(2.2rem,10vw,3.4rem)}.hero{padding:5.5rem 1.5rem 2.5rem;min-height:0}}
.bc-ticker{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:rgba(74,222,128,.05);border:1px solid rgba(74,222,128,.2);border-radius:100px;font-size:11px;color:rgba(255,255,255,.7);font-weight:500;letter-spacing:.04em;margin-top:1rem}
.bc-pulse{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.5);animation:pulse 2s infinite}
.bc-ticker strong{color:#4ade80;font-weight:700}
.hero-sub{font-size:16px;color:var(--t3);line-height:1.85;max-width:560px;margin:0 0 2.5rem 0;opacity:0;transform:translateY(22px);transition:opacity .8s ease .55s,transform .8s ease .55s}
.hero-sub.v{opacity:1;transform:none}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;transform:translateY(22px);transition:opacity .8s ease .7s,transform .8s ease .7s}
.hero-ctas.v{opacity:1;transform:none}
.btn-p{display:inline-flex;align-items:center;gap:8px;padding:.9rem 1.75rem;background:var(--rouge);color:#fff;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:4px;transition:transform .2s,opacity .2s;position:relative;overflow:hidden}
.btn-p:hover{transform:translateY(-1px);opacity:.92}
.btn-p::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:skewX(-20deg);animation:shimmer 3.5s infinite}
@keyframes shimmer{0%,60%{left:-100%}100%{left:180%}}
.btn-p svg{width:14px;height:14px;transition:transform .2s}
.btn-p:hover svg{transform:translateX(3px)}
.btn-s{display:inline-flex;align-items:center;gap:8px;padding:.9rem 1.75rem;background:transparent;border:1.5px solid rgba(255,255,255,.2);color:var(--blanc);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:4px;transition:all .2s}
.btn-s:hover{border-color:var(--rouge);color:var(--rouge)}
.sb{background:var(--creme);padding:5rem 1.5rem;border-top:1px solid rgba(26,26,26,.08);border-bottom:1px solid rgba(26,26,26,.08);position:relative}
.sb-wrap{max-width:1240px;margin:0 auto}
.sb-head{max-width:780px;margin:0 auto 3.5rem auto;text-align:center;padding-bottom:2.5rem;border-bottom:1px solid rgba(26,26,26,.1);position:relative}
.sb-head::after{content:"";position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);width:80px;height:1px;background:#FF3131}
.sb-eyebrow{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#FF3131;margin-bottom:1rem}
.sb-title{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:700;letter-spacing:-.025em;color:var(--encre);line-height:1.25;margin:0 0 1rem 0}
.sb-title em{font-style:normal;font-weight:700}
.sb-sub{font-size:14.5px;color:rgba(26,26,26,.6);line-height:1.65;max-width:580px;margin:0 auto;font-weight:400}
.sb-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:transparent}
.sb-it{padding:0 2.25rem;border-right:1px solid rgba(26,26,26,.1);position:relative;display:flex;flex-direction:column;gap:.6rem;transition:padding-left .35s ease}
.sb-it:first-child{padding-left:0}
.sb-it:last-child{padding-right:0;border-right:none}
.sb-it::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:transparent;transition:background .35s ease}
.sb-it.sb-neg::before{background:linear-gradient(180deg,#FF3131 0%,rgba(255,49,49,.15) 100%)}
.sb-it.sb-pos::before{background:linear-gradient(180deg,#10b981 0%,rgba(16,185,129,.15) 100%)}
.sb-it:first-child::before{display:none}
.sb-trend{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(26,26,26,.4);display:flex;align-items:center;gap:.45rem;margin-bottom:.2rem}
.sb-trend::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}
.sb-it.sb-neg .sb-trend::before{background:#FF3131}
.sb-it.sb-pos .sb-trend::before{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.12)}
.sb-v{font-size:clamp(2.4rem,3.6vw,3.2rem);font-weight:800;letter-spacing:-.045em;color:var(--encre);line-height:1;margin:.3rem 0 .8rem 0;font-feature-settings:"tnum" 1;display:flex;align-items:baseline;gap:.05em}
.sb-it.sb-neg .sb-v{color:var(--encre)}
.sb-plus{font-weight:800;color:var(--encre)}
.sb-v .thin{font-weight:300;font-style:italic;color:rgba(26,26,26,.5);font-size:.7em}
.sb-l{font-size:13.5px;color:rgba(26,26,26,.6);line-height:1.55;font-weight:400;display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap}
.sb-l strong{color:var(--encre);font-weight:600}
.sb-l .pulse-dot{flex-shrink:0;margin-top:.35rem}
@media(max-width:960px){.sb{padding:3.5rem 1.25rem}.sb-head{margin-bottom:2.5rem}.sb-row{grid-template-columns:repeat(2,1fr);gap:1.5rem 0}.sb-it{padding:1rem 1.25rem;border-right:none;border-bottom:1px solid rgba(26,26,26,.08)}.sb-it:nth-child(odd){border-right:1px solid rgba(26,26,26,.08)}.sb-it:nth-child(3),.sb-it:nth-child(4){border-bottom:none}}
@media(max-width:560px){.sb-row{grid-template-columns:1fr}.sb-it{border-right:none !important;border-bottom:1px solid rgba(26,26,26,.08) !important;padding:1.25rem 0}.sb-it:last-child{border-bottom:none !important}}
.tl{background:var(--creme);padding:7rem 3.5rem}
.tl-wrap{max-width:1200px;margin:0 auto}
.tl-lbl{font-size:11px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--rouge);margin-bottom:2rem;display:flex;align-items:center;gap:12px}
.tl-lbl::after{content:'';display:block;width:32px;height:1px;background:var(--rouge);opacity:.5}
.tl-title{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;letter-spacing:-.04em;color:var(--encre);line-height:1.05;margin-bottom:1rem}
.tl-title .thin{font-weight:300;font-style:italic;color:rgba(26,26,26,.45)}
.tl-sub{font-size:16px;color:var(--t3l);line-height:1.75;max-width:640px;margin-bottom:4rem}
.tl-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;position:relative}
.tl-steps::before{content:'';position:absolute;top:32px;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,49,49,.3),rgba(255,49,49,.3),transparent);z-index:0}
.tl-st{background:var(--blanc);border:1px solid var(--rule-l);border-radius:6px;padding:1.5rem;position:relative;z-index:1}
.tl-ic{width:64px;height:64px;background:var(--noir);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;border:3px solid var(--creme);position:relative}
.tl-ic svg{width:24px;height:24px;stroke:var(--rouge)}
.tl-ic .tl-dot{position:absolute;top:-4px;right:-4px;width:14px;height:14px;border-radius:50%;background:#4ade80;border:2px solid var(--creme);animation:pulse 2.5s infinite}
.tl-num{font-size:10px;font-weight:700;color:var(--rouge);letter-spacing:.18em;text-transform:uppercase;text-align:center;margin-bottom:.5rem}
.tl-tit{font-size:14px;font-weight:700;color:var(--encre);text-align:center;margin-bottom:.4rem;letter-spacing:-.01em}
.tl-tx{font-size:12px;color:var(--t3l);line-height:1.65;text-align:center}
@media(max-width:960px){.tl-steps{grid-template-columns:repeat(2,1fr)}.tl-steps::before{display:none}}
@media(max-width:640px){.tl-steps{grid-template-columns:1fr}.tl{padding:4rem 1.5rem}}
.idee{background:var(--noir);padding:7rem 3.5rem}
.idee-in{max-width:900px}
.idee-claim{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:800;line-height:1.05;letter-spacing:-.04em;margin-bottom:3rem;color:var(--blanc)}
.idee-claim .thin{font-weight:300;font-style:italic;color:rgba(255,255,255,.58)}
.idee-claim .red{color:var(--rouge)}
.idee-claim em{font-style:normal;-webkit-text-stroke:1.5px rgba(255,255,255,.45);color:transparent}
.idee-body{font-size:16px;color:var(--t3);line-height:1.85;max-width:640px;margin-bottom:2rem}
.idee-proof{font-size:14px;color:var(--t3);border-left:2px solid rgba(255,49,49,.4);padding-left:1.25rem;line-height:1.8;font-style:italic;max-width:560px;margin-top:2rem}
.pq{background:var(--blanc);padding:6rem 3.5rem}
.pq-wrap{max-width:1200px;margin:0 auto}
.pq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(26,26,26,.08);border:1px solid var(--rule-l);margin-top:4rem}
.pq-it{padding:2.75rem 2.5rem;background:var(--blanc);transition:background .2s;text-decoration:none;color:inherit;display:block}
.pq-it:hover{background:var(--creme)}
.pq-num{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,49,49,.45);margin-bottom:1.25rem}
.pq-tit{font-size:1.15rem;font-weight:800;color:var(--encre);margin-bottom:.75rem;letter-spacing:-.02em}
.pq-pain{font-size:13px;color:rgba(26,26,26,.5);line-height:1.7;margin-bottom:1.25rem;font-style:italic;border-left:2px solid rgba(255,49,49,.2);padding-left:.85rem}
.pq-sol{font-size:14px;color:var(--t3l);line-height:1.75}
.pq-sol strong{color:var(--encre);font-weight:600}
.pq-arrow{display:inline-flex;align-items:center;gap:4px;margin-top:1rem;font-size:11px;font-weight:700;color:var(--rouge);letter-spacing:.06em;text-transform:uppercase}
@media(max-width:960px){.pq-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.pq{padding:4rem 1.5rem}.pq-grid{grid-template-columns:1fr}}
/* ── NOS SERVICES ── */
.sv{background:var(--creme);padding:7rem 3.5rem}
.sv-wrap{max-width:1200px;margin:0 auto}
.sv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:4rem}
.sv-card{background:var(--blanc);border:1px solid rgba(26,26,26,.08);border-radius:6px;padding:2.25rem;position:relative;transition:box-shadow .2s}
.sv-card:hover{box-shadow:0 6px 30px rgba(26,26,26,.08)}
.sv-card.new::before{content:'NOUVEAU';position:absolute;top:1.25rem;right:1.25rem;font-size:9px;font-weight:700;letter-spacing:.18em;color:var(--blanc);background:var(--rouge);padding:.2rem .5rem;border-radius:2px}
.sv-icon{width:40px;height:40px;border-radius:6px;background:rgba(255,49,49,.07);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}
.sv-icon svg{width:20px;height:20px;stroke:var(--rouge);fill:none;stroke-width:2}
.sv-tit{font-size:1.05rem;font-weight:800;color:var(--encre);margin-bottom:.5rem;letter-spacing:-.02em}
.sv-desc{font-size:13px;color:var(--t3l);line-height:1.75;margin-bottom:1.25rem}
.sv-price{font-size:12px;font-weight:700;color:var(--rouge);letter-spacing:.04em;border-top:1px solid rgba(26,26,26,.07);padding-top:.85rem;margin-top:auto}
.sv-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(26,26,26,.35);background:rgba(26,26,26,.05);border-radius:2px;padding:.2rem .5rem;margin-bottom:.75rem}
@media(max-width:960px){.sv-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.sv{padding:4rem 1.5rem}.sv-grid{grid-template-columns:1fr}}
.cm{background:var(--noir);padding:7rem 3.5rem}
.cm-wrap{max-width:1200px;margin:0 auto}
.cm-split{display:grid;grid-template-columns:1fr 1fr;gap:6rem;margin-top:4rem;align-items:start}
.cm-steps{display:flex;flex-direction:column;gap:0}
.cm-step{display:grid;grid-template-columns:52px 1fr;gap:1.75rem;padding:2rem 0;border-bottom:1px solid var(--rule)}
.cm-step:first-child{border-top:1px solid var(--rule)}
.cs-n{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,49,49,.5);padding-top:.1rem}
.cs-t{font-size:1.15rem;font-weight:800;color:var(--blanc);margin-bottom:.6rem;letter-spacing:-.02em;line-height:1.2}
.cs-t .thin{font-weight:300;font-style:italic;color:rgba(255,255,255,.55)}
.cs-b{font-size:14px;color:var(--t3);line-height:1.8}
.ec-preview{background:rgba(255,255,255,.02);border:1px solid var(--rule);border-radius:8px;padding:1.5rem;position:relative;overflow:hidden}
.ec-preview::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--rouge),rgba(53,71,75,.4),transparent)}
.ec-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--rule)}
.ec-logo{font-size:10px;font-weight:700;letter-spacing:.2em;color:#fff;text-transform:uppercase}
.ec-logo sup{color:var(--rouge);font-size:8px;margin-left:2px}
.ec-block{font-family:'Courier New',monospace;font-size:9px;color:rgba(255,49,49,.45)}
.ec-hero{font-size:2.5rem;font-weight:800;letter-spacing:-.04em;color:#fff;line-height:1;margin-bottom:.25rem}
.ec-hero .thin{font-weight:300;font-style:italic;color:rgba(255,255,255,.35);font-size:.7em}
.ec-hlbl{font-size:10px;color:var(--t4);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.25rem}
.ec-prog{height:3px;background:rgba(255,255,255,.06);border-radius:2px;margin-bottom:1.5rem;overflow:hidden}
.ec-prog-fill{height:100%;width:0;background:linear-gradient(90deg,var(--vert),rgba(74,180,100,.5));border-radius:2px;animation:progFill 2.5s ease 1s forwards}
@keyframes progFill{to{width:93.7%}}
.ec-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1.25rem}
.ec-card{background:rgba(255,255,255,.03);border:1px solid var(--rule);border-radius:4px;padding:.75rem}
.ec-card-v{font-size:1.1rem;font-weight:800;letter-spacing:-.02em}
.ec-card-l{font-size:9px;color:var(--t4);text-transform:uppercase;letter-spacing:.06em;margin-top:.15rem}
.ec-row{display:flex;align-items:center;gap:.75rem;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.03)}
.ec-row:last-child{border:none}
.ec-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,49,49,.5);flex-shrink:0}
.ec-ln{height:6px;background:rgba(255,255,255,.06);border-radius:2px;flex:1}
.ec-tag{height:14px;width:44px;background:rgba(255,49,49,.1);border-radius:2px;flex-shrink:0}
.ec-tag.g{background:rgba(74,180,100,.15)}
.ec-cap{font-size:10px;color:var(--t4);text-align:center;margin-top:1rem;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:960px){.cm-split{grid-template-columns:1fr;gap:3rem}}
.ql{background:var(--creme);padding:7rem 3.5rem}
.ql-wrap{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.ql-items{display:flex;flex-direction:column;gap:0}
.ql-it{padding:1.75rem 0;border-bottom:1px solid var(--rule-l);opacity:0;transform:translateY(14px);transition:opacity .65s,transform .65s}
.ql-it.v{opacity:1;transform:none}
.ql-it:first-child{border-top:1px solid var(--rule-l)}
.qi-t{font-size:15px;font-weight:700;color:var(--encre);margin-bottom:.5rem;letter-spacing:-.02em}
.qi-b{font-size:14px;color:var(--t3l);line-height:1.75}
.qi-tag{display:inline-block;margin-top:.6rem;border:1px solid rgba(26,26,26,.12);border-radius:2px;padding:2px 8px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t4l)}
.qi-tag.g{border-color:rgba(53,71,75,.3);color:rgba(53,71,75,.6)}
.ql-seal{background:var(--blanc);border:1px solid var(--rule-l);border-radius:8px;padding:2rem;margin-top:2rem;position:relative;overflow:hidden}
.seal-hdr{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}
.seal-dot{width:10px;height:10px;border-radius:50%;background:#4ade80;animation:pulse 2s infinite}
.seal-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:rgba(26,26,26,.5);font-weight:700}
.seal-hash{font-family:'Courier New',monospace;font-size:11px;color:rgba(26,26,26,.6);line-height:2;display:block}
.seal-hash strong{color:var(--rouge);font-weight:normal}
.seal-pct{font-size:3rem;font-weight:800;letter-spacing:-.05em;color:var(--encre);line-height:1;margin-top:1rem;margin-bottom:.25rem}
.seal-pct .thin{font-weight:300;font-style:italic;color:rgba(26,26,26,.4);font-size:.7em}
.seal-cap{font-size:12px;color:var(--t4l)}
@media(max-width:960px){.ql-wrap{grid-template-columns:1fr;gap:3rem}}
@media(max-width:640px){.ql{padding:4rem 1.5rem}}
.cc{background:var(--blanc);padding:6rem 3.5rem}
.cc-wrap{max-width:1200px;margin:0 auto}
.cc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(26,26,26,.08);border:1px solid var(--rule-l);margin-top:3rem}
.cc-card{padding:2rem;background:var(--blanc)}
.cc-tag{display:inline-block;background:rgba(255,49,49,.08);color:var(--rouge);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:2px 8px;border-radius:3px;margin-bottom:1rem}
.cc-v{font-size:1.6rem;font-weight:800;letter-spacing:-.04em;color:var(--encre);line-height:1;margin-bottom:.4rem}
.cc-ct{font-size:14px;font-weight:700;color:var(--encre);margin-bottom:.5rem;letter-spacing:-.01em}
.cc-desc{font-size:13px;color:var(--t3l);line-height:1.7}
.cc-cta-row{text-align:center;margin-top:2.5rem}
@media(max-width:640px){.cc{padding:4rem 1.5rem}.cc-grid{grid-template-columns:1fr}}
.cta-f{background:var(--noir);padding:6rem 3.5rem;text-align:center}
.cta-f-t{font-size:clamp(2rem,4vw,3.4rem);font-weight:800;letter-spacing:-.04em;color:var(--blanc);line-height:1.05;margin-bottom:.5rem}
.cta-f-t .thin{font-weight:300;font-style:italic;color:rgba(255,255,255,.55)}
.cta-f-s{font-size:16px;color:var(--t3);line-height:1.7;max-width:520px;margin:0 auto 2.5rem}
.form-sec{background:var(--noir);padding:5rem 3.5rem}
.form-wrap{max-width:640px;margin:0 auto}
.form-h{text-align:center;margin-bottom:3rem}
.form-h h2{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;letter-spacing:-.04em;color:#fff;line-height:1.05}
.form-h h2 .thin{font-weight:300;font-style:italic;color:rgba(255,255,255,.55)}
.form-prog{background:rgba(255,255,255,.07);height:2px;border-radius:2px;margin-bottom:2.5rem;overflow:hidden}
.form-prog-fill{height:100%;background:var(--rouge);width:33%;transition:width .4s}
@media(max-width:640px){.form-sec,.cta-f,.cm,.idee{padding:4rem 1.5rem}}

/* Services grid */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:14px 0}
.svc-opt{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--rule);border-radius:10px;cursor:pointer;background:transparent;transition:all .2s}
.svc-opt:hover{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.03)}
.svc-opt input[type=checkbox]{accent-color:var(--rouge);margin-top:3px;flex-shrink:0;width:16px;height:16px}
.svc-opt:has(input:checked){border-color:var(--rouge);background:rgba(255,49,49,.06)}
.svc-opt strong{display:block;color:#fff;font-weight:600;font-size:13.5px;letter-spacing:-.01em}
.svc-opt small{display:block;color:var(--t2);font-size:11.5px;margin-top:2px}

/* Eclaircir le rendu visuel global (demande user) */
section.hero .lines-bg{opacity:.4}
section.hero{background:linear-gradient(180deg,#0f0f12 0%,#0A0A0B 100%)}
.hero-title{color:#fff}
.hero-sub{color:rgba(255,255,255,.85)}
.hero-line.hero-line-2,.hero-line.hero-line-3{opacity:.55!important}
img,.hero-visual,.hero-img{filter:brightness(1.25) contrast(1.05)}
img.hero-visual,picture.hero-visual img{box-shadow:0 18px 60px rgba(255,49,49,.08);border-radius:16px}
/* Helpers pour ajouter facilement des images partout */
.section-img{display:block;width:100%;height:auto;border-radius:14px;filter:brightness(1.18) saturate(1.05);box-shadow:0 12px 40px rgba(0,0,0,.45)}
.img-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}
.img-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}
@media(max-width:780px){.img-grid-3{grid-template-columns:1fr 1fr}.img-grid-2{grid-template-columns:1fr}}

/* Hide custom Adomi widget (replaced by native HubSpot Chat) */

/* CRO form home */
.cro-form{position:relative;padding:6rem 1.5rem;background:linear-gradient(180deg,#0A0A0B 0%,#101013 100%);overflow:hidden;border-top:1px solid rgba(255,255,255,.04)}
.cro-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.cro-left{padding-right:1rem}
.cro-label{font-size:11px;font-weight:700;letter-spacing:.18em;color:#FF3131;margin-bottom:1rem;text-transform:uppercase}
.cro-title{font-size:clamp(2rem,3.6vw,3rem);font-weight:800;color:#fff;letter-spacing:-.025em;line-height:1.05;margin:0 0 1rem 0}
.cro-title-thin{font-weight:300;font-style:italic;color:rgba(255,255,255,.55)}
.cro-sub{font-size:15px;color:rgba(255,255,255,.7);line-height:1.55;margin-bottom:2.2rem;max-width:480px}
.cro-proofs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:480px}
.cro-proof{padding:1rem 1.1rem;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:10px}
.cro-proof-v{font-size:22px;font-weight:800;color:#FF3131;letter-spacing:-.02em;line-height:1;margin-bottom:.4rem}
.cro-proof-l{font-size:11px;color:rgba(255,255,255,.6);line-height:1.4}

.cro-right{position:relative}
.cro-form-card{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;padding:2rem;
  display:flex;flex-direction:column;gap:10px;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.cro-form-h{font-size:14.5px;font-weight:700;color:#fff;margin-bottom:.85rem;letter-spacing:-.01em}
.cro-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cro-form-card input, .cro-form-card textarea, .cro-select{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  border-radius:9px;color:#fff;
  padding:13px 14px;font-size:13.5px;font-family:inherit;
  width:100%;transition:border-color .15s,background .15s;
}
.cro-form-card textarea{min-height:96px;resize:vertical;line-height:1.55}
.cro-form-card textarea::placeholder{color:rgba(255,255,255,.4)}
.cro-form-card input::placeholder, .cro-form-card textarea::placeholder{color:rgba(255,255,255,.4)}
.cro-form-card input:focus, .cro-form-card textarea:focus, .cro-select:focus{outline:none;border-color:#FF3131;background:rgba(255,49,49,.04)}
.cro-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23999'><path d='M5 8l5 5 5-5z'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}
.cro-select option{background:#0E0E10;color:#fff}
.cro-rgpd{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:11.5px;color:rgba(255,255,255,.6);line-height:1.5;margin-top:.4rem}
.cro-rgpd input{margin-top:3px;accent-color:#FF3131;flex-shrink:0;width:14px;height:14px}
.cro-legal{font-size:10.5px;color:rgba(255,255,255,.4);line-height:1.55;margin-top:.6rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.05)}
.cro-legal a{text-decoration:underline;text-underline-offset:2px}
.cro-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:#FF3131;color:#fff;border:none;border-radius:10px;
  padding:15px 24px;font-size:14.5px;font-weight:700;letter-spacing:-.01em;
  cursor:pointer;transition:all .2s;margin-top:.6rem;
}
.cro-btn:hover{background:#e02828;transform:translateY(-1px);box-shadow:0 12px 32px rgba(255,49,49,.35)}
.cro-or{text-align:center;color:rgba(255,255,255,.35);font-size:11px;letter-spacing:.16em;margin:.8rem 0;font-weight:600}
.cro-meet{
  display:flex;align-items:center;gap:14px;
  padding:14px 18px;background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.08);border-radius:11px;
  text-decoration:none;color:#fff;transition:all .18s;
}
.cro-meet:hover{border-color:#FF3131;transform:translateY(-1px);background:rgba(255,49,49,.04)}
.cro-meet-i{
  width:40px;height:40px;border-radius:8px;
  background:rgba(255,49,49,.10);color:#FF3131;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.cro-meet-t{font-size:13px;font-weight:700;color:#fff;line-height:1.3}
.cro-meet-d{font-size:11.5px;color:rgba(255,255,255,.5);margin-top:2px}

@media(max-width:880px){
  .cro-in{grid-template-columns:1fr;gap:36px}
  .cro-left{padding-right:0}
  .cro-proofs{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
  .cro-form{padding:4rem 1rem}
  .cro-form-card{padding:1.5rem}
  .cro-row{grid-template-columns:1fr}
  .cro-proofs{grid-template-columns:1fr;gap:8px}
}

/* cro-meet v2 */
.cro-meet{justify-content:space-between !important}
.cro-meet-content{flex:1;min-width:0}
.cro-meet-arrow{font-size:12px;font-weight:700;color:#FF3131;letter-spacing:.02em;flex-shrink:0;white-space:nowrap}
@media(max-width:480px){.cro-meet{flex-direction:column;align-items:flex-start}.cro-meet-arrow{align-self:flex-end}}




/* ===== Qualité · Light theme variant of .cm ===== */
.cm.light-cm{background:var(--creme) !important;color:var(--encre)}
.cm.light-cm .lines-bg .line{background:linear-gradient(to top,rgba(255,49,49,.12),transparent)}
.cm.light-cm .label-anim{color:#FF3131}
.cm.light-cm .label-anim::after{background:#FF3131}
.cm.light-cm .cs-n,
.cm.light-cm .cs-n.r{color:rgba(26,26,26,.35) !important}
.cm.light-cm .cs-t{color:var(--encre) !important}
.cm.light-cm .cs-t .thin{color:rgba(26,26,26,.45);font-weight:300;font-style:italic}
.cm.light-cm .cs-b{color:rgba(26,26,26,.6) !important}
.cm.light-cm .cm-step{border-bottom:1px solid rgba(26,26,26,.08) !important}
.cm.light-cm .cm-step:last-child{border-bottom:none !important}
.cm.light-cm .cm-stepper-track{background:rgba(26,26,26,.08) !important}
.cm.light-cm .cm-stepper-progress{background:linear-gradient(180deg,#FF3131 0%,rgba(255,49,49,.3) 100%) !important}
.cm.light-cm .cm-stepper-dot .cs-bignum{background:var(--blanc) !important;border:2px solid rgba(26,26,26,.12) !important;color:rgba(26,26,26,.5) !important}
.cm.light-cm .cm-stepper-dot.is-active .cs-bignum,
.cm.light-cm .cm-stepper-dot[data-n="01"] .cs-bignum{background:var(--encre) !important;border-color:var(--encre) !important;color:var(--blanc) !important}
.cm.light-cm .cm-stepper-dot .cs-bigl{color:rgba(26,26,26,.6) !important}

/* Bold suffix (h, %, ×) on numeric titles · light/bold contrast like sector pages */
.sb-v strong{font-weight:800;color:var(--encre);letter-spacing:-.045em}
.cro-proof-v strong{font-weight:800;color:#FF3131}
.cro-proof-v{font-weight:300;letter-spacing:-.02em}

@media(max-width:640px){.cm-step{grid-template-columns:36px 1fr;gap:1rem}.cm-step>*{min-width:0}.cs-t,.cs-b{overflow-wrap:anywhere;word-break:break-word}.cs-t{font-size:1rem}.cs-b{font-size:.9rem}}
/* ── Optimisation & polish (perf / a11y / responsive) ── */
/* Accessibilité : couper les animations si l'utilisateur le demande */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
/* Mobile : empêcher le CTA flottant, le ticker social et le footer de se chevaucher */
@media (max-width:640px){
  .rdv-cta{bottom:74px!important}
  .sp-ticker{bottom:10px!important}
  .ftr{padding-bottom:128px!important}
  /* cibles tactiles confortables */
  .nd-link,.mn-link,.ft-lks a,.nav-link{min-height:40px}
}
/* Cohérence des médias responsives */
img{max-width:100%;height:auto}
/* Focus visible clavier (a11y) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #FF3131;outline-offset:2px}