/* Tous les sélecteurs sont limités à la section pour éviter les conflits. */
.idv-scroll {
  --idv-accent:#6941d9;
  --idv-bg:#f5f4ed;
  --idv-card:#fcfbf6;
  --idv-ink:#242426;
  --idv-muted:#65645f;
  /* Augmenter cette valeur si le site possède un header fixe. */
  --idv-top:110px;
  --idv-step:14px;
  color:var(--idv-ink); background:var(--idv-bg);
  font-family:inherit; padding:70px clamp(20px,6vw,100px) 100px;
  /* Ne pas placer dans un parent avec overflow:hidden/auto/scroll :
     cela peut empêcher le positionnement sticky de suivre la page. */
}
.idv-scroll, .idv-scroll * { box-sizing:border-box; }
.idv-scroll .idv-scroll__layout {
  max-width:1160px; margin:0 auto; display:grid;
  grid-template-columns:1.05fr 1fr; gap:clamp(35px,7vw,110px); align-items:start;
}
.idv-scroll .idv-scroll__intro { position:sticky; top:var(--idv-top); padding:12px 0 35px; }
.idv-scroll .idv-scroll__tag {
  display:inline-block; background:#e0f19c; color:#354315; border-radius:30px;
  font-size:12px; font-weight:600; padding:7px 13px; margin-bottom:25px;
}
.idv-scroll .idv-scroll__title {
  margin:0 0 23px; color:var(--idv-ink); font-family:inherit;
  font-size:clamp(32px,3.5vw,54px); font-weight:500; line-height:1.08; letter-spacing:-.045em;
}
.idv-scroll .idv-scroll__title span { color:var(--idv-accent); }
.idv-scroll .idv-scroll__text { margin:0 0 30px; font-size:16px; line-height:1.7; color:var(--idv-muted); max-width:440px; }
.idv-scroll .idv-scroll__cta {
  display:inline-flex; align-items:center; gap:25px; background:var(--idv-ink); color:#fff;
  text-decoration:none; border-radius:40px; padding:15px 23px; font-size:14px; line-height:1.3;
}
.idv-scroll .idv-scroll__cta:hover { background:var(--idv-accent); }
.idv-scroll .idv-scroll__cta:focus-visible { outline:3px solid var(--idv-accent); outline-offset:5px; }
.idv-scroll .idv-scroll__cards { padding-bottom:100px; min-width:0; }
.idv-scroll .idv-scroll__card {
  position:sticky; top:calc(var(--idv-top) + var(--idv-i) * var(--idv-step));
  z-index:var(--idv-layer); min-height:235px;
  margin:0 0 28px; padding:30px 32px 36px;
  border:1px solid #e8e6dc; border-radius:10px;
  background:var(--idv-card); box-shadow:0 -7px 22px rgb(36 36 38 / 3%);
}
.idv-scroll .idv-scroll__card:last-child { margin-bottom:0; }
.idv-scroll .idv-scroll__card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:30px; }
.idv-scroll .idv-scroll__icon { width:38px; height:38px; fill:none; stroke:currentColor; stroke-width:1; }
.idv-scroll .idv-scroll__number { font-size:12px; letter-spacing:.12em; color:#87857d; }
.idv-scroll .idv-scroll__card h3 { margin:0 0 12px; font-family:inherit; font-weight:500; font-size:24px; line-height:1.2; color:var(--idv-ink); }
.idv-scroll .idv-scroll__card p { margin:0; font-size:15px; line-height:1.65; color:var(--idv-muted); }
/* Sur mobile et sur écran peu haut : lecture naturelle, sans carte masquée. */
@media (max-width:760px), (max-height:650px) {
  .idv-scroll { padding:45px 22px 60px; }
  .idv-scroll .idv-scroll__layout { grid-template-columns:1fr; gap:25px; }
  .idv-scroll .idv-scroll__intro, .idv-scroll .idv-scroll__card { position:relative; top:auto; }
  .idv-scroll .idv-scroll__cards { padding-bottom:0; }
  .idv-scroll .idv-scroll__card { min-height:0; padding:26px; }
}
@media (prefers-reduced-motion:reduce) {
  .idv-scroll .idv-scroll__intro, .idv-scroll .idv-scroll__card { position:relative; top:auto; }
}