/* ===== HVD — Page Solutions digitales — refonte V3 ===== */

/* ---------- Utilitaires locaux ---------- */
.gold-em { font-style:italic; color:var(--gold-deep); }
.band.navy .gold-em,
.band.navy-deep .gold-em { color:var(--gold-2); }

/* Étiquette de parcours au-dessus des piliers */
.eco-tag {
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--sans); font-size:11.5px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep);
  padding:7px 14px 7px 10px;
  border:1px solid rgba(192,162,74,.35); border-radius:30px;
  background:rgba(192,162,74,.06);
  margin-bottom:32px;
}
.eco-tag.on-dark { color:var(--gold-2); background:rgba(192,162,74,.08); border-color:rgba(192,162,74,.3); }
.eco-tag::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--gold); flex:none; }

/* Séparateur léger entre sections piliers */
.pillar-band + .pillar-band { border-top:1px solid #ece8de; }
.band.navy.pillar-band + .pillar-band { border-top:none; }

/* Lien discret "Demander un diagnostic →" */
.link-quiet {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--sans); font-size:14px; font-weight:700;
  color:var(--navy); letter-spacing:.01em;
  padding:12px 0; transition:gap .2s, color .2s;
}
.link-quiet .arr { transition:transform .2s; }
.link-quiet:hover { color:var(--gold-deep); }
.link-quiet:hover .arr { transform:translateX(4px); }
.link-quiet.on-dark { color:var(--gold-2); }
.link-quiet.on-dark:hover { color:#fff; }

/* ---------- PARCOURS ---------- */
.path {
  position:relative;
  margin-top:18px;
}
.path-track {
  position:absolute; top:34px; left:0; right:0; height:2px;
  background:#ece8de; overflow:hidden;
}
.path-track i {
  display:block; height:100%; width:0;
  background:linear-gradient(90deg, var(--gold), var(--gold-deep));
  border-radius:2px;
  transition:width 1.2s cubic-bezier(.4,0,.2,1);
}
.path.in .path-track i { width:100%; }

.path-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:26px;
  position:relative;
}

.path-step {
  display:flex; flex-direction:column; align-items:center; text-align:center;
  padding-top:0; gap:16px;
  text-decoration:none; color:inherit;
  transition:transform .2s;
}
.path-step:hover { transform:translateY(-3px); }

.path-dot {
  width:68px; height:68px; border-radius:50%;
  background:#fff; border:2px solid var(--gold);
  box-shadow:0 0 0 8px var(--cream);
  position:relative; z-index:2; flex:none;
  transition:background .2s, box-shadow .2s;
}
.path-step:hover .path-dot {
  background:var(--gold);
  box-shadow:0 0 0 8px var(--cream), 0 8px 24px -8px rgba(192,162,74,.5);
}

.path-step h3 {
  font-family:var(--serif); font-size:20px; color:var(--navy); margin:0;
}
.path-step p {
  margin:0; font-size:13.5px; color:var(--muted); line-height:1.5;
}
.path-who {
  font-family:var(--sans); font-size:11px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold-deep); margin-top:4px;
}

/* ---------- HVD CONSULTING — carte dominante ---------- */
.consult-card {
  position:relative; overflow:hidden;
  border-radius:20px;
  background:linear-gradient(145deg, #0e1d42 0%, #13234d 55%, #080f22 100%);
  border:1px solid var(--gold);
  box-shadow:
    0 0 0 1px rgba(192,162,74,.18),
    0 0 60px -10px rgba(192,162,74,.22),
    0 40px 80px -40px rgba(8,15,34,.7);
  display:grid; grid-template-columns:1.1fr 1fr; gap:0;
  min-height:480px;
}

/* Décoration arcs en fond */
.consult-card::before {
  content:"";
  position:absolute; right:-80px; bottom:-80px;
  width:420px; height:420px; border-radius:50%;
  border:1px solid rgba(192,162,74,.12); pointer-events:none;
}
.consult-card::after {
  content:"";
  position:absolute; right:-44px; bottom:-44px;
  width:280px; height:280px; border-radius:50%;
  border:1px solid rgba(192,162,74,.08); pointer-events:none;
}

.consult-info {
  padding:52px 48px; position:relative; z-index:2;
  display:flex; flex-direction:column; justify-content:space-between;
  border-right:1px solid rgba(255,255,255,.06);
}

.consult-info .kicker { margin-bottom:18px; }

.consult-info h2 {
  font-family:var(--serif); font-size:clamp(26px,2.8vw,38px);
  color:#fff; line-height:1.18; font-weight:600;
  margin:0 0 20px;
}

.consult-lead {
  font-size:15.5px; color:#a8b5ce; line-height:1.65; margin:0 0 auto;
}

.consult-cta {
  margin-top:40px; display:flex; flex-direction:column; gap:16px; align-items:flex-start;
}

.consult-rows {
  padding:40px 42px; display:flex; flex-direction:column; gap:0;
  position:relative; z-index:2;
}

.crow {
  display:flex; align-items:flex-start; gap:16px;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background .2s;
}
.crow:first-child { padding-top:0; }
.crow:last-child { border-bottom:none; }

.crow-ic {
  width:32px; height:32px; border-radius:8px; flex:none;
  background:rgba(192,162,74,.12); border:1px solid rgba(192,162,74,.3);
  transition:background .2s, border-color .2s;
}
.crow:hover .crow-ic {
  background:rgba(192,162,74,.22); border-color:rgba(192,162,74,.55);
}

.crow b { display:block; font-size:14.5px; color:#e8ecf6; font-weight:700; line-height:1.3; }
.crow small { display:block; font-size:12.5px; color:#7a8aac; margin-top:3px; line-height:1.45; }

/* Crow cliquable vers Sales Tracker */
a.crow,
.crow-link { text-decoration:none; position:relative; padding-right:28px; }
a.crow:hover b { color:var(--gold-2); }
a.crow:hover .crow-ic { background:rgba(192,162,74,.22); border-color:rgba(192,162,74,.55); }

.crow-arr {
  position:absolute; right:0; top:50%; transform:translateY(-50%);
  font-size:15px; color:var(--gold-2); opacity:0;
  transition:opacity .2s, transform .2s;
}
a.crow:hover .crow-arr { opacity:1; transform:translateY(-50%) translateX(2px); }

/* ---------- HVD WEB — split digital ---------- */
.sol-info { display:flex; flex-direction:column; }

.sol-split {
  display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center;
}

.chips {
  display:flex; flex-wrap:wrap; gap:9px; margin:28px 0 32px;
}
.chip {
  font-family:var(--sans); font-size:12.5px; font-weight:700;
  color:var(--navy); background:#fff;
  border:1px solid #e2ddd0; border-radius:30px;
  padding:7px 14px; letter-spacing:.01em;
  transition:border-color .2s, box-shadow .2s, color .2s;
}
.chip:hover {
  border-color:var(--gold); color:var(--gold-deep);
  box-shadow:0 0 0 3px rgba(192,162,74,.1);
}

/* Laptop + phone (conservés de l'ancienne version) */
.web-visual {
  position:relative; display:flex; justify-content:center;
  padding:10px 30px 40px 0;
}
.laptop {
  width:min(500px,100%);
  filter:drop-shadow(0 34px 50px rgba(14,29,66,.3));
}
.laptop-scr {
  border:11px solid #0b1430; border-bottom-width:13px;
  border-radius:16px 16px 0 0; background:#fff; overflow:hidden;
}
.laptop-base {
  height:15px;
  background:linear-gradient(#1d2b52,#0b1430);
  border-radius:0 0 18px 18px; margin:0 -26px; position:relative;
}
.laptop-base::after {
  content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:90px; height:5px; background:#0b1430; border-radius:0 0 8px 8px;
}

.ms-nav { display:flex; align-items:center; gap:10px; padding:12px 16px; border-bottom:1px solid #eee9dd; background:#fff; }
.ms-logo { width:26px; height:10px; border-radius:3px; background:var(--gold); }
.ms-links { display:flex; gap:8px; margin-left:auto; }
.ms-links i { width:24px; height:5px; border-radius:3px; background:#dcd8cc; }
.ms-cta { width:46px; height:14px; border-radius:8px; background:var(--navy); }
.ms-hero { background:linear-gradient(160deg,#0e1d42,#13234d); padding:28px 22px 24px; }
.ms-line { height:11px; border-radius:4px; background:rgba(255,255,255,.85); margin-bottom:8px; }
.ms-line.w70 { width:70%; }
.ms-line.w50 { width:50%; }
.ms-sub { height:6px; border-radius:3px; background:rgba(255,255,255,.32); margin:12px 0 16px; }
.ms-sub.w60 { width:60%; }
.ms-btn { width:84px; height:18px; border-radius:9px; background:var(--gold); }
.ms-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:16px; background:var(--cream); }
.ms-card { height:54px; border-radius:8px; background:#fff; border:1px solid #ece7da; position:relative; }
.ms-card::after { content:""; position:absolute; top:9px; left:9px; width:16px; height:4px; border-radius:2px; background:var(--gold); opacity:.7; }
.ms-card.tall { height:74px; }

.web-phone {
  position:absolute; right:6px; bottom:-6px; width:112px;
  background:#0b1430; border-radius:20px; padding:6px;
  border:1.5px solid #2a3a63;
  box-shadow:0 26px 44px -18px rgba(8,15,34,.6);
}
.wp-notch {
  position:absolute; top:10px; left:50%; transform:translateX(-50%);
  width:44px; height:11px; background:#0b1430; border-radius:8px; z-index:3;
}
.wp-scr {
  border-radius:14px; overflow:hidden;
  background:linear-gradient(170deg,#0e1d42 0%,#13234d 60%,#f8f7f3 60%,#f8f7f3 100%);
  padding:26px 12px 12px;
  display:flex; flex-direction:column; gap:7px; min-height:196px;
}
.wp-scr .ms-line { height:8px; background:rgba(255,255,255,.85); }
.wp-scr .ms-btn { width:58px; height:14px; margin:4px 0 14px; }
.wp-scr .ms-card.tall { margin-top:auto; }

/* ---------- HVD LEADS — univers performance ---------- */
.leads { position:relative; overflow:hidden; }
.leads-arcs {
  position:absolute; right:-110px; top:-110px;
  width:430px; height:430px; opacity:.6; pointer-events:none;
}
.leads .wrap { position:relative; }

/* Flow horizontal */
.flow {
  display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  align-items:center; gap:0;
  margin:48px 0 52px;
}

.fcard {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px; padding:22px 20px;
  text-align:center;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:border-color .25s, background .25s, box-shadow .25s;
}
.fcard:hover {
  border-color:rgba(192,162,74,.4);
  background:rgba(255,255,255,.07);
  box-shadow:0 0 28px -8px rgba(192,162,74,.2);
}
.fcard.last {
  background:rgba(192,162,74,.1);
  border-color:rgba(192,162,74,.45);
  box-shadow:0 0 40px -12px rgba(192,162,74,.35);
}
.fcard.last:hover {
  box-shadow:0 0 48px -10px rgba(192,162,74,.45);
}
.fcard b { display:block; font-size:14.5px; color:#fff; font-weight:700; margin-bottom:6px; }
.fcard small { display:block; font-size:12px; color:#8a96b4; line-height:1.5; }
.fcard.last b { color:var(--gold-2); }
.fcard.last small { color:#b8a875; }

.fconn {
  font-size:18px; color:var(--gold-2); opacity:.7;
  padding:0 14px; flex:none;
  transition:opacity .2s;
}

/* Sol-ticks sur fond navy */
.sol-ticks {
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:1fr 1fr; gap:14px 26px;
}
.sol-ticks li {
  display:flex; gap:12px; align-items:flex-start;
  font-size:15px; color:var(--ink); line-height:1.4;
}
.sol-ticks .tick {
  width:22px; height:22px; border-radius:7px;
  background:#fff; border:1px solid var(--gold);
  color:var(--gold-deep);
  display:flex; align-items:center; justify-content:center;
  flex:none; font-size:12px; margin-top:1px;
}
.sol-ticks.on-dark li { color:#dfe4ef; }
.sol-ticks.on-dark .tick {
  background:rgba(192,162,74,.16);
  border-color:var(--gold); color:var(--gold-2);
}

.leads-foot {
  display:flex; align-items:center; justify-content:space-between;
  gap:32px; flex-wrap:wrap;
}

/* ---------- CTA Final ---------- */
.final { position:relative; overflow:hidden; text-align:center; }
.final-arcs {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:760px; height:760px; opacity:.4; pointer-events:none;
}
.final h2 { font-size:clamp(34px,4.4vw,56px); position:relative; z-index:2; color:#fff; }
.final p { position:relative; z-index:2; text-align:center; }
.final .hero-cta { justify-content:center; position:relative; z-index:2; }

/* ---------- Responsive ---------- */
@media(max-width:1080px) {
  .consult-card { grid-template-columns:1fr; min-height:auto; }
  .consult-info { border-right:none; border-bottom:1px solid rgba(255,255,255,.06); padding:42px 36px; }
  .consult-rows { padding:32px 36px 40px; }
  .flow { grid-template-columns:1fr; gap:8px; }
  .fconn { text-align:center; padding:4px 0; transform:rotate(90deg); display:inline-block; }
  .leads-foot { flex-direction:column; align-items:flex-start; }
}
@media(max-width:960px) {
  .path-grid { grid-template-columns:repeat(2,1fr); gap:32px; }
  .path-track { display:none; }
  .sol-split { grid-template-columns:1fr; gap:44px; }
  .web-visual { padding:0 0 30px; }
  .leads-foot { flex-direction:column; align-items:flex-start; }
  .sol-ticks { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  .consult-info { padding:32px 28px; }
  .consult-rows { padding:24px 28px 32px; }
  .path-grid { grid-template-columns:1fr; gap:24px; }
  .chips { gap:7px; }
  .chip { font-size:12px; padding:6px 12px; }
  .web-phone { right:-4px; width:96px; }
}
